:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#eef2ef;--card:#fff;--popover:#fff;--elevated:#fff;--muted:#f3f8f5;--sidebar:#fff;--sidebar-border:#e9efec;--chrome:#17222a;--foreground:#20313a;--muted-foreground:#5c6e77;--faint-foreground:#8fa0a7;--primary:#2e6b4e;--primary-deep:#24543d;--primary-foreground:#fff;--secondary:#e9f1ec;--secondary-foreground:#24543d;--accent-soft:#e9f1ec;--accent-soft-foreground:#24543d;--border:#dde5e1;--border-soft:#e9efec;--input:#dde5e1;--ring:#2e6b4e;--destructive:#ac4a2f;--destructive-soft:#f6e7e1;--warning:#b97f1f;--warning-soft:#f8efdc;--success:#3e8e63;--success-soft:#e9f1ec;--success-strong:#2e6b4e;--info:#3d6e93;--info-soft:#e7eff5;--status-done:#3e8e63;--status-waiting:#d99a2b;--status-info:#5b8ab0;--status-alert:#c65b3d;--status-neutral:#b7c4be;--kpi-positive:#24543d;--kpi-negative:#ac4a2f;--shadow-1:0 1px 2px #0000000d;--shadow-2:0 12px 32px #0000002e;--control-h-sm:2rem;--control-h-md:2.5rem;--control-h-lg:3rem;--touch-min:2.75rem;--row-h:3.25rem;--row-h-desk:2.5rem;--tabbar-h:4rem;--chip-h:1.75rem;--kpi-min-w:9.25rem;--kpi-min-h:4.75rem;--radius-sm:6px;--radius-md:8px;--radius-lg:10px;--radius-xl:14px;--radius-pill:999px;--sheet-radius:18px;--rail-w:14.5rem;--header-h:3.5rem;--font-sans:system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--font-floor:var(--font-sans)}@media (max-width:639px){:root{--header-h:3.25rem}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#141917;--card:#1c221f;--popover:#232a27;--elevated:#232a27;--muted:#181e1b;--sidebar:#171c19;--sidebar-border:#27302c;--chrome:#0c100e;--foreground:#e4ede8;--muted-foreground:#9fb2aa;--faint-foreground:#7f928a;--primary:#6fbf92;--primary-deep:#8fd3ac;--primary-foreground:#0c100e;--secondary:#182f22;--secondary-foreground:#8fd3ac;--accent-soft:#182f22;--accent-soft-foreground:#8fd3ac;--border:#2f3934;--border-soft:#27302c;--input:#425149;--ring:#6fbf92;--destructive:#e88a6b;--destructive-soft:#3d251d;--warning:#e5b45c;--warning-soft:#352915;--success:#7ccb9b;--success-soft:#192f21;--success-strong:#7ccb9b;--info:#7fb3d9;--info-soft:#1f2c39;--status-done:#7ccb9b;--status-waiting:#e5b45c;--status-info:#7fb3d9;--status-alert:#e88a6b;--status-neutral:#83978f;--kpi-positive:#7ccb9b;--kpi-negative:#e88a6b;--shadow-1:none;--shadow-2:0 12px 32px #00000080}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#141917;--card:#1c221f;--popover:#232a27;--elevated:#232a27;--muted:#181e1b;--sidebar:#171c19;--sidebar-border:#27302c;--chrome:#0c100e;--foreground:#e4ede8;--muted-foreground:#9fb2aa;--faint-foreground:#7f928a;--primary:#6fbf92;--primary-deep:#8fd3ac;--primary-foreground:#0c100e;--secondary:#182f22;--secondary-foreground:#8fd3ac;--accent-soft:#182f22;--accent-soft-foreground:#8fd3ac;--border:#2f3934;--border-soft:#27302c;--input:#425149;--ring:#6fbf92;--destructive:#e88a6b;--destructive-soft:#3d251d;--warning:#e5b45c;--warning-soft:#352915;--success:#7ccb9b;--success-soft:#192f21;--success-strong:#7ccb9b;--info:#7fb3d9;--info-soft:#1f2c39;--status-done:#7ccb9b;--status-waiting:#e5b45c;--status-info:#7fb3d9;--status-alert:#e88a6b;--status-neutral:#83978f;--kpi-positive:#7ccb9b;--kpi-negative:#e88a6b;--shadow-1:none;--shadow-2:0 12px 32px #00000080}}
:root{--bg:var(--background);--surface:var(--card);--surface2:var(--muted);--ink:var(--foreground);--ink-soft:var(--muted-foreground);--line:var(--border);--line-soft:var(--border-soft);--saw:var(--warning);--saw-bg:var(--warning-soft);--paint:var(--info);--paint-bg:var(--info-soft);--ok:var(--success-strong);--ok-bg:var(--success-soft);--warn:var(--destructive);--warn-bg:var(--destructive-soft);--neutral-bg:var(--muted);--accent:var(--primary);--radius:var(--radius-md)}*{box-sizing:border-box}progress,input[type=checkbox],input[type=radio],input[type=range]{accent-color:var(--primary)}:focus-visible{outline-color:var(--ring)}input:not([type=checkbox]):not([type=radio]):focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in srgb, var(--ring) 35%, transparent);outline:none}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-variant-numeric:tabular-nums;margin:0;font-size:14.5px;line-height:1.45}header.site{top:var(--ghost-h,0px);z-index:31;min-height:var(--header-h);background:var(--sidebar);border-bottom:1px solid var(--border-soft);align-items:center;gap:12px;padding:0 20px;display:flex;position:sticky}header.site h1{letter-spacing:0;color:var(--primary);white-space:nowrap;margin:0;font-size:18px;font-weight:700}header.site .sub{color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}nav.site{background:var(--sidebar);z-index:40}nav.site a{color:color-mix(in srgb, var(--foreground) 80%, transparent);align-items:center;font-weight:500;text-decoration:none;display:flex}nav.site a svg,nav.site button.more svg{stroke:currentColor;fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none}nav.site a:hover{background:color-mix(in srgb, var(--accent-soft) 60%, transparent);color:var(--foreground)}nav.site a[aria-current=page],nav.site a.active{background:var(--accent-soft);color:var(--accent-soft-foreground);font-weight:600}nav.site a:focus-visible,nav.site button.more:focus-visible{outline:2px solid var(--ring);outline-offset:-2px}nav.site button.more{display:none}main{max-width:75rem;padding:20px 20px 48px}@media (min-width:1024px){nav.site{top:calc(var(--header-h) + var(--ghost-h,0px));width:var(--rail-w);border-right:1px solid var(--sidebar-border);flex-direction:column;gap:2px;padding:8px 12px;display:flex;position:fixed;bottom:0;left:0;overflow-y:auto}nav.site a{border-radius:var(--radius-md);gap:10px;height:36px;padding:0 10px;font-size:14px}nav.site a svg{width:16px;height:16px}nav.site a .lbl{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}body:has(nav.site) main{margin-left:var(--rail-w)}main{padding:24px 32px 48px}}@media (min-width:1024px) and (max-width:1279px){:root{--rail-w:11.5rem}nav.site{padding:8px}nav.site a{gap:8px;height:34px;padding:0 8px;font-size:13px}body:has(nav.site) main{padding-left:24px;padding-right:24px}}@media (max-width:1023px){nav.site{border-top:1px solid var(--sidebar-border);padding-bottom:env(safe-area-inset-bottom);align-items:stretch;display:flex;position:fixed;bottom:0;left:0;right:0}nav.site a,nav.site button.more{min-width:0;min-height:var(--tabbar-h);color:var(--muted-foreground);cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;justify-content:flex-start;gap:3px;padding:0 2px;font-family:inherit;font-size:11px;font-weight:600;padding-top:10px!important}nav.site a .lbl,nav.site button.more .lbl{text-align:center;white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;line-height:1.15;display:-webkit-box;overflow:hidden}nav.site a svg,nav.site button.more svg{width:22px;height:22px}nav.site a:hover{color:var(--foreground);background:0 0}nav.site a[aria-current=page],nav.site a.active,nav.site button.more[aria-pressed=true]{color:var(--primary);background:0 0;font-weight:700}nav.site a[data-overflow]{display:none}nav.site button.more{display:flex}main table:not(.hgrid){-webkit-overflow-scrolling:touch;background:0 0;border:0;max-width:100%;display:block;overflow-x:auto}main table:not(.hgrid) thead th{background:var(--surface2)}main table:not(.hgrid) td{background:var(--surface)}main table:not(.hgrid) th,main table:not(.hgrid) td{white-space:nowrap}.kh table th,.kh table td{white-space:normal;min-width:8rem}body:has(nav.site) main{padding-bottom:calc(var(--tabbar-h) + 24px + env(safe-area-inset-bottom))}body:has(nav.site) .toast{bottom:calc(var(--tabbar-h) + 14px + env(safe-area-inset-bottom))}body:has(nav.site) .status-banner{left:0;right:0;bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom));z-index:45;position:fixed}body:has(nav.site) .status-banner.ghost{position:sticky;inset:0 auto auto}}.more-sheet .cap{text-transform:uppercase;letter-spacing:.06em;color:var(--faint-foreground);padding:4px 8px;font-size:11px;font-weight:700}.more-sheet a.row{border-radius:var(--radius-md);min-height:44px;color:var(--foreground);align-items:center;gap:12px;padding:8px;font-size:14px;font-weight:600;text-decoration:none;display:flex}.more-sheet a.row:hover,.more-sheet a.row:active{background:var(--accent-soft)}.more-sheet a.row[aria-current=page]{background:var(--accent-soft);color:var(--accent-soft-foreground)}.more-sheet a.row svg{width:18px;height:18px;color:var(--primary);stroke:currentColor;fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none}.more-sheet a.row .arrow{color:var(--muted-foreground);margin-left:auto}h2{margin:22px 0 10px;font-size:16px;font-weight:700}h2:first-child{margin-top:4px}.hint{color:var(--ink-soft);max-width:68ch;margin:4px 0 12px;font-size:13px}table{border-collapse:collapse;background:var(--surface);border:1px solid var(--line);font-variant-numeric:tabular-nums;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line-soft);vertical-align:top;padding:7px 8px}th{color:var(--ink-soft);background:var(--surface2);font-size:12.5px;font-weight:600}tr:last-child td{border-bottom:none}td.num,th.num{text-align:right;white-space:nowrap}.sortbtn{all:unset;cursor:pointer;box-sizing:border-box;width:100%;font:inherit;color:inherit;text-align:inherit;display:block}.sortbtn:hover{color:var(--ink)}.sortbtn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}th[aria-sort]{color:var(--ink);white-space:nowrap}th[aria-sort=ascending] .sortbtn:after{content:" ▲";color:var(--accent);font-size:9px}th[aria-sort=descending] .sortbtn:after{content:" ▼";color:var(--accent);font-size:9px}thead tr.colfilter td{background:var(--surface2);border-bottom:1px solid var(--line-soft);padding:0 6px 6px}tr.colfilter input{box-sizing:border-box;text-align:left;width:100%;min-width:0;padding:3px 6px;font-size:12.5px}tr.colfilter .range{justify-content:flex-end;gap:4px;display:flex}tr.colfilter .range input{text-align:right;max-width:72px}.ctxmenu{z-index:50;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-width:150px;padding:4px;position:fixed;box-shadow:0 6px 20px #0000002e}.ctxmenu button{all:unset;box-sizing:border-box;cursor:pointer;border-radius:4px;width:100%;padding:6px 12px 6px 8px;font-size:13px;display:block}.ctxmenu button:before{content:"✓";visibility:hidden;width:18px;color:var(--accent);display:inline-block}.ctxmenu button[aria-checked=true]:before{visibility:visible}.ctxmenu button:hover,.ctxmenu button:focus-visible{background:var(--surface2)}.ctxmenu button[disabled]{cursor:default;color:var(--ink-soft);opacity:.6}.ctxmenu button.sep{border-top:1px solid var(--line-soft);border-radius:0;margin-top:4px;padding-top:8px}.menubtn{min-width:0;line-height:1.2;padding:0 6px!important}.crumbs,.code{white-space:nowrap}.code-long{min-width:15ch}[data-deviation]{white-space:nowrap}.crumbs .sep{color:var(--ink-soft);white-space:pre}.crumbs .crumb{all:unset;font:inherit;color:inherit}.crumbs button.crumb{cursor:pointer}.crumbs button.crumb:hover{color:var(--accent);text-decoration:underline}.crumbs button.crumb:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:2px}.chip.kit{background:var(--paint-bg);color:var(--paint)}tr[data-kit]{-webkit-user-select:none;user-select:none}.chip{white-space:nowrap;border-radius:99px;padding:1px 8px 2px;font-size:12px;font-weight:600;display:inline-block}.chip.saw{background:var(--saw-bg);color:var(--saw)}.chip.paint{background:var(--paint-bg);color:var(--paint)}.chip.ok{background:var(--ok-bg);color:var(--ok)}.chip.warn{background:var(--warn-bg);color:var(--warn)}.chip.plain{background:var(--neutral-bg);color:var(--ink-soft)}button.chip{font:inherit;cursor:pointer;border:1px solid #0000;padding:3px 10px;font-size:12px;font-weight:600;line-height:1.4}button.chip:hover{border-color:color-mix(in srgb, currentColor 35%, transparent)}button.chip:not(.ring)[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}button.chip.ring[aria-pressed=true]{box-shadow:0 0 0 2px var(--card), 0 0 0 3.5px currentColor}button.chip:focus-visible,a.chip:focus-visible{outline:2px solid var(--ring);outline-offset:1px}a.chip{text-decoration:none}a.chip:hover{text-underline-offset:2px;text-decoration:underline}button.act{font:inherit;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);cursor:pointer;padding:5px 11px;font-size:13px;font-weight:600}button.act:hover{border-color:var(--ink-soft)}button.act.primary{background:var(--accent);border-color:var(--accent);color:var(--primary-foreground)}button.act.danger{background:var(--warn);border-color:var(--warn);color:var(--primary-foreground)}button.act:disabled{opacity:.45;cursor:default}input,select,textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:5px 8px;font-size:13.5px}input[type=number]{text-align:right;width:90px}select,input,textarea,main label{max-width:100%}textarea{line-height:1.45}.bar{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 12px;display:flex}.bar label{color:var(--ink-soft);font-size:13px}td .indent1{padding-left:22px}td .indent2{padding-left:44px}td .indent3{padding-left:66px}tr.drop-over td{background:var(--paint-bg)}.drop-over{outline:2px dashed var(--paint);outline-offset:-2px}.loading{color:var(--ink-soft);padding:30px 0}.cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px}main .cards>*,main .card{min-width:0}main .card{overflow-x:auto}.card h3{margin:0 0 6px;font-size:14.5px;font-weight:800}.kv{justify-content:space-between;gap:10px;padding:2px 0;font-size:13px;display:flex}.kv span:first-child{color:var(--ink-soft)}.inlineform{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.cards.roomy{grid-template-columns:repeat(auto-fill,minmax(460px,1fr))}.userbar{align-items:center;gap:8px;min-width:0;margin-left:auto;font-size:13px;display:inline-flex}.userbar select[data-company],.userbar>b{border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--card);min-height:32px;color:var(--muted-foreground);max-width:220px;padding:0 12px;font-size:12px;font-weight:600}.userbar>b{text-overflow:ellipsis;white-space:nowrap;align-items:center;display:inline-flex;overflow:hidden}.usermenu-wrap{display:inline-flex;position:relative}.usermenu-btn{all:unset;font:inherit;color:var(--ink);cursor:pointer;box-sizing:border-box;border-radius:99px;align-items:center;gap:7px;max-width:320px;padding:3px 6px 3px 3px;font-size:13px;display:inline-flex}.usermenu-btn:hover,.usermenu-btn.open{background:var(--surface2)}.usermenu-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.usermenu-btn .who{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.usermenu-btn .chev{color:var(--ink-soft);flex:none;transition:transform .12s}.usermenu-btn.open .chev{transform:rotate(180deg)}.avatar{letter-spacing:.02em;color:#fff;background:oklch(.58 .12 var(--hue,250));-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;justify-content:center;align-items:center;width:22px;height:22px;font-size:10px;font-weight:800;display:inline-flex}.avatar.lg{width:36px;height:36px;font-size:14px}.avatar{position:relative}.avatar-ghost{background:var(--primary);width:15px;height:15px;color:var(--primary-foreground);box-shadow:0 0 0 2px var(--surface);border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:absolute;bottom:-5px;right:-5px}.avatar-ghost .ico{width:10px;height:10px}.avatar.lg .avatar-ghost{width:18px;height:18px;bottom:-4px;right:-4px}.avatar.lg .avatar-ghost .ico{width:12px;height:12px}.usermenu-btn.ghost{background:var(--accent-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--primary) 40%, transparent)}.usermenu-btn.ghost:hover,.usermenu-btn.ghost.open{background:color-mix(in srgb, var(--primary) 22%, var(--surface))}.usermenu-id .ghostline{color:var(--primary);align-items:center;gap:5px;font-size:12.5px;font-weight:600;display:inline-flex}.usermenu-id .ghostline .ico{flex:none;width:13px;height:13px}.usermenu{z-index:50;background:var(--surface);border:1px solid var(--line);border-radius:8px;min-width:250px;max-width:min(360px,92vw);padding:4px;animation:90ms ease-out usermenu-in;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 6px 20px #0000002e}@keyframes usermenu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.usermenu{animation:none}.usermenu-btn .chev{transition:none}}.usermenu-head{border-bottom:1px solid var(--line-soft);align-items:center;gap:10px;margin-bottom:4px;padding:8px 10px 10px;display:flex}.usermenu-id{gap:1px;min-width:0;font-size:13px;display:grid}.usermenu-id b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.usermenu-id .muted{font-size:12.5px}.usermenu-label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);padding:6px 10px 2px;font-size:11px;font-weight:700}.usermenu [role^=menuitem]{all:unset;box-sizing:border-box;width:100%;color:var(--ink);cursor:pointer;border-radius:5px;align-items:center;gap:9px;padding:7px 10px;font-size:13px;display:flex}.usermenu [role^=menuitem] .ico{color:var(--ink-soft);flex:none}.usermenu [role^=menuitem]:hover,.usermenu [role^=menuitem]:focus-visible{background:var(--surface2)}.usermenu [role=menuitemradio]:after{content:"✓";color:var(--accent);visibility:hidden;margin-left:auto;font-weight:700}.usermenu [role=menuitemradio][aria-checked=true]:after{visibility:visible}.usermenu [role=menuitem].danger:hover,.usermenu [role=menuitem].danger:focus-visible,.usermenu [role=menuitem].danger:hover .ico,.usermenu [role=menuitem].danger:focus-visible .ico{color:var(--warn)}.usermenu .sep{border-top:1px solid var(--line-soft);border-radius:0;margin-top:4px;padding-top:10px}.usermenu [role=menuitem].sep{border-radius:0 0 5px 5px}.usermenu-ghost{padding:10px 10px 6px}.usermenu-ghost .ghost-pick{gap:6px;display:grid}.usermenu-ghost .ghost-pick select{max-width:100%}.usermenu-ghost .ghost-pick button.act{justify-self:start}.authbox,.authbox.card{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--card);width:100%;max-width:24rem;box-shadow:var(--shadow-1);margin:0 auto;padding:24px}.authbox h2{margin:0 0 4px;font-size:24px;font-weight:600}.authbox .desc{color:var(--muted-foreground);margin:0 0 18px;font-size:14px}.authbox form{gap:14px;display:grid}.authbox .field{gap:6px;display:grid}.authbox label{color:var(--foreground);gap:6px;font-size:14px;font-weight:500;display:grid}.authbox .field .row{align-items:center;gap:8px;display:flex}.authbox .field .row a{color:var(--foreground);margin-left:auto;font-size:13px;font-weight:500;text-decoration:none}.authbox .field .row a:hover{text-underline-offset:4px;text-decoration:underline}.authbox input{border-radius:var(--radius-md);border:1px solid var(--input);width:100%;min-height:40px;padding:0 12px;font-size:15px}.authbox input:focus-visible{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in srgb, var(--ring) 45%, transparent);outline:none}.authbox button.act.primary,.authbox a.act.primary{justify-content:center;align-items:center;width:100%;min-height:40px;font-size:14px;display:inline-flex}.authbox [role=alert]{color:var(--destructive);margin:0;font-size:14px}.authbox .hint{font-size:12.5px}.authbox select[aria-label]{border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--card);min-height:32px;color:var(--muted-foreground);padding:0 10px;font-size:12px;font-weight:600}body:has(.authbox) header.site{justify-content:center;min-height:64px}body:has(.authbox) main{justify-content:center;align-items:flex-start;max-width:none;margin:0;padding:40px 16px 48px;display:flex}.card.wide{grid-column:1/-1}table.usage{font-size:12.5px}table.usage th,table.usage td{padding:5px 7px}.subform{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface2);margin-top:10px;padding:10px 12px}.subform h4{margin:0 0 6px;font-size:13.5px;font-weight:800}.subform table{margin-top:6px}.var-pos{color:var(--warn);font-weight:600}.var-neg{color:var(--ok);font-weight:600}.bar label.check,.inlineform label.check{color:var(--ink);align-items:center;gap:5px;display:inline-flex}.tablewrap{overflow-x:auto}.toast{z-index:60;background:var(--ink);color:var(--bg);border-radius:var(--radius);opacity:0;pointer-events:none;max-width:90vw;padding:9px 16px;font-size:13.5px;transition:opacity .18s;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}.toast.show{opacity:1;pointer-events:auto}.toast.error{color:#fff;text-align:left;background:#3b1f1f;width:min(560px,92vw);padding:10px 14px 8px;font-size:14px}.toast.error.kind-network,.toast.error.kind-stale{background:#3a2f12}.toast .toast-meta{opacity:.9;margin-top:4px;font-size:12.5px}.toast .toast-bar{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;font-size:12.5px;display:flex}.toast .toast-ref{opacity:.9;margin-right:auto}.toast .toast-ref code{letter-spacing:.06em;background:#ffffff24;border-radius:4px;padding:1px 6px;font-size:13px}.toast .toast-btn{color:#fff;min-height:30px;font:inherit;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff40;border-radius:6px;padding:4px 10px;font-size:12.5px}.toast .toast-btn:hover{background:#ffffff38}.toast .toast-details{white-space:pre-wrap;word-break:break-word;background:#0000004d;border-radius:6px;max-height:160px;margin:6px 0 0;padding:6px 8px;font-size:11.5px;overflow:auto}body:has(.floor) .toast{bottom:calc(var(--tabbar-h) + 14px + env(safe-area-inset-bottom))}.status-banner{flex-wrap:wrap;align-items:center;gap:8px;padding:8px 18px;font-size:13.5px;display:flex}.status-banner.warn{background:var(--warn-bg);color:var(--warn);border-bottom:1px solid var(--line)}.status-banner button.act,.status-banner a.act{min-height:28px;padding:0 10px;font-size:13px}.status-banner.ghost{background:var(--primary);color:var(--primary-foreground);border-bottom:2px solid var(--primary-deep);z-index:46;height:var(--ghost-h);white-space:nowrap;flex-wrap:nowrap;justify-content:center;font-size:13px;position:sticky;top:0;overflow:hidden}body:has(.status-banner.ghost){--ghost-h:44px}.status-banner.ghost button.act{background:var(--primary-foreground);color:var(--primary);border-color:#0000}body:has(.floor) .status-banner.ghost{z-index:46;position:sticky;top:0;bottom:auto}.ghost-pick{align-items:center;gap:6px;display:inline-flex}.ghost-pick select{max-width:260px}body:has(.floor) .status-banner{left:0;right:0;bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom));z-index:45;position:fixed}.errorpage{text-align:center;max-width:640px;margin:40px auto;padding:0 16px}.errorpage code{letter-spacing:.06em;font-size:15px}.muted{color:var(--ink-soft)}.small{font-size:12.5px}@media (max-width:640px){main{padding-left:12px;padding-right:12px}header.site{gap:8px;padding:0 12px}header.site .sub,.usermenu-btn .who{display:none}th,td{padding:6px 7px}.cards.roomy{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.toast{transition:none}}a.act{color:var(--ink);font:inherit;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:5px 11px;font-size:13px;font-weight:600;text-decoration:none;display:inline-block}a.act:hover{border-color:var(--ink-soft)}.pkform{margin-top:6px}.pkform table td,.pkform table th{padding-top:3px;padding-bottom:3px}.picklist{flex-wrap:wrap;gap:6px 16px;margin-top:8px;display:flex}.picklist label.check{align-items:center;gap:5px;font-size:13px;display:inline-flex}.labels{flex-wrap:wrap;gap:16px;margin-top:12px;display:flex}.label{box-sizing:border-box;color:#000;border:1px solid var(--line);background:#fff;border-radius:4px;flex-direction:column;gap:3mm;width:105mm;min-height:148mm;padding:8mm 7mm;display:flex}.label-head{border-bottom:2px solid #000;flex-direction:column;gap:1mm;padding-bottom:2mm;display:flex}.label-head b{letter-spacing:-.01em;font-size:20px;font-weight:800}.label-head span{font-size:13px}.label-dims{font-size:22px;font-weight:800}.label-qty{justify-content:space-between;gap:8px;font-size:17px;display:flex}.label-qty b{font-size:30px;font-weight:800}.label-kv{background:0 0;border:0;width:100%;font-size:12.5px}.label-kv td{color:#000;vertical-align:top;background:0 0;border:0;padding:1.2mm 0}.label-kv td:first-child{color:#444;width:28mm}.label-code{justify-content:center;margin-top:auto;display:flex}@media print{@page{size:A6;margin:0}header.site,nav.site,.status-banner,.noprint,.toast{display:none!important}body{background:#fff}main{max-width:none;margin:0;padding:0}.labels{margin:0;display:block}.label{page-break-after:always;break-after:page;border:0;border-radius:0;width:105mm;height:148mm;min-height:0}}.labels.small{gap:8px}.label.small{width:var(--lw,50mm);min-height:0;height:var(--lh,25mm);justify-content:space-between;gap:.5mm;padding:1.5mm 2mm}.label.small .label-serial{white-space:nowrap;text-overflow:ellipsis;font-size:9.5px;font-weight:800;overflow:hidden}.label.small .label-item{white-space:nowrap;text-overflow:ellipsis;font-size:7.5px;overflow:hidden}.label.small .label-code{height:13mm;margin:0}.label.small .label-code svg{width:auto;max-width:46mm;height:13mm}@page unit{size:50mm 25mm;margin:0}@media print{.labels.small{display:block}.label.small{page:unit;width:var(--lw,50mm);height:var(--lh,25mm);page-break-after:always;break-after:page;border:0;border-radius:0}}.delivery{color:#000;border:1px solid var(--line);background:#fff;border-radius:4px;max-width:186mm;margin-top:12px;padding:14mm 12mm}.delivery h1{margin:0 0 2mm;font-size:20px}.delivery table{background:0 0;width:100%;margin-top:4mm;font-size:12.5px}.delivery th,.delivery td{color:#000;background:0 0;border-color:#999}.delivery .kv2{grid-template-columns:1fr 1fr;gap:1mm 10mm;margin-top:3mm;font-size:13px;display:grid}.delivery .signs{grid-template-columns:1fr 1fr;gap:16mm;margin-top:18mm;font-size:12.5px;display:grid}.delivery .signs div{border-top:1px solid #000;padding-top:1.5mm}@page note{size:A4;margin:12mm}@media print{.delivery{page:note;border:0;border-radius:0;max-width:none;margin:0;padding:0}}fieldset.bare{border:0;min-width:0;margin:0;padding:0}:is(body:has(.floor) header.site,body:has(.floor) nav.site){display:none}body:has(.floor) main{max-width:none;margin:0;padding:0}body:has(.floor){--drawer-z:56}body:has(.floor) .toast{background:var(--foreground);color:var(--background);border-radius:var(--radius-lg)}.floor{max-width:640px;padding:0 16px calc(var(--tabbar-h) + 28px + env(safe-area-inset-bottom));margin:0 auto;font-size:15px;line-height:1.45}@media (min-width:1024px){.floor{max-width:760px}}.floor h2{letter-spacing:0;margin:16px 0 8px;font-size:18px;font-weight:600}.floor h2:first-child{margin-top:12px}.floor .hint{font-size:13px}.floor button.act,.floor a.act{min-height:var(--control-h-md);border-radius:var(--radius-md);justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:14px;display:inline-flex}.floor button.act.big{width:100%;min-height:var(--control-h-lg);margin:6px 0;font-size:16px}.floor button.act.primary,.floor a.act.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}.floor button.act.danger{background:var(--destructive);border-color:var(--destructive);color:#fff}.floor button.act.plus:before{content:"+";margin-right:2px;font-weight:700}.floor button.act.quiet{color:var(--muted-foreground);background:0 0;border-color:#0000}.floor select,.floor input:not([type=checkbox]),.floor textarea{border-radius:var(--radius-md);border-color:var(--input);min-height:var(--control-h-md);font-size:15px}.floor input[type=checkbox]{accent-color:var(--primary)}.floor .chip{border-radius:var(--radius-pill);padding:2px 8px;font-size:11px;font-weight:700;line-height:1.4}.floor .chip.live{background:var(--success-soft);color:var(--success-strong);font-variant-numeric:tabular-nums}.floor .chip.brand{background:var(--accent-soft);color:var(--accent-soft-foreground)}.floor .fl-top{top:var(--ghost-h,0px);z-index:30;background:color-mix(in srgb, var(--background) 94%, transparent);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--border-soft);flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0 -16px 8px;padding:10px 16px 8px;display:flex;position:sticky}.floor .fl-top h2{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;font-size:18px;overflow:hidden}.floor .fl-top>.hint{color:var(--faint-foreground);margin:0;font-size:12px}.floor .fl-top b{font-size:17px}.floor .fl-presence{flex-basis:100%;align-items:center;gap:10px;min-height:36px;display:flex}.floor .fl-presence .since{min-width:0;color:var(--muted-foreground);flex:1;font-size:13px}.floor .fl-presence .since b{color:var(--foreground);white-space:nowrap;font-weight:600}.floor .fl-presence .since .dot{background:var(--status-done);vertical-align:1px;border-radius:50%;width:8px;height:8px;margin-right:6px;animation:2s ease-in-out infinite pulse;display:inline-block}.floor .fl-presence button.act{white-space:nowrap;min-height:36px;padding:0 12px;font-size:13px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.floor .fl-seg{flex-wrap:wrap;gap:6px;margin:8px 0 12px;display:flex}.floor .fl-seg button.act{min-height:var(--chip-h);border-radius:var(--radius-pill);color:var(--muted-foreground);flex:auto;padding:0 12px;font-size:12px;font-weight:600}.floor .fl-seg button[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}.floor .fl-task{text-align:left;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;min-height:var(--row-h);font:inherit;color:inherit;cursor:pointer;box-shadow:var(--shadow-1);margin-bottom:8px;padding:10px 14px;display:block}.floor .fl-task:active{background:var(--muted)}.floor .fl-task:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.floor .fl-task .row1{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.floor .fl-task b{white-space:nowrap;text-overflow:ellipsis;flex:1 1 0;min-width:140px;font-size:15px;font-weight:600;overflow:hidden}.floor .fl-task .row1 .chip{flex:none}.floor .fl-task small{color:var(--muted-foreground);margin-top:3px;font-size:12px;display:block}.floor .fl-task small.faint{color:var(--faint-foreground);margin-top:2px;font-size:11px}.floor .fl-check{align-items:stretch;gap:8px;display:flex}.floor .fl-check>input[type=checkbox]{flex:none;width:28px}.floor .fl-bulk{flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 10px;display:flex}.floor .fl-bulk button.act,.floor .fl-bulk a.act{min-height:var(--control-h-sm);padding:0 12px;font-size:13px}.floor .kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:8px 0 12px;display:grid}.floor .kpi{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);min-height:var(--kpi-min-h);box-shadow:var(--shadow-1);text-align:left;font:inherit;color:inherit;padding:10px 12px}.floor .kpi .l{text-transform:uppercase;letter-spacing:.04em;color:var(--faint-foreground);font-size:11px;font-weight:700}.floor .kpi .v{font-variant-numeric:tabular-nums;margin-top:4px;font-size:22px;font-weight:700;line-height:1.2}.floor .kpi .s{color:var(--muted-foreground);margin-top:2px;font-size:11px}.floor .kpi.live .v{color:var(--success-strong)}.floor .card{border-radius:var(--radius-lg);box-shadow:var(--shadow-1);margin-bottom:10px;padding:12px 14px}.floor .card h3{font-size:15px;font-weight:600}.floor section{margin:14px 0}.floor section>h3,.floor .fl-sheet section>h3{text-transform:uppercase;letter-spacing:.06em;color:var(--faint-foreground);margin:0 0 6px;font-size:11px;font-weight:700}.floor .fl-unit{min-height:var(--row-h);border-bottom:1px solid var(--border-soft);align-items:center;gap:10px;padding:6px 0;display:flex}.floor .fl-unit:last-child{border-bottom:0}.floor .fl-unit small{color:var(--muted-foreground);font-size:12px}.floor .fl-unit input[type=checkbox]{width:26px;height:26px}.floor .fl-unit .right{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;margin-left:auto}.floor button.fl-unit{text-align:left;border:0;border-bottom:1px solid var(--border-soft);width:100%;font:inherit;color:inherit;cursor:pointer;background:0 0;padding:6px 0}.floor button.fl-unit:active{background:var(--muted)}.floor .fl-rows{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);padding:0 14px}.floor .fl-empty{border:1px dashed var(--border);background:var(--muted);border-radius:var(--radius-lg);text-align:center;color:var(--muted-foreground);margin:8px 0;padding:22px 16px;font-size:14px}.floor .fl-banner{border-radius:var(--radius-lg);margin:10px 0;padding:12px 14px;font-size:14px;font-weight:600}.floor .fl-banner.hold{background:var(--destructive-soft);color:var(--destructive)}.floor .fl-banner.ok{background:var(--success-soft);color:var(--success-strong)}.floor .fl-banner.info{background:var(--info-soft);color:var(--info)}.floor .fl-banner .act{margin-top:8px}.floor .fl-scan input{box-sizing:border-box;width:100%;min-height:var(--control-h-lg);padding:0 12px;font-size:18px}.floor .fl-sheet{background:var(--background);z-index:50;padding:10px 16px 100px;position:fixed;inset:0;overflow-y:auto}.floor .fl-sheet>div{max-width:640px;margin:0 auto}@media (min-width:1024px){.floor .fl-sheet>div{max-width:760px}}.floor .fl-sheet section{margin:14px 0}.floor .fl-actions{background:var(--card);border-top:1px solid var(--border);padding:8px 16px calc(8px + env(safe-area-inset-bottom));z-index:55;box-shadow:var(--shadow-2);position:fixed;bottom:0;left:0;right:0}.floor .fl-actions>div{max-width:640px;margin:0 auto}.floor .fl-tabs{background:var(--sidebar);border-top:1px solid var(--sidebar-border);padding-bottom:env(safe-area-inset-bottom);z-index:40;display:flex;position:fixed;bottom:0;left:0;right:0}.floor .fl-tabs button{min-height:var(--tabbar-h);font:inherit;color:var(--muted-foreground);cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:0;font-size:11px;font-weight:600;display:flex}.floor .fl-tabs button svg{stroke:currentColor;fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.floor .fl-tabs button[aria-pressed=true]{color:var(--primary);font-weight:700}.floor .fl-tabs button:focus-visible{outline:2px solid var(--ring);outline-offset:-4px;border-radius:var(--radius-md)}.floor .fl-dialog .meta{color:var(--muted-foreground);margin:2px 0 8px;font-size:13px}.floor .fl-dialog .meta.faint{color:var(--faint-foreground);font-size:12px}.floor .fl-dialog p.instr{white-space:pre-wrap;background:var(--muted);border:1px solid var(--border-soft);border-radius:var(--radius-md);margin:0;padding:10px 12px;font-size:14px}.floor .fl-chips{flex-wrap:wrap;gap:6px;display:flex}.floor button.chip{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--card);color:var(--foreground);min-height:var(--chip-h);white-space:normal;text-align:left;max-width:100%;padding:4px 10px;font-size:12px;font-weight:600;line-height:1.3}.floor button.chip:active{background:var(--muted)}.floor .fl-choice{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.floor .fl-choice button.act{min-height:var(--touch-min);flex-direction:column;padding:8px;font-size:12px}.floor .fl-choice button.act[aria-pressed=true]{border-color:var(--primary);background:var(--accent-soft);color:var(--accent-soft-foreground)}.floor .fl-choice button.act svg{stroke:currentColor;fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.floor .fl-help{border:1px solid var(--border);color:var(--muted-foreground);cursor:pointer;background:0 0;border-radius:50%;width:32px;height:32px;min-height:32px;padding:0;font-size:15px;font-weight:700}.floor .fl-help:hover{color:var(--primary);border-color:var(--primary)}.floor .fl-help-text p{margin:0 0 10px;font-size:14px}.floor .fl-help-text ol{margin:0 0 10px;padding-left:20px;font-size:14px}.floor .fl-help-text li{margin-bottom:4px}.floor video{border-radius:var(--radius-lg);background:#000;width:100%}@media (prefers-reduced-motion:reduce){.floor .fl-presence .since .dot{animation:none}}button.linklike{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.unitdoc{color:#000;border:1px solid var(--line);background:#fff;border-radius:4px;max-width:186mm;margin-top:12px;padding:12mm}.unitdoc h1{margin:0 0 2mm;font-size:19px}.unitdoc h2{margin:5mm 0 1mm;font-size:15px}.unitdoc table{background:0 0;width:100%;margin-top:2mm;font-size:11.5px}.unitdoc th,.unitdoc td{color:#000;background:0 0;border-color:#999;padding:2px 4px}.unitdoc .unit{break-inside:avoid;border-top:1px solid #999;margin-top:3mm;padding-top:2mm}@page doc{size:A4;margin:12mm}@media print{.unitdoc{page:doc;border:0;border-radius:0;max-width:none;margin:0;padding:0}}.gantt{border:1px solid var(--line);background:var(--surface);border-radius:4px}.gantt .g-grid{stroke:var(--line);stroke-width:1px}.gantt .g-grid.strong{stroke:var(--ink-soft);stroke-opacity:.35}.gantt .g-tick{fill:var(--ink-soft);font-size:10px}.gantt .g-today{stroke:var(--accent);stroke-width:2px;stroke-dasharray:3 3}.gantt .g-group{fill:var(--ink-soft);fill-opacity:.08}.gantt .g-group-label{fill:var(--ink);font-size:12px;font-weight:700}.gantt .g-label{fill:var(--ink);font-size:11px}.gantt .g-bar{fill:var(--accent);fill-opacity:.75}.gantt .g-bar.ready{fill-opacity:.9}.gantt .g-bar.in_progress{fill:var(--ok)}.gantt .g-bar.planned,.gantt .g-bar.blocked{fill-opacity:.45}.gantt .g-bar.late,.gantt .g-bar.over{fill:var(--warn);fill-opacity:.9}.gantt .g-bar.pinned{stroke:var(--ink);stroke-width:1.5px}.gantt .g-bar.movable{cursor:grab}.gantt .g-dep{fill:none;stroke:var(--ink-soft);stroke-width:1px;stroke-opacity:.6}.gantt .g-dep.bad{stroke:var(--warn);stroke-opacity:1}.tiles{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;margin:10px 0 16px;display:grid}.tile{text-align:left;border:1px solid var(--line);background:var(--surface);cursor:pointer;font:inherit;color:inherit;border-radius:6px;padding:10px 12px}.tile b{font-size:26px;line-height:1.1;display:block}.tile.warn b{color:var(--warn)}.tile[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.kanban{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;display:grid}.kanban-col{background:var(--surface2);border:1px solid var(--line-soft);border-radius:var(--radius);min-width:0;padding:8px}.kanban-col h3{margin:0 0 6px;font-size:13px}.kanban-card{text-align:left;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);cursor:pointer;width:100%;font:inherit;color:inherit;margin-bottom:6px;padding:8px;display:block}.progress{background:var(--neutral-bg);border-radius:3px;height:5px;margin-top:4px;display:block;overflow:hidden}.progress>span{background:var(--ok);height:100%;display:block}.report .rbar{background:var(--neutral-bg);border-radius:2px;height:4px;margin-top:2px;display:block}.report .rbar>span{background:var(--accent);border-radius:2px;height:100%;display:block}.report tfoot td{border-top:2px solid var(--line)}@page report{size:A4 landscape;margin:12mm}@media print{.report{page:report}.report table{font-size:10.5px}.report .rbar{display:none}}.kh{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:28px;display:grid}.kh-list ul{margin:0 0 12px;padding:0;list-style:none}.kh-list li a{border-radius:var(--radius);color:var(--ink-soft);padding:5px 8px;font-size:13.5px;text-decoration:none;display:block}.kh-list li a:hover{background:var(--surface2);color:var(--ink)}.kh-list li a.active{background:var(--paint-bg);color:var(--ink);font-weight:600}.kh-group{color:var(--ink-soft);text-transform:uppercase;margin:10px 8px 4px;font-size:12px;font-weight:600}.kh>.kh-list{top:calc(var(--header-h) + var(--ghost-h,0px) + 12px);position:sticky}.md{min-width:0;line-height:1.55}.md>*{max-width:80ch}.md h1{margin:4px 0 12px;font-size:22px;font-weight:800}.md h2{margin:28px 0 10px;font-size:18px}.md h3{margin:22px 0 8px;font-size:15px;font-weight:700}.md h4{margin:18px 0 6px;font-size:14px;font-weight:700}.md ul,.md ol{padding-left:22px}.md li{margin:3px 0}.md hr{border:none;border-top:1px solid var(--line);margin:24px 0}.md img{border:1px solid var(--line);border-radius:var(--radius);max-width:100%;height:auto;margin:6px 0}.md code{background:var(--surface2);border-radius:4px;padding:1px 4px;font:12.5px ui-monospace,SFMono-Regular,Menlo,monospace}.md pre{background:var(--surface2);border:1px solid var(--line-soft);border-radius:var(--radius);padding:10px 12px;overflow-x:auto}.md pre code{background:0 0;padding:0}.md table{max-width:none;margin:10px 0 16px;display:block;overflow-x:auto}.md blockquote{border-left:4px solid var(--line);background:var(--surface2);border-radius:0 var(--radius) var(--radius) 0;margin:12px 0;padding:8px 14px}.md blockquote p{margin:4px 0}.md .callout-title{font-size:13px;font-weight:700}.md .callout-note,.md .callout-tip{border-left-color:var(--accent);background:var(--paint-bg)}.md .callout-tip{border-left-color:var(--ok);background:var(--ok-bg)}.md .callout-important{border-left-color:var(--saw);background:var(--saw-bg)}.md .callout-warning,.md .callout-caution{border-left-color:var(--warn);background:var(--warn-bg)}.md .mermaid{max-width:none;margin:10px 0;overflow-x:auto}@media (max-width:760px){.kh{grid-template-columns:1fr;gap:12px}.kh>.kh-list{border-bottom:1px solid var(--line);padding-bottom:8px;position:static}}@media print{.kh{display:block}.kh>.kh-list{display:none}}.scan-wrap{vertical-align:middle;align-items:center;max-width:100%;display:inline-flex;position:relative}.scan-wrap input{box-sizing:border-box;width:100%;padding-right:40px}.scan-cam{width:36px;height:36px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;right:2px;transform:translateY(-50%)}.scan-cam:hover{color:var(--accent);background:var(--surface2)}.scan-layer{z-index:70;color:#fff;background:#000;flex-direction:column;display:flex;position:fixed;inset:0}.scan-layer #mes-scan-cam{flex:1;justify-content:center;align-items:center;min-height:0;display:flex;overflow:hidden}.scan-layer #mes-scan-cam video{object-fit:cover;border-radius:0;max-height:100%;width:100%!important}.scan-layer .scan-foot{padding:12px 14px calc(12px + env(safe-area-inset-bottom));background:#111;justify-content:space-between;align-items:center;gap:10px;font-size:16px;display:flex}.scan-layer .scan-foot button.act{min-height:44px;padding:0 18px;font-size:16px}.floor .fl-scan .scan-wrap{width:100%;margin-bottom:6px}.floor .fl-scan .scan-cam{width:44px;height:44px;right:4px}.floor .fl-scan .scan-wrap input{padding-right:52px}.ean-big{box-sizing:border-box;background:#fff;border-radius:8px;width:100%;max-width:360px;padding:14px;display:inline-block}.ean-big svg{margin:0 auto;width:100%!important;max-width:none!important}.unit-form{background:var(--paint-bg);border:1px solid var(--paint);border-radius:var(--radius);padding:10px 12px}.unit-form h3{color:var(--paint);margin-top:0}body:has(.hours) main{max-width:none}.hours .hmonth{text-align:center;text-transform:capitalize;min-width:140px}.hours .hlayers{gap:4px;display:inline-flex}.linkish{all:unset;cursor:pointer;color:var(--accent);font-size:12px}.linkish:hover{text-decoration:underline}.hgrid-root{outline:none}.hgrid-scroll{overscroll-behavior:contain;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);max-height:calc(100dvh - 250px);overflow:auto}table.hgrid{border-collapse:separate;border-spacing:0;border:none;width:auto;font-size:12px}table.hgrid th,table.hgrid td{border-bottom:1px solid var(--line-soft);border-right:1px solid var(--line-soft);vertical-align:middle;padding:2px 4px}table.hgrid thead th{z-index:5;text-align:center;position:sticky;top:0}table.hgrid tfoot td{z-index:5;background:var(--surface2);border-top:1px solid var(--line);text-align:center;position:sticky;bottom:0}table.hgrid .hname{z-index:4;background:var(--surface);white-space:nowrap;text-overflow:ellipsis;text-align:left;min-width:170px;max-width:220px;position:sticky;left:0;overflow:hidden}table.hgrid thead .hname,table.hgrid tfoot .hname{z-index:6;background:var(--surface2)}table.hgrid .hday{min-width:58px;font-weight:700}table.hgrid .hday .hwd{color:var(--ink-soft);font-size:10px;font-weight:400}table.hgrid .hday.we .hwd,table.hgrid .hday.hol .hwd{color:var(--warn)}table.hgrid .we{background:var(--surface2)}table.hgrid .hol{background:var(--warn-bg)}table.hgrid .today{box-shadow:inset 0 3px 0 var(--saw)}table.hgrid .htot{text-align:right;min-width:52px;color:var(--ink-soft);white-space:nowrap}table.hgrid .htot.b{color:var(--ink);font-weight:700}table.hgrid .htot.neg{color:var(--warn)}table.hgrid .htot.pos{color:var(--ok)}table.hgrid tr.hgroup td{background:var(--neutral-bg);font-size:11.5px;font-weight:700;position:sticky;left:0}table.hgrid .hsum .small{font-size:10px}td.hcell{text-align:center;-webkit-user-select:none;user-select:none;min-width:58px;height:38px;position:relative}td.hcell.edit{cursor:cell}td.hcell.sel{background:var(--paint-bg)}td.hcell.active{outline:2px solid var(--accent);outline-offset:-2px;z-index:1}td.hcell.fillp{outline:1px dashed var(--accent);outline-offset:-1px}td.hcell.movep{outline:2px solid var(--saw);outline-offset:-2px;background:var(--saw-bg)}.hv{line-height:1.15;display:block}.hv-time{color:var(--ink-soft);font-size:10px;display:block}.hv-h{font-weight:700}.hv-break{color:var(--ink-soft);margin-left:2px;font-size:9px;font-weight:400}.hv.dim,.hstat.dim{opacity:.4;font-style:italic}.hv.warn{color:var(--warn)}table.hgrid[data-layer=present] td.hcell{background:color-mix(in srgb, var(--surface2) 60%, var(--surface))}.hstat{font:inherit;cursor:default;border:none;border-radius:4px;padding:1px 6px;font-size:11px;font-weight:700;display:inline-block}button.hstat{cursor:pointer}.hstat.on{outline:2px solid var(--accent)}.hstat-off{background:var(--neutral-bg);color:var(--ink-soft)}.hstat-vacation{background:var(--paint-bg);color:var(--paint)}.hstat-sick{background:var(--saw-bg);color:var(--saw)}.hstat-leave{background:var(--ok-bg);color:var(--ok)}.hstat-absent{background:var(--warn-bg);color:var(--warn)}.hstat-unpaid{background:var(--info-soft);color:var(--info)}.htimer{color:var(--ink-soft);font-size:8.5px;line-height:1;position:absolute;bottom:0;left:2px}.hnote{border-left:6px solid #0000;border-top:6px solid var(--saw);width:0;height:0;position:absolute;top:0;right:0}.habs{background:var(--paint);width:3px;position:absolute;top:0;bottom:0;left:0}.hhandle{z-index:2;background:var(--accent);border:1px solid var(--surface);cursor:crosshair;width:9px;height:9px;position:absolute;bottom:-4px;right:-4px}.heditor{z-index:60;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:300px;padding:8px;font-size:12px;position:fixed;box-shadow:0 8px 24px #0000002e}.heditor-head{color:var(--ink-soft);justify-content:space-between;gap:8px;margin-bottom:4px;font-size:11px;display:flex}.heditor-head .bad,.heditor-err{color:var(--warn)}.heditor-input{width:100%;padding:4px 6px;font-family:ui-monospace,Menlo,monospace;font-size:13.5px}.heditor-input.bad,.htpl input.bad{border-color:var(--warn)}.heditor-err{margin:4px 0 0;font-size:11px}.heditor-chips{flex-wrap:wrap;align-items:center;gap:4px;margin-top:6px;display:flex}.heditor-chips .linkish{margin-left:auto}.heditor-grid{color:var(--ink-soft);grid-template-columns:auto 1fr;align-items:center;gap:4px 8px;margin-top:8px;display:grid}.heditor-foot{color:var(--ink-soft);justify-content:space-between;align-items:center;margin-top:8px;font-size:11px;display:flex}.hworkers{flex-wrap:wrap;gap:4px 14px;max-height:220px;padding:6px 0;display:flex;overflow:auto}table.htpl{width:auto;margin:8px 0}table.htpl th,table.htpl td{padding:3px 6px}
