@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-cyrillic-ext-wght-normal-lLTsRRxN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-vietnamese-wght-normal-qRpaaN48.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-ext-wght-normal-DmpS2jIq.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-wght-normal-eXO_dkmS.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink:#15213b;--ink-soft:#4a5578;--muted:#6b7591;--canvas:#f5f7f5;--surface:#fff;--sunken:#f8faf8;--line:#e4e7e4;--line-strong:#d2d7d2;--accent:#2c5491;--accent-soft:#e7eef8;--online:#0ea96b;--online-text:#0a7a4e;--online-soft:#dff6ea;--waiting:#f2a93b;--waiting-text:#93600f;--waiting-soft:#fcefd8;--offline:#d7263d;--offline-soft:#fbe2e5;--teal:#0a7c74;--teal-soft:#dcf0ee;--radius:16px;--radius-sm:12px;--shadow:0 1px 2px #15213b0d, 0 8px 24px #15213b0f;--topbar:60px;--sidebar:256px;--display:"Plus Jakarta Sans Variable", "Inter Variable", ui-sans-serif, system-ui, sans-serif;--mono:ui-monospace, "SFMono-Regular", "Cascadia Mono", Consolas, "Liberation Mono", monospace;color:var(--ink);background:var(--canvas);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;-webkit-text-size-adjust:100%;font-family:Inter Variable,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;line-height:1.45}*{box-sizing:border-box}body{background:var(--canvas);min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent)}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--display);color:var(--ink)}h1{letter-spacing:-.02em;overflow-wrap:anywhere;margin-bottom:6px;font-size:26px;font-weight:700;line-height:1.15}h2{letter-spacing:-.01em;margin:0;font-size:17px;font-weight:700}h3{margin-bottom:8px;font-size:15px;font-weight:650}code,.mono,.payload{font-family:var(--mono);font-size:.92em}.small{font-size:12px}.muted{color:var(--muted);font-size:13px}.subtitle{color:var(--ink-soft);max-width:70ch;margin:0}.updated{color:var(--muted);margin:0 0 4px;font-size:12px}.eyebrow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;font-size:11px;font-weight:700}.hint{color:var(--muted);margin:8px 0 0;font-size:13px;line-height:1.5}.hint code{color:var(--ink-soft)}.hint.amber,.warn-text,td.amber{color:var(--waiting-text)}.form-error{min-height:18px;color:var(--offline);margin:8px 0 0;font-size:13px}.warning{border-radius:var(--radius-sm);background:var(--waiting-soft);color:var(--waiting-text);border:1px solid #f3d7a6;margin:0 0 12px;padding:12px 14px;font-size:14px;line-height:1.5}.res-error{color:var(--offline);margin:10px 0 0;font-size:13px}.res-note{border-top:1px solid var(--line);color:var(--muted);margin:0;padding:12px 16px;font-size:13px}.res-note.cash-with-you{border:1px solid var(--waiting);border-radius:var(--radius-sm);background:var(--waiting-soft);color:var(--ink);margin:0 0 16px}.shell{min-height:100vh}.topbar{z-index:20;height:var(--topbar);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;align-items:center;gap:12px;padding:0 12px;display:flex;position:sticky;top:0}.brand{min-width:0;color:var(--ink);align-items:center;gap:10px;margin-right:auto;text-decoration:none;display:flex}.brand img{border-radius:9px;width:34px;height:34px;display:block}.brand span{font-family:var(--display);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:700;overflow:hidden}.brand small{color:var(--muted);font:600 11px var(--display);letter-spacing:.04em;display:block}.connection{color:var(--ink-soft);align-items:center;gap:8px;font-size:13px;display:flex}.connection span:last-child{display:none}.dot{background:var(--waiting);border-radius:50%;flex:none;width:9px;height:9px}.dot.online{background:var(--online)}.dot.offline{background:var(--offline)}.icon-button{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:44px;height:44px;color:var(--ink);cursor:pointer;flex:none;place-items:center;font-size:20px;display:inline-grid}.icon-button:hover{border-color:var(--line-strong);background:var(--sunken)}.user-chip{display:none}.sidebar{z-index:30;border-right:1px solid var(--line);background:var(--surface);flex-direction:column;width:min(86vw,300px);padding:16px 12px;transition:transform .2s;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-105%)}.sidebar.open{transform:none;box-shadow:24px 0 60px #15213b2e}.sidebar-head{border-bottom:1px solid var(--line);align-items:center;gap:10px;margin-bottom:6px;padding:4px 6px 14px;display:flex}.sidebar-head img{width:132px;height:auto}.sidebar-head .icon-button{margin-left:auto}.scrim{z-index:25;background:#15213b59;position:fixed;inset:0}.nav-group{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:18px 10px 6px;font-size:11px;font-weight:700}.nav-item{border-radius:var(--radius-sm);min-height:46px;color:var(--ink-soft);align-items:center;gap:12px;padding:0 12px;font-weight:550;text-decoration:none;display:flex}.nav-item:hover{background:var(--sunken);color:var(--ink)}.nav-item.active{background:var(--accent-soft);color:var(--accent)}.nav-item span{flex:1}.nav-icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px}.sidebar-foot{border-top:1px solid var(--line);margin-top:auto;padding:14px 6px 4px}.who{color:var(--ink);align-items:center;gap:10px;margin-bottom:12px;text-decoration:none;display:flex}.avatar{background:var(--accent-soft);width:38px;height:38px;color:var(--accent);font:700 15px var(--display);border-radius:50%;flex:none;place-items:center;display:grid}.who b{text-overflow:ellipsis;white-space:nowrap;font-weight:650;display:block;overflow:hidden}.who small{color:var(--muted);font-size:12px;display:block}.sidebar-foot .button{width:100%}.content{max-width:1440px;padding:18px 16px 72px}.content>.panel+.panel,.content>.panel+.lower-grid,.content>div>.panel+.panel{margin-top:16px}.crumbs{color:var(--muted);margin-bottom:10px;font-size:13px}.crumbs a{color:var(--muted)}.crumbs a:hover{color:var(--accent)}.hero{flex-direction:column;gap:14px;margin-bottom:18px;display:flex}.hero-actions{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.hero-actions .button{flex:auto}.hero-link{align-self:flex-start;text-decoration:none}.button{border:1px solid var(--ink);border-radius:var(--radius-sm);background:var(--ink);color:#fff;cursor:pointer;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:0 18px;font-size:15px;font-weight:650;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex}.button:hover{background:#1f2d4d}.button.accent{border-color:var(--accent);background:var(--accent)}.button.secondary{border-color:var(--line-strong);background:var(--surface);color:var(--ink)}.button.secondary:hover{background:var(--sunken)}.button.danger{border-color:var(--offline);background:var(--offline);color:#fff}.button.danger-outline{background:var(--surface);color:var(--offline);border-color:#efb5bd}.button.danger-outline:hover{border-color:var(--offline)}.button:disabled{opacity:.5;cursor:not-allowed}a.button{text-decoration:none}.link-button{color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.link-button:hover,.panel-hint .link-button{color:var(--accent);text-decoration:underline}a.link-button{text-decoration:none}.link-button.underline{color:var(--accent);text-decoration:underline}.row-action{border:1px solid var(--line-strong);background:var(--surface);min-height:36px;color:var(--ink);letter-spacing:.02em;cursor:pointer;border-radius:10px;align-items:center;padding:0 12px;font-size:12px;font-weight:650;text-decoration:none;display:inline-flex}.row-action:hover{border-color:var(--accent);color:var(--accent)}.row-action.danger{color:var(--offline)}.row-action.danger:hover{border-color:var(--offline)}a.row-action{text-decoration:none}.actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.chip{border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:inline-flex}.chips{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.pulse{background:var(--online-soft);color:var(--online-text);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.pulse i{background:var(--online);border-radius:50%;width:7px;height:7px}.pulse.down{background:var(--waiting-soft);color:var(--waiting-text)}.pulse.down i{background:var(--waiting)}.count{background:var(--sunken);color:var(--ink-soft);border-radius:999px;margin-left:6px;padding:1px 8px;font-size:12px;font-weight:700}.count.alert{background:var(--offline-soft);color:var(--offline)}.filter-chip{align-self:center;align-items:center;gap:6px;display:inline-flex}.filter-chip button{color:inherit;cursor:pointer;background:0 0;border:0;padding:0 2px;font-size:15px;line-height:1}.filter-chip button:hover{color:var(--offline)}.badge{background:var(--online-soft);color:var(--online-text);white-space:nowrap;text-transform:uppercase;letter-spacing:.02em;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:650;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.badge.stale,.badge.unknown,.badge.dispatched,.badge.log-W{background:var(--waiting-soft);color:var(--waiting-text)}.badge.offline,.badge.failed,.badge.disabled,.badge.log-E{background:var(--offline-soft);color:var(--offline)}.badge.partial,.badge.admin,.badge.waiting{background:var(--accent-soft);color:var(--accent)}.badge.expired,.badge.initiated,.badge.pending,.badge.skipped,.badge.log-D{color:var(--ink-soft);background:#eef0f3}.badge.log-I,.badge.enabled,.badge.dispensed,.badge.succeeded,.badge.active,.badge.releasing{background:var(--online-soft);color:var(--online-text)}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.panel-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}.panel-head .eyebrow{margin-bottom:4px}.panel-head.slim{padding:14px 16px}.panel-head>.button{flex:auto}.panel-hint{border-bottom:1px solid var(--line);color:var(--ink-soft);margin:0;padding:12px 16px;font-size:14px;line-height:1.5}.panel-hint:empty{display:none}.panel-foot{border-top:1px solid var(--line);text-align:center;padding:12px 16px}.lower-grid,.summary-grid{grid-template-columns:1fr;gap:16px;margin-top:16px;display:grid}.metrics{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;display:grid}.metric{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);padding:16px;position:relative;overflow:hidden}.metric.primary{border-left:4px solid var(--accent)}.metric p{color:var(--ink-soft);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:12px;font-weight:650}.metric strong{font:700 28px/1 var(--display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--ink);margin:10px 0 6px;display:block}.metric.primary strong{color:var(--accent)}.metric.warn strong{color:var(--waiting-text)}.metric span{color:var(--muted);font-size:12px}.metric span a{color:inherit}.tiles{grid-template-columns:1fr 1fr;gap:10px;display:grid}.res-tile{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--sunken);min-width:0;padding:14px}.res-tile p{color:var(--ink-soft);letter-spacing:.03em;text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:650}.res-tile strong{font:700 21px/1.15 var(--display);font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.res-sub{min-height:16px;color:var(--muted);overflow-wrap:anywhere;margin-top:4px;font-size:12px;display:block}.res-tile.health{border-left:4px solid var(--online);color:inherit;text-decoration:none;display:block}.res-tile.health.warn{border-left-color:var(--waiting)}.res-tile.health.warn strong{color:var(--waiting-text)}.res-tile.health.bad{border-left-color:var(--offline)}.res-tile.health.bad strong{color:var(--offline)}a.res-tile.health:hover{border-color:var(--line-strong)}.health-panel,.resources-panel{margin-bottom:16px}.health-tiles{grid-template-columns:1fr 1fr;gap:10px;padding:16px;display:grid}.resource-grid{grid-template-columns:1fr;display:grid}.resource-group{min-width:0;padding:16px}.resource-group+.resource-group{border-top:1px solid var(--line)}.resource-group h3{margin:0 0 12px;font-size:14px}.service-head{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.service-head .muted{margin-right:auto}.balance-tiles,.order-tiles{margin-bottom:16px}.traffic-grid{grid-template-columns:1fr 1fr;display:grid}.traffic-grid div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px}.traffic-grid div:nth-child(2n){border-right:0}.traffic-grid div:nth-last-child(-n+2){border-bottom:0}.traffic-grid span{color:var(--ink-soft);margin-bottom:6px;font-size:13px;display:block}.traffic-grid b{font:700 21px var(--display);font-variant-numeric:tabular-nums}.spark{height:44px;margin-top:10px;position:relative}.spark svg{cursor:crosshair;width:100%;height:100%;display:block;overflow:visible}.spark .base{stroke:var(--line);stroke-width:1px}.spark .line{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.spark .cursor{stroke:var(--line-strong);stroke-width:1px;vector-effect:non-scaling-stroke}.spark-dot{background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 2px var(--surface);pointer-events:none;border-radius:50%;margin:-4px 0 0 -4px;position:absolute}.chart-body{padding:14px 10px 6px}.daily-chart{position:relative}.daily-chart svg{display:block;overflow:visible}.daily-chart .grid{stroke:var(--line);stroke-width:1px}.daily-chart .axis{stroke:var(--line-strong);stroke-width:1px}.daily-chart .tick{fill:var(--muted);font:11px var(--display)}.daily-chart .bar{fill:#7f9cc8}.daily-chart .bar.on{fill:var(--accent)}.daily-chart .hit{fill:#0000;cursor:crosshair;outline:none}.chart-tip{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:200px;box-shadow:var(--shadow);pointer-events:none;padding:10px 12px;font-size:13px;position:absolute}.chart-tip b{margin-bottom:6px;display:block}.chart-tip span{font-variant-numeric:tabular-nums;justify-content:space-between;display:flex}.chart-tip i{color:var(--muted);font-style:normal}.tools,.filters{flex-wrap:wrap;gap:8px;width:100%;display:flex}.filters{border-bottom:1px solid var(--line);padding:12px 16px}.summary-filters{border:0;align-items:center;margin-bottom:16px;padding:0}.summary-filters .period{width:100%}.search{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);min-height:46px;color:var(--muted);flex:100%;align-items:center;gap:8px;padding:0 14px;display:flex}.search:focus-within{border-color:var(--ink)}.search input{width:100%;height:44px;color:var(--ink);background:0 0;border:0;outline:0;font-size:16px}.tools select,.filters select,.composer select,#reports .panel-head select,.compose-top select,.text-input,.assign-row input,label.date input,.people-add select,.visit-fields input,.visit-extra input,.visit-extra textarea,dialog input:not([type=checkbox]):not([type=radio]),dialog select,dialog textarea,.stack-form input,.stack-form select,.login-card input,.composer textarea,.compose-row textarea,.adjust input:not([type=radio]){border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:46px;color:var(--ink);outline:0;padding:10px 14px;font-size:16px;line-height:1.4;display:block}.tools select,.filters select,.composer select,#reports .panel-head select{flex:40%;width:auto}:is(.text-input,.assign-row input,label.date input,.people-add select,.visit-fields input,.visit-extra input,.visit-extra textarea,dialog input,dialog select,dialog textarea,.stack-form input,.stack-form select,.login-card input,.composer textarea,.compose-row textarea,.adjust input,.tools select,.filters select):focus{border-color:var(--ink);box-shadow:0 0 0 3px var(--accent-soft)}textarea{resize:vertical}label.date{color:var(--ink-soft);flex-direction:column;flex:40%;gap:4px;font-size:13px;display:flex}dialog label,.stack-form label,.login-card label,.composer label{color:var(--ink-soft);margin-top:14px;font-size:13px;font-weight:600;display:block}dialog label>:is(input,select,textarea),.stack-form label>:is(input,select),.login-card label>input,.composer label>textarea{margin-top:6px}dialog label.checkbox,label.checkbox{color:var(--ink);align-items:center;gap:10px;font-weight:500;display:flex}dialog label.checkbox input,label.checkbox input{width:20px;height:20px;min-height:0;accent-color:var(--accent);margin:0}.check{color:var(--ink-soft);cursor:pointer;align-items:center;gap:8px;font-size:14px;display:flex}.check input{width:18px;height:18px;accent-color:var(--accent);margin:0}.stack-form{gap:4px;max-width:460px;padding:4px 16px 18px;display:grid}.stack-form .hint{margin:6px 0 0}.stack-form .button{margin-top:12px}.segmented,.tabs{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--sunken);width:100%;padding:3px;display:flex;overflow-x:auto}.segmented label,.tab{min-height:40px;color:var(--ink-soft);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:9px;flex:1;justify-content:center;align-items:center;margin:0;padding:0 12px;font-size:14px;font-weight:600;display:flex}.segmented input{display:none}.tab[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #15213b1f}.segmented label:has(input:checked){background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #15213b1f}.segmented label:has(input[value=debit]:checked){color:var(--offline)}.tab:hover{color:var(--ink)}.choices{gap:8px;display:grid}.choice{border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;align-items:flex-start;gap:10px;padding:12px;display:flex}.choice:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.table-wrap{overflow:visible}table{border-collapse:collapse;width:100%}th{text-align:left;color:var(--ink-soft);letter-spacing:.03em;text-transform:uppercase;font-size:12px;font-weight:650}td{color:var(--ink);font-size:14px}.content table:not(.print-table):not(.print-totals) thead{display:none}.content table:not(.print-table):not(.print-totals) tbody tr{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);margin:10px 12px;padding:12px 14px;display:block}.content table:not(.print-table):not(.print-totals) tbody td{text-align:right;justify-content:space-between;align-items:baseline;gap:12px;padding:4px 0;display:flex}.content table:not(.print-table):not(.print-totals) tbody td[data-label]:before{content:attr(data-label);max-width:45%;color:var(--muted);text-align:left;text-transform:uppercase;letter-spacing:.03em;flex:none;font-size:12px;font-weight:600}.content table:not(.print-table):not(.print-totals) tbody td:first-child{border-bottom:1px solid var(--line);text-align:left;margin-bottom:4px;padding-bottom:8px;font-weight:600;display:block}.content table:not(.print-table):not(.print-totals) tbody td:first-child:before,.content table:not(.print-table):not(.print-totals) tbody td:empty{display:none}.content table:not(.print-table):not(.print-totals) tbody td>.actions{justify-content:flex-start;width:100%;padding-top:6px}.content table:not(.print-table):not(.print-totals) tfoot{padding:0 12px 12px;display:block}.cell-main{color:var(--ink);overflow-wrap:anywhere;display:block}.cell-sub{color:var(--muted);overflow-wrap:anywhere;margin-top:2px;font-size:12px;font-weight:400;display:block}.cell-sub.inline{margin:0;display:inline}.money{font-family:var(--display);font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--ink);font-weight:650}.amount-in{color:var(--online-text)}.amount-out{color:var(--offline)}tr.voided td{color:var(--muted)}.money.struck{text-decoration:line-through}.dialog-sub{margin:18px 0 8px;font-size:14px}table.numeric td{font-variant-numeric:tabular-nums}.machine-id{font-family:var(--mono);font-weight:650}.status-value{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--ink-soft);font:12px var(--mono);display:block;overflow:hidden}.status-value.link,.event-payload{text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.status-value.link:hover,.event-payload:hover{color:var(--accent);text-decoration:underline}.status-value.link:disabled{cursor:default;color:var(--muted);text-decoration:none}.age.retained{color:var(--muted);font-style:italic}.audit-detail{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.audit-table .cell-sub .link-button{color:inherit}.notification-text .cell-sub{color:var(--ink-soft);white-space:normal;font-size:13px;line-height:1.45}.alert-body{white-space:normal;line-height:1.5}.stale{opacity:.55;transition:opacity .2s}.empty{text-align:center;color:var(--muted);padding:40px 20px;font-size:14px}.empty.small{padding:28px 16px}.empty-icon{color:var(--line-strong);margin-bottom:10px;font-size:30px}.empty p{margin:0}dialog{background:var(--surface);width:100%;max-width:100%;max-height:92vh;color:var(--ink);border:0;border-radius:22px 22px 0 0;margin:auto 0 0;padding:0;overflow-y:auto;box-shadow:0 -12px 40px #15213b33}dialog::backdrop{background:#15213b66}dialog form{padding:20px 16px calc(20px + env(safe-area-inset-bottom))}.dialog-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.dialog-head h2 span{color:var(--accent);font-family:var(--mono)}.dialog-actions{flex-direction:column-reverse;gap:8px;margin-top:20px;display:flex}.dialog-actions .button{width:100%}.payload-view,.code-preview{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--sunken);max-height:60vh;color:var(--ink);font:13px/1.6 var(--mono);white-space:pre-wrap;word-break:break-word;-webkit-user-select:text;user-select:text;margin:0;padding:14px;overflow:auto}.code-preview{white-space:pre;max-height:180px;margin-top:12px}.toast{left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:50;border-radius:var(--radius-sm);background:var(--ink);color:#fff;box-shadow:var(--shadow);opacity:0;pointer-events:none;padding:14px 16px;font-size:14px;transition:all .2s;position:fixed;transform:translateY(10px)}.toast.show{opacity:1;transform:none}.login{place-items:center;min-height:100vh;padding:24px 16px;display:grid}.login-card{border:1px solid var(--line);background:var(--surface);width:min(420px,100%);box-shadow:var(--shadow);border-radius:22px;padding:28px 20px}.login-logo{width:180px;height:auto;margin:0 auto 22px;display:block}.login-card h1{text-align:center;font-size:24px}.login-card .subtitle{text-align:center;margin-bottom:6px}.login-card .button{width:100%;min-height:54px;margin-top:16px;font-size:16px}.login-card .link-button{color:var(--accent);text-align:center;margin:14px auto 0;font-size:14px;display:block}.qr{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;width:220px;height:220px;margin:16px auto 8px;padding:10px;display:block}.secret{border-radius:var(--radius-sm);background:var(--sunken);font:600 15px/1.5 var(--mono);letter-spacing:.08em;text-align:center;word-break:break-all;-webkit-user-select:all;user-select:all;margin:8px 0 0;padding:10px 12px;display:block}.code-input{text-align:center;letter-spacing:.3em;font:700 24px var(--mono)!important}.recovery{border:1px dashed var(--line-strong);border-radius:var(--radius-sm);background:var(--sunken);font:600 14px var(--mono);text-align:center;-webkit-user-select:all;user-select:all;grid-template-columns:1fr 1fr;gap:6px;margin:14px 0 0;padding:14px;display:grid}.steps{justify-content:center;gap:6px;margin-bottom:18px;display:flex}.steps i{background:var(--line);border-radius:2px;width:26px;height:4px}.steps i.on{background:var(--accent)}.events{max-height:320px;overflow:auto}.event{border-bottom:1px solid var(--line);font:12px var(--mono);grid-template-columns:70px 90px 1fr;gap:10px;padding:12px 16px;display:grid}.event:last-child{border-bottom:0}.event time{color:var(--muted)}.event-machine{color:var(--accent);text-overflow:ellipsis;text-decoration:none;overflow:hidden}.event-machine:hover{text-decoration:underline}.event-payload{text-overflow:ellipsis;white-space:nowrap;width:100%;min-width:0;color:var(--ink-soft);font:12px var(--mono);display:block;overflow:hidden}.machine-hero{margin-bottom:16px}.machine-hero h1{color:var(--accent)}.machine-hero .subtitle{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.console-panel{flex-direction:column;height:72vh;min-height:460px;display:flex}.console{flex-direction:column;width:100%;min-height:0;display:flex}.console-head{flex-wrap:wrap;align-items:center;gap:12px;padding:16px 16px 10px;display:flex}.console-head>div:first-child{min-width:0;margin-right:auto}.console-head h2{color:var(--accent);text-overflow:ellipsis;overflow:hidden}.console-state{align-items:center;gap:8px;display:flex}.console-status{align-items:baseline;gap:10px;min-width:0;padding:0 16px 12px;font-size:13px;display:flex}.console-status code{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.console-status .status-value{flex:1;min-width:0;max-width:none}.console-note{border-bottom:1px solid var(--line);margin:0;padding:8px 16px}.console-tools{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 16px;display:flex}.spacer{flex:1}.console-log{background:var(--sunken);min-height:0;font:12px/1.5 var(--mono);flex:1;padding:6px 0;overflow:auto}.entry{border-bottom:1px solid var(--line);cursor:pointer;grid-template-columns:72px 56px minmax(0,1fr);align-items:baseline;gap:8px;padding:6px 14px;display:grid}.entry:hover{background:#eef2f7}.entry time{color:var(--muted)}.entry .kind{font-weight:700}.entry.in .kind{color:var(--teal)}.entry.out .kind{color:var(--accent)}.entry .body{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.entry .meta{color:var(--muted);white-space:nowrap;grid-column:3;font-size:11px}.entry .meta .bad{color:var(--offline)}.entry .meta .good{color:var(--online-text)}.entry.open .body{white-space:pre-wrap;word-break:break-word}.entry-gap{color:var(--waiting-text);padding:4px 16px;font-size:12px}.console-empty{text-align:center;color:var(--muted);padding:40px 20px;font-size:13px}.console-compose{border-top:1px solid var(--line);padding:12px 16px 14px}.console-compose .form-error{margin-top:6px}.compose-top{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.compose-top code{color:var(--muted);margin-right:auto;font-size:12px}.compose-top select{width:auto;min-height:40px;font-size:14px}.compose-row{flex-direction:column;gap:8px;display:flex}.compose-row textarea{font:14px/1.5 var(--mono)}.compose-row small{opacity:.7;font-size:11px;font-weight:400}.app-panel{margin-bottom:16px}.app-body{border-bottom:1px solid var(--line);padding:16px}.app-why{color:var(--ink-soft);margin:0 0 6px;font-size:14px;line-height:1.5}.app-why.warn{color:var(--waiting-text)}.app-why b{color:var(--ink)}.app-switch{margin-top:14px}.app-switch .form-error:empty,.app-release .form-error:empty{display:none}.app-switch.asking{border-radius:var(--radius-sm);background:var(--offline-soft);border:1px solid #f1c3c9;padding:14px}.app-switch.asking .hint{margin:0 0 10px}.app-release{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.app-release .hint{margin:0 0 10px}.app-sessions{padding:16px}.app-sessions h3{margin:0 0 10px;font-size:14px}.app-sessions .hint{margin:0}.app-sessions.recent{border-top:1px solid var(--line)}.app-sessions summary{color:var(--ink-soft);cursor:pointer;font-size:14px}.app-sessions .content-table tbody tr,.app-sessions table tbody tr{margin-left:0!important;margin-right:0!important}.adjust{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--sunken);padding:14px}.adjust h3,.customer-section h3{margin:0 0 10px;font-size:15px}.adjust-row{flex-direction:column;gap:8px;display:flex}label.amount{color:var(--ink-soft);align-items:center;gap:8px;margin:0;font-size:14px;display:flex}.customer-section{margin-top:16px}.timeline{margin:0;padding:6px 16px 16px;list-style:none}.timeline li{border-left:2px solid var(--line);grid-template-columns:1fr auto;align-items:start;gap:4px 10px;padding:12px 0 12px 18px;display:grid;position:relative}.timeline li:before{content:"";background:var(--line-strong);width:12px;height:12px;box-shadow:0 0 0 3px var(--surface);border-radius:50%;position:absolute;top:16px;left:-7px}.timeline li.good:before{background:var(--online)}.timeline li.bad:before{background:var(--offline)}.timeline li.warn:before{background:var(--waiting)}.timeline-time{color:var(--ink-soft);grid-column:1/-1;font-size:13px}.timeline-time small{color:var(--muted);margin-top:2px;font-size:12px;display:block}.timeline b{font-size:14px;font-weight:650}.timeline p{color:var(--ink-soft);margin:4px 0 0;font-size:13px}.exports{flex-wrap:wrap;align-items:center;gap:8px;margin:-6px 0 16px;font-size:13px;display:flex}.summary-extra{margin:0 0 16px;font-size:13px}.summary-extra a{color:var(--ink-soft)}.account{margin-top:12px}.account-state{color:var(--ink-soft);margin:0 0 10px;font-size:14px}.facts{grid-template-columns:1fr;gap:12px;margin:0;padding:16px;display:grid}.facts dt{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:650}.facts dd{color:var(--ink);overflow-wrap:anywhere;margin:3px 0 0}.facts .fact{display:contents}.sale-dialog .facts{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));padding:8px 0 12px}.sale-dialog .facts .fact{display:block}.content .sale-dialog table:not(.print-table):not(.print-totals) tbody tr{margin-left:0;margin-right:0}.sale-sums{gap:6px;width:min(100%,280px);margin:16px 0 0 auto;display:grid}.sale-sums div{justify-content:space-between;gap:16px;display:flex}.sale-sums dt{color:var(--ink-soft);font-size:14px}.sale-sums dd{margin:0}.sale-sums .sum{border-top:1px solid var(--line);padding-top:8px;font-weight:650}.sale-sums .sum dt{color:var(--ink)}.role-list{margin:0;padding:4px 16px 12px;list-style:none}.role-list li{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:12px 0;display:flex}.role-list li:last-child{border-bottom:0}.role-list .where{min-width:0;color:var(--ink-soft);flex:1;font-size:14px}.company-details{grid-template-columns:1fr;gap:14px;margin:0;padding:16px;display:grid}.company-details dt{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:650}.company-details dd{color:var(--ink);overflow-wrap:anywhere;white-space:pre-line;margin:4px 0 0}.assign-row{border-bottom:1px solid var(--line);flex-direction:column;gap:8px;padding:14px 16px;display:flex}.deal-summary{border-bottom:1px solid var(--line);padding:14px 16px}.deal-summary ul,.deal-preview ul{color:var(--ink-soft);margin:0;padding-left:18px;font-size:14px;line-height:1.6}.deal-summary li+li,.deal-preview li+li{margin-top:4px}.deal-summary b,.deal-preview b{color:var(--ink)}.deal-summary .warning{margin:10px 0 0}.deal-preview{border-radius:var(--radius-sm);background:var(--accent-soft);border:1px solid #c9d7ec;margin-top:18px;padding:14px 16px}.deal-preview h3{color:var(--accent);margin:0 0 8px;font-size:13px}.deal-preview ul+h3,.deal-preview h3+.hint+h3{margin-top:14px}.report-state{border-bottom:1px solid var(--line);color:var(--ink-soft);padding:12px 16px;font-size:14px}.report-state p{flex-wrap:wrap;align-items:center;gap:10px;margin:0;display:flex}.report-state .warning{margin-top:10px}.report-tiles{padding:14px 16px 0}.report-actions{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:8px;padding:14px 16px;display:flex}.report-actions .button{flex:auto}.logs-panel{margin-bottom:16px}.logs-summary .hint{margin:0 0 4px}.logs-summary .hint:last-child{margin-bottom:0}.log-table td{vertical-align:top}.log-table .log-message{white-space:pre-wrap;word-break:break-word;font:12px/1.5 var(--mono);color:var(--ink);text-align:left}.log-table tr.log-E .log-message{color:var(--offline)}.log-table tr.log-W .log-message{color:var(--waiting-text)}.log-table tr.log-D .log-message{color:var(--muted)}.thread{flex-direction:column;gap:10px;margin:0;padding:12px 16px;list-style:none;display:flex}.message{border:1px solid var(--line);background:var(--sunken);border-radius:14px 14px 14px 4px;max-width:92%;padding:10px 14px}.message.staff{background:var(--accent-soft);border-color:#c9d7ec;border-radius:14px 14px 4px;align-self:flex-end}.message-head{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:8px;font-size:12px;display:flex}.message-head b{color:var(--ink);font-weight:650}.message p{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0 0;font-size:14px;line-height:1.5}.photos{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.photo{border:1px solid var(--line);background:var(--sunken);border-radius:10px;width:104px;height:104px;display:block;overflow:hidden}.photo img{object-fit:cover;width:100%;height:100%}.photo.missing{color:var(--muted);place-items:center;font-size:12px;display:grid}.composer{gap:10px;padding:0 16px 4px;display:grid}.composer-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.print-page{color:#111;background:#fff;max-width:900px;min-height:100vh;margin:0 auto;padding:20px 16px 32px;font:13px/1.5 Inter Variable,system-ui,sans-serif}body:has(.print-page){background:#fff}.print-page table{border-collapse:collapse;width:100%;min-width:0}.print-page th,.print-page td{color:#111;font:inherit;letter-spacing:0;text-align:left;text-transform:none;background:0 0;border-bottom:1px solid #ccc;padding:5px 6px}.print-totals{width:auto!important}.print-totals th,.print-totals td{border-bottom:0}.print-tools{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.print-head{border-bottom:2px solid #111;flex-direction:column;gap:12px;margin-bottom:16px;padding-bottom:12px;display:flex}.print-head h1{color:#111;margin:2px 0;font-size:22px}.print-head p{color:#444;margin:0}.print-from{letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700}.print-status{font-weight:700}.print-status small{color:#555;font-weight:400}.print-page h2{color:#111;margin:22px 0 8px;font-size:15px}.print-totals th{color:#444;text-align:left;padding:3px 18px 3px 0;font-weight:600}.print-totals td{padding:3px 0}.print-page .print-table{white-space:nowrap;display:block;overflow-x:auto}.print-table thead th{letter-spacing:.04em;text-transform:uppercase;border-bottom:2px solid #111;font-size:11px;font-weight:700}.print-table tfoot th{border-top:2px solid #111;border-bottom:0;font-weight:700}.print-table .num{text-align:right;white-space:nowrap}.print-table.small{font-size:11.5px}.print-foot{color:#666;margin-top:24px;font-size:11px}@media print{.print-tools{display:none}.print-page{max-width:none;padding:0}.print-table tr{break-inside:avoid}}@media (width>=640px){.content{padding:24px 24px 72px}h1{font-size:30px}.connection span:last-child{display:inline}.hero{flex-direction:row;justify-content:space-between;align-items:flex-end}.hero-actions .button,.panel-head>.button,.report-actions .button{flex:none}.metrics{grid-template-columns:repeat(4,1fr)}.tiles,.health-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.search{flex:0 280px}.search.wide{flex-basis:360px}.tools{width:auto}.tools select,.filters select{flex:0 auto;width:auto}.segmented,.tabs{width:auto}.summary-filters .period{width:auto;margin-left:auto}label.date{flex-direction:row;flex:0 auto;align-items:center}.adjust-row,.assign-row,.compose-row{flex-direction:row}.assign-row input,.adjust-row>input{flex:1}.facts,.company-details{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}dialog{border:1px solid var(--line);border-radius:20px;width:min(600px,100vw - 48px);margin:auto;box-shadow:0 30px 80px #15213b40}dialog.sale-dialog{width:min(760px,100vw - 48px)}.content table:not(.print-table):not(.print-totals) :is(th,td).num{text-align:right}.sale-dialog .table-wrap{border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden}dialog.wide{width:min(780px,100vw - 48px)}dialog form{padding:24px}.dialog-actions{flex-direction:row;justify-content:flex-end}.dialog-actions .button{width:auto}.toast{max-width:420px;bottom:24px;left:auto;right:24px}.print-page{padding:28px 24px 40px}.print-head{flex-direction:row;justify-content:space-between}.print-status{text-align:right}.print-page .print-table{white-space:normal;display:table}.entry{grid-template-columns:96px 74px minmax(0,1fr) auto;gap:10px;padding:5px 16px}.entry .meta{grid-column:auto}.event{grid-template-columns:85px 110px 1fr}.timeline li{grid-template-columns:110px 1fr auto;gap:14px}.timeline-time{grid-column:auto}.message{max-width:min(640px,80%)}.photo{width:120px;height:120px}}@media (width>=900px){.table-wrap{overflow-x:auto}.content table:not(.print-table):not(.print-totals) thead{display:table-header-group}.content table:not(.print-table):not(.print-totals) tbody tr{border:0;border-radius:0;margin:0;padding:0;display:table-row}.content table:not(.print-table):not(.print-totals) tbody td,.content table:not(.print-table):not(.print-totals) tbody td:first-child{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;margin:0;padding:14px 16px;font-weight:400;display:table-cell}.content table:not(.print-table):not(.print-totals) tbody td:empty{display:table-cell}.content table:not(.print-table):not(.print-totals) tbody td[data-label]:before{display:none}.content table:not(.print-table):not(.print-totals) tbody td>.actions{justify-content:flex-end;width:auto;padding-top:0}.content table:not(.print-table):not(.print-totals) tfoot{display:table-footer-group}.content table:not(.print-table):not(.print-totals) tbody tr:last-child td{border-bottom:0}.content table:not(.print-table):not(.print-totals) tbody tr:hover{background:var(--sunken)}th{border-bottom:1px solid var(--line);background:var(--sunken);padding:12px 16px}table.compact td,table.compact th,.content table.compact tbody td{padding:10px 14px}.lower-grid{grid-template-columns:.9fr 1.1fr;gap:16px}.summary-grid,.resource-grid{grid-template-columns:1fr 1fr}.resource-group:nth-child(2n){border-left:1px solid var(--line)}.resource-group+.resource-group{border-top:0}.resource-group:nth-child(n+3){border-top:1px solid var(--line)}.resource-group:last-child:nth-child(odd){grid-column:1/-1}.status-value,.audit-detail{max-width:340px}}@media (width>=1024px){.menu-button,.sidebar-head .icon-button,.scrim{display:none}.topbar{padding:0 24px}.user-chip{border:1px solid var(--line);color:var(--ink-soft);white-space:nowrap;border-radius:999px;padding:6px 12px;font-size:13px;text-decoration:none;display:inline-flex}a.user-chip:hover,a.user-chip.active{border-color:var(--accent);color:var(--accent)}.sidebar{top:var(--topbar);z-index:10;width:var(--sidebar);box-shadow:none;transform:none}.sidebar-head{display:none}.content{margin-left:var(--sidebar);padding:32px 32px 80px}.health-tiles{grid-template-columns:repeat(5,minmax(0,1fr))}.console-panel{height:calc(100vh - var(--topbar) - 220px)}}.pre-line{white-space:pre-line}.form-grid{border:0;grid-template-columns:1fr;gap:0 14px;min-width:0;margin:0;padding:0;display:grid}.machine-page .warning,.machine-page>.panel,.machine-page>.lower-grid{margin-top:16px}.method-list{gap:8px;margin-top:14px;display:grid}.method-row{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);margin:0;padding:12px 14px}.method-row.on{border-color:var(--accent);background:var(--accent-soft)}.method-row>label.checkbox{margin:0;font-weight:650}.method-fields{grid-template-columns:1fr;gap:0 12px;padding-left:30px;display:grid}.method-fields label.checkbox{margin-top:10px;font-weight:500}.product-grid{grid-template-columns:1fr;gap:10px;margin:0;padding:16px;list-style:none;display:grid}.product-grid:empty{display:none}.product-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;align-items:center;gap:14px;padding:12px;display:flex}.product-card:hover,.product-card:focus-visible{border-color:var(--accent);box-shadow:var(--shadow)}.product-card.archived{background:var(--sunken)}.product-card.archived .product-thumb{opacity:.55}.product-text{gap:3px;min-width:0;display:grid}.product-text b{font-family:var(--display);overflow-wrap:anywhere;font-size:15px}.product-text .mono{color:var(--muted);font-size:12px}.product-tags{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.product-tags .chip{padding:2px 8px}.product-thumb{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--sunken);flex:none;place-items:center;width:72px;height:72px;display:grid;overflow:hidden}.product-thumb.large{width:160px;height:160px}.product-thumb img{object-fit:contain;background:#fff;width:100%;height:100%}.product-letter{color:var(--accent);font-family:var(--display);font-size:28px;font-weight:700}.product-thumb.large .product-letter{font-size:56px}.product-edit{gap:16px;display:grid}.product-photo{flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;display:flex}.product-photo .product-thumb{margin-right:6px}@media (width>=640px){.form-grid{grid-template-columns:1fr 1fr}.form-grid .span-2{grid-column:span 2}.method-fields{grid-template-columns:1fr 140px}.method-fields label.checkbox{grid-column:span 2}.product-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.product-edit{grid-template-columns:180px minmax(0,1fr);align-items:start}.product-photo{flex-direction:column;align-items:stretch}.product-photo .product-thumb{margin:0 0 4px}.product-photo .button{width:100%}}.config-state{border-bottom:1px solid var(--line);color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 16px;font-size:14px;display:flex}.slot-grid{grid-template-columns:1fr;gap:10px;margin:0;padding:16px;list-style:none;display:grid}.slot-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:100%;min-height:96px;color:var(--ink);font:inherit;text-align:left;align-items:center;gap:12px;padding:12px;display:flex}button.slot-card{cursor:pointer}button.slot-card:hover,button.slot-card:focus-visible{border-color:var(--accent);box-shadow:var(--shadow)}.slot-card.off{background:var(--sunken)}.slot-card.off .product-thumb{opacity:.55}.slot-card.unset{color:var(--muted);border-style:dashed}.slot-no{background:var(--accent-soft);width:40px;height:40px;color:var(--accent);border-radius:12px;flex:none;place-items:center;font-family:Plus Jakarta Sans,Inter,sans-serif;font-size:17px;font-weight:750;display:grid}.slot-card.unset .slot-no,.slot-card.off .slot-no{color:var(--ink-soft);background:#eef0f3}.slot-card .product-thumb{width:56px;height:56px}.slot-text{flex:auto;gap:3px;min-width:0;display:grid}.slot-text b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.slot-meta{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.slot-stock{align-items:center;gap:8px;min-width:0;font-size:13px;display:flex}.slot-stock.unknown{color:var(--muted)}.slot-stock.wrong{color:var(--offline);font-weight:600}.slot-count{color:var(--ink-soft);white-space:nowrap;flex:none}.slot-count strong{color:var(--ink);font-family:Plus Jakarta Sans,Inter,sans-serif;font-size:16px;font-weight:750}.stock-bar{background:var(--line);border-radius:3px;flex:auto;min-width:24px;height:6px;overflow:hidden}.stock-bar i{background:var(--online);border-radius:3px;height:100%;display:block}.slot-stock.low .slot-count strong{color:var(--waiting-text)}.slot-stock.low .stock-bar i{background:var(--waiting)}.slot-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 10px;margin-top:2px;display:flex}.slot-price{white-space:nowrap;font-family:Plus Jakarta Sans,Inter,sans-serif;font-size:16px;font-weight:750}@media (width>=640px){.slot-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}.kiosk-actions{flex-wrap:wrap;gap:8px;width:100%;display:flex}.token-box{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--sunken);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;margin-top:12px;padding:12px 14px;font-size:13px;display:block}.stock-list{gap:8px;max-height:52vh;margin:12px 0 0;padding:0;list-style:none;display:grid;overflow-y:auto}.stock-list li{border:1px solid var(--line);border-radius:var(--radius-sm);align-items:center;gap:12px;padding:8px 10px;display:flex}.stock-list .slot-no{width:34px;height:34px;font-size:15px}.stock-name{flex:auto;gap:2px;min-width:0;font-size:14px;display:grid}.stock-name b,.stock-name span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.stock-name span{font-size:13px}.stock-list input{text-align:right;flex:0 0 84px;width:84px}.stock-history{max-height:60vh;margin-top:12px;overflow-y:auto}dialog .tabs{flex-wrap:wrap}.page-tabs{margin-bottom:16px}.content>.pending-panel+.panel,.content>.panel+.filters,.content>.pending-panel+.filters,.content>.pending-panel+.warning{margin-top:16px}.pending-panel{border-color:#f3d7a6}.pending-panel .where b{color:var(--ink)}.route-list{gap:10px;margin:0;padding:16px;list-style:none;display:grid}.route-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);gap:12px;padding:14px;display:grid}.route-main{gap:3px;min-width:0;display:grid}.route-main b{font-family:var(--display);overflow-wrap:anywhere;font-size:16px}.route-badges{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.route-need{flex-wrap:wrap;align-items:baseline;gap:4px 10px;font-size:13px;display:flex}.route-need strong{font:750 26px/1 var(--display);color:var(--accent);font-variant-numeric:tabular-nums}.route-card .button{width:100%}.visit-help{margin:0 0 12px}.visit-slots{gap:10px;margin:0;padding:0;list-style:none;display:grid}.visit-slot{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);padding:12px}.visit-slot.off{background:var(--sunken)}.visit-slot-head{align-items:center;gap:12px;min-width:0;display:flex}.visit-slot-head .product-thumb{width:48px;height:48px}.visit-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 10px;margin-top:4px;display:grid}.visit-fields input{text-align:center;font-variant-numeric:tabular-nums;min-height:52px;padding:8px;font-size:20px}.visit-slot-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:10px;display:flex}.visit-extra{gap:4px;margin-top:16px;padding:4px 16px 16px;display:grid}.visit-actions{z-index:5;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface);gap:10px;margin:8px -16px 0;display:flex;position:sticky;bottom:0}.visit-actions .button{flex:1 1 0;min-height:56px}.people-add{flex-wrap:wrap;gap:10px;padding:12px 16px 16px;display:flex}.people-add select{flex:240px;width:auto;min-width:0;max-width:100%}.people-add .hint{margin:0}.visit-extra label,.visit-fields label{color:var(--ink-soft);margin-top:12px;font-size:13px;font-weight:600;display:block}.visit-extra label>:is(input,textarea),.visit-fields label>input{margin-top:6px}@media (width>=640px){.route-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.visit-slots{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.visit-fields{grid-template-columns:repeat(4,minmax(0,1fr))}.visit-actions{border:1px solid var(--line);border-radius:var(--radius);justify-content:flex-end;margin:16px 0 0}.visit-actions .button{flex:none;min-width:180px}}.pick-list{margin:0;padding:4px 16px;list-style:none}.pick-list li{border-bottom:1px solid var(--line);align-items:center;gap:12px;min-height:52px;display:flex}.pick-list li:last-child{border-bottom:0}.pick-qty{min-width:48px;font:750 20px/1 var(--display);color:var(--ink);text-align:right;font-variant-numeric:tabular-nums;flex:none}.card-tiles .res-sub{color:var(--muted);margin-top:4px;font-size:12px;display:block}.card-list{margin:0;padding:0;list-style:none}.card-row{border-top:1px solid var(--line);grid-template-columns:44px 1fr auto;align-items:center;gap:12px;padding:14px 16px;display:grid}.card-row:first-child{border-top:0}.card-row.lost{opacity:.6}.card-face{background:linear-gradient(135deg, var(--accent), var(--ink));color:#fff;border-radius:6px;place-items:center;width:44px;height:30px;font-weight:700;display:grid}.card-row.blocked .card-face{background:var(--waiting)}.card-row.lost .card-face{background:var(--line-strong)}.card-main{flex-direction:column;gap:2px;min-width:0;display:flex}.card-actions{flex-wrap:wrap;grid-column:1/-1}.form-row{grid-template-columns:1fr 1fr 1fr;gap:10px;display:grid}.form-row.pair{grid-template-columns:1fr 1fr}@media (width<=420px){.form-row.pair{grid-template-columns:1fr}}.currency-tabs{align-self:flex-start;width:auto;max-width:100%;margin-bottom:14px}.dialog-table{max-height:50vh;margin-top:12px;overflow-y:auto}td.plus{color:var(--online-text,var(--online))}.statement input[type=month]{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);min-height:44px;font:inherit;padding:0 10px}@media (width>=760px){.card-tiles{grid-template-columns:repeat(4,1fr)}.card-actions{grid-column:auto}.card-row{grid-template-columns:44px 1fr auto auto}}@media print{.sidebar,.topbar,.page-tabs,.no-print,.hero .tools,.crumbs{display:none!important}.content{margin:0!important;padding:0!important}.panel{box-shadow:none}}.statement .card-tiles{margin:0;padding:16px 16px 0}.bell{text-decoration:none;position:relative}.bell svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.bell.active{border-color:var(--accent);color:var(--accent)}.bell-count{background:var(--offline);color:#fff;text-align:center;border-radius:999px;min-width:20px;padding:1px 5px;font-size:11px;font-weight:700;line-height:18px;position:absolute;top:-6px;right:-6px}.alert-list,.ticket-list,.ticket-events{margin:16px 0 0;padding:0;list-style:none}.alert-list{gap:12px;display:grid}.alert-card{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow);min-width:0;padding:14px 16px}.alert-card.unread{border-left:4px solid var(--accent)}.alert-card.resolved{box-shadow:none;background:var(--sunken)}.alert-card h3{font:650 16px/1.35 var(--display);overflow-wrap:anywhere;margin:8px 0 4px}.alert-card h3 a{color:var(--ink)}.alert-card p{color:var(--ink-soft);overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.5}.alert-card .actions{margin-top:10px}.alert-top{flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.new-dot{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:1px 8px;font-size:12px;font-weight:700}.panel>.ticket-list{margin:0}.ticket-list li+li{border-top:1px solid var(--line)}.ticket-row{color:var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 12px;padding:14px 16px;text-decoration:none;display:flex}.ticket-row:hover{background:var(--sunken)}.ticket-main{flex:240px;gap:4px;min-width:0;display:grid}.ticket-main b{overflow-wrap:anywhere}.ticket-badges{flex-wrap:wrap;gap:6px;display:flex}.ticket-controls{gap:12px;padding:16px;display:grid}.ticket-controls label{color:var(--ink-soft);gap:6px;font-size:13px;font-weight:600;display:grid}.ticket-controls select{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);min-height:44px;color:var(--ink);font:inherit;padding:0 12px;font-size:15px}.ticket-close{padding:0 16px 16px}.ticket-close textarea,.ticket-panel textarea{width:100%}.ticket-events{margin:0;padding:8px 16px}.ticket-events li{padding:10px 0}.ticket-events li+li{border-top:1px dashed var(--line)}.ticket-events p{margin:0;font-size:14px}.ticket-events blockquote{border-left:3px solid var(--line-strong);background:var(--sunken);white-space:pre-line;overflow-wrap:anywhere;margin:6px 0 0;padding:8px 12px;font-size:14px}.success-note{border-radius:var(--radius-sm);background:var(--online-soft);color:var(--online-text);border:1px solid #bfe8d3;margin:0 0 12px;padding:12px 14px;font-size:14px}.form-pair{gap:0 14px;display:grid}.machine-page>.panel#tickets{margin-top:16px}@media (width>=640px){.form-pair{grid-template-columns:1fr 1fr}.ticket-controls{grid-template-columns:repeat(3,minmax(0,1fr))}}.composer>.actions{padding-bottom:12px}.panel-body{padding:16px}.help-link{color:var(--accent);font:600 12px var(--display);letter-spacing:0;text-transform:none;vertical-align:middle;align-items:center;gap:4px;margin-left:10px;text-decoration:none;display:inline-flex}.help-link span{background:var(--accent-soft);border-radius:50%;place-items:center;width:18px;height:18px;font-size:11px;font-weight:700;display:inline-grid}.help-link:hover{text-decoration:underline}h2 .help-link{font-size:12px}.help-out{min-height:100vh}.help-out-top{height:var(--topbar);border-bottom:1px solid var(--line);background:var(--surface);align-items:center;gap:12px;padding:0 16px;display:flex}.help-out .content{max-width:820px;margin:0 auto}.login-help{text-align:center;margin:18px 0 0;font-size:13px}.login-help a{color:var(--muted)}.help-search{max-width:560px;margin-bottom:8px}.help-group{margin-top:22px}.help-group h2{margin-bottom:10px}.help-cards{gap:10px;margin:0;padding:0;list-style:none;display:grid}.help-card{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);height:100%;box-shadow:var(--shadow);color:var(--ink);flex-direction:column;gap:4px;padding:14px 16px;text-decoration:none;display:flex}.help-card b{font-family:var(--display);font-size:15px}.help-card span{color:var(--ink-soft);font-size:13px;line-height:1.45}.help-card:hover{border-color:var(--accent)}.help-article{max-width:760px}.help-body{color:var(--ink);font-size:15.5px;line-height:1.65}.help-body>p,.help-body li>p{max-width:68ch;margin:0 0 12px}.help-body h2{margin:28px 0 10px;font-size:19px}.help-body h3{margin:20px 0 8px;font-size:16px}.help-body code{background:var(--sunken);border-radius:6px;padding:1px 5px}.help-body ul{margin:0 0 14px;padding-left:22px}.help-body ul li{margin-bottom:6px}.help-steps{counter-reset:step;margin:0 0 16px;padding:0;list-style:none}.help-steps>li{counter-increment:step;margin:0 0 18px;padding-left:40px;position:relative}.help-steps>li:before{content:counter(step);background:var(--accent);color:#fff;width:28px;height:28px;font:700 14px var(--display);border-radius:50%;place-items:center;display:grid;position:absolute;top:0;left:0}.help-button{border:1px solid var(--line-strong);background:var(--surface);color:var(--accent);font:600 .92em var(--display);white-space:nowrap;box-shadow:0 1px 0 var(--line);border-radius:8px;padding:0 8px;display:inline-block}.help-shot{margin:8px 0 18px}.help-shot img{border:1px solid var(--line-strong);background:var(--surface);width:100%;max-width:360px;height:auto;box-shadow:var(--shadow);border-radius:18px;display:block}.help-shot figcaption{max-width:360px;color:var(--muted);margin-top:8px;font-size:13px;line-height:1.45}.help-note{border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--radius-sm);background:var(--accent-soft);margin:0 0 16px;padding:12px 14px 0}.help-note.tip{border-left-color:var(--online);background:var(--online-soft)}.help-note.careful{border-left-color:var(--waiting);background:var(--waiting-soft)}.help-note p{margin:0 0 12px}.help-back{margin-top:28px;font-size:14px}@media (width>=640px){.help-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
