:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#f2f4f7;--surface:#fff;--ink:#111827;--muted:#374151;--border:#929ca9;--grid:#59616c;--head:#e9edf2;--primary:#173d78;--primary-ink:#fff;--base:#fff;--leave:#ffcf19;--personal:#b9daff;--foreign:#dfcaff;--unavailable:#ffb0b0;--want:#a4e5b3;--discouraged:#ffcf9a;--off:#bf161f;--off-ink:#fff;--absence:#b71928;--absence-ink:#fff;--link:#143b7d;--surface-alt:#f7f9fb;--accent:#173d78;--on-accent:#fff;--success-bg:#dff7e8;--success:#198754;--shadow:0 8px 32px #14243b16}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#10151d;--surface:#1b2430;--ink:#f5f7fa;--muted:#c6d1df;--border:#758399;--grid:#7c8da3;--head:#29374a;--primary:#a9ccff;--primary-ink:#101c32;--base:#1b2430;--leave:#705900;--personal:#164c7b;--foreign:#593b85;--unavailable:#8c2435;--want:#185b35;--discouraged:#74401c;--off:#981a25;--off-ink:#fff;--absence:#a3182a;--absence-ink:#fff;--link:#bed8ff;--surface-alt:#202c3a;--accent:#a9ccff;--on-accent:#101c32;--success-bg:#163c2a;--success:#70d49a;--shadow:0 8px 32px #0005}*{box-sizing:border-box}body{background:var(--page);color:var(--ink);margin:0;font:16px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--primary);outline-offset:3px}input,select,textarea{color:var(--ink);background:var(--surface)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}a{color:var(--link)}h1,h2,h3,p{margin:0}h1{font-size:26px;line-height:1.3}h2{font-size:19px;line-height:1.4}small{font-size:13px}svg{flex-shrink:0}.topbar{background:var(--surface);border-bottom:2px solid var(--primary);justify-content:space-between;align-items:center;gap:20px;padding:16px 26px;display:flex}.brand{color:var(--ink);align-items:center;gap:11px;text-decoration:none;display:flex}.brand svg{color:var(--primary)}.brand strong{letter-spacing:2px;font-size:22px}.brand>span{border-left:1px solid var(--border);color:var(--muted);padding-left:15px;font-size:14px}.top-actions{align-items:center;gap:10px;display:flex}.user-name{text-align:right;font-size:14px;font-weight:600;line-height:1.4}.user-name small{color:var(--muted);font-size:12px;font-weight:400;display:block}.icon-button{border:1px solid var(--border);background:var(--surface);width:36px;min-width:36px;height:36px;color:var(--ink);border-radius:5px;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover{background:var(--head)}.btn{border:1px solid var(--border);background:var(--surface);min-height:40px;color:var(--ink);border-radius:5px;justify-content:center;align-items:center;gap:7px;padding:8px 13px;font-size:14px;font-weight:600;line-height:1.4;display:inline-flex}.btn:hover{background:var(--head)}.btn.primary{background:var(--primary);color:var(--primary-ink);border-color:var(--primary)}.btn.danger{background:var(--absence);color:#fff;border-color:var(--absence)}.main-nav{background:var(--surface);border-bottom:1px solid var(--border);align-items:stretch;gap:4px;padding:0 24px;display:flex;overflow-x:auto}.main-nav>button{color:var(--muted);white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;align-items:center;gap:8px;padding:14px 15px;font-size:14px;font-weight:600;display:flex}.main-nav>button.active{color:var(--primary);border-bottom-color:var(--primary)}.main-nav>button:hover{background:var(--head)}.main-nav em{background:var(--head);color:var(--ink);border-radius:4px;padding:0 5px;font-style:normal}.main{max-width:2100px;margin:auto;padding:24px}.workspace-status{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow,0 4px 16px #0f172a0f);border-radius:14px;grid-template-columns:repeat(3,minmax(150px,1fr)) minmax(320px,2fr);align-items:center;gap:10px;margin:0 0 16px;padding:12px 14px;display:grid}.status-metric{border-right:1px solid var(--border);gap:3px;min-width:0;padding-right:12px;display:grid}.status-metric span,.status-switcher span{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:11px;font-weight:700}.status-metric strong{align-items:center;gap:7px;font-size:16px;display:flex}.status-metric small,.status-switcher small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.status-switcher{grid-template-columns:minmax(130px,1fr) auto;align-items:center;gap:6px 8px;min-width:0;display:grid}.status-switcher>div{gap:2px;min-width:0;display:grid}.status-switcher input,.status-switcher select{width:100%;min-width:0}.status-switcher input{grid-column:1/2}.status-switcher select{grid-area:2/2/auto/3}.status-switcher .btn{grid-area:1/2;padding:5px 8px;font-size:12px}@media (width<=1100px){.workspace-status{grid-template-columns:repeat(3,minmax(130px,1fr))}.status-switcher{border-top:1px solid var(--border);grid-column:1/-1;padding-top:10px}}@media (width<=620px){.workspace-status{grid-template-columns:1fr 1fr}.status-metric:nth-child(2){border-right:0}.status-switcher{grid-column:1/-1;grid-template-columns:1fr}.status-switcher input,.status-switcher select{grid-area:auto/1}.status-switcher .btn{grid-area:auto/1;justify-self:start}}.banner{background:var(--head);color:var(--ink);border:1px solid var(--border);border-radius:6px;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px;padding:11px 16px;font-size:14px;display:flex}.banner.error{border:2px solid var(--absence)}.schedule-heading{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.schedule-heading h1{letter-spacing:1.4px;font-family:Georgia,Times New Roman,serif;font-size:27px}.schedule-heading p{margin-top:4px;font-family:Georgia,Times New Roman,serif;font-size:17px;font-weight:600}.sync{align-items:center;gap:8px;font-size:13px;display:flex}.online-dot{background:#27833d;border-radius:50%;width:8px;height:8px}.toolbar{background:var(--surface);border:1px solid var(--border);border-radius:7px;flex-wrap:wrap;align-items:end;gap:20px;margin-bottom:16px;padding:17px;display:flex}.field{flex-direction:column;gap:7px;min-width:0;font-size:14px;font-weight:600;display:flex}.field small{color:var(--muted);font-size:13px;font-weight:400;line-height:1.5}.field input,.field select,.field textarea{border:1px solid var(--border);border-radius:4px;width:100%;min-height:42px;padding:9px 11px;font-size:16px;font-weight:400}.field textarea{resize:vertical}.toolbar>.field{min-width:225px}.month-picker{align-items:end;gap:8px;display:flex}.month-picker>.icon-button{height:42px;margin-bottom:0}.toolbar-right{flex-wrap:wrap;align-items:center;gap:17px;margin-left:auto;display:flex}.check{align-items:center;gap:8px;font-size:14px;line-height:1.4;display:flex}.check input{width:18px;height:18px;accent-color:var(--primary);flex-shrink:0}.graph-title{justify-content:space-between;align-items:center;gap:20px;margin:18px 0 10px;display:flex}.graph-title h2{text-transform:capitalize;font-size:19px}.graph-title>span{color:var(--muted);font-size:13px}.table-wrap{border:2px solid var(--grid);background:var(--surface);scrollbar-color:var(--border) var(--head);max-height:72vh;overflow:auto}.schedule{border-collapse:separate;border-spacing:0;table-layout:fixed;font-variant-numeric:tabular-nums;width:100%;font-size:14px}.schedule th,.schedule td{border-right:1px solid var(--grid);border-bottom:1px solid var(--grid);text-align:center;vertical-align:middle;padding:0}.schedule td:last-child,.schedule th:last-child{border-right:0}.schedule thead th{background:var(--head);height:32px;color:var(--ink);padding:3px 4px;font-weight:700}.schedule thead{z-index:5;position:sticky;top:0}.schedule .staff-cell{background:var(--surface);text-align:left;z-index:3;border-right:2px solid var(--grid);width:255px;min-width:255px;padding:8px 10px;position:sticky;left:0}.schedule thead .staff-cell{z-index:6;background:var(--head)}.staff-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.employee-label{align-items:center;gap:6px;display:flex}.employee-label strong{font-size:14px;font-weight:600;line-height:1.3}.employee-label>span{color:var(--primary);font-size:12px;font-weight:600}.row-actions{gap:5px;margin-top:7px;display:flex}.row-actions .icon-button{width:30px;min-width:30px;height:28px}.staff-head .row-actions{margin:0}.rate-col{width:59px;min-width:59px}.sum-col{background:var(--surface);width:82px;min-width:82px}.schedule .total{font-weight:750}.schedule .date-head{width:45px;min-width:45px;height:44px;line-height:1.25}.date-head small{font-size:12px;font-weight:500;display:block}.schedule .date-head.off{background:var(--off);color:var(--off-ink)}.schedule .date-head.short{box-shadow:inset 0 -4px #cf9000}.schedule .day-cell{width:45px;min-width:45px;height:73px}.day{background:var(--cell);width:100%;height:100%;min-height:70px;color:var(--ink);isolation:isolate;border:0;border-radius:0;justify-content:center;align-items:center;padding:0;font-size:15px;display:flex;position:relative}.day b{z-index:1;font-weight:600}.base{--cell:var(--base);background:var(--base)}.leave{--cell:var(--leave);background:var(--leave)}.personal{--cell:var(--personal);background:var(--personal)}.foreign{--cell:var(--foreign);background:var(--foreign)}.day.priority-want{background:linear-gradient(135deg, var(--cell) 0 50%, var(--want) 50% 100%)}.day.priority-unavailable{background:linear-gradient(135deg, var(--cell) 0 50%, var(--unavailable) 50% 100%)}.day.absence-red{background:var(--absence);color:var(--absence-ink)}.day.selected{box-shadow:inset 0 0 0 3px var(--primary);outline:1px solid var(--primary);z-index:2}.day.selected:after{content:"✓";background:var(--primary);color:var(--primary-ink);width:15px;height:15px;font-size:12px;line-height:15px;position:absolute;top:3px;left:3px}.day:hover{box-shadow:inset 0 0 0 2px var(--primary)}.day:focus-visible{outline-offset:-3px}.table-wrap:focus-visible{outline:3px solid var(--primary);outline-offset:3px}.day.carry b{font-size:13px}.priority-symbol{font-size:14px;font-style:normal;font-weight:800;position:absolute;bottom:3px;right:4px}.note-dot{background:currentColor;border-radius:50%;width:5px;height:5px;position:absolute;top:4px;right:4px}.over{text-underline-offset:5px;font-weight:750;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.my-row>.staff-cell{box-shadow:inset 4px 0 0 var(--primary)}.legend{flex-wrap:wrap;gap:12px 22px;padding:17px 0 11px;font-size:14px;display:flex}.legend>span{align-items:center;gap:7px;display:flex}.legend i{border:1px solid var(--grid);min-width:34px;height:27px;color:var(--ink);place-items:center;padding:0 4px;font-size:13px;font-style:normal;font-weight:650;display:grid}.legend .unavailable{background:var(--unavailable)}.legend .want{background:var(--want)}.table-help{color:var(--muted);font-size:13px;line-height:1.6}.norm-explanation{background:var(--surface);border-left:3px solid var(--primary);margin-top:18px;padding:16px}.norm-explanation strong{font-size:14px}.norm-explanation p{color:var(--muted);margin-top:5px;font-size:13px;line-height:1.7}.draft-bar{border:1px solid var(--primary);background:var(--surface);flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:18px;padding:13px 16px;display:flex}.draft-bar>div{flex:1;min-width:240px}.draft-bar strong{font-size:14px}.draft-bar p{color:var(--muted);margin-top:4px;font-size:13px}.selection-bar{background:var(--head);border:1px solid var(--primary);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:15px;padding:11px;font-size:14px;display:flex}.section-title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.section-title p{color:var(--muted);max-width:820px;margin-top:8px;font-size:14px}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.profession-pool{flex-wrap:wrap;gap:12px;margin-bottom:22px;display:flex}.profession-pool button{text-align:left;background:var(--surface);border:1px solid var(--border);min-width:240px;color:var(--ink);border-radius:7px;flex:1;align-items:center;gap:12px;padding:15px;display:flex}.profession-pool b{border:1px solid var(--grid);background:var(--foreign);padding:4px 9px;font-size:20px}.profession-pool small{color:var(--muted);margin-top:3px;font-size:13px;display:block}.profession-pool svg{margin-left:auto}.staff-list{gap:16px;display:grid}.staff-list article{background:var(--surface);border:1px solid var(--border);border-radius:7px;padding:18px}.staff-title{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.staff-title h2{flex:1;font-size:18px}.assignment{text-align:left;background:var(--head);width:100%;color:var(--ink);border:1px solid var(--border);border-radius:4px;align-items:center;gap:15px;margin-top:8px;padding:12px;font-size:14px;display:flex}.assignment span{flex:1}.assignment small{font-size:12px}.simple-table{border:1px solid var(--border);background:var(--surface);border-radius:5px;overflow:auto}.simple-table table{border-collapse:collapse;text-align:left;width:100%;font-size:14px}.simple-table th{background:var(--head)}.simple-table td,.simple-table th{border-bottom:1px solid var(--border);vertical-align:top;padding:12px}.simple-table td small{color:var(--muted);font-size:13px;display:block}.simple-table tr:last-child td{border-bottom:0}.simple-table strong{font-weight:650}.calendar-years{grid-template-columns:1fr 1fr;gap:22px;display:grid}.calendar-years>article{background:var(--surface);border:1px solid var(--border);border-radius:7px;min-width:0;padding:20px}.calendar-years h2{margin-bottom:10px;font-size:26px}.calendar-years p{margin-bottom:5px;font-size:14px}.calendar-years a{margin:4px 0 18px;font-size:14px;display:inline-block}.calendar-years td,.calendar-years th{white-space:nowrap;padding:8px;font-size:13px}.proposal-list{gap:16px;display:grid}.proposal{border:1px solid var(--border);background:var(--surface);border-radius:7px;padding:20px}.proposal-top{justify-content:space-between;gap:15px;margin-bottom:10px;font-size:13px;display:flex}.proposal-top time{color:var(--muted)}.status{border:1px solid var(--border);background:var(--head);border-radius:4px;padding:3px 8px;font-size:13px;font-weight:650}.status-approved{background:var(--want)}.status-rejected{background:var(--unavailable)}.proposal h2{font-size:18px}.proposal>p{margin-top:6px;font-size:14px}.proposal .actions{margin-top:15px}.decision{border-top:1px solid var(--border);margin-top:15px;padding-top:10px;font-size:14px}.decision p{margin-top:4px}.audit-list{gap:10px;display:grid}.audit-entry{border:1px solid var(--border);background:var(--surface);border-radius:12px;grid-template-columns:170px minmax(0,1fr);gap:14px;padding:14px 16px;display:grid}.audit-entry-head{align-content:start;gap:7px;display:grid}.audit-entry time{color:var(--muted);font-size:12px}.audit-kind{background:var(--surface-alt);width:max-content;color:var(--muted);border-radius:999px;align-self:start;padding:3px 7px;font-size:11px;font-weight:700;display:inline-flex}.audit-entry-body{min-width:0}.audit-entry-body strong{color:var(--muted);font-size:12px}.audit-entry-body h3{margin:2px 0 8px;font-size:16px}.audit-entry dl{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:6px 12px;margin:0;display:grid}.audit-entry dl div{background:var(--surface-alt);border-radius:7px;grid-template-columns:auto minmax(0,1fr);gap:8px;padding:6px 8px;display:grid}.audit-entry dt{color:var(--muted);font-size:12px}.audit-entry dd{overflow-wrap:anywhere;margin:0;font-size:13px}.audit-empty-detail{color:var(--muted);margin:0;font-size:13px}.audit-entry.private{border-left:3px solid var(--accent)}@media (width<=620px){.audit-entry{grid-template-columns:1fr;gap:8px}.audit-entry-head{justify-content:space-between;align-items:center;display:flex}.audit-entry dl{grid-template-columns:1fr}}.empty{text-align:center;border:1px dashed var(--border);background:var(--surface);flex-direction:column;justify-content:center;align-items:center;gap:15px;min-height:220px;padding:30px;display:flex}.empty p{color:var(--muted);font-size:14px}.dialog{color:var(--ink);border:1px solid var(--border);background:var(--surface);width:540px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 28px);box-shadow:var(--shadow);border-radius:10px;padding:24px}.dialog::backdrop{background:#050914b8}.dialog.wide{width:1000px}.dialog-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:20px;padding-bottom:17px;display:flex}.dialog-heading h2{font-size:22px}.dialog-heading p{color:var(--muted);margin-top:6px;font-size:14px}.dialog fieldset{border:0;gap:17px;min-width:0;margin:0;padding:0;display:grid}.dialog p{font-size:14px;line-height:1.7}.dialog .form-cols{grid-template-columns:1fr 1fr;gap:15px;display:grid}.dialog-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;margin-top:22px;padding-top:18px;display:flex}.dialog .help{color:var(--muted);font-size:13px}.help-box{background:var(--head);border-left:3px solid var(--primary);padding:14px;font-size:14px;line-height:1.7}.rule-options{flex-flow:wrap;gap:13px;margin:12px 0;display:flex}.rule-options .check{font-size:15px}.inline-warning{background:var(--head);border-left:4px solid #d59f00;padding:12px;font-size:14px}.inline-error{border:2px solid var(--absence);border-radius:4px;margin-top:17px;padding:12px;font-size:14px}.credentials{gap:17px;display:grid}.credentials input{font-family:ui-monospace,monospace;font-size:15px}.diff-table td{overflow-wrap:anywhere;max-width:350px}.login-screen{flex-direction:column;justify-content:center;align-items:center;gap:15px;min-height:100dvh;padding:30px;display:flex}.login-screen>.icon-button{position:absolute;top:22px;right:22px}.login-card{background:var(--surface);border:1px solid var(--border);border-top:4px solid var(--primary);width:100%;max-width:430px;box-shadow:var(--shadow);border-radius:7px;padding:32px}.login-card>svg{color:var(--primary);margin-bottom:18px}.login-card h1{letter-spacing:1px;font-size:29px}.login-card>p{color:var(--muted);margin-top:8px;margin-bottom:24px;font-size:15px}.login-card form{gap:18px;display:grid}.login-card form>.btn{width:100%;min-height:44px;margin-top:5px}.login-card>small{color:var(--muted);margin-top:24px;display:block}.mobile-cards{display:none}details summary{cursor:pointer;font-size:14px;font-weight:600}@media (width<=1100px){.topbar{padding:14px 18px}.brand>span{display:none}.main{padding:20px 18px}.main-nav{padding:0 14px}.toolbar{gap:15px}.toolbar-right{margin-left:0}.calendar-years{grid-template-columns:1fr}.assignment{flex-wrap:wrap}.assignment span{min-width:200px}.assignment svg{margin-left:auto}}@media (width<=850px){.table-wrap{display:none}.mobile-cards{grid-template-columns:1fr 1fr;gap:14px;display:grid}.employee-card{border:1px solid var(--border);background:var(--surface);border-radius:7px;align-self:start;padding:15px}.card-heading{color:var(--ink);text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:0;display:flex}.card-heading strong{font-size:16px;line-height:1.5}.card-heading[aria-expanded=true] svg{transform:rotate(180deg)}.card-summary{flex-wrap:wrap;gap:15px;margin:12px 0 10px;font-size:14px;display:flex}.employee-card>.row-actions{border-top:1px solid var(--border);gap:10px;padding-top:12px}.employee-card>.row-actions .icon-button{width:42px;height:36px}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-top:16px;display:grid}.calendar-grid>small{text-align:center;color:var(--muted);font-size:12px}.calendar-grid .day{border:1px solid var(--grid);flex-direction:column;justify-content:space-evenly;height:58px;min-height:58px;font-size:14px}.calendar-grid .day small{font-size:12px}.calendar-grid .priority-symbol{font-size:12px;bottom:0;right:2px}.graph-title{flex-direction:column;align-items:flex-start;gap:5px}.schedule-heading h1{font-size:23px}.schedule-heading p{font-size:15px}.main-nav>button{padding:12px 11px}.user-name{max-width:190px}.user-name small{font-size:12px}.draft-bar>div{flex-basis:100%;min-width:100%}.section-title{gap:15px}.section-title h1{font-size:25px}}@media (width<=560px){.topbar{gap:10px;padding:12px}.brand{gap:6px}.brand strong{letter-spacing:1px;font-size:17px}.brand svg{width:24px}.top-actions{gap:5px}.top-actions .icon-button{width:32px;min-width:32px;height:34px}.user-name{display:none}.main{padding:17px 12px}.main-nav{padding:0 5px}.main-nav>button{gap:5px;font-size:13px}.main-nav svg{width:15px}.schedule-heading{margin-bottom:16px}.schedule-heading h1{letter-spacing:.5px;font-size:21px}.schedule-heading p{font-size:14px}.sync{gap:5px;font-size:12px}.sync>.icon-button{width:32px;min-width:32px;height:32px}.toolbar{align-items:stretch;gap:15px;padding:13px}.toolbar>.field{width:100%;min-width:0}.month-picker{justify-content:space-between;width:100%}.month-picker>.field{flex:1}.toolbar-right{justify-content:space-between;gap:12px;width:100%}.toolbar-right .check,.toolbar-right .btn{font-size:13px}.field{font-size:14px}.mobile-cards{grid-template-columns:1fr}.employee-card{padding:15px}.calendar-grid .day{height:59px}.legend{gap:10px 16px;font-size:13px}.legend i{min-width:31px;font-size:12px}.norm-explanation{padding:12px}.table-help{font-size:13px}.graph-title h2{font-size:18px}.section-title .actions{width:100%}.section-title h1{font-size:23px}.staff-list article{padding:14px}.staff-title h2{min-width:100%;font-size:17px}.staff-title .btn{padding:7px 9px;font-size:13px}.assignment{gap:7px;font-size:14px}.assignment strong{width:100%}.assignment span{font-size:13px}.assignment small{font-size:12px}.calendar-years>article{padding:14px}.calendar-years .simple-table th,.calendar-years .simple-table td{padding:7px;font-size:12px}.proposal{padding:15px}.proposal h2{font-size:17px}.proposal .actions .btn{flex:1}.proposal .actions .btn:first-child{flex-basis:100%}.proposal-top{align-items:flex-start;gap:8px}.proposal-top time{text-align:right;font-size:12px}.status{font-size:12px}.banner{align-items:flex-start;gap:10px;padding:10px}.banner>.btn{font-size:12px}.dialog{padding:20px 16px}.dialog-heading h2{font-size:20px}.dialog-footer .btn{flex:1}.dialog .form-cols{gap:10px}.dialog fieldset{gap:16px}.login-screen{padding:20px}.login-card{padding:26px}.selection-bar .btn{font-size:13px}.selection-bar strong{width:100%}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.mobile-global-actions{display:none}@media (width<=850px){.mobile-global-actions{flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0;display:flex}.mobile-global-actions strong{width:100%}}.day.priority-discouraged,.legend .priority-discouraged{background:linear-gradient(135deg,var(--cell,var(--base)) 50%,var(--discouraged) 50%)}.day.priority-discouraged{color:var(--ink)}.department-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;margin:0 0 24px;display:flex}.department-bar .field{min-width:250px;max-width:100%;margin:0}.presence{flex-wrap:wrap;align-items:center;gap:12px;display:flex;position:relative}.presence-list{z-index:30;border:1px solid var(--border);background:var(--surface);min-width:290px;max-width:85vw;box-shadow:var(--shadow);border-radius:12px;padding:16px;position:absolute;top:100%;right:0}.presence-list>div{border-bottom:1px solid var(--border);gap:2px;padding:8px 0;display:grid}.presence-list span{color:var(--muted);font-size:13px}.attention{background:var(--head);color:var(--ink);border:2px solid var(--primary);text-align:left;border-radius:8px;max-width:330px;padding:8px 12px;animation:1.5s ease-in-out infinite attention-border}@keyframes attention-border{50%{box-shadow:0 0 0 3px var(--primary)}}@media (prefers-reduced-motion:reduce){.attention{animation:none}}.ack-badge{border:1px solid var(--border);background:var(--head);width:27px;min-width:27px;height:27px;color:var(--ink);border-radius:50%;place-items:center;padding:0;font-weight:800;display:inline-grid}.ack-badge.accepted{background:var(--want)}.ack-badge.rejected{background:var(--absence);color:var(--absence-ink)}.mobile-ack{color:var(--muted);align-items:center;gap:8px;margin:8px 0;font-size:13px;display:flex}.graph-title{flex-wrap:wrap;gap:12px}.graph-title .actions{margin-left:auto}.challenge-code{letter-spacing:.18em;-webkit-user-select:none;user-select:none;border:1px dashed var(--border);text-align:center;background:var(--head);color:var(--ink);padding:12px;font:700 30px/1.6 ui-monospace,monospace;display:block}.destructive-dialog>form{margin:18px 0}.dialog-footer{flex-wrap:wrap}.profession-pool .profession-item{border:1px solid var(--border);background:var(--surface);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px;display:flex}.profession-pool .profession-item>button:first-child{box-shadow:none;border:0;flex:1}.assignment-item{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:8px 0;display:flex}.assignment-item>.assignment{flex:1;margin:0}.staff-title{flex-wrap:wrap}.staff-title>.check{flex-basis:100%;margin-top:8px;font-size:13px}.staffing-editor{padding:12px 0}.staffing-counts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.staffing-counts input{width:100%}.staffing-date{border-top:1px solid var(--border);margin-top:14px;padding:14px 0}.staffing-editor summary{cursor:pointer;padding:12px 0;font-weight:600}.checkpoint-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0;display:grid}.checkpoint-grid article{border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:14px}.checkpoint-grid small{margin-bottom:10px;display:block}.checkpoint-grid p{font-size:14px}.version-preview{border:1px solid var(--border);background:var(--surface);border-radius:12px;margin:24px 0;padding:20px}.version-preview pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:280px;font-size:12px;overflow:auto}.version-preview td{overflow-wrap:anywhere;min-width:180px;max-width:450px}.diff-removed{background:color-mix(in srgb,var(--unavailable) 65%,var(--surface))}.diff-added{background:color-mix(in srgb,var(--want) 65%,var(--surface))}.versions{margin-bottom:36px}.versions .audit-list>article{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.versions .audit-list .btn{margin-left:auto}.ack-shifts{flex-wrap:wrap;gap:8px;padding:12px 0;display:flex}.ack-shifts span{border:1px solid var(--border);background:var(--head);border-radius:6px;padding:4px 10px}.legend .absence-red{background:var(--absence);color:var(--absence-ink)}@media (width<=850px){.checkpoint-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.department-bar{gap:12px}.department-bar .field,.presence{width:100%}.presence-list{left:0;right:auto}.attention{max-width:100%;font-size:13px}.assignment-item{flex-direction:column;align-items:stretch}.graph-title .actions{margin-left:0}.version-preview{padding:12px}.staffing-counts{grid-template-columns:1fr 1fr}}@media (width<=420px){.checkpoint-grid,.staffing-counts{grid-template-columns:1fr}.dialog-footer .btn{width:100%}}.legend .priority-unavailable{background:var(--unavailable)}.legend .priority-want{background:var(--want)}.schedule-heading{flex-wrap:wrap;gap:16px}.schedule-heading>.presence{max-width:100%}.profession-pool .profession-item{flex:300px;min-width:0;max-width:100%}.profession-pool .profession-item>.btn{flex:0 auto;min-width:0;padding:8px 12px}.profession-pool .profession-item>button:first-child{flex-basis:190px;min-width:0}@media (width<=850px){.schedule-heading>.presence{flex-basis:100%;order:2}.schedule-heading>.icon-button{margin-left:auto}.profession-pool .profession-item{flex-basis:100%}}.directory-page,.messenger-page{gap:20px;display:grid}.profile-form{border:1px solid var(--border);background:var(--surface);border-radius:16px;grid-template-columns:minmax(180px,240px) minmax(0,1fr);gap:28px;max-width:860px;padding:24px;display:grid}.profile-form-fields{border:0;min-width:0;margin:0;padding:0;display:contents}.profile-photo{align-content:start;justify-items:center;gap:12px;display:grid}.profile-fields{grid-template-columns:1fr 1fr;gap:16px;display:grid}.profile-fields .field:last-child{grid-column:1/-1}.profile-fields textarea{resize:vertical}.avatar{background:var(--surface-alt);width:44px;height:44px;color:var(--muted);border-radius:50%;flex:none;place-items:center;display:grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.avatar-large{border:1px solid var(--border);width:144px;height:144px}.profile-photo input[type=file]{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.profile-photo label:focus-within{outline:3px solid var(--primary);outline-offset:3px}.link-button{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:0}.muted{color:var(--muted)}.contact-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;display:grid}.contact-card{border:1px solid var(--border);background:var(--surface);border-radius:14px;align-items:flex-start;gap:14px;min-width:0;padding:18px;display:flex}.contact-main{flex:1;gap:4px;min-width:0;display:grid}.contact-main h2{align-items:center;gap:8px;margin:0;font-size:17px;display:flex}.contact-main a{color:var(--accent);overflow-wrap:anywhere}.contact-main p{margin:2px 0}.online-label{background:var(--success-bg,#dff7e8);color:var(--success,#198754);border-radius:999px;padding:3px 7px;font-size:11px;font-weight:600}.empty-state{min-height:180px;color:var(--muted);text-align:center;place-items:center;gap:8px;padding:28px;display:grid}.search-field{border:1px solid var(--border);background:var(--surface);border-radius:10px;align-items:center;gap:8px;min-width:220px;padding:0 10px;display:flex}.search-field input{background:0 0;border:0;outline:0;width:100%;min-width:0;padding:9px 0}.section-title>.search-field{align-self:center}.messenger-shell{border:1px solid var(--border);background:var(--surface);border-radius:16px;grid-template-columns:minmax(220px,320px) minmax(0,1fr);height:min(680px,100vh - 250px);min-height:420px;display:grid;overflow:hidden}.conversation-list{border-right:1px solid var(--border);align-content:start;gap:6px;padding:12px;display:grid;overflow:auto}.conversation-list>.search-field{min-width:0;margin-bottom:8px}.conversation-item{text-align:left;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;width:100%;min-width:0;padding:10px;display:flex}.conversation-item:hover,.conversation-item.active{background:var(--surface-alt)}.conversation-item>span:nth-child(2){flex:1;gap:2px;min-width:0;display:grid}.conversation-item strong,.conversation-item small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.conversation-item small{color:var(--muted)}.conversation-item em{background:var(--accent);min-width:20px;height:20px;color:var(--on-accent,#fff);border-radius:50%;place-items:center;font-size:11px;font-style:normal;display:grid}.conversation-empty{text-align:center;padding:16px}.chat-window{grid-template-rows:auto 1fr auto;min-width:0;display:grid}.chat-heading{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:14px 18px;display:flex}.chat-heading h2{margin:0;font-size:18px}.message-list{background:var(--surface-alt);flex-direction:column;align-items:flex-start;gap:8px;padding:20px;display:flex;overflow:auto}.message{background:var(--surface);max-width:min(75%,520px);box-shadow:var(--shadow-sm,0 1px 3px #00000014);border-radius:14px 14px 14px 4px;padding:9px 12px}.message.mine{background:var(--accent);color:var(--on-accent,#fff);border-radius:14px 14px 4px;align-self:flex-end}.message p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.message time{opacity:.7;margin-top:4px;font-size:10px;display:block}.message-compose{border-top:1px solid var(--border);background:var(--surface);gap:10px;padding:12px;display:flex}.message-compose textarea{resize:none;flex:1;min-width:0}@media (width<=700px){.profile-form{grid-template-columns:1fr}.profile-photo{grid-template-columns:auto 1fr;place-items:center start}.profile-photo .avatar{grid-row:span 2}.profile-fields{grid-template-columns:1fr}.profile-fields .field:last-child{grid-column:auto}.section-title{flex-direction:column;align-items:flex-start}.section-title>.search-field{width:100%}.messenger-shell{grid-template-columns:1fr;height:calc(100vh - 210px);min-height:500px}.conversation-list{border-right:0;border-bottom:1px solid var(--border);max-height:190px}.message{max-width:88%}}.plan-options{grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:10px;margin:18px 0;display:grid}.plan-option{border:2px solid var(--border);background:var(--surface);color:var(--ink);text-align:left;cursor:pointer;border-radius:8px;flex-direction:column;align-items:flex-start;gap:7px;padding:14px;display:flex}.plan-option.selected{border-color:var(--primary);outline-offset:2px;outline:2px solid}.plan-shift{white-space:nowrap;border:1px solid;border-radius:4px;margin:2px;padding:3px 6px;font-weight:600;display:inline-block}.planner-results details{margin:14px 0}.planner-results summary{cursor:pointer;font-weight:700}.study-tag{background:var(--personal);color:var(--ink);border:1px solid;border-radius:3px;padding:0 3px;font-size:11px;font-weight:800;position:absolute;bottom:2px;left:3px}.release-badge{color:var(--ink);border:1px solid var(--border);white-space:normal;border-radius:5px;padding:2px 7px;font-size:12px;font-weight:700;line-height:1.5;display:inline-block}.profession-options,.study-options{flex-wrap:wrap;gap:12px 22px;display:flex}.rule-options .check{white-space:nowrap}.profession-options .check{overflow-wrap:anywhere;min-width:0;max-width:100%}.study-options{border:1px solid var(--border);border-radius:10px;margin:16px 0;padding:14px}.study-options .help{flex-basis:100%;margin:0}.preference-counters{flex-wrap:wrap;gap:12px;margin:16px 0;display:flex}.preference-counters>div{border:1px solid var(--border);border-radius:10px;gap:6px;padding:12px;display:grid}.manual-settings{margin:16px 0}.manual-group{border-bottom:1px solid var(--border);gap:8px;padding:12px 0;display:grid}.manual-group small{margin-left:auto}.cell-comment{white-space:pre-wrap;overflow-wrap:anywhere;padding:12px;line-height:1.6}.note-dot{cursor:pointer;min-width:13px;min-height:13px}.note-dot:focus-visible{outline-offset:3px;outline:2px solid}@media (width<=600px){.manual-group small{margin-left:0}.manual-group .check{flex-wrap:wrap}.profession-options{flex-direction:column}}.compose-row{align-items:flex-end;gap:10px;width:100%;display:flex}.compose-row textarea{flex:1;min-width:0}.icon-button{border:1px solid var(--border);background:var(--surface);width:40px;height:40px;color:var(--ink);cursor:pointer;border-radius:9px;place-items:center;display:inline-grid;position:relative}.icon-button input[type=file]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.attachment-pending{border:1px solid var(--border);background:var(--surface-alt);border-radius:8px;align-items:center;gap:7px;padding:6px 10px;font-size:12px;display:flex}.attachment-pending button,.message-actions button{color:inherit;cursor:pointer;background:0 0;border:0;border-radius:5px;place-items:center;padding:3px;display:inline-grid}.attachment-pending button:hover,.message-actions button:hover{background:color-mix(in srgb,var(--ink) 12%,transparent)}.message-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:4px;font-size:11px;display:flex}.message-meta strong{color:inherit;font-size:12px}.message-meta small{font-size:10px}.message-attachment{gap:5px;margin-top:7px;display:grid}.message-attachment a{color:inherit;overflow-wrap:anywhere;align-items:center;gap:7px;text-decoration:none;display:flex}.message-attachment img{object-fit:contain;background:var(--surface-alt);border-radius:9px;max-width:min(360px,100%);max-height:280px;display:block}.message-attachment span{font-size:12px;text-decoration:underline}.attachment-removed{opacity:.8;grid-template-columns:auto 1fr;align-items:center;gap:4px 7px;font-size:12px;display:grid}.attachment-removed small{grid-column:2;font-size:10px}.message.deleted{opacity:.82;background:var(--surface-alt);color:var(--muted)}.message-deleted{grid-template-columns:auto 1fr;align-items:center;gap:4px 7px;font-style:italic;display:grid!important}.message-deleted small{grid-column:2;font-size:10px;font-style:normal}.message-actions{justify-content:flex-end;align-items:center;gap:2px;min-height:18px;margin-top:5px;display:flex}.message-status{opacity:.85;align-items:center;margin-left:3px;display:inline-flex}.message-receipt{align-items:center;display:inline-flex}.message-edit{gap:6px;display:grid}.message-edit textarea{resize:vertical;width:100%;min-width:220px;min-height:60px}.message-edit>div{justify-content:flex-end;gap:6px;display:flex}.message.mine .message-meta{color:color-mix(in srgb,var(--on-accent,#fff) 75%,transparent)}@media (width<=700px){.compose-row{flex-wrap:wrap}.compose-row textarea{flex-basis:calc(100% - 52px);order:1}.compose-row .btn{order:2;margin-left:auto}.message-attachment img{max-width:100%}}
