*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans SC,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.fixed{position:fixed}.table{display:table}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{font-family:Inter,Segoe UI,Microsoft YaHei,sans-serif;color:#17211c;background:#f3f5f3;font-synthesis:none;letter-spacing:0;--ink: #17211c;--muted: #69736d;--line: #dbe1dd;--surface: #ffffff;--soft: #f7f9f7;--green: #176b4d;--green-dark: #0f5139;--amber: #9a5b12;--red: #b43b35;--blue: #28618b}*{box-sizing:border-box}html{min-width:320px;background:#f3f5f3}body{margin:0;min-width:320px;min-height:100vh;background:#f3f5f3}.site-root{display:flex;min-height:100vh;flex-direction:column}.site-root>.app-shell,.site-root>.login-shell,.site-root>.platform-shell,.site-root>.platform-console{flex:1;min-height:0}.site-root>.platform-shell,.site-root>.platform-console{width:100%}.site-footer{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px 10px;min-height:42px;border-top:1px solid #dbe1dd;padding:9px 16px;background:#fff;color:#69736d;font-size:11px;text-align:center}.site-footer a{color:#176b4d;text-decoration:none}.site-footer a:hover,.site-footer a:focus-visible{text-decoration:underline}button,input,select,textarea{font:inherit;letter-spacing:0}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}input,select,textarea{width:100%;border:1px solid #cfd7d1;border-radius:5px;background:#fff;color:var(--ink);padding:10px 11px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #176b4d1f}textarea{resize:vertical;min-height:84px}label{display:grid;gap:6px;color:#35423b;font-size:13px;font-weight:600}h1,h2,h3,p{margin-top:0}.app-shell{min-height:100vh;display:grid;grid-template-columns:232px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:#15221c;color:#fff;border-right:1px solid #26372f;z-index:20}.brand{min-height:84px;display:flex;align-items:center;gap:11px;padding:18px;border-bottom:1px solid #2d3d35}.brand-seal{width:38px;height:38px;display:grid;place-items:center;flex:0 0 38px;border-radius:6px;background:#e9f3ec;color:var(--green-dark);font-weight:900}.brand strong,.brand small{display:block}.brand strong{font-size:15px}.brand small{max-width:140px;margin-top:3px;color:#9eb0a6;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar nav{display:grid;gap:3px;padding:14px 10px;overflow-y:auto}.sidebar nav button{position:relative;display:flex;align-items:center;gap:10px;min-height:42px;border:0;border-radius:5px;padding:8px 10px;color:#b9c7bf;background:transparent;text-align:left}.sidebar nav button:hover{color:#fff;background:#21342b}.sidebar nav button.active{color:#fff;background:#28503e}.sidebar nav button span{width:25px;height:25px;display:grid;place-items:center;border:1px solid #52665b;border-radius:4px;font-size:11px}.sidebar nav button i{min-width:20px;margin-left:auto;padding:2px 6px;border-radius:10px;background:#cf6a45;color:#fff;font-size:10px;font-style:normal;text-align:center}.sidebar-user{margin-top:auto;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:9px;padding:14px;border-top:1px solid #2d3d35}.sidebar-user strong,.sidebar-user small{display:block}.sidebar-user strong{font-size:13px}.sidebar-user small{color:#9eb0a6;font-size:10px}.sidebar-user button{border:0;background:transparent;color:#9eb0a6;font-size:11px}.sidebar-actions{display:grid;gap:4px;justify-items:end}.sidebar-actions button:hover{color:#fff}.avatar{width:34px;height:34px;display:grid;place-items:center;flex:0 0 34px;border-radius:50%;background:#ddebe2;color:var(--green-dark);font-weight:800}.workspace{min-width:0}.content{width:min(1380px,100%);margin:0 auto;padding:28px 30px 48px}.mobile-head{display:none}.page-stack{display:grid;gap:18px}.page-title,.welcome{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.page-title h1,.welcome h1{margin-bottom:7px;color:var(--ink);font-size:27px;line-height:1.15}.page-title p,.welcome p{margin-bottom:0;color:var(--muted);font-size:13px}.eyebrow{margin-bottom:7px!important;color:var(--green)!important;font-size:11px!important;font-weight:800;text-transform:uppercase}.live{display:flex;align-items:center;gap:7px;border:1px solid #bdd6c7;border-radius:4px;padding:7px 10px;background:#edf7f0;color:#235d43;font-size:12px}.live i{width:7px;height:7px;border-radius:50%;background:#2b8b5e}.panel{min-width:0;border:1px solid var(--line);border-radius:6px;background:var(--surface)}.panel-head{min-height:51px;display:flex;align-items:center;justify-content:space-between;padding:0 17px;border-bottom:1px solid #e7ebe8}.panel-head h2{margin:0;font-size:14px}.panel>:not(.panel-head){margin-left:17px;margin-right:17px}.panel>button.wide{width:calc(100% - 34px)}.panel>:last-child{margin-bottom:17px}.primary,.secondary,.danger,.text-btn,.task-item footer button{min-height:36px;border-radius:5px;padding:8px 13px;font-size:12px;font-weight:700}.primary{border:1px solid var(--green);background:var(--green);color:#fff}.primary:hover{background:var(--green-dark)}.secondary{border:1px solid #cdd5d0;background:#fff;color:#344039}.secondary:hover{background:#f4f7f5}.danger{border:1px solid #d68a85;background:#fff5f4;color:var(--red)}.text-btn{min-height:auto;border:0;background:transparent;color:var(--green);padding:4px}.compact-action{min-height:30px;padding:5px 9px;font-size:11px;white-space:nowrap}.wide{width:100%}.count-pill{border-radius:12px;background:#f2e6d7;color:#8a4b10;padding:6px 10px;font-size:12px;font-weight:700}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0 18px}.metric{display:grid;grid-template-columns:1fr auto;gap:5px 12px;min-height:94px;border:1px solid var(--line);border-radius:6px;padding:15px;background:#fff;color:var(--ink);text-align:left}.metric:hover{border-color:#97b4a3;box-shadow:0 4px 14px #152d210f}.metric span{color:var(--muted);font-size:12px}.metric strong{grid-row:span 2;font-size:28px;line-height:1}.metric small{color:var(--green)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:16px}.dashboard-grid+.dashboard-grid{margin-top:16px}.compact-list{margin-top:5px}.compact-row{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:61px;border-bottom:1px solid #edf0ee}.compact-row:last-child{border-bottom:0}.compact-row strong,.compact-row small{display:block}.compact-row strong{margin-bottom:4px;font-size:13px}.compact-row small{color:var(--muted);font-size:11px}.time{color:#51635a;font-size:11px;white-space:nowrap}.status{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;border-radius:11px;padding:3px 8px;background:#eef1ef;color:#5b6761;font-size:10px;font-weight:800;white-space:nowrap}.status-completed,.status-approved,.status-low{background:#e8f4ec;color:#23724d}.status-pending,.status-medium,.status-planning{background:#f7ecdd;color:#8d5517}.status-in_progress,.status-ongoing,.status-active{background:#e5eff6;color:#28618b}.status-rejected,.status-high{background:#f8e6e5;color:#a13d36}.status-disabled,.status-suspended{background:#f3ece8;color:#785144}.status-departed,.status-ended{background:#eceeef;color:#566169}.finance-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:17px;margin-bottom:16px}.finance-strip div{border-left:2px solid #dce4df;padding-left:9px}.finance-strip span,.finance-strip strong{display:block}.finance-strip span{margin-bottom:5px;color:var(--muted);font-size:10px}.finance-strip strong{font-size:14px}.income{color:#18724d!important}.expense{color:#b43b35!important}.notice-list article{padding:13px 0;border-bottom:1px solid #edf0ee}.notice-list article:last-child{border-bottom:0}.notice-list strong,.notice-list small{display:block}.notice-list strong{font-size:13px}.notice-list small{margin-top:3px;color:var(--muted);font-size:10px}.notice-list p{margin:8px 0 0;color:#57635d;font-size:12px;line-height:1.55}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:17px}.span-2{grid-column:span 2}.form-actions{display:flex;justify-content:flex-end}.form-actions.left{justify-content:flex-start}.stack-form{display:grid;gap:13px;margin-top:17px}.helper{margin:0;color:var(--muted);font-size:12px;line-height:1.6}.compact-form{margin-top:0}.toggle-row{grid-template-columns:18px 1fr;align-items:center;color:#35423b;font-weight:700}.toggle-row input{width:16px;height:16px;padding:0}.alert{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #a8cbb5;border-radius:5px;padding:10px 12px;background:#edf7f0;color:#235d43;font-size:12px}.alert.error{border-color:#dfb0ac;background:#fff0ef;color:#8e302b}.alert button{border:0;background:transparent;color:inherit;font-weight:800}.task-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}.task-board>.panel{border:0;background:transparent}.task-board>.panel>.panel-head{padding:0 5px;border:0}.task-board>.panel>:not(.panel-head){margin-left:0;margin-right:0}.task-column{display:grid;gap:9px}.task-item{border:1px solid var(--line);border-radius:6px;padding:13px;background:#fff}.task-line{display:flex;align-items:center;justify-content:space-between}.task-line small{color:var(--muted)}.task-item h3{margin:11px 0 6px;font-size:14px}.task-item p{min-height:36px;margin-bottom:10px;color:var(--muted);font-size:11px;line-height:1.55}.progress{height:5px;overflow:hidden;border-radius:3px;background:#e8ece9}.progress i{display:block;height:100%;background:var(--green)}.task-item footer{display:grid;gap:9px;margin-top:11px}.task-item footer small{color:var(--muted);font-size:10px}.task-item footer div{display:flex;flex-wrap:wrap;gap:5px}.task-item footer button{min-height:30px;border:1px solid #d5dcd7;padding:5px 8px;background:#fff;color:#425047;font-size:10px}.activity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.activity-item{border:1px solid var(--line);border-radius:6px;padding:16px;background:#fff}.activity-top{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:10px}.activity-item h2{margin:14px 0 6px;font-size:16px}.activity-item>p{min-height:42px;color:var(--muted);font-size:12px;line-height:1.55}.activity-item dl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0 0;border-top:1px solid #e7ebe8;padding-top:12px}.activity-item dt{color:var(--muted);font-size:9px}.activity-item dd{margin:4px 0 0;font-size:11px;font-weight:700}.activity-workspace{display:grid;grid-template-columns:330px minmax(0,1fr);gap:14px;align-items:start}.activity-list{display:grid;gap:10px}.activity-list .activity-item{width:100%;color:var(--ink);text-align:left}.activity-list .activity-item.active{border-color:#6ea382;box-shadow:0 0 0 3px #176b4d14}.activity-detail{min-height:520px}.activity-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid #e7ebe8;padding:18px}.activity-detail-head h2{margin:0 0 7px;font-size:21px}.activity-detail-head p{margin:0;color:var(--muted);font-size:12px}.activity-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:16px 18px 0}.activity-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 18px}.activity-metrics div{border-left:3px solid #d9e4de;padding:8px 10px;background:#f8faf9}.activity-metrics div:nth-child(2){border-left-color:#e0bd6b}.activity-metrics div:nth-child(3){border-left-color:#b9827c}.activity-metrics div:nth-child(4){border-left-color:#7c9fba}.activity-metrics span,.activity-metrics strong{display:block}.activity-metrics span{margin-bottom:5px;color:var(--muted);font-size:10px}.activity-metrics strong{font-size:15px}.activity-description{margin:0 18px 16px;color:#53625a;font-size:12px;line-height:1.65}.activity-sections{display:grid;gap:16px;margin:0 18px 18px}.activity-sections section{border-top:1px solid #e8ece9;padding-top:14px}.activity-sections h3{margin:0 0 8px;font-size:13px}.activity-task-form{display:grid;grid-template-columns:minmax(160px,1fr) 130px 150px 190px auto;gap:8px;margin-bottom:10px}.activity-task-form button{white-space:nowrap}.compact-table table{min-width:560px}.finance-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:6px;background:#fff}.finance-metrics div{padding:18px;border-right:1px solid var(--line)}.finance-metrics div:last-child{border-right:0}.finance-metrics span,.finance-metrics strong{display:block}.finance-metrics span{color:var(--muted);font-size:11px}.finance-metrics strong{margin-top:8px;font-size:21px}.table-wrap{overflow-x:auto;margin-top:5px}table{width:100%;border-collapse:collapse;min-width:650px}th,td{padding:12px 10px;border-bottom:1px solid #e8ece9;text-align:left;font-size:12px}th{color:var(--muted);background:#fafbfa;font-size:10px;text-transform:uppercase}td.income{color:#18724d;font-weight:700}.schedule-tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--line);scrollbar-width:none}.schedule-tabs::-webkit-scrollbar{display:none}.schedule-tabs button{flex:0 0 auto;min-height:38px;border:0;border-bottom:2px solid transparent;padding:0 13px;background:transparent;color:var(--muted);font-weight:700}.schedule-tabs button.active{border-color:#23724d;color:#1d563c}.schedule-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.schedule-metrics.compact{margin:16px 0}.schedule-metrics>div{min-width:0;border-left:3px solid #d9e4de;padding:8px 10px;background:#f8faf9}.schedule-metrics>div:nth-child(2){border-left-color:#e0bd6b}.schedule-metrics>div:nth-child(3){border-left-color:#7c9fba}.schedule-metrics>div:nth-child(4){border-left-color:#b9827c}.schedule-metrics span,.schedule-metrics strong{display:block;overflow-wrap:anywhere}.schedule-metrics span{margin-bottom:5px;color:var(--muted);font-size:10px}.schedule-metrics strong{font-size:15px}.row-actions{flex:0 0 auto;display:flex;align-items:center;gap:8px}.row-actions .text-btn{white-space:nowrap}.availability-results{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}.availability-results h3{margin:0 0 10px;font-size:13px}.availability-results details{margin-top:14px;color:var(--muted);font-size:12px}.availability-results details p{line-height:1.5}.member-chips{display:flex;flex-wrap:wrap;gap:6px}.member-chips span{border:1px solid #cfe0d6;border-radius:12px;padding:4px 9px;background:#eef7f1;color:#225f42;font-size:11px;font-weight:700}.shift-editor{border-top:1px solid var(--line);padding-top:14px}.shift-editor-head,.plan-detail-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.shift-editor-head small{display:block;margin-top:4px;color:var(--muted);font-size:11px;line-height:1.5}.weekday-picker{display:flex;flex-wrap:wrap;gap:8px;margin-top:0}.weekday-picker label{display:inline-flex;align-items:center;gap:6px;min-height:34px;border:1px solid #d7e0da;border-radius:5px;padding:6px 10px;background:#fff;color:#304139;font-size:11px;font-weight:800}.weekday-picker input{width:14px;height:14px;padding:0}.availability-weekdays{min-width:0;border:0;margin:0;padding:0}.availability-weekdays legend{margin-bottom:8px;color:#26352e;font-size:12px;font-weight:800}.schedule-plan-row{width:100%;min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;border-bottom:1px solid #edf0ee;padding:8px 0;background:transparent;text-align:left}.schedule-plan-row:last-child{border-bottom:0}.schedule-plan-row strong,.schedule-plan-row small,.plan-detail-title strong,.plan-detail-title small{display:block}.schedule-plan-row small,.plan-detail-title small{margin-top:4px;color:var(--muted);font-size:11px}.plan-detail{margin-top:16px}.plan-actions{flex-wrap:wrap;gap:8px}.plan-week-review{display:grid;gap:12px;margin-top:14px}.week-review-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--line);border-radius:6px;padding:10px;background:#f8faf9}.week-review-toolbar div{min-width:0;text-align:center}.week-review-toolbar strong,.week-review-toolbar small{display:block;overflow-wrap:anywhere}.week-review-toolbar small{margin-top:4px;color:var(--muted);font-size:11px}.week-review-range{color:var(--muted);font-size:11px}.week-roster-grid{display:grid;grid-template-columns:repeat(7,minmax(128px,1fr));gap:8px;overflow-x:auto;padding-bottom:4px}.week-day-column{min-width:128px;border:1px solid var(--line);border-radius:6px;background:#fff}.week-day-column>header{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid #edf0ee;padding:9px 10px;background:#f8faf9}.week-day-column>header strong{font-size:12px}.week-day-column>header span{color:var(--muted);font-size:10px}.week-shift-card{display:grid;gap:8px;margin:8px;border:1px solid #dfe8e2;border-left:3px solid #23724d;border-radius:6px;padding:9px;background:#fbfdfb}.week-shift-card.has-missing{border-left-color:#b43b35;background:snow}.week-shift-time strong,.week-shift-time span{display:block}.week-shift-time strong{font-size:12px}.week-shift-time span{margin-top:3px;color:var(--muted);font-size:10px}.shift-requirements{display:flex;flex-wrap:wrap;gap:4px}.shift-requirements span{border:1px solid #d8e2dc;border-radius:4px;padding:3px 5px;background:#fff;color:#4b5b52;font-size:9px;font-weight:800}.week-shift-people{display:grid;gap:6px}.week-shift-people span{display:flex;align-items:center;justify-content:space-between;gap:6px;border-radius:4px;padding:5px 6px;background:#eef7f1;color:#173e2d;font-size:11px;font-weight:800}.week-shift-people span.pending-person{border:1px dashed #d5a64f;background:#fff8e8;color:#754c12}.week-shift-people span.pending-person small{font-size:9px}.week-shift-people em,.week-empty{color:var(--muted);font-size:11px;font-style:normal}.week-empty{padding:12px 10px}.missing-note{color:#b43b35;font-size:10px;font-weight:800}.missing-actions{display:flex;align-items:center;justify-content:space-between;gap:6px}.fill-person-btn{min-height:26px;padding:4px 8px;font-size:10px}.plan-assignment-details{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.plan-assignment-details summary{cursor:pointer;color:#1d563c;font-size:12px;font-weight:800}.plan-assignment-details .compact-list{margin-top:10px}.replacement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}.replacement-item{border:1px solid var(--line);border-radius:6px;padding:14px;background:#fff}.replacement-item header{display:flex;justify-content:space-between;color:#8d5517;font-size:11px;font-weight:800}.replacement-item h3{margin:14px 0 7px;font-size:14px}.replacement-item p{margin:0 0 5px;font-size:12px}.replacement-item small{display:block;min-height:34px;color:var(--muted);line-height:1.5}.replacement-item button{width:100%;margin-top:12px}.claim-guidance{margin-top:9px;border:1px solid #d8e2dc;border-radius:5px;padding:8px;font-size:10px;line-height:1.5}.claim-guidance.warning,.delegate-candidate-note.declaration_required,.candidate-row.warning{border-color:#e8c77f;background:#fff9e9;color:#76500f}.claim-guidance.danger,.delegate-candidate-note.exception_required,.delegate-candidate-note.blocked{border-color:#e7b9b5;background:#fff2f1;color:#9c302b}.warning-text{color:#8d5517!important}.import-preview>button{margin-top:14px}.batch-upload{display:grid;gap:10px;border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.batch-upload>strong{font-size:12px}.batch-upload>button{width:-moz-fit-content;width:fit-content}.calendar-list{max-height:230px;overflow-y:auto;border-top:1px solid var(--line);margin-top:16px;padding-top:8px}.calendar-list div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;padding:7px 0;border-bottom:1px solid #edf0ee;font-size:11px}.calendar-list span{color:var(--muted)}.calendar-form{border-top:1px solid var(--line);padding-top:14px}.delegate-control{display:grid;gap:7px;border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.delegate-control button{margin-top:0}.delegate-control textarea{min-height:72px}.delegate-candidate-note{display:grid;gap:3px;border:1px solid #d8e2dc;border-radius:5px;padding:8px;background:#f8fbf9;color:#415149;font-size:10px;line-height:1.5}.delegate-candidate-note strong{font-size:11px}.field-help{display:block;margin-top:5px;color:var(--muted);font-size:10px;font-weight:500;line-height:1.4}.duty-confirm-dialog{max-width:520px}.confirmation-check{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:10px;border:1px solid #cfe0d6;border-radius:5px;padding:12px;background:#f3faf6;font-size:12px;line-height:1.6}.confirmation-check.warning{border-color:#e8c77f;background:#fff9e9}.confirmation-check input{width:16px;height:16px;margin-top:2px;padding:0}td.expense{color:#b43b35;font-weight:700}.schedule-summary{display:grid;place-items:center;gap:6px;padding:35px 0 24px}.schedule-summary strong{font-size:44px;line-height:1}.schedule-summary span{color:#3b4941;font-size:13px;font-weight:700}.schedule-summary small{color:var(--muted)}.danger-text{color:var(--red)}.personal-roster{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}.roster-card{min-width:0;min-height:128px;display:grid;align-content:space-between;gap:12px;border:1px solid var(--line);border-left:4px solid #d8e2dc;border-radius:6px;padding:14px;background:#fff}.roster-card .status{justify-self:start}.roster-date strong,.roster-date span,.roster-main strong,.roster-main small{display:block;overflow-wrap:anywhere}.roster-date strong{font-size:15px}.roster-date span{margin-top:5px;color:var(--green-dark);font-size:12px;font-weight:800}.roster-main strong{font-size:13px}.roster-main small{margin-top:5px;color:var(--muted);font-size:11px}.roster-published{border-left-color:#e0bd6b}.roster-acknowledged{border-left-color:#23724d}.roster-delegated{border-left-color:#7c9fba}.roster-replacement_requested{border-left-color:#b9827c}.roster-completed{border-left-color:#91b99e;background:#f8fbf9}.member-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.member-item{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--line);border-radius:6px;padding:12px;background:#fff}.member-item strong,.member-item small{display:block}.member-item strong{font-size:13px}.member-item small{margin-top:3px;color:var(--muted);font-size:10px}.member-item>span{color:var(--green-dark);font-size:10px;font-weight:800}.member-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px}.member-status-tabs{display:flex;gap:4px;border:1px solid var(--line);border-radius:6px;padding:3px;background:#eef3ef}.member-status-tabs button{min-height:34px;border:0;border-radius:4px;padding:6px 11px;background:transparent;color:#59665f;font-size:11px;font-weight:800}.member-status-tabs button.active{background:#fff;color:var(--green-dark);box-shadow:0 1px 5px #16302214}.member-filters{display:grid;grid-template-columns:minmax(240px,1fr) 160px;gap:8px;width:min(560px,100%)}.member-table-scroll{max-height:560px;overflow:auto;border:1px solid var(--line)}.member-directory{display:grid;min-width:1120px}.member-directory-head,.member-directory-row{display:grid;grid-template-columns:minmax(210px,1.4fr) 120px 120px 145px 160px 150px 80px 48px;align-items:center;gap:11px}.member-directory-head{position:sticky;top:0;z-index:2;min-height:39px;border-bottom:1px solid var(--line);padding:7px 12px;background:#edf3ef;color:#526058;font-size:10px;font-weight:800}.member-directory-row{width:100%;min-height:62px;border:0;border-bottom:1px solid #e8ece9;padding:9px 12px;background:#fff;color:var(--ink);text-align:left}.member-directory-row:last-child{border-bottom:0}.member-directory-row:hover{background:#f7faf8}.member-main strong,.member-main small{display:block}.member-main strong{font-size:13px}.member-main small,.member-contact{margin-top:3px;color:var(--muted);font-size:10px}.member-contact{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-role{color:var(--green-dark);font-size:10px;font-weight:800}.row-arrow{color:var(--green);font-size:10px;font-weight:800;text-align:right}.role-tags{display:flex;flex-wrap:wrap;gap:5px;margin:7px 0}.member-role-tags{margin:0}.role-tag{display:inline-flex;align-items:center;min-height:23px;border:1px solid #cdd8d1;border-radius:4px;padding:3px 7px;background:#f4f7f5;color:#4f5c55;font-size:9px;font-weight:800;white-space:nowrap}.role-tag.role-admin{border-color:#b99a4e;background:#fff8e5;color:#745918}.role-tag.role-deputy{border-color:#8eaf9d;background:#edf7f1;color:#225c40}.role-tag.role-finance{border-color:#82a9c5;background:#eef7fb;color:#285b79}.role-tag.role-activity{border-color:#bd9992;background:#fff3f1;color:#79453b}.back-action{margin-bottom:12px}.member-detail-head{align-items:center}.member-profile-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:16px}.profile-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:5px}.profile-facts div{min-height:62px;border-bottom:1px solid #edf0ee;padding:12px 8px 10px 0}.profile-facts dt{color:var(--muted);font-size:9px}.profile-facts dd{margin:5px 0 0;overflow-wrap:anywhere;font-size:12px;font-weight:700}.work-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:17px}.work-summary div{border:1px solid var(--line);border-radius:5px;padding:14px 8px;background:#f8faf9;text-align:center}.work-summary strong,.work-summary span{display:block}.work-summary strong{font-size:22px}.work-summary span{margin-top:5px;color:var(--muted);font-size:9px}.member-danger-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:17px}.position-preview{border-left:3px solid var(--green);padding:12px 14px;background:#f5f8f6}.position-preview p{margin:6px 0 10px;color:var(--muted);font-size:11px;line-height:1.6}.position-preview small{display:block;margin-top:10px;color:#59665f}.permission-tags{display:flex;flex-wrap:wrap;gap:5px}.permission-tags span{border:1px solid #d6ded9;border-radius:4px;padding:4px 7px;background:#fff;color:#4e5b54;font-size:9px}.permission-tags span.sensitive{border-color:#e1b9b4;background:#fff4f3;color:#883e38}.danger-text{color:#9a3f39}.result-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:17px;color:#35423b;font-size:13px;font-weight:700}.skip-list{display:grid;gap:7px;margin-top:12px}.skip-list div{display:flex;gap:8px;border-left:3px solid #d68a85;padding:8px 10px;background:#fff5f4;color:#7b332f;font-size:11px}.skip-list strong{white-space:nowrap}.approval-list article{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid #e8ece9}.approval-list article:last-child{border-bottom:0}.approval-list strong{font-size:13px}.approval-list p{margin:5px 0;color:#526058;font-size:11px}.approval-list small{color:var(--muted);font-size:10px}.approval-list article>div:last-child{display:flex;gap:7px}.handover-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.action-block{min-height:88px;display:grid;align-content:center;gap:6px;border:1px solid var(--line);border-left:4px solid var(--green);border-radius:6px;padding:16px;background:#fff;color:var(--ink);text-align:left}.action-block:hover{border-color:#9bb7a6}.action-block strong{font-size:14px}.action-block span{color:var(--muted);font-size:11px}.inspect{display:grid;gap:7px;border-left:3px solid var(--green);padding:10px 12px;background:var(--soft);font-size:11px}.inspect strong{font-size:14px}.system-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:17px}.system-facts span,.system-facts strong{display:block}.system-facts span{color:var(--muted);font-size:9px}.system-facts strong{margin-top:4px;font-size:12px}.backup-list{margin-top:12px}.backup-list div{display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-top:1px solid #edf0ee;font-size:10px}.backup-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.backup-list small{color:var(--muted);white-space:nowrap}.remote-access-grid{align-items:stretch}.remote-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.remote-error{margin-top:14px}.remote-entry{min-height:195px;display:flex;align-items:center;gap:20px;padding:17px 0}.remote-entry img{width:148px;height:148px;flex:0 0 148px;border:1px solid var(--line)}.remote-entry strong{overflow-wrap:anywhere;font-size:14px}.remote-entry p{margin:9px 0 14px;color:var(--muted);font-size:11px;line-height:1.7}.remote-package-form{margin-top:17px}.remote-inspect{margin-top:16px}.remote-inspect button{justify-self:start;margin-top:4px}.status.remote-online{background:#e5f4e9;color:#1c6a43}.status.remote-connecting{background:#fff4dc;color:#8a5b13}.status.remote-error{background:#fde9e7;color:#9b342f}.empty{min-height:100px;display:grid;place-items:center;align-content:center;gap:5px;color:#87928c}.empty span{width:38px;height:28px;display:grid;place-items:center;border:1px dashed #bfc8c2;border-radius:4px;font-size:10px}.empty p{margin:0;font-size:11px}.loading{padding:60px;color:var(--muted);text-align:center}.login-shell{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:minmax(320px,1fr) 460px;background:#14231c}.login-brand{position:relative;isolation:isolate;min-width:0;display:flex;align-items:flex-start;gap:15px;overflow:hidden;padding:46px;color:#fff;background:#14231c url(/assets/login-campus-collaboration-D_oZXvXW.jpg) center / cover no-repeat}.login-brand:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(180deg,#081c13bd,#081c1342 45%,#081c1394),linear-gradient(90deg,rgba(8,28,19,.42),transparent 62%)}.login-brand .brand-seal{position:relative;z-index:1;width:48px;height:48px;display:grid;place-items:center;flex:0 0 48px;overflow:hidden;border:1px solid rgba(255,255,255,.72);border-radius:6px;background:#fffffff5;box-shadow:0 6px 18px #05140d47}.login-brand .brand-seal img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;padding:3px}.login-brand strong,.login-brand small{position:relative;z-index:1;display:block}.login-brand strong{font-size:20px;text-shadow:0 2px 10px rgba(5,20,13,.48)}.login-brand small{margin-top:7px;color:#eef5f0;text-shadow:0 1px 8px rgba(5,20,13,.48)}.login-panel{display:grid;align-content:center;gap:18px;padding:60px;background:#f7f9f7}.login-tabs{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;border:1px solid #d5ded8;border-radius:6px;padding:4px;background:#eef3ef}.login-tabs button{min-height:36px;border:0;border-radius:4px;background:transparent;color:#526058;font-size:12px;font-weight:800}.login-tabs button.active{background:#fff;color:var(--green-dark);box-shadow:0 1px 6px #16302214}.cloud-login-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.cloud-onboarding{max-height:100vh;overflow-y:auto}.cloud-entry-panel{align-content:center}.cloud-entry{display:grid;gap:22px}.cloud-entry-head{display:grid;gap:6px}.cloud-entry-head h1{margin-bottom:0}.cloud-entry-actions{display:grid;gap:10px}.cloud-entry-card{display:grid;gap:6px;width:100%;min-height:78px;border:1px solid #d4dfd8;border-radius:6px;padding:15px 16px;background:#fff;color:var(--ink);text-align:left;box-shadow:0 8px 22px #1026190d}.cloud-entry-card:hover{border-color:#a7c2b1;background:#f4faf6}.cloud-entry-card strong{font-size:15px;color:var(--green-dark)}.cloud-entry-card span{color:var(--muted);font-size:12px;line-height:1.55}.cloud-entry-card.primary-entry{border-color:#a8cfb5;background:#f1faf4}.login-back{justify-self:start;border:0;padding:0;background:transparent;color:var(--green-dark);font-size:13px;font-weight:800}.login-back:before{content:"←";margin-right:6px}.login-back:hover{text-decoration:underline}.directory-picker{position:relative;display:grid;gap:7px}.directory-picker label{display:grid;gap:6px}.directory-selected{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;border:1px solid #b9d3c1;border-left:3px solid var(--green);border-radius:5px;padding:10px 11px;background:#f3faf5}.directory-selected strong{min-width:0;font-size:12px}.directory-selected span{color:var(--muted);font-size:10px}.directory-selected button{grid-row:span 2;align-self:center;border:0;padding:4px 0;background:transparent;color:var(--green-dark);font-size:10px;font-weight:800}.directory-results{display:grid;max-height:248px;overflow-y:auto;border:1px solid var(--line);border-radius:5px;background:#fff;box-shadow:0 8px 22px #0c1f1414}.directory-results button{display:grid;gap:4px;border:0;border-bottom:1px solid #edf0ee;padding:10px 11px;background:#fff;color:var(--ink);text-align:left}.directory-results button:hover{background:#f2f8f4}.directory-results button:last-child{border-bottom:0}.directory-results strong{font-size:12px}.directory-results span,.directory-results p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}.directory-results p{padding:10px 11px}.directory-results .error-copy{color:#9c302b}.field-hint{display:block;margin-top:5px;color:var(--muted);font-size:10px;line-height:1.5}.login-panel h1{margin-bottom:8px;font-size:30px}.login-panel p{color:var(--muted);font-size:13px;line-height:1.6}.login-note{color:var(--muted);text-align:center}.text-action{justify-self:center;border:0;background:transparent;color:var(--green-dark);font-size:13px;font-weight:700}.text-action:hover{text-decoration:underline}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:20px;background:#0a130eb8}.dialog{width:min(440px,100%);display:grid;gap:15px;border-radius:6px;padding:28px;background:#fff}.dialog h2{margin-bottom:0;font-size:22px}.dialog>p:not(.eyebrow){margin-bottom:0;color:var(--muted);font-size:12px;line-height:1.6}.profile-dialog{width:min(660px,100%);max-height:calc(100vh - 40px);overflow:auto}.fill-dialog{width:min(720px,100%);max-height:calc(100vh - 40px);overflow:auto}.fill-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:6px;background:#f7faf8}.fill-summary span,.fill-summary strong{padding:10px;font-size:11px;text-align:center}.fill-summary strong{color:var(--green-dark)}.candidate-groups{display:grid;gap:12px}.candidate-groups h3{margin:0 0 8px;font-size:13px}.candidate-groups details{border-top:1px solid var(--line);padding-top:10px}.candidate-groups summary{cursor:pointer;color:#8a521a;font-size:12px;font-weight:800}.conflict-candidates{display:grid;gap:6px;margin-top:9px}.candidate-row{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:9px;border:1px solid #dce6e0;border-radius:5px;padding:9px;background:#f8fbf9}.candidate-row.conflict{border-color:#ead0cd;background:snow}.candidate-row.blocked{color:#9c302b;opacity:.8}.candidate-row input{width:15px;height:15px;margin-top:2px;padding:0}.candidate-row strong,.candidate-row small{display:block}.candidate-row strong{font-size:12px}.candidate-row small{margin-top:4px;color:var(--muted);font-size:10px;line-height:1.5}.replacement-context{display:grid;gap:5px;border-left:3px solid #c28a2f;padding:10px 12px;background:#fff9ec}.replacement-context strong{font-size:13px}.replacement-context span,.replacement-context p{color:#6a5634;font-size:11px}.replacement-context p{margin:0;line-height:1.5}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.password-gate-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.password-gate-actions button{width:100%}.profile-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;border:1px solid var(--line);border-radius:6px;padding:10px;background:#f7faf8;color:#4e5d55;font-size:12px}.profile-summary span{min-width:0;overflow-wrap:anywhere}@media (max-width: 1050px){.metric-grid,.task-board,.activity-grid,.member-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-workspace{grid-template-columns:1fr}.activity-list{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-task-form{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.personal-roster{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 760px){.app-shell{display:block}.sidebar{position:fixed;left:-250px;width:232px;transition:left .2s ease;box-shadow:10px 0 30px #0003}.sidebar.open{left:0}.mobile-head{position:sticky;top:0;z-index:10;min-height:52px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 14px;background:#fffffff5}.mobile-head button{border:0;background:transparent;color:var(--green);font-size:12px;font-weight:800}.mobile-head strong{font-size:14px}.content{padding:19px 14px 38px}.page-title,.welcome{align-items:flex-start;flex-direction:column}.page-title h1,.welcome h1{font-size:23px}.metric-grid{gap:8px;margin-top:16px}.metric{min-height:82px;padding:12px}.metric strong{font-size:24px}.task-board,.activity-grid,.member-grid,.activity-list{grid-template-columns:1fr}.activity-detail{min-height:0}.activity-detail-head{align-items:flex-start;flex-direction:column}.activity-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-task-form{grid-template-columns:1fr}.member-toolbar{align-items:stretch;flex-direction:column}.member-filters{grid-template-columns:1fr;width:100%}.member-status-tabs{overflow-x:auto}.member-status-tabs button{flex:1;white-space:nowrap}.member-table-scroll{max-height:64vh}.member-profile-grid,.profile-facts,.finance-strip,.finance-metrics{grid-template-columns:1fr}.finance-strip{gap:13px}.finance-metrics div{border-right:0;border-bottom:1px solid var(--line)}.finance-metrics div:last-child{border-bottom:0}.form-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.password-gate-actions{grid-template-columns:1fr}.schedule-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.replacement-grid,.personal-roster{grid-template-columns:1fr}.schedule-tabs{margin-left:-2px;margin-right:-2px}.compact-row{align-items:flex-start}.row-actions{gap:5px}.handover-actions{grid-template-columns:1fr}.approval-list article{align-items:flex-start;flex-direction:column}.login-shell{grid-template-columns:1fr;grid-template-rows:auto 1fr;background:#f7f9f7}.login-brand{min-height:220px;padding:24px;background-position:center 42%}.login-brand .brand-seal{width:44px;height:44px;flex-basis:44px}.login-brand strong{font-size:18px}.login-brand small{font-size:12px}.login-brand:before{background:linear-gradient(180deg,#081c13b8,#081c132e 58%,#081c1370)}.login-panel{align-content:start;padding:26px 22px 36px}.cloud-onboarding{max-height:none;overflow-y:visible}.cloud-entry-panel{align-content:start}.cloud-entry{gap:18px}.cloud-entry-card{min-height:72px;padding:14px}.login-panel h1{font-size:26px}.cloud-login-tabs,.profile-summary{grid-template-columns:1fr}}@media (max-width: 430px){.metric-grid{grid-template-columns:1fr 1fr}.metric small{display:none}.finance-strip{grid-template-columns:1fr 1fr}.system-facts{grid-template-columns:1fr}.remote-entry{align-items:flex-start;flex-direction:column}}.context-panel{max-width:560px}.context-list{display:grid;gap:10px;margin:22px 0}.context-option{align-items:center;background:#fff;border:1px solid var(--line);display:flex;justify-content:space-between;min-height:72px;padding:14px 16px;text-align:left;width:100%}.context-option span{display:grid;gap:5px}.context-option small{color:var(--muted)}.context-option i{color:var(--green);font-style:normal;font-weight:700}.department-switcher{border-bottom:1px solid rgba(255,255,255,.12);display:grid;gap:6px;padding:14px 12px}.department-switcher span{color:#afc3b8;font-size:12px}.department-switcher select{background:#203a2e;border:1px solid #456554;color:#fff;min-width:0;width:100%}.platform-shell{margin:0 auto;max-width:1320px;padding:28px}.platform-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:22px}.platform-head>div:last-child{display:flex;gap:10px}.platform-grid{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:18px}.button-link{align-items:center;display:inline-flex;text-decoration:none}.platform-console{margin:0 auto;max-width:1440px;padding:28px}.platform-console-head{align-items:flex-start;display:flex;gap:18px;justify-content:space-between;margin-bottom:22px}.platform-console-head h1{margin-bottom:6px}.platform-console-head p:not(.eyebrow){color:var(--muted);margin-bottom:0}.platform-metrics{display:grid;gap:1px;grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:20px;overflow:hidden;border:1px solid var(--line);border-radius:6px;background:var(--line)}.platform-metrics>div{display:grid;gap:7px;min-height:94px;padding:16px;background:#fff}.platform-metrics span{color:var(--muted);font-size:12px}.platform-metrics strong{font-size:25px}.platform-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:20px}.platform-tabs button{border:0;border-bottom:3px solid transparent;padding:10px 13px;background:transparent;color:var(--muted);font-weight:700}.platform-tabs button.active{border-bottom-color:var(--green);color:var(--green-dark)}.platform-workspace{display:grid;gap:18px;grid-template-columns:260px minmax(0,1fr);margin-bottom:18px}.school-tree,.platform-department-panel{min-width:0;border:1px solid var(--line);border-radius:6px;background:#fff}.school-tree{max-height:700px;overflow:auto;padding:10px}.school-tree-head{display:grid;gap:10px;padding:6px}.school-tree-head input{padding:8px 9px}.school-tree-item{display:grid;gap:4px;width:100%;border:0;border-radius:5px;padding:11px 10px;background:transparent;color:var(--ink);text-align:left}.school-tree-item:hover{background:#f2f7f4}.school-tree-item.active{background:#e8f3ec;color:var(--green-dark)}.school-tree-item small{color:var(--muted);font-size:11px}.platform-panel-head{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;padding:20px 20px 12px}.platform-panel-head h2{margin-bottom:5px;font-size:19px}.platform-panel-head p{margin-bottom:0;color:var(--muted);font-size:13px}.platform-filters{display:flex;gap:8px;min-width:min(100%,420px)}.platform-filters input{min-width:220px}.platform-create-department{margin-bottom:20px}.platform-create-department .stack-form{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.platform-create-department .school-search{grid-column:1 / -1}.platform-create-department .primary{justify-self:start}.platform-admin-grid{display:grid;gap:18px;grid-template-columns:minmax(260px,.75fr) minmax(0,1.7fr)}.platform-audit-filter{display:grid;gap:10px;grid-template-columns:minmax(220px,1fr) 170px 170px auto;margin-bottom:14px}.platform-drawer{position:fixed;top:0;right:0;z-index:45;width:min(520px,100vw);height:100dvh;overflow-y:auto;border-left:1px solid var(--line);padding:22px;background:#fff;box-shadow:-16px 0 36px #17211c29}.platform-drawer-head{align-items:flex-start;display:flex;justify-content:space-between;gap:12px;padding-bottom:18px;border-bottom:1px solid var(--line)}.platform-drawer-head h2{margin-bottom:5px;font-size:22px}.platform-drawer-head p:not(.eyebrow){color:var(--muted);margin-bottom:0}.platform-drawer-facts{display:grid;gap:1px;grid-template-columns:1fr 1fr;margin:18px 0;overflow:hidden;border:1px solid var(--line);border-radius:5px;background:var(--line)}.platform-drawer-facts>div{display:grid;gap:5px;padding:12px;background:#fff}.platform-drawer-facts span{color:var(--muted);font-size:11px}.platform-drawer .section{margin-bottom:16px}.platform-compact-form{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}@media (max-width: 980px){.platform-console{padding:18px}.platform-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.platform-workspace,.platform-admin-grid{grid-template-columns:1fr}.school-tree{max-height:280px}.platform-create-department .stack-form{grid-template-columns:1fr}.platform-create-department .school-search{grid-column:auto}}@media (max-width: 760px){.platform-shell{padding:18px}.platform-grid{grid-template-columns:1fr}.platform-head{align-items:flex-start;gap:14px}.platform-console-head,.platform-panel-head{flex-direction:column}.platform-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.platform-filters,.platform-audit-filter{grid-template-columns:1fr;width:100%}.platform-filters{display:grid}.platform-filters input{min-width:0}.platform-drawer{padding:18px}}
