@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/ibm-plex-sans-cyrillic-ext-wght-normal-d45eAU9y.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/ibm-plex-sans-cyrillic-wght-normal-BAAhND-U.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/ibm-plex-sans-greek-wght-normal-CmyJS8uq.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/ibm-plex-sans-vietnamese-wght-normal-Dg1JeJN0.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/ibm-plex-sans-latin-ext-wght-normal-CIII54If.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/ibm-plex-sans-latin-wght-normal-IvpUvPa2.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Antonio;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/antonio-latin-ext-600-normal-Cf-yyR4Y.woff2) format("woff2"),url(/assets/antonio-latin-ext-600-normal-CbbPhsBY.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Antonio;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/antonio-latin-600-normal-Yrt7g9vE.woff2) format("woff2"),url(/assets/antonio-latin-600-normal-EPyebSqZ.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--font-body: "IBM Plex Sans Variable", "IBM Plex Sans", ui-sans-serif, sans-serif;--font-wordmark: "Antonio", "IBM Plex Sans Variable", sans-serif;--paper: oklch(97.1% .006 75);--paper-2: oklch(99.3% .003 75);--paper-3: oklch(94.4% .008 72);--rule: oklch(89.6% .01 70);--field-edge: oklch(67% .014 65);--ink: oklch(23% .02 50);--ink-2: oklch(39% .018 55);--muted: oklch(49% .016 60);--faint: oklch(62% .014 62);--shell: oklch(24.5% .026 45);--shell-2: oklch(30.5% .03 45);--shell-3: oklch(37% .03 48);--shell-ink: oklch(94% .012 72);--shell-muted: oklch(75% .022 62);--shell-faint: oklch(60% .022 55);--primary: oklch(26% .026 45);--primary-hover: oklch(34% .03 45);--primary-ink: oklch(97% .008 75);--accent: oklch(48% .13 248);--accent-hover: oklch(40% .13 248);--accent-soft: oklch(94.5% .025 248);--accent-ink: oklch(98% .01 248);--focus: oklch(52% .16 248);--brass: oklch(78% .13 82);--brass-soft: oklch(95% .045 85);--brass-ink: oklch(27% .04 70);--ok: oklch(45% .11 150);--ok-soft: oklch(94.5% .04 150);--warn: oklch(47% .11 62);--warn-soft: oklch(95% .05 82);--warn-edge: oklch(83% .09 80);--danger: oklch(50% .17 28);--danger-soft: oklch(95% .03 25);--danger-edge: oklch(84% .07 25);--info: oklch(45% .1 285);--info-soft: oklch(95% .025 285);--scrim: oklch(20% .02 50 / .42);--overlay-shadow: 0 12px 32px -12px oklch(20% .03 50 / .35), 0 2px 6px -2px oklch(20% .03 50 / .12);--pin-ring: oklch(99% .003 75);--pin-shadow: 0 2px 5px oklch(15% .02 50 / .4);--photo-cap: oklch(98% .005 75);--photo-shade: oklch(15% .01 50 / .68);--text-xs: .75rem;--text-sm: .8125rem;--text-md: .875rem;--text-base: .9375rem;--text-lg: 1.0625rem;--text-xl: 1.25rem;--text-2xl: 1.625rem;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--r-1: 4px;--r-2: 6px;--r-3: 8px;--control-h: 36px;--dur-micro: .12s;--dur-short: .2s;--ease-out: cubic-bezier(.2, .8, .2, 1)}:root[data-theme=dark]{color-scheme:dark;--paper: oklch(17.5% .012 55);--paper-2: oklch(21% .013 55);--paper-3: oklch(25% .014 55);--rule: oklch(30.5% .014 55);--field-edge: oklch(50% .016 60);--ink: oklch(93.5% .01 72);--ink-2: oklch(82% .012 70);--muted: oklch(70% .014 65);--faint: oklch(56% .014 62);--shell: oklch(14% .012 50);--shell-2: oklch(20% .015 50);--shell-3: oklch(26% .018 50);--shell-ink: oklch(93% .01 72);--shell-muted: oklch(72% .016 62);--shell-faint: oklch(55% .016 58);--primary: oklch(88% .02 72);--primary-hover: oklch(94% .015 72);--primary-ink: oklch(20% .02 50);--accent: oklch(76% .1 248);--accent-hover: oklch(84% .08 248);--accent-soft: oklch(29% .05 248);--accent-ink: oklch(18% .03 248);--focus: oklch(74% .12 248);--brass: oklch(78% .11 82);--brass-soft: oklch(30% .05 82);--brass-ink: oklch(22% .035 70);--ok: oklch(78% .12 150);--ok-soft: oklch(28% .05 150);--warn: oklch(82% .11 80);--warn-soft: oklch(29% .05 75);--warn-edge: oklch(45% .07 75);--danger: oklch(76% .13 28);--danger-soft: oklch(29% .06 25);--danger-edge: oklch(45% .09 25);--info: oklch(78% .09 285);--info-soft: oklch(29% .05 285);--scrim: oklch(8% .01 50 / .62);--overlay-shadow: 0 0 0 1px var(--rule), 0 16px 40px -12px oklch(5% .01 50 / .7);--pin-ring: oklch(93% .01 72)}*{box-sizing:border-box}html,body{overflow-x:clip}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--text-base);line-height:1.5;font-feature-settings:"tnum" 0;-webkit-font-smoothing:antialiased;caret-color:var(--accent);scrollbar-color:var(--rule) transparent}:root[data-theme=dark] body{font-weight:380;letter-spacing:.005em}::selection{background:var(--accent-soft);color:var(--ink)}a{color:var(--accent);text-decoration:none;text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{color:var(--accent-hover);text-decoration:underline}h1,h2,h3,h4{margin:0;font-weight:600;color:var(--ink);text-wrap:balance;overflow-wrap:break-word;min-width:0}h1{font-size:var(--text-2xl);line-height:1.15;letter-spacing:-.015em}h2{font-size:var(--text-lg);line-height:1.3}h3{font-size:var(--text-base);line-height:1.35}p{text-wrap:pretty}svg.lucide{flex:none}.muted{color:var(--muted)}.small{font-size:var(--text-sm)}.center{text-align:center}.right{text-align:right}.nowrap{white-space:nowrap}.num,.mono-id,.mono{font-variant-numeric:tabular-nums}.mono-id{font-weight:600;letter-spacing:.01em}.prewrap{white-space:pre-wrap;margin:0}.boot{display:grid;place-items:center;height:100dvh;color:var(--muted)}h3.sub{font-size:var(--text-sm);font-weight:600;color:var(--ink-2);margin:var(--space-5) 0 var(--space-2)}.sub-title{margin:var(--space-3) 0 0;font-size:var(--text-md);font-weight:600}code{font-size:var(--text-sm);background:var(--paper-3);padding:1px 5px;border-radius:var(--r-1)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:-1px}input,select,textarea,button{font:inherit;color:inherit;letter-spacing:inherit}input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]),select,textarea{width:100%;min-height:var(--control-h);padding:6px 10px;border:1px solid var(--field-edge);border-radius:var(--r-2);background:var(--paper-2);color:var(--ink);outline:2px solid transparent;outline-offset:-1px;transition:background-color var(--dur-micro) var(--ease-out),border-color var(--dur-micro) var(--ease-out)}input::placeholder,textarea::placeholder{color:var(--faint)}input:not([type=checkbox]):not([type=radio]):hover,select:hover,textarea:hover{border-color:var(--ink-2)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:var(--focus);border-color:var(--focus)}input:disabled,select:disabled,textarea:disabled{background:var(--paper-3);color:var(--muted);cursor:not-allowed;opacity:.75}input[aria-invalid=true]{border-color:var(--danger)}input[type=checkbox],input[type=radio]{accent-color:var(--accent);width:16px;height:16px;margin:0;cursor:pointer}input[type=color]{width:60px;height:var(--control-h);border:1px solid var(--field-edge);border-radius:var(--r-2);padding:2px;background:var(--paper-2)}input[type=file]{font-size:var(--text-md);color:var(--ink-2)}input[type=file]::file-selector-button{font:inherit;border:1px solid var(--field-edge);background:var(--paper-2);color:var(--ink);border-radius:var(--r-2);padding:6px 12px;margin-right:var(--space-3);cursor:pointer}textarea{resize:vertical;min-height:72px;line-height:1.45}select{cursor:pointer}input.narrow{width:80px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--control-h);padding:6px 14px;border-radius:var(--r-2);cursor:pointer;border:1px solid var(--field-edge);background:var(--paper-2);color:var(--ink);font-weight:500;font-size:var(--text-md);line-height:1.2;white-space:nowrap;text-decoration:none!important;position:relative;transition:background-color var(--dur-micro) var(--ease-out),border-color var(--dur-micro) var(--ease-out),color var(--dur-micro) var(--ease-out)}.btn:hover{border-color:var(--ink-2);background:var(--paper);color:var(--ink)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--primary-ink)}.btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover);color:var(--primary-ink)}.btn-danger{color:var(--danger);border-color:var(--danger-edge)}.btn-danger:hover{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.btn-sm{min-height:30px;padding:4px 10px;font-size:var(--text-sm)}.btn-block{width:100%;min-height:42px}.btn-link{border:none;background:none;color:var(--accent);padding:4px 0;cursor:pointer;font-weight:500}.btn-link:hover{color:var(--accent-hover);text-decoration:underline;text-underline-offset:.18em}.btn.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn-ghost-dark{background:transparent;color:var(--shell-muted);border-color:var(--shell-3);width:100%}.btn-ghost-dark:hover{color:var(--shell-ink);border-color:var(--shell-muted);background:var(--shell-2)}.icon-btn{display:inline-grid;place-items:center;border:none;background:none;cursor:pointer;padding:0;width:28px;height:28px;border-radius:var(--r-2);color:var(--muted);position:relative;transition:background-color var(--dur-micro) var(--ease-out),color var(--dur-micro) var(--ease-out)}.icon-btn:before{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px}.icon-btn:hover{background:var(--paper-3);color:var(--ink)}.icon-btn.danger:hover{color:var(--danger);background:var(--danger-soft)}.icon-btn.tiny{width:22px;height:22px}.icon-btn:disabled{opacity:.4;cursor:not-allowed}a.icon-btn{text-decoration:none}.row{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}.row>input,.row>select{flex:1;min-width:120px}.row label{display:flex;align-items:center;gap:6px}.row label input{width:120px}.row label input[type=radio],.row label input[type=checkbox]{width:auto}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field-label{font-size:var(--text-sm);font-weight:600;color:var(--ink-2)}.field-hint{font-size:var(--text-xs);color:var(--muted)}.field-wide{grid-column:1 / -1}.form-stack{display:flex;flex-direction:column;gap:var(--space-4)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4) var(--space-5)}.form-section{font-size:var(--text-base);font-weight:600;color:var(--ink);margin:var(--space-3) 0 calc(-1 * var(--space-1));padding-top:var(--space-5);border-top:1px solid var(--rule)}.check-line{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;min-height:28px}.check-line.strong{font-weight:600}.check-line.dim{color:var(--muted)}.checks{display:flex;flex-wrap:wrap;gap:6px}.check{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid var(--rule);border-radius:var(--r-2);cursor:pointer;background:var(--paper-2);-webkit-user-select:none;user-select:none;font-size:var(--text-md)}.check:hover{border-color:var(--field-edge)}.check.on{border-color:var(--accent);background:var(--accent-soft);color:var(--ink)}.check input{width:14px;height:14px}.seg{display:inline-flex;border:1px solid var(--field-edge);border-radius:var(--r-2);overflow:hidden;background:var(--paper-2)}.seg button{border:none;background:none;padding:5px 12px;cursor:pointer;border-right:1px solid var(--rule);font-size:var(--text-md);color:var(--ink-2)}.seg button:last-child{border-right:none}.seg button:hover{background:var(--paper-3)}.seg button.on{background:var(--ink);color:var(--paper)}.input-unit{display:flex;align-items:center;gap:6px}.input-unit span{color:var(--muted)}.note{background:var(--paper-3);border-radius:var(--r-2);padding:var(--space-2) var(--space-3);font-size:var(--text-md);color:var(--ink-2)}.note-bad{background:var(--danger-soft);color:var(--danger)}.sel-ok{border-color:var(--ok)!important;color:var(--ok)}.sel-bad{border-color:var(--danger)!important;color:var(--danger)}.alert{padding:var(--space-3);border-radius:var(--r-2);font-size:var(--text-md)}.alert-error{background:var(--danger-soft);color:var(--danger);border:1px solid var(--danger-edge)}.alert-warn{background:var(--warn-soft);color:var(--warn);border:1px solid var(--warn-edge)}.shell{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100dvh}.sidebar{background:var(--shell);color:var(--shell-muted);display:flex;flex-direction:column;position:sticky;top:0;height:100dvh;padding:var(--space-4) var(--space-3);scrollbar-color:var(--shell-3) transparent}.brand{display:flex;align-items:baseline;gap:var(--space-2);padding:2px var(--space-2) var(--space-4);text-decoration:none!important}.brand b,.wordmark{font-family:var(--font-wordmark);font-weight:600;font-size:1.375rem;line-height:1;letter-spacing:.01em;color:var(--shell-ink)}.brand small{color:var(--shell-faint);font-size:var(--text-sm)}.brand-light b{color:var(--ink);font-size:2rem}.brand-light small{color:var(--muted);font-size:var(--text-md)}.sidebar nav{display:flex;flex-direction:column;gap:1px;flex:1;overflow-y:auto;margin:0 calc(-1 * var(--space-1));padding:0 var(--space-1)}.sidebar nav a{display:flex;align-items:center;gap:10px;min-height:36px;padding:6px 10px;border-radius:var(--r-2);color:var(--shell-muted);text-decoration:none;font-weight:500;font-size:var(--text-md);transition:background-color var(--dur-micro) var(--ease-out),color var(--dur-micro) var(--ease-out)}.sidebar nav a:hover{background:var(--shell-2);color:var(--shell-ink)}.sidebar nav a.active{background:var(--shell-3);color:var(--shell-ink)}.sidebar nav a.active svg{color:var(--brass)}.sidebar nav a svg{color:var(--shell-faint)}.sidebar nav a:focus-visible{outline-color:var(--brass);outline-offset:-2px}.nav-divider{border:0;border-top:1px solid var(--shell-2);margin:var(--space-3) var(--space-2)}.nav-section{font-size:var(--text-sm);color:var(--shell-faint);padding:var(--space-4) 10px var(--space-1)}.sidebar-foot{border-top:1px solid var(--shell-2);padding-top:var(--space-3);display:flex;flex-direction:column;gap:var(--space-3)}.me{display:flex;align-items:center;gap:10px;color:var(--shell-ink);text-decoration:none!important;padding:6px;border-radius:var(--r-2)}.me:hover,.me.active{background:var(--shell-2);color:var(--shell-ink)}.me b{display:block;font-size:var(--text-md);font-weight:600}.me small{color:var(--shell-faint);font-size:var(--text-sm)}.avatar{width:32px;height:32px;border-radius:50%;background:var(--brass);color:var(--brass-ink);display:grid;place-items:center;font-weight:700;flex:none}.main{min-width:0}.topbar{display:none}.content{padding:var(--space-6) var(--space-8) var(--space-12);max-width:1480px}.scrim{display:none}.sidebar-tools{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:0 var(--space-2) var(--space-3)}.sidebar-lang{padding:0 var(--space-2) var(--space-3)}.page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap}.page-header p{margin:var(--space-1) 0 0;color:var(--muted);max-width:70ch}.page-actions{display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:center}.section-title{font-size:var(--text-lg);font-weight:600;color:var(--ink);margin:var(--space-10) 0 var(--space-3)}.card{background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-3);min-width:0}.card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-4) var(--space-4) 0;min-height:44px}.card-head h2{font-size:var(--text-base)}.card-actions{display:flex;gap:var(--space-1);align-items:center;flex-wrap:wrap;justify-content:flex-end}.card-body{padding:var(--space-3) var(--space-4) var(--space-4)}.stack{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);align-items:start}.grid-2.tight{gap:var(--space-3)}.loading{padding:var(--space-10);color:var(--muted);display:flex;gap:10px;align-items:center}.spinner{width:16px;height:16px;border:2px solid var(--rule);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty{padding:var(--space-6);color:var(--muted);background:var(--paper-2);border:1px dashed var(--field-edge);border-radius:var(--r-3)}.card .empty{border:none;padding:var(--space-4) 0;background:none}.table-wrap{overflow-x:auto}.table-wrap.card{padding:0}.table{width:100%;border-collapse:collapse;font-size:var(--text-md);font-variant-numeric:tabular-nums}.table th{text-align:left;font-size:var(--text-sm);color:var(--muted);font-weight:500;padding:10px 12px;border-bottom:1px solid var(--rule);white-space:nowrap;background:var(--paper-2);position:sticky;top:0}.table td{padding:10px 12px;border-bottom:1px solid var(--rule);vertical-align:middle}.table tr:last-child td{border-bottom:none}.table.hover tbody tr:hover td{background:var(--paper)}.table .num{text-align:right}.table.mini th,.table.mini td{padding:6px 8px;font-size:var(--text-sm)}.table.compact th,.table.compact td{padding:8px}.table.edit td{padding:4px}.table.edit input,.table.edit select{padding:4px 7px;min-height:30px;font-size:var(--text-sm)}.table.wrap-head th{white-space:normal}tr.clickable{cursor:pointer}tr.inactive td{opacity:.55}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable:hover{color:var(--ink)}.sort{margin-left:4px;vertical-align:-2px}.thumb-cell{width:52px;padding:6px 8px!important}.thumb-cell img,.thumb-empty{width:40px;height:40px;border-radius:var(--r-2);object-fit:cover;display:block;background:var(--paper-3)}.row-btns{white-space:nowrap}.muted-row td{color:var(--ink-2)}.toolbar{display:flex;gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;align-items:center}.toolbar .search{flex:1 1 260px}.toolbar select{width:auto;min-width:150px}.dropdown{position:relative}.dropdown-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:30;background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-3);box-shadow:var(--overlay-shadow);padding:var(--space-2);width:270px;max-height:440px;overflow-y:auto}.dropdown-menu label{display:flex;align-items:center;gap:var(--space-2);padding:5px 6px;border-radius:var(--r-1);cursor:pointer;font-size:var(--text-md)}.dropdown-menu label:hover{background:var(--paper-3)}.dropdown-title{font-size:var(--text-sm);font-weight:600;color:var(--ink-2);padding:var(--space-2) 6px var(--space-1)}.menu-list{width:260px;padding:var(--space-1);display:flex;flex-direction:column}.menu-list>a,.menu-list>button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:8px 10px;border:none;background:none;border-radius:var(--r-2);color:var(--ink);cursor:pointer;text-decoration:none!important;font-size:var(--text-md)}.menu-list>a svg,.menu-list>button svg{color:var(--muted)}.menu-list>a:hover,.menu-list>button:hover{background:var(--paper-3);color:var(--ink)}.menu-list>.danger,.menu-list>.danger svg{color:var(--danger)}.menu-list hr{border:0;border-top:1px solid var(--rule);margin:var(--space-1) 0}.chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.chip{display:inline-flex;align-items:center;gap:7px;font-weight:500;white-space:nowrap}.chip i{width:10px;height:10px;border-radius:2px;background:var(--c)}.tag{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--r-1);background:var(--paper-3);color:var(--ink-2);font-size:var(--text-sm);white-space:nowrap;margin:1px 2px 1px 0;line-height:1.5}.tag button{border:none;background:none;cursor:pointer;padding:0;color:var(--muted);display:inline-grid;place-items:center;width:18px;height:18px;border-radius:var(--r-1)}.tag button:hover{color:var(--danger);background:var(--danger-soft)}.tag-sm{padding:0 6px;font-size:var(--text-xs)}.tag-warn{background:var(--warn-soft);color:var(--warn)}.tag-ok{background:var(--ok-soft);color:var(--ok)}.tag-bad{background:var(--danger-soft);color:var(--danger)}.status{display:inline-block;padding:1px 8px;border-radius:var(--r-1);font-size:var(--text-sm);font-weight:500;vertical-align:middle;line-height:1.6;white-space:nowrap}.status:first-letter{text-transform:uppercase}.st-active{background:var(--ok-soft);color:var(--ok)}.st-service{background:var(--warn-soft);color:var(--warn)}.st-out{background:var(--danger-soft);color:var(--danger)}.st-storage{background:var(--accent-soft);color:var(--accent)}.st-dead{background:var(--paper-3);color:var(--muted)}.st-other{background:var(--info-soft);color:var(--info)}.due{display:inline-block;padding:0 6px;border-radius:var(--r-1);font-size:var(--text-xs);font-weight:600;margin-left:6px;line-height:1.6}.due-over{background:var(--danger-soft);color:var(--danger)}.due-soon{background:var(--warn-soft);color:var(--warn)}.due-ok{background:var(--ok-soft);color:var(--ok)}.role{font-weight:600;font-size:var(--text-sm)}.role:first-letter{text-transform:uppercase}.role-admin{color:var(--danger)}.role-manager{color:var(--info)}.role-technician{color:var(--accent)}.role-operator{color:var(--warn)}.yes{color:var(--ok);font-weight:600}.no{color:var(--muted)}.eff{margin-left:var(--space-2)}.help{display:inline-grid;place-items:center;margin-left:4px;cursor:help;color:var(--faint);vertical-align:-2px}.toasts{position:fixed;bottom:var(--space-5);right:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2);z-index:2000}.toast{background:var(--ink);color:var(--paper);padding:10px 14px;border-radius:var(--r-2);box-shadow:var(--overlay-shadow);max-width:380px;font-size:var(--text-md);animation:toast-in var(--dur-short) var(--ease-out)}.toast-error{background:var(--danger);color:var(--paper-2)}@keyframes toast-in{0%{transform:translateY(6px);opacity:.4}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);display:grid;place-items:start center;padding:6dvh var(--space-4);z-index:1000;overflow-y:auto}.modal{background:var(--paper-2);border-radius:var(--r-3);width:100%;max-width:540px;box-shadow:var(--overlay-shadow);animation:modal-in var(--dur-short) var(--ease-out)}@keyframes modal-in{0%{transform:translateY(8px);opacity:.5}}.modal-wide{max-width:920px}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5) var(--space-2)}.modal-head h2{font-size:var(--text-lg)}.modal-body{padding:var(--space-3) var(--space-5) var(--space-5)}.modal-foot{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-top:1px solid var(--rule);flex-wrap:wrap}.login-wrap{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1fr);background:var(--paper);position:relative}.login-art{display:none}.login-card{align-self:center;justify-self:start;width:100%;max-width:400px;margin-left:clamp(16px,12vw,200px);padding:var(--space-8) 0;display:flex;flex-direction:column;gap:var(--space-4)}.login-card .brand{padding:0 0 var(--space-6);flex-direction:column;align-items:flex-start;gap:var(--space-1)}.login-card .brand b{color:var(--ink);font-size:2.5rem}.login-card .brand small{color:var(--muted);font-size:var(--text-base)}.login-wrap.single{place-items:center}.login-wrap.single .login-card{justify-self:center;margin:0;padding:var(--space-8) var(--space-6);background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-3);max-width:440px}.login-lang{position:absolute;top:var(--space-5);right:var(--space-6);z-index:5}.figures{display:flex;flex-wrap:wrap;margin-bottom:var(--space-6);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.figure{flex:1 1 180px;display:flex;flex-direction:column;gap:2px;padding:var(--space-4) var(--space-5) var(--space-4) 0;color:var(--ink);text-decoration:none!important}.figure+.figure{padding-left:var(--space-5);border-left:1px solid var(--rule)}.figure b{font-size:2rem;font-weight:600;line-height:1.1;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.figure span{color:var(--muted);font-size:var(--text-md)}a.figure:hover b{color:var(--accent)}a.figure:hover{color:var(--ink)}.figure.bad b{color:var(--danger)}.figure.warn b{color:var(--warn)}.dash-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:var(--space-6);align-items:start}.bar-row{display:grid;grid-template-columns:130px minmax(0,1fr) 36px;gap:10px;align-items:center;padding:5px 0;font-size:var(--text-md)}.bar{height:8px;background:var(--paper-3);border-radius:2px;overflow:hidden}.bar i{display:block;height:100%}.bar-row b{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.status-count{display:inline-flex;align-items:center;gap:6px;margin-right:var(--space-3);font-variant-numeric:tabular-nums}.activity{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.activity li{font-size:var(--text-md);padding:8px 0;border-bottom:1px solid var(--rule);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3)}.activity li:last-child{border-bottom:none}.activity time{color:var(--muted);font-size:var(--text-sm);white-space:nowrap}.crumbs{color:var(--muted);margin-bottom:var(--space-2);font-size:var(--text-sm);display:flex;gap:6px;align-items:center}.crumbs svg{color:var(--faint)}.detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap}.detail-head h1{font-size:1.875rem;display:flex;align-items:center;gap:var(--space-3);font-variant-numeric:tabular-nums}.detail-sub{display:flex;gap:var(--space-4);align-items:center;margin-top:var(--space-2);color:var(--ink-2);flex-wrap:wrap}.detail-grid{display:grid;grid-template-columns:minmax(290px,380px) minmax(0,1fr);gap:var(--space-6);align-items:start}.detail-side{background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-3);display:flex;flex-direction:column}.detail-side>.card{border:none;border-radius:0;background:none}.detail-side>.card+.card{border-top:1px solid var(--rule)}.detail-side>.card:first-child{border-radius:var(--r-3) var(--r-3) 0 0}.detail-side>p{padding:var(--space-3) var(--space-4);margin:0;border-top:1px solid var(--rule)}.dl{display:grid;grid-template-columns:110px minmax(0,1fr);gap:6px var(--space-3);margin:0;font-size:var(--text-md)}.dl dt{color:var(--muted)}.dl dd{margin:0;min-width:0;overflow-wrap:anywhere}.mini-map{height:190px;border-radius:var(--r-2);overflow:hidden;margin-top:var(--space-3);border:1px solid var(--rule)}.ppe-card .card-head h2{display:flex;align-items:center;gap:6px}.ppe-card .card-head svg{color:var(--warn)}.photo-main{display:block;width:100%;padding:0;border:none;background:none;cursor:zoom-in;position:relative;border-radius:var(--r-2)}.photo-main img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--r-2);display:block}.photo-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:6px}.photo-thumbs button{padding:0;border:none;background:none;cursor:zoom-in;position:relative;border-radius:var(--r-1)}.photo-thumbs img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--r-1);display:block}.photo-empty{aspect-ratio:16 / 9;display:grid;place-items:center;background:var(--paper-3);border-radius:var(--r-2);color:var(--muted);font-size:var(--text-md)}.photo-full{max-width:100%;max-height:70dvh;display:block;margin:0 auto var(--space-3);border-radius:var(--r-2)}.photo-badge{position:absolute;top:8px;left:8px;background:var(--photo-shade);color:var(--brass);border-radius:var(--r-1);width:24px;height:24px;display:grid;place-items:center}.photo-cap{position:absolute;left:0;right:0;bottom:0;padding:var(--space-4) var(--space-2) 6px;font-size:var(--text-sm);color:var(--photo-cap);text-align:left;background:linear-gradient(transparent,var(--photo-shade));border-radius:0 0 var(--r-2) var(--r-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photo-thumbs .photo-cap{font-size:var(--text-xs);padding:var(--space-2) 4px 3px;border-radius:0 0 var(--r-1) var(--r-1)}.tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--rule);overflow-x:auto;scrollbar-width:none}.tab{border:none;background:none;padding:10px 12px;cursor:pointer;font-weight:500;color:var(--muted);white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px;font-size:var(--text-base);transition:color var(--dur-micro) var(--ease-out)}.tab:hover{color:var(--ink)}.tab.active{color:var(--ink);border-bottom-color:var(--ink);font-weight:600}.tab-count{margin-left:6px;color:var(--muted);font-size:var(--text-sm);font-weight:500;font-variant-numeric:tabular-nums}.params-bar{display:flex;justify-content:flex-end;gap:var(--space-2);align-items:center;position:sticky;top:0;z-index:5;background:var(--paper);padding:var(--space-2) 0;flex-wrap:wrap}.param-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:0 var(--space-6)}.param{padding:10px 0;border-bottom:1px solid var(--rule);min-width:0}.param-wide{grid-column:1 / -1}.param-label{font-size:var(--text-sm);color:var(--muted);margin-bottom:2px;display:flex;align-items:center;gap:4px}.param-label .icon-btn{margin-left:auto}.param-value{min-height:22px}.param-meta{font-size:var(--text-xs);color:var(--faint);margin-top:2px;display:flex;gap:var(--space-2)}.rows-editor{display:flex;flex-direction:column;gap:var(--space-2);align-items:flex-start}.rows-editor .table-wrap{width:100%}.timeline{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}.timeline>li{padding:var(--space-3) 0 var(--space-3) var(--space-4);border-left:1px solid var(--rule);position:relative}.timeline>li:before{content:"";position:absolute;left:-4px;top:20px;width:7px;height:7px;border-radius:50%;background:var(--paper-2);border:1px solid var(--field-edge)}.timeline-head{display:flex;align-items:baseline;gap:var(--space-3);flex-wrap:wrap}.timeline-head time,.timeline-head .who{color:var(--muted);font-size:var(--text-sm)}.changes{margin:var(--space-1) 0 0;padding-left:var(--space-4);font-size:var(--text-md);color:var(--ink-2)}.geo-results{list-style:none;margin:0;padding:var(--space-1);border:1px solid var(--rule);border-radius:var(--r-2);max-height:180px;overflow-y:auto;background:var(--paper-2)}.geo-results button{border:none;background:none;text-align:left;width:100%;padding:6px 8px;cursor:pointer;border-radius:var(--r-1);font-size:var(--text-md)}.geo-results button:hover{background:var(--paper-3)}.pick-list{list-style:none;padding:0;margin:var(--space-3) 0 0;max-height:360px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.pick-list button{width:100%;text-align:left;border:1px solid transparent;background:none;padding:8px 10px;border-radius:var(--r-2);cursor:pointer;display:flex;gap:var(--space-3);align-items:baseline;flex-wrap:wrap}.pick-list button:hover{background:var(--paper-3)}.pick-list button.on{background:var(--accent-soft);border-color:var(--accent)}.pick-list.compact button{padding:6px 8px}.sel-list{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:2px}.sel-list li{padding:3px 0;display:list-item}.sel-list li>*{display:inline-flex;vertical-align:middle}.sel-list li span:first-child{min-width:60%}.reset-pw{padding:0 var(--space-5) var(--space-5)}.quick-actions{display:none}.service-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3) var(--space-4);align-items:end}.service-log .sl-line{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.restore-wait{max-width:560px;margin:var(--space-12) auto;display:flex;flex-direction:column;gap:var(--space-3)}.restore-wait h2{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xl)}.qr{display:block;image-rendering:pixelated}.meta-line{display:flex;flex-wrap:wrap;gap:2px var(--space-3);color:var(--muted);font-size:var(--text-sm)}.leaflet-host{width:100%;height:100%;min-height:160px;z-index:0}.leaflet-host.picker{height:320px;border-radius:var(--r-2);border:1px solid var(--rule);overflow:hidden;margin:6px 0}.leaflet-container{font-family:var(--font-body);background:var(--paper-3)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--paper-2);color:var(--ink);box-shadow:var(--overlay-shadow)}.leaflet-popup-content-wrapper{border-radius:var(--r-3)}.leaflet-bar a,.leaflet-control-layers{background:var(--paper-2);color:var(--ink);border-color:var(--rule)}.leaflet-control-layers-expanded{color:var(--ink)}.pin{background:none;border:none}.pin-body{width:26px;height:26px;border-radius:50% 50% 50% 0;background:var(--pc);transform:rotate(-45deg);border:2px solid var(--pin-ring);box-shadow:var(--pin-shadow);display:grid;place-items:center}.pin-body span{transform:rotate(45deg);color:var(--pin-ring);font-size:10px;font-weight:700}.pin-body:after{content:"";width:8px;height:8px;border-radius:50%;background:var(--pin-ring)}.map-pop{font-size:var(--text-md);line-height:1.45}.map-pop img{width:100%;height:110px;object-fit:cover;border-radius:var(--r-2);margin-bottom:6px;display:block}.map-pop b{font-variant-numeric:tabular-nums;font-size:var(--text-base)}.pop-status{font-size:var(--text-xs);background:var(--paper-3);padding:1px 6px;border-radius:var(--r-1);margin-left:6px}.pop-actions{display:flex;justify-content:space-between;margin-top:var(--space-2);gap:10px}.map-page{display:grid;grid-template-columns:270px minmax(0,1fr);margin:calc(-1 * var(--space-6)) calc(-1 * var(--space-8)) calc(-1 * var(--space-12));height:100dvh}.map-side{padding:var(--space-6) var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);border-right:1px solid var(--rule);background:var(--paper-2);overflow-y:auto}.map-main{position:relative}.legend{display:flex;flex-direction:column;gap:2px}.legend label{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;padding:5px 6px;border-radius:var(--r-1)}.legend label:hover{background:var(--paper-3)}.legend label.off{opacity:.5}.legend i,.dot{width:12px;height:12px;border-radius:3px;display:inline-block}.legend .muted{margin-left:auto;font-variant-numeric:tabular-nums;font-size:var(--text-sm)}.noloc{padding-left:18px;margin:6px 0}.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-4);margin-bottom:var(--space-4)}.cat-title{display:inline-flex;align-items:center;gap:var(--space-2)}.cat-title i{width:12px;height:12px;border-radius:3px}.man h3{font-size:var(--text-sm);margin:var(--space-3) 0 var(--space-1);color:var(--ink-2)}.man ul{list-style:none;margin:0;padding:0}.man li{display:flex;align-items:center;gap:6px;padding:4px 0 4px 10px;border-left:1px solid var(--rule);flex-wrap:wrap;min-height:32px}.man li .count{font-size:var(--text-xs);background:var(--paper-3);padding:0 6px;border-radius:var(--r-1);color:var(--muted);font-variant-numeric:tabular-nums}.li-actions{margin-left:auto;display:inline-flex;opacity:0;transition:opacity var(--dur-micro) var(--ease-out)}.man li:hover .li-actions,.man li:focus-within .li-actions{opacity:1}.applied{font-size:var(--text-sm);color:var(--muted);display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-top:var(--space-2)}.group-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4)}.group-params{margin:0;padding-left:20px;columns:2;font-size:var(--text-md)}.apply-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-3)}.apply-col{display:flex;flex-direction:column;gap:2px;background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-2);padding:10px}.perm-table td{vertical-align:top}.perm-table select{width:auto}.list-editor{display:flex;flex-direction:column;gap:10px}.status-table td{vertical-align:middle}.lang-switch{display:inline-flex;border:1px solid var(--field-edge);border-radius:var(--r-2);overflow:hidden;background:var(--paper-2)}.lang-switch button{border:none;background:none;padding:4px 10px;cursor:pointer;font-size:var(--text-sm);font-weight:600;color:var(--muted);min-height:28px}.lang-switch button.on{background:var(--ink);color:var(--paper)}.lang-switch.dark{border-color:var(--shell-3);background:transparent}.lang-switch.dark button{color:var(--shell-muted)}.lang-switch.dark button:hover{color:var(--shell-ink)}.lang-switch.dark button.on{background:var(--shell-3);color:var(--shell-ink)}.theme-switch{display:inline-flex;border:1px solid var(--shell-3);border-radius:var(--r-2);overflow:hidden}.theme-switch button{border:none;background:transparent;color:var(--shell-muted);width:32px;min-height:28px;display:grid;place-items:center;cursor:pointer}.theme-switch button:hover{color:var(--shell-ink)}.theme-switch button.on{background:var(--shell-3);color:var(--shell-ink)}.topbar-lang{margin-left:auto}.sl-wrap{display:flex;flex-direction:column;gap:10px;align-items:flex-start;width:100%}.seg-sm button{padding:3px 10px;font-size:var(--text-sm)}.sl-panel{border-radius:var(--r-3);background:var(--shell);display:flex;flex-direction:column;gap:4px;padding:6px;width:100%;box-shadow:inset 0 0 0 1px var(--shell-3)}.sl-panel.sl-drinks{max-width:400px}.sl-row{display:flex;gap:4px;align-items:stretch}.sl-cell{flex:1 1 0;min-width:0;border:none;border-radius:var(--r-1);background:var(--shell-2);cursor:default;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:1px;padding:6px 8px;text-align:left;font:inherit;color:var(--shell-muted);position:relative;overflow:hidden;transition:background-color var(--dur-micro) var(--ease-out)}.sl-cell.filled{background:var(--paper-2);color:var(--ink);cursor:pointer}.sl-cell.filled:hover{background:var(--paper)}.sl-cell.editing{cursor:pointer}.sl-cell.editing:hover{outline:2px solid var(--brass);outline-offset:-2px}.sl-cell.selected{outline:3px solid var(--brass)!important;outline-offset:-3px;background:var(--brass-soft);color:var(--ink)}.sl-cell.sl-empty .sl-code{color:var(--shell-faint)}.sl-cell.sl-empty.priced{background:var(--shell-3)}.sl-code{display:inline-block;font-weight:700;font-size:var(--text-xs);line-height:1.2;font-variant-numeric:tabular-nums;padding:0 4px;border:1px solid currentColor;border-radius:3px;opacity:.75;min-width:1.6em;text-align:center}.sl-snack .sl-code{font-size:var(--text-sm)}.sl-name{font-size:var(--text-sm);font-weight:500;margin-top:2px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:break-word}.sl-cap{font-size:var(--text-xs);color:var(--muted)}.sl-price{display:inline-flex;gap:4px 8px;align-items:center;flex-wrap:wrap;font-size:var(--text-xs);margin-top:auto;padding-top:2px;line-height:1.3;font-variant-numeric:tabular-nums}.sl-p{display:inline-flex;align-items:center;gap:3px;font-weight:600;white-space:nowrap}.sl-p svg{flex:none;opacity:.8}.sl-p-cash{color:var(--ink)}.sl-p-card{color:var(--accent)}.sl-cell.sl-empty .sl-p-cash,.sl-cell.sl-empty .sl-p-card{color:var(--shell-muted)}.sl-p-sep{display:none}.sl-legend{color:var(--muted);display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;font-size:var(--text-sm)}.sl-legend>span{display:inline-flex;align-items:center;gap:5px}.sl-legend .sl-code{color:var(--ink-2)}.sl-under{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.sl-detail{display:flex;flex-wrap:wrap;gap:6px var(--space-5);padding:var(--space-2) var(--space-3);background:var(--brass-soft);border-radius:var(--r-2);font-size:var(--text-md);width:100%}.sl-edit{gap:0;padding:0}.sl-row-wrap{padding:4px;border-bottom:1px dashed var(--shell-3)}.sl-row-wrap:last-child{border-bottom:none}.sl-row-bar{display:flex;align-items:center;gap:var(--space-2);color:var(--shell-muted);font-size:var(--text-xs);padding:1px 2px 4px;flex-wrap:wrap}.sl-row-bar label{display:inline-flex;align-items:center;gap:4px}.sl-row-bar input{width:46px!important;min-height:22px!important;padding:1px 5px!important;font-size:var(--text-xs)!important;background:var(--shell-3)!important;border-color:var(--shell-3)!important;color:var(--shell-ink)!important;font-weight:700}.sl-row-bar button,.sl-bar-group button{border:1px solid var(--shell-3);background:var(--shell-2);color:var(--shell-ink);border-radius:var(--r-1);padding:0 7px;cursor:pointer;font-size:var(--text-xs);line-height:20px;min-width:22px;display:inline-grid;place-items:center}.sl-row-bar button:hover{background:var(--shell-3)}.sl-bar-group{display:inline-flex;align-items:center;gap:3px}.sl-row-bar .sl-add{margin-left:auto}.sl-row-bar .sl-del:hover{background:var(--danger);color:var(--paper-2)}.sl-toolbar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);width:100%;flex-wrap:wrap}.sl-toolbar-right{display:flex;gap:6px;flex-wrap:wrap}.sel-sm{width:auto!important;min-height:30px!important;padding:3px 8px!important;font-size:var(--text-sm)}.sl-cell-editor{width:100%;border:1px solid var(--brass);border-radius:var(--r-3);padding:var(--space-3) var(--space-4);background:var(--paper-2)}.sl-cell-editor-head{display:flex;align-items:center;gap:var(--space-3);margin-bottom:10px;flex-wrap:wrap}.sl-cell-editor-head>b{font-size:var(--text-lg);font-variant-numeric:tabular-nums}.sl-cell-editor-head .icon-btn{margin-left:auto}.sl-cell-editor .sl-bar-group button{background:var(--paper-2);color:var(--ink);border-color:var(--field-edge)}.sl-cell-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.sl-setup{display:flex;flex-direction:column;gap:10px;width:100%}.sl-setup-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.sl-setup-main{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(160px,1fr);gap:var(--space-5);align-items:start;width:100%}.sl-setup-form{display:flex;flex-direction:column;gap:10px}.sl-setup-form h3.sub{margin-top:0}.sl-setup-preview{display:flex;flex-direction:column;gap:6px}.sl-presets{display:flex;flex-wrap:wrap;gap:6px}.chip-btn{border:1px solid var(--field-edge);background:var(--paper-2);border-radius:var(--r-2);padding:4px 12px;cursor:pointer;font-size:var(--text-md);font-weight:600;font-variant-numeric:tabular-nums;min-height:30px}.chip-btn:hover{border-color:var(--ink-2)}.chip-btn.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}.sl-mini{gap:2px;padding:3px;max-width:100%!important}.sl-mini.sl-drinks{max-width:220px!important}.sl-mini .sl-row{gap:2px}.sl-mini .sl-cell{padding:1px 4px;justify-content:center;cursor:default}.sl-mini .sl-code,.sl-mini.sl-snack .sl-code{font-size:10.5px;border:0;padding:0;opacity:1;min-width:0}.sl-template-card{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(160px,1fr);gap:var(--space-5);align-items:start;padding:var(--space-3) var(--space-4);border:1px solid var(--accent);background:var(--accent-soft);border-radius:var(--r-3);width:100%}.sl-template-card p{margin:2px 0 10px}.sl-popover{width:100%;border:1px solid var(--rule);background:var(--paper);border-radius:var(--r-3);padding:var(--space-3);display:flex;flex-direction:column;gap:10px}.tag-tpl{border:none;cursor:pointer;background:var(--accent-soft);color:var(--accent)}.sl-recipe-pick{display:flex;align-items:flex-end;gap:10px;margin-bottom:10px;flex-wrap:wrap}.sl-recipe-pick .field{min-width:280px;flex:0 1 380px}.sl-ing-field{grid-column:1 / -1}.ing-editor{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.ing-row{display:grid;grid-template-columns:minmax(160px,1fr) 100px 80px 32px;gap:6px;width:100%;max-width:560px;align-items:center}.price-pair{display:flex;gap:6px;flex-wrap:wrap}.price-pair input{flex:1 1 80px;min-width:80px}.price-pair .btn{flex:0 0 auto}.sl-prices{gap:var(--space-3)}.pt-action{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;padding:var(--space-3);background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-3)}.pt-action>span:first-child{font-weight:600;min-width:200px}.pt-action input[type=number]{width:96px!important;flex:0 0 auto}.pt-card{flex-direction:column;align-items:flex-start;gap:10px}.pt-card>.pt-title{font-weight:600}.pt-body{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.pt-toggles{display:inline-flex;gap:6px}.pt-toggles .check{padding:4px 10px}.sl-palette{display:flex;flex-wrap:wrap;align-items:center;gap:6px;width:100%;padding:var(--space-2) 10px;border:1px dashed var(--field-edge);border-radius:var(--r-3);background:var(--paper-2)}.sl-palette.armed{border-color:var(--brass);background:var(--brass-soft)}.sl-palette-label{font-weight:600;font-size:var(--text-sm)}.sl-palette-hint{flex-basis:100%}.sl-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--rule);color:var(--ink);background:var(--paper-2);border-radius:var(--r-2);padding:4px 10px;cursor:grab;font-size:var(--text-sm);font-weight:500;min-height:30px}.sl-chip small{color:var(--muted);font-size:var(--text-xs)}.sl-chip:hover{border-color:var(--field-edge);background:var(--paper)}.sl-chip.on{background:var(--brass);border-color:var(--brass);color:var(--brass-ink)}.sl-chip.on small{color:var(--brass-ink)}.sl-chip:active{cursor:grabbing}.sl-panel.placing .sl-cell{cursor:copy}.sl-cell.drop-target{outline:3px dashed var(--brass)!important;outline-offset:-3px;background:var(--brass-soft)!important}.code-pill{display:inline-block;font-weight:700;font-size:var(--text-xs);background:var(--shell);color:var(--shell-ink);border-radius:var(--r-1);padding:1px 6px;margin:1px 3px 1px 0;font-variant-numeric:tabular-nums}.copy-tool{display:flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--rule);border-radius:var(--r-3);background:var(--paper-2);flex-wrap:wrap}.copy-tool>span:first-child{font-weight:600}.save-bar{position:sticky;top:0;z-index:6;display:flex;align-items:center;gap:10px;padding:var(--space-2) var(--space-3);margin-bottom:10px;background:var(--warn-soft);border:1px solid var(--warn-edge);border-radius:var(--r-3)}.save-bar span{margin-right:auto;font-weight:600;color:var(--warn)}.recipes-table .price-cell{width:110px}.recipes-table .price-cell input{width:90px;text-align:right;padding:4px 8px;font-variant-numeric:tabular-nums}.recipes-table .pick{width:34px}.recipes-table tr.picked td{background:var(--accent-soft)}.recipes-table tr.changed .price-cell input{border-color:var(--warn);background:var(--warn-soft)}.link-btn{border:none;background:none;padding:0;cursor:pointer;text-align:left;color:var(--ink);font:inherit}.link-btn:not(:disabled):hover b{color:var(--accent);text-decoration:underline}.diff-neg{color:var(--ok)}.diff-pos{color:var(--danger)}.tpl-views{display:flex;align-items:center;gap:var(--space-3);margin-bottom:10px;flex-wrap:wrap}.tpl-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:var(--space-5);align-items:start}.tpl-models{padding:10px;position:sticky;top:var(--space-3);max-height:calc(100dvh - 40px);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-2)}.tpl-cat-title{display:flex;align-items:center;gap:7px;font-size:var(--text-sm);font-weight:600;color:var(--ink-2);padding:var(--space-2) 6px var(--space-1)}.tpl-cat-title i{width:10px;height:10px;border-radius:2px}.tpl-man{display:flex;flex-direction:column}.tpl-man-title{font-size:var(--text-xs);color:var(--muted);padding:var(--space-2) 8px 2px}.tpl-model{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);width:100%;border:none;background:none;padding:7px 8px;border-radius:var(--r-2);cursor:pointer;text-align:left;font:inherit;color:var(--ink);min-height:34px}.tpl-model:hover{background:var(--paper-3)}.tpl-model.on{background:var(--ink);color:var(--paper)}.tpl-badges{display:flex;gap:4px}.tpl-badge{font-size:var(--text-xs);padding:0 6px;border-radius:var(--r-1);background:var(--paper-3);color:var(--muted);white-space:nowrap;display:inline-flex;align-items:center;gap:3px;line-height:1.6}.tpl-badge.has{background:var(--accent-soft);color:var(--accent);font-weight:600}.tpl-model.on .tpl-badge{background:var(--ink-2);color:var(--paper)}.tpl-main{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.tpl-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap}.tpl-head h2{font-size:var(--text-xl);margin-bottom:4px}.tpl-kinds{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.tpl-defaults{margin-top:var(--space-5);padding:var(--space-3) var(--space-4)}.tpl-defaults summary{cursor:pointer;font-weight:600}.kv{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:6px var(--space-4);margin:0 0 var(--space-3);font-size:var(--text-md);font-variant-numeric:tabular-nums}.kv dt{color:var(--muted)}.kv dd{margin:0}.meter{height:6px;background:var(--paper-3);border-radius:2px;overflow:hidden;margin-top:4px;max-width:260px}.meter i{display:block;height:100%;background:var(--ok)}.meter i.warn{background:var(--warn)}.meter i.bad{background:var(--danger)}.pick-cell{width:34px;padding-right:0!important}.table tr.picked td{background:var(--accent-soft)}.bulk-bar{position:fixed;left:50%;bottom:var(--space-5);transform:translate(-50%);z-index:1200;display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;background:var(--shell);color:var(--shell-ink);padding:var(--space-2) var(--space-3) var(--space-2) var(--space-4);border-radius:var(--r-3);box-shadow:var(--overlay-shadow);max-width:calc(100% - 24px)}.bulk-bar b{margin-right:var(--space-2);font-variant-numeric:tabular-nums}.bulk-bar .btn{background:var(--shell-2);color:var(--shell-ink);border-color:var(--shell-3)}.bulk-bar .btn:hover{background:var(--shell-3)}.bulk-bar .btn-primary{background:var(--brass);border-color:var(--brass);color:var(--brass-ink)}.bulk-bar .btn-primary:hover{background:var(--brass);filter:brightness(1.06)}.bulk-bar .btn-ghost-dark{width:auto;background:transparent}.bulk-form{display:flex;flex-direction:column;gap:var(--space-2)}.bulk-row{display:grid;grid-template-columns:220px minmax(0,1fr);gap:var(--space-3);align-items:center;padding:var(--space-2) 10px;border:1px solid var(--rule);border-radius:var(--r-2)}.bulk-row.on{border-color:var(--accent);background:var(--accent-soft)}.bulk-input{display:flex;flex-direction:column;gap:4px}.steps-list{margin:0 0 var(--space-3);padding-left:20px;display:flex;flex-direction:column;gap:6px}.steps-list li{padding-left:2px}.import-sum{margin:var(--space-3) 0 var(--space-2)}.import-preview{max-height:320px;overflow-y:auto}.row-bad td{background:var(--danger-soft)}.print-page{background:var(--paper);min-height:100dvh;padding:var(--space-5)}.print-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;max-width:210mm;margin:0 auto var(--space-4)}.print-bar select{width:auto}.sheet,.labels{--paper: oklch(100% 0 0);--paper-2: oklch(100% 0 0);--paper-3: oklch(95% .005 75);--rule: oklch(86% .008 70);--ink: oklch(18% .015 50);--ink-2: oklch(35% .015 55);--muted: oklch(45% .012 60);--shell: oklch(24.5% .026 45);--shell-2: oklch(30.5% .03 45);--shell-3: oklch(37% .03 48);--shell-ink: oklch(94% .012 72);--shell-muted: oklch(75% .022 62);--shell-faint: oklch(60% .022 55);--accent: oklch(45% .13 248);background:var(--paper);color:var(--ink)}.sheet{max-width:210mm;margin:0 auto;padding:14mm 14mm 10mm;border:1px solid var(--rule);font-size:12px;line-height:1.45}.sheet h1{font-size:28px;margin:4px 0;font-variant-numeric:tabular-nums}.sheet h2{font-size:13px;font-weight:600;color:var(--ink);margin:16px 0 6px;padding-bottom:3px;border-bottom:1px solid var(--rule);display:flex;gap:6px;align-items:center}.sheet-head{display:flex;justify-content:space-between;gap:20px;border-bottom:2px solid var(--ink);padding-bottom:10px}.sheet-brand{font-family:var(--font-wordmark);font-weight:600;font-size:16px;color:var(--ink-2)}.sheet-qr{display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--muted)}.sheet-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.sheet-dl{display:grid;grid-template-columns:110px minmax(0,1fr);gap:3px 10px;margin:0}.sheet-dl dt{color:var(--muted)}.sheet-dl dd{margin:0}.sheet-photo{width:100%;max-height:60mm;object-fit:cover;border-radius:4px;margin-top:14px}.sheet-sel{break-inside:avoid}.sheet-sel .seg{display:none}.sheet-foot{margin-top:16px;padding-top:6px;border-top:1px solid var(--rule);color:var(--muted);font-size:10px;display:flex;justify-content:space-between;gap:12px}.labels{display:grid;gap:4mm;max-width:210mm;margin:0 auto;padding:8mm}.labels-s{grid-template-columns:repeat(4,minmax(0,1fr))}.labels-m{grid-template-columns:repeat(3,minmax(0,1fr))}.labels-l{grid-template-columns:repeat(2,minmax(0,1fr))}.label{display:flex;align-items:center;gap:8px;border:1px dashed var(--rule);border-radius:4px;padding:3mm;break-inside:avoid}.labels-l .label{flex-direction:column;text-align:center}.label-text{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:11px}.label-text b{font-size:16px;font-variant-numeric:tabular-nums}.labels-s .label-text b{font-size:13px}.labels-l .label-text b{font-size:22px}.label-text .muted{color:var(--muted)}@media print{@page{size:A4;margin:8mm}.no-print{display:none!important}.print-page{padding:0;background:none}.sheet{border:none;padding:0;max-width:none}.labels{padding:0}body{background:none}}.date-filter{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);color:var(--muted)}.date-filter input{width:160px!important}@media(max-width:1100px){.detail-grid,.dash-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:1000px){.tpl-layout{grid-template-columns:minmax(0,1fr)}.tpl-models{position:static;max-height:320px}}@media(max-width:860px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{position:fixed;left:0;top:0;bottom:0;width:264px;z-index:1500;transform:translate(-100%);transition:transform var(--dur-short) var(--ease-out)}.nav-open .sidebar{transform:none}.nav-open .scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);z-index:1400}.topbar{display:flex;align-items:center;gap:10px;padding:8px var(--space-4);background:var(--shell);color:var(--shell-ink);position:sticky;top:0;z-index:900;min-height:52px}.topbar .icon-btn{color:var(--shell-ink);width:40px;height:40px}.topbar .icon-btn:hover{background:var(--shell-2)}.topbar .wordmark{font-size:1.25rem}.content{padding:var(--space-4) var(--space-4) var(--space-12)}.grid-2,.form-grid,.service-form,.sl-setup-main,.sl-template-card,.sheet-cols{grid-template-columns:minmax(0,1fr)}.login-card{margin:0 auto;padding:var(--space-8) var(--space-4)}.map-page{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);margin:calc(-1 * var(--space-4)) calc(-1 * var(--space-4)) calc(-1 * var(--space-12));height:calc(100dvh - 52px)}.map-side{border-right:none;border-bottom:1px solid var(--rule);padding:var(--space-3) var(--space-4);max-height:40dvh}.map-side h1{display:none}.toolbar select{flex:1 1 140px}h1{font-size:1.375rem}.detail-head h1{font-size:1.5rem}.figure{flex-basis:45%;padding-left:0!important;border-left:none!important}.quick-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:var(--space-2);margin:calc(-1 * var(--space-2)) 0 var(--space-4)}.qa{display:flex;flex-direction:column;align-items:center;gap:4px;padding:var(--space-3) 6px;border-radius:var(--r-3);background:var(--paper-2);border:1px solid var(--rule);color:var(--ink);font-weight:600;text-decoration:none!important;min-height:64px;justify-content:center}.qa svg{color:var(--accent)}.hide-mobile{display:none!important}.detail-head{margin-bottom:var(--space-4)}.detail-head .page-actions{width:100%}.detail-head .page-actions>*{flex:1}.detail-head .page-actions .dropdown>.btn{width:100%}.btn{min-height:42px}.btn-sm{min-height:36px}.icon-btn{width:36px;height:36px}.bulk-row{grid-template-columns:minmax(0,1fr)}.dl{grid-template-columns:96px minmax(0,1fr)}.dropdown-menu{position:fixed;left:var(--space-3);right:var(--space-3);top:auto;bottom:var(--space-3);width:auto;max-height:70dvh}.menu-list>a,.menu-list>button{padding:var(--space-3);font-size:var(--text-base)}.bulk-bar{bottom:var(--space-3)}.photo-empty{aspect-ratio:16 / 6}input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px;min-height:42px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}.btn:active{transform:none}}:root[data-theme=dark] .sl-cell.filled{background:var(--paper-3)}:root[data-theme=dark] .sl-cell.filled:hover{background:var(--rule)}.derived-value{display:flex;flex-direction:column;gap:2px;min-height:var(--control-h);justify-content:center}.loc-panel{margin-top:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.loc-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap}.loc-head h2{font-size:var(--text-xl)}.plan{display:flex;flex-direction:column;gap:var(--space-2)}.plan-tabs{margin-bottom:var(--space-2);flex-wrap:wrap}.plan-scroll{overflow:auto;max-height:75dvh;border:1px solid var(--rule);border-radius:var(--r-2);background:var(--paper-3)}.plan-stage{position:relative;min-width:100%;-webkit-user-select:none;user-select:none;touch-action:pan-x pan-y}.plan-stage img{display:block;width:100%;height:auto}.plan-editing .plan-stage{cursor:default}.plan-armed .plan-stage{cursor:crosshair}.plan-pin{position:absolute;transform:translate(-50%,-100%);display:inline-flex;align-items:center;gap:2px;padding:2px 7px;border-radius:var(--r-1);font-size:var(--text-xs);font-weight:700;white-space:nowrap;line-height:1.5;box-shadow:var(--pin-shadow);border:1px solid currentColor;text-decoration:none!important;font-variant-numeric:tabular-nums}.plan-pin:after{content:"";position:absolute;left:50%;bottom:-6px;width:2px;height:6px;margin-left:-1px;background:currentColor}.plan-editing .plan-pin{cursor:grab;touch-action:none}.plan-editing .plan-pin:active{cursor:grabbing}.plan-pin.dim{opacity:.45}.plan-pin.hl{outline:3px solid var(--brass);outline-offset:1px;z-index:2}.plan-pin-x{border:none;background:none;color:inherit;padding:0;margin-left:2px;cursor:pointer;display:inline-grid;place-items:center}.plan-tray{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:var(--space-2) 10px;border:1px dashed var(--field-edge);border-radius:var(--r-2)}.plan-chip{border:1px solid var(--field-edge);background:var(--paper-2);border-radius:var(--r-1);padding:3px 9px;font-weight:600;font-size:var(--text-sm);cursor:grab;min-height:30px;font-variant-numeric:tabular-nums}.plan-chip.on{background:var(--brass);border-color:var(--brass);color:var(--brass-ink)}.plan-zoom{display:flex;align-items:center;gap:var(--space-2);color:var(--muted)}.plan-zoom input[type=range]{width:180px!important;min-height:0!important;padding:0!important;border:none!important;background:none!important;accent-color:var(--accent)}.plan-actions{display:flex;gap:var(--space-3);align-items:center;margin-top:var(--space-2)}.danger-link{color:var(--danger)!important}.machine-plan .plan-scroll{max-height:320px}.span-2{grid-column:1 / -1}.filter-profiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5)}.filter-profile{display:grid;gap:var(--space-3);align-content:start}.filter-profile+.filter-profile{border-left:1px solid var(--rule);padding-left:var(--space-5)}.filter-profile h3{margin:0;font-size:var(--text-md);font-weight:600}@media(max-width:760px){.filter-profiles{grid-template-columns:minmax(0,1fr)}.filter-profile+.filter-profile{border-left:0;padding-left:0;border-top:1px solid var(--rule);padding-top:var(--space-4)}}.op-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-4)}.op-tile{display:grid;gap:var(--space-2);align-content:start;padding:var(--space-5);min-height:150px;background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-3);color:var(--ink);text-decoration:none!important;transition:border-color .15s,background .15s}.op-tile svg{color:var(--accent)}.op-tile b{font-size:1.05rem}.op-tile:hover{border-color:var(--accent);background:var(--paper-3)}.op-tile:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.op-card{max-width:760px}.op-found{display:flex;align-items:end;padding-bottom:6px}.op-found .tag{display:inline-flex;gap:6px;align-items:center}.op-done{max-width:620px}.op-done .card-body{display:grid;gap:var(--space-3);justify-items:start}.op-done .card-body>svg{color:var(--ok)}.op-done h2,.op-done p{margin:0}.portal{min-height:100dvh;display:flex;flex-direction:column;background:var(--paper)}.portal-top,.portal-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) clamp(16px,5vw,64px)}.portal-top{border-bottom:1px solid var(--rule)}.portal-mark{color:var(--ink)}.portal-tools{display:flex;align-items:center;gap:var(--space-3)}.portal-main{flex:1;width:100%;max-width:920px;padding:var(--space-10) clamp(16px,5vw,64px);display:flex;flex-direction:column;gap:var(--space-3)}.portal-main h1{margin:0;font-size:2rem}.portal-main p{margin:0}.portal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-4);margin-top:var(--space-2)}.portal-tile{display:grid;gap:var(--space-2);align-content:start;padding:var(--space-6);min-height:190px;background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-3);color:var(--ink);text-decoration:none!important;transition:border-color var(--dur-micro) var(--ease-out),background-color var(--dur-micro) var(--ease-out)}.portal-tile svg{color:var(--accent)}.portal-tile b{font-size:1.2rem}.portal-open{margin-top:auto;display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-weight:600;font-size:var(--text-md)}.portal-tile:hover{border-color:var(--accent);background:var(--paper-3)}.portal-tile:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.portal-foot{border-top:1px solid var(--rule)}.nav-apps{display:flex;align-items:center;gap:var(--space-2);margin:0 var(--space-2) var(--space-3);padding:7px var(--space-3);border:1px solid var(--shell-3);border-radius:var(--r-2);color:var(--shell-ink);font-size:var(--text-md);text-decoration:none!important}.nav-apps:hover{background:var(--shell-3)}.nav-apps small{color:var(--shell-muted);margin-left:auto;font-size:var(--text-sm, 12px)}.topbar-home{display:inline-flex;align-items:center;gap:6px;margin-left:auto;color:inherit;text-decoration:none;font-weight:600;font-size:var(--text-md);padding:6px 10px;border-radius:var(--r-2)}.topbar-home:hover{background:var(--paper-3)}.nav-badge,.badge-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;margin-left:8px;border-radius:10px;background:var(--danger);color:#fff;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.nav-badge{margin-left:auto}.alert-ok{background:var(--ok-soft);color:var(--ok);border:1px solid var(--ok)}.alert-info{background:var(--accent-soft);color:var(--ink);border:1px solid var(--accent)}.hp{position:absolute!important;left:-10000px;width:1px;height:1px;opacity:0;pointer-events:none}.signup-card .table-wrap{margin-top:var(--space-2)}.signup-history{margin-top:var(--space-3)}.signup-history summary{cursor:pointer;color:var(--muted)}.zp-tools{display:flex;align-items:center;gap:6px;margin-bottom:var(--space-2);flex-wrap:wrap}.zp-hint{margin-left:auto}.zp-box{position:relative;overflow:hidden;touch-action:none;border:1px solid var(--rule);border-radius:var(--r-2);background:var(--paper-3);cursor:grab;max-width:100%;margin:0 auto;-webkit-user-select:none;user-select:none}.zp-box:active{cursor:grabbing}.zp-stage{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:0 0;will-change:transform}.zp-img{display:block;width:100%;height:100%;object-fit:fill;pointer-events:none}.area-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.area-svg.drawing{cursor:crosshair}.area{fill:color-mix(in oklch,var(--area, var(--accent)) 28%,transparent);stroke:var(--area, var(--accent));stroke-width:2;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill .15s}.area:hover{fill:color-mix(in oklch,var(--area, var(--accent)) 45%,transparent)}.area.sel{stroke-width:4;fill:color-mix(in oklch,var(--area, var(--accent)) 50%,transparent)}.area.dim{fill:transparent;stroke-opacity:.35}.area.hot{fill:color-mix(in oklch,var(--area, var(--accent)) 55%,transparent)}.area-draft{fill:none;stroke:var(--danger);stroke-width:2;stroke-dasharray:6 4;vector-effect:non-scaling-stroke;pointer-events:none}.area-label{position:absolute;pointer-events:none;display:inline-flex;gap:6px;align-items:center;padding:2px 8px;border-radius:999px;background:var(--paper-2);color:var(--ink);border:1px solid var(--rule);font-size:12px;font-weight:600;white-space:nowrap;box-shadow:0 1px 3px #0003}.area-label b{background:var(--ink);color:var(--paper);border-radius:999px;padding:0 6px;font-variant-numeric:tabular-nums}.area-label.dim{opacity:.45}.area-dot{position:absolute;width:12px;height:12px;border-radius:50%;background:var(--danger);border:2px solid #fff;pointer-events:none}.cplan-filters{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;margin:var(--space-2) 0}.cplan-filters .search{flex:1 1 200px;min-width:160px}.cplan-draw{margin:var(--space-2) 0}.cplan-edit{margin:var(--space-2) 0;padding:var(--space-3);border:1px solid var(--rule);border-radius:var(--r-2);background:var(--paper-3)}.cplan-locs{display:flex;flex-wrap:wrap;gap:6px;margin:var(--space-2) 0}.cplan-loc{border:1px solid var(--field-edge);background:var(--paper-2);border-radius:var(--r-2);padding:4px 10px;cursor:pointer;font-size:var(--text-md)}.cplan-loc.on,.cplan-loc[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.cplan-sel{margin-top:var(--space-3);padding:var(--space-3);border:1px solid var(--rule);border-radius:var(--r-2);background:var(--paper-2)}.cplan-sel-head{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;justify-content:space-between}.cplan-machines{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px;margin-top:var(--space-2)}.cplan-machine{display:flex;gap:8px;align-items:center;padding:6px 8px;border:1px solid var(--rule);border-radius:var(--r-2);text-decoration:none;color:inherit}.export-quick{display:flex;gap:6px;flex-wrap:wrap}.export-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.export-chips input:not([type=checkbox]){flex:1 1 180px;min-width:150px}.check-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--field-edge);border-radius:var(--r-2);padding:4px 10px;cursor:pointer;background:var(--paper-2)}.check-chip.on{background:var(--accent-soft);border-color:var(--accent)}.chip-x{margin-left:4px}a.btn.disabled{pointer-events:none;opacity:.5}.cplan-filters select{width:auto;flex:0 1 190px}.cplan-filters input{width:auto}.cplan-filters .search{flex:1 1 220px}.cplan-loc{display:inline-flex;align-items:center;gap:8px;cursor:default;padding:4px 6px 4px 10px}.cplan-loc i{width:10px;height:10px;border-radius:50%;display:inline-block}.cplan-machine .mono-id{white-space:nowrap}.draw-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;flex-direction:column;background:var(--paper)}.draw-bar{display:flex;align-items:center;gap:var(--space-3);padding:8px var(--space-3);border-bottom:1px solid var(--rule);flex-wrap:wrap}.draw-bar .btn{margin-left:auto}.draw-error{color:var(--danger);font-weight:600}.draw-frame{flex:1;width:100%;border:0;background:#fff}.draw-loading{position:absolute;top:48px;right:0;bottom:0;left:0;display:grid;place-items:center;pointer-events:none}
