:root{--md-sys-color-primary:#bf360c;--md-sys-color-on-primary:#fff;--md-sys-color-primary-container:#ffdbd1;--md-sys-color-on-primary-container:#3a0b00;--md-sys-color-secondary:#77574e;--md-sys-color-on-secondary:#fff;--md-sys-color-secondary-container:#ffdbd1;--md-sys-color-on-secondary-container:#2c1611;--md-sys-color-tertiary:#6c5d2f;--md-sys-color-on-tertiary:#fff;--md-sys-color-tertiary-container:#f5e2a9;--md-sys-color-on-tertiary-container:#221b00;--md-sys-color-error:#ba1a1a;--md-sys-color-on-error:#fff;--md-sys-color-error-container:#ffdad6;--md-sys-color-on-error-container:#410002;--md-sys-color-background:#fff8f6;--md-sys-color-on-background:#231a17;--md-sys-color-surface:#fff8f6;--md-sys-color-on-surface:#231a17;--md-sys-color-surface-variant:#f5ded8;--md-sys-color-on-surface-variant:#53433f;--md-sys-color-outline:#85736e;--md-sys-color-outline-variant:#d8c2bc;--md-sys-color-surface-container-lowest:#fff;--md-sys-color-surface-container-low:#fceae5;--md-sys-color-surface-container:#f7e4df;--md-sys-color-surface-container-high:#f1ded9;--md-sys-color-surface-container-highest:#ebd8d3;--md-ref-typeface-brand:"Outfit", "Roboto", system-ui, sans-serif;--md-ref-typeface-plain:"Roboto", system-ui, sans-serif;font-family:var(--md-ref-typeface-plain);background-color:var(--md-sys-color-background);color:var(--md-sys-color-on-background)}@media (prefers-color-scheme:dark){:root{--md-sys-color-primary:#ffb5a0;--md-sys-color-on-primary:#561f0f;--md-sys-color-primary-container:#733523;--md-sys-color-on-primary-container:#ffdbd1;--md-sys-color-secondary:#e7bdb2;--md-sys-color-on-secondary:#442a22;--md-sys-color-secondary-container:#5d4037;--md-sys-color-on-secondary-container:#ffdbd1;--md-sys-color-tertiary:#d8c690;--md-sys-color-on-tertiary:#3c3008;--md-sys-color-tertiary-container:#53461a;--md-sys-color-on-tertiary-container:#f5e2a9;--md-sys-color-error:#ffb4ab;--md-sys-color-on-error:#690005;--md-sys-color-error-container:#93000a;--md-sys-color-on-error-container:#ffdad6;--md-sys-color-background:#1a110e;--md-sys-color-on-background:#f1ded9;--md-sys-color-surface:#1a110e;--md-sys-color-on-surface:#f1ded9;--md-sys-color-surface-variant:#53433f;--md-sys-color-on-surface-variant:#d8c2bc;--md-sys-color-outline:#a08c87;--md-sys-color-outline-variant:#53433f;--md-sys-color-surface-container-lowest:#140c0a;--md-sys-color-surface-container-low:#231916;--md-sys-color-surface-container:#271d1a;--md-sys-color-surface-container-high:#322724;--md-sys-color-surface-container-highest:#3d322e}}body{box-sizing:border-box;background-color:var(--md-sys-color-background);color:var(--md-sys-color-on-background);font-family:var(--md-ref-typeface-plain);margin:0;padding:0}.material-symbols-outlined{letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;-webkit-font-smoothing:antialiased;direction:ltr;font-family:Material Symbols Outlined;font-size:24px;font-style:normal;font-weight:400;line-height:1;display:inline-block}.app-layout{flex-direction:column;min-height:100vh;display:flex}.app-bar{background-color:var(--md-sys-color-surface-container-low);color:var(--md-sys-color-on-surface);border-bottom:1px solid var(--md-sys-color-outline-variant);align-items:center;gap:16px;padding:16px 24px;display:flex}.app-bar h1{font-family:var(--md-ref-typeface-brand);margin:0;font-size:24px;font-weight:500}.app-tabs{background-color:var(--md-sys-color-surface-container-low);border-bottom:1px solid var(--md-sys-color-outline-variant);padding-left:24px;display:flex}.app-tab{color:var(--md-sys-color-on-surface-variant);cursor:pointer;opacity:.8;font-weight:500;font-family:var(--md-ref-typeface-brand);border-bottom:3px solid #0000;padding:14px 24px;text-decoration:none;transition:opacity .2s,border-color .2s,color .2s}.app-tab:hover{opacity:1;color:var(--md-sys-color-on-surface)}.app-tab.active{opacity:1;color:var(--md-sys-color-primary);border-bottom-color:var(--md-sys-color-primary)}.content-container{box-sizing:border-box;flex:1;width:100%;max-width:1400px;margin:0 auto;padding:24px}.m3-card{background-color:var(--md-sys-color-surface-container-lowest);color:var(--md-sys-color-on-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:16px;margin-bottom:24px;padding:24px;box-shadow:0 1px 2px #0000000d}.m3-card h2{font-family:var(--md-ref-typeface-brand);color:var(--md-sys-color-on-surface);margin-top:0;font-size:22px;font-weight:500}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;display:grid}.grid-3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;display:grid}.rota-table-card{overflow-x:auto}.rota-table{border-collapse:collapse;text-align:left;width:100%;margin-top:16px}.rota-table th{border-bottom:2px solid var(--md-sys-color-outline-variant);font-family:var(--md-ref-typeface-brand);color:var(--md-sys-color-on-surface);background-color:var(--md-sys-color-surface-container-low);padding:14px 12px;font-weight:500}.rota-table td{border-bottom:1px solid var(--md-sys-color-outline-variant);vertical-align:middle;color:var(--md-sys-color-on-surface);padding:12px}.rota-table tr:hover td{background-color:var(--md-sys-color-surface-container)}.badge{text-align:center;border-radius:8px;min-width:80px;padding:6px 12px;font-size:13px;font-weight:500;display:inline-block}.badge.OFF{background-color:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-on-surface-variant);border:1px solid var(--md-sys-color-outline-variant)}.badge.HOL{background-color:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container);border:1.5px solid var(--md-sys-color-error)}.badge.Z1_OPEN{color:#0f5132;background-color:#d1e7dd;border:1px solid #a3cfbb}.badge.Z1_CLOSE{color:#842029;background-color:#f8d7da;border:1px solid #f5c2c7}.badge.Z2_CLOSE{color:#664d03;background-color:#fff3cd;border:1px solid #ffecb5}.badge.Z3_OPEN{color:#055160;background-color:#cff4fc;border:1px solid #b6effb}.badge.Z3_CLOSE{color:#4b238d;background-color:#e2d9f3;border:1px solid #d2c4ec}.badge.P_ORD,.badge.NP_ORD{color:#274015;background-color:#e2f0d9;border:1.5px dashed #385723}.badge.REC{color:#803300;background-color:#fbe5d6;border:1.5px dashed #c65911}.badge.SSS{color:#594300;background-color:#fff2cc;border:1.5px dashed #7f6000}.badge-outline{border:1px solid var(--md-sys-color-outline);color:var(--md-sys-color-on-surface);background-color:var(--md-sys-color-surface-container-lowest);border-radius:8px;padding:6px 12px;font-size:13px;font-weight:500;display:inline-block}.status-indicator{align-items:center;gap:8px;font-size:14px;display:flex}.status-indicator.met{color:#0f5132}.status-indicator.unmet{color:#b3261e}.filter-bar{background-color:var(--md-sys-color-surface-container-low);border:1px solid var(--md-sys-color-outline-variant);border-radius:12px;flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:24px;padding:16px 24px;display:flex}.select-input{border:1.5px solid var(--md-sys-color-outline);background-color:var(--md-sys-color-surface-container-lowest);color:var(--md-sys-color-on-surface);cursor:pointer;border-radius:8px;outline:none;padding:10px 14px;font-family:inherit;font-size:14px;font-weight:500;transition:border-color .2s}.select-input:focus{border-color:var(--md-sys-color-primary)}.text-input{border:1.5px solid var(--md-sys-color-outline);background-color:var(--md-sys-color-surface-container-lowest);color:var(--md-sys-color-on-surface);border-radius:8px;outline:none;padding:10px 14px;font-family:inherit;font-size:14px;font-weight:500;transition:border-color .2s}.text-input:focus{border-color:var(--md-sys-color-primary)}.chip-button{cursor:pointer;font-weight:600;font-family:var(--md-ref-typeface-brand);border:none;border-radius:20px;padding:10px 20px;font-size:14px;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px #00000026}.chip-button.unselected{background-color:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.chip-button.unselected:hover{background-color:var(--md-sys-color-surface-container-highest);box-shadow:0 2px 5px #0003}.chip-button.selected{background-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);box-shadow:0 3px 6px #0000004d}.chip-button.selected:hover{filter:brightness(1.15)}
