:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#183247;background:#f2f5f7;font-synthesis:none;--navy:#102b43;--teal:#007d80;--border:#d7e0e6;--muted:#5d6e7a}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:1px solid #bacbd5;border-radius:7px;background:white;color:var(--navy);min-height:44px;padding:10px 16px;font-size:.9rem;font-weight:600}button:hover{background:#edf6f7;border-color:#8caab7}button:disabled{opacity:.6;cursor:wait}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #15989e;outline-offset:3px}.brand{background:var(--navy);color:white;display:flex;align-items:center;gap:14px;padding:20px max(24px,calc((100vw - 1400px)/2));border-bottom:4px solid #008d91}.brand-mark{border:1px solid #6f8e9f;width:42px;height:42px;display:grid;place-items:center;font-family:Georgia,serif;font-size:28px}.brand strong{font-size:.85rem;letter-spacing:.14em}.brand span{display:block;color:#b9cbd8;font-size:.82rem;margin-top:4px}.brand .workspace-label{margin-left:auto;font-size:.75rem;letter-spacing:.12em}main{max-width:1448px;margin:auto;padding:35px 24px 24px}.top{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.eyebrow{color:var(--teal);font-size:.76rem;font-weight:750;letter-spacing:.16em;margin:0 0 9px}h1{font-size:clamp(1.8rem,3vw,2.5rem);letter-spacing:-.04em;line-height:1.12;margin:0 0 12px;font-weight:650}.sub{margin:0;color:var(--muted);font-size:1rem;line-height:1.5}.date-label{font-size:.85rem;font-weight:650;display:grid;gap:8px;min-width:170px}input,select{background:white;border:1px solid #c4d1da;border-radius:5px;min-height:44px;padding:8px 10px;color:var(--navy);font-size:1rem;max-width:100%;min-width:0}input[type=checkbox]{min-height:24px;width:22px;height:22px;accent-color:var(--teal);cursor:pointer;vertical-align:middle}input[type=number]{width:75px}input:disabled,select:disabled{background:#f6f8fa;color:#526471;opacity:1}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:22px}.stat{padding:20px 24px;background:white;border:1px solid var(--border);border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:10px}.stat strong{font-size:1.5rem;font-weight:650}.stat .time{font-size:1.25rem;display:block;margin-bottom:4px}.stat small{display:block;font-size:.82rem;color:var(--muted);line-height:1.5}.count{text-align:right}.count strong{color:var(--teal)}.actionbar{background:#e2eff0;border:1px solid #b9d8db;border-radius:8px;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.actionbar strong{display:block;font-weight:650}.actionbar #saved{display:block;color:#40676f;font-size:.85rem;margin-top:6px}.primary{background:var(--teal);border-color:var(--teal);color:white;padding:14px 20px;font-size:1rem}.primary:hover{background:#006569;color:white}.primary span{margin-left:16px}.tabs{display:flex;gap:22px;border-bottom:1px solid #b9cbd5;margin-bottom:23px;overflow:auto}.tabs button{border:0;border-bottom:3px solid transparent;background:transparent;white-space:nowrap;border-radius:0;padding:14px 3px;color:var(--muted);font-size:.94rem}.tabs button.active{border-color:var(--teal);color:var(--navy)}.panel-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin:22px 0 18px}h2{font-size:1.35rem;letter-spacing:-.025em;margin:0 0 7px;font-weight:650}h3{margin:0 0 9px;font-size:1.1rem}p{line-height:1.55}.muted{color:var(--muted);font-size:.9rem;margin:0;line-height:1.55}.head-actions{display:flex;gap:8px;flex-wrap:wrap}.table-wrap{overflow-x:auto;background:white;border:1px solid var(--border);border-radius:8px}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:.75rem;text-transform:uppercase;letter-spacing:.07em;color:#5b7080;background:#eaf0f4;padding:14px 16px;white-space:nowrap}td{padding:13px 16px;border-top:1px solid #e2e8ed;font-size:.9rem;vertical-align:top;line-height:1.5}.schedule th:first-child{width:28%}.schedule th:not(:first-child){width:24%}.post-name{font-weight:650;display:block}.rank{display:inline-block;color:#66808f;font-size:.8rem;min-width:29px}.post-meta{font-size:.77rem;color:#647987;margin-top:3px}.badge{display:inline-block;font-size:.74rem;padding:3px 7px;background:#e5f3f1;color:#116360;border-radius:4px;font-weight:600}.lock{font-size:.72rem;color:#647786;display:block}.move{display:block;margin-top:5px;color:#006e76;font-size:.82rem;line-height:1.5}.arrival{display:block;color:#006e76;margin-top:4px}.vacant{color:#896315;font-size:.85rem}.specialty-start td{border-top:3px solid #aebfc9}.specialty td{background:#f5f8fa}.message{border:1px solid #d7c085;background:#fff8e7;color:#775619;padding:12px 16px;font-size:.9rem;border-radius:6px;margin:0 0 14px;line-height:1.6}.message.error{background:#fff0ef;color:#963f36;border-color:#e3b7b1}.message.info{background:#eaf3f7;color:#355c71;border-color:#c6dce7}.message ul{padding-left:20px;margin:5px 0}.empty{background:white;border:1px solid var(--border);border-radius:8px;min-height:230px;padding:38px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.empty p{color:var(--muted);max-width:600px;margin:4px 0 20px}.rules{background:white;border:1px solid var(--border);border-radius:8px;padding:20px 24px;margin:16px 0}.rules ul{padding-left:20px;margin:8px 0;font-size:.94rem;line-height:1.8}.editable{min-width:930px}.editable td{padding:10px}.editable th{padding:12px 10px}.editable input[type=text]{width:180px}.check-cell{text-align:center}.qual-group{display:flex;gap:10px;align-items:center}.check-label{font-size:.85rem;display:flex;align-items:center;gap:7px;white-space:nowrap}.delete{color:#9a413a;background:transparent;border:0;padding:9px;font-size:.82rem}.delete:hover{background:#fff0ef}.form-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:15px}.form-grid label{display:grid;font-size:.87rem;gap:7px}.fixed-table select{width:100%;min-width:140px}.fixed-table{min-width:670px}.cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}.card{padding:20px;background:white;border:1px solid var(--border);border-radius:8px}.card p{font-size:.9rem;margin:6px 0}.service-switch{display:none}.compact-controls{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.movement-list{margin:0;padding-left:19px;font-size:.9rem;line-height:1.8}details{margin:20px 0}summary{cursor:pointer;font-size:.95rem;font-weight:650;padding:10px 0}.small-note{font-size:.83rem;line-height:1.5;color:var(--muted);margin:12px 0}footer{margin-top:36px;padding-top:22px;border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:24px;color:var(--muted);font-size:.82rem}footer strong{color:#4d6575}footer p{max-width:700px;margin:5px 0}.footer-actions{display:flex;gap:8px;align-items:flex-start;flex-shrink:0}dialog{border:1px solid var(--border);border-radius:12px;max-width:450px;width:calc(100% - 32px);padding:26px;color:var(--navy)}dialog::backdrop{background:#102b4377}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.danger{background:#9a413a;color:white;border-color:#9a413a}.print-title{display:none}fieldset{border:0;padding:0;margin:0}#notice:empty{display:none}.working{opacity:.75}.standards-table{min-width:1280px}.standards-table .qual-group{flex-direction:column;align-items:flex-start;gap:4px}.standards-table input[type=text]{width:195px}.standards-table .necessity{width:70px!important}.standards-table select{max-width:150px}
@media(max-width:900px){.brand .workspace-label{display:none}.actionbar{align-items:flex-start;flex-direction:column}.primary{width:100%}.stat{padding:16px;align-items:flex-start}.stat .time{font-size:1.1rem}.cards{grid-template-columns:1fr}.tabs{gap:20px}.top{align-items:flex-start}.form-grid{grid-template-columns:1fr 1fr}footer{flex-direction:column}}
@media(max-width:600px){main{padding:24px 14px}.brand{padding:15px 16px}.top{flex-direction:column;gap:18px}.date-label{width:100%}.summary{gap:7px}.stat{padding:12px 10px;display:block}.count{text-align:left;margin-top:9px}.stat small{font-size:.75rem}.stat strong{font-size:1.25rem}.actionbar{padding:16px}.actionbar strong{font-size:.94rem}.primary{font-size:.93rem;padding:14px 8px}.primary span{margin-left:4px}.panel-head{flex-direction:column}.head-actions{width:100%}.head-actions button{flex:1}.schedule th:first-child{width:46%}.schedule th:not(:first-child){width:54%}.schedule td,.schedule th{padding:12px 10px}.schedule .hidden-mobile{display:none}.service-switch{display:flex;margin:0 0 14px;gap:8px}.service-switch button{flex:1}.service-switch button.active{background:var(--navy);color:white}.form-grid{grid-template-columns:1fr}.empty{padding:24px}.rules{padding:18px}.footer-actions button{flex:1}.footer-actions{width:100%}}
@media print{@page{size:landscape;margin:9mm}body{background:white;color:#000;font-size:10pt}.brand,.top,.summary,.actionbar,.tabs,footer,#notice,.head-actions,.service-switch,.no-print,dialog{display:none!important}main{max-width:none;padding:0}.print-title{display:block;margin-bottom:12px}.print-title h1{font-size:19pt;margin:0 0 5px}.panel-head{display:none}.table-wrap{border:0;overflow:visible}.schedule{table-layout:fixed}.schedule th,.schedule td{padding:6px 8px;font-size:9pt;color:#111;line-height:1.3}.schedule th:first-child{width:28%}.schedule th:not(:first-child){width:24%}.schedule .hidden-mobile{display:table-cell!important}.move,.arrival,.post-meta,.lock,.vacant{font-size:8pt}.rank{font-size:8pt}.message{padding:6px;font-size:9pt}.table-wrap{border-radius:0}tr{break-inside:avoid}thead{display:table-header-group}.cards{display:block}.card{break-inside:avoid;padding:8px;margin-top:10px}.badge{border:1px solid #aaa;font-size:8pt}.print-hide{display:none!important}details{display:none}.small-note{font-size:8pt}h3{font-size:11pt}}
.workspace-menu{margin:0;position:relative}.workspace-menu summary{padding:12px;min-height:44px;font-size:.88rem;color:var(--muted)}.workspace-menu>div{position:absolute;right:0;z-index:5;min-width:230px;background:white;border:1px solid var(--border);border-radius:7px;padding:6px;box-shadow:0 5px 16px #102b431a}.workspace-menu a{display:block;padding:12px;color:var(--navy);font-size:.9rem}.actionbar #saved{margin-top:0}[hidden]{display:none!important}@media(max-width:600px){.workspace-menu>div{left:0;right:auto}}
.deployment-bar{align-items:flex-start;gap:32px}.generate-controls{flex-shrink:0}.deployment-bar #saved{margin-top:9px}.publish-controls{margin-left:auto;min-width:0}.publish-controls .compact-controls{align-items:flex-start}.publish-controls label{display:grid;gap:7px;font-size:.85rem}.publish-action .small-note{margin:8px 0 0;max-width:240px}.publish-controls .workspace-menu{margin-top:3px}.publish-controls .message{margin-top:12px}@media(max-width:1100px){.deployment-bar{flex-direction:column}.publish-controls{margin-left:0;width:100%}}@media(max-width:600px){.generate-controls,.publish-action,.publish-controls .compact-controls>label{width:100%}.publish-controls .compact-controls{flex-direction:column}.deployment-bar{gap:22px}.publish-controls select{width:100%}}
.schedule th,.schedule td{text-align:center;vertical-align:middle}.print-title{text-align:center}.publish-controls .compact-controls{display:grid;grid-template-columns:minmax(220px,250px) auto auto;column-gap:14px;align-items:start}.publish-controls .compact-controls>label{grid-column:1;grid-row:1;padding-top:0}.publish-controls .compact-controls>label select{height:51px}.publish-action{grid-column:2;grid-row:1;padding-top:24px}.publish-controls .workspace-menu{grid-column:3;grid-row:1;margin-top:24px}.publish-controls .workspace-menu summary{min-height:51px;display:flex;align-items:center;gap:7px}.publish-controls .workspace-menu summary:before{content:"▸"}.publish-controls .workspace-menu[open] summary:before{content:"▾"}.publish-controls .workspace-menu summary::-webkit-details-marker{display:none}.publish-action .small-note{font-size:.76rem;margin-top:8px}.deployment-bar .generate-controls{padding-top:24px}@media(max-width:1100px){.deployment-bar .generate-controls{padding-top:0}}@media(max-width:600px){.publish-controls .compact-controls{display:flex;flex-direction:column;gap:14px}.publish-action{padding-top:0}.publish-controls .workspace-menu{margin-top:0}.publish-controls .compact-controls>label{width:100%}}
.schedule th,.schedule td{text-align:left;vertical-align:middle}.print-title{text-align:left}
.password-entry{position:relative;display:block}.password-entry input{width:100%;padding-right:52px}.password-entry button{position:absolute;right:1px;top:1px;min-height:42px;width:46px;padding:8px;display:grid;place-items:center;border:0;background:transparent}.password-entry button:hover{background:#edf6f7}

.transition-picker{margin:0;min-width:220px;max-width:300px}.transition-picker summary{font-size:.85rem}.transition-picker[open]{max-height:320px;overflow:auto}.transition-picker .check-label{white-space:normal;padding:6px 0}

.replacement-dialog{width:min(650px,92vw);max-height:88vh;overflow:auto}.replacement-selectors{display:flex;gap:12px;flex-wrap:wrap}.replacement-selectors label{flex:1;min-width:180px}.replacement-selectors select{display:block;width:100%;margin-top:6px}.replacement-card{border:1px solid #cad9e3;border-radius:8px;padding:14px;margin:12px 0}.replacement-card p{margin:6px 0 10px}.replacement-warning{color:#875000}

.staffing-notice{margin:0 0 14px;background:#fff7e5;border-color:#e4bd67;color:#674714}.staffing-notice p{margin:6px 0}

.stat.service-stat{display:block}.service-stat-top{display:flex;align-items:center;gap:24px}.service-total{font-size:24px;font-weight:700;color:#00858b}.service-total small{display:inline;font-size:12px;font-weight:400}.service-breakdown{margin-top:7px;font-size:13px;color:#526b7e}.editable tfoot th,.editable tfoot td{font-weight:700;background:#eaf1f5;border-top:2px solid #bdcdd8}

.stat.service-stat{display:flex;align-items:center;justify-content:flex-start;gap:24px}.service-card-left{min-width:120px}.service-card-left .service-total{margin-top:12px}.service-breakdown{display:grid;grid-template-columns:auto auto;gap:3px 18px;border-left:1px solid #c9d8e2;padding-left:24px;margin:0}.service-breakdown strong{font-size:inherit!important;text-align:right}.trainee-line{display:block;margin-top:3px}.trainee-name{font-size:inherit;font-weight:400}.trainee-detail{font-size:11px;color:#526471}

.replacement-times{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:12px 0;padding:12px}.replacement-times label{display:flex;gap:5px;align-items:center}

dialog.replacement-dialog{width:900px;max-width:94vw}.replacement-times{flex-wrap:nowrap}.replacement-times label{white-space:nowrap}.replacement-times #replacement-all{margin-left:auto;white-space:nowrap}.replacement-modes{display:flex;gap:28px;margin:16px 0}.replacement-modes label{display:flex;align-items:center;gap:8px}#absence-picker select,.absence-slot select{display:block;width:100%;margin:8px 0}.absence-slot{display:block;margin:18px 0}.replacement-selectors[hidden]{display:none}@media(max-width:620px){.replacement-times{flex-wrap:wrap}.replacement-times #replacement-all{margin-left:0}}

#active-replacements{border-top:1px solid #ccd9e0;margin-top:20px;padding-top:12px}.active-replacement{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:12px 0}

.active-replacement{justify-content:flex-start;gap:20px}.active-replacement button{flex-shrink:0}

.swap-section{border-top:1px solid var(--line,#ccdbe3);margin-top:24px;padding-top:18px}.swap-section>label{display:block;margin-bottom:14px}.swap-section select{width:100%}

.replacement-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.replacement-title h2{margin:0}.replacement-section-heading{margin:28px 0 6px}.replacement-section-heading+.replacement-modes{margin-top:6px}.swap-section{border-top:3px solid #66818f;padding-top:22px}.schedule .arrival-name{display:block;color:#183247;font-size:inherit;font-weight:400}.schedule .arrival{font-size:inherit;font-weight:400}

#replacement-close{background:#102b43;color:white;border-color:#102b43}#replacement-close:hover{background:#244a64}.opening-person{display:block}.opening-person:not(:first-child){margin-top:5px}

.assign-prompt{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;margin:4px 12px 4px 0}.assign-prompt button{background:#102b43;color:white;border-color:#102b43;white-space:nowrap}

.training-focus{display:inline-flex;align-items:center;gap:12px;margin-left:14px;white-space:nowrap;font-size:.85rem;color:var(--muted)}
/* Pinned work areas use live controls; only column labels are mirrored. */
.scroll-pinned{position:sticky;top:var(--pin-top,0);z-index:20;background:#f2f5f7;box-shadow:0 8px 0 #f2f5f7}
.actionbar.scroll-pinned{background:#e2eff0;z-index:24}
.tabs.scroll-pinned{z-index:23}
.rules.scroll-pinned{background:white}
.frozen-columns{position:fixed;z-index:25;overflow:hidden;pointer-events:none;border:1px solid var(--border);box-shadow:0 2px 3px #102b431a;background:#eaf0f4}
.frozen-columns table{table-layout:fixed;margin:0}
.frozen-columns[hidden]{display:none}
.volunteer-heading>div{width:100%}
.volunteer-heading h1{display:inline-block;margin-right:24px;vertical-align:middle}
#refresh-feedback{display:inline-block;margin-left:12px;font-size:.85rem;color:var(--muted)}
@media print{.scroll-pinned{position:static!important;box-shadow:none}.frozen-columns,#refresh-feedback{display:none!important}}

@media print{.schedule th,.schedule td{font-size:13.5pt;overflow-wrap:anywhere}.schedule th{background:white!important;color:#111!important;font-weight:800;border-top:2pt solid #333;border-bottom:2pt solid #333}.schedule .print-category-start td{border-top:2pt solid #555}.schedule .specialty td{background:white}.schedule .move,.schedule .arrival,.schedule .post-meta,.schedule .lock,.schedule .vacant,.schedule .trainee-detail{font-size:12pt}.print-title h1{font-size:28.5pt}.small-note{font-size:12pt}.message{font-size:13.5pt}}

.print-category-heading{display:none}
@media print{body,body *{color:#000!important}.schedule .post-meta{display:none}.print-category-heading{display:table-row;break-after:avoid;page-break-after:avoid}.schedule .print-category-heading th{border-top:2pt solid #000;border-bottom:1pt solid #000;background:white!important;font-weight:800;padding:8px;text-align:left}.schedule .print-category-start td,.schedule .specialty-start td{border-top:1px solid #cbd5df}}

/* Contain wide standards tables so rows cannot escape the pinned headings. */
#panel > fieldset{min-inline-size:0;max-width:100%}
.table-wrap{max-width:100%}
.standards-table input[data-field="name"]{width:var(--post-name-width,320px);max-width:none}
.standards-table select[data-field="rotationGroup"]{width:235px;max-width:none}

/* Keep identifying columns visible when tables scroll sideways. */
@media screen{
 .freeze-first > tbody > tr > td:first-child,
 .freeze-first > tbody > tr > th:first-child,
 .freeze-first > thead > tr > th:first-child{
  position:sticky;left:0;z-index:2;background:white;
  box-shadow:1px 0 0 var(--border);
 }
 .freeze-first > thead > tr > th:first-child{z-index:3;background:#eaf0f4}
 .freeze-first > tbody > tr.specialty > td:first-child{background:#f5f8fa}
 .frozen-columns .freeze-first > thead > tr > th:first-child{
  position:relative;left:var(--frozen-scroll-left,0px);
 }
}

.tabs button,.tabs button.active{color:var(--teal);font-size:1.02rem}


.assignment-note{display:block;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.9em;margin-top:4px;color:#102b43}.note-edit{display:block;margin-top:5px;padding:2px 7px;font-size:.75rem;color:#00858b;background:transparent;border:1px solid #c5d9de}.builder-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:16px;align-items:start}.builder-roster{background:#fff;border:1px solid #c5d9de;padding:12px;border-radius:6px;max-height:70vh;overflow:auto;position:sticky;top:180px}.builder-person{background:#f1f8f8;border:1px solid #b7d6d8;border-radius:5px;padding:8px;margin:6px 0;cursor:grab}.builder-person small{display:block;margin-top:4px}.builder-person button{padding:2px 5px;font-size:.75rem;margin-top:5px}.builder-table{min-width:960px;table-layout:fixed}.builder-table th:first-child{width:220px;background:#fff}.builder-table td{vertical-align:top}.builder-table select{width:100%;min-width:0;margin:8px 0}.builder-table .move{font-size:.8rem}.builder-table thead th:first-child{background:#e8f0f4}#assignment-note-dialog{width:min(560px,95vw)}#assignment-note-dialog textarea{display:block;width:100%;resize:vertical}@media(max-width:800px){.builder-layout{grid-template-columns:minmax(0,1fr)}.builder-roster{position:static;max-height:240px}}
.builder-roster{top:var(--builder-top,280px);max-height:calc(100vh - var(--builder-top,280px) - 20px)}.builder-table tbody th{font-size:.9rem;text-transform:none;letter-spacing:normal;white-space:normal;color:var(--navy);border-top:1px solid var(--border)}.builder-person button,.note-edit{min-height:28px}.builder-person strong{display:block}@media(max-width:800px){.builder-roster{max-height:240px;position:static}}
.builder-dragging{opacity:.6}.builder-drop-target{outline:3px solid var(--teal);outline-offset:-3px;background:#e8f7f5}.builder-person{user-select:none}

#movement-dialog{max-width:620px}#movement-dialog label{display:grid;gap:6px;margin:12px 0}#movement-dialog select,#movement-dialog input{width:100%}#movement-error{color:#963f36}.note-edit{display:inline-block;margin-right:5px}

/* Compact service cards and aligned workspace controls. */
.stat.service-stat{padding:16px 22px;gap:22px}.service-card-left .service-total{margin-top:5px}.service-card-left{min-width:110px}.service-breakdown{padding-left:22px}.summary{margin-bottom:18px}
.deployment-bar{display:grid;grid-template-columns:minmax(420px,1fr) auto;gap:24px;padding:18px 22px;margin-bottom:22px;align-items:start}
.deployment-bar .generate-controls{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;padding:0;align-items:center}.control-label{grid-column:1/-1;font-size:.85rem;line-height:20px}.deployment-bar #saved{grid-column:1/-1;margin:0;font-size:.78rem;line-height:18px}
.deployment-bar button,.deployment-bar select{min-height:46px;height:46px;font-size:.9rem;padding:10px 14px;white-space:nowrap}.deployment-bar #generate{width:100%;padding:10px 16px}.deployment-bar .publish-controls{margin:0;min-width:0}.publish-controls .compact-controls{grid-template-columns:240px auto auto;gap:12px}.publish-controls .compact-controls>label{gap:8px;line-height:20px}.publish-controls .compact-controls>label select{height:46px}.publish-action{padding-top:28px}.publish-action .small-note{margin:8px 0 0;line-height:18px;font-size:.75rem;white-space:nowrap;max-width:none}.publish-controls .workspace-menu{margin-top:28px}.publish-controls .workspace-menu summary{min-height:46px;height:46px;padding:10px 8px;white-space:nowrap}.workspace-menu>div{z-index:50}.workspace-menu>div button{display:block;width:100%;text-align:left;background:transparent;border:0;height:auto;white-space:normal}
.tabs{gap:12px;margin-bottom:0}.tabs button{padding:13px 12px;font-weight:600}.tabs button.active{background:#e7f2f2}.panel-head{align-items:center;margin:16px 0;gap:20px}.panel-head h2{margin:0}.panel-head .muted:empty{display:none}.head-actions{gap:8px;align-items:center}.head-actions button{min-height:44px;padding:10px 14px;font-size:.9rem}.head-actions .primary{font-size:.9rem;padding:10px 14px}
@media(max-width:1200px){.deployment-bar{grid-template-columns:1fr}.deployment-bar .generate-controls{grid-template-columns:auto auto;justify-content:start}.publish-controls .compact-controls{grid-template-columns:minmax(200px,240px) auto auto;justify-content:start}.publish-controls .workspace-menu{margin-top:28px}}
@media(max-width:700px){.stat.service-stat{padding:12px;gap:10px;flex-wrap:wrap}.service-card-left{min-width:0}.service-breakdown{padding-left:10px;gap:3px 10px}.deployment-bar{padding:14px;gap:16px}.deployment-bar .generate-controls{grid-template-columns:1fr}.control-label,.deployment-bar #saved{grid-column:1}.publish-controls .compact-controls{display:flex;gap:12px}.publish-controls .compact-controls>label{width:100%}.publish-action{padding-top:0;width:100%}.publish-controls .workspace-menu{margin-top:0}.panel-head{align-items:flex-start;flex-direction:column}.head-actions{width:100%;flex-wrap:wrap}.head-actions button{flex:1;white-space:normal}.tabs{gap:4px}.tabs button{padding:12px 8px}.publish-action .small-note{white-space:normal}}

.deployment-bar.manual-mode .generate-controls>button,.deployment-bar.manual-mode .generate-controls>.control-label{display:none}
.deployment-bar.manual-mode{grid-template-columns:1fr auto}
.completed-cell{background:#edf2f4}.completed-cell .builder-person{background:#e5ebee;border-color:#cbd5db}
.completed-label{display:block;margin-top:4px;color:#526775;font-weight:600}
#action-notice{max-width:600px;width:calc(100% - 40px)}
#action-notice .dialog-actions{flex-wrap:wrap}
.priority-pending{margin-top:8px;padding:8px;border-left:3px solid #b16a00;background:#fff7e8;color:#805000}
.priority-pending strong{display:block;font-size:12px;margin-bottom:5px}
.priority-pending button{font-size:12px;padding:6px 8px}
.rule-ranking{margin-top:20px;overflow-x:auto}.rule-ranking table{width:100%}.rule-ranking select{min-width:70px}.rule-ranking th[scope="row"]{min-width:230px;text-align:left}.rule-ranking td:last-child{min-width:240px}
.rule-ranking th[scope="row"]{text-transform:none;background:white;font-size:14px;letter-spacing:normal}
.exception-details{padding-left:18px;margin:8px 0}.exception-details li{margin-bottom:6px}

.deployment-bar #saved{grid-column:1}.deployment-bar #updated-status{grid-column:2;margin:0;font-size:.78rem;line-height:18px;color:var(--muted)}
@media(max-width:700px){.deployment-bar #updated-status{grid-column:1}}

/* Team Lead header: supplied church wordmark and adjacent team name. */
.brand .team-brand{display:flex;align-items:center;gap:20px;min-width:0}.brand .church-logo{display:block;width:280px;max-width:100%;height:auto;flex-shrink:0}.brand .team-name{margin:0;font-size:1.25rem;line-height:1;color:white;white-space:nowrap}
@media(max-width:640px){.brand:has(.team-brand){flex-wrap:wrap;gap:10px}.brand .team-brand{gap:14px}.brand .church-logo{width:190px}.brand .team-name{font-size:.85rem}.brand:has(.team-brand) .workspace-label{width:100%;margin:0}}

/* Five teams share the same visual language and master data. */
.team-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin:28px 0}.team-choice{padding:24px 16px;text-align:left;min-height:120px;display:grid;gap:10px;border-top:4px solid #00858b}.team-choice strong{font-size:1.5rem}.team-choice.active{background:#102b43;color:white}.team-choice span{font-size:.9rem}.session-card{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:18px;border:1px solid #bbcedc;border-radius:6px;margin:12px 0;text-decoration:none}.session-context{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.session-context h2{margin:8px 0}.session-context p{margin:0}.directory-dialog{max-width:720px}.standards-dialog{max-width:1200px;width:95vw;max-height:90vh;overflow:auto}.roster-filters{margin:18px 0}#directory-results{max-height:260px;overflow:auto}#create-session{margin-top:28px}#create-session input{margin:12px}#directory-body label{display:block;white-space:nowrap;margin-bottom:5px}body[data-workspace=master] .deployment-bar,body[data-workspace=master] .top,body[data-workspace=master] .summary,body[data-workspace=master] .tabs{display:none!important}@media(max-width:720px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.team-choice:last-child{grid-column:1/-1}.session-context{align-items:flex-start;flex-direction:column}.session-card{flex-direction:column}}

/* Shared navigation and administration */
.admin-tiles .team-choice{background:#fff;border:1px solid #b9cddd;border-top:3px solid #00878d;border-radius:5px}.site-shortcuts .button{min-width:145px;text-align:center}
[hidden]{display:none!important}.button{display:inline-block;padding:10px 14px;border:1px solid #adc5d4;border-radius:5px;text-decoration:none;color:var(--navy,#123047);background:#fff;font:inherit}.admin-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:22px 0}.admin-tiles .team-choice{min-height:110px;text-decoration:none}.site-shortcuts{margin:14px 0 24px}.password-grid,.new-person-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.password-grid input{display:block;width:100%;margin:5px 0 12px}.password-grid .rules{margin:0}.new-volunteer{border:2px solid #00878d}.new-person-grid fieldset{border:0;padding:0}.created-person{background:#e0f3ee}.access-gate{max-width:620px}.access-gate input[type=password]{display:block;width:100%;margin:12px 0}.team-choice{text-decoration:none;color:inherit}.rules[id]{scroll-margin-top:20px}#advanced>summary{font-size:1.1rem;font-weight:700;cursor:pointer}#advanced section{margin-top:24px}#admin-success:empty{display:none}.placement-reasons{margin:8px 0 14px}.placement-reasons li{margin:4px 0}

.session-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,1fr) minmax(0,1fr);align-items:center;gap:16px}.session-card>:nth-child(2){text-align:center}.session-card>:last-child{justify-self:end}.new-person-grid{align-items:start}.new-person-grid>label{display:flex;flex-direction:column;align-items:stretch;gap:6px;margin:0}.new-person-grid fieldset{margin:0;min-width:0}.new-person-grid legend{padding:0;margin:0 0 6px;font-size:inherit;line-height:inherit}.new-person-grid input:not([type=checkbox]),.new-person-grid select{width:100%;margin:0}.delete-contact{display:block;margin-top:12px;color:#983d37}.password-grid .password-entry{display:flex;width:100%;margin:5px 0 12px}.password-grid .password-entry input,.access-gate .password-entry input{margin:0;min-width:0;flex:1}.password-grid .password-entry button{flex:none}.access-gate .password-entry{display:flex;margin:12px 0}#schedule-history>summary{font-weight:700;cursor:pointer;margin:10px 0}#schedule-history #session-list{margin-top:12px}#team-volunteer-link{margin-top:12px}@media(max-width:600px){.session-card{grid-template-columns:minmax(0,1fr) minmax(100px,1fr);gap:10px}.session-card>:last-child{grid-column:1/-1;justify-self:end}}

.calendar-toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:30px 0 24px}.calendar-toolbar label{display:flex;align-items:center;gap:10px}.calendar-toolbar h2{margin:0 0 0 10px}.calendar-row{display:grid;grid-template-columns:115px minmax(0,1fr);align-items:center;margin:24px 0 34px;gap:18px}.calendar-row h2{font-size:21px;margin:0}.calendar-dates{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;border-left:1px solid #bbcedc;padding-left:18px}.calendar-dates .date-card{background:white;border:1px solid #bbcedc;border-top:3px solid #00858b;border-radius:5px;padding:16px 12px;min-height:112px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;color:#102e43;text-align:left}.date-card strong{font-size:18px}.date-card time{font-size:16px;white-space:nowrap}.date-card span{font-size:12px;color:#526c80}.date-card:hover,.date-card:focus-visible{outline:2px solid #00858b;outline-offset:2px}.date-card:disabled{opacity:.65;cursor:wait}.calendar-row .empty-date{min-height:112px;display:flex;align-items:center;justify-content:center;color:#526c80;border:1px dashed #bbcedc;border-radius:5px;font-size:13px}@media(max-width:800px){.calendar-row{grid-template-columns:1fr;gap:12px}.calendar-dates{padding-left:0;border-left:0;overflow-x:auto;grid-template-columns:repeat(5,minmax(132px,1fr));padding-bottom:10px}.calendar-toolbar h2{width:100%;margin:6px 0}.calendar-dates .date-card{min-height:104px}}
