/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.border-collapse{border-collapse:collapse}.flex-wrap{flex-wrap:wrap}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.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{--paper:#f4f5f7;--paper-raised:#fff;--ink:#111827;--ink-soft:#6b7280;--ink-faint:#9ca3af;--line:#e6e8eb;--line-soft:#eef0f2;--blue:#2e3092;--blue-dark:#1f2166;--blue-bg:#e8e9f8;--green:#15803d;--green-bg:#dcfce7;--yellow:#fbaf3f;--amber:#b45309;--amber-bg:#fef3c7;--red:#b91c1c;--red-bg:#fee2e2;--gray:#69737b;--teal:#0f8a7a;--teal-dark:#0c7366;--teal-bg:#d1fae5;--navy:#0e2f3a;--navy-2:#164555;--font-display:var(--font-poppins),"Poppins","IBM Plex Sans",sans-serif;--font-body:var(--font-sans),"IBM Plex Sans","Segoe UI",sans-serif;--font-mono:var(--font-plex),"IBM Plex Mono",ui-monospace,monospace;--text-2xs:10px;--text-xs:11px;--text-sm:12px;--text-base:13px;--text-lg:14px;--text-xl:16px;--text-2xl:18px;--text-stat:20px}*{box-sizing:border-box}body,html{min-height:100%;margin:0;padding:0;overflow-x:clip}img{overflow:visible}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}body{font-family:var(--font-body);color:var(--ink);background:var(--paper);font-size:var(--text-base);letter-spacing:-.01em;font-weight:400;line-height:1.45}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.03em;line-height:1.2}::selection{background:var(--teal);color:#fff}h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit}.app-root,.sidebar{min-height:100vh;display:flex}.sidebar{background:linear-gradient(180deg,var(--navy) 0,#0b2530 100%);color:#fff;flex-direction:column;flex-shrink:0;width:220px;padding:0 12px 18px}.brand{border-bottom:3px solid var(--teal);background:#fff;margin:0 -12px 8px;padding:20px 16px 14px;overflow:visible}.brand img{object-fit:contain;object-position:left center;width:100%;max-width:196px;height:auto;display:block}.brand small{font-family:var(--font-mono);letter-spacing:1.4px;text-transform:uppercase;color:var(--teal-dark);margin-top:8px;font-size:10px;font-weight:500;display:block}.nav{flex-direction:column;gap:3px;margin-top:10px;display:flex}.nav-btn{cursor:pointer;color:#c5d8d4;font-family:var(--font-body);font-size:var(--text-base);letter-spacing:-.01em;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:9px 10px;font-weight:500;display:flex}.nav-btn:hover{background:var(--navy-2);color:#fff}.nav-btn.active{background:var(--teal);color:#fff}.nav-btn svg{flex-shrink:0;width:16px;height:16px}.nav-count{font-family:var(--font-mono);background:#ffffff29;border-radius:9px;margin-left:auto;padding:1px 7px;font-size:11px}.nav-btn.active .nav-count{background:#ffffff47}.sidebar-foot{color:#8fb8b0;font-size:11px;font-family:var(--font-mono);border-top:1px solid #ffffff14;margin-top:auto;padding:14px 8px 10px;line-height:1.6}.main{flex:1;min-width:0;padding:30px 38px 60px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px;display:flex}.page-title{font-family:var(--font-display);font-size:var(--text-2xl);letter-spacing:-.035em;font-weight:700;line-height:1.15}.page-sub{color:var(--ink-soft);font-size:var(--text-base);margin-top:6px;font-weight:400;line-height:1.45}.page-crumb{font-size:var(--text-sm);color:var(--ink-soft);margin:0 0 6px;font-weight:600}.page-crumb a{color:var(--teal-dark);text-decoration:none}.page-crumb a:hover{text-decoration:underline}.btn{font-family:var(--font-body);font-weight:600;font-size:var(--text-base);letter-spacing:-.01em;border:1px solid var(--teal);background:var(--teal);color:#fff;cursor:pointer;border-radius:8px;align-items:center;gap:7px;padding:9px 15px;display:inline-flex}.btn:hover{background:var(--teal-dark);border-color:var(--teal-dark)}.btn.secondary{color:var(--ink);border:1px solid var(--line);background:#fff}.btn.secondary:hover{background:var(--paper);border-color:var(--ink-soft)}.btn.small{font-size:var(--text-sm);border-radius:6px;padding:5px 10px}.btn.danger{background:var(--red);color:#fff;border:1px solid var(--red)}.btn.danger:hover{background:#991b1b;border-color:#991b1b}.btn svg{width:14px;height:14px}.btn:disabled{opacity:.6;cursor:default}.icon-btn{border:1px solid var(--line);cursor:pointer;color:var(--ink-soft);background:#fff;border-radius:6px;padding:5px 6px;display:inline-flex;position:relative}.icon-btn:hover{background:var(--teal-bg);color:var(--teal-dark);border-color:#99e6c8}.icon-btn:disabled{opacity:.4;cursor:not-allowed;background:#fff}.icon-btn svg{width:14px;height:14px}.stat-row{grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:28px;display:grid}.stat-card{background:var(--blue-bg);border:1px solid #c9cbea;border-radius:12px;padding:16px 18px}.stat-num{font-family:var(--font-display);font-size:var(--text-stat);color:var(--blue);letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-weight:700;line-height:1}.stat-label{font-family:var(--font-body);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin-top:8px;font-weight:600}.stat-card.warn{background:var(--amber-bg);border-color:#f6d98a}.stat-card.warn .stat-num{color:var(--amber)}.stat-card.bad{background:var(--red-bg);border-color:#f5c2c2}.stat-card.bad .stat-num{color:var(--red)}.stat-card.good{background:var(--green-bg);border-color:#86efac}.stat-card.good .stat-num{color:var(--green)}.notice{background:var(--teal-bg);color:var(--teal-dark);font-size:var(--text-base);border:1px solid #99e6c8;border-radius:10px;align-items:flex-start;gap:9px;margin-bottom:22px;padding:12px 14px;display:flex}.notice svg{flex-shrink:0;width:15px;height:15px;margin-top:1px}.folder{background:var(--paper-raised);border:1px solid var(--line);border-radius:12px;margin-bottom:16px;overflow:hidden;box-shadow:0 1px 2px #0f172a0a}.folder-head{cursor:pointer;width:100%;font:inherit;color:inherit;text-align:left;background:#f8fffc;border:0;border-bottom:1px solid #0000;align-items:center;gap:12px;padding:14px 18px;display:flex}.folder-head.open{border-bottom:1px solid var(--line);background:#eefbf6}.folder-head .chev{width:14px;height:14px;color:var(--teal);transition:transform .15s}.folder-head.open .chev{transform:rotate(90deg)}.folder-title{font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:-.025em;flex:1;font-weight:600}.folder-meta{font-family:var(--font-body);font-size:var(--text-sm);color:var(--ink-faint)}.folder-body{padding:4px 10px 12px}.empty-folder{color:var(--ink-faint);padding:14px 10px;font-size:12.5px}.doc-row{border-bottom:1px solid var(--line-soft);border-left:3px solid #0000;border-radius:8px;grid-template-columns:1.6fr 1fr 1.3fr 1fr auto;align-items:center;gap:14px;padding:11px 10px 11px 12px;display:grid}.doc-row:last-child{border-bottom:none}.doc-row:hover{background:#f8fafc}.doc-row.ok{border-left-color:var(--green)}.doc-row.soon{background:#fffbeb;border-left-color:#eab308}.doc-row.overdue{border-left-color:var(--red);background:#fff7f7}.doc-row.escalated{border-left-color:var(--red);background:var(--red-bg)}.doc-row.in_progress{border-left-color:var(--blue);background:var(--blue-bg)}.doc-row.not_required{border-left-color:var(--gray)}.doc-row.snoozed{border-left-color:var(--blue);background:#eef2ff}.doc-row.archived{opacity:.78}.doc-title{font-family:var(--font-body);font-weight:600;font-size:var(--text-base);letter-spacing:-.015em;color:var(--ink)}.doc-cat{margin-top:3px;font-weight:400}.doc-assignee,.doc-cat{font-size:var(--text-sm);color:var(--ink-soft);font-family:var(--font-body)}.doc-assignee b{color:var(--ink);font-weight:600}.doc-date{font-size:var(--text-base);color:var(--ink);font-weight:500}.doc-date,.stamp{font-family:var(--font-body)}.stamp{letter-spacing:.01em;text-transform:none;border:0;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.stamp.ok{color:var(--green);background:var(--green-bg)}.stamp.soon{color:var(--amber);background:var(--amber-bg)}.stamp.overdue{color:var(--red);background:var(--red-bg)}.stamp.escalated{color:#fff;background:var(--red)}.stamp.in_progress{color:var(--blue);background:var(--blue-bg)}.stamp.not_required{color:var(--gray);background:var(--line-soft)}.stamp.snoozed{color:var(--blue);background:#e8e9f8}.stamp.priority-low,.stamp.status-cancelled{color:var(--gray);background:var(--line-soft)}.stamp.priority-medium{color:var(--blue);background:var(--blue-bg)}.stamp.priority-high{color:var(--amber);background:var(--amber-bg)}.stamp.priority-urgent,.stamp.status-open{color:var(--red);background:var(--red-bg)}.stamp.priority-urgent{color:#fff;background:var(--red)}.stamp.status-in_progress{color:var(--blue);background:var(--blue-bg)}.stamp.status-completed{color:var(--green);background:var(--green-bg)}.days-left{font-family:var(--font-body)}.days-left,.doc-reminders{color:var(--ink-soft);margin-top:3px;font-size:13px}.doc-reminders{display:inline-block}.row-actions{gap:5px;display:flex}.mail-count{background:var(--teal);color:#fff;border-radius:99px;justify-content:center;align-items:center;min-width:14px;height:14px;padding:0 3px;font-size:9px;font-weight:700;display:flex;position:absolute;top:-6px;right:-6px}.mail-log{background:#f8fffc;border-radius:8px;margin:0 10px 12px;padding:10px 12px;overflow-x:auto}.mail-log table{border-collapse:collapse;width:100%;font-size:13px}.mail-log th{text-align:left;text-transform:uppercase;letter-spacing:.4px;color:var(--ink-soft);padding:6px 8px;font-size:11px}.mail-log td{border-top:1px solid var(--line-soft);vertical-align:top;padding:8px}.mail-error{color:var(--red);margin-top:4px;font-size:12px}.mail-source{color:var(--ink-faint);font-size:11px}.mail-log-empty{color:var(--ink-faint);margin:0 10px 12px;padding:10px 12px;font-size:13px}.overlay{z-index:100;background:#0e2f3a73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--paper-raised);border:1px solid var(--line);border-radius:14px;width:100%;max-width:560px;max-height:88vh;padding:26px 28px;overflow-y:auto;box-shadow:0 20px 50px #0e2f3a2e}.modal h2{font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:-.03em;margin:0 0 18px;font-weight:700}.modal-wide{max-width:640px}.user-form-modal{max-width:920px}.user-form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:start;gap:22px 28px;display:grid}.user-form-col-title{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 12px;font-size:11px;font-weight:700}.user-form-empty-note{margin:0 0 14px}.user-form-switch{cursor:pointer;align-items:center;gap:10px;margin:4px 0 0;font-size:13.5px;font-weight:500;display:flex}.user-form-switch input{opacity:0;pointer-events:none;position:absolute}.user-form-switch-track{background:#d1d5db;border-radius:999px;flex-shrink:0;width:36px;height:20px;transition:background .15s;position:relative}.user-form-switch-track:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0f172a33}.user-form-switch input:checked+.user-form-switch-track{background:var(--teal)}.user-form-switch input:checked+.user-form-switch-track:after{transform:translate(16px)}.user-chip-picker{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px}.user-chip-picker.is-open{border-color:var(--teal);box-shadow:0 0 0 3px #0f8a7a1f}.user-chip-picker-search{color:var(--ink-faint);align-items:center;gap:8px;display:flex}.user-chip-picker-search input{box-shadow:none!important;background:0 0!important;border:0!important;padding:6px 0!important}.user-chip-picker-toggle{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;padding:2px;display:inline-flex}.user-chip-row{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.user-access-chip{background:var(--teal-bg);color:var(--teal-dark);cursor:pointer;border:0;border-radius:999px;align-items:center;gap:6px;padding:4px 8px 4px 10px;font-size:12px;font-weight:600;display:inline-flex}.user-chip-options{border-top:1px solid var(--line-soft);max-height:160px;margin-top:8px;padding:6px 2px 2px;overflow-y:auto}.field label.user-chip-option,.user-chip-option{color:var(--ink);text-transform:none;letter-spacing:0;align-items:center;gap:10px;margin:0;padding:4px 6px;font-size:13px;font-weight:500;line-height:1.3;display:flex}.field label.user-chip-option input[type=checkbox],.user-chip-option input[type=checkbox]{width:15px;height:15px;accent-color:var(--teal);flex-shrink:0;margin:0}.user-camp-toolbar{flex-direction:column;gap:8px;margin-bottom:8px;display:flex}.user-camp-toolbar .user-chip-picker-search{border:1px solid var(--line);cursor:text;background:#fff;border-radius:8px;padding:0 8px}.user-camp-toolbar .user-chip-picker-search svg{flex-shrink:0;width:14px;height:14px}.user-camp-toolbar .user-chip-picker-search input{width:100%;min-width:0;color:var(--ink);-webkit-text-fill-color:var(--ink);font:inherit;outline:none;flex:auto;font-size:14px;line-height:1.4}.user-camp-bulk{gap:8px;display:flex}.user-camp-list{border:1px solid var(--line);background:#fff;border-radius:10px;max-height:260px;padding:8px 10px 10px;overflow-y:auto}.user-camp-group+.user-camp-group{border-top:1px solid var(--line-soft);margin-top:8px;padding-top:8px}.user-camp-group-title{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 6px;font-size:11px;font-weight:700}@media (max-width:820px){.user-form-grid{grid-template-columns:1fr}}.field{margin-bottom:14px}.field label{font-size:var(--text-sm);color:var(--ink-soft);text-transform:uppercase;letter-spacing:.4px;margin-bottom:5px;font-weight:600;display:block}.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea{box-sizing:border-box;border:1px solid var(--line);width:100%;max-width:100%;font-family:var(--font-body);font-size:var(--text-base);color:var(--ink);background:#fff;border-radius:8px;padding:9px 10px}.field input.input-compact{width:112px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px #0f8a7a26}.field textarea{resize:vertical;min-height:60px}.field-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.chip-set{flex-wrap:wrap;gap:7px;display:flex}.chip{border:1px solid var(--line);cursor:pointer;font-size:12.5px;font-family:var(--font-body);background:#fff;border-radius:20px;padding:6px 13px;font-weight:500}.chip.selected{background:var(--teal);border-color:var(--teal);color:#fff}.chip:disabled{cursor:not-allowed;opacity:.72}.field input:disabled,.field select:disabled{color:#6b7280;cursor:not-allowed;background:#f3f4f6}.modal-actions{border-top:1px solid var(--line-soft);justify-content:flex-end;gap:10px;margin-top:20px;padding-top:16px;display:flex}.hint{font-size:var(--text-sm);color:var(--ink-faint);margin-top:5px}.file-drop{text-align:center;color:var(--teal-dark);cursor:pointer;background:#f8fffc;border:1.5px dashed #99e6c8;border-radius:8px;padding:14px;font-size:12.5px}.file-drop:hover{border-color:var(--teal);background:var(--teal-bg)}.simple-table{border-collapse:collapse;background:var(--paper-raised);border:1px solid var(--line);border-radius:12px;width:100%;overflow:hidden;box-shadow:0 1px 2px #0f172a0a}.simple-table th{text-align:left;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.6px;color:var(--ink-soft);border-bottom:1px solid var(--line);background:#f8fffc;padding:11px 16px}.simple-table td{border-bottom:1px solid var(--line-soft);font-size:var(--text-base);padding:11px 16px}.simple-table td b{font-family:var(--font-body);font-weight:600;font-size:inherit;letter-spacing:inherit}.simple-table tr:last-child td{border-bottom:none}.simple-table tr:hover td{background:#f8fffc}.pill{background:var(--teal-bg);color:var(--teal-dark);font-family:var(--font-mono);border-radius:10px;padding:2px 8px;font-size:11px}.filters{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;display:flex}.filters input,.filters select{border:1px solid var(--line);background:var(--paper-raised);font-size:var(--text-base);font-family:var(--font-body);border-radius:8px;padding:8px 10px}.filters .filter-search{flex:280px;min-width:220px;max-width:520px}.filter-count{font-size:var(--text-sm);color:var(--ink-soft);margin-left:auto}.search-select{min-width:220px;position:relative}.field .search-select{width:100%;min-width:0}.search-select input[type=search]{box-sizing:border-box;border:1px solid var(--line);width:100%;font-family:var(--font-body);font-size:var(--text-base);color:var(--ink);background:#fff;border-radius:8px;padding:9px 10px}.search-select.compact input[type=search]{background:var(--paper-raised);padding:8px 10px;font-size:12.5px}.search-select input[type=search]:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px #0f8a7a26}.search-select-menu{z-index:30;border:1px solid var(--line);background:#fff;border-radius:8px;max-height:240px;margin:4px 0 0;padding:4px 0;list-style:none;position:absolute;left:0;right:0;overflow-y:auto;box-shadow:0 10px 28px #0e2f3a24}.search-select-menu button{text-align:left;width:100%;font-family:var(--font-body);color:var(--ink);cursor:pointer;background:0 0;border:0;padding:8px 12px;font-size:13.5px;display:block}.search-select-menu button.active,.search-select-menu button:hover{color:var(--teal-dark);background:#f8fffc}.search-select-menu .muted{color:var(--ink-faint);padding:8px 12px;font-size:12.5px}.empty-state{text-align:center;color:var(--ink-soft);padding:60px 20px}.empty-state svg{width:40px;height:40px;color:var(--teal);margin-bottom:14px}.empty-state h3{font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:-.03em;color:var(--ink);margin:0 0 8px;font-weight:700}.empty-state p{font-size:var(--text-base);max-width:380px;margin:0 auto 16px;line-height:1.5}.error-banner{background:var(--red-bg);color:var(--red);border-radius:8px;margin-bottom:14px;padding:9px 12px;font-size:12.5px}.section-title{font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:-.025em;margin:0 0 12px;font-weight:600}.section-title.sm{font-size:var(--text-base);font-weight:600}.section-title.bad{color:var(--red);margin-top:20px}.settings-card{background:var(--paper-raised);border:1px solid var(--line);border-radius:12px;max-width:560px;margin-bottom:16px;padding:22px 24px}.settings-shell{max-width:1040px}.settings-tabs{border-bottom:1px solid var(--line);scrollbar-width:none;gap:6px;margin:0 0 16px;display:flex;overflow-x:auto}.settings-tabs::-webkit-scrollbar{display:none}.settings-tabs button{appearance:none;font-family:var(--font-body);font-size:var(--text-sm);color:var(--ink-soft);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px;font-weight:600}.settings-tabs button.on{color:var(--ink);border-bottom-color:var(--teal)}.settings-grid{grid-template-columns:1fr 1fr;align-items:start;gap:16px;display:grid}.settings-grid-main{grid-template-columns:minmax(0,1.4fr) minmax(260px,.7fr)}.settings-span{grid-column:1/-1}.settings-stack{flex-direction:column;gap:16px;display:flex}.settings-shell .settings-card{max-width:none;margin-bottom:0}.settings-account{max-width:560px}.maint-catalog-toolbar{flex-wrap:wrap;gap:10px;margin:0 0 12px;display:flex}.maint-catalog-toolbar input,.maint-catalog-toolbar select{border:1px solid var(--line);min-width:0;font:inherit;background:#fff;border-radius:8px;flex:220px;padding:8px 10px;font-size:14px}.maint-catalog-list{border:1px solid var(--line);background:#fff;border-radius:10px;max-height:460px;overflow:auto}.maint-catalog-row{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:baseline;gap:12px;padding:9px 12px;display:flex}.maint-catalog-row:last-child{border-bottom:0}.maint-catalog-row strong{font-weight:600}.maint-catalog-meta{color:var(--ink-soft);white-space:nowrap;font-size:12px}.maint-catalog-add{flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 12px;display:flex}.maint-catalog-add input,.maint-catalog-add select{border:1px solid var(--line);width:100%;min-width:0;color:var(--ink);font:inherit;background:#fff;border-radius:8px;flex:180px;padding:8px 10px;font-size:14px}.maint-catalog-add .btn{flex:none}.maint-catalog-badge{background:var(--teal-soft,#e6f4f1);color:var(--teal);vertical-align:middle;border-radius:999px;margin-left:8px;padding:1px 6px;font-size:11px;font-weight:600}.maint-close-panel{border-top:1px solid var(--line-soft);margin-top:12px;padding-top:12px}.maint-close-actions{flex-wrap:wrap;gap:8px;display:flex}.maint-close-actions .btn{min-height:40px}.audit-qr-buildings{max-height:520px;margin:4px 0 16px;padding-right:4px;overflow:auto}.audit-qr-buildings section{background:var(--paper);border:1px solid var(--line-soft);border-radius:10px;margin-bottom:10px;padding:10px 12px 4px}.audit-qr-buildings h3{color:var(--ink-faint);letter-spacing:.02em;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:700}.audit-qr-buildings .check-row{margin-bottom:8px}.room-qr-scan{max-width:420px}.room-qr-video{aspect-ratio:1;border-radius:10px;width:100%;margin-top:10px}.face-db-thumb,.room-qr-video{object-fit:cover;background:#111}.face-db-thumb{border-radius:8px;width:44px;height:44px;display:block}.bio-proxy-cmd{color:#e2e8f0;font-family:var(--font-plex),ui-monospace,monospace;background:#0f172a;border-radius:10px;margin:10px 0;padding:12px 14px;font-size:13px;overflow-x:auto}.portal-enroll-grid{grid-template-columns:1.2fr .8fr;gap:12px;margin:12px 0 4px;display:grid}.portal-enroll-shot,.portal-enroll-video{aspect-ratio:4/3;object-fit:cover;background:#111;border-radius:10px;width:100%}.portal-enroll-preview{border:1px dashed var(--line);background:#f8fafc;border-radius:10px;justify-content:center;align-items:center;min-height:160px;padding:8px;display:flex}@media (max-width:720px){.portal-enroll-grid{grid-template-columns:1fr}}.setup-page{max-width:1100px}.setup-hub{max-width:1120px}.setup-hub-jump{border:1px solid var(--line-soft);background:#f8fafc;border-radius:12px;flex-wrap:wrap;gap:8px;margin:0 0 22px;padding:10px 12px;display:flex}.setup-hub-jump a{font-size:var(--text-sm);color:var(--ink-soft);border:1px solid var(--line-soft);background:#fff;border-radius:999px;align-items:center;padding:6px 12px;font-weight:600;text-decoration:none;display:inline-flex}.setup-hub-jump a:hover{color:var(--ink);background:#f8fffc;border-color:#99e6c8}.setup-hub-section{margin-bottom:28px;scroll-margin-top:88px}.setup-hub-section-head{margin-bottom:12px}.setup-hub-section-head h2{font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:-.03em;margin:0 0 4px;font-weight:700}.setup-hub-section-head p{color:var(--ink-soft);font-size:var(--text-sm);margin:0;line-height:1.45}.setup-hub-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.setup-hub-card{border:1px solid var(--line);color:inherit;background:#fff;border-radius:14px;grid-template-columns:auto 1fr auto;align-items:start;gap:12px;padding:14px 16px;text-decoration:none;transition:border-color .15s,background .15s,box-shadow .15s;display:grid}.setup-hub-card:hover{background:#f8fffc;border-color:#99e6c8;box-shadow:0 8px 20px #0f8a7a0f}.setup-hub-icon{width:38px;height:38px;color:var(--teal-dark);background:#ecfdf5;border-radius:10px;flex-shrink:0;place-items:center;display:grid}.setup-hub-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.setup-hub-copy strong{font-size:var(--text-base);letter-spacing:-.01em;font-weight:700}.setup-hub-copy em{color:var(--ink-soft);font-style:normal;font-size:var(--text-sm);line-height:1.4}.setup-hub-meta{font-size:var(--text-xs);color:#0f766e;margin-top:4px;font-weight:650}.setup-hub-arrow{color:#94a3b8;margin-top:10px}.setup-hub-card:hover .setup-hub-arrow{color:var(--teal-dark)}.setup-hub-data-stack{flex-direction:column;grid-column:1/-1;gap:14px;width:100%;display:flex}.setup-hub-data .setup-hub-cards{display:block}.setup-hub-inline-label{font-size:var(--text-sm);color:var(--ink-soft);align-items:center;gap:8px;margin-bottom:10px;font-weight:700;display:inline-flex}.setup-hub-data-main .setup-card,.setup-hub-data-stack .setup-card{margin-bottom:0}.setup-grid{grid-template-columns:1.15fr .85fr;align-items:start;gap:14px;margin-top:14px;display:grid}.setup-card{border:1px solid var(--line);background:#fff;border-radius:12px;margin-bottom:14px;padding:18px 20px}.setup-card-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.setup-card-head h2{font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:-.025em;margin:0 0 4px;font-weight:600}.setup-card p,.setup-card-head p{color:var(--ink-soft);font-size:var(--text-sm);margin:0;line-height:1.5}.setup-pill{font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;flex-shrink:0;padding:4px 8px;font-weight:700}.setup-pill.ok{color:#166534;background:#dcfce7}.setup-pill.warn{color:#92400e;background:#fef3c7}.setup-pill.off{color:#4b5563;background:#e5e7eb}.setup-kpis{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.setup-kpis article{border:1px solid var(--line-soft);background:#f8fafc;border-radius:10px;align-items:flex-start;gap:8px;min-width:0;padding:12px;display:flex}.setup-kpis article svg{color:var(--teal-dark);flex-shrink:0;margin-top:2px}.setup-kpis span{font-family:var(--font-display);font-size:var(--text-xl);word-break:break-word;font-weight:700;line-height:1.1;display:block}.setup-kpis small{color:var(--ink-soft);font-size:var(--text-xs);margin-top:2px;line-height:1.3;display:block}.setup-meta{font-size:var(--text-sm);color:var(--ink-soft);flex-wrap:wrap;gap:8px 16px;margin-top:12px;display:flex}.setup-log{border-top:1px solid var(--line-soft);margin-top:12px;padding-top:10px}.setup-log summary{cursor:pointer;font-size:var(--text-sm);color:var(--ink-soft);font-weight:600}.setup-log pre{background:#f8fafc;border-radius:8px;max-height:160px;margin:8px 0 0;padding:10px;font-size:11px;overflow:auto}.setup-dl{flex-direction:column;gap:8px;margin:0 0 14px;display:flex}.setup-dl div{font-size:var(--text-sm);grid-template-columns:140px 1fr;gap:10px;display:grid}.setup-dl dt{color:var(--ink-soft);margin:0}.setup-dl dd{margin:0;font-weight:500}.setup-admin-list{flex-direction:column;gap:8px;display:flex}.setup-admin-link{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;gap:12px;padding:10px 12px;display:flex}.setup-admin-link:hover{background:#f8fffc;border-color:#99e6c8}.setup-admin-icon{width:36px;height:36px;color:var(--teal-dark);background:#eaf7f2;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.setup-admin-link strong{font-size:var(--text-base);display:block}.setup-admin-link em{font-style:normal;font-size:var(--text-sm);color:var(--ink-soft);margin-top:2px;display:block}.settings-card h2{font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:-.025em;margin-bottom:6px;font-weight:600}.settings-copy{color:var(--ink-soft);font-size:var(--text-sm);margin-bottom:16px;line-height:1.5}.check-row{align-items:center;gap:8px;margin-bottom:14px;font-size:13.5px;display:flex}.camp-access-grid{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:1fr 1fr;gap:6px 12px;max-height:180px;padding:8px 10px;display:grid;overflow-y:auto}.camp-access-grid .check-row{margin-bottom:0;font-size:13px}.camp-chips{flex-wrap:wrap;gap:4px;display:flex}.camp-chip{border-radius:999px;padding:2px 7px;font-size:11px;font-weight:600}.camp-chip,code{background:var(--teal-bg);color:var(--teal-dark)}code{font-family:var(--font-mono);border-radius:4px;padding:1px 5px;font-size:12px}a.icon-btn{color:inherit}.category-list{width:100%}.matrix-editor{padding:12px 14px 14px}.matrix-head,.matrix-row{grid-template-columns:72px minmax(0,1fr) 32px;align-items:center;gap:8px;width:100%;display:grid}.matrix-head{text-transform:uppercase;letter-spacing:.4px;color:var(--ink-soft);font-size:11px;font-weight:600}.matrix-head,.matrix-row{margin-bottom:6px}.matrix-row input[type=number],.matrix-row input[type=text]{box-sizing:border-box;border:1px solid var(--line);width:100%;min-width:0;max-width:none;font-family:var(--font-body);color:var(--ink);background:#fff;border-radius:8px;padding:7px 9px;font-size:12.5px}.matrix-row input:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px #0f8a7a26}.matrix-actions{flex-wrap:wrap;align-items:center;gap:8px;width:100%;margin-top:8px;display:flex}.matrix-actions .btn:last-child{margin-left:auto}.folder-head .folder-toggle{min-width:0;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:12px;margin:0;padding:0;display:flex}.folder-head .folder-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.folder-head .icon-btn{flex-shrink:0}.role-pill{background:var(--blue-bg);color:var(--blue);border-radius:999px;padding:3px 9px;font-size:12px;font-weight:600;display:inline-block}.role-pill.admin{background:var(--teal-bg);color:var(--teal-dark)}.sidebar-user{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.sidebar-user strong{color:#fff;font-size:13px;display:block}.sidebar-user span{color:#8fb8b0;margin-top:2px;font-size:11px;display:block}.login-screen{background:linear-gradient(#0e2f3a,#0b2530);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:#fff;border-radius:16px;width:100%;max-width:420px;padding:40px 36px 32px;overflow:visible;box-shadow:0 20px 50px #0003}.login-logo{object-fit:contain;object-position:left center;width:min(320px,100%);height:auto;margin:0 0 18px;display:block}.login-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--teal-dark);margin-bottom:8px;font-size:11px;font-weight:600}.login-card h1{font-family:var(--font-display);font-size:var(--text-2xl);letter-spacing:-.03em;margin-bottom:6px;font-weight:700}.login-copy{color:var(--ink-soft);font-size:var(--text-sm);margin-bottom:18px}.app-app{background:#eef1f5;flex-direction:column;min-width:0;min-height:100vh;display:flex}.app-header{color:#fff;z-index:50;padding-top:env(safe-area-inset-top);background:#0b1220;flex-shrink:0;position:relative}.app-header-top{justify-content:space-between;gap:18px;padding:10px 22px 8px}.app-header-top,.app-logo{align-items:center;display:flex}.app-logo{background:#fff;border-radius:8px;flex-shrink:0;padding:6px 12px;line-height:0}.app-logo img{object-fit:contain;object-position:left center;width:auto;max-width:none;height:44px;display:block}.app-userbar{align-items:center;gap:10px;margin-left:auto;display:flex}.app-welcome{font-size:var(--text-base);color:#d5dbe6;white-space:nowrap}.app-welcome em{color:#93c5fd;font-style:normal}.app-icon{color:#d5dbe6;background:#151d2e;border:1px solid #2a3548;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.app-icon:disabled{opacity:.55;cursor:default}.app-avatar{cursor:pointer;color:#fff;background:#2563eb;border:0;border-radius:50%;width:32px;height:32px;font-size:11px;font-weight:700}.app-profile{position:relative}.app-profile-menu{width:220px;color:var(--ink);border:1px solid var(--line);z-index:60;background:#fff;border-radius:12px;padding:8px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 32px #0f172a2e}.app-profile-who{border-bottom:1px solid var(--line-soft);margin-bottom:6px;padding:8px 10px 10px}.app-profile-who strong{font-size:var(--text-base);display:block}.app-profile-who span{color:var(--ink-soft);font-size:var(--text-sm);margin-top:2px;display:block}.app-profile-menu a,.app-profile-menu button{width:100%;color:inherit;text-align:left;font:inherit;font-size:var(--text-base);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;display:flex}.app-profile-menu a:hover,.app-profile-menu button:hover{background:#f1f5f9}.app-profile-menu form button{color:var(--red)}.app-tabs{border-top:1px solid #1a2332;gap:2px;padding:0 18px;display:flex}.app-tab{color:#9aa4b2;font-size:var(--text-lg);border-bottom:3px solid #0000;padding:10px 14px 9px;font-weight:600}.app-tab.active{color:#fff;border-bottom-color:#3b82f6}.app-tab:hover{color:#fff}.app-page{flex:1;min-width:0;padding:26px 32px 48px}.app-contracts{flex:1;min-height:0;display:flex}.app-contracts .sidebar{min-height:auto}.sidebar.nested{width:200px}.nested-brand{background:#0b2530;border-bottom:0;padding:14px 16px 10px}.nested-brand small{color:#8fb8b0;margin-top:0}.app-alloc{flex:1;grid-template-columns:230px minmax(0,1fr) 250px;height:calc(100vh - 96px);min-height:0;display:grid}.app-tree{color:#d7dee8;font-size:var(--text-sm);background:#101827;padding:16px 10px 24px;overflow:auto}.app-tree-label{font-size:var(--text-2xs);letter-spacing:.14em;text-transform:uppercase;color:#7d8899;padding:0 8px 10px;font-weight:700}.app-node-btn{width:100%;color:inherit;text-align:left;cursor:pointer;font:inherit;background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;padding:6px 8px;display:flex}.app-node-btn.on,.app-node-btn:hover{color:#fff;background:#1c2a44}.app-node-btn.floor{color:#9aa4b2;padding-left:34px}.app-node-classes{flex-direction:column;gap:4px;margin:4px 0 6px;padding-left:34px;display:flex}.app-node-btn.class{color:#a9b4c6;border:1px solid #0000;border-radius:8px;padding:6px 8px;font-size:12px;line-height:1.35}.app-node-btn.class:hover{color:#fff;border-color:#334155}.app-node-btn.class.on{color:#fff;background:#1e3a5f;border-color:#3b82f6}.app-node.indent{padding-left:10px}.app-board{background:#eef1f5;padding:18px 20px 28px;overflow:auto}.app-board-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.app-board-head h1{font-size:var(--text-xl);margin-bottom:4px;font-weight:700}.app-board-sub{font-size:var(--text-sm);color:#6b7280;max-width:720px}.app-kpis{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px;display:grid}.app-kpis.five{grid-template-columns:repeat(5,minmax(0,1fr))}.app-kpis.six{grid-template-columns:repeat(6,minmax(0,1fr))}.app-kpis.seven{grid-template-columns:repeat(7,minmax(0,1fr))}.app-kpi.navy .app-kpi-icon{color:#fff;background:#1e3a5f}.app-kpi.navy.is-on{box-shadow:inset 0 0 0 2px #1e3a5f}.app-kpi{background:#fff;border:1px solid #e6e8eb;border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex;box-shadow:0 1px 2px #0f172a0f}a.app-kpi{color:inherit;text-decoration:none}a.app-kpi:hover{border-color:#93c5fd;box-shadow:0 4px 14px #2563eb1f}button.app-kpi{color:inherit;text-align:left;width:100%;font:inherit;cursor:pointer}button.app-kpi.is-on,button.app-kpi:hover{border-color:#93c5fd;box-shadow:0 4px 14px #2563eb1f}button.app-kpi.red.is-on,button.app-kpi.red:hover{border-color:#fca5a5;box-shadow:0 4px 14px #dc26261f}button.app-kpi.amber.is-on,button.app-kpi.amber:hover{border-color:#fbbf24;box-shadow:0 4px 14px #d9770624}.app-kpi-icon{color:#fff;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.app-kpi.blue{background:#eff6ff;border-color:#bfdbfe}.app-kpi.blue .app-kpi-icon{background:#2563eb}.app-kpi.sky .app-kpi-icon{background:#0ea5e9}.app-kpi.green .app-kpi-icon{background:#16a34a}.app-kpi.red{background:#fef2f2;border-color:#fecaca}.app-kpi.red .app-kpi-icon{background:#dc2626}.app-kpi.amber{background:#fffbeb;border-color:#fde68a}.app-kpi.amber .app-kpi-icon{background:#d97706}.app-kpi.gray{background:#f8fafc;border-color:#e2e8f0}.app-kpi.gray .app-kpi-icon{background:#64748b}.app-kpi-label{font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;color:#6b7280;font-weight:700}.app-kpi-value{font-family:var(--font-display);font-size:var(--text-stat);letter-spacing:-.03em;font-weight:700;line-height:1.15}.app-kpi-sub{font-size:var(--text-sm);color:#6b7280;margin-top:2px}.div-occ{margin-bottom:22px}.div-occ-camps{flex-wrap:wrap;gap:8px;margin-bottom:12px;padding-bottom:4px;display:flex}.div-occ-camp-group-label{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);flex:1 0 100%;padding:4px 2px 0;font-weight:700}.div-occ-camp{border:1px solid var(--line);cursor:pointer;text-align:left;min-width:148px;max-width:220px;color:inherit;font:inherit;background:#fff;border-radius:12px;flex-direction:column;flex:148px;align-items:flex-start;gap:1px;padding:10px 12px;display:flex}.div-occ-camp:hover{border-color:#93c5fd}.div-occ-camp.is-selected{background:var(--navy);color:#fff;border-color:var(--navy)}.div-occ-camp-name{font-size:var(--text-xs);letter-spacing:.03em;text-transform:uppercase;color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;max-width:196px;font-weight:700;overflow:hidden}.div-occ-camp.is-selected .div-occ-camp-name{color:#ffffffb8}.div-occ-camp strong{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;line-height:1.15}.div-occ-camp-meta{font-size:var(--text-xs);color:var(--ink-soft)}.div-occ-camp.is-selected .div-occ-camp-meta{color:#ffffffb3}.div-occ-camp.is-virtual{background:#f8fafc;border-style:dashed}.div-occ-camp.is-virtual.is-selected{background:#334155;border-color:#334155}.div-occ-camp.is-on-leave{background:#fff7ed;border-style:dashed;border-color:#fdba74}.div-occ-camp.is-on-leave.is-selected{background:#9a3412;border-color:#9a3412}.div-occ-reconcile{font-size:var(--text-sm);color:#334155;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin:0 0 14px;padding:10px 14px}.div-occ-reconcile.ok{background:#f0fdf4;border-color:#bbf7d0}.div-occ-reconcile.warn{background:#fff7ed;border-color:#fed7aa}.div-occ-reconcile-ok{color:#15803d;font-weight:600}.div-occ-reconcile-warn{color:#c2410c;font-weight:600}.div-occ-guide{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin:0 0 16px;padding:14px 16px}.div-occ-guide.ok{background:linear-gradient(#f0fdf4,#f8fafc);border-color:#bbf7d0}.div-occ-guide.warn{background:#fff7ed;border-color:#fed7aa}.div-occ-guide-title{font-size:var(--text-sm);color:#0f172a;align-items:center;gap:10px;margin-bottom:10px;font-weight:700;display:flex}.div-occ-guide-pill{letter-spacing:.02em;text-transform:uppercase;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700}.div-occ-guide-pill.ok{color:#166534;background:#dcfce7}.div-occ-guide-pill.warn{color:#9a3412;background:#ffedd5}.div-occ-guide-equation{font-size:var(--text-sm);color:#475569;flex-wrap:wrap;align-items:center;gap:6px 8px;display:flex}.div-occ-guide-equation em{color:#0f172a;font-style:normal;font-weight:700}.div-occ-guide-eq{color:#94a3b8;font-weight:600}.div-occ-guide-note{font-size:var(--text-sm);color:#64748b;margin:10px 0 0;line-height:1.45}.div-occ-guide-note strong{color:#334155;font-weight:600}.gender-cap-strip{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;margin-top:10px;display:grid}.gender-cap{border:1px solid var(--line);background:#fff;border-radius:10px;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.gender-cap.male{background:#eff6ff;border-color:#bfdbfe}.gender-cap.female{background:#fdf2f8;border-color:#fbcfe8}.gender-cap.any{background:#f8fafc;border-color:#e2e8f0}.gender-cap span{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);font-size:11px;font-weight:700}.gender-cap strong{font-family:var(--font-display);font-size:var(--text-lg);align-items:baseline;gap:4px;display:flex}.gender-cap strong em{color:var(--ink-soft);font-size:.7em;font-style:normal;font-weight:700}.gender-cap small{font-size:var(--text-xs);color:var(--ink-soft)}@media (max-width:720px){.div-occ-guide-equation{gap:4px 6px}}.div-occ-virtual-camps{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:14px;margin-bottom:14px;padding:10px}.div-occ-overview-head.compact{margin-top:4px;margin-bottom:8px}.div-occ-hero.on-leave .div-occ-hero-icon{background:#ea580c}.on-leave-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.on-leave-kpi{border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px 14px}.on-leave-kpi small{font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:4px;font-weight:700;display:block}.on-leave-kpi strong{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700}.on-leave-companies{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin-bottom:16px;display:grid}.on-leave-company{border:1px solid var(--line);font-size:var(--text-sm);background:#fff;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.on-leave-company span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (max-width:900px){.on-leave-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}.div-occ-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.div-occ-toolbar label{border:1px solid var(--line);color:#6b7280;background:#fff;border-radius:8px;flex:1;align-items:center;gap:6px;min-width:220px;padding:6px 10px;display:flex}.div-occ-toolbar label input{font:inherit;width:100%;color:var(--ink);background:0 0;border:0;outline:none}.div-occ-hero{background:var(--navy);color:#fff;border-radius:14px;align-items:center;gap:14px;margin-bottom:16px;padding:16px 18px;display:flex}.div-occ-hero-icon{background:#ffffff1f;border-radius:12px;flex:none;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.div-occ-hero-label{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:#ffffff9e;font-weight:700}.div-occ-hero h2{font-size:var(--text-xl);color:#fff;margin:2px 0 4px}.div-occ-hero p{font-size:var(--text-sm);color:#ffffffc7;flex-wrap:wrap;gap:8px;display:flex}.div-occ-hero p span{opacity:.45}.div-occ-overview-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.div-occ-overview-head h3{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);font-weight:700}.div-occ-overview-head .hint{margin:0}.div-occ-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:6px;display:grid}.div-occ-toolbar.compact{margin-top:0;margin-bottom:10px}.nat-mix{border:1px solid var(--line);background:#fff;border-radius:12px;margin-top:8px;margin-bottom:4px;overflow:hidden}.nat-mix-toggle{cursor:pointer;width:100%;font:inherit;color:inherit;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.nat-mix-toggle:hover{background:#f8fafc}.nat-mix-toggle-main{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.nat-mix-toggle-title{letter-spacing:.08em;text-transform:uppercase;font-weight:700}.nat-mix-toggle-count,.nat-mix-toggle-title{font-size:var(--text-xs);color:var(--ink-soft)}.nat-mix-preview{flex-wrap:wrap;justify-content:flex-end;gap:6px;min-width:0;display:flex}.nat-mix-chip{color:var(--ink-soft);white-space:nowrap;background:#f1f5f9;border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:11px;display:inline-flex}.nat-mix-chip i{border-radius:50%;flex:none;width:7px;height:7px}.nat-mix-chip.muted{color:#64748b;background:#eef2f7}.nat-mix-stack{background:#eef2f7;border-radius:999px;height:8px;margin:0 12px 10px;display:flex;overflow:hidden}.nat-mix-stack.open{margin:0 0 10px}.nat-mix-stack>span{min-width:1px;height:100%;display:block}.nat-mix-body{padding:0 12px 12px}.nat-mix-table{flex-direction:column;gap:2px;max-height:260px;display:flex;overflow:auto}.nat-mix-line{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;grid-template-columns:10px minmax(0,1.1fr) minmax(72px,1.4fr) auto auto;align-items:center;gap:8px;padding:6px 8px;display:grid}.nat-mix-line:hover{background:#f8fafc}.nat-mix-line.is-selected{background:#eff6ff}.nat-mix-swatch{border-radius:50%;width:8px;height:8px}.nat-mix-name{font-size:var(--text-sm);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.nat-mix-bar{background:#eef2f7;border-radius:999px;height:6px;overflow:hidden}.nat-mix-bar>span{border-radius:inherit;background:#2563eb;height:100%;display:block}.nat-mix-staff{font-variant-numeric:tabular-nums;font-weight:700;font-size:var(--text-sm)}.nat-mix-pct{font-variant-numeric:tabular-nums;font-size:var(--text-xs);color:var(--ink-soft);text-align:right;min-width:2.5rem}.div-occ-card{border:1px solid var(--line);text-align:left;color:inherit;cursor:pointer;font:inherit;background:#fff;border-radius:12px;padding:12px}.div-occ-card:hover{border-color:#93c5fd;box-shadow:0 4px 14px #2563eb14}.div-occ-card.is-selected{background:#eff6ff;border-color:#2563eb}.div-occ-card-top{align-items:flex-start;gap:8px;display:flex}.div-occ-card-icon{color:#fff;border-radius:9px;flex:none;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.div-occ-card.blue .div-occ-card-icon{background:#2563eb}.div-occ-card.sky .div-occ-card-icon{background:#0ea5e9}.div-occ-card.green .div-occ-card-icon{background:#16a34a}.div-occ-card.amber .div-occ-card-icon{background:#d97706}.div-occ-card.red .div-occ-card-icon{background:#dc2626}.div-occ-card.teal .div-occ-card-icon{background:#0f8a7a}.div-occ-card.navy .div-occ-card-icon{background:#1e3a5f}.div-occ-card-copy{flex:1;min-width:0}.div-occ-card-name{font-size:var(--text-xs);color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.div-occ-card-count{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;line-height:1.1}.div-occ-card-pct{font-size:var(--text-sm);color:var(--green);font-weight:700}.div-occ-meter{background:#eef2f6;border-radius:99px;height:6px;margin:10px 0 8px;display:flex;overflow:hidden}.div-occ-meter .alloc{background:#2563eb}.div-occ-meter .wait{background:#fbaf3f}.div-occ-card-foot{font-size:var(--text-xs);color:var(--ink-soft);justify-content:space-between;align-items:center;gap:8px;display:flex}.div-occ-badges{gap:4px;display:inline-flex}.div-occ-badge{color:#fff;border-radius:99px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:700;display:inline-flex}.div-occ-badge.alloc{background:#2563eb}.div-occ-badge.wait{background:#ea580c;height:20px;padding:0 7px}.empty-state.compact{margin-bottom:8px;padding:18px}.app-table-card{background:#fff;border:1px solid #e6e8eb;border-radius:12px;overflow:hidden}.app-table-head{border-bottom:1px solid #eef0f2;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.app-table-head h2{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;font-weight:700}.app-table-search{color:#6b7280;background:#f8fafc;border:1px solid #e6e8eb;border-radius:8px;align-items:center;gap:6px;padding:6px 8px;display:flex}.app-table-search input{font:inherit;background:0 0;border:0;outline:none;width:160px}.app-table-wrap{max-height:calc(100vh - 340px);overflow:auto}.app-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.app-table th{text-align:left;font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.4px;color:#6b7280;background:#f8fafc;border-bottom:1px solid #eef0f2}.app-table td,.app-table th{white-space:nowrap;padding:6px 8px}.app-table td{font-size:var(--text-sm);border-bottom:1px solid #f1f5f9}.app-empty{text-align:center;color:#9ca3af;padding:28px!important}.app-person{font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0;display:inline-flex}span.app-person{cursor:default}.app-table td.remarks-cell,.remarks-cell,.simple-table td.remarks-cell{white-space:normal;color:#475569;word-break:break-word;min-width:120px;max-width:240px;line-height:1.35}.app-ava{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:9px;font-weight:700;display:inline-flex}.app-status{font-size:var(--text-xs);border-radius:5px;padding:2px 7px;font-weight:700;display:inline-block}.app-status.allocated{color:#78350f;background:#fbbf24}.app-status.vacant{color:#4b5563;background:#e5e7eb}.app-link{color:#2563eb;font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;margin-top:4px;padding:0;display:block}.app-rail{background:#fff;border-left:1px solid #e6e8eb;padding:14px 12px 20px;overflow:auto}.app-actions-label,.app-rail-head{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:#6b7280;margin-bottom:10px;font-weight:700}.app-summary-card{background:#f8fafc;border:1px solid #e6e8eb;border-radius:12px;margin-bottom:14px;padding:12px}.app-summary-stat{border-top:1px solid #e6e8eb;flex-direction:column;gap:2px;padding:8px 0;display:flex}.app-summary-stat:first-of-type{border-top:0;padding-top:0}.app-summary-stat strong{font-size:var(--text-lg);line-height:1.1}.app-summary-stat span{font-size:var(--text-sm);color:#6b7280}.app-unalloc{flex-direction:column;gap:8px;margin:0 0 18px;padding:0;list-style:none;display:flex}.app-unalloc li{border-radius:8px;align-items:center;gap:8px;padding:6px 4px;display:flex}.app-unalloc li:hover{background:#f8fafc}.app-unalloc strong{font-size:var(--text-base);display:block}.app-unalloc small{color:#6b7280;font-size:var(--text-sm)}.app-plus{cursor:pointer;color:#fff;background:#0f8a7a;border:0;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;margin-left:auto;display:inline-flex}.app-actions{flex-direction:column;gap:4px;display:flex}.app-actions button,.app-trade-wrap>button{text-align:left;width:100%;font:inherit;font-size:var(--text-sm);color:#111827;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:8px;display:flex}.app-actions button:hover{background:#f1f5f9}.app-actions button:disabled{opacity:.45;cursor:default}.app-trade-wrap{position:relative}.app-trade-menu{z-index:20;background:#fff;border:1px solid #e6e8eb;border-radius:8px;max-height:240px;position:absolute;left:0;right:0;overflow:auto;box-shadow:0 10px 24px #0f172a1f}.app-trade-menu button{text-align:left;cursor:pointer;background:0 0;border:0;width:100%;padding:8px 10px;display:block}.app-trade-menu button:hover{background:#f8fafc}.app-room{background:#fff;border:1px solid #e6e8eb;border-radius:12px;margin-top:16px;padding:16px}.app-room-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.app-room-kicker{font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;color:#6b7280}.app-room h3{font-size:var(--text-lg)}.app-room h3 span{color:#6b7280;font-weight:500;font-size:var(--text-sm)}.app-beds{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;display:grid}.app-bed{color:#fff;border-radius:10px;flex-direction:column;gap:4px;min-height:92px;padding:12px;display:flex}.app-bed.vacant{background:#16a34a}.app-bed.allocated{background:#ea580c}.app-bed button{color:#fff;cursor:pointer;background:#fff3;border:0;border-radius:6px;margin-top:auto;padding:4px 8px}.app-forecast{margin-top:16px}.app-forecast h4{text-transform:uppercase;letter-spacing:.06em;color:#6b7280;margin-bottom:8px;font-size:12px}.app-bars{gap:3px;height:80px}.app-bar,.app-bars{align-items:flex-end;display:flex}.app-bar{background:#eef2ff;border-radius:2px;flex:1;height:100%}.app-bar span{background:#2563eb;border-radius:2px 2px 0 0;width:100%;min-height:2px;display:block}.app-pick{flex-wrap:wrap;align-items:stretch;gap:8px;max-height:240px;display:flex;overflow:auto}.bed-option{white-space:normal;flex-direction:column;flex:360px;gap:3px;line-height:1.25;align-items:flex-start!important;display:flex!important}.bed-option-line1{font-weight:600;font-size:var(--text-base);letter-spacing:-.01em}.bed-option-line2{font-size:var(--text-sm);color:#6b7280}.bed-option-line3{font-size:var(--text-sm);color:var(--ink);font-weight:600}.bed-option.selected{border-color:var(--teal);background:var(--teal-bg)}.bed-option.selected .bed-option-line1{color:var(--teal-dark)}.assign-worker-list{border:1px solid var(--line);background:#fff;border-radius:10px;max-height:180px;margin-top:10px;overflow:auto}.assign-worker-option{border:0;border-bottom:1px solid var(--line-soft);text-align:left;cursor:pointer;width:100%;font:inherit;background:#fff;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;display:flex}.assign-worker-option:last-child{border-bottom:0}.assign-worker-option strong{font-size:var(--text-base)}.assign-worker-option span{font-size:var(--text-sm);color:var(--ink-soft)}.assign-worker-option.selected,.assign-worker-option:hover{background:var(--teal-bg)}.facilities-shell{flex-direction:column;gap:14px;display:flex}.fac-board-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.fac-head-actions{flex-wrap:wrap;gap:8px;display:inline-flex}.facilities-toolbar{display:none}.facilities-search{border:1px solid var(--line);min-width:220px;max-width:420px;font-size:var(--text-base);background:#fff;border-radius:8px;flex:280px;align-items:center;gap:8px;padding:7px 10px;display:inline-flex}.facilities-search input{font:inherit;font-size:inherit;border:0;outline:none;width:100%;min-width:0}.filters .filters-actions{align-items:center;gap:8px;margin-left:auto;display:inline-flex}.fac-board{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:240px minmax(0,1fr) 280px;gap:0;min-height:calc(100vh - 240px);display:grid;overflow:hidden}.fac-tree{border-right:1px solid var(--line);background:#f3f4f6;padding:12px 10px;overflow:auto}.fac-tree-label{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);padding:0 8px 10px;font-weight:700}.fac-tree-all-btn{text-align:left;cursor:pointer;width:100%;font-size:var(--text-sm);color:var(--ink-soft);background:0 0;border:0;border-radius:8px;margin-bottom:6px;padding:7px 8px;font-weight:600;display:block}.fac-tree-all-btn:hover{color:var(--ink);background:#e5e7eb}.fac-tree-all-btn.active{color:#1d4ed8;background:#dbeafe}.fac-tree-camp{margin-bottom:4px}.fac-tree-camp-btn{text-align:left;cursor:pointer;width:100%;font-size:var(--text-base);color:var(--ink);background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;padding:7px 8px;font-weight:600;display:flex}.fac-tree-camp-btn:hover{background:#e5e7eb}.fac-tree-camp-btn.active{color:#1d4ed8;background:#dbeafe}.fac-tree-camp-btn.is-virtual.active{color:#6d28d9;background:#ede9fe}.fac-tree-camp-btn.is-left-company.active,.fac-tree-camp-btn.is-on-leave.active{color:#c2410c;background:#ffedd5}.fac-tree-blocks{flex-direction:column;gap:2px;padding:2px 0 6px 22px;display:flex}.fac-tree-block-btn{text-align:left;cursor:pointer;font-size:var(--text-sm);color:var(--ink-soft);background:0 0;border:0;border-radius:6px;padding:6px 8px}.fac-tree-block-btn:hover{color:var(--ink);background:#e5e7eb}.fac-tree-block-btn.active{color:var(--ink);background:#fff;font-weight:600;box-shadow:0 1px 2px #0f172a0f}.fac-tree-classes{flex-direction:column;gap:4px;margin:3px 0 8px;padding-left:12px;display:flex}.fac-tree-class-btn{color:#6b7280;width:100%;font:inherit;cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:5px 8px;font-size:12px;display:flex}.fac-tree-class-btn em{color:#94a3b8;font-size:11px;font-style:normal}.fac-tree-class-btn:hover{color:var(--ink);background:#e5e7eb}.fac-tree-class-btn.active{color:#1d4ed8;background:#dbeafe;border-color:#bfdbfe}.fac-tree-class-btn.active em{color:#1d4ed8}.fac-rooms{background:#fafafa;padding:14px;overflow:auto}.fac-room-grid{grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));align-content:start;gap:12px;display:grid}.fac-room-card{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;padding:12px;transition:border-color .12s,box-shadow .12s}.fac-room-card:hover{border-color:#cbd5e1}.fac-room-card.selected{border-color:var(--teal);box-shadow:0 0 0 1px var(--teal)}.fac-room-card-head{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px;display:flex}.fac-room-kicker{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:2px}.fac-room-card-head h4{font-family:var(--font-display);font-size:var(--text-base);word-break:break-all;margin:0;font-weight:600;line-height:1.25}.fac-room-links{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.fac-room-links button{font-size:var(--text-sm);color:#2563eb;cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:0;text-decoration:underline}.fac-room-meta{font-size:var(--text-sm);flex-wrap:wrap;gap:12px 18px;margin:0 0 10px;display:flex}.fac-room-meta div{gap:6px;display:flex}.fac-room-meta dt{color:var(--ink-soft);margin:0}.fac-room-meta dd{margin:0;font-weight:500}.status-active{color:var(--green)}.status-off{color:var(--ink-faint)}.fac-bed-map{border-top:1px solid var(--line-soft);flex-wrap:wrap;gap:4px;padding-top:4px;display:flex}.fac-bed-empty{font-size:var(--text-sm);color:var(--ink-faint)}.fac-bed-slot{cursor:pointer;color:#15803d;background:#dcfce7;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;width:28px;height:22px;padding:2px;display:inline-flex;position:relative}.fac-bed-slot.male{color:#1d4ed8;background:#dbeafe}.fac-bed-slot.female{color:#b91c1c;background:#fee2e2}.fac-bed-slot.occupied{color:#c2410c;background:#ffedd5}.fac-bed-slot.vacant{color:#15803d;background:#dcfce7}.fac-bed-slot.inactive{color:#9ca3af;background:#f3f4f6;border-color:#e5e7eb}.fac-bed-slot.picked{outline:2px solid var(--teal);outline-offset:1px}.fac-bed-slot.allocatable{cursor:pointer}.fac-bed-slot.allocatable:hover{filter:brightness(.95)}.fac-bed-slot.checkoutable{cursor:pointer}.fac-bed-slot.checkoutable:hover{outline:2px solid var(--red);outline-offset:1px}.fac-bed-icon{width:100%;height:100%;display:block}.fac-bed-tooltip{color:#f8fafc;min-width:180px;max-width:260px;font-size:var(--text-xs);text-align:left;white-space:normal;z-index:9999;background:#0f172a;border-radius:8px;flex-direction:column;gap:4px;padding:10px 12px;line-height:1.45;display:flex;box-shadow:0 8px 24px #0f172a47}.fac-bed-tooltip-fixed{pointer-events:none;position:fixed;transform:translate(-50%)}.fac-bed-tooltip-fixed:before{content:"";border:6px solid;border-color:#0000 #0000 #0f172a;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.fac-bed-tooltip-id{font-weight:700;font-size:var(--text-sm);color:#fff;border-bottom:1px solid #ffffff26;margin-bottom:2px;padding-bottom:4px}.fac-bed-tooltip strong{font-size:var(--text-sm);font-weight:600}.fac-bed-tooltip-muted{color:#94a3b8}.fac-bed-person{border-bottom:1px solid var(--line-soft);margin-bottom:14px;padding-bottom:12px}.fac-person-card{border:1px solid var(--line-soft);font-size:var(--text-sm);background:#f8fafc;border-radius:8px;margin-bottom:8px;padding:10px 12px}.fac-person-card strong{font-size:var(--text-base);margin-bottom:2px;display:block}.fac-person-code{color:var(--ink-soft);margin-bottom:8px;display:block}.fac-person-card dl{flex-direction:column;gap:4px;margin:0;display:flex}.fac-person-card dl div{justify-content:space-between;gap:10px;display:flex}.fac-person-card dt{color:var(--ink-soft);margin:0}.fac-person-card dd{text-align:right;margin:0;font-weight:500}.fac-vacant-copy{font-size:var(--text-sm);color:var(--ink-soft);margin:0 0 8px}.fac-detail{border-left:1px solid var(--line);background:#fff;padding:14px 12px;overflow:auto}.fac-detail-head h3{font-family:var(--font-display);font-size:var(--text-base);word-break:break-all;margin:0;font-weight:600;line-height:1.25}.fac-detail-meta{font-size:var(--text-sm);margin:10px 0 12px}.fac-detail-meta div{border-bottom:1px solid var(--line-soft);justify-content:space-between;gap:10px;padding:4px 0;display:flex}.fac-detail-meta dt{color:var(--ink-soft);margin:0}.fac-detail-meta dd{margin:0;font-weight:500}.fac-detail-actions{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.fac-detail-beds-label{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px;font-weight:700}.fac-detail-beds ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.fac-detail-bed{border:1px solid var(--line-soft);font:inherit;font-size:var(--text-sm);background:#fff;border-radius:8px;align-items:stretch;gap:8px;padding:8px 10px}.fac-detail-bed,.fac-detail-bed-main{width:100%;flex-direction:column;display:flex}.fac-detail-bed-main{text-align:left;cursor:pointer;font:inherit;background:0 0;border:0;align-items:flex-start;gap:2px;padding:0}.fac-detail-bed:hover{background:#f8fafc}.fac-detail-bed.active{background:#f0fdf4;border-color:#86efac}.fac-detail-bed-label{color:var(--ink);font-weight:600}.fac-detail-bed-id{font-size:var(--text-xs)}.fac-detail-bed-id,.fac-detail-bed-worker{color:var(--ink-soft)}.fac-detail-bed-vacant{color:var(--green);font-weight:500}.fac-detail-bed-actions{flex-wrap:wrap;gap:6px;display:flex}.fac-legend{border-top:1px solid var(--line-soft);font-size:var(--text-xs);color:var(--ink-soft);flex-direction:column;gap:6px;margin-top:16px;padding-top:12px;display:flex}.fac-legend span{align-items:center;gap:8px;display:flex}.fac-legend .dot{border-radius:3px;flex-shrink:0;width:12px;height:12px;font-style:normal}.fac-legend .dot.male{background:#dbeafe;border:1px solid #93c5fd}.fac-legend .dot.female{background:#fee2e2;border:1px solid #fca5a5}.fac-legend .dot.vacant{background:#dcfce7;border:1px solid #86efac}.fac-legend .dot.inactive{background:#f3f4f6;border:1px solid #d1d5db}.fac-empty-hint{color:var(--ink-soft);font-size:var(--text-base);text-align:center;padding:40px 20px}.fac-pager{font-size:var(--text-sm);color:var(--ink-soft);justify-content:center;align-items:center;gap:12px;padding:14px 0 4px;display:flex}.facilities-layout{grid-template-columns:280px 1fr;gap:10px;display:grid}.facilities-nav{border:1px solid var(--line);background:#fff;border-radius:10px;max-height:calc(100vh - 260px);padding:8px;overflow:auto}.fac-nav-camp{margin-bottom:8px}.fac-nav-camp-btn{border:1px solid var(--line-soft);text-align:left;cursor:pointer;background:#fff;border-radius:8px;flex-direction:column;gap:2px;width:100%;padding:8px;display:flex}.fac-nav-camp-btn strong{font-size:14px}.fac-nav-camp-btn span{color:var(--ink-soft);font-size:12px}.fac-nav-camp-btn.active{background:#f2fbf8;border-color:#9fd8c5}.fac-nav-buildings{flex-direction:column;gap:4px;margin-top:6px;padding-left:8px;display:flex}.fac-nav-building-btn{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:6px 8px;font-size:13px}.fac-nav-building-btn:hover{background:#f8fafc}.fac-nav-building-btn.active{color:#0f766e;background:#eaf7f2;font-weight:600}.facility-card{border:1px solid var(--line);background:#fff;border-radius:10px;overflow:hidden}.facility-head{border-bottom:1px solid var(--line-soft);background:#f8fffc;justify-content:space-between;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.facility-head h3{font-family:var(--font-display);font-size:var(--text-lg);margin:0;font-weight:600;line-height:1.2}.facility-head p{font-size:var(--text-sm);color:var(--ink-soft);margin:4px 0 0}.facility-actions{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.facility-body{padding:8px 10px 10px}.facility-block-open{border:1px solid var(--line-soft);border-radius:8px;overflow:hidden}.facility-block-head{border-bottom:1px solid var(--line-soft);background:#f8fafc;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.facility-block-head b{font-size:14px}.facility-block-head span{color:var(--ink-soft);margin-left:8px;font-size:12px}.facility-block{border:1px solid var(--line-soft);background:#fff;border-radius:8px;margin-bottom:8px}.facility-block summary{cursor:pointer;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:14px;list-style:none;display:flex}.facility-rows{gap:8px;padding:0 8px 8px}.facility-room-row,.facility-rows{flex-direction:column;display:flex}.facility-room-row{border:1px solid var(--line-soft);border-radius:8px;gap:6px;padding:8px}.facility-room-row>div:first-child{color:var(--ink-soft);flex-wrap:wrap;align-items:baseline;gap:10px;font-size:13px;display:flex}.facility-room-row>div:first-child b{color:var(--ink);font-size:14px}.facility-bed-list{flex-wrap:wrap;gap:6px;display:flex}.bed-chip{color:#0f172a;font-size:var(--text-sm);cursor:pointer;background:#f8fafc;border:1px solid #cbd5e1;border-radius:999px;padding:3px 9px}.bed-chip.off{opacity:.55}.analytics-grid{grid-template-columns:1fr 1fr;gap:14px;margin:14px 0;display:grid}.analytics-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.analytics-card{border:1px solid var(--line);background:#fff;border-radius:12px;padding:14px}.analytics-stack{background:#eef2f7;border-radius:999px;width:100%;height:18px;margin:8px 0;display:flex;overflow:hidden}.analytics-stack .seg{height:100%}.analytics-stack .seg.allocated{background:#2563eb}.analytics-stack .seg.pending{background:#f59e0b}.analytics-stack .seg.occupied{background:#16a34a}.analytics-stack .seg.vacant{background:#9ca3af}.analytics-stack .seg.male{background:#2563eb}.analytics-stack .seg.female{background:#db2777}.analytics-stack .seg.unspecified{background:#94a3b8}.analytics-legend.stacked{flex-direction:column;align-items:flex-start;gap:4px}.drill-link,button.drill-link{max-width:100%;color:inherit;font:inherit;text-align:left;white-space:normal;word-break:break-word;cursor:pointer;background:0 0;border:0;border-bottom:1px dotted #94a3b8;border-radius:0;margin:0;padding:0;text-decoration:none;display:inline}.drill-link:hover{color:#1d4ed8;border-bottom-color:#1d4ed8}.analytics-stack a.seg{min-width:3px;display:block}.analytics-stack a.seg:hover{filter:brightness(.9)}a.bar-track{text-decoration:none}a.bar-track,a.bar-track.split{display:flex}a.bar-track:hover{filter:brightness(.96)}.analytics-stat-list{font-size:var(--text-sm);flex-direction:column;gap:6px;margin:8px 0 0;display:flex}.analytics-stat-list div{border-bottom:1px solid var(--line-soft);justify-content:space-between;gap:12px;padding:4px 0;display:flex}.analytics-stat-list dt{color:var(--ink-soft);margin:0}.analytics-stat-list dd{margin:0;font-weight:600}.simple-table.compact td,.simple-table.compact th{padding:8px 10px}.analytics-legend{justify-content:space-between;gap:12px}.analytics-legend,.bar-legend{font-size:var(--text-sm);color:var(--ink-soft);display:flex}.bar-legend{gap:14px;margin:0 0 10px}.bar-legend span{align-items:center;gap:6px;display:inline-flex}.bar-legend .swatch{border-radius:3px;width:10px;height:10px;display:inline-block}.bar-fill.trade-allocated,.bar-legend .swatch.trade-allocated{background:#0d9488}.bar-fill.trade-unallocated,.bar-legend .swatch.trade-unallocated{background:#f97316}.bar-fill.dept-allocated,.bar-legend .swatch.dept-allocated{background:#4f46e5}.bar-fill.dept-unallocated,.bar-legend .swatch.dept-unallocated{background:#f59e0b}.bar-list{gap:10px}.bar-list,.bar-row{flex-direction:column;display:flex}.bar-row{gap:6px}.bar-head{font-size:var(--text-base);justify-content:space-between;gap:10px;display:flex}.bar-track{background:#eef2f7;border-radius:999px;width:100%;height:12px;overflow:hidden}.bar-track.split{display:flex}.bar-fill{flex:none;height:100%}.bar-fill.occupied{background:#16a34a}.bar-fill.neutral{background:#0ea5e9}.bar-fill.company-allocated{background:#2563eb}.bar-fill.company-unallocated{background:#f59e0b}.bar-fill.trade-allocated{background:#0d9488}.bar-fill.trade-unallocated{background:#f97316}.bar-fill.dept-allocated{background:#4f46e5}.bar-fill.dept-unallocated{background:#f59e0b}.tiny-legend{font-size:var(--text-sm);color:#6b7280}.muted{color:#9ca3af}.app-menu-btn{color:#fff;cursor:pointer;background:#151d2e;border:1px solid #2a3548;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:none}.app-menu-backdrop{z-index:40;background:#0b122066;border:0;padding:0;position:fixed;inset:0}.audit-camp-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;display:grid}.audit-camp-card{border:1px solid var(--line);background:#fff;border-radius:14px;padding:18px 18px 16px}.audit-camp-card h2{font-size:var(--text-lg);margin:0;font-weight:700}.audit-camp-card-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.audit-status{letter-spacing:.04em;text-transform:uppercase;background:var(--line-soft);color:var(--ink-soft);white-space:nowrap;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700}.audit-status.in_progress{background:var(--amber-bg);color:var(--amber)}.audit-status.completed{background:var(--teal-bg);color:var(--teal-dark)}.audit-progress{font-size:var(--text-sm);color:var(--ink-soft);align-items:center;gap:10px;display:flex}.audit-progress-track{background:var(--line-soft);border-radius:99px;flex:1;height:8px;overflow:hidden}.audit-progress-fill{background:var(--teal);border-radius:99px;height:100%}.audit-camp-actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.audit-subnav{gap:8px;margin:0 0 16px;display:flex}.audit-subnav a{border:1px solid var(--line);font-size:var(--text-sm);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-weight:600;display:inline-flex}.audit-subnav a.on{background:var(--navy);color:#fff;border-color:var(--navy)}.audit-subnav-count{background:var(--red);color:#fff;border-radius:99px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;display:inline-flex}.audit-subnav a.on .audit-subnav-count{color:var(--navy);background:#fff}.alloc-subnav{border-bottom:1px solid var(--line);scrollbar-width:none;align-items:center;gap:20px;margin:0 0 16px;display:flex;overflow-x:auto}.alloc-subnav::-webkit-scrollbar{display:none}.alloc-subnav a{font-size:var(--text-sm);color:var(--ink-soft);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;gap:8px;padding:10px 2px;font-weight:600;text-decoration:none;display:inline-flex;position:relative}.alloc-subnav a.on{color:var(--ink);border-bottom-color:var(--teal-dark)}.alloc-subnav-count{background:var(--red);color:#fff;border-radius:99px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;display:inline-flex}.audit-fix-banner{text-align:left;background:var(--amber-bg);width:100%;color:var(--amber);cursor:pointer;font:inherit;border:1px solid #f0d48a;border-radius:12px;align-items:center;gap:10px;margin:0 0 16px;padding:12px 14px;display:flex}.audit-fix-banner strong{color:var(--ink)}.audit-fix-filters{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.audit-fix-filters label{border:1px solid var(--line);background:#fff;border-radius:8px;flex:240px;align-items:center;gap:8px;padding:7px 10px;display:inline-flex}.audit-fix-filters input{font:inherit;border:0;outline:none;width:100%}.audit-fix-filters select{border:1px solid var(--line);font:inherit;background:#fff;border-radius:8px;padding:8px 10px}.audit-fix-list{flex-direction:column;gap:8px;display:flex}.audit-fix-card{border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 12px}.audit-fix-card.occupied,.audit-fix-card.other,.audit-fix-card.vacant,.audit-fix-card.wrong_person{border-left:4px solid var(--red)}.audit-fix-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.audit-fix-meta{flex-wrap:wrap;align-items:baseline;gap:2px 10px;margin:0;font-size:13px;display:flex}.audit-fix-meta strong{font-size:14px}.audit-fix-finding{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 12px;margin:8px 0 0;display:grid}.audit-fix-finding dt{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-faint);font-size:10px;font-weight:700}.audit-fix-finding dd{margin:1px 0 0;font-size:13px;font-weight:600;line-height:1.25}.audit-fix-note{color:var(--ink-soft);margin:6px 0 0;font-size:12px}.audit-fix-tools{flex-wrap:wrap;align-items:flex-start;gap:6px;margin-top:8px;display:flex}.audit-fix-tools>input,.audit-worker-picker{flex:200px;min-width:0}.audit-fix-tools>input{border:1px solid var(--line);font:inherit;border-radius:6px;padding:6px 8px;font-size:13px}.audit-fix-actions{flex-wrap:wrap;flex:100%;gap:6px;display:flex}.audit-worker-picker{flex-direction:column;gap:4px;display:flex}.audit-worker-picker input{border:1px solid var(--line);font:inherit;border-radius:6px;width:100%;padding:6px 8px;font-size:13px}.audit-worker-hits{flex-wrap:wrap;gap:4px;display:flex}.audit-worker-hits button{border:1px solid var(--line);font:inherit;cursor:pointer;background:#fff;border-radius:999px;padding:3px 8px;font-size:11px}.audit-worker-hits button.on{background:var(--navy);color:#fff;border-color:var(--navy)}.audit-history{border-top:1px solid var(--line-soft);margin-top:16px;padding-top:10px}.audit-history-label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:6px;font-size:11px;font-weight:700}.audit-history-line{align-items:center;gap:6px;display:flex}.audit-history-row{cursor:pointer;width:100%;font:inherit;font-size:var(--text-sm);color:var(--ink);background:0 0;border:0;justify-content:space-between;gap:8px;padding:6px 0;display:flex}.audit-history-row span:last-child{color:var(--ink-soft)}.audit-history-row:hover span:first-child{color:var(--teal-dark)}.audit-walk-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:12px;display:flex}.audit-walk-actions{flex-wrap:wrap;gap:8px;display:flex}.audit-signed{background:var(--teal-bg);color:var(--teal-dark);font-size:var(--text-sm);border-radius:8px;margin:0 0 12px;padding:8px 12px}.audit-board{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:260px minmax(0,1fr);min-height:calc(100vh - 280px);display:grid;overflow:hidden}.audit-tree{border-right:1px solid var(--line);background:#f3f4f6;padding:12px 10px;overflow:auto}.audit-tree-search{border:1px solid var(--line);width:100%;font:inherit;border-radius:8px;margin-bottom:8px;padding:8px 10px}.audit-filter{gap:4px;margin-bottom:10px;display:flex}.audit-filter button{border:1px solid var(--line);font:inherit;cursor:pointer;background:#fff;border-radius:8px;flex:1;padding:6px 4px;font-size:11px;font-weight:600}.audit-filter button.on{background:var(--navy);color:#fff;border-color:var(--navy)}.audit-tree-block{margin-bottom:8px}.audit-tree-block-btn{font:inherit;font-size:var(--text-sm);padding:6px;font-weight:700}.audit-tree-block-btn,.audit-tree-room{text-align:left;width:100%;cursor:pointer;background:0 0;border:0;justify-content:space-between;display:flex}.audit-tree-room{font:inherit;font-size:var(--text-sm);border-radius:8px;align-items:center;padding:7px 8px}.audit-tree-room em{color:var(--ink-faint);font-size:11px;font-style:normal}.audit-tree-room.active{box-shadow:0 0 0 1px var(--line);background:#fff}.audit-tree-room.checked{color:var(--teal-dark)}.audit-tree-room.issues{color:var(--red)}.audit-tree-room.locked{opacity:.45;cursor:not-allowed}.audit-room{padding:16px 18px 20px;overflow:auto}.audit-room-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.audit-room-head h2{font-size:var(--text-xl);margin:2px 0 0}.audit-room-nav{gap:6px;display:flex}.audit-bed-list{flex-direction:column;gap:10px;display:flex}.audit-bed{border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px 14px}.audit-bed.match{background:#f8fffc;border-color:#99e6c8}.audit-bed.occupied,.audit-bed.other,.audit-bed.vacant,.audit-bed.wrong_person{background:#fff8f8;border-color:#f0b4b4}.audit-bed-main{grid-template-columns:88px minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.audit-bed-code{font-weight:700;font-family:var(--font-mono);font-size:13px}.audit-bed-expected strong{display:block}.audit-bed-badge{background:var(--line-soft);color:var(--ink-soft);white-space:nowrap;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700}.audit-bed-badge.ok{background:var(--teal-bg);color:var(--teal-dark)}.audit-bed-badge.issue{background:var(--red-bg);color:var(--red)}.audit-bed-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;display:grid}.audit-choice{border:1px solid var(--line);min-height:44px;font:inherit;cursor:pointer;background:#fff;border-radius:10px;font-weight:700}.audit-choice.ok.on{background:var(--teal);color:#fff;border-color:var(--teal)}.audit-choice.issue.on{background:var(--red);color:#fff;border-color:var(--red)}.audit-issue{flex-direction:column;gap:8px;margin-top:10px;display:flex}.audit-issue-reasons{flex-wrap:wrap;gap:6px;display:flex}.audit-issue-reasons button{border:1px solid var(--line);font:inherit;cursor:pointer;background:#fff;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:600}.audit-issue-reasons button.on{background:var(--navy);color:#fff;border-color:var(--navy)}.audit-issue input{border:1px solid var(--line);width:100%;font:inherit;border-radius:8px;padding:9px 10px}.audit-room-foot{border-top:1px solid var(--line-soft);background:#fff;margin-top:16px;padding-top:14px;position:sticky;bottom:0}.audit-room-foot,.audit-room-foot-row{flex-wrap:wrap;gap:8px;display:flex}.audit-strip{border:1px solid var(--line);color:inherit;background:#fff;border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:0 0 16px;padding:10px 14px;text-decoration:none;display:flex}.audit-strip strong{margin-right:4px}.audit-strip .warn,.warn-cell{color:var(--red);font-weight:700}.dash-people{gap:6px;margin:10px 0 0;padding:0;list-style:none}.dash-people,.dash-people li{flex-direction:column;display:flex}.dash-people li{gap:1px}.issue-actions{flex-wrap:wrap;gap:10px;margin-top:2px;display:inline-flex}.alloc-issues-layout .dash-attention-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:14px}.alloc-issues-layout .dash-attention-card{border-radius:14px;flex-direction:column;gap:8px;padding:15px 16px 14px;display:flex;box-shadow:0 1px 2px #0f172a0a}.alloc-issues-layout .dash-attention-card h3{font-size:var(--text-base);justify-content:space-between;gap:10px;margin:0}.issue-head-title{gap:8px}.issue-count,.issue-head-title{align-items:center;display:inline-flex}.issue-count{border:1px solid var(--line);color:var(--ink-soft);white-space:nowrap;background:#f8fafc;border-radius:999px;justify-content:center;padding:3px 9px;font-size:11px}.issue-sub{font-size:var(--text-xs);color:var(--ink-soft);margin:0}.alloc-issues-layout .dash-people{gap:8px;margin-top:4px}.alloc-issues-layout .dash-people li{border:1px solid var(--line-soft);background:#fcfdff;border-radius:10px;gap:4px;padding:8px 10px}.issue-note{line-height:1.35}.issue-actions{margin-top:4px}.issue-view-all{margin-top:auto;padding-top:2px}.alloc-issues-focus{gap:12px;margin-bottom:20px;display:grid}.alloc-issues-tabs{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;display:grid}.alloc-issues-tab{border:1px solid var(--line);width:100%;color:var(--ink-soft);font:inherit;font-size:var(--text-sm);cursor:pointer;text-align:left;background:#fff;border-radius:10px;align-items:center;gap:8px;padding:10px 12px;font-weight:600;display:inline-flex}.alloc-issues-tab span{flex:1;min-width:0}.alloc-issues-tab em{font-style:normal;font-size:var(--text-xs);color:var(--ink-faint)}.alloc-issues-tab.on{color:#1e3a8a;background:#eff6ff;border-color:#93c5fd}.alloc-issues-panel{border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px}.alloc-issues-panel-head{justify-content:space-between;align-items:flex-start;gap:8px 14px;margin-bottom:10px;display:flex}.alloc-issues-panel-head h3{font-size:var(--text-base);align-items:center;gap:8px;margin:0;display:inline-flex}.alloc-issues-panel-head p{color:var(--ink-soft);font-size:var(--text-sm);margin:2px 0 0}.alloc-issues-search{margin-bottom:10px}.alloc-issues-search input{border:1px solid var(--line);width:100%;font:inherit;border-radius:8px;padding:9px 10px}.alloc-issues-table-wrap{border:1px solid var(--line-soft);border-radius:10px;overflow:auto}.alloc-issues-table td,.alloc-issues-table th{vertical-align:top}.alloc-issues-table td:last-child{min-width:150px}.dash-overview{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin-bottom:14px;display:grid}.dash-overview-card{border:1px solid var(--line);background:#fff;border-radius:12px;gap:4px;padding:12px 14px;display:grid}.dash-overview-card span{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-faint);font-weight:700}.dash-overview-card strong{font-family:var(--font-display);font-size:var(--text-2xl);flex-wrap:wrap;align-items:baseline;gap:6px;line-height:1.1;display:flex}.dash-overview-card strong em{color:var(--ink-soft);font-size:.62em;font-style:normal;font-weight:700}.dash-overview-card.male{background:linear-gradient(#eff6ff,#fff);border-color:#bfdbfe}.dash-overview-card.female{background:linear-gradient(#fdf2f8,#fff);border-color:#fbcfe8}.dash-gender-note{margin:-4px 0 14px}.dash-overview-card small{color:var(--ink-faint);font-size:var(--text-xs)}.dash-overview-card.warn strong{color:var(--red)}.dash-hero{border:1px solid var(--line);color:#fff;background:linear-gradient(135deg,#0b1220,#1e293b);border-radius:16px;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:16px;margin-bottom:18px;padding:20px 22px;display:grid}.dash-hero-label{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:#ffffffa6;font-weight:700}.dash-hero-value{font-family:var(--font-display);letter-spacing:-.04em;margin:4px 0 10px;font-size:clamp(2rem,4vw,2.75rem);font-weight:700;line-height:1.1}.dash-hero-meter{background:#ffffff26;border-radius:999px;height:8px;margin-bottom:10px;overflow:hidden}.dash-hero-meter span{border-radius:inherit;background:linear-gradient(90deg,#22c55e,#3b82f6);height:100%;display:block}.dash-hero-copy{font-size:var(--text-sm);color:#ffffffc7;margin:0;line-height:1.45}.dash-hero-stats{align-content:center;gap:10px;display:grid}.dash-hero-stats div{background:#ffffff14;border:1px solid #ffffff1a;border-radius:12px;padding:12px 14px}.dash-hero-stats span{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:#ffffff9e;display:block}.dash-hero-stats strong{font-family:var(--font-display);font-size:var(--text-2xl);margin:2px 0;font-weight:700;display:block}.dash-hero-stats strong.warn{color:#fca5a5}.dash-hero-stats small{font-size:var(--text-xs);color:#ffffff9e}.dash-kpis{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:14px}a.app-kpi.red:hover{border-color:#fca5a5;box-shadow:0 4px 14px #dc26261f}a.app-kpi.amber:hover{border-color:#fbbf24;box-shadow:0 4px 14px #d9770624}a.app-kpi.sky:hover{border-color:#7dd3fc;box-shadow:0 4px 14px #0ea5e924}.app-kpi.sky{background:#f0f9ff;border-color:#bae6fd}.app-kpi.teal{background:#f0fdfa;border-color:#99f6e4}.app-kpi.teal .app-kpi-icon{background:#0f8a7a}.dash-actions{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-bottom:20px;display:grid}.dash-action{border:1px solid var(--line);color:inherit;font-weight:600;font-size:var(--text-sm);background:#fff;border-radius:12px;align-items:center;gap:10px;padding:14px 16px;text-decoration:none;display:flex;box-shadow:0 1px 2px #0f172a0a}.dash-action:hover{background:#f8fafc;border-color:#93c5fd}.dash-action span{flex:1}.dash-action em{font-style:normal;font-size:var(--text-xs);color:#1d4ed8;background:#eff6ff;border-radius:999px;padding:2px 8px;font-weight:700}.dash-action em.warn{color:var(--red);background:#fef2f2}.dash-action svg:last-child{color:var(--ink-faint);flex-shrink:0}.dash-attention{margin-bottom:20px}.dash-attention-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.dash-attention-card{border:1px solid var(--line);background:#fff;border-radius:12px;padding:14px 16px}.dash-attention-card.urgent{background:#fffbfb;border-color:#fecaca}.dash-attention-card h3{font-size:var(--text-sm);align-items:center;gap:8px;margin:0 0 8px;font-weight:700;display:flex}.dash-attention-card p{font-size:var(--text-sm);color:var(--ink-soft);margin:0 0 8px}.dash-audit{margin-bottom:18px}.dash-transfer-alert{color:#991b1b;background:#fef2f2;border-color:#fecaca}.dash-transfer-alert .warn{color:#b91c1c;font-weight:700}.status-pill{text-transform:capitalize;color:#374151;background:#e5e7eb;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:700;display:inline-block}.status-pill.status-pending{color:#b91c1c;background:#fef2f2}.status-pill.status-approved{color:#047857;background:#ecfdf5}.status-pill.status-rejected{color:#c2410c;background:#fff7ed}.status-pill.status-cancelled{color:#6b7280;background:#f3f4f6}.xfer-page{gap:16px;display:grid}.xfer-hero{color:#fff;background:linear-gradient(135deg,#0e2f3af5,#164555eb),radial-gradient(circle at 100% 0,#0f8a7a47,#0000 42%);border-radius:16px;flex-wrap:wrap;justify-content:space-between;gap:16px 24px;padding:18px 20px;display:flex;box-shadow:0 10px 28px #0e2f3a2e}.xfer-kicker{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:#ffffffb8;align-items:center;gap:6px;margin-bottom:8px;font-weight:700;display:inline-flex}.xfer-hero .page-title{color:#fff;margin:0 0 6px}.xfer-hero .page-sub{color:#ffffffc7;max-width:56ch;margin:0}.xfer-hero-actions{align-items:flex-start;display:flex}.xfer-primary-btn{color:var(--navy);background:#fff;border-color:#fff;align-items:center;gap:8px;display:inline-flex}.xfer-primary-btn:hover{background:#f0fdfa}.xfer-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.xfer-kpi{border:1px solid var(--line);color:inherit;cursor:pointer;background:#fff;border-radius:14px;gap:4px;padding:12px 14px;text-decoration:none;transition:border-color .15s,box-shadow .15s,background .15s;display:grid}.xfer-kpi:hover{border-color:#94a3b8;box-shadow:0 2px 8px #0f172a0f}.xfer-kpi.is-active{border-color:var(--navy);box-shadow:inset 0 0 0 1px var(--navy)}.xfer-kpi span{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);font-weight:700}.xfer-kpi strong{font-family:var(--font-display);font-size:var(--text-stat);color:var(--navy);font-weight:700}.xfer-kpi.is-alert{background:#fff7f7;border-color:#fecaca}.xfer-kpi.is-alert strong{color:var(--red)}.xfer-kpi.is-alert.is-active{border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red)}.xfer-alert{color:#991b1b;font-size:var(--text-sm);background:#fef2f2;border:1px solid #fecaca;border-radius:12px;align-items:baseline;gap:6px;padding:12px 14px}.xfer-alert,.xfer-tabs{flex-wrap:wrap;display:flex}.xfer-tabs{gap:8px}.xfer-tab{border:1px solid var(--line);color:var(--ink-soft);font-size:var(--text-sm);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-weight:600;text-decoration:none;display:inline-flex}.xfer-tab em{text-align:center;min-width:1.5rem;color:var(--ink);font-style:normal;font-size:var(--text-xs);background:#eef2f7;border-radius:999px;padding:1px 6px;font-weight:700}.xfer-tab.active{background:var(--navy);border-color:var(--navy);color:#fff}.xfer-tab.active em{color:#fff;background:#ffffff29}.xfer-tab.warn em{background:var(--red-bg);color:var(--red)}.xfer-tab.active.warn em{color:#fff;background:#fff3}.xfer-empty{text-align:center;border:1px dashed var(--line);color:var(--ink-soft);background:#fff;border-radius:16px;justify-items:center;gap:8px;padding:48px 20px;display:grid}.xfer-empty h3{color:var(--ink);margin:4px 0 0}.xfer-empty p{max-width:42ch;margin:0 0 8px}.xfer-list{gap:10px;display:grid}.xfer-card{border:1px solid var(--line);background:#fff;border-radius:16px;gap:12px;padding:14px 16px;transition:border-color .15s,box-shadow .15s,transform .15s;display:grid}.xfer-card:hover{border-color:#cbd5e1;box-shadow:0 8px 20px #0f172a0d}.xfer-card.status-pending{border-left:4px solid var(--red)}.xfer-card.status-approved{border-left:4px solid var(--green)}.xfer-card.status-rejected{border-left:4px solid #c2410c}.xfer-card.status-cancelled{border-left:4px solid #9ca3af}.xfer-card-main{grid-template-columns:minmax(180px,1.1fr) minmax(220px,1.4fr) minmax(140px,.9fr);align-items:start;gap:16px;display:grid}.xfer-card-person{align-items:flex-start;gap:12px;display:flex}.xfer-avatar{background:var(--teal-bg);width:36px;height:36px;color:var(--teal-dark);border-radius:10px;flex:none;place-items:center;display:grid}.xfer-card-person strong{font-size:var(--text-lg);display:block}.xfer-meta-line{color:var(--ink-soft);font-size:var(--text-xs);flex-wrap:wrap;gap:6px 10px;margin-top:4px;display:flex}.xfer-code{font-family:var(--font-mono);color:var(--navy);font-weight:700}.xfer-route{border:1px solid var(--line-soft);background:#f8fafc;border-radius:12px;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:10px 12px;display:grid}.xfer-route-camp{gap:2px;min-width:0;display:grid}.xfer-route-camp span{font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);font-weight:700}.xfer-route-camp strong{font-size:var(--text-sm);color:var(--ink);overflow-wrap:anywhere}.xfer-route-camp em{font-style:normal;font-size:var(--text-xs);color:var(--ink-soft)}.xfer-route-camp.to strong{color:var(--teal-dark)}.xfer-route-arrow{color:var(--teal);flex-shrink:0}.xfer-card-side{justify-items:start;gap:6px;display:grid}.xfer-note{font-size:var(--text-xs);color:var(--ink-soft);margin:0;line-height:1.4}.xfer-card-actions{border-top:1px solid var(--line-soft);flex-wrap:wrap;gap:8px;padding-top:2px;display:flex}.xfer-compose{border:1px solid var(--line);background:#fff;border-radius:18px;padding:16px;animation:xfer-in .22s}@keyframes xfer-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.xfer-compose-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.xfer-compose-head h2{font-family:var(--font-display);font-size:var(--text-xl);margin:0 0 4px}.xfer-compose-head p{color:var(--ink-soft);font-size:var(--text-sm);max-width:60ch;margin:0}.xfer-compose-grid{grid-template-columns:1.1fr .9fr;gap:14px;display:grid}.xfer-panel{border:1px solid var(--line-soft);background:#f8fafc;border-radius:14px;min-height:280px;padding:12px}.xfer-panel-label{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px;font-weight:700;display:block}.xfer-search{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;gap:8px;margin-bottom:10px;padding:0 10px;display:flex}.xfer-search input{width:100%;font:inherit;background:0 0;border:0;outline:none;padding:10px 0}.xfer-panel-empty{text-align:center;color:var(--ink-soft);font-size:var(--text-sm);border:1px dashed var(--line);background:#ffffffb3;border-radius:10px;padding:28px 12px}.xfer-result-list,.xfer-selected-list{gap:8px;max-height:280px;display:grid;overflow:auto}.xfer-result-row{text-align:left;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;grid-template-columns:1.2fr 1fr auto;align-items:center;gap:10px;width:100%;padding:10px 12px;transition:border-color .15s,transform .15s;display:grid}.xfer-result-row:hover{border-color:var(--teal);transform:translateY(-1px)}.xfer-result-main{gap:2px;min-width:0;display:grid}.xfer-result-main strong{overflow-wrap:anywhere}.xfer-result-camp{min-width:0;font-size:var(--text-xs);color:var(--ink-soft);gap:2px;display:grid}.xfer-result-camp span{color:var(--ink);font-weight:600}.xfer-result-camp em{font-style:normal}.xfer-add-chip{background:var(--teal-bg);color:var(--teal-dark);font-size:var(--text-xs);border-radius:999px;align-items:center;gap:4px;padding:4px 8px;font-weight:700;display:inline-flex}.xfer-selected-row{border:1px solid var(--line);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.xfer-summary{background:var(--teal-bg);color:var(--teal-dark);font-size:var(--text-sm);border-radius:10px;margin-top:10px;padding:10px 12px}.xfer-compose-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.xfer-reject-modal{max-width:480px}@media (max-width:980px){.xfer-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.xfer-card-main,.xfer-compose-grid,.xfer-result-row{grid-template-columns:1fr}}@media (max-width:640px){.xfer-hero{padding:16px}.xfer-kpis{grid-template-columns:1fr 1fr}}.dash-section{margin-bottom:24px}.dash-section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;margin-bottom:12px;display:flex}.dash-camp-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-bottom:16px;display:grid}.dash-camp-card{border:1px solid var(--line);color:inherit;background:#fff;border-radius:14px;padding:14px 16px;text-decoration:none;display:block;box-shadow:0 1px 2px #0f172a0a}.dash-camp-card:hover{border-color:#93c5fd}.dash-camp-card.short{background:#fffbfb;border-color:#fecaca}.dash-camp-card-top{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px;display:flex}.dash-camp-card-top strong{font-size:var(--text-sm);line-height:1.3}.dash-camp-card-top span{font-size:var(--text-xs);color:var(--ink-soft);white-space:nowrap;font-weight:700}.dash-camp-meter{background:#eef2f6;border-radius:999px;height:6px;margin-bottom:12px;overflow:hidden}.dash-camp-meter span{border-radius:inherit;background:#2563eb;height:100%;display:block}.dash-camp-card.short .dash-camp-meter span{background:#dc2626}.dash-camp-stats{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.dash-camp-stats div{gap:2px;display:grid}.dash-camp-stats small{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-faint);font-size:10px}.dash-camp-stats strong{font-size:var(--text-base)}.dash-camp-stats strong.warn{color:var(--red)}.dash-table-wrap{margin-top:4px}.dash-table td,.dash-table th{vertical-align:middle}.dash-table-occ{align-items:center;gap:8px;min-width:120px;display:flex}.dash-table-meter{background:#eef2f6;border-radius:999px;flex:1;min-width:48px;height:6px;overflow:hidden}.dash-table-meter span{border-radius:inherit;background:#2563eb;height:100%;display:block}.dash-row-warn td{background:#fffbfb}.dash-meta,.dash-shortfall-note{margin-top:10px}@media (max-width:1180px){.dash-hero{grid-template-columns:1fr;gap:12px}.dash-hero-stats{align-content:start}.dash-actions,.dash-hero-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:720px){.alloc-issues-layout .dash-attention-grid{grid-template-columns:1fr}.alloc-issues-layout .dash-attention-card h3,.alloc-issues-panel-head{flex-direction:column;align-items:flex-start}.alloc-issues-tabs{grid-template-columns:1fr}}.audit-fix-room{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 10px 10px}.audit-fix-room-head{flex-wrap:wrap;align-items:baseline;gap:6px 12px;padding:4px 2px 8px;font-size:13px;display:flex}.audit-fix-room .audit-fix-card{border-radius:8px;margin-top:6px}.app-status.mismatch{background:var(--red-bg);color:var(--red);margin-left:6px}.app-alloc-shell{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.pane-switch{background:#eef1f5;gap:6px;padding:10px 12px 0;display:none}.pane-switch button{border:1px solid var(--line);min-height:40px;font:inherit;font-size:var(--text-sm);cursor:pointer;color:var(--ink);background:#fff;border-radius:8px;flex:1;padding:8px 10px;font-weight:600}.pane-switch button.on{color:#fff;background:#0b1220;border-color:#0b1220}.table-scroll{-webkit-overflow-scrolling:touch;width:100%;max-width:100%;overflow-x:auto}.table-scroll .simple-table{min-width:640px}.table-pager{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;padding:10px 14px 14px;display:flex}.maint-detail{grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);align-items:start;gap:16px;display:grid}.maint-detail .settings-card{max-width:none}.maint-dl{grid-template-columns:1fr 1fr;gap:10px 16px;margin:12px 0 18px;display:grid}.maint-dl dt{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft)}.maint-dl dd{margin:2px 0 0;font-weight:600}.maint-desc{white-space:pre-wrap;margin:0 0 18px;line-height:1.55}.maint-timeline{margin:0;padding:0;list-style:none}.maint-timeline li{border-top:1px solid var(--line-soft);padding:10px 0}.maint-timeline li:first-child{border-top:0}.maint-timeline p{font-size:var(--text-sm);margin:4px 0}.maint-head .maint-new-btn{white-space:nowrap}.maint-filters{margin-bottom:16px}.maint-search-row{flex-wrap:wrap;align-items:stretch;gap:8px;display:flex}.maint-search{border:1px solid var(--line);min-width:0;font:inherit;font-size:var(--text-base);background:#fff;border-radius:10px;flex:220px;padding:10px 12px}.maint-search-go{flex:none}.maint-filter-toggle.is-on{border-color:var(--teal);background:var(--teal-bg);color:var(--teal-dark)}.maint-filter-panel{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:none}.maint-filter-panel.open{display:flex}.maint-filter-panel select{border:1px solid var(--line);min-width:0;min-height:44px;font:inherit;background:#fff;border-radius:10px;flex:140px;padding:10px 12px}.maint-cards{flex-direction:column;gap:10px;margin-bottom:16px;display:none}.maint-card{border:1px solid var(--line);color:inherit;background:#fff;border-radius:14px;padding:14px 16px;text-decoration:none;display:block;box-shadow:0 1px 2px #0f172a0a}.maint-card:active{background:#f8fafc}.maint-card.empty{text-align:center;color:var(--ink-soft)}.maint-card.empty .btn{margin-top:12px}.maint-card-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.maint-card-num{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--ink-soft);font-weight:700}.maint-card-title{font-weight:700;font-size:var(--text-lg);margin-bottom:6px;line-height:1.3}.maint-card-loc{font-size:var(--text-sm);color:var(--ink-soft);gap:6px;margin-bottom:10px;line-height:1.4;display:flex}.maint-card-meta{font-size:var(--text-xs);color:var(--ink-faint);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.maint-fab{right:18px;bottom:calc(18px + env(safe-area-inset-bottom));background:var(--navy);color:#fff;z-index:40;cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;width:56px;height:56px;display:none;position:fixed;box-shadow:0 8px 24px #0f172a47}.maint-fab:active{transform:scale(.96)}.maint-table{display:block}.maint-modal{padding-bottom:0}.maint-modal-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.maint-modal-head h2{margin:0 0 4px}.maint-modal-head .settings-copy{margin:0}.maint-modal-close{border:1px solid var(--line);width:40px;height:40px;color:var(--ink-soft);cursor:pointer;background:#fff;border-radius:10px;flex:none;justify-content:center;align-items:center;display:inline-flex}.maint-steps{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.maint-step-dot{font-size:var(--text-xs);color:var(--ink-soft);background:#f1f5f9;border-radius:999px;padding:6px 10px;font-weight:600}.maint-step-dot.active{background:var(--navy);color:#fff}.maint-step-dot.done{color:#1d4ed8;background:#dbeafe}.maint-form-step{padding-bottom:8px}.maint-step-hint{font-size:var(--text-sm);color:var(--ink-soft);margin:0 0 14px;line-height:1.45}.maint-touch{min-height:48px;font-size:16px!important}textarea.maint-touch{min-height:120px}.maint-chip-grid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px;display:grid}.maint-chip{border:1px solid var(--line);min-height:48px;font:inherit;font-size:var(--text-sm);cursor:pointer;text-align:center;background:#fff;border-radius:12px;padding:10px 12px;font-weight:600}.maint-chip.selected{background:var(--navy);border-color:var(--navy);color:#fff}.maint-chip.priority-urgent.selected{background:#dc2626;border-color:#dc2626}.maint-chip.priority-high.selected{background:#ea580c;border-color:#ea580c}.maint-chip.priority-medium.selected{background:#2563eb;border-color:#2563eb}.maint-chip.priority-low.selected{background:#64748b;border-color:#64748b}.maint-priority-chips{grid-template-columns:repeat(2,minmax(0,1fr))}.maint-location-preview{font-size:var(--text-sm);align-items:flex-start;gap:8px;padding:12px 14px;font-weight:600;line-height:1.4;display:flex}.maint-location-preview,.maint-summary{border:1px solid var(--line-soft);background:#f8fafc;border-radius:12px}.maint-summary{gap:10px;margin-top:4px;padding:14px;display:grid}.maint-summary div{gap:2px;display:grid}.maint-summary span{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft)}.maint-summary strong{font-size:var(--text-sm)}.maint-modal-actions{background:var(--paper-raised);padding:14px 28px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--line-soft);z-index:2;margin:0 -28px;position:sticky;bottom:0}.maint-detail-head .stamp{align-self:flex-start}.maint-mobile-bar,.maint-mobile-bar-spacer,.maint-mobile-note{display:none}.maint-board{flex-direction:column;gap:0;display:flex}.maint-inbox-banner a{color:inherit;font-weight:700;text-decoration:underline}.maint-hero{color:#fff;background:linear-gradient(135deg,#0f172a,#334155);border:1px solid #1e293b;border-radius:16px;grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);gap:16px;margin-bottom:16px;padding:20px 22px;display:grid}.maint-hero-label{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:#ffffffa6;font-weight:700}.maint-hero-value{font-family:var(--font-display);letter-spacing:-.04em;margin:4px 0 8px;font-size:clamp(2rem,3.5vw,2.5rem);font-weight:700;line-height:1.1}.maint-hero-copy{font-size:var(--text-sm);color:#ffffffc7;margin:0}.maint-hero-stats{grid-template-columns:repeat(3,minmax(0,1fr));align-content:center;gap:10px;display:grid}.maint-hero-stat{color:inherit;font:inherit;text-align:left;cursor:pointer;background:#ffffff14;border:1px solid #ffffff1f;border-radius:12px;gap:2px;padding:12px 14px;display:grid}.maint-hero-stat:hover{background:#ffffff24}.maint-hero-stat span{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:#ffffff9e}.maint-hero-stat strong{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700}.maint-hero-stat strong.warn{color:#fca5a5}.maint-filter-panel-desktop{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.maint-filter-chips{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.maint-filter-chip{border:1px solid var(--line);font:inherit;font-size:var(--text-xs);cursor:pointer;color:var(--ink-soft);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-weight:600;display:inline-flex}.maint-filter-chip:hover{color:var(--ink);border-color:#93c5fd}.maint-section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:10px;display:flex}.maint-spotlight{margin-bottom:20px}.maint-spotlight-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.maint-spot-card{color:inherit;background:#fff;border:1px solid var(--line);border-left-width:4px;border-radius:14px;padding:14px 16px;text-decoration:none;display:block;box-shadow:0 1px 2px #0f172a0a}.maint-spot-card:hover{border-color:#93c5fd;box-shadow:0 4px 14px #2563eb1a}.maint-spot-card.priority-urgent{border-left-color:#dc2626}.maint-spot-card.priority-high{border-left-color:#ea580c}.maint-spot-card.priority-medium{border-left-color:#2563eb}.maint-spot-card.priority-low{border-left-color:#94a3b8}.maint-spot-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.maint-spot-num{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-soft);font-weight:700}.maint-spot-title{font-weight:700;font-size:var(--text-base);margin-bottom:8px;line-height:1.35}.maint-spot-foot{font-size:var(--text-xs);color:var(--ink-faint);flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.maint-loc{gap:2px;min-width:0;display:grid}.maint-loc-camp{font-weight:600;font-size:var(--text-sm);color:var(--ink)}.maint-loc-detail{font-size:var(--text-xs);color:var(--ink-soft);word-break:break-word;line-height:1.35}.maint-card-loc{align-items:flex-start}.maint-card-loc .maint-loc{flex:1;min-width:0}.maint-table-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.maint-table-new{flex-shrink:0}.maint-requests-table tbody tr{transition:background .12s}.maint-requests-table tbody tr:hover{background:#f8fafc}.maint-row-link{color:inherit;gap:2px;text-decoration:none;display:grid}.maint-row-link b{font-family:var(--font-mono);font-size:var(--text-sm)}.maint-row-link:hover b{color:#1d4ed8}.maint-cat,.maint-row-title{font-size:var(--text-sm);color:var(--ink-soft)}.maint-cat{font-weight:600}.maint-raised{font-size:var(--text-sm);display:block}.maint-raised-by{margin-top:0;display:block}.maint-row-go{text-align:right;width:36px}.maint-row-chevron{width:28px;height:28px;color:var(--ink-faint);border-radius:8px;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.maint-row-chevron:hover{color:#1d4ed8;background:#eff6ff}.maint-row.priority-urgent td:first-child{box-shadow:inset 3px 0 #dc2626}.maint-row.priority-high td:first-child{box-shadow:inset 3px 0 #ea580c}.maint-empty{color:var(--ink-soft);flex-direction:column;align-items:center;gap:10px;padding:28px 16px;display:flex}.maint-empty p{margin:0}.maint-analytics-filters{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:14px;display:flex}.maint-analytics-filters label{font-size:var(--text-sm);color:var(--ink-soft);font-weight:600}.maint-analytics-filters select{border:1px solid var(--line);min-width:220px;min-height:40px;font:inherit;background:#fff;border-radius:8px;padding:8px 10px}.maint-analytics-kpis{margin-bottom:14px}.maint-analytics{min-width:0}.maint-analytics-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:14px;min-width:0;display:grid}.maint-analytics-span{grid-column:1/-1;min-width:0}.maint-failure-empty,.maint-failure-note{max-width:72ch;margin:8px 0 0}.maint-failure-split{grid-template-columns:minmax(0,1.4fr) minmax(220px,.8fr);gap:28px;margin-top:16px;display:grid}.maint-failure-split h4{font-size:var(--text-sm);margin:0 0 10px;font-weight:600}.maint-failure-meta{color:var(--ink-soft);margin-left:8px;font-weight:500}.maint-cat-pick{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;gap:5px;margin:0;padding:0;display:grid}.maint-cat-pick.on .maint-chart-bar span{background:#0f766e}.maint-failure-more{color:#0f766e;font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;margin-top:10px;padding:0;font-weight:600}.maint-chart-list{flex-direction:column;gap:10px;display:flex}.maint-chart-row{gap:5px;display:grid}.maint-chart-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.maint-chart-head span{font-weight:600}.maint-chart-head span,.maint-chart-head strong{font-size:var(--text-sm)}.maint-chart-bar{background:#e6edf7;border-radius:999px;height:8px;overflow:hidden}.maint-chart-bar span{border-radius:inherit;background:#2563eb;height:100%;display:block}.maint-chart-bar.category span{background:#0d9488}.maint-chart-bar.age span{background:#f97316}.maint-pills{grid-template-columns:1fr 1fr;gap:8px;display:grid}.maint-pill{border:1px solid var(--line);font-size:var(--text-sm);background:#fff;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:10px 11px;display:flex}.maint-pill strong{font-family:var(--font-display)}.maint-status-stack{background:#eef2f6;border-radius:999px;height:14px;margin:8px 0;display:flex;overflow:hidden}.maint-status-stack .seg.open{background:#dc2626}.maint-status-stack .seg.in_progress{background:#2563eb}.maint-status-stack .seg.completed{background:#16a34a}.maint-status-stack .seg.cancelled{background:#94a3b8}.maint-status-legend{font-size:var(--text-xs);color:var(--ink-soft);flex-wrap:wrap;gap:6px 12px;display:flex}.maint-status-legend .dot{border-radius:50%;width:8px;height:8px;margin-right:5px;display:inline-block}.maint-status-legend .dot.open{background:#dc2626}.maint-status-legend .dot.in_progress{background:#2563eb}.maint-status-legend .dot.completed{background:#16a34a}.maint-status-legend .dot.cancelled{background:#94a3b8}.maint-month-chart{grid-template-columns:repeat(6,minmax(0,1fr));align-items:end;gap:8px;min-height:170px;margin-top:8px;display:grid}.maint-month-col{justify-items:center;gap:4px;display:grid}.maint-month-col .bars{align-items:flex-end;gap:4px;height:120px;display:flex}.maint-month-col .bars span{border-radius:4px 4px 0 0;width:12px;display:inline-block}.maint-month-col .bars .created{background:#2563eb}.maint-month-col .bars .completed{background:#16a34a}.maint-month-col small{font-size:var(--text-xs);color:var(--ink-soft)}@media (max-width:820px){.maint-filter-panel-desktop{display:none}.maint-filter-panel-desktop.open{display:flex}.maint-hero{grid-template-columns:1fr}.maint-hero-stats{grid-template-columns:1fr 1fr 1fr}.maint-spotlight,.maint-table-head .maint-table-new{display:none}.maint-analytics-grid,.maint-failure-split{grid-template-columns:minmax(0,1fr)}.maint-month-chart{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:1200px){.app-page{padding:20px 18px 36px}.main{padding:20px 18px 40px}.app-kpis,.app-kpis.five,.app-kpis.seven,.app-kpis.six{grid-template-columns:1fr 1fr}.div-occ-grid{grid-template-columns:1fr 1fr 1fr}.app-alloc{grid-template-columns:200px minmax(0,1fr);height:auto;min-height:calc(100vh - 110px)}.app-rail{border-top:1px solid #e6e8eb;border-left:0;grid-column:1/-1}.fac-board{grid-template-columns:220px minmax(0,1fr);min-height:auto}.fac-detail{border-left:0;border-top:1px solid var(--line)}.analytics-grid.three{grid-template-columns:1fr 1fr}.setup-grid,.setup-hub-cards{grid-template-columns:1fr}.setup-kpis{grid-template-columns:1fr 1fr 1fr}.app-welcome{display:none}.dash-hero,.maint-detail{grid-template-columns:1fr}.app-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.app-tabs::-webkit-scrollbar{display:none}.app-tab{white-space:nowrap}.app-logo img{height:36px}}@media (max-width:1024px){.app-menu-btn{display:inline-flex}.app-header-top{gap:10px;padding:8px 12px}.app-tabs{z-index:51;background:#0b1220;border-top:1px solid #1a2332;flex-direction:column;gap:0;max-height:min(70vh,520px);padding:8px 10px 14px;display:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.app-tabs.open{display:flex}.app-tab{border-bottom:1px solid #1a2332;border-left:3px solid #0000;min-height:44px;padding:12px 14px}.app-tab.active{background:#151d2e;border-bottom-color:#1a2332;border-left-color:#3b82f6}.pane-switch{display:flex}.app-alloc[data-pane=tree]{grid-template-columns:1fr}.app-alloc[data-pane=tree] .app-board,.app-alloc[data-pane=tree] .app-rail{display:none}.app-alloc[data-pane=board]{grid-template-columns:1fr}.app-alloc[data-pane=board] .app-rail,.app-alloc[data-pane=board] .app-tree{display:none}.app-alloc[data-pane=rail]{grid-template-columns:1fr}.app-alloc[data-pane=rail] .app-board,.app-alloc[data-pane=rail] .app-tree{display:none}.app-tree{min-height:50vh}.fac-board{grid-template-columns:1fr;min-height:auto}.fac-board[data-pane=detail] .fac-rooms,.fac-board[data-pane=detail] .fac-tree,.fac-board[data-pane=rooms] .fac-detail,.fac-board[data-pane=rooms] .fac-tree,.fac-board[data-pane=tree] .fac-detail,.fac-board[data-pane=tree] .fac-rooms{display:none}.audit-board{grid-template-columns:1fr;min-height:auto}.audit-board[data-pane=list] .audit-room,.audit-board[data-pane=room] .audit-tree{display:none}.fac-tree{border-right:0;min-height:50vh}.fac-detail,.fac-tree{max-height:none}.app-contracts{flex-direction:column}.sidebar.nested{-webkit-overflow-scrolling:touch;flex-direction:row;align-items:center;width:100%;min-height:auto;padding:6px 10px;overflow-x:auto}.sidebar.nested .nav{flex-flow:row;margin-top:0}.sidebar.nested .nav-btn{white-space:nowrap;min-height:40px}.sidebar.nested .brand,.sidebar.nested .nested-brand{display:none}.analytics-grid,.analytics-grid.three{grid-template-columns:1fr}.stat-row{grid-template-columns:1fr 1fr}.filters .filter-search{flex:100%;min-width:0;max-width:none}.search-select{width:100%;min-width:0;max-width:none}.app-table-search,.app-table-search input{width:100%}.filters .filters-actions{width:100%;margin-left:0}.filters .filters-actions .btn{justify-content:center;width:100%}.facilities-search{flex:100%;width:100%;min-width:0;max-width:none}.filter-count{width:100%;margin-left:0}.fac-room-grid{grid-template-columns:1fr 1fr}.app-avatar,.app-icon{width:40px;height:40px}}@media (max-width:820px){.app-root{flex-direction:column}.sidebar{align-items:center;width:100%;min-height:auto;padding:0 10px;overflow-x:auto}.nav,.sidebar{flex-direction:row}.nav{margin-top:0}.brand,.sidebar-foot{display:none}.main{padding:16px 14px 32px}.doc-row{gap:6px}.camp-access-grid,.doc-row,.field-row{grid-template-columns:1fr}.matrix-head,.matrix-row{grid-template-columns:64px minmax(0,1fr) 32px}.app-alloc{grid-template-columns:1fr;height:auto}.setup-kpis{grid-template-columns:1fr 1fr}.setup-dl div{grid-template-columns:1fr;gap:2px}.analytics-legend{flex-direction:column;gap:4px}.facilities-layout{grid-template-columns:1fr}.facilities-nav{max-height:none}.app-board{padding:14px 12px 24px}.app-board-head{flex-direction:column;align-items:stretch}.app-board-head .btn{justify-content:center;width:100%}.app-table-head{flex-direction:column;align-items:stretch}.settings-grid,.settings-grid-main{grid-template-columns:1fr}.settings-span{grid-column:auto}.page-head{align-items:stretch;gap:12px}.page-head>div:last-child{flex-wrap:wrap;gap:8px;display:flex}.div-occ-toolbar{flex-direction:column;align-items:stretch}.div-occ-toolbar .btn{justify-content:center;width:100%}.div-occ-hero{align-items:flex-start}.div-occ-overview-head{flex-direction:column;align-items:stretch}.div-occ-overview-head .btn{justify-content:center;width:100%}.div-occ-grid{grid-template-columns:1fr 1fr}.nat-mix-preview{display:none}.nat-mix-line{grid-template-columns:10px minmax(0,1fr) auto auto}.nat-mix-bar{display:none}.fac-board-head{align-items:stretch}.fac-head-actions{width:100%}.dash-actions,.dash-camp-grid{grid-template-columns:1fr 1fr}.maint-table{display:none}.maint-cards{display:flex}.maint-fab{display:inline-flex}.maint-head .maint-new-btn{display:none}.modal-actions{flex-wrap:wrap}.modal-actions .btn{flex:1;justify-content:center}}@media (max-width:640px){.app-kpis,.app-kpis.five,.app-kpis.seven,.app-kpis.six,.div-occ-grid,.fac-room-grid,.setup-kpis,.stat-row{grid-template-columns:1fr}.app-kpi-value{font-size:var(--text-stat)}.page-title{font-size:var(--text-2xl)}.login-card{padding:28px 20px 24px}.login-card h1{font-size:var(--text-2xl)}.overlay{align-items:flex-end;padding:0}.modal{max-width:none;max-height:92vh;padding:20px 16px calc(20px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0}.table-scroll .simple-table{min-width:560px}.app-table td,.app-table th{padding:8px}.btn{min-height:40px}.filters input,.filters select{flex:140px;min-width:0;min-height:40px}.table-pager{justify-content:center}.table-pager .hint{text-align:center;width:100%}.audit-walk-head{flex-direction:column;align-items:stretch}.audit-walk-actions .btn{flex:1;justify-content:center}.audit-bed-actions,.audit-camp-grid,.maint-detail,.maint-dl{grid-template-columns:1fr}.maint-modal-actions{padding:14px 16px calc(14px + env(safe-area-inset-bottom));margin:0 -16px}.maint-mobile-bar{z-index:35;padding:10px 14px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff5;gap:8px;display:flex;position:fixed;bottom:0;left:0;right:0}.maint-mobile-bar select{flex:1;min-width:0}.maint-mobile-bar .btn{flex:none;min-height:48px}.maint-mobile-note{left:0;right:0;bottom:calc(68px + env(safe-area-inset-bottom));z-index:36;border-top:1px solid var(--line);background:#fff;padding:12px 14px;display:block;position:fixed;box-shadow:0 -8px 24px #0f172a14}.maint-mobile-note-actions{gap:8px;margin-top:10px;display:flex}.maint-mobile-note-actions .btn{flex:1;justify-content:center;min-height:44px}.maint-mobile-bar-spacer{height:calc(72px + env(safe-area-inset-bottom));display:block}.maint-detail-side .maint-note-field,.maint-detail-side .maint-save-note,.maint-detail-side select.maint-touch{display:none}.maint-detail-side .maint-close-panel select{width:100%;display:block}.dash-actions,.dash-attention-grid,.dash-camp-grid,.dash-hero-stats{grid-template-columns:1fr}.audit-bed-main{grid-template-columns:1fr auto}.audit-bed-code{grid-column:1/-1}.audit-fix-finding{grid-template-columns:1fr}}.bedding-status{font-size:var(--text-xs);letter-spacing:.02em;border-radius:999px;align-items:center;gap:4px;padding:3px 9px;font-weight:650;display:inline-flex}.bedding-status.due{background:var(--amber-bg);color:var(--amber)}.bedding-status.ok{background:var(--green-bg);color:var(--green)}.bedding-page .chip input{margin-right:6px}.bedding-page .btn.small svg{margin-right:4px}.bedding-page .page-sub{margin-top:4px}.bedding-toolbar{justify-content:space-between;gap:10px;margin:0 0 14px}.bedding-search-group,.bedding-toolbar{flex-wrap:wrap;align-items:center;display:flex}.bedding-search-group{flex:auto;gap:8px;min-width:0}.bedding-search{width:min(320px,100%);min-width:180px;flex:0 320px}.bedding-camp,.bedding-search{border:1px solid var(--line);font:inherit;font-size:var(--text-base);background:#fff;border-radius:10px;padding:9px 12px}.bedding-camp{width:160px;flex:0 0 160px}.bedding-search-group .btn{flex:none}.bedding-status-tabs{border:1px solid var(--line);background:#eef0f2;border-radius:10px;margin-left:auto;padding:3px;display:inline-flex}.bedding-toolbar .filter-search{flex:220px;min-width:180px}.bedding-toolbar select{min-width:140px}.bedding-tab{color:var(--ink-soft);font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:7px 12px;font-weight:650}.bedding-tab.is-on{color:var(--ink);background:#fff;box-shadow:0 1px 2px #0f172a14}.bedding-date-filters{border:1px solid var(--line);background:#f8fafb;border-radius:12px;flex-wrap:wrap;align-items:end;gap:12px 16px;margin:0 0 14px;padding:12px 14px;display:flex}.bedding-date-group{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.bedding-date-label{font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);min-width:72px;font-weight:700}.bedding-date-group input[type=date]{border:1px solid var(--line);height:34px;font:inherit;background:#fff;border-radius:8px;padding:0 8px}.bedding-date-actions{gap:8px;margin-left:auto;display:flex}.bedding-list{border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;gap:0;display:flex;overflow:hidden}.bedding-list-head,.bedding-row{grid-template-columns:minmax(150px,1.4fr) minmax(72px,.7fr) minmax(110px,1fr) 64px 88px minmax(110px,.85fr) 140px minmax(168px,auto);align-items:center;gap:10px;padding:8px 12px;display:grid}.bedding-list-head{border-bottom:1px solid var(--line);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);background:#f8f9fb;font-weight:700}.bedding-row{box-shadow:none;background:#fff;border:0;border-bottom:1px solid var(--line-soft);border-radius:0}.bedding-row:last-child{border-bottom:0}.bedding-row.is-due{background:#fffdf5;box-shadow:inset 3px 0 #d97706}.bedding-row.is-fresh{background:#f3fbf8;box-shadow:inset 3px 0 #0f8a7a}.bedding-pill.fresh{color:#0f766e;background:#d1fae5}.bedding-row-who{flex-direction:column;gap:0;min-width:0;line-height:1.25;display:flex}.bedding-row-who strong{font-size:var(--text-base);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-weight:650;overflow:hidden}.bedding-row-who span{font-size:var(--text-xs);color:var(--ink-faint);font-family:var(--font-mono)}.bedding-cell{font-size:var(--text-sm);color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.bedding-row-meta{flex-wrap:nowrap;align-items:center;gap:6px;min-width:0;display:flex}.bedding-pill{letter-spacing:.03em;text-transform:uppercase;border-radius:999px;flex:none;align-items:center;padding:2px 7px;font-size:10px;font-weight:700;display:inline-flex}.bedding-pill.due{color:#b45309;background:#fef3c7}.bedding-pill.ok{color:#15803d;background:#dcfce7}.bedding-pill.skip{background:var(--line-soft);color:var(--ink-soft)}.bedding-row.is-skip{opacity:.88}.bedding-set{font-size:var(--text-sm);color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;font-weight:600;display:inline;overflow:hidden}.bedding-set em{display:none}.bedding-row-dates{flex-direction:column;gap:0;min-width:0;line-height:1.25;display:flex}.bedding-row-dates strong{font-size:var(--text-sm);font-variant-numeric:tabular-nums;font-weight:650}.bedding-row-dates span{font-size:var(--text-xs);color:var(--ink-faint);font-variant-numeric:tabular-nums;text-transform:none;letter-spacing:0;margin:0;font-weight:500}.bedding-row-action{flex-wrap:wrap;justify-content:flex-end;justify-self:end;gap:6px;display:flex}.bedding-row-action .btn{white-space:nowrap;justify-content:center;min-width:72px;padding:5px 10px}.bedding-empty{border:1px dashed var(--line);color:var(--ink-soft);background:#fafbfc;border-radius:12px;align-items:flex-start;gap:12px;padding:28px 18px;display:flex}.bedding-empty strong{color:var(--ink);margin-bottom:4px;display:block}.bedding-empty p{font-size:var(--text-sm);margin:0}.bedding-issue-items{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0 16px;display:grid}.bedding-issue-item{border:1px solid var(--line);cursor:pointer;font:inherit;text-align:left;background:#fff;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.bedding-issue-item small{color:var(--ink-faint);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;font-weight:650}.bedding-issue-item.is-on{border-color:var(--teal);background:var(--teal-bg);color:var(--teal-dark)}.bedding-issue-item.is-on small{color:var(--teal-dark)}.bedding-modal{max-width:520px}.bedding-modal-actions{flex-wrap:wrap;gap:8px}@media (max-width:900px){.bedding-toolbar{flex-direction:column;align-items:stretch}.bedding-search-group{width:100%}.bedding-search{flex:100%;width:100%}.bedding-camp{flex:140px;width:auto}.bedding-status-tabs{justify-content:stretch;width:100%;margin-left:0}.bedding-tab{text-align:center;flex:1}.bedding-list-head{display:none}.bedding-row{grid-template-columns:1fr auto;gap:6px 10px;padding:10px 12px}.bedding-row-who{grid-column:1/2}.bedding-row-action{flex-direction:column;grid-area:1/2/2/3;place-self:start end;align-items:stretch}.bedding-cell,.bedding-row-dates,.bedding-row-meta{grid-column:1/-1}.bedding-row-dates{flex-direction:row;align-items:baseline;gap:8px}.bedding-row-action .btn{width:100%;min-width:96px}.bedding-issue-items{grid-template-columns:1fr}}.admin-access-tabs{border:1px solid var(--line);background:#f8fafc;gap:4px;margin:0 0 16px;padding:4px}.admin-access-tab,.admin-access-tabs{border-radius:999px;display:inline-flex}.admin-access-tab{font-size:var(--text-sm);color:var(--ink-soft);align-items:center;padding:7px 14px;font-weight:650;text-decoration:none}.admin-access-tab.is-on{color:#fff;background:#0f8a7a}.perm-matrix-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.perm-matrix-legend{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.perm-chip{border:1px solid var(--line);font-size:var(--text-xs);background:#fff;border-radius:999px;align-items:baseline;gap:6px;padding:6px 10px;display:inline-flex}.perm-chip strong{font-weight:700}.perm-chip em{color:var(--ink-faint);font-style:normal}.perm-chip.full{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.perm-chip.limited{color:#c2410c;background:#fff7ed;border-color:#fed7aa}.perm-chip.view{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.perm-chip.none{color:#64748b;background:#f8fafc;border-color:#e2e8f0}.perm-matrix-card{border:1px solid var(--line);background:#fff;border-radius:14px;overflow:hidden}.perm-matrix-card-title{border-bottom:1px solid var(--line);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);padding:12px 16px;font-weight:700}.perm-matrix-controls{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:12px 18px;padding:12px 16px 14px;display:flex}.perm-matrix-control{flex-direction:column;gap:6px;min-width:260px;display:flex}.perm-matrix-control label{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);font-weight:700}.perm-matrix-control-row{align-items:center;gap:10px;display:flex}.perm-matrix-control input{flex:1;min-width:170px}.perm-matrix-scroll{overflow:auto}.perm-matrix-table{border-collapse:collapse;width:100%;min-width:720px}.perm-matrix-table td,.perm-matrix-table th{border-bottom:1px solid var(--line-soft);vertical-align:middle;padding:10px 12px}.perm-matrix-table thead th{z-index:1;text-align:center;font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);background:#f8fafc;position:sticky;top:0}.perm-matrix-table thead th small{text-transform:none;letter-spacing:0;color:var(--ink-faint);margin-top:2px;font-weight:500;display:block}.perm-action-head{width:44px;color:var(--ink-soft);text-align:center!important;font-size:11px!important}.perm-role-boundary-left{box-shadow:inset -1px 0 #0f172a0f;border-left:2px solid #cbd5e1!important}.perm-crud-cell{text-align:center;padding:8px 4px!important}.perm-crud-check{border:1px solid var(--line);width:40px;height:34px;color:var(--ink-faint);cursor:pointer;-webkit-user-select:none;user-select:none;background:#f8fafc;border-radius:8px;justify-content:center;align-items:center;gap:0;display:inline-flex}.perm-crud-check input{opacity:0;pointer-events:none;position:absolute}.perm-crud-check span{letter-spacing:.02em;font-size:12px;font-weight:800}.perm-crud-check.is-on.perm-crud-read{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.perm-crud-check.is-on.perm-crud-write{color:#c2410c;background:#fff7ed;border-color:#fdba74}.perm-crud-check.is-on.perm-crud-delete{color:#047857;background:#ecfdf5;border-color:#6ee7b7}.perm-crud-check:has(input:disabled){opacity:.7;cursor:not-allowed}.perm-crud-na{color:var(--ink-faint);font-size:12px}.perm-module-col{min-width:260px;text-align:left!important}.perm-matrix-table tbody th{text-align:left;z-index:2;border-right:1px solid var(--line-soft);background:#fff;font-weight:500;position:sticky;left:0}.perm-matrix-table thead th.perm-module-col{z-index:4;background:#f8fafc;position:sticky;left:0}.perm-matrix-table tbody th strong{font-size:var(--text-sm);color:var(--ink);font-weight:700;display:block}.perm-matrix-table tbody th span{font-size:var(--text-xs);color:var(--ink-faint);margin-top:2px;display:block}.perm-matrix-category th{border-top:1px solid var(--line);border-bottom:1px solid var(--line-soft);text-align:left;z-index:3;padding:10px 12px;position:sticky;left:0;background:#f1f5f9!important}.perm-matrix-category th strong{font-size:var(--text-sm);color:var(--ink);letter-spacing:.01em;font-weight:750;display:inline}.perm-matrix-category th span{font-size:var(--text-xs);color:var(--ink-faint);margin-top:0;margin-left:8px;font-weight:500;display:inline}.perm-matrix-table td{text-align:center}.perm-level{border:1px solid var(--line);min-width:108px;font-size:var(--text-sm);background:#fff;border-radius:8px;padding:6px 8px;font-weight:650}.perm-level-full{color:#047857;background:#ecfdf5;border-color:#6ee7b7}.perm-level-limited{color:#c2410c;background:#fff7ed;border-color:#fdba74}.perm-level-view{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.perm-level-none{color:#64748b;background:#f8fafc;border-color:#e2e8f0}.perm-level:disabled{opacity:.85;cursor:not-allowed}@media (max-width:900px){.perm-matrix-head{flex-direction:column}}.page-eyebrow{font-size:var(--text-sm);color:var(--ink-soft);margin:0 0 6px}.page-eyebrow a{color:var(--teal-dark);font-weight:600;text-decoration:none}.page-eyebrow a:hover{text-decoration:underline}.system-log-action{white-space:nowrap;font-size:11px}.system-log-detail td{background:#f8fffc}.system-log-detail-grid{font-size:var(--text-sm);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px 16px;padding:8px 4px 4px;display:grid}.system-log-detail-grid strong{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);margin-bottom:2px;font-size:11px;display:block}.system-log-meta{grid-column:1/-1}.system-log-meta pre{border:1px solid var(--line-soft);max-height:220px;font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;background:#fff;border-radius:8px;margin:0;padding:10px 12px;font-size:12px;overflow:auto}.system-log-pager{align-items:center;gap:12px;margin-top:14px;display:flex}.pa-page{flex-direction:column;gap:14px;display:flex}.pa-hero{color:#fff;background:linear-gradient(135deg,#0b1220,#1e293b 58%,#0f766e 160%);border:1px solid #1e293b;border-radius:16px;grid-template-columns:minmax(0,1.2fr) minmax(280px,.95fr);gap:16px;padding:20px 22px;display:grid}.pa-hero-label{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:#ffffffa6;font-weight:700}.pa-hero-value{font-family:var(--font-display);letter-spacing:-.04em;margin:4px 0 10px;font-size:clamp(2rem,3.6vw,2.6rem);font-weight:700;line-height:1.1}.pa-hero-meter{background:#ffffff24;border-radius:999px;max-width:280px;height:8px;margin-bottom:10px;overflow:hidden}.pa-hero-meter span{border-radius:inherit;background:linear-gradient(90deg,#2dd4bf,#38bdf8);height:100%;display:block}.pa-hero-copy{font-size:var(--text-sm);color:#ffffffc7;max-width:52ch;margin:0 0 14px;line-height:1.45}.pa-hero-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pa-hero-actions .btn.secondary{color:#fff;background:#ffffff1a;border-color:#ffffff38}.pa-hero-actions .btn.secondary:hover{background:#ffffff2e;border-color:#ffffff59}.pa-hero-actions .pa-month select{color:#fff;background:#ffffff1a;border-color:#ffffff38}.pa-hero-actions .pa-month select option{color:#111827;background:#fff}.pa-hero-stats{grid-template-columns:1fr 1fr;align-content:center;gap:10px;display:grid}.pa-hero-stat{color:inherit;font:inherit;text-align:left;cursor:pointer;background:#ffffff14;border:1px solid #ffffff1f;border-radius:12px;gap:2px;padding:12px 14px;display:grid}.pa-hero-stat.is-on,.pa-hero-stat:hover{background:#ffffff29}.pa-hero-stat span{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:#ffffff9e}.pa-hero-stat strong{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;line-height:1.1}.pa-hero-stat small{font-size:var(--text-xs);color:#ffffff9e}.pa-insights{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.pa-insight{border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px 14px 12px}.pa-insight-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px;display:flex}.pa-insight-head strong{color:var(--navy);font-size:13px;font-weight:700}.pa-insight-head span{color:var(--ink-soft);white-space:nowrap;font-size:11px}.pa-insight-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.pa-insight-row{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;grid-template-columns:minmax(0,34%) minmax(0,1fr) auto;align-items:center;gap:8px;padding:2px 0;display:grid}.pa-insight-row:hover .pa-insight-label{color:var(--teal-dark)}.pa-insight-row.is-static{cursor:default}.pa-insight-label{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.pa-insight-track{background:#eef1f3;border-radius:999px;height:8px;display:block;overflow:hidden}.pa-insight-track i{border-radius:inherit;height:100%;display:block}.pa-insight-val{color:var(--ink-soft);white-space:nowrap;text-align:right;min-width:5.5em;font-size:11px}.pa-toolbar{justify-content:space-between;gap:12px}.pa-toolbar,.pa-toolbar-actions{flex-wrap:wrap;align-items:center;display:flex}.pa-toolbar-actions{gap:8px}.pa-toolbar-actions .btn.is-active{border-color:var(--teal);color:var(--teal-dark);background:var(--teal-bg)}.pa-month{align-items:center;gap:6px;display:inline-flex}.pa-month select{border:1px solid var(--line);min-width:170px;height:34px;font:inherit;background:#fff;border-radius:8px;padding:0 10px}.pa-views{background:#eef1f3;border-radius:12px;gap:4px;max-width:100%;padding:4px;display:inline-flex;overflow-x:auto}.pa-view-btn{color:var(--ink-soft);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:9px;align-items:center;gap:8px;padding:8px 12px;display:inline-flex}.pa-view-btn svg{flex-shrink:0}.pa-view-text{flex-direction:column;align-items:flex-start;gap:1px;line-height:1.15;display:flex}.pa-view-text strong{font-size:13px;font-weight:700}.pa-view-text em{color:inherit;opacity:.72;font-size:10px;font-style:normal}.pa-view-btn.is-on{background:var(--teal);color:#fff}.pa-chevron-open{transform:rotate(180deg)}.pa-filters-panel{border:1px solid var(--line);background:#fff;border-radius:14px;flex-direction:column;gap:10px;padding:12px 14px;display:flex}.pa-filters-grid{grid-template-columns:minmax(160px,1.4fr) repeat(5,minmax(120px,1fr)) auto repeat(2,88px);align-items:center;gap:8px;display:grid}.pa-filters-grid select,.pa-num,.pa-search{border:1px solid var(--line);height:36px;font:inherit;background:#fff;border-radius:8px;min-width:0;padding:0 10px}.pa-num{width:88px}.pa-check{color:var(--ink-soft);white-space:nowrap;padding:0 4px;font-size:13px;display:inline-flex}.pa-check,.pa-chips{align-items:center;gap:6px}.pa-chips{flex-wrap:wrap;display:flex}.pa-chip{color:var(--teal-dark);font:inherit;cursor:pointer;background:#f0fdfa;border:1px solid #cce8e2;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.pa-chip:hover{background:#ccfbf1}.pa-chip-clear{color:var(--ink-soft);font:inherit;cursor:pointer;background:0 0;border:0;padding:4px 6px;font-size:12px;font-weight:600}.pa-chip-clear:hover{color:var(--ink)}.pa-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:14px;display:grid}.pa-main{min-width:0}.pa-panel{border:1px solid var(--line);background:#fff;border-radius:14px;overflow:hidden}.pa-panel-head{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:flex-end;gap:12px;padding:14px 16px 12px;display:flex}.pa-panel-head h2{color:var(--navy);margin:0;font-size:15px;font-weight:700}.pa-panel-head p{margin:3px 0 0}.pa-panel-count,.pa-panel-head p{color:var(--ink-soft);font-size:12px}.pa-panel-count{white-space:nowrap;font-weight:600}.pa-table td,.pa-table th{vertical-align:middle}.pa-click-row{cursor:pointer}.pa-click-row:hover td{background:#f8fffc}.pa-pct{color:var(--teal-dark);font-variant-numeric:tabular-nums}.pa-badge{background:#eef1f3;border-radius:999px;justify-content:center;min-width:1.6em;padding:2px 7px;font-size:12px;font-weight:700;display:inline-flex}.pa-badge.is-multi{color:var(--teal-dark);background:#ecfdf5}.pa-empty{text-align:center;color:var(--ink-soft);padding:28px 12px;font-size:13px}.pa-pager{border-top:1px solid var(--line-soft);margin:0;padding:10px 14px 12px}.pa-side{flex-direction:column;gap:12px;display:flex;position:sticky;top:12px}.pa-side-block{border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px}.pa-side-tip{background:linear-gradient(#f8fffc,#fff)}.pa-side-tip p{color:var(--ink-soft);margin:0 0 12px;font-size:12px;line-height:1.45}.pa-side-tip em{color:var(--ink);font-style:normal;font-weight:700}.pa-side-kpis{grid-template-columns:1fr 1fr;gap:8px;display:grid}.pa-side-kpis div{border:1px solid var(--line-soft);background:#fff;border-radius:10px;padding:8px 10px}.pa-side-kpis span{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);font-size:10px;display:block}.pa-side-kpis strong{font-family:var(--font-display);color:var(--navy);font-size:18px}.pa-side-head{color:var(--navy);align-items:center;gap:8px;margin-bottom:12px;display:flex}.pa-side-head svg{color:var(--teal)}.pa-rank{gap:10px;margin:0;list-style:none}.pa-rank,.pa-rank-btn{flex-direction:column;padding:0;display:flex}.pa-rank-btn{text-align:left;cursor:pointer;width:100%;font:inherit;background:0 0;border:0;gap:5px}.pa-rank-top{grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.pa-rank-top em{color:var(--ink-soft);background:#eef1f3;border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-style:normal;font-weight:700;display:inline-flex}.pa-rank-top strong{font-variant-numeric:tabular-nums;font-size:12px}.pa-rank-btn:hover .pa-rank-name,.pa-rank-top strong{color:var(--teal-dark)}.pa-rank-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.pa-rank-meta{color:var(--ink-soft);font-size:11px}.pa-meter{background:#eef1f3;border-radius:999px;width:100%;height:6px;overflow:hidden}.pa-meter>span{background:var(--teal);border-radius:inherit;height:100%;display:block}.pa-dist{background:#eef1f3;border-radius:999px;min-width:88px;height:10px;display:flex;overflow:hidden}.pa-dist>span{height:100%;display:block}.pa-detail-row td,.pa-row-open td{background:#f8fffc}.pa-detail-row td{padding-top:0}.pa-detail{flex-wrap:wrap;gap:8px;padding:8px 0 12px;display:flex}.pa-detail-lead{color:var(--ink-soft);flex:100%;margin:0 0 4px;font-size:13px}.pa-detail-lead strong{color:var(--ink)}.pa-detail-item{border:1px solid var(--line-soft);background:#fff;border-radius:10px;grid-template-columns:auto auto;gap:2px 8px;min-width:160px;max-width:320px;padding:8px 10px;display:grid}.pa-detail-bar{background:#eef1f3;border-radius:999px;grid-column:1/-1;height:5px;margin-bottom:4px;overflow:hidden}.pa-detail-bar i{border-radius:inherit;height:100%;display:block}.pa-detail-item strong{color:var(--teal-dark);font-size:14px}.pa-detail-item span{color:var(--ink-soft);font-size:12px}.pa-detail-item em{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;font-size:12px;font-style:normal;overflow:hidden}.pa-matrix th{max-width:120px;font-size:11px}.pa-cell-on{color:var(--teal-dark);font-weight:700}.pa-split{flex-direction:column;gap:14px;padding:14px 16px 18px;display:flex}.pa-split-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 18px;display:flex}.pa-split-lenses{background:#eef1f3;border-radius:10px;gap:4px;padding:3px;display:inline-flex}.pa-split-lens{color:var(--ink-soft);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:7px 12px;font-size:13px;font-weight:600;display:inline-flex}.pa-split-lens em{background:#0000000f;border-radius:999px;padding:1px 7px;font-size:11px;font-style:normal;font-weight:700}.pa-split-lens.is-on{background:var(--teal);color:#fff}.pa-split-lens.is-on em{background:#ffffff38}.pa-split-hint{color:var(--ink-soft);max-width:52ch;margin:0;font-size:12px;line-height:1.4}.pa-split-pills{flex-wrap:wrap;gap:8px;display:flex}.pa-split-pill{text-align:left;border:1px solid var(--line);cursor:pointer;max-width:200px;font:inherit;background:#fff;border-radius:10px;gap:2px;padding:8px 10px;display:grid}.pa-split-pill strong{color:var(--teal-dark);font-size:12px}.pa-split-pill span{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.pa-split-pill:hover{background:#f8fffc;border-color:#99e6c8}.pa-split-pill.is-on{border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal);background:#f0fdfa}.pa-split-empty{justify-items:center;gap:10px;padding:36px 16px;display:grid}.pa-split-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.pa-split-card{border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;gap:10px;padding:12px 14px;display:flex}.pa-split-card-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.pa-split-card-head strong{color:var(--navy);font-size:14px;display:block}.pa-split-card-head>div>span{color:var(--ink-soft);margin-top:2px;font-size:11px;display:block}.pa-split-card-stat{text-align:center;min-width:44px}.pa-split-card-stat em{font-style:normal;font-family:var(--font-display);color:var(--teal-dark);font-size:20px;font-weight:700;line-height:1;display:block}.pa-split-card-stat span{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);font-size:10px}.pa-split-parts{flex-direction:column;gap:5px;margin:0;padding:0;list-style:none;display:flex}.pa-split-parts li{grid-template-columns:8px minmax(0,1fr) auto auto;align-items:center;gap:8px;font-size:12px;display:grid}.pa-split-parts i{border-radius:2px;width:8px;height:8px}.pa-split-part-name{text-overflow:ellipsis;white-space:nowrap;color:var(--ink);overflow:hidden}.pa-split-parts strong{color:var(--teal-dark);font-variant-numeric:tabular-nums}.pa-split-parts em{color:var(--ink-soft);font-variant-numeric:tabular-nums;text-align:right;min-width:3.5em;font-style:normal}.pa-split-card-foot{color:var(--ink-soft);border-top:1px dashed var(--line-soft);padding-top:2px;font-size:11px}.pa-split-focus{flex-direction:column;gap:12px;display:flex}.pa-split-focus-head{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.pa-split-focus-head strong{color:var(--navy);font-size:15px;display:block}.pa-split-focus-head span{color:var(--ink-soft);margin-top:2px;font-size:12px;display:block}.pa-split-rank{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.pa-split-rank>li{border:1px solid var(--line-soft);background:#fafbfc;border-radius:12px;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:10px;padding:10px 12px;display:grid}.pa-split-rank-n{width:28px;height:28px;color:var(--ink-soft);background:#eef1f3;border-radius:999px;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.pa-split-rank-body{flex-direction:column;gap:6px;min-width:0;display:flex}.pa-split-rank-top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 10px;display:flex}.pa-split-rank-top strong{color:var(--ink);font-size:13px}.pa-split-rank-top span{color:var(--ink-soft);font-size:11px}.pa-split-rank-mix{grid-template-columns:minmax(80px,140px) minmax(0,1fr);align-items:center;gap:10px;display:grid}.pa-split-rank-mix em{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pa-split-rank-mix em,.pa-split-rank-solo{color:var(--ink-soft);font-size:11px;font-style:normal}.pa-sync-banner{background:var(--teal-bg);color:var(--teal-dark);border-radius:8px;padding:10px 12px}.spin{animation:pa-spin .9s linear infinite}@keyframes pa-spin{to{transform:rotate(1turn)}}@media (max-width:1200px){.pa-insights{grid-template-columns:1fr}.pa-filters-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pa-layout{grid-template-columns:1fr}.pa-side{position:static}}@media (max-width:900px){.pa-hero{grid-template-columns:1fr}.pa-hero-stats{grid-template-columns:1fr 1fr}.pa-view-text em{display:none}}@media (max-width:640px){.pa-filters-grid,.pa-hero-stats{grid-template-columns:1fr}}.bio-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:16px;margin-top:8px;display:grid}.bio-lookup{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.bio-lookup input,.bio-lookup select{box-sizing:border-box;border:1px solid var(--line);min-width:0;font-family:var(--font-body);font-size:var(--text-base);color:var(--ink);background:#fff;border-radius:8px;flex:140px;padding:9px 10px}.bio-lookup input:focus,.bio-lookup select:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px #0f8a7a26}.bio-filters input,.bio-filters select{box-sizing:border-box;border:1px solid var(--line);font-family:var(--font-body);font-size:var(--text-base);color:var(--ink);background:#fff;border-radius:8px;padding:9px 10px}.bio-filters input:focus,.bio-filters select:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px #0f8a7a26}.bio-worker{flex-direction:column;gap:8px;margin-top:8px;display:flex}.bio-worker-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.bio-worker strong{font-size:1.05rem;display:block}.bio-status{font-size:var(--text-xs);color:#475569;white-space:nowrap;background:#f1f5f9;border-radius:999px;align-items:center;padding:4px 10px;font-weight:700;display:inline-flex}.bio-status.ok{color:#166534;background:#dcfce7}.bio-status.bad{color:#991b1b;background:#fee2e2}.bio-thumb{object-fit:cover;border:1px solid var(--line-soft);border-radius:10px;width:96px;height:96px}.bio-capture{flex-direction:column;gap:10px;margin-top:4px;display:flex}.bio-video{aspect-ratio:4/3;object-fit:cover;background:#0f172a;border-radius:12px;width:100%;max-width:360px}.bio-capture-actions,.bio-samples{flex-wrap:wrap;gap:8px;display:flex}.bio-samples img{object-fit:cover;border:1px solid var(--line-soft);border-radius:8px;width:72px;height:72px}.bio-filters{flex-direction:column;gap:10px;margin-bottom:14px;display:flex}.bio-search-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.bio-search-row input[type=search]{flex:220px;min-width:180px}.bio-filter-panel{flex-wrap:wrap;gap:8px;display:flex}.bio-filters input,.bio-filters select{flex:140px;min-width:140px}.bio-filter-chips{flex-wrap:wrap;gap:6px;display:flex}.bio-filter-chip{border:1px solid var(--line);color:var(--ink);font-size:var(--text-sm);cursor:pointer;background:#f8fafc;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-weight:600;display:inline-flex}.bio-filter-chip:hover{border-color:var(--teal);background:var(--teal-bg)}.bio-pager{align-items:center;gap:10px;margin-top:12px;display:flex}.meal-filters{flex-wrap:wrap;align-items:end;gap:12px 16px;margin:12px 0 8px;display:flex}.meal-filters .field{min-width:160px;margin:0}.app-kpi.slate{background:#f8fafc;border-color:#e2e8f0}.app-kpi.slate .app-kpi-icon{background:#64748b}.meal-windows{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.meal-window{border:1px solid var(--line-soft);background:#f8fafc;border-radius:12px;flex-direction:column;gap:2px;padding:12px 14px;display:flex}.meal-window.open{background:#ecfdf5;border-color:#86efac}.meal-window strong{font-size:var(--text-base)}.meal-window span{color:#64748b;font-size:var(--text-sm)}.meal-window em{font-style:normal;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:#64748b;font-weight:700}.meal-window.open em{color:#166534}.meal-override{background:#fffbeb;border:1px dashed #fbbf24;border-radius:10px;flex-direction:column;gap:8px;margin:10px 0;padding:10px 12px;display:flex}.meal-override input[type=text]{border:1px solid var(--line);border-radius:8px;width:100%;padding:8px 10px}.access-result{border-radius:10px;flex-direction:column;gap:2px;margin-top:8px;padding:12px 14px;display:flex}.access-result.grant{color:#14532d;background:#dcfce7;border:1px solid #86efac}.access-result.deny{color:#7f1d1d;background:#fee2e2;border:1px solid #fca5a5}.access-result strong{letter-spacing:.04em;font-size:1.1rem}tr.muted td{opacity:.55}@media (max-width:960px){.bio-grid,.meal-windows{grid-template-columns:1fr}}.settings-window-row{border-bottom:1px solid var(--line-soft);grid-template-columns:minmax(140px,1fr) repeat(2,minmax(110px,140px)) auto;align-items:end;gap:12px;margin-bottom:14px;padding-bottom:14px;display:grid}.settings-window-row strong{align-self:center}.settings-device-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;margin-bottom:8px;display:grid}.settings-device-form .btn{grid-column:1/-1;justify-self:start}.settings-device-actions{flex-wrap:wrap;gap:6px;display:flex}@media (max-width:720px){.settings-device-form,.settings-window-row{grid-template-columns:1fr}}.bio-settings{max-width:1100px}.bio-device-list{flex-direction:column;gap:10px;display:flex}.bio-device-card{border:1px solid var(--line-soft);background:#fff;border-radius:12px;padding:12px 14px}.bio-device-card.editing{background:#f0fdfa;border-color:#99f6e4}.bio-device-summary{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.bio-device-summary strong{font-size:1rem;display:block}.bio-device-edit{border-top:1px solid var(--line-soft);margin-top:14px;padding-top:14px}.bio-settings-flash{color:#166534;background:#ecfdf5;border:1px solid #bbf7d0;border-radius:10px;margin:0;padding:10px 14px}.bio-settings-head{margin-bottom:4px}.bio-settings-block{border-top:1px solid var(--line-soft);margin-top:18px;padding-top:16px}.bio-settings-block:first-of-type{border-top:0;margin-top:12px;padding-top:0}.bio-settings-sub{font-size:var(--text-base);letter-spacing:-.01em;margin:0 0 10px;font-weight:650}.bio-settings-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px 20px;margin-bottom:10px;display:flex}.bio-settings-toolbar .bio-settings-sub{margin:0}.bio-test-staff{min-width:220px;margin:0}.bio-register-form{margin-bottom:4px}.bio-clear-form .bio-register-actions .btn,.bio-register-actions .btn{width:auto}.bio-label-spacer{visibility:hidden;height:0;margin:0;padding:0}.bio-connect-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px;display:grid}.bio-connect-card{border:1px solid var(--line-soft);background:#f8fafc;border-radius:12px;flex-direction:column;gap:10px;padding:16px;display:flex;position:relative}.bio-connect-badge{letter-spacing:.06em;text-transform:uppercase;color:#166534;background:#dcfce7;border-radius:999px;align-self:start;padding:3px 8px;font-size:10px;font-weight:700}.bio-connect-badge.muted{color:#475569;background:#e2e8f0}.bio-copy-row,.bio-token-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.bio-copy-row input,.bio-token-row input{flex:180px;min-width:0}.bio-path-code{word-break:break-all;font-size:12px}@media (max-width:900px){.bio-connect-grid{grid-template-columns:1fr}}@media (max-width:720px){.bio-settings-toolbar{align-items:stretch}.bio-test-staff{width:100%;min-width:0}}.page-head-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.meal-giver{color:#f8fafc;background:#0f172a;flex-direction:column;min-height:100dvh;transition:background .25s;display:flex}.meal-giver.tone-ok{background:#052e16}.meal-giver.tone-deny{background:#7f1d1d}.meal-giver.tone-warn{background:#78350f}.meal-giver.tone-idle{background:#0f172a}.meal-giver-bar{background:#00000038;border-bottom:1px solid #ffffff14;justify-content:space-between;padding:14px 20px}.meal-giver-bar,.meal-giver-bar-left,.meal-giver-bar-right{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.meal-giver-bar-left strong{font-size:1.05rem;display:block}.meal-giver-bar-left span,.meal-giver-clock{color:#ffffffb8;font-size:.9rem}.meal-giver-back{color:#fff;background:#ffffff1a;border-radius:8px;align-items:center;gap:6px;padding:8px 12px;font-weight:600;text-decoration:none;display:inline-flex}.meal-giver-back:hover{background:#ffffff29}.meal-giver-bar .btn.secondary{color:#fff;background:#ffffff1a;border-color:#fff3}.meal-giver-main{box-sizing:border-box;gap:22px;width:100%;max-width:1400px;margin:0 auto;padding:24px 28px 18px}.meal-giver-idle,.meal-giver-main{flex-direction:column;flex:1;display:flex}.meal-giver-idle{text-align:center;opacity:.9;justify-content:center;align-items:center;gap:8px}.meal-giver-idle p{letter-spacing:-.03em;margin:0;font-size:clamp(1.8rem,4vw,3rem);font-weight:700}.meal-giver-idle span{color:#ffffffa6;font-size:1.1rem}.meal-giver-hero{grid-template-columns:minmax(180px,280px) minmax(0,1fr);align-items:center;gap:24px;display:grid}.meal-giver-face{aspect-ratio:1;background:#00000047;border:3px solid #fff3;border-radius:20px;overflow:hidden;box-shadow:0 18px 40px #00000047}.meal-giver-face img{object-fit:cover;width:100%;height:100%;display:block}.meal-giver-face-empty{color:#ffffff8c;place-items:center;width:100%;height:100%;font-weight:600;display:grid}.meal-giver-verdict h1{letter-spacing:-.04em;margin:10px 0 8px;font-size:clamp(2.2rem,5vw,4.2rem);font-weight:800;line-height:1.05}.meal-giver-detail{color:#ffffffd1;max-width:36ch;margin:0;font-size:clamp(1.05rem,2vw,1.35rem)}.meal-giver-badge{letter-spacing:.04em;text-transform:uppercase;background:#ffffff29;border-radius:999px;align-items:center;padding:8px 14px;font-size:.95rem;font-weight:800;display:inline-flex}.meal-giver-badge.status-inactive,.meal-giver-badge.status-out_of_scope,.meal-giver-badge.status-unknown,.meal-giver-badge.status-wrong_camp,.meal-giver.tone-deny .meal-giver-badge{color:#7f1d1d;background:#fecaca}.meal-giver-badge.status-eligible,.meal-giver-badge.status-served{color:#14532d;background:#bbf7d0}.meal-giver-badge.status-already,.meal-giver-badge.status-device_unlinked,.meal-giver-badge.status-not_served,.meal-giver-badge.status-outside_window{color:#78350f;background:#fde68a}.meal-giver-blocks{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.meal-giver-block{background:#ffffff1a;border:1px solid #ffffff24;border-radius:16px;flex-direction:column;gap:6px;min-height:96px;padding:16px 18px;display:flex}.meal-giver-block span{letter-spacing:.06em;text-transform:uppercase;color:#ffffff9e;font-size:.8rem;font-weight:700}.meal-giver-block strong{letter-spacing:-.02em;word-break:break-word;font-size:clamp(1.25rem,2.4vw,1.85rem);line-height:1.15}.meal-giver-recent{background:#0000002e;border-top:1px solid #ffffff14;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;padding:12px 20px 18px;display:grid}.meal-giver-recent-item{background:#ffffff14;border-radius:12px;flex-direction:column;gap:8px;min-width:0;padding:8px;display:flex}.meal-giver-recent-item.current{outline-offset:1px;outline:2px solid #ffffff8c}.meal-giver-recent-face{aspect-ratio:1;background:#00000047;border-radius:10px;place-items:center;display:grid;overflow:hidden}.meal-giver-recent-face img{object-fit:cover;width:100%;height:100%;display:block}.meal-giver-recent-face span{color:#ffffff8c;font-size:.72rem;font-weight:600}.meal-giver-recent-meta{flex-direction:column;gap:2px;min-width:0;padding:0 2px 2px;display:flex}.meal-giver-recent-item.deny{background:#fecaca33}.meal-giver-recent-item.ok{background:#bbf7d02e}.meal-giver-recent-item.warn{background:#fde68a2e}.meal-giver-recent-item strong{white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;overflow:hidden}.meal-giver-recent-item em,.meal-giver-recent-item span{color:#ffffffb3;font-size:.75rem;font-style:normal}@media (max-width:900px){.meal-giver-hero{text-align:center;grid-template-columns:1fr;justify-items:center}.meal-giver-face{width:min(240px,70vw)}.meal-giver-detail{max-width:none}.meal-giver-blocks{grid-template-columns:repeat(2,minmax(0,1fr))}.meal-giver-recent{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:560px){.meal-giver-blocks{grid-template-columns:1fr}.meal-giver-recent{grid-template-columns:repeat(2,minmax(0,1fr))}}.maint-inbox-matrix{min-width:640px}.maint-inbox-matrix .maint-inbox-person-col{z-index:2;text-align:left;background:#fff;min-width:180px;max-width:240px;position:sticky;left:0}.maint-inbox-matrix thead .maint-inbox-person-col{z-index:3;background:#f8fafc}.maint-inbox-matrix .maint-inbox-person-col strong{font-size:var(--text-sm);display:block}.maint-inbox-matrix .maint-inbox-person-col em{color:var(--ink-soft);word-break:break-all;font-size:11px;font-style:normal;display:block}.maint-inbox-camp-head{color:inherit;font:inherit;cursor:pointer;white-space:normal;text-align:center;background:0 0;border:0;max-width:72px;padding:0;line-height:1.25}.maint-inbox-camp-head:hover{color:var(--teal);text-decoration:underline}.maint-inbox-check{text-align:center}.maint-inbox-check input{cursor:pointer;width:16px;height:16px}.maint-inbox-actions-col{text-align:right;width:110px}.maint-inbox-row-actions{justify-content:flex-end;gap:6px;display:inline-flex}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}