@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{scrollbar-gutter:stable;font-family:'DM Sans',sans-serif;color:#223348;background:#f5f7fa;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #65b6e2;outline-offset:3px}header{height:76px;background:#102e48;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 38px}.brand{display:flex;align-items:center;gap:16px}.mark{font-size:30px;color:#67c2d6}.brand strong{font-family:Manrope;font-size:18px}.brand small{display:block;font-size:10px;letter-spacing:2px;color:#a6c0d2;margin-top:3px}.header-right{display:flex;align-items:center;gap:25px;font-size:12px;color:#c2d3df}.avatar{width:34px;height:34px;background:#34516a;border-radius:50%;display:grid;place-items:center;color:white}nav{background:white;border-bottom:1px solid #e2e8ed;padding:0 40px;display:flex;align-items:center;gap:36px;height:61px;font-size:13px}.location{font-weight:700;margin-right:20px;color:#17364d}nav span{height:100%;display:flex;align-items:center;border-bottom:3px solid #248091;color:#1b7386;font-weight:700}main{max-width:1530px;padding:36px 40px;margin:auto}.eyebrow{text-transform:uppercase;letter-spacing:1.8px;font-size:10px;font-weight:700;color:#718594}.heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}h1{font-family:Manrope;font-size:29px;letter-spacing:-1px;margin:7px 0}p{color:#7b8997;font-size:13px;margin:7px 0}.date-control{display:flex;align-items:center;gap:16px;background:white;border:1px solid #dfe5eb;border-radius:7px;padding:8px}.date-control button{border:0;background:#f2f5f8;border-radius:4px;width:30px;height:30px;color:#5b7186}.date-control strong{font-size:12px;min-width:165px;text-align:center}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:30px}.stat{background:white;border:1px solid #e3e8ed;border-radius:9px;padding:20px;display:flex;justify-content:space-between;align-items:center}.stat label{font-size:12px;color:#738393;display:block;margin-bottom:8px}.stat b{font-family:Manrope;font-size:27px}.stat small{font-size:11px;color:#85929f;margin-left:8px}.stat-icon{height:42px;width:42px;border-radius:10px;display:grid;place-items:center;background:#edf4f9;color:#42759a;font-size:20px}.toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.tabs{display:flex;gap:5px;background:#e9eef3;border-radius:7px;padding:4px}.tabs button{border:0;background:transparent;color:#778594;font-size:12px;padding:9px 17px;border-radius:5px}.tabs button.active{background:white;color:#244159;box-shadow:0 1px 4px #16324c12}.search{display:flex;gap:10px}input,select{border:1px solid #dfe6ec;border-radius:6px;background:white;padding:10px 13px;color:#42576b;font-size:12px}input{width:235px}.shift{background:white;border:1px solid #e0e7ed;border-radius:10px;margin-bottom:18px;overflow:hidden}.shift-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid #edf0f4}.shift-title{display:flex;align-items:center;gap:10px}.shift-title h2{font-size:14px;margin:0}.shift-title .symbol{color:#aa8543;font-size:20px}.count{background:#edf2f6;color:#6f8292;border-radius:5px;padding:3px 7px;font-size:10px}.shift-time{font-size:11px;color:#8593a1}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(119px,1fr));gap:12px;padding:20px 22px}.staff{min-height:151px;border:1px solid #e0e7ee;border-radius:8px;background:#fff;text-align:center;padding:17px 7px 12px;position:relative;transition:transform .18s,box-shadow .18s;color:#243b50}.staff:hover{transform:translateY(-3px);box-shadow:0 7px 19px #17334f12}.staff.attention{border-color:#e7b8ac;background:#fffdfc}.badge{position:absolute;right:8px;top:8px;font-size:9px;border-radius:4px;padding:3px 5px;background:#f6eddc;color:#a37728}.person{margin:0 auto 10px;width:40px;height:40px;border-radius:50%;background:#e7f0f8;display:grid;place-items:center;color:#427dab;font-size:12px;font-weight:700;position:relative}.person:after{content:'';position:absolute;bottom:-1px;right:-2px;width:10px;height:10px;border:2px solid white;background:#52a68a;border-radius:50%}.attention .person:after{background:#d58b6c}.staff-name{display:block;font-size:11px;font-weight:700;min-height:28px;line-height:14px}.time{font-size:9px;color:#8897a5;display:block;margin:3px 0 9px}.status{font-size:9px;color:#348b6a;background:#edf7f2;padding:3px 7px;border-radius:4px}.attention .status{background:#fbefe8;color:#b57752}.empty{padding:25px;color:#97a3af;font-size:12px;display:flex;align-items:center;gap:10px}.empty i{width:28px;height:28px;border-radius:50%;background:#f1f4f7;display:grid;place-items:center;font-style:normal}footer{display:flex;justify-content:space-between;font-size:10px;color:#95a0aa;margin-top:25px}.live{color:#5a9d87}dialog{border:1px solid #dce4eb;border-radius:12px;padding:28px;width:360px;color:#243b50;box-shadow:0 20px 80px #102e482f}dialog::backdrop{background:#102e4866}dialog h2{font-size:20px;margin-top:0}dialog label{display:block;font-size:12px;margin:18px 0 7px}dialog select{width:100%}.actions{display:flex;justify-content:flex-end;gap:8px;margin-top:25px}.actions button{border:1px solid #dce4eb;border-radius:6px;background:white;padding:9px 16px}.actions .save{background:#173e57;color:white;border-color:#173e57}@media(min-width:1450px){.cards{grid-template-columns:repeat(11,1fr)}}@media(max-width:800px){header{padding:0 20px}.header-right>span{display:none}nav{padding:0 20px}main{padding:25px 18px}.heading{align-items:flex-start;gap:15px;flex-direction:column}.stats{grid-template-columns:repeat(2,1fr);gap:10px}.stat{padding:15px}.toolbar{gap:15px;align-items:stretch;flex-direction:column}.search input{width:100%}.search{display:flex}.cards{grid-template-columns:repeat(auto-fill,minmax(115px,1fr))}.shift-time{font-size:9px}footer{line-height:18px;gap:20px}}
.activity{display:block;font-size:10px;line-height:1.5;margin:5px 0;padding:5px;border-radius:4px;background:#f1f3f7;color:#6a647f}.activity.coverage{background:#eaf5ef;color:#317254}.leave-list{padding:14px 22px;display:flex;gap:12px;flex-wrap:wrap}.leave-item{font-size:12px;padding:10px 14px;background:#fff6e9;border-radius:6px;color:#856335}.assignment-detail{margin:14px 0;font-size:12px;line-height:1.7}.cards{grid-template-columns:repeat(auto-fill,minmax(145px,1fr))}.staff-name{min-height:16px}.person:after{display:none}
header{height:54px;padding:0 24px}.brand{gap:10px}.brand .mark{font-size:25px}.brand strong{font-size:15px}.brand small{font-size:9px;letter-spacing:1.5px}.header-right{font-size:13px}.header-right #clock{display:inline}main{max-width:1600px;padding:16px 24px}.compact-controls{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.date-control{padding:4px;gap:10px}.date-control strong{font-size:14px;min-width:180px}.find-staff{position:relative;font-size:12px}.find-staff summary{cursor:pointer;padding:12px;color:#456177;list-style:none;border:1px solid #dfe6ec;background:white;border-radius:6px}.find-staff[open] summary{margin-bottom:8px}.find-staff .toolbar{margin:0;gap:12px;flex-direction:column;align-items:stretch}.find-staff .search input{width:170px}.shift{margin-bottom:12px}.shift-head{padding:10px 16px}.shift-title h2{font-size:16px}.shift-time{font-size:10px}.cards{padding:12px 16px;gap:10px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.staff{min-height:0;padding:15px 10px 10px;text-align:left;display:flex;flex-direction:column;align-items:stretch}.staff-name{font-size:21px;line-height:27px;padding-right:25px}.time{font-size:12px;color:#566e81;margin:4px 0 9px}.badge{font-size:11px}.activity{font-size:12px;padding:7px;line-height:1.5}.status{display:inline-block;margin-top:5px}.empty{padding:12px 16px}.leave-list{padding:12px 16px}.leave-item{font-size:12px}footer{align-items:center;margin-top:12px;font-size:11px}.footer-actions button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;border:1px solid #dfe6ec;background:white;border-radius:5px;color:#42759a;padding:7px 12px;font-size:12px;font-weight:500}.footer-actions button:hover{background:#eef4f8}.footer-actions button>span{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;font-size:16px;line-height:1}#load-state:empty{display:none}#load-state{margin:8px 0 12px;color:#a16b36}@media(max-width:600px){header{padding:0 14px}main{padding:12px}.brand strong{font-size:13px}.compact-controls{flex-wrap:wrap}.find-staff{margin-left:auto}.date-control strong{min-width:157px;font-size:12px}.cards{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.staff-name{font-size:19px}}

.view-switch{display:flex;padding:3px;background:#e5ebf0;border-radius:7px}.view-switch button{border:0;padding:9px 18px;background:none;color:#5d7082;border-radius:5px}.view-switch button[aria-pressed=true]{background:#173e57;color:white}.compact-controls{align-items:center;justify-content:flex-start;flex-wrap:wrap}.find-staff{margin-left:auto}#today,#targets-button{padding:9px 13px;border:1px solid #dfe6ec;border-radius:6px;background:white;color:#456177;font-size:12px}#week-controls:not([hidden]){display:flex;justify-content:space-between;align-items:center;gap:14px;margin:12px 0 16px}.week-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:11px;color:#52697c}.week-legend span{display:flex;gap:6px;align-items:center}.week-legend i{width:9px;height:9px;border-radius:50%}.good{--tone:#26764f;--tint:#eaf6ee;--line:#c8e5d1}.warn{--tone:#a76412;--tint:#fff3e0;--line:#efd5aa}.bad{--tone:#b54842;--tint:#fff0ee;--line:#ecc8c4}.unset{--tone:#6e8191;--tint:#eff3f6;--line:#dce3e9}.week-legend i{background:var(--tone)}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.week-column{min-width:0}.week-date{display:block;width:100%;border:0;background:transparent;text-align:left;padding:12px 8px;color:#5e7386}.week-date span{display:block;text-transform:uppercase;letter-spacing:1.4px;font-size:10px}.week-date strong{display:inline-block;font-size:27px;color:#273e52;font-family:Manrope;margin-top:4px}.week-date small{display:block;font-size:10px;min-height:14px}.week-column.is-today .week-date strong{color:#13727d}.week-column.is-today .week-date small{color:#13727d;font-weight:700}.week-cell{display:block;width:100%;text-align:left;border:1px solid var(--line);border-top:3px solid var(--tone);background:var(--tint);color:#243b50;border-radius:8px;padding:13px 11px;margin-bottom:12px;min-height:177px;transition:box-shadow .15s}.week-cell:hover{box-shadow:0 4px 15px #17334f18}.week-cell .band-name{font-weight:700;font-size:12px;display:block}.band-time{display:block;font-size:10px;color:#687d8e;margin-top:4px}.band-count{display:block;font-size:28px;font-weight:700;color:var(--tone);margin:13px 0 3px;letter-spacing:-1px}.band-count small{font-size:13px;font-weight:400;color:#6e8090;letter-spacing:0}.band-status{font-size:11px;font-weight:700;color:var(--tone);display:block}.coverage-strip{display:flex;height:9px;overflow:hidden;border-radius:3px;gap:1px;margin:13px 0 7px;background:#ffffff70}.coverage-strip span{background:var(--tone);min-width:1px}.band-range{font-size:9px;color:#6b7c88;display:block}.setup-note{padding:13px 16px;border:1px dashed #c0ccd6;background:white;border-radius:8px;margin:0 0 12px;font-size:12px;color:#557084}.target-row{padding:13px 0;border-bottom:1px solid #e5ebf0}.target-row strong{display:block;font-size:13px}.target-inputs{display:flex;gap:8px}.target-inputs label{font-size:10px;flex:1;min-width:0}.target-inputs input{width:100%;padding:8px;font-size:12px}#targets-dialog{width:560px;max-width:94vw}#band-dialog{width:440px;max-width:94vw}.band-detail-status{font-size:20px;font-weight:700;color:var(--tone);padding:15px;background:var(--tint);border-radius:7px}.gap-list{padding-left:20px;font-size:12px;line-height:1.9}.band-detail-note{font-size:12px;color:#6e8090;line-height:1.7}.week-load{padding:50px 20px;text-align:center;background:white;border:1px solid #e0e7ed;border-radius:9px;color:#74899a}.week-empty{font-size:12px;color:#74899a}.week-grid[aria-busy=true]{opacity:.6}#targets-button{white-space:nowrap}@media(max-width:1050px){.week-grid{gap:6px}.week-cell{padding:12px 8px}.band-count{font-size:23px}.band-time{font-size:9px}}@media(max-width:760px){.week-scroll{overflow-x:auto;padding-bottom:6px}.week-grid{min-width:910px}.week-cell{padding:14px;min-height:180px}.week-legend{gap:10px}.view-switch button{padding:8px 14px}.find-staff{margin-left:0}#week-controls:not([hidden]){align-items:flex-start}.compact-controls{gap:9px}.band-count{font-size:28px}}

@media(min-width:761px){#week-controls:not([hidden]){margin:8px 0 12px}.week-date{padding:8px 6px}.week-date strong{font-size:23px}.week-cell{min-height:147px;padding:10px 11px;margin-bottom:10px}.band-count{font-size:26px;margin:8px 0 2px}.coverage-strip{height:7px;margin:8px 0 5px}.band-time{font-size:9px}.band-range{font-size:9px}}


.week-cell{position:relative}.opening-flag{position:absolute;top:8px;right:7px;font-size:9px;line-height:15px;padding:1px 4px;border-radius:4px;background:#fff0c9;border:1px solid #d7ad50;color:#885515;font-weight:700;white-space:nowrap}.opening-alert{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#fff6e5;border:1px solid #e2c381;border-left:4px solid #c08b25;border-radius:7px;color:#805c22;padding:12px 15px;margin:0 0 13px;font-size:12px;line-height:1.5}.opening-alert strong{white-space:nowrap;font-size:13px}#band-details .opening-alert{display:block}#band-details .opening-alert span{display:block;margin-top:5px}

.swing-cell{min-height:97px;border-top:1px dashed #bdcbd5;background:#f0f4f7;padding:9px 11px}.swing-cell .band-name small{font-size:7px;letter-spacing:.7px;font-weight:500;color:#7b8d99;margin-left:3px}.swing-cell .band-time{font-size:9px}.swing-count{font-size:20px;font-weight:700;color:#617a8b;display:inline-block;margin:5px 0}.swing-cell .band-status{display:inline-block;font-size:10px;margin-left:6px}.swing-cell .band-range{font-size:8px}@media(min-width:761px){.week-date{padding-top:4px;padding-bottom:4px}.week-cell:not(.swing-cell){min-height:127px;padding-top:8px;padding-bottom:8px}.week-cell:not(.swing-cell) .band-count{margin-top:5px;font-size:23px}.week-cell:not(.swing-cell) .coverage-strip{margin-top:6px}.swing-cell{min-height:89px;padding-top:7px;padding-bottom:7px}}

.swing-cell{min-height:44px;padding:6px 11px}.swing-top{display:flex;justify-content:space-between;align-items:center;gap:4px}.swing-cell .band-name{font-size:11px}.swing-cell .band-status{font-size:9px;margin:0}.swing-meta{display:block;margin-top:3px;font-size:9px;color:#6b7f8e;line-height:11px}@media(min-width:761px){.week-cell:not(.swing-cell){min-height:123px;padding-top:6px;padding-bottom:6px}}

.swing-cell.good,.swing-cell.warn{background:var(--tint);border-color:var(--line);border-top:2px solid var(--tone)}

.good{--bar:#21834c}.warn{--tone:#8c5200;--bar:#f4b700;--tint:#fff3c7;--line:#d4b140}.bad{--tone:#a60e28;--bar:#c81234;--tint:#ffe2e7;--line:#cf5c79}.unset{--bar:#8093a3}.week-legend i{background:var(--bar,var(--tone))}.week-cell{border-top-width:4px;border-top-color:var(--bar,var(--tone))}.swing-cell.good,.swing-cell.warn{border-top-color:var(--bar,var(--tone))}.week-card-summary{display:block;width:100%;text-align:left;border:0;padding:0;background:transparent;color:inherit;border-radius:3px;cursor:pointer}.coverage-strip{gap:0;overflow:visible;height:14px;border-radius:3px;background:transparent;position:relative}.coverage-segment{display:block;height:100%;min-width:0;border:0;padding:0;margin:0;background:var(--bar,var(--tone));position:relative;cursor:pointer;border-radius:0}.coverage-segment:first-child{border-radius:3px 0 0 3px}.coverage-segment:last-child{border-radius:0 3px 3px 0}.coverage-segment:only-child{border-radius:3px}.coverage-segment+.coverage-segment.coverage-change:before{content:'';position:absolute;left:-1px;top:-2px;bottom:-2px;width:2px;background:#141a20;z-index:1}.coverage-segment:hover{filter:brightness(1.08)}.coverage-segment:focus-visible{outline:2px solid #132e46;outline-offset:3px;z-index:2}.coverage-segment:after{content:'';position:absolute;inset:-6px 0}.coverage-tooltip{width:max-content;min-width:min(320px,calc(100vw - 24px));max-width:min(480px,calc(100vw - 24px));position:fixed;z-index:1000;background:white;color:#23384b;border:1px solid #cdd7df;border-top:4px solid var(--bar,var(--tone));border-radius:8px;box-shadow:0 8px 30px #102e4829;padding:13px 15px;font-size:12px;line-height:1.5;max-height:min(320px,55vh);overflow:auto;pointer-events:auto}.coverage-tooltip[hidden]{display:none}.tooltip-heading{font-size:10px;color:#708493;margin-bottom:4px}.tooltip-time{display:block;font-size:16px;letter-spacing:.1px}.tooltip-staff{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0;padding:8px 10px;border-radius:5px;background:var(--tint)}.tooltip-staff span{color:var(--tone);font-size:11px;font-weight:700}.tooltip-people{font-size:11px;color:#4d6577;line-height:1.6;margin:0}.tooltip-people>span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:1px;color:#7b8e9c;margin-bottom:3px}.tooltip-people p{margin:7px 0 0;color:#4d6577;font-size:11px}
.header-right{flex-direction:column;align-items:flex-end;gap:3px;line-height:1.2}.header-right #calendar-refresh{display:block;font-size:11px;color:#b9d0df;white-space:nowrap}.header-right #clock{font-variant-numeric:tabular-nums}@media(max-width:420px){header{gap:8px}.brand strong{display:block;max-width:120px;line-height:1.2}.header-right #calendar-refresh{font-size:10px}.header-right #clock{font-size:12px}}
#prev:disabled{opacity:.35;cursor:default}
.staff.supervisor .time,.staff.supervisor .activity-time{color:#b91c2a;font-weight:600}
.coverage-people-heading{font-size:12px;color:#425b6e;margin:18px 0 5px}.coverage-people{list-style:none;padding:0;margin:0}.coverage-person{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:9px 0;border-bottom:1px solid #e5ebf0;font-size:13px}.coverage-person:last-child{border-bottom:0}.coverage-person strong{min-width:35px}.coverage-person-times{text-align:right;font-variant-numeric:tabular-nums;color:#317254}.coverage-person-times span{display:block}.coverage-person.supervisor .coverage-person-times{color:#b91c2a;font-weight:600}
.coverage-person-times .non-floor-duty{color:#64748b}.coverage-person.supervisor .non-floor-duty{color:#b91c2a}.coverage-person-times .overtime-marker{display:inline;font-weight:700}
.swing-cell .band-name{font-size:10px}.swing-top{align-items:flex-start}.swing-cell .band-status{flex-shrink:0}.week-grid.has-early-week .swing-cell{min-height:66px}.swing-cell.has-early.unset{background:#edf8fb;border-color:#9bc7d3}.extra-kind{display:block;font-size:11px;font-weight:600;color:#176079;margin:2px 0 5px}.early-preview{display:block;font-size:10px;font-weight:700;color:#176079;margin:5px 0 3px;line-height:1.5}.early-preview.supervisor{color:#b91c2a}.early-swing-status{margin-top:16px}
.tooltip-changes{margin:8px 0;border-left:3px solid var(--bar,var(--tone));padding-left:9px}.tooltip-changes p{margin:7px 0;color:#23384b;font-size:12px;line-height:1.45}.tooltip-changes strong,.tooltip-changes span{display:block}.tooltip-changes span{color:#5a7284;font-size:10px;margin-top:2px}.tooltip-added{color:#176079;background:#e4f2f7;padding:1px 3px;border-radius:3px}
.pull-marker{display:block;padding:0;border:0;border-radius:0;background:transparent;color:#245e7c;font-size:9px;font-weight:600;line-height:13px;text-align:left;text-decoration:underline dotted;text-underline-offset:3px;cursor:pointer}.pull-marker:hover,.pull-marker:focus-visible{color:#123f59;text-decoration-style:solid}.week-cell:not(.swing-cell) .pull-slot{min-height:15px}.swing-cell .pull-slot:empty{display:none}.week-grid:has(.swing-cell .pull-marker) .swing-cell .pull-slot{display:block;min-height:15px}.swing-summary{display:block;width:100%;text-align:left;border:0;background:transparent;color:inherit;padding:0}.swing-cell .extra-kind{display:block;font-size:11px;font-weight:600;color:#176079;margin:2px 0 5px}.early-preview{padding-right:0}.coverage-tooltip.pull{--bar:#437e99;--tint:#edf7fb}.pull-range{font-size:11px;line-height:1.6;color:#536c7e;margin:9px 0}.pull-people{list-style:none;margin:0;padding:0}.pull-people li{display:flex;gap:15px;border-top:1px solid #e5ebf0;padding:8px 0;font-size:12px}.pull-people li>strong{min-width:27px}.pull-people li>div{flex:1}.pull-people span{display:block}.pull-time{color:#627c8e;font-size:11px;font-variant-numeric:tabular-nums}.pull-people .supervisor .pull-time{color:#b91c2a}
.coverage-tooltip{overscroll-behavior:contain;scrollbar-gutter:stable}.coverage-tooltip.pull{max-height:min(480px,calc(100dvh - 24px))}
.other-cell{min-height:44px;border-top:1px dashed #bdcbd5;padding:7px 11px;background:#f0f4f7}.other-cell .band-name{font-size:10px}.other-cell .band-name small{font-weight:400;color:#6b7f8e}.other-cell .early-preview{color:#52697c}.other-cell .early-preview.supervisor{color:#b91c2a}
.footer-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}#member-dialog{width:min(440px,calc(100vw - 28px));max-height:calc(100dvh - 28px);overflow:auto}#member-dialog [hidden]{display:none!important}#member-dialog form{margin-top:18px}#member-dialog label{display:block;font-size:12px;font-weight:600;margin:14px 0 7px}#member-dialog input{display:block;width:100%;margin-top:6px;font-weight:400}#member-initials{text-transform:uppercase;max-width:100px}#member-dialog form>.save{margin-top:14px;border:0;border-radius:6px;background:#102e48;color:white;padding:11px 16px}#member-dialog button:disabled{opacity:.55;cursor:wait}#member-error{color:#b91c2a;font-size:12px;margin-top:14px}#member-progress{min-height:18px;font-size:12px}#member-notice{color:#267351;font-size:12px;margin:8px 0}.member-primary-link{display:inline-block;margin-top:12px;background:#102e48;color:white;padding:11px 16px;border-radius:6px;text-decoration:none;font-size:12px}.footer-actions button{white-space:nowrap}@media(max-width:600px){footer{flex-wrap:wrap;gap:12px}.footer-actions{margin-left:auto}}

.swing-cell.good,.swing-cell.warn,.swing-cell.bad,.swing-cell.unset{background:var(--tint);border:1px solid var(--line);border-top:3px solid var(--bar,var(--tone));min-height:56px;padding:7px 10px}
.swing-cell .swing-top{align-items:center;gap:6px}.swing-cell .band-name{font-size:11px}.swing-count{font-size:12px;font-weight:700;color:var(--tone);white-space:nowrap}.swing-cell .band-time{font-size:9px;margin-top:3px}.swing-cell .band-status{display:block;margin:4px 0 0;font-size:10px;line-height:1.4}.swing-cell .coverage-strip{height:9px;margin:6px 0 4px}.swing-cell .pull-slot{min-height:0}.extra-coverage-details{margin:14px 0;color:#52697c;font-size:12px}.extra-coverage-details>summary{cursor:pointer;padding:9px 0;font-weight:600}.extra-coverage-details .shift{margin-top:5px}
.orange{--tone:#943b06;--bar:#e36b0b;--tint:#ffe8ca;--line:#da894d}
.coverage-note{display:block;font-size:9px;line-height:1.4;color:#985400;margin-top:4px}.swing-cell .band-status.swing-coverage-gap{color:#985400}.tooltip-support{font-size:11px;color:#627c8e;margin:7px 0 0}.extra-count{font-size:10px;color:#627c8e;white-space:nowrap}
.swing-cell.has-early.unset{background:#edf8fb;border-color:#9bc7d3}

.other-group-label{display:block;margin:8px 0 3px;font-size:10px;font-weight:700;color:#627c8e}.other-group-title{margin:12px 16px 0;font-size:12px;font-weight:700;color:#627c8e}

.other-group-title+.cards{padding-top:8px}
.crew-label{font-size:10px;white-space:nowrap}.tooltip-explanation{font-size:11px;color:#466579;margin:0 0 10px;line-height:1.5}
@media(max-width:760px){.crew-label{font-size:11px}}
.late-cover-note{display:block;position:relative;font-size:10px;line-height:1.4;color:#627b8c;margin-top:6px}.late-cover-note.is-absent{padding-left:9px}.late-cover-note.is-absent:before{content:'';position:absolute;left:0;top:1px;width:3px;height:12px;border-radius:1px;background:#e5a400}
@media(max-width:760px){.late-cover-note{font-size:11px}}

.shift[data-roster-shift]{scroll-margin-top:12px}
.shift[data-roster-shift] h2[tabindex="-1"]:focus{outline:none}

.header-right #calendar-refresh.nav-age-warning{color:#ffaaaa;font-weight:700}

.footer-actions .manage-calendars{display:inline-flex;align-items:center;justify-content:center;min-height:36px;border:1px solid #dfe6ec;background:white;border-radius:5px;color:#42759a;padding:7px 12px;font-size:12px;font-weight:500;text-decoration:none}.footer-actions .manage-calendars:hover{background:#eef4f8}
