/* FloRiR monthly visits. Works without JavaScript and stays within a 320px screen. */
.flrpl .flr-month-visits{min-width:0;margin:0 0 30px;border:1px solid #cad8c5;border-radius:20px;background:#fff;padding:24px;color:#243b30;line-height:1.5;box-shadow:0 5px 18px #244d3b06}
.flrpl .flr-calendar-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap;margin:0 0 19px}.flrpl .flr-calendar-heading>div{flex:1;min-width:200px}.flrpl .flr-calendar-heading h2{font-size:26px;letter-spacing:-.025em;line-height:1.2;margin:5px 0 9px;color:#244d3b}.flrpl .flr-calendar-heading p{font-size:14px;line-height:1.6;margin:0;color:#546454;max-width:760px}.flrpl .flr-calendar-heading>.flr-mini-btn{flex-shrink:0}
.flrpl .flr-calendar-monthbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;background:#f1f5eb;border:1px solid #e0e7d8;padding:13px;border-radius:13px;margin:0 0 17px}.flrpl .flr-calendar-monthbar>strong{font-size:18px;text-transform:capitalize;flex:1 1 170px}.flrpl .flr-calendar-pagination{display:flex;gap:5px;align-items:center}.flrpl .flr-calendar-pagination .flr-mini-btn{min-width:40px;min-height:42px;padding:9px 11px;font-size:13px;text-decoration:none}.flrpl .flr-calendar-month-form{display:flex;align-items:center;gap:6px;flex:0 1 auto;margin:0;min-width:0}.flrpl .flr-calendar-month-form label{min-width:0;display:block;margin:0}.flrpl .flr-calendar-month-form input{width:160px;max-width:100%;min-width:0;min-height:42px;border:1px solid #b9c8b5;border-radius:8px;padding:8px;background:#fff;color:#254330;font-size:15px}.flrpl .flr-calendar-month-form button{min-height:42px;font-size:13px;white-space:nowrap;padding:8px 12px}
.flrpl .flr-calendar-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:0 0 16px}.flrpl .flr-calendar-metrics>div{display:flex;flex-direction:column-reverse;justify-content:space-between;gap:6px;background:#f5f8f1;border:1px solid #dfe7d7;border-radius:12px;padding:14px;min-width:0}.flrpl .flr-calendar-metrics dt{font-size:12px;line-height:1.4;font-weight:650;color:#4f654e;overflow-wrap:anywhere}.flrpl .flr-calendar-metrics dd{margin:0;font-size:30px;line-height:1.15;color:#244d3b;font-weight:750}.flrpl .flr-calendar-metrics .needs-attention{background:#fff8e9;border-color:#ecd7a7}.flrpl .flr-calendar-metrics .needs-attention dd{color:#795315}
.flrpl .flr-calendar-next{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center;color:#244d3b;background:#eaf2e4;border-left:4px solid #517c44;border-radius:9px;padding:13px 15px;text-decoration:none;margin:0 0 18px}.flrpl .flr-calendar-next>span{font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.04em}.flrpl .flr-calendar-next>strong{grid-column:1;font-size:14px;overflow-wrap:anywhere}.flrpl .flr-calendar-next>b{grid-column:2;grid-row:1/3;font-size:22px}.flrpl .flr-calendar-next:hover{background:#e0ecd7;color:#244d3b}
.flrpl table.flr-visit-calendar{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;max-width:100%;border:1px solid #dfe6dc;border-radius:12px;overflow:hidden;margin:0;background:#fff}.flrpl .flr-visit-calendar th{background:#f4f7ef;padding:9px 2px;text-align:center;color:#5c6c58;font-size:12px;font-weight:750;border:0;border-bottom:1px solid #dfe6dc}.flrpl .flr-visit-calendar abbr{text-decoration:none;border:0}.flrpl .flr-visit-calendar td{vertical-align:top;padding:0;border:0;border-right:1px solid #e7ece2;border-bottom:1px solid #e7ece2;height:99px;width:14.285%;background:#fff;min-width:0}.flrpl .flr-visit-calendar td:last-child{border-right:0}.flrpl .flr-visit-calendar tr:last-child td{border-bottom:0}.flrpl .flr-visit-calendar td.flr-calendar-outside{background:#f9faf7}.flrpl .flr-visit-calendar td>a,.flrpl .flr-calendar-empty-day{display:block;min-height:99px;padding:7px;text-decoration:none;color:#4b6047;overflow:hidden;position:relative;box-sizing:border-box}.flrpl .flr-visit-calendar td>a:hover{background:#e6f0de;color:#244d3b}.flrpl .flr-visit-calendar td.has-visits{background:#f2f7eb}.flrpl .flr-visit-calendar b{font-size:14px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;min-width:25px;height:25px;border-radius:50%;line-height:1}.flrpl .flr-visit-calendar .is-today b{background:#244d3b;color:#fff}.flrpl .flr-calendar-day-count{display:block;font-size:10px;color:#345a31;font-weight:700;line-height:1.4;margin:3px 0}.flrpl .flr-calendar-day-titles{display:grid;gap:3px;min-width:0}.flrpl .flr-calendar-day-titles>span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px;line-height:1.4;color:#496247}.flrpl .flr-calendar-help{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px;color:#61705e;margin:10px 0 20px}.flrpl .flr-calendar-today-key{display:inline-block;height:10px;width:10px;background:#244d3b;border-radius:50%;margin-left:5px}
.flrpl .flr-calendar-visits-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:13px}.flrpl .flr-calendar-visit{min-width:0;border:1px solid #dfe7d7;border-radius:14px;padding:19px;background:#fff;scroll-margin-top:18px;overflow-wrap:anywhere}.flrpl .flr-calendar-visit.is-next{border-color:#9ab58c;background:#fbfdf8}.flrpl .flr-calendar-visit:target{outline:3px solid #9ab58c;outline-offset:3px}.flrpl .flr-calendar-visit.is-closed{background:#f7f8f5}.flrpl .flr-calendar-visit-title{display:flex;gap:12px;align-items:flex-start}.flrpl .flr-calendar-visit-title>div:last-child{min-width:0;flex:1}.flrpl .flr-calendar-date{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 48px;min-height:61px;background:#edf3e6;border:1px solid #dce8d2;border-radius:10px;line-height:1.1;padding:7px 5px;color:#315631}.flrpl .flr-calendar-date strong{font-size:23px;font-weight:750;white-space:nowrap}.flrpl .flr-calendar-date span{font-size:10px;font-weight:700;margin-top:5px;text-transform:uppercase}.flrpl .flr-calendar-visit h3{font-size:18px;font-weight:750;line-height:1.3;color:#244d3b;margin:6px 0 0}.flrpl .flr-calendar-state{display:inline-block;border-radius:5px;padding:3px 6px;font-size:10px;line-height:1.4;font-weight:750;color:#3b5939;background:#edf3e7}.flrpl .flr-calendar-state-cancelada{color:#8b2c2a;background:#f9eae8}.flrpl .flr-calendar-state-rascunho,.flrpl .flr-calendar-state-realizada{background:#eceee9;color:#5c6557}.flrpl .flr-calendar-visit p{font-size:13px;line-height:1.55;margin:10px 0;color:#546450}.flrpl .flr-calendar-visit p.flr-calendar-visit-time{font-weight:700;color:#395139;margin-top:15px}.flrpl .flr-calendar-visit p.flr-calendar-visit-location{font-size:14px;color:#314d34}.flrpl .flr-calendar-visit p.flr-calendar-team{font-size:12px;border-top:1px solid #e3eade;padding-top:10px}.flrpl .flr-calendar-visit p.flr-calendar-attention{background:#fff6df;border-radius:8px;padding:9px 10px;color:#775319;font-weight:650}.flrpl .flr-calendar-visit>.flr-btn{width:100%;font-size:13px;white-space:normal;line-height:1.4;min-height:44px;margin-top:5px}.flrpl .flr-calendar-visit form{margin:12px 0 0;max-width:100%;min-width:0}.flrpl .flr-calendar-visit form button{max-width:100%;white-space:normal;font-size:14px;line-height:1.4;min-height:44px}.flrpl .flr-month-visits :is(a,button,input):focus-visible{outline:3px solid #30689a!important;outline-offset:3px}
@media(max-width:1100px){.flrpl .flr-calendar-visits-list{grid-template-columns:1fr}}
@media(max-width:1000px) and (min-width:721px){.flrpl .flr-calendar-visits-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.flrpl .flr-month-visits{padding:16px;border-radius:17px;margin-bottom:24px}.flrpl .flr-calendar-heading{gap:10px}.flrpl .flr-calendar-heading h2{font-size:23px}.flrpl .flr-calendar-heading>div{min-width:0;flex-basis:100%}.flrpl .flr-calendar-monthbar{padding:11px;gap:10px}.flrpl .flr-calendar-monthbar>strong{font-size:16px;flex-basis:100%}.flrpl .flr-calendar-pagination{justify-content:space-between;width:100%}.flrpl .flr-calendar-pagination>a:nth-child(2){flex:1;text-align:center}.flrpl .flr-calendar-month-form{width:100%;flex-basis:100%}.flrpl .flr-calendar-month-form label{flex:1}.flrpl .flr-calendar-month-form input{width:100%;font-size:16px}.flrpl .flr-calendar-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.flrpl .flr-calendar-metrics>div{padding:11px}.flrpl .flr-calendar-metrics dd{font-size:26px}.flrpl .flr-calendar-metrics dt{font-size:11px}.flrpl .flr-visit-calendar td{height:63px}.flrpl .flr-visit-calendar td>a,.flrpl .flr-calendar-empty-day{min-height:63px;padding:5px 1px;text-align:center}.flrpl .flr-visit-calendar b{font-size:13px;min-width:25px;height:25px}.flrpl .flr-calendar-day-titles,.flrpl .flr-calendar-count-label{display:none}.flrpl .flr-calendar-day-count{display:block;margin:3px auto 0;background:#dce9d1;color:#31572d;border-radius:5px;min-width:17px;width:max-content;max-width:100%;font-size:10px;line-height:15px;padding:0 3px}.flrpl .flr-visit-calendar th{font-size:10px;padding:8px 1px}.flrpl .flr-calendar-help{font-size:11px;line-height:1.5}.flrpl .flr-calendar-visit{padding:15px}.flrpl .flr-calendar-next{padding:11px}.flrpl .flr-calendar-next>strong{font-size:13px}.flrpl .flr-calendar-visit h3{font-size:17px}.flrpl .flr-calendar-date{flex-basis:48px;min-height:57px}.flrpl .flr-calendar-visit-title{gap:10px}.flrpl .flr-calendar-visit form button{width:100%}}
@media(max-width:359px){.flrpl .flr-month-visits{padding:12px}.flrpl .flr-calendar-monthbar{padding:9px}.flrpl .flr-calendar-visit{padding:12px}.flrpl .flr-calendar-month-form button{padding:8px;font-size:12px}.flrpl .flr-calendar-month-form input{padding:7px}.flrpl .flr-calendar-heading h2{font-size:21px}}
@media print{.flrpl .flr-calendar-pagination,.flrpl .flr-calendar-month-form,.flrpl .flr-calendar-heading>.flr-mini-btn,.flrpl .flr-calendar-visit form,.flrpl .flr-calendar-visit>.flr-btn{display:none!important}.flrpl .flr-calendar-visit{break-inside:avoid}.flrpl .flr-month-visits{box-shadow:none}.flrpl .flr-calendar-day-titles{display:grid}.flrpl .flr-calendar-count-label{display:inline}}
/* Participation requests: a pending application never looks like an assigned place. */
.flrpl .flr-request-state{display:grid;gap:5px;border:1px solid #dce5d4;border-radius:10px;padding:12px;margin:13px 0;background:#f2f7ec;min-width:0;overflow-wrap:anywhere}.flrpl .flr-request-state strong{font-size:13px;line-height:1.5;color:#31582d}.flrpl .flr-request-state span{font-size:12px;line-height:1.55;color:#52664a}.flrpl .flr-request-state.is-pending{background:#fff8e7;border-color:#e9d29e}.flrpl .flr-request-state.is-pending strong,.flrpl .flr-request-state.is-pending span{color:#78561c}.flrpl .flr-request-state.is-declined{background:#f9efec;border-color:#e9cec4}.flrpl .flr-request-state.is-declined strong,.flrpl .flr-request-state.is-declined span{color:#794638}.flrpl .flr-request-state .flr-mini-btn{justify-self:start;min-height:42px;font-size:12px;padding:9px 12px;margin-top:4px}.flrpl .flr-request-form button{width:100%;box-shadow:none}.flrpl .flr-visit-requests{scroll-margin-top:18px;border-color:#d6c697;background:#fffdf7;overflow-wrap:anywhere}.flrpl .flr-visit-requests:target{outline:3px solid #b6a269;outline-offset:3px}.flrpl .flr-visit-requests>p{font-size:14px;line-height:1.6;color:#5f6554}.flrpl .flr-request-count{display:inline-block;background:#f9edcd;color:#77551b;padding:6px 11px;font-size:12px;font-weight:750;border-radius:30px;line-height:1.5;max-width:100%}.flrpl .flr-request-person{margin:15px 0 0;padding:18px;border:1px solid #e3dfcd;background:#fff;border-radius:13px;min-width:0}.flrpl .flr-request-person h3{font-size:19px;line-height:1.35;margin:0 0 5px;color:#2d4a35}.flrpl .flr-request-person .flr-small{font-size:12px}.flrpl .flr-request-approval,.flrpl .flr-request-rejection{margin-top:14px;max-width:620px;min-width:0}.flrpl .flr-request-approval label,.flrpl .flr-request-rejection label{font-weight:650;font-size:13px;color:#40523b}.flrpl .flr-request-approval .flr-check{display:flex;align-items:flex-start;gap:9px;line-height:1.6}.flrpl .flr-request-approval .flr-check input{flex:0 0 18px;width:18px;height:18px;min-height:18px;margin:2px 0 0}.flrpl .flr-request-approval :is(input,select),.flrpl .flr-request-rejection textarea{min-width:0;max-width:100%;border:1px solid #cad7c1;border-radius:9px;font-size:14px}.flrpl .flr-request-approval button,.flrpl .flr-request-rejection button{min-height:44px;white-space:normal;line-height:1.5;max-width:100%;font-size:14px;box-shadow:none;border-radius:10px}.flrpl .flr-visit-requests :is(a,button,input,textarea,select,summary):focus-visible{outline:3px solid #30689a!important;outline-offset:3px}
@media(max-width:720px){.flrpl .flr-request-person{padding:14px}.flrpl .flr-request-person h3{font-size:17px}.flrpl .flr-request-approval,.flrpl .flr-request-rejection{max-width:100%}.flrpl .flr-request-approval button,.flrpl .flr-request-rejection button{width:100%}}
@media print{.flrpl .flr-request-form,.flrpl .flr-request-approval,.flrpl .flr-request-rejection{display:none!important}}

.flrpl .flr-other-visit-months{margin-top:18px;padding:15px;background:#f1f6eb;border:1px solid #dce6d4;border-radius:12px}.flrpl .flr-other-visit-months p{margin:0 0 12px;font-size:14px}.flrpl .flr-other-visit-months .flr-row-actions{display:flex;flex-wrap:wrap;gap:8px}.flrpl .flr-other-visit-months a{max-width:100%;white-space:normal;overflow-wrap:anywhere}
