/* Calendário do CDI */
.calendar-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:23px}.calendar-stats>div{border:1px solid var(--line);background:#fff;border-radius:12px;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.calendar-stats span{font-size:11px;color:#7b9088}.calendar-stats strong{font-size:24px;font-weight:650}.calendar-stats>div:last-child{background:#ebf5ef;border-color:#d6e8dd}.calendar-toolbar{padding:21px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.calendar-period{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.calendar-period h2{font-size:18px;margin:0}.calendar-nav{font-size:25px;line-height:1;border:1px solid var(--line);width:30px;height:30px}.calendar-period .button-group{gap:5px}.calendar-view-tabs{display:flex;background:#f2f6f3;border-radius:8px;padding:4px;gap:2px}.calendar-view-tabs a{padding:7px 12px;font-size:11px;color:#7a8f83;border-radius:6px}.calendar-view-tabs a.selected{color:var(--teal);background:white;box-shadow:0 1px 5px #123d4610;font-weight:700}.calendar-filters{padding-top:0;gap:11px}.calendar-filters label{min-width:100px;font-size:10px}.calendar-filters label.grow{min-width:160px}.calendar-filters input,.calendar-filters select{padding:9px;min-height:36px;font-size:10px}.calendar-legend{padding:14px 24px;display:flex;align-items:center;gap:19px;flex-wrap:wrap;font-size:9px;border-bottom:1px solid var(--line)}.calendar-legend span{display:flex;align-items:center;gap:6px}.calendar-legend span:last-child{margin-left:auto}.calendar-legend i{width:7px;height:7px;border-radius:2px}.legend-free{background:#86b8a1}.legend-partial{background:#7ea8ca}.legend-full{background:#d3a65e}.calendar-scroll{max-height:710px;overflow:auto;position:relative;overscroll-behavior:contain;scrollbar-width:thin}.calendar-grid{table-layout:fixed;min-width:1000px;border-collapse:separate;border-spacing:0}.calendar-grid.calendar-day{min-width:500px}.calendar-grid thead th{position:sticky;top:0;z-index:5;background:#f9fbfa;border-top:0;vertical-align:middle;padding:12px 5px}.calendar-grid .time-column{width:69px;min-width:69px;position:sticky;left:0;z-index:3;border-right:1px solid var(--line);padding:10px 7px;text-align:center;background:#fafcfb;font-size:9px;font-weight:500;color:#97a69f}.calendar-grid thead .time-column{z-index:7;font-size:8px}.calendar-day-heading{text-align:center;border-left:1px solid #edf2ee}.calendar-day-heading a{display:flex;flex-direction:column;align-items:center;gap:2px}.calendar-day-heading span{font-size:8px;color:#879c90;letter-spacing:1px}.calendar-day-heading b{font-size:21px;font-weight:550;line-height:1.4}.calendar-day-heading small{font-size:8px;color:#a6b3ac;font-weight:400}.calendar-day-heading.is-today b{display:grid;place-items:center;background:var(--teal);color:white;border-radius:50%;width:31px;height:31px}.calendar-grid .calendar-cell{height:72px;vertical-align:top;padding:5px;border-left:1px solid #eaf0eb;border-bottom:1px solid #eaf0eb;background:white;position:relative}.calendar-grid .calendar-cell.is-today{background:#f5faf7}.calendar-grid tbody tr:hover td{background:#fcfdfb}.calendar-add{display:flex;justify-content:center;align-items:center;font-size:8px;color:#8eb59c;border-radius:5px;min-height:33px;opacity:0;transition:opacity .1s}.calendar-cell:hover .calendar-add,.calendar-add:focus{opacity:1}.calendar-add:hover{background:#eaf4ed}.calendar-event{display:flex;flex-direction:column;gap:4px;border-radius:6px;background:#edf6ef;border:1px solid #d9e9df;border-left:3px solid #82b59c;padding:7px 8px;margin-bottom:5px;overflow-wrap:anywhere;line-height:1.45;transition:box-shadow .15s}.calendar-event:hover,.calendar-event:focus{box-shadow:0 2px 7px #123d461c}.calendar-event.event-partial{background:#eff5fa;border-color:#dfebf5;border-left-color:#77a7cd}.calendar-event.event-full{background:#fcf5e9;border-color:#f0e4cf;border-left-color:#cbaa70}.calendar-event.event-selected{outline:2px solid var(--teal);outline-offset:1px}.event-time{font-size:9px;font-weight:700;display:flex;justify-content:space-between;gap:4px}.event-time>span{font-size:8px;font-weight:500}.calendar-event>strong{font-size:10px;font-weight:650;white-space:normal}.calendar-event>small{font-size:8px;color:#82978b}.event-patient{font-size:9px;color:#4c7761}.month-grid{table-layout:fixed;min-width:1000px;border-collapse:separate;border-spacing:0}.month-grid th{text-align:center;padding:12px 5px;font-size:10px}.month-grid .month-day{width:14.28%;height:145px;vertical-align:top;padding:9px;border-right:1px solid #edf1ed;border-bottom:1px solid #edf1ed}.month-day.outside-month{background:#f9fbfa;color:#a3b1a9}.month-day.is-today{background:#f0f8f1}.month-date{display:grid;place-items:center;width:27px;height:27px;font-size:12px;margin-bottom:7px;font-weight:600;border-radius:50%}.is-today .month-date{background:var(--teal);color:white}.month-capacity{font-size:8px;color:#8d9d91;display:block;margin-bottom:6px}.month-empty{color:#bdc9bf;font-size:9px}.month-grid .calendar-event>strong{font-size:9px}.month-grid .event-patient{display:none}.schedule-sheet{min-width:950px}.schedule-sheet .patient-link{display:block;margin-top:6px}.calendar-booking{padding:12px 0;border-bottom:1px solid var(--line)}.calendar-booking small{display:block;color:#8c9b90;font-size:10px;margin:4px 0 7px}.top-gap{margin-top:23px}.section-divider{border:0;border-top:1px solid var(--line);margin:25px 0}.sector-picker label{flex:1;max-width:560px}.policy-preview{padding:18px;background:#f4f8f5;border:1px solid #e0eae2;border-radius:10px}.policy-card-preview{display:flex;flex-wrap:wrap;gap:12px}.policy-preview-item{display:inline-flex;align-items:center;gap:9px;padding:14px 17px;border:1px solid #dae7dd;background:#fff;border-radius:8px;font-size:11px}.policy-preview-item[hidden]{display:none}.surface-heading.no-padding{padding:0 0 22px}.cdi-reply{border-color:#c9e1d1;background:#f1f8f3}.cdi-reply h2{font-size:20px}.workflow-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:26px}.workflow-step{display:flex;gap:10px;align-items:center;border:1px solid #e2eae5;background:#fff;border-radius:10px;padding:13px 16px}.workflow-step>b{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:#eef5f0;color:#6e9681;font-size:11px;flex-shrink:0}.workflow-step strong{font-size:11px;display:block}.workflow-step small{font-size:9px;color:#91a194;display:block}
@media(max-width:1200px){.calendar-toolbar{flex-wrap:wrap}.calendar-period{gap:15px}.calendar-legend span:last-child{margin-left:0}.calendar-stats>div{padding:14px}.calendar-stats span{font-size:10px}.calendar-filters label{flex-basis:25%}.workflow-step{padding:12px}}
@media(max-width:760px){.calendar-stats{grid-template-columns:1fr 1fr;gap:10px}.calendar-stats>div{padding:13px 15px}.calendar-stats strong{font-size:22px}.calendar-toolbar{padding:17px;gap:15px}.calendar-period{gap:12px;width:100%}.calendar-period h2{font-size:15px}.calendar-view-tabs{width:100%;justify-content:space-between}.calendar-view-tabs a{text-align:center;flex:1}.calendar-filters{padding:0 17px 18px}.calendar-filters label{flex-basis:40%;min-width:125px}.calendar-legend{padding:13px 17px;gap:12px;font-size:8px}.calendar-scroll{max-height:600px}.calendar-grid{min-width:990px}.calendar-grid.calendar-day{min-width:380px}.calendar-grid .time-column{width:57px;min-width:57px}.calendar-add{opacity:.6}.calendar-event>strong{font-size:10px}.workflow-strip{grid-template-columns:1fr;gap:8px}.workflow-step{padding:11px 15px}.workflow-step small{font-size:10px}.calendar-period .button-group{gap:4px}}

.calendar-grid.step-15 .calendar-cell{height:28px}.calendar-grid.step-15 tbody .time-column{padding:4px;font-size:8px}.calendar-grid.step-15 .calendar-add{min-height:18px}.calendar-grid.step-30 .calendar-cell{height:42px}.calendar-grid.step-30 .calendar-add{min-height:28px}
