*{box-sizing:border-box}body{color:var(--text);background:linear-gradient(145deg,#06111b,#0a1b29 60%,#06111b);min-height:100vh;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.login-shell{grid-template-columns:1.2fr .8fr;min-height:100vh;display:grid}.login-hero{background:radial-gradient(circle at 20% 10%,#34c5c52e,#0000 35%),linear-gradient(160deg,#06131e,#0b2231);flex-direction:column;justify-content:space-between;padding:7vw;display:flex}.brand{letter-spacing:.02em;align-items:center;gap:13px;font-weight:800;display:flex}.brand-mark{width:38px;height:38px;color:var(--accent2);background:#34c5c514;border:1px solid #6de1d899;border-radius:12px;place-items:center;display:grid}.hero-title{letter-spacing:-.05em;max-width:720px;margin:0 0 24px;font-size:clamp(40px,6vw,76px);font-weight:800;line-height:.98}.hero-copy{color:#b8cbd6;max-width:640px;font-size:18px;line-height:1.65}.hero-footer{color:#6f8a9b;font-size:13px}.login-panel{background:#081723;place-items:center;padding:40px;display:grid}.login-card{border:1px solid var(--line);width:min(430px,100%);box-shadow:var(--shadow);background:#0d1f2deb;border-radius:26px;padding:34px}.login-card h2{margin:0 0 8px;font-size:30px}.login-card p{color:var(--muted);margin:0 0 28px}.field{gap:8px;margin-bottom:16px;display:grid}.field label{color:#bfd0da;font-size:13px}.field input,.field select,.field textarea{width:100%;color:var(--text);background:#081824;border:1px solid #294356;border-radius:12px;outline:none;padding:13px 14px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent)}.btn{color:var(--text);background:#183448;border:0;border-radius:12px;padding:12px 16px;font-weight:700}.btn.primary{background:var(--accent);color:#052029}.btn.danger{color:#ff9696;background:#ff6b6b21;border:1px solid #ff6b6b4d}.btn.ghost{border:1px solid var(--line);color:#cbdbe4;background:0 0}.btn.full{width:100%}.login-error{color:#f99;min-height:20px;margin:4px 0 12px;font-size:13px}.demo-box{color:#9fb4c2;background:#091a27;border:1px dashed #315065;border-radius:12px;margin-top:22px;padding:14px;font-size:12px;line-height:1.55}.demo-box b{color:#dce9ef}.app-shell{grid-template-columns:250px 1fr;min-height:100vh;display:grid}.sidebar{background:#071622;border-right:1px solid #173143;flex-direction:column;height:100vh;padding:24px 16px;display:flex;position:sticky;top:0}.sidebar .brand{padding:0 8px 24px}.nav{gap:5px;display:grid}.nav button{text-align:left;color:#8fa8b8;background:0 0;border:0;border-radius:11px;align-items:center;gap:12px;width:100%;padding:11px 12px;display:flex}.nav button:hover,.nav button.active{color:#eff8fb;background:#10293a}.nav .ico{text-align:center;width:22px}.sidebar-spacer{flex:1}.user-mini{border-top:1px solid var(--line);padding:16px 8px 0}.user-mini b{display:block}.topbar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:5;background:#07131fbd;border-bottom:1px solid #173143;justify-content:space-between;align-items:center;height:76px;padding:0 30px;display:flex;position:sticky;top:0}.search{flex:1;max-width:560px;position:relative}.search input{color:#fff;background:#0c1d2b;border:1px solid #1d394b;border-radius:12px;width:100%;padding:11px 14px 11px 40px}.search:before{content:"⌕";color:#7796a8;font-size:22px;position:absolute;top:8px;left:15px}.top-actions{gap:10px;margin-left:18px;display:flex}.page-head{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px;display:flex}.eyebrow{color:var(--accent2);text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:800}.page-head h1{letter-spacing:-.03em;margin:5px 0 0;font-size:34px}.muted{color:var(--muted)}.grid{gap:16px;display:grid}.stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:22px}.card{border-radius:var(--radius);background:linear-gradient(145deg,#0f2332f5,#0a1a26f5);border:1px solid #1c394c;padding:20px;box-shadow:0 10px 32px #00000021}.stat .num{font-size:34px;font-weight:800}.stat .label{color:var(--muted);margin-top:4px;font-size:13px}.columns{grid-template-columns:1.45fr .75fr}.section-title{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.section-title h3{margin:0;font-size:17px}.department-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.department{cursor:pointer;background:#0b1d2a;border:1px solid #234357;border-radius:15px;padding:18px;transition:all .18s}.department:hover{border-color:#35667d;transform:translateY(-2px)}.department .icon{margin-bottom:18px;font-size:28px}.department b{display:block}.department span{color:var(--muted);font-size:12px}.activity{gap:14px;display:grid}.activity-item{grid-template-columns:10px 1fr;gap:12px;display:grid}.dot{background:var(--accent);border-radius:50%;width:8px;height:8px;margin-top:6px}.activity-item b{font-size:13px;display:block}.activity-item span{color:var(--muted);font-size:12px}.table-wrap{border:1px solid #1b3748;border-radius:14px;overflow:auto}.table{border-collapse:collapse;width:100%;min-width:760px}.table th,.table td{text-align:left;border-bottom:1px solid #173445;padding:13px 14px;font-size:13px}.table th{color:#8da8b8;text-transform:uppercase;letter-spacing:.08em;background:#0a1b28;font-size:11px}.table tr:hover td{background:#102635}.badge{color:#bcd0db;background:#173447;border-radius:999px;align-items:center;padding:5px 8px;font-size:11px;display:inline-flex}.badge.admin{color:#79e2da;background:#34c5c521}.badge.warn{color:#f2d58f;background:#f2c86b1f}.avatar{color:#a7d9dd;background:#173748;border-radius:50%;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.user-cell{align-items:center;gap:10px;display:flex}.actions{gap:7px;display:flex}.icon-btn{color:#bcd0db;background:#0d2534;border:1px solid #26485b;border-radius:9px;width:34px;height:34px}.icon-btn.danger{color:#ff9e9e;border-color:#643743}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.modal-backdrop{z-index:30;background:#01080db8;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{width:min(680px,100%);max-height:92vh;box-shadow:var(--shadow);background:#0b1d2a;border:1px solid #29475a;border-radius:22px;padding:24px;overflow:auto}.modal-head{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.modal-head h2{margin:0}.permissions{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:8px;display:grid}.check{background:#0a1925;border:1px solid #244254;border-radius:10px;align-items:center;gap:10px;padding:11px;display:flex}.check input{accent-color:var(--accent)}.modal-foot{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.empty{text-align:center;color:var(--muted);padding:50px}.notice{color:#b8d3de;background:#0a2230;border:1px solid #285067;border-radius:12px;margin-bottom:18px;padding:12px 14px;font-size:13px}.mobile-toggle{display:none}@media (max-width:1000px){.stats{grid-template-columns:repeat(2,1fr)}.columns{grid-template-columns:1fr}.department-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:780px){.login-shell{grid-template-columns:1fr}.login-hero{display:none}.app-shell{grid-template-columns:1fr}.sidebar{z-index:20;width:250px;transition:all .2s;position:fixed;left:-270px}.sidebar.open{left:0}.mobile-toggle{display:inline-flex}.topbar{padding:0 16px}.content{padding:22px 16px 40px}.department-grid,.form-grid,.permissions{grid-template-columns:1fr}.topbar .search{display:none}.page-head{flex-direction:column;align-items:flex-start}.stats{grid-template-columns:1fr 1fr}}.click-row{cursor:pointer}.click-row td{transition:all .15s}.click-row:hover td{background:#123044!important}.clickable{cursor:pointer}.breadcrumbs{color:var(--muted);align-items:center;gap:9px;margin-bottom:18px;font-size:13px;display:flex}.breadcrumbs button{color:var(--accent2);cursor:pointer;background:0 0;border:0;padding:0}.detail-hero{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px;display:flex}.detail-hero-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.action-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn.ghost.danger{background:#ff6b6b14}.cred-pass{letter-spacing:1px;color:#c3d4dd;font-family:monospace}.btn.icon-inline{height:auto;padding:4px 9px;font-size:11px}.detail-hero h1{letter-spacing:-.035em;margin:5px 0 7px;font-size:36px}.detail-sub{color:var(--muted)}.detail-layout{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:20px;display:grid}.detail-main{gap:18px;display:grid}.detail-side{gap:18px;display:grid;position:sticky;top:96px}.info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;display:grid}.info-row{border-bottom:1px solid #183748;justify-content:space-between;gap:20px;padding:12px 0;font-size:13px;display:flex}.info-row span{color:var(--muted)}.info-row b{text-align:right;font-weight:650}.detail-text{color:#bed0da;margin:0;line-height:1.7}.related-list{gap:9px;display:grid}.related-item{width:100%;color:var(--text);text-align:left;background:#0a1c29;border:1px solid #234357;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;padding:13px 14px;display:flex}.related-item:hover{background:#10293a;border-color:#3a6b80}.related-item span:first-child{gap:3px;display:grid}.related-item small{color:var(--muted)}.qty-pill{white-space:nowrap;background:#16384a;border-radius:999px;padding:6px 9px;font-size:11px}.empty.compact{padding:24px}.qr-card{text-align:center}.qr-card .eyebrow{text-align:left}.qr-svg{fill:#07131f;background:#fff;border-radius:12px;width:190px;max-width:80%;margin:22px auto 15px;padding:12px;display:block}.qr-card b,.qr-card small,.qr-card code{display:block}.qr-card small{color:var(--muted);margin:4px 0 12px}.qr-card code{color:#9bc4cd;overflow-wrap:anywhere;background:#071824;border-radius:8px;padding:9px;font-size:10px}.qr-note{color:#718d9e;margin-top:12px;font-size:11px;line-height:1.45}.report-block{border-bottom:1px solid #183748;padding:16px 0}.report-block:last-child{border-bottom:0}.report-block label{color:var(--accent2);text-transform:uppercase;letter-spacing:.1em;margin-bottom:7px;font-size:11px;font-weight:800;display:block}.report-block p{color:#c3d4dd;margin:0;line-height:1.65}.linked-card h3{margin:8px 0}.linked-card p{color:var(--muted);line-height:1.55}.stock-big{color:var(--ok);font-size:34px;font-weight:800}.stock-big.low{color:var(--warn)}.stock-meter{background:#071824;border-radius:999px;height:7px;margin-top:16px;overflow:hidden}.stock-meter span{background:var(--accent);border-radius:999px;height:100%;display:block}@media (max-width:980px){.detail-layout{grid-template-columns:1fr}.detail-side{grid-template-columns:1fr 1fr;position:static}.info-grid{grid-template-columns:1fr 1fr}}@media (max-width:700px){.detail-hero{flex-direction:column;align-items:flex-start}.detail-hero h1{font-size:30px}.detail-side,.info-grid{grid-template-columns:1fr}.related-item{align-items:flex-start}}.dept-module-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.dept-module{appearance:none;color:var(--text);text-align:left;cursor:pointer;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;transition:all .18s;display:grid}.dept-module:hover{background:#10293a;border-color:#35667d;transform:translateY(-2px)}.dept-module .module-icon{color:var(--accent2);font-size:28px}.dept-module b{margin-bottom:4px;font-size:16px;display:block}.dept-module small{color:var(--muted);line-height:1.4;display:block}.dept-module strong{color:#dcebf1;font-size:28px}.table-open{white-space:nowrap;padding:7px 12px;font-size:12px}.field small{margin-top:7px;line-height:1.45;display:block}@media (max-width:1100px){.dept-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:650px){.dept-module-grid{grid-template-columns:1fr}.dept-module strong{font-size:24px}}.back-row{margin:-4px 0 18px;display:flex}.back-btn{padding-left:12px;padding-right:14px}.plan-preview{object-fit:contain;background:#071824;border:1px solid #1c394c;border-radius:12px;width:100%;max-height:420px;margin-bottom:14px}.upload-zone{background:#091a27;border:1px solid #244254;border-radius:14px;gap:14px;margin-top:16px;padding:16px;display:grid}.existing-files{color:var(--muted);flex-wrap:wrap;align-items:center;gap:7px;font-size:12px;display:flex}.existing-files b{color:#bcd0db;width:100%}.existing-files span{border:1px solid #28485a;border-radius:999px;padding:5px 8px}.attachment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.attachment-card{background:#0a1b28;border:1px solid #244254;border-radius:13px;grid-template-columns:62px 1fr auto;align-items:center;gap:11px;padding:11px;display:grid}.attachment-card img{object-fit:cover;background:#071824;border-radius:9px;width:62px;height:62px}.attachment-card .file-icon{width:62px;height:62px;color:var(--accent2);background:#102c3c;border-radius:9px;place-items:center;font-size:28px;display:grid}.attachment-card b,.attachment-card small{display:block}.attachment-card small{color:var(--muted);margin-top:3px}.attachment-card .btn{padding:7px 9px;font-size:11px}@media (max-width:700px){.attachment-grid{grid-template-columns:1fr}.attachment-card{grid-template-columns:52px 1fr auto}.attachment-card img,.attachment-card .file-icon{width:52px;height:52px}.page-head .actions{grid-template-columns:1fr 1fr;width:100%;display:grid}.page-head .actions .btn{width:100%}}.deck-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.deck-card{appearance:none;color:var(--text);text-align:left;cursor:pointer;grid-template-columns:auto 1fr;align-items:start;gap:14px;transition:all .18s;display:grid}.deck-card:hover{background:#10293a;border-color:#35667d;transform:translateY(-2px)}.deck-icon{width:48px;height:48px;color:var(--accent2);background:#102c3c;border-radius:12px;place-items:center;font-size:24px;display:grid}.deck-card b{margin:2px 0 5px;font-size:18px;display:block}.deck-card small{color:var(--muted)}.deck-counts{flex-wrap:wrap;grid-column:2;gap:7px;display:flex}.deck-counts span{color:#9bb5c3;border:1px solid #28485a;border-radius:999px;padding:5px 7px;font-size:10px}.plan-workspace-card{padding:14px}.plan-toolbar{justify-content:space-between;align-items:center;padding:5px 4px 14px;display:flex}.plan-toolbar b,.plan-toolbar small{display:block}.plan-toolbar small{color:var(--muted);margin-top:4px}.plan-canvas{-webkit-user-select:none;user-select:none;background:#06131d;border:1px solid #244254;border-radius:14px;min-height:520px;position:relative;overflow:hidden}.plan-canvas.editing{cursor:crosshair;box-shadow:inset 0 0 0 2px #46c7c559}.plan-base{object-fit:contain;background:#071824;border:0;width:100%;height:100%;position:absolute;inset:0}.plan-pdf{pointer-events:none}.plan-placeholder{color:var(--muted);background-image:linear-gradient(#102a38 1px,#0000 1px),linear-gradient(90deg,#102a38 1px,#0000 1px);background-size:40px 40px;align-content:center;place-items:center;gap:8px;display:grid;position:absolute;inset:0}.plan-placeholder div{color:#31647a;font-size:48px}.zone-layer{position:absolute;inset:0}.plan-zone{color:#fff;text-align:left;cursor:pointer;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#12404c94;border:2px solid #45c7c5;border-radius:8px;padding:6px;position:absolute;overflow:hidden;box-shadow:0 6px 16px #00000040}.plan-zone:hover{z-index:3;background:#1d5d68c7}.plan-zone b,.plan-zone small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.plan-zone b{font-size:11px}.plan-zone small{color:#bceae6;margin-top:3px;font-size:9px}.zone-draft{pointer-events:none;z-index:8;background:#45c7c540;border:2px dashed #fff;border-radius:6px;display:none;position:absolute}.zone-instruction{border-color:#3b7d82}.warn-btn{color:#ffe8a1!important;background:#604b18!important;border-color:#846924!important}.record-photo{background:#071824;border:1px solid #244254;border-radius:14px;overflow:hidden}.record-photo img{object-fit:cover;width:100%;height:100%;display:block}.record-photo-wrap .record-photo{aspect-ratio:4/3;width:260px}.empty-photo{color:var(--muted);align-content:center;place-items:center;gap:7px;display:grid}.empty-photo span{font-size:34px}.media-overview{grid-template-columns:260px minmax(0,1fr);gap:22px;display:grid}.table-thumb{object-fit:cover;background:#071824;border:1px solid #28485a;border-radius:8px;width:54px;height:42px}.box-pill{color:#cde7ed;background:#173749;border:1px solid #2d596d;border-radius:9px;justify-content:center;align-items:center;min-width:48px;padding:6px 9px;font-weight:800;display:inline-flex}.box-number-big{color:var(--accent2);background:#102c3c;border:1px solid #2c5364;border-radius:11px;margin-top:18px;padding:13px;font-size:18px;font-weight:800}.modal-photo-preview{max-width:240px;margin-bottom:15px}.modal-photo-preview .record-photo{aspect-ratio:4/3}.modal-photo-preview img{max-height:180px}.actions{flex-wrap:wrap;gap:9px;display:flex}@media (max-width:850px){.deck-grid,.media-overview{grid-template-columns:1fr}.record-photo-wrap .record-photo{width:100%;max-width:420px}.plan-canvas{min-height:420px}}@media (max-width:600px){.plan-canvas{min-height:330px}.plan-zone b{font-size:9px}.plan-zone small{display:none}}.boot-message,.setup-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;max-width:680px;margin:12vh auto;padding:32px;line-height:1.65}.portal-message{z-index:1000;color:#eaf2f7;max-width:min(780px,94vw);box-shadow:var(--shadow);background:#103b40;border:1px solid #34c5c5;border-radius:12px;padding:14px 20px;font-size:14px;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}.portal-message.error{background:#442128;border-color:#ff6b6b}.portal-message[hidden]{display:none}.is-busy{cursor:progress}.is-busy button,.is-busy input[type=submit]{pointer-events:none;opacity:.6}.top-actions{flex-wrap:wrap;justify-content:flex-end}.top-actions select{background:var(--panel);max-width:200px;color:var(--text);border:1px solid var(--line);border-radius:8px;padding:8px}.real-qr img{border-radius:8px;max-width:100%;margin:16px auto}.mfa-qr{max-width:220px;margin:16px auto;display:block}.btn:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent2);outline-offset:3px}.modal .field label{font-size:14px}.plan-canvas.editing iframe{pointer-events:none}@media (max-width:780px){.topbar{gap:10px;height:auto;min-height:72px;padding-top:10px;padding-bottom:10px}.top-actions{gap:6px}.top-actions .btn{padding:8px;font-size:13px}.top-actions select{max-width:160px}.setup-card{margin:3vh 16px}.portal-message{bottom:8px}}.maintenance-summary{margin-bottom:20px}.maintenance-metrics{flex-wrap:wrap;gap:24px;display:flex}.maintenance-metrics span{color:var(--muted);flex-direction:column;display:flex}.maintenance-metrics b{color:var(--text);font-size:28px}.maintenance-meter{flex-wrap:wrap;align-items:center;gap:16px;padding:16px 0;display:flex}.maintenance-meter strong{font-size:30px;display:block}.maintenance-meter span,.maintenance-note{margin-top:6px;font-size:12px;display:block}.maintenance-actions{flex-wrap:wrap;gap:8px;display:flex}.maintenance-help{background:#15313b;border-left:3px solid #2eb8b9;border-radius:6px;margin-bottom:24px;padding:16px}.maintenance-asset{margin:28px 0}.maintenance-check{align-items:center;gap:10px;margin:16px 0;display:flex}.maintenance-check input{width:auto}.maintenance-history{margin-top:20px}.maintenance-history summary{cursor:pointer;padding:12px 0}.maintenance-card .table td{vertical-align:top}.badge.danger{color:#ffb4ad;background:#502b30}.badge.ok{color:#80e6bb;background:#173e34}@media (max-width:700px){.maintenance-metrics{gap:16px}.maintenance-metrics span{min-width:40%}.maintenance-asset h2{font-size:22px}.maintenance-card .section-title{flex-wrap:wrap;align-items:flex-start}}.media-warning{color:#ffe0a0;background:#332a18;border:1px solid #80652e;border-radius:10px;margin-bottom:20px;padding:14px 18px;font-size:14px;line-height:1.5}.media-warning b{margin-bottom:4px;display:block}.deck-manager{max-width:850px}.deck-manager-list{gap:12px;max-height:50vh;display:grid;overflow-y:auto}.deck-manager-row{border:1px solid var(--line);border-radius:10px;padding:12px}.deck-rename,.deck-row-actions,.deck-add{align-items:center;gap:8px;display:flex}.deck-rename input{flex:1;min-width:0}.deck-row-actions{margin-top:8px}.deck-row-actions small{color:var(--muted);margin-left:auto}.deck-add{align-items:flex-end;margin-top:20px}.deck-add .field{flex:1;margin:0}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@media (max-width:600px){.deck-add{flex-direction:column;align-items:stretch}.deck-row-actions{flex-wrap:wrap}}.workspace-select{flex-direction:column;gap:4px;min-width:0;display:flex}.workspace-select>span{color:var(--muted);font-size:11px;font-weight:700}.top-actions{align-items:center}.topbar{gap:12px;height:auto;min-height:86px;padding-top:10px;padding-bottom:10px}.topbar .search{min-width:140px}.workspace-select select{width:180px}@media (max-width:1100px){.topbar{flex-wrap:wrap}.top-actions{margin-left:0}.topbar .search{max-width:none}}@media (max-width:780px){.top-actions{flex:1}.workspace-select{flex:120px}.workspace-select select{width:100%;max-width:none}.top-actions .badge{display:none}}.password-visibility{justify-self:end;padding:8px 12px;font-size:13px}.sidebar{gap:12px;padding:16px 12px;overflow:hidden}.sidebar .portal-brand{flex-shrink:0;justify-content:center;padding:0}.portal-brand img{object-fit:cover;object-position:center;border-radius:12px;width:172px;height:138px;display:block}.login-hero .portal-brand{justify-content:flex-start}.login-hero .portal-brand img{width:224px;height:180px}.nav{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#294356 transparent;min-height:0;padding:0 3px 8px;overflow-y:auto}.nav-group{border-top:1px solid var(--line);margin-top:6px;padding-top:6px}.nav-group summary{cursor:pointer;color:#b5c8d3;border-radius:10px;justify-content:space-between;align-items:center;padding:13px 10px;font-size:13px;font-weight:700;list-style:none;display:flex}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary:hover,.nav-group.has-active summary{color:#f2ce7a;background:#10293a}.nav-chevron{font-size:20px;transition:transform .15s}.nav-group[open] .nav-chevron{transform:rotate(90deg)}.nav-group-items{gap:3px;padding:3px 0 6px 8px;display:grid}.nav button{min-height:42px;font-size:13px}.nav button.active{box-shadow:inset 3px 0 #f2ce7a}.nav button:focus-visible,.nav summary:focus-visible{outline-offset:-2px;outline:2px solid #f2ce7a}.sidebar-spacer{display:none}.user-mini{flex-shrink:0;margin-top:auto;padding-top:12px}.sidebar-backdrop,.login-mobile-brand{display:none}@media (max-width:780px){.sidebar{z-index:30;height:100dvh}.sidebar-backdrop{z-index:25;background:#0009;border:0;display:block;position:fixed;inset:0}.login-mobile-brand{justify-content:center;margin-bottom:20px;display:flex}.login-mobile-brand .portal-brand img{width:170px;height:138px}}:root{--bg:#f3f0e9;--panel:#fffdf8;--panel2:#eee9df;--line:#d9d8cc;--text:#193a42;--muted:#637775;--accent:#23676a;--accent2:#a75a39;--danger:#a63f35;--ok:#29715e;--warn:#956116;--shadow:0 8px 30px #193a420b;--radius:14px}body{background:var(--bg);color:var(--text);font-family:Avenir Next,Avenir,ui-sans-serif,system-ui,sans-serif}.app-shell{grid-template-columns:246px 1fr}.sidebar{color:#f5efe0;background:#133a42;border-right:0;padding:26px 18px;overflow-y:auto}.sidebar .brand{letter-spacing:-.02em;font-size:17px}.sidebar .brand-mark{color:#edd0a3;background:#214951;border-color:#94aaa1;border-radius:9px}.sidebar .nav{gap:3px;margin-top:24px}.nav button{color:#becfc9;border-radius:7px;min-height:40px;padding:10px 13px;font-size:13px}.nav button:hover{color:#fffdf8;background:#234b52}.nav button.active{color:#fffdf8;background:#2d555b;border:1px solid #608280}.nav button.active:before{content:"";background:#d6aa76;border-radius:2px;width:3px;height:18px;position:absolute;left:0}.nav button{position:relative}.nav .ico{color:#bdc5ad;font-size:16px}.user-mini{color:#e8ede4;border-color:#366067}.user-mini small{color:#b9ccc6}.sidebar .btn{color:#e8ede4;background:#1c454c;border-color:#56716f}.sidebar-spacer{min-height:28px}.main{background:var(--bg)}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf8ed;align-items:center;gap:16px;height:auto;min-height:86px;padding:16px 32px}.topbar .search{min-width:150px;max-width:320px}.search input{color:var(--text);background:#f3f1eb;border:1px solid #deded2;border-radius:8px}.workspace-select span{color:#697b75}.top-actions select{color:#214750;background:#fffdf8;border-radius:6px}.top-actions .btn{padding:8px 11px;font-size:12px}.content{max-width:1600px;margin:auto;padding:32px}.card{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;padding:24px}.section-title h2{letter-spacing:-.035em;margin:4px 0;font-size:22px}.section-title h3{font-size:18px}.eyebrow{color:#98704b;letter-spacing:.15em;font-size:10px;font-weight:800}.page-head h1,.detail-hero h1{letter-spacing:-.045em;font-size:34px}.page-head .muted{max-width:740px;line-height:1.6}.page-head{align-items:flex-start;margin-bottom:26px}.btn{box-shadow:none;border:1px solid #cdd6cd;border-radius:7px;padding:10px 15px;font-weight:650}.btn.primary{color:#fffdf7;background:#245e61;border-color:#245e61}.btn.primary:hover{background:#17494e}.btn.ghost{color:#30595d;background:0 0;border-color:#cdd6cd}.btn.ghost:hover{background:#e7ebe4}.btn.danger,.btn.ghost.danger{color:#a63f35;background:#f8e8e2;border-color:#e7c2b8}.badge{color:#4a6666;background:#e7ece5;border:1px solid #d5dfd2;padding:5px 9px;font-size:10px;font-weight:750}.badge.admin{color:#615133;background:#eee6d7;border-color:#e2d3b6}.badge.warn{color:#87551a;background:#f6ecd3;border-color:#ead9ad}.badge.danger{color:#9a3c32;background:#fae8e2;border-color:#edc4b9}.badge.ok{color:#28634e;background:#e2eee4;border-color:#bfd6c3}.table-wrap{border:1px solid var(--line);background:var(--panel);border-radius:10px;overflow-x:auto}.table th{color:#62716a;letter-spacing:.1em;text-transform:uppercase;background:#e9eade;font-size:10px}.table td{border-color:#e4e4da;padding:17px 16px;font-size:13px}.table tr:hover td,.click-row:hover td{background:#f4f2e9!important}.field label{color:#466364}.field input,.field select,.field textarea{color:#193a42;background:#fffdf8;border:1px solid #c9d2c7;border-radius:7px;padding:11px 12px}.field small{color:var(--muted)}.modal{color:#193a42;background:#f9f7f0;border-color:#d9d8cc;border-radius:15px}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#092e38a6}.icon-btn{color:#2b5357;background:#e9eee5;border-color:#c9d3c7}.check,.related-item,.department,.deck-card,.attachment-card,.upload-zone{color:var(--text);background:#fffdf8;border-color:#d7dcd0}.related-item:hover,.department:hover,.dept-module:hover{background:#e8eee5;border-color:#9ab4a4}.dept-module strong,.deck-card b{color:#214750}.department .icon,.deck-icon,.attachment-card .file-icon{color:#3a6868;background:#e5eae0}.department{border-radius:10px}.info-row,.report-block{border-color:#d8ddd1}.detail-text,.report-block p,.existing-files b{color:#36565c}.qty-pill,.box-pill,.box-number-big{color:#416458;background:#e5ece0;border-color:#c6d5c2}.notice,.maintenance-help{color:#315a52;background:#e5ede3;border-color:#b9cec1}.cred-pass{color:#2d535b}.portal-message{color:#234c40;background:#e2eee4;border-color:#7d9f8d}.portal-message.error{color:#913a31;background:#f8e5df;border-color:#c48171}.plan-placeholder{color:#9eb8bc}.login-hero{color:#f5efe3;background:radial-gradient(at 80% 20%,#37656888,#0000 50%),linear-gradient(155deg,#153c44,#092c35);position:relative;overflow:hidden}.login-hero:after{content:"";pointer-events:none;border:1px solid #a1bab233;border-radius:50%;width:500px;height:500px;position:absolute;bottom:-250px;right:-250px;box-shadow:0 0 0 55px #a1bab20a,0 0 0 110px #a1bab20a}.login-hero .brand-mark{color:#e1b788;border-color:#8ba09a}.login-hero .hero-title{letter-spacing:-.055em;font-weight:600}.hero-title span{color:#dbb285}.hero-copy{color:#c6d5ce}.login-panel{background:#f5f2ea}.login-card{color:#1c424a;background:#fffdf8;border-color:#d4d9cc}.login-card p{color:#60786f}.login-card h2{font-weight:650}.hero-footer{color:#bfcfc5}.login-error{color:#a63f35}.bridge-hero{background:linear-gradient(115deg,#e0e9dd,#ebeadd 63%,#ece3d2);border:1px solid #bfcfc2;border-radius:13px;justify-content:space-between;align-items:center;margin-bottom:22px;padding:34px 38px;display:flex;position:relative;overflow:hidden}.bridge-hero:after{content:"";pointer-events:none;border:1px solid #577a6817;border-radius:50%;width:320px;height:320px;position:absolute;top:-190px;right:-160px;box-shadow:0 0 0 40px #577a6808,0 0 0 80px #577a6808}.bridge-hero h1{letter-spacing:-.055em;color:#153d46;margin:18px 0;font-size:clamp(32px,3.8vw,52px);font-weight:600;line-height:1.07}.bridge-hero h1 span{color:#738b76}.bridge-hero p{color:#516e65;margin:0;font-size:13px}.hero-status{background:#fffdf87d;border:1px solid #c7d0bc;border-radius:10px;grid-template-columns:8px 1fr;align-items:center;gap:10px;min-width:240px;padding:20px;display:grid}.hero-status small{color:#61776b;grid-column:2;font-size:11px;line-height:1.8}.status-light{background:#638b63;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #638b6315}.ops-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px;display:grid}.ops-stat{text-align:left;color:#295158;background:#fffdf8;border:1px solid #d4d9cb;border-radius:10px;gap:12px;padding:20px 22px;display:grid}.ops-stat>span{color:#6b7b71;font-size:12px}.ops-stat strong{font-variant-numeric:tabular-nums;font-size:36px;font-weight:500;line-height:1}.ops-stat small{color:#849085;justify-content:space-between;font-size:10px;display:flex}.ops-stat:hover{border-color:#84a18c}.ops-dashboard-grid{grid-template-columns:minmax(0,1fr) 290px;gap:22px;display:grid}.priority-list{margin-top:10px}.priority-item{text-align:left;color:#264951;background:0 0;border:0;border-top:1px solid #e5e5da;align-items:center;gap:14px;width:100%;padding:18px 0;display:flex}.priority-item:hover{background:#f4f3eb}.priority-item>span:nth-child(2){flex:1;gap:7px;min-width:0;display:grid}.priority-item b{font-size:13px;font-weight:650}.priority-item small{color:#6f8077;font-size:11px}.priority-dot{background:#ba9152;border-radius:50%;flex:none;width:7px;height:7px}.priority-dot.critical{background:#b9654d}.priority-type{text-transform:uppercase;letter-spacing:.05em;color:#7e8e7e;font-size:9px}.ops-toolbox{background:#eef0e5;flex-direction:column;gap:12px;display:flex}.ops-toolbox h2{letter-spacing:-.04em;margin:0;font-size:23px}.ops-toolbox p{font-size:12px;line-height:1.7}.ops-toolbox .btn{text-align:left;background:#fffdf899;padding:13px;font-size:12px}.desk-note{border-top:1px solid #d0d8c8;margin-top:12px;padding-top:18px}.desk-note p{color:#728274;font-size:11px}.ops-departments{margin-top:22px}.ops-department-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.ops-department-grid button{text-align:left;color:#30565a;background:#fafaf3;border:1px solid #dbe0d2;border-radius:8px;gap:9px;padding:17px;display:grid}.ops-department-grid button>span{color:#a07848;font-size:20px}.ops-department-grid b{font-size:12px}.ops-department-grid small{color:#7a8d7d;font-size:10px}.ops-project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.ops-project-grid h2{letter-spacing:-.035em;font-size:23px}.project-progress{background:#e1e8da;border-radius:5px;height:6px;overflow:hidden}.project-progress span{background:#5d8970;height:100%;display:block}.budget-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.budget-grid dt{color:#6f8173;font-size:11px}.budget-grid dd{font-variant-numeric:tabular-nums;margin:8px 0;font-size:19px}.ops-section-title{margin:32px 0 18px;font-size:23px}.cell-note{color:#7a887c;margin-top:5px;font-size:11px;line-height:1.7;display:block}.round-check{border:1px solid #ced8c8;border-radius:9px;margin:18px 0;padding:18px}.round-check legend{color:#345956;padding:0 6px;font-size:13px}.ops-modal details{overflow-wrap:anywhere;font-size:12px}.ops-modal summary,.ops-project-grid summary{cursor:pointer;padding:14px 0}.order-line{border:1px solid #ccd6c5;border-radius:8px;margin:12px 0;padding:16px}.order-line .form-grid{gap:10px}.order-line small{color:#788978;font-size:11px}@media (min-width:1500px){.ops-department-grid{grid-template-columns:repeat(7,minmax(0,1fr))}}@media (max-width:1150px){.topbar{padding:16px 20px}.content{padding:24px}.ops-dashboard-grid{grid-template-columns:1fr}.ops-toolbox{grid-template-columns:1fr 1fr;display:grid}.ops-toolbox .eyebrow,.ops-toolbox h2,.ops-toolbox p,.desk-note{grid-column:1/-1}.hero-status{min-width:200px}.bridge-hero{padding:28px}.ops-metrics{gap:10px}.ops-stat{padding:18px 14px}}@media (max-width:850px){.app-shell{grid-template-columns:1fr}.sidebar{width:246px}.bridge-hero{align-items:flex-start}.hero-status{min-width:160px;padding:14px}.ops-project-grid{grid-template-columns:1fr}.ops-department-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.topbar .search{display:none}.content{padding:20px}.table td{white-space:normal;min-width:110px}}@media (max-width:600px){.bridge-hero{padding:24px;display:block}.bridge-hero h1{font-size:36px}.hero-status{margin-top:26px}.ops-metrics,.ops-department-grid{grid-template-columns:1fr 1fr}.ops-stat strong{font-size:30px}.content{padding:16px}.card{padding:20px}.priority-type{display:none}.ops-toolbox{display:flex}.page-head h1{font-size:28px}.page-head{display:block}.page-head .actions{flex-wrap:wrap;margin-top:18px;display:flex}.modal{padding:20px}.ops-modal .form-grid{grid-template-columns:1fr}.top-actions{justify-content:flex-start}.topbar{padding:12px 16px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.preview-banner{color:#79633a;background:#efe6d6;border:1px solid #d8c7a5;border-radius:8px;justify-content:space-between;gap:16px;margin-bottom:20px;padding:12px 16px;font-size:11px;display:flex}.preview-banner b{white-space:nowrap}@media (max-width:600px){.preview-banner{flex-direction:column;gap:6px}}.main{min-width:0}.sidebar{height:100vh;top:0}.nav button,.sidebar .nav{flex-shrink:0}@media (max-width:850px){.sidebar{z-index:60;transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-110%)}.sidebar.open{transform:translate(0)}.mobile-toggle{flex-shrink:0;display:grid}.app-shell{grid-template-columns:minmax(0,1fr)}}.finance-config{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;display:flex}.finance-config p{font-size:12px}.finance-section{margin-top:24px}.finance-number{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:24px!important}.payroll-summary{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.payroll-summary p{justify-content:space-between;gap:20px;display:flex}.payroll-summary strong{font-size:24px}.business-audit{border:1px solid var(--line);background:var(--panel);border-radius:9px;margin-top:28px;padding:18px}.business-audit summary{cursor:pointer;font-size:13px}.business-audit p{overflow-wrap:anywhere;font-size:11px}.reporting-statement>p{line-height:1.7}.business-print .table td{white-space:normal}.business-print{max-width:850px}.business-print>p{line-height:1.7}.finance-date-range{flex-wrap:wrap;gap:16px;display:flex}@media print{body{color:#000;background:#fff}body>*{display:none!important}body>#app{display:block!important}#app>*{display:none!important}body>#modal{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;padding:0;inset:auto;display:block!important;position:static!important}#modal .modal{width:100%;max-width:none;max-height:none;box-shadow:none;color:#000;background:#fff;border:0;padding:0;display:block;overflow:visible}#modal .modal-head button,#modal .modal-foot{display:none!important}.table-wrap{border:1px solid #bbb;overflow:visible}.table td,.table th{break-inside:avoid;font-size:10px;color:#000!important}.table tr{break-inside:avoid}.badge{color:#000!important}.reporting-statement{display:block!important}:is(#app:has(.reporting-statement) .app-shell,#app:has(.reporting-statement) .main,#app:has(.reporting-statement) .content){margin:0;padding:0;display:block!important}:is(#app:has(.reporting-statement) .sidebar,#app:has(.reporting-statement) .topbar,#app:has(.reporting-statement) .preview-banner,#app:has(.reporting-statement) .page-head,#app:has(.reporting-statement) .back-row){display:none!important}}@media (max-width:600px){.finance-number{font-size:18px!important}.finance-config{display:grid}.payroll-summary strong{font-size:20px}}
