/* Schedule creator: progressive controls and a focused phone workspace. */
.creator-nav{display:none}
.planner-settings{margin:0 12px 8px;border:1px solid #e3e9df;border-radius:8px;background:#f8faf6}
.planner-settings>summary{cursor:pointer;padding:9px 10px;font-size:12px;font-weight:600;color:#46634d}
.planner-settings>summary span{float:right;font-size:11px;font-weight:400;color:#71826c}
.planner-settings[open]>summary{margin-bottom:8px;border-bottom:1px solid #e3e9df}
.planner-settings .room-tools{gap:12px}
.planner-settings .planner-counts:last-child{margin-bottom:12px}
.finish-schedule .notes-box{padding:12px 0;border:0;background:transparent}
.finish-schedule .notes-box textarea{min-height:60px;height:60px;margin-top:6px}
.finish-actions{display:flex;gap:8px;margin-top:14px}
.assignment-entry [data-pick-room]{color:#547850;border:1px solid #dbe5d6;border-radius:4px;font-size:16px;cursor:pointer}
.assignment-entry [data-pick-room]:hover{background:#e5eedf}
@media(min-width:1060px){
 .room-list{max-height:340px}
 .planner-settings>summary{padding-block:7px}
 .workspace{grid-template-rows:min-content 1fr auto}
 .finish-schedule{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
 .finish-heading,.finish-schedule .review-checks{grid-column:1}
 .finish-schedule .notes-box{grid-column:2;grid-row:1/4;padding:0}
 .finish-schedule .notes-box textarea{height:90px}
 .finish-actions{grid-column:1/-1;justify-content:flex-end;border-top:1px solid var(--line);padding-top:12px}
}
@media(max-width:1059px){
 .topbar{height:58px;padding:0 14px;gap:12px}.brand{font-size:22px;gap:7px}.brand-sub{font-size:7px;letter-spacing:1.3px}.mark{height:30px;width:30px;font-size:24px;border-radius:9px}.top-right{gap:6px}.top-right .prototype{display:none}.top-right .button{padding:6px 8px;min-height:34px;font-size:11px;text-decoration:none}.top-right #help{padding:6px 8px;min-height:34px}
 main{padding:16px 12px 90px}.heading{gap:12px;margin-bottom:14px;display:flex;flex-direction:column;align-items:stretch}.heading h1{font-size:25px;letter-spacing:-1px;margin:0 0 6px}.heading-actions{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px;max-width:none;width:100%}.heading-actions #date{grid-column:1;width:100%;min-width:0;font-size:16px;padding:8px}.heading-actions .primary{grid-column:2}.heading-actions .button{min-height:42px;padding:9px 12px}.heading-actions .primary span{margin-left:5px}
 .countbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:13px 8px;gap:0;border-radius:12px}.count.intro{display:none}.countbar .count{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;padding:0 9px;gap:6px;border:0;border-right:1px solid #ffffff20}.countbar .count:last-child{border:0}.count>span{font-size:10px;line-height:1.3}.count small{font-size:9px}.count input,.count strong{font-size:24px;width:100%;max-width:60px}.count input{min-height:32px}.count strong{line-height:32px}
 .workflow{margin:10px 2px 12px;min-height:0}#assignment-progress{font-size:11px}
 .workspace{display:block}.workspace>section{display:none!important;margin:0;width:100%}
 body[data-creator-view=rooms] #room-planning,body[data-creator-view=peeloff] #staff-planning,body[data-creator-view=crnas] #crna-planning,body[data-creator-view=review] #schedule-review{display:block!important}
 .creator-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:fixed;bottom:0;left:0;right:0;z-index:30;padding:6px 8px calc(6px + env(safe-area-inset-bottom));border-top:1px solid #dce4d7;background:#fffffff5;backdrop-filter:blur(12px);box-shadow:0 -4px 24px #1e40200a}
 .creator-nav button{border:0;background:none;color:#687b61;border-radius:8px;min-height:48px;padding:6px 2px;display:flex;flex-direction:column;justify-content:center;gap:3px}.creator-nav button span{font-weight:700;font-size:13px}.creator-nav button small{font-size:9px}.creator-nav button[aria-pressed=true]{color:#214d3c;background:#e9f0df}
 .panel-heading,.rooms-panel .panel-heading{display:flex;padding:13px 12px;gap:10px}.panel-heading h2{font-size:17px}.panel-heading p{font-size:11px;line-height:1.5;margin:4px 0 0}.rooms-panel .panel-heading #paste{margin:0;padding:8px;font-size:11px;white-space:normal;max-width:100px}.room-list{max-height:none;overflow:visible;padding:0 10px}.room-filters{margin:8px 10px}.room-card.room-row{min-height:56px}.room-row .room-description{font-size:16px}.delete-room{opacity:.6;min-height:36px}.room-assignment-status{font-size:10px}.room-time-summary{min-height:36px}
 .workspace>.crna-section .crna-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.crna-card input{font-size:16px}.crna-top{flex-wrap:wrap}.crna-top input{flex:1;min-width:70px}.crna-top>span{font-size:11px}.supervisor-select{min-height:36px}.crna-card{padding:9px}
 .finish-actions{flex-wrap:wrap}.finish-actions .button{flex:1}.finish-schedule .notes-box textarea{font-size:16px;min-height:110px}.finish-schedule .credit-actions{gap:10px}
 footer{margin-top:18px;font-size:10px}.top-right a[href='/archive.html']{display:none}#toast{bottom:84px;max-width:calc(100% - 24px);width:max-content;font-size:12px}
}
@media(max-width:600px){
 .assignment-table tr{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px;padding:9px 10px;gap:0 5px}
 .assignment-table input[type=text]{font-size:16px;min-height:32px}.assignment-table .role{font-size:12px!important}.assignment-table td:nth-child(4) input{font-size:16px}
 .assignment-table td:nth-child(3):before{display:none}.assignment-table td:nth-child(3){margin-top:2px}.assignment-table .name{font-weight:650}.assignment-table .meo-options{width:36px;min-height:32px;padding:0}.assignment-table input[type=checkbox]{height:20px;width:20px;margin:5px 8px}
 .assignment-table .staff-entry .drag-room,.assignment-table .assignment-entry .drag-room{flex-basis:26px;min-height:32px}.assignment-table td:nth-child(4) input::placeholder{font-size:11px}
 .supervisor-chip{min-height:36px}.assignment-table .advance-note{font-size:11px}
}
@media(min-width:601px) and (max-width:1059px){.assignment-table{min-width:0}.assignment-table th:nth-child(1){width:16%}.assignment-table th:nth-child(2){width:23%}.assignment-table th:nth-child(3){width:33%}.assignment-table th:nth-child(4){width:20%}.assignment-table th:nth-child(5){width:8%}}
@media(max-width:360px){.topbar{padding-inline:10px}.top-right{gap:3px}.top-right .button{padding:6px}.heading h1{font-size:22px}.countbar .count{padding-inline:6px}.count>span{font-size:9px}.workspace>.crna-section .crna-grid{grid-template-columns:1fr}}
@media(max-width:1059px){.countbar .count.intro{display:none}.workflow{margin-block:10px}.assignment-table .supervisor-chips:empty{display:none}}
.schedule-menu-content a.menu-action{display:block;text-decoration:none}
@media(max-width:600px){.assignment-table input[data-staff=assignment]::placeholder{font-size:12px}.creator-nav{isolation:isolate}}
@media(max-width:360px){.heading-actions{grid-template-columns:minmax(0,1fr) auto}.heading-actions #date{grid-column:1/-1}.heading-actions .primary{grid-column:1}.heading-actions .schedule-menu>summary{width:100%}}
/* A bounded native date hit area avoids Safari's intrinsic date-input width. */
.schedule-date{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;width:160px;height:42px;border:1px solid #dbe2de;border-radius:9px;background:#fffdf8;overflow:hidden;flex-shrink:1}
.schedule-date>span{font-size:14px;white-space:nowrap;pointer-events:none;padding:0 8px}
.heading-actions .schedule-date #date{position:absolute;inset:0;display:block;opacity:0;width:100%;height:100%;min-width:0;max-width:100%;margin:0;padding:0;cursor:pointer;box-sizing:border-box}
.schedule-date:focus-within{outline:3px solid #7ba993;outline-offset:2px}
.staff-time-label{display:flex;flex-direction:column;gap:6px;margin-bottom:20px}.staff-time-label input{width:100%;font-size:16px}
@media(max-width:1059px){
 main{padding-top:10px}.topbar{height:50px}.heading{gap:9px;margin-bottom:10px}.heading h1{font-size:23px;margin-bottom:4px}.heading-actions{grid-template-columns:minmax(0,1fr) auto auto}.schedule-date{width:100%;grid-column:1}.heading-actions .primary{grid-column:2}.heading-actions .button{padding:8px 12px}.subline{font-size:10px;gap:4px 9px}.countbar{padding-block:10px}.countbar .count{gap:3px}.workflow{margin-block:7px}.panel-heading,.rooms-panel .panel-heading{padding:10px 12px}.assignments-panel .panel-heading p{display:none}.creator-nav button{min-height:44px}.creator-nav button small{font-size:9px}
}
@media(max-width:600px){
 .assignment-table tr{grid-template-columns:minmax(0,1fr) 106px 36px;padding:5px 9px;gap:0 3px;min-height:76px;align-items:center}
 .assignment-table td:nth-child(1){grid-column:2;grid-row:1}.assignment-table td:nth-child(2){grid-column:1;grid-row:1}.assignment-table td:nth-child(3){grid-column:1/3;grid-row:2;margin:0}.assignment-table td:nth-child(4){grid-column:1/3;grid-row:3;padding-left:26px!important}.assignment-table td:nth-child(5){grid-column:3;grid-row:1/3;align-self:start;display:flex;flex-direction:column;align-items:center;justify-content:center}
 .assignment-table td.empty-time{display:none}.assignment-table .staff-time input{min-height:28px;font-size:14px;color:#637566;padding-top:0;padding-bottom:0}
 .assignment-table input[type=text]{min-height:32px;padding-block:3px}.assignment-table .role{font-size:11px!important;text-align:right}.assignment-table td:first-child .drag-room{flex-basis:18px;min-width:18px;font-size:14px}.assignment-table .staff-entry .drag-room,.assignment-table .assignment-entry .drag-room{min-height:32px;flex-basis:22px}.assignment-table .meo-options{width:36px;height:36px;min-height:36px;margin:0}.assignment-table input[type=checkbox]{width:20px;height:20px;margin:6px 8px}.assignment-table tr.off td:nth-child(2){grid-column:1/3}.assignment-table .supervisor-chips{gap:3px;margin:0}.supervisor-chip{min-height:32px;padding:5px}.assignment-table .advance-note{display:inline;margin:0 0 0 5px}.assignment-table .meo-tag{display:inline-block}
}
@media(max-width:360px){.heading-actions{grid-template-columns:minmax(0,1fr) auto auto}.heading-actions .primary{grid-column:2}.heading-actions .button{padding-inline:9px}.heading h1{font-size:21px}.schedule-date>span{font-size:12px}.assignment-table tr{grid-template-columns:minmax(0,1fr) 88px 34px}.assignment-table .role{font-size:10px!important}}

/* The click handler opens the picker; its native icon stays at normal size. */
.schedule-date #date::-webkit-calendar-picker-indicator{position:static;inset:auto;width:16px;height:16px;margin:0;padding:0;cursor:pointer}

.schedule-date>span{display:none}
.heading-actions .schedule-date #date{opacity:1;font-size:14px;padding:8px;border:0;background:transparent}

.schedule-menu-content{max-height:min(70dvh,620px);overflow-y:auto;overscroll-behavior:contain}.menu-group-label{font-size:10px;text-transform:uppercase;letter-spacing:.8px;font-weight:700;color:#73836e;padding:8px 12px 4px}.menu-group>summary{padding:12px;font-size:13px;font-weight:600;color:#46634d;cursor:pointer;min-height:44px;box-sizing:border-box}.menu-group[open]{background:#f7f9f4;border-radius:8px}.menu-group .menu-action{padding-left:22px}.schedule-menu-content #notice:empty{display:none}
/* Keep day-status controls comfortably tappable in the compact staff dialog. */
#physician-status,#status-note,#status-cover{display:block;width:100%;box-sizing:border-box;min-height:44px;margin-top:6px;font-size:16px;}
#status-absence-fields label{display:block;margin-top:16px;}
#status-explanation{margin:12px 0;}
#status-error:empty{display:none;}

.assignment-table .name.unavailable-name{text-decoration:line-through;color:#8a938e;}
.email-subject input{display:block;width:100%;min-width:0;font-size:16px;margin-top:6px;padding:10px;box-sizing:border-box}.email-paper[contenteditable=true]:focus{outline:2px solid #708c78;outline-offset:3px}#link-edit fieldset{border:1px solid #d8e1da;border-radius:10px;margin:12px 0;padding:12px}#link-edit fieldset>label input{width:100%;box-sizing:border-box}

.linked-time-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.linked-time-fields input{width:100%;min-width:0;box-sizing:border-box}#link-edit label{min-width:0}
/* Coverage summary: a single aligned row on desktop, stacked on phones. */
.countbar{display:grid;grid-template-columns:1fr 1fr 1.1fr 1.1fr 1fr;gap:0;padding:14px 18px;align-items:stretch}
.countbar .count{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:3px;min-width:0;padding:0 20px;border:0}
.countbar .count:nth-child(2){order:0}.countbar .count:nth-child(3){order:1;border-right:1px solid #ffffff25}
.countbar .count.intro{display:flex!important;order:2;grid-column:auto;margin:0;padding:0 20px;flex-direction:column;border:0;gap:3px}
.countbar .count:nth-child(4){order:3}.countbar .count:last-child{order:4;border-right:0}
.countbar .count>span,.countbar .count.intro .eyebrow{display:block;font-size:12px;line-height:1.4;letter-spacing:0;font-weight:400;color:#d6e2d4;text-transform:none}
.countbar .count>span{min-height:32px}.countbar .count small{display:block;font-size:10px;color:#b8cbbf;line-height:1.3}
.countbar .count input,.countbar .count strong,.countbar .count.intro #coverage-label{width:auto;max-width:none;font-size:28px;line-height:1.2;min-height:34px;margin:0;text-align:left}
.countbar .count input{width:72px;padding:0 0 3px;box-sizing:border-box}
.countbar .count.intro #coverage-label{color:#fff}
.linked-count-note{margin:7px 4px 0;color:#526e5c;font-size:12px}.linked-count-note:empty{display:none}
.suggestion-row{display:grid;grid-template-columns:minmax(100px,.8fr) minmax(0,1.2fr);gap:12px;padding:12px 0;border-bottom:1px solid #e0e6dd}.suggestion-row small{display:block;color:#637861;font-size:12px}
@media(min-width:601px) and (max-width:1059px){.countbar{padding:14px 8px}.countbar .count,.countbar .count.intro{padding:0 10px}.countbar .count>span{font-size:11px}.countbar .count small{display:block}}
@media(max-width:600px){
 .countbar{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:12px;padding:16px 10px}
 .countbar .count{border:0;padding:0 10px;gap:3px}
 .countbar .count.intro{grid-column:1/-1;order:2;flex-direction:row;justify-content:flex-start;align-items:center;gap:10px;border:0;border-top:1px solid #ffffff25;border-bottom:1px solid #ffffff25;margin:0;padding:10px}
 .countbar .count:nth-child(3){border-right:0}.countbar .count.intro .eyebrow{font-size:15px;min-height:0}.countbar .count.intro #coverage-label{font-size:24px;min-height:0}.countbar .count input,.countbar .count strong{font-size:26px}
}

/* Compact overview on phones; counts remain available with one deliberate tap. */
.coverage-toggle{display:none}.completion-status{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0 18px}.completion-status>div{padding:12px;background:#f0f4ee;border:1px solid #dce4db;border-radius:10px}.completion-status strong,.completion-status span{display:block}.completion-status span{font-size:13px;color:#54685d;margin-top:4px}
@media(max-width:750px){.coverage-toggle{display:block;width:100%;text-align:left;border:1px solid #d6e1d6;background:#eaf0e5;color:#234d3e;border-radius:12px;padding:12px 14px;font-size:14px;min-height:44px;margin:12px 0 8px}body:not(.coverage-expanded) .countbar{display:none}.heading{margin-bottom:12px}.completion-status{grid-template-columns:1fr 1fr}.completion-status>div{padding:10px}.email-tabs{display:flex!important;gap:4px!important}.email-tabs button{min-width:0!important;flex:1;padding:9px 4px!important;white-space:normal!important;font-size:12px!important}.email-subject{margin:8px 0!important}.share-options{margin:6px 0!important}.phone-preview{margin-top:8px!important}}

/* Short future-schedule update form: one field per line on every screen. */
#modal-body .unmeo-field{display:block;margin:16px 0;font-weight:600;min-width:0}
#modal-body .unmeo-field input,#modal-body .unmeo-field select,#modal-body .unmeo-field textarea{display:block;box-sizing:border-box;width:100%;max-width:100%;min-width:0;margin-top:6px;padding:10px 12px;border:1px solid #d5ded2;border-radius:10px;background:#fff;color:#234338;font-family:inherit;font-size:16px;font-weight:400;line-height:1.4}
#modal-body .unmeo-field textarea{height:94px;min-height:94px;resize:vertical}
#creator-unmeo-open{margin:8px 0 16px}
#modal-body .linked-field{display:block;margin:14px 0;font-weight:600}
#modal-body .linked-field select,#modal-body .linked-field input{display:block;width:100%;box-sizing:border-box;min-width:0;margin-top:6px;padding:10px;font-size:16px;border:1px solid #d5ded2;border-radius:10px}

/* One staffing requirement, regardless of room locations or linked portions. */
.countbar{grid-template-columns:repeat(3,minmax(0,1fr))}
.countbar .count,.countbar .count:nth-child(2),.countbar .count:nth-child(3){order:0;border:0;padding:0 16px}
.countbar .count+.count{border-left:1px solid #ffffff25}
@media(max-width:600px){.countbar{grid-template-columns:repeat(3,minmax(0,1fr));padding:14px 6px;gap:0}.countbar .count,.countbar .count:nth-child(2),.countbar .count:nth-child(3){padding:0 9px}.countbar .count>span{font-size:11px;min-height:32px}.countbar .count input{width:64px}}
