:root{--bg:#f4f5f7;--panel:#fff;--ink:#171a20;--ink-2:#4b5260;--ink-3:#6b7688;--line:#e3e6eb;--brand:#f59e0b;--brand-ink:#92400e;--dark:#15181d;--dark-2:#1d2127;--dark-line:#2a2f37;--red:#ef4444;--green:#22c55e;--radius-sm:10px;--radius:14px;--radius-lg:18px;--shadow-sm:0 1px 2px #171a200d, 0 4px 12px -8px #171a2024;--shadow:0 1px 2px #171a200d, 0 8px 24px -12px #171a201f;--shadow-lg:0 20px 56px -16px #171a2052, 0 4px 14px -6px #171a2029;--focus-ring:0 0 0 3px #f59e0b38;--font:"Inter", system-ui, -apple-system, sans-serif;--display:"Space Grotesk", var(--font)}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}.nav button:focus-visible,.bottom-nav button:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--font);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.5}button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:none}input,select,textarea{font:inherit;color:inherit}img{max-width:100%;display:block}.shell{min-height:100vh;display:flex}.sidebar{background:var(--dark);color:#cdd3dc;flex-direction:column;flex-shrink:0;width:232px;height:100vh;display:flex;position:sticky;top:0}.logo{align-items:center;gap:10px;padding:22px 18px 14px;display:flex}.logo-badge{background:var(--brand);width:38px;height:38px;color:var(--dark);font-family:var(--display);letter-spacing:.5px;border-radius:11px;place-items:center;font-size:15px;font-weight:700;display:grid}.logo-name{font-family:var(--display);color:#fff;font-size:17px;font-weight:700;line-height:1.1}.logo-sub{color:#7d8694;text-transform:uppercase;letter-spacing:1.4px;font-size:10.5px;font-weight:700}.project-chip{background:var(--dark-2);border:1px solid var(--dark-line);border-left:3px solid var(--brand);border-radius:10px;margin:6px 14px 14px;padding:10px 12px 10px 11px}.project-chip b{color:#fff;font-size:13.5px;display:block}.project-chip span{color:#7d8694;font-size:12px}.nav{flex-direction:column;flex:1;gap:2px;padding:6px 10px;display:flex}.nav button{color:#a6aebb;text-align:left;border-radius:9px;align-items:center;gap:11px;width:100%;min-height:40px;padding:10px 12px;font-size:14px;font-weight:500;transition:background .15s,color .15s;display:flex}.nav button:active{background:var(--dark-2)}@media (hover:hover) and (pointer:fine){.nav button:hover{background:var(--dark-2);color:#e6eaf0}}.nav button.on{background:var(--dark-2);color:#fff;box-shadow:inset 3px 0 0 var(--brand)}.nav button .ico{text-align:center;width:20px;font-size:16px}.nav .count{background:var(--brand);color:var(--dark);border-radius:99px;margin-left:auto;padding:1px 7px;font-size:11px;font-weight:700}.side-user{border-top:1px solid var(--dark-line);align-items:center;gap:10px;padding:14px;display:flex}.side-user .who b{color:#fff;font-size:13.5px;line-height:1.2;display:block}.side-user .who span{color:#7d8694;font-size:11.5px}.side-user .out{color:#7d8694;border-radius:7px;margin-left:auto;padding:6px 8px;font-size:12px;font-weight:600}@media (hover:hover) and (pointer:fine){.side-user .out:hover{background:var(--dark-2);color:#fff}}.main{flex:1;width:100%;min-width:0;max-width:1240px;margin:0 auto;padding:26px 30px 90px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;display:flex}.page-head h1{font-family:var(--display);letter-spacing:-.3px;font-size:25px;font-weight:700;line-height:1.15}.page-head p{color:var(--ink-2);margin-top:3px;font-size:14px;line-height:1.45}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.kpis{grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:12px;margin-bottom:18px;display:grid}.kpi{padding:16px 18px}.kpi .n{font-family:var(--display);letter-spacing:-.5px;font-size:28px;font-weight:700;line-height:1.1}.kpi .l{color:var(--ink-2);margin-top:3px;font-size:12.5px;font-weight:500}.kpi.alert .n{color:var(--red)}.kpi .dot{border-radius:99px;width:9px;height:9px;margin-right:7px;display:inline-block}.progress-band{border-radius:99px;height:12px;margin:4px 0 10px;display:flex;overflow:hidden}.legend{color:var(--ink-2);flex-wrap:wrap;gap:6px 16px;font-size:12.5px;display:flex}.legend i{border-radius:3px;width:9px;height:9px;margin-right:6px;font-style:normal;display:inline-block}.gridwrap{padding:20px}.floor-row{align-items:center;gap:10px;margin-bottom:8px;display:flex}.floor-label{width:56px;color:var(--ink-3);text-align:right;flex-shrink:0;font-size:12px;font-weight:700}.unit-tiles{flex:1;grid-template-columns:repeat(auto-fill,minmax(clamp(44px,18vw,68px),1fr));gap:7px;display:grid}.tile{text-align:center;color:#fff;font-size:13px;font-weight:700;font-family:var(--display);letter-spacing:.2px;border-radius:9px;min-height:44px;padding:9px 4px 7px;transition:transform .12s,box-shadow .12s;position:relative;overflow:hidden}@media (hover:hover) and (pointer:fine){.tile:hover{z-index:2;transform:translateY(-2px)scale(1.04);box-shadow:0 8px 20px -6px #00000059}}.tile:active{z-index:2;transform:translateY(0)scale(.96);box-shadow:0 2px 8px -4px #0006}.tile small{font-family:var(--font);opacity:.85;letter-spacing:0;white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:9px;font-weight:500;display:block;overflow:hidden}.tile .flagdot{width:8px;height:8px;box-shadow:0 0 0 2.5px var(--red);background:#fff;border-radius:99px;position:absolute;top:5px;right:5px}.tile.dim{opacity:.22;filter:saturate(.4)}.filters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.chip{border:1px solid var(--line);background:var(--panel);color:var(--ink-2);border-radius:99px;align-items:center;gap:7px;min-height:44px;padding:10px 14px;font-size:13px;font-weight:600;transition:all .13s;display:inline-flex}.chip i{border-radius:99px;width:8px;height:8px;font-style:normal;display:inline-block}@media (hover:hover) and (pointer:fine){.chip:hover{border-color:var(--ink-3)}}.chip:active{transform:scale(.96)}.chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}.search{border:1px solid var(--line);background:var(--panel);border-radius:10px;outline:none;width:220px;min-height:40px;padding:8px 13px;font-size:14px;transition:border .15s,box-shadow .15s}.search:focus{border-color:var(--brand);box-shadow:var(--focus-ring);outline:none}.btn{white-space:nowrap;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:9px 16px;font-size:14px;font-weight:600;transition:all .14s;display:inline-flex}.btn-primary{background:var(--brand);color:#241500;box-shadow:0 2px 8px -2px #f59e0b80}@media (hover:hover) and (pointer:fine){.btn-primary:hover{filter:brightness(1.06);transform:translateY(-1px)}}.btn-primary:active:not(:disabled){filter:brightness(.97);transform:translateY(0)scale(.98)}.btn-dark{background:var(--ink);color:#fff}@media (hover:hover) and (pointer:fine){.btn-dark:hover{background:#2b303a}}.btn-dark:active:not(:disabled){background:#12151a;transform:scale(.98)}.btn-ghost{border-color:var(--line);color:var(--ink-2);background:var(--panel)}@media (hover:hover) and (pointer:fine){.btn-ghost:hover{border-color:var(--ink-3);color:var(--ink)}}.btn-ghost:active:not(:disabled){background:var(--bg);transform:scale(.98)}.btn-danger{color:#b91c1c;background:#fee2e2}@media (hover:hover) and (pointer:fine){.btn-danger:hover{background:#fecaca}}.btn-danger:active:not(:disabled){transform:scale(.98)}.btn-sm{border-radius:8px;min-height:34px;padding:6px 12px;font-size:13px}.btn-icon-sm{min-width:44px;min-height:44px;padding:6px 10px}.btn-lg{border-radius:12px;min-height:48px;padding:13px 22px;font-size:15px}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.badge{border-radius:99px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-flex}.stage-pill{color:#fff;border-radius:99px;align-items:center;gap:7px;padding:4px 12px;font-size:12.5px;font-weight:700;display:inline-flex}.avatar{color:#fff;letter-spacing:.3px;border-radius:99px;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:12.5px;font-weight:700;display:grid}.avatar.sm{width:28px;height:28px;font-size:11px}.detail-grid{grid-template-columns:1fr 380px;align-items:start;gap:18px;display:grid}.stepper{gap:0;margin:18px 0 6px;display:flex}.step{text-align:center;flex:1;position:relative}.step .bar{background:var(--line);border-radius:99px;height:5px;margin:0 2px}.step.done .bar{background:var(--stage-c,var(--brand))}.step .cap{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;margin-top:6px;font-size:10px;font-weight:600;overflow:hidden}.step.now .cap{color:var(--ink)}.info-rows{grid-template-columns:120px 1fr;gap:8px 14px;padding:4px 0;font-size:14px;display:grid}.info-rows dt{color:var(--ink-3);font-weight:500}.info-rows dd{font-weight:600}.flagbox{background:#fef2f2;border:1px solid #fecaca;border-radius:12px;margin-top:14px;padding:12px 14px;font-size:13.5px}.flagbox.closed{border-color:var(--line);color:var(--ink-2);background:#f8fafc}.flagbox b{color:var(--red)}.flagbox.closed b{color:var(--green)}.timeline{position:relative}.tl-item{border-bottom:1px solid var(--line);gap:13px;padding:13px 0;display:flex}.tl-item:last-child{border-bottom:none}.tl-body{flex:1;min-width:0}.tl-action{font-size:14px;font-weight:600;line-height:1.4}.tl-meta{color:var(--ink-3);margin-top:2px;font-size:12.5px}.tl-meta b{color:var(--ink-2);font-weight:600}.media-row{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.media-thumb{object-fit:cover;cursor:pointer;border:1px solid var(--line);border-radius:9px;width:92px;height:69px;transition:transform .12s}@media (hover:hover) and (pointer:fine){.media-thumb:hover{transform:scale(1.05)}}.media-video{background:var(--dark);color:#fff;cursor:pointer;border-radius:9px;place-items:center;width:92px;height:69px;font-size:22px;display:grid}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.tbl{border-collapse:collapse;width:100%;font-size:13.5px}.tbl th{text-align:left;text-transform:uppercase;letter-spacing:.7px;color:var(--ink-3);border-bottom:1px solid var(--line);padding:10px 14px;font-size:11.5px;font-weight:700}.tbl td{border-bottom:1px solid var(--line);vertical-align:top;padding:11px 14px}.tbl tr:last-child td{border-bottom:none}.tbl tr.click{cursor:pointer}@media (hover:hover) and (pointer:fine){.tbl tr.click:hover td{background:#fafbfc}}.tbl tr.click:active td{background:#f4f5f7}.field{margin-bottom:14px}.field label{color:var(--ink-2);margin-bottom:6px;font-size:12.5px;font-weight:600;display:block}.input,textarea.input{border:1px solid var(--line);background:#fff;border-radius:10px;outline:none;width:100%;min-height:44px;padding:10px 13px;font-size:14.5px;transition:border .15s,box-shadow .15s}textarea.input{min-height:0}.input:focus{border-color:var(--brand);box-shadow:var(--focus-ring);outline:none}.modal-wrap{z-index:50;background:#0f11159e;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{border-radius:var(--radius-lg);width:100%;max-width:460px;max-height:90vh;box-shadow:var(--shadow-lg);background:#fff;padding:24px;overflow:auto}.modal-wide{max-width:880px}.modal h3{font-family:var(--display);letter-spacing:-.2px;margin-bottom:4px;font-size:19px}.modal .sub{color:var(--ink-2);margin-bottom:16px;font-size:13.5px;line-height:1.45}.lightbox{z-index:60;cursor:zoom-out;background:#0a0b0eeb;place-items:center;padding:30px;display:grid;position:fixed;inset:0}.lightbox img,.lightbox video{border-radius:12px;max-width:100%;max-height:85vh}.lightbox .cap{pointer-events:none;text-align:center;color:#cdd3dc;font-size:14px;position:fixed;bottom:22px;left:0;right:0}.dropzone{border:2px dashed var(--line);text-align:center;color:var(--ink-3);cursor:pointer;background:#fafbfc;border-radius:12px;padding:18px;font-size:13.5px;transition:all .15s}@media (hover:hover) and (pointer:fine){.dropzone:hover{border-color:var(--brand);color:var(--brand-ink);background:#fffbeb}}.dropzone:active{border-color:var(--brand);background:#fffbeb}.camera-capture{min-height:64px;padding:30px 18px;font-size:15.5px;font-weight:600}.inv-preview{text-align:center}.inv-thumb{object-fit:contain;border:1px solid var(--line);background:#fff;border-radius:10px;max-width:100%;max-height:240px;margin:0 auto;display:block}.pick-list{flex-direction:column;gap:8px;max-height:320px;display:flex;overflow-y:auto}.pick-row{text-align:left;border:1.5px solid var(--line);background:var(--panel);border-radius:12px;align-items:center;gap:10px;width:100%;min-height:44px;padding:14px 16px;font-size:14.5px;transition:all .13s;display:flex}@media (hover:hover) and (pointer:fine){.pick-row:hover{border-color:var(--ink-3)}}.pick-row:active{background:#fafbfc}.pick-row.sel{border-color:var(--brand);box-shadow:var(--focus-ring);background:#fffbeb}.login{grid-template-columns:1.1fr 1fr;min-height:100vh;display:grid}.login-hero{background:radial-gradient(circle at 12% -12%, #f59e0b2e, transparent 55%), var(--dark);color:#fff;padding:54px 58px;padding-top:calc(54px + env(safe-area-inset-top));flex-direction:column;display:flex;position:relative}.hero-kicker{color:#d3b06a;text-transform:uppercase;letter-spacing:1.8px;margin-top:16px;font-size:11.5px;font-weight:700}.hero-brand{text-align:center;flex-direction:column;align-items:center;gap:6px;margin-bottom:8px;display:flex}.hero-brand .hero-kicker,.hero-brand .tagline{margin-top:0}.login-hero h1{font-family:var(--display);letter-spacing:-1px;margin:14px 0;font-size:42px;line-height:1.1}.login-hero h1 em{color:var(--brand);font-style:normal}.login-hero p{color:#a6aebb;max-width:440px;font-size:16px;line-height:1.55}.hero-stats{gap:34px;margin-top:auto;padding-top:40px;display:flex}.hero-stats .n{font-family:var(--display);color:var(--brand);font-size:27px;font-weight:700}.hero-stats .l{color:#7d8694;font-size:12.5px}.login-panel{padding:40px 28px;padding-bottom:calc(40px + env(safe-area-inset-bottom));place-items:center;display:grid}.login-card{width:100%;max-width:400px}.login-card h2{font-family:var(--display);letter-spacing:-.2px;margin-bottom:4px;font-size:23px}.login-card>p{color:var(--ink-2);margin-bottom:20px;font-size:14px;line-height:1.5}.demo-users{gap:8px;margin-bottom:20px;display:grid}.demo-user{text-align:left;border:1px solid var(--line);background:var(--panel);border-radius:12px;align-items:center;gap:11px;width:100%;min-height:44px;padding:10px 12px;transition:all .13s;display:flex}@media (hover:hover) and (pointer:fine){.demo-user:hover{border-color:var(--brand);box-shadow:var(--focus-ring);transform:translateY(-1px)}}.demo-user:active{transform:translateY(0)scale(.99)}.demo-user b{font-size:14px;line-height:1.25;display:block}.demo-user span{color:var(--ink-3);font-size:12px}.demo-user .go{color:var(--ink-3);margin-left:auto;font-size:17px}.divider{color:var(--ink-3);text-transform:uppercase;letter-spacing:1px;align-items:center;gap:12px;margin:18px 0;font-size:12px;font-weight:600;display:flex}.divider:before,.divider:after{content:"";background:var(--line);flex:1;height:1px}.pending-note{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:12px;padding:14px 16px;font-size:14px;line-height:1.5}.dash-cols{grid-template-columns:348px 1fr;align-items:start;gap:18px;display:grid}@media (hover:hover) and (pointer:fine){.floor-hit:hover{fill:#f59e0b1a}}.trust-row{color:#d3b06a;flex-wrap:wrap;gap:8px 22px;margin-top:20px;font-size:13.5px;font-weight:600;display:flex}.tagline{color:var(--brand);margin-top:16px;font-size:15px;font-style:italic;font-weight:600}.brandfoot{text-align:center;color:var(--ink-3);margin-top:34px;font-size:12px}@media (width<=900px){.dash-cols{grid-template-columns:1fr}}.cont-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.cont-card{cursor:pointer;padding:15px 16px;transition:all .13s}@media (hover:hover) and (pointer:fine){.cont-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}}.cont-card:active{box-shadow:var(--shadow-sm);transform:translateY(0)scale(.98)}.cont-num{font-family:var(--display);letter-spacing:-.2px;font-size:17px;font-weight:700}.cont-units{color:var(--ink-2);margin-top:6px;font-size:12.5px;line-height:1.6}.vault-stats{color:var(--ink-2);font-size:12.5px;line-height:1.6}.vault-stats strong{color:var(--ink);font-weight:700}.seg{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-sm);gap:3px;padding:3px;display:inline-flex}.seg button{appearance:none;cursor:pointer;font:inherit;color:var(--ink-3);background:0 0;border:0;border-radius:7px;min-height:38px;padding:0 16px;font-size:13px;font-weight:600}.seg button.on{background:var(--panel);color:var(--ink);box-shadow:var(--shadow-sm)}@media (hover:hover) and (pointer:fine){.seg button:not(.on):hover{color:var(--ink-2)}}.vault-sheet-num{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:15px;font-weight:700}.vault-sheet-gap{color:var(--brand-ink);font-weight:600}.th-sort{appearance:none;cursor:pointer;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;white-space:nowrap;background:0 0;border:0;align-items:center;gap:5px;padding:0;display:inline-flex}.th-arrow{color:var(--brand);width:9px;font-size:9px}@media (hover:hover) and (pointer:fine){.th-sort:hover{color:var(--ink)}}.export-wrap{position:relative}.export-catch{z-index:40;position:fixed;inset:0}.export-menu{z-index:41;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);min-width:246px;box-shadow:var(--shadow-lg);padding:6px;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden}.export-menu button{text-align:left;appearance:none;width:100%;font:inherit;cursor:pointer;color:var(--ink);background:0 0;border:0;border-radius:9px;padding:9px 11px;display:block}.export-menu button b{font-size:13.5px;font-weight:700;display:block}.export-menu button span{color:var(--ink-3);margin-top:1px;font-size:11.5px;display:block}@media (hover:hover) and (pointer:fine){.export-menu button:hover{background:var(--bg)}}.export-menu button:active{background:var(--bg)}.manifest-actions{flex-wrap:wrap;gap:10px;margin-bottom:18px;display:flex}.manifest{color:#171a20;background:#fff;font-size:12px;line-height:1.45}.manifest-head{border-bottom:3px solid var(--brand);flex-wrap:wrap;align-items:flex-end;gap:18px;padding-bottom:13px;display:flex}.manifest-logo{width:auto;height:46px;display:block}.manifest-title{flex:1;min-width:180px}.manifest-title h1{font-family:var(--display);letter-spacing:-.2px;margin:0;font-size:23px;font-weight:700}.manifest-title p{color:#4b5260;margin:2px 0 0;font-size:12px}.manifest-meta{text-align:right;color:#4b5260;font-size:11px}.manifest-meta span{display:block}.manifest-stats{color:#4b5260;border-bottom:1px solid #d8dce2;flex-wrap:wrap;gap:4px 20px;padding:11px 0;font-size:12px;display:flex}.manifest-stats b{font-family:var(--display);color:#171a20;font-size:14px}.manifest-h2{text-transform:uppercase;letter-spacing:1.3px;color:#6b7688;margin:20px 0 10px;font-size:10.5px;font-weight:700}.manifest-units{grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:10px;display:grid}.manifest-unit{border:1px solid #d8dce2;border-radius:6px;padding:9px 11px 11px}.mu-who b{font-family:var(--display);font-size:13px}.mu-who span{color:#4b5260;font-size:11.5px;display:block}.mu-plates{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.plate{font-family:var(--display);font-variant-numeric:tabular-nums;letter-spacing:.6px;background:#fff;border:1.5px solid #171a20;border-radius:2px;padding:2px 8px;font-size:13px;font-weight:700}.plate-gap{border-style:dashed;border-color:var(--brand-ink);color:var(--brand-ink)}.manifest-legend{color:#4b5260;margin:9px 0 0;font-size:11px;font-style:italic}.manifest-tbl{border-collapse:collapse;width:100%;font-size:11px}.manifest-tbl th{text-align:left;text-transform:uppercase;letter-spacing:.8px;color:#6b7688;border-bottom:1.5px solid #171a20;padding:0 8px 6px 0;font-size:9.5px}.manifest-tbl td{vertical-align:top;border-bottom:1px solid #e6e9ee;padding:5px 8px 5px 0}.mt-num{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:12.5px;font-weight:700}.mt-gap{color:var(--brand-ink);font-weight:700}.manifest-foot{color:#6b7688;border-top:1px solid #d8dce2;align-items:center;gap:8px;margin-top:18px;padding-top:10px;font-size:10px;display:flex}.manifest-mark{width:auto;height:15px}@page{size:letter;margin:14mm}@media print{.sidebar,.topbar-mobile,.bottom-nav,.brandfoot,.return-banner,.no-print{display:none!important}.shell{display:block}.main{max-width:none;padding:0}.main>:not(.modal-wrap){display:none!important}.modal-wrap{z-index:auto;background:0 0;padding:0;display:block;position:static}.modal{max-width:none;max-height:none;box-shadow:none;border-radius:0;padding:0;overflow:visible}.modal>.row,.modal>.sub{display:none!important}.manifest-tbl tr,.manifest-unit{page-break-inside:avoid}.manifest-tbl thead{display:table-header-group}}.return-banner{color:#fff;letter-spacing:.3px;background:linear-gradient(90deg,#0891b2,#22c55e);border-radius:12px;align-items:center;gap:8px;margin-bottom:16px;padding:10px 16px;font-size:13px;font-weight:700;display:flex}.empty{text-align:center;color:var(--ink-3);padding:44px 20px;font-size:14px;line-height:1.5}.empty .big{background:linear-gradient(#fffbeb,#fef3c7);border-radius:99px;justify-content:center;align-items:center;width:62px;height:62px;margin:0 auto 14px;font-size:30px;display:flex;box-shadow:inset 0 0 0 1px #f59e0b47}.section-title{text-transform:uppercase;letter-spacing:.9px;color:var(--ink-3);margin:22px 0 10px;font-size:13px;font-weight:700}.row{align-items:center;gap:10px;display:flex}.grow{flex:1;min-width:0}.muted{color:var(--ink-3);font-size:12.5px}a.linkish,.linkish{color:#b45309;cursor:pointer;font-weight:600;text-decoration:none}@media (hover:hover) and (pointer:fine){.linkish:hover{text-decoration:underline}}.toast{pointer-events:none;z-index:70;background:var(--ink);color:#fff;box-shadow:var(--shadow-lg);border-radius:12px;padding:12px 20px;font-size:14px;font-weight:600;animation:.25s toast-in;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.updatebar{z-index:80;background:var(--ink);color:#fff;text-align:left;cursor:pointer;width:min(420px,100vw - 32px);box-shadow:var(--shadow-lg);border:none;border-radius:12px;align-items:center;gap:10px;padding:12px 16px;font-family:inherit;font-size:14px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.bottom-nav{display:none}@media (width<=900px){.shell{flex-direction:column}.sidebar{display:none}.main{padding:16px max(14px, env(safe-area-inset-right)) calc(104px + env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left))}.detail-grid{grid-template-columns:1fr}.detail-grid>:last-child{order:-1}.login{grid-template-columns:1fr}.login-hero{padding:calc(28px + env(safe-area-inset-top)) 22px 26px;min-height:34vh}.login-hero h1{margin-top:10px;font-size:30px}.hero-kicker{margin-top:12px}.hero-stats{gap:22px;padding-top:24px}.login-panel{padding:32px 22px calc(32px + env(safe-area-inset-bottom))}.unit-tiles{gap:5px}.tile{border-radius:7px;justify-content:center;align-items:center;min-height:44px;padding:4px;font-size:13px;display:flex}.tile small{display:none}.floor-label{width:36px;font-size:11px}.page-head h1{font-size:21px}.page-head{margin-bottom:18px}.page-head .row{flex-wrap:wrap;width:100%}.search{width:100%}.topbar-mobile{background:var(--dark);color:#fff;padding:12px max(16px, env(safe-area-inset-right)) 12px max(16px, env(safe-area-inset-left));padding-top:calc(12px + env(safe-area-inset-top));z-index:30;box-shadow:0 1px 0 var(--dark-line);align-items:center;gap:10px;display:flex;position:sticky;top:0}.topbar-mobile button{min-height:40px;padding:8px 10px}.bottom-nav{z-index:40;background:var(--dark);border-top:1px solid var(--dark-line);padding:6px max(4px, env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(4px, env(safe-area-inset-left));display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav button{color:#7d8694;border-radius:8px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;min-height:46px;padding:6px 2px;font-size:10px;font-weight:600;display:flex}.bottom-nav button.on{color:var(--brand)}.bottom-nav button:active{background:var(--dark-2)}.bottom-nav button .ico{font-size:19px}.kpis{grid-template-columns:repeat(2,1fr)}.toast{bottom:calc(86px + env(safe-area-inset-bottom));max-width:calc(100vw - 32px)}.updatebar{bottom:calc(86px + env(safe-area-inset-bottom))}}@media (width>=901px){.topbar-mobile{display:none}}button,.tile,.chip,.pick-row,.cont-card,.demo-user,.linkish,.dropzone,.media-thumb,.media-video,.tbl tr.click,.floor-hit,a,input,select,textarea,[role=button]{touch-action:manipulation}button,.tile,.chip,.pick-row,.cont-card,.demo-user,.linkish,.dropzone,.media-thumb,.media-video,[role=button]{-webkit-tap-highlight-color:#f59e0b38}button,.tile,.chip,.pick-row,.bottom-nav button,.nav button,[role=button]{-webkit-user-select:none;user-select:none}@media (pointer:coarse){.input,textarea.input,input,select,textarea{font-size:16px}.btn-sm{min-height:44px;padding:8px 14px}.topbar-mobile button,.nav button{min-height:44px}.btn:active:not(:disabled){transform:scale(.97)}}
