@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}:root{--brand-50:#eef4f0;--brand-100:#d7e6dd;--brand-200:#b0cdbd;--brand-300:#84ad98;--brand-400:#578a72;--brand-500:#356b55;--brand-600:#245443;--brand-700:#1b4436;--brand-800:#16382d;--brand-900:#122e26;--brand-950:#0b1e18;--accent-50:#f9fdea;--accent-100:#f1fbcd;--accent-200:#e6f8a3;--accent-300:#d7f36c;--accent-400:#c7e64c;--accent-500:#aacb2f;--accent-600:#84a020;--accent-700:#627819;--gray-0:#fff;--gray-25:#fbfcf8;--gray-50:#f7f8f2;--gray-100:#eff1e9;--gray-200:#e4e7dd;--gray-300:#d0d4c7;--gray-400:#a5ab9c;--gray-500:#676d61;--gray-600:#5b6157;--gray-700:#434840;--gray-800:#2b302b;--gray-900:#1a1f1b;--gray-950:#111512;--green-50:#e9f7ec;--green-500:#23914a;--green-700:#1a6b37;--amber-50:#fff6d6;--amber-500:#d9a106;--amber-700:#8a6400;--orange-50:#ffeedf;--orange-500:#ec7a26;--orange-700:#a84a0c;--red-50:#fdeceb;--red-500:#d63b33;--red-600:#b42a23;--red-700:#941f19;--blue-50:#eaf1fd;--blue-500:#2f6fdb;--blue-700:#1f4f9f;--violet-50:#f1ecfd;--violet-500:#7c55d6;--color-bg:var(--gray-50);--color-surface:var(--gray-0);--color-surface-raised:var(--gray-0);--color-surface-sunken:var(--gray-100);--color-border:var(--gray-200);--color-border-strong:var(--gray-300);--color-text:var(--brand-950);--color-text-muted:var(--gray-600);--color-text-subtle:var(--gray-500);--color-text-inverse:var(--gray-0);--color-heading:var(--brand-900);--color-primary:var(--brand-900);--color-primary-hover:var(--brand-700);--color-primary-soft:var(--brand-50);--color-primary-text:var(--brand-600);--color-on-primary:var(--gray-0);--color-accent:var(--accent-300);--color-accent-hover:var(--accent-400);--color-accent-soft:var(--accent-100);--color-on-accent:var(--brand-900);--color-on-accent-soft:var(--brand-800);--color-chart:var(--brand-900);--color-success:var(--green-500);--color-success-soft:var(--green-50);--color-success-text:var(--green-700);--color-warning:var(--amber-500);--color-warning-soft:var(--amber-50);--color-warning-text:var(--amber-700);--color-attention:var(--orange-500);--color-attention-soft:var(--orange-50);--color-attention-text:var(--orange-700);--color-danger:var(--red-500);--color-danger-hover:var(--red-600);--color-danger-soft:var(--red-50);--color-danger-text:var(--red-700);--color-info:var(--blue-500);--color-info-soft:var(--blue-50);--color-info-text:var(--blue-700);--color-focus:var(--brand-400);--color-overlay:#0b1e1873;--color-sidebar:var(--brand-900);--color-sidebar-text:#c9dbd2;--color-sidebar-muted:#8aa79a;--color-sidebar-hover:#ffffff12;--color-sidebar-active:var(--accent-300);--color-sidebar-active-text:var(--brand-900);--font-sans:"Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, "Cascadia Code", "SFMono-Regular", Consolas, monospace;--text-xs:.75rem;--text-sm:.8125rem;--text-md:.9375rem;--text-lg:1.0625rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-3xl:2.125rem;--weight-regular:420;--weight-medium:530;--weight-semibold:630;--weight-bold:740;--leading-tight:1.2;--leading-normal:1.5;--tracking-tight:-.02em;--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;--radius-sm:8px;--radius-md:10px;--radius-lg:12px;--radius-xl:14px;--radius-full:999px;--control-height:40px;--control-height-sm:32px;--touch-target:56px;--sidebar-width:248px;--content-max:1360px;--shadow-xs:0 1px 2px #122e260d;--shadow-sm:0 1px 3px #122e2612, 0 1px 2px #122e260a;--shadow-md:0 8px 20px -6px #122e261f, 0 2px 4px #122e260a;--shadow-lg:0 20px 44px -14px #122e2647;--ring:0 0 0 3px color-mix(in srgb, var(--color-focus) 40%, transparent);--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--duration-fast:.12s;--duration-base:.2s;--duration-slow:.32s;--z-sticky:10;--z-overlay:40;--z-toast:50;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#0c1511;--color-surface:#131f1a;--color-surface-raised:#1a2922;--color-surface-sunken:#09110e;--color-border:#24352d;--color-border-strong:#33493e;--color-text:#eef3ef;--color-text-muted:#a7b7ad;--color-text-subtle:#7d8f84;--color-heading:#f4f8f4;--color-primary:var(--accent-300);--color-primary-hover:var(--accent-200);--color-primary-soft:color-mix(in srgb, var(--accent-300) 14%, transparent);--color-primary-text:var(--accent-300);--color-on-primary:var(--brand-900);--color-accent-soft:color-mix(in srgb, var(--accent-300) 16%, transparent);--color-on-accent-soft:var(--accent-300);--color-chart:#9fc2b1;--color-success-soft:color-mix(in srgb, var(--green-500) 20%, transparent);--color-success-text:#7fd59b;--color-warning-soft:color-mix(in srgb, var(--amber-500) 20%, transparent);--color-warning-text:#f1cd62;--color-attention-soft:color-mix(in srgb, var(--orange-500) 20%, transparent);--color-attention-text:#f8a86b;--color-danger-soft:color-mix(in srgb, var(--red-500) 20%, transparent);--color-danger-text:#f59a94;--color-info-soft:color-mix(in srgb, var(--blue-500) 20%, transparent);--color-info-text:#94b7f1;--color-overlay:#0009;--color-sidebar:#0a1814;--shadow-md:0 8px 20px -6px #00000080;--shadow-lg:0 20px 44px -14px #000000b3}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#0c1511;--color-surface:#131f1a;--color-surface-raised:#1a2922;--color-surface-sunken:#09110e;--color-border:#24352d;--color-border-strong:#33493e;--color-text:#eef3ef;--color-text-muted:#a7b7ad;--color-text-subtle:#7d8f84;--color-heading:#f4f8f4;--color-primary:var(--accent-300);--color-primary-hover:var(--accent-200);--color-primary-soft:color-mix(in srgb, var(--accent-300) 14%, transparent);--color-primary-text:var(--accent-300);--color-on-primary:var(--brand-900);--color-accent-soft:color-mix(in srgb, var(--accent-300) 16%, transparent);--color-on-accent-soft:var(--accent-300);--color-chart:#9fc2b1;--color-success-soft:color-mix(in srgb, var(--green-500) 20%, transparent);--color-success-text:#7fd59b;--color-warning-soft:color-mix(in srgb, var(--amber-500) 20%, transparent);--color-warning-text:#f1cd62;--color-attention-soft:color-mix(in srgb, var(--orange-500) 20%, transparent);--color-attention-text:#f8a86b;--color-danger-soft:color-mix(in srgb, var(--red-500) 20%, transparent);--color-danger-text:#f59a94;--color-info-soft:color-mix(in srgb, var(--blue-500) 20%, transparent);--color-info-text:#94b7f1;--color-overlay:#0009;--color-sidebar:#0a1814;--shadow-md:0 8px 20px -6px #00000080;--shadow-lg:0 20px 44px -14px #000000b3}@media (prefers-reduced-motion:reduce){:root{--duration-fast:0s;--duration-base:0s;--duration-slow:0s}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-size:var(--text-md);font-weight:var(--weight-regular);line-height:var(--leading-normal);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;font-feature-settings:"cv11", "ss01";margin:0}h1,h2,h3{line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);margin:0}h1{font-size:var(--text-2xl);font-weight:var(--weight-bold);letter-spacing:-.025em;color:var(--color-heading)}h2{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-heading)}h3{font-size:var(--text-md);font-weight:var(--weight-semibold)}p{margin:0}a{color:var(--color-primary-text)}img{max-width:100%}input,select,textarea,button{font:inherit;color:inherit}input:not([type=checkbox],[type=radio],[type=file]),select,textarea{height:var(--control-height);padding:0 var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);min-width:0;transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out)}textarea{height:auto;padding:var(--space-2) var(--space-3)}input:hover:not(:disabled),select:hover:not(:disabled){border-color:var(--color-text-subtle)}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--brand-500);box-shadow:var(--ring);outline:none}input::placeholder,textarea::placeholder{color:var(--color-text-subtle)}input:disabled,select:disabled,textarea:disabled{background:var(--color-surface-sunken);color:var(--color-text-muted)}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--color-danger)}input[type=checkbox],input[type=radio]{width:18px;height:18px;accent-color:var(--color-primary)}:focus-visible{box-shadow:var(--ring);border-radius:var(--radius-sm);outline:none}::selection{background:var(--color-accent-soft)}.muted{color:var(--color-text-muted)}.small{font-size:var(--text-sm)}.num{font-variant-numeric:tabular-nums}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.btn{justify-content:center;align-items:center;gap:var(--space-2);height:var(--control-height);padding:0 var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-weight:var(--weight-semibold);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);display:inline-flex}.btn:hover:not(:disabled){background:var(--color-surface-sunken)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary:disabled:not([aria-busy]),.btn-accent:disabled:not([aria-busy]){opacity:1;background:var(--color-surface-sunken);border-color:var(--color-border);color:var(--color-text-subtle);box-shadow:none}.btn svg{flex:none;width:16px;height:16px}.btn-primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-xs)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-accent{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}.btn-accent:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn-danger{background:var(--color-danger);border-color:var(--color-danger);color:var(--gray-0)}.btn-danger:hover:not(:disabled){background:var(--color-danger-hover)}.btn-ghost{color:var(--color-text-muted);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--color-surface-sunken);color:var(--color-text)}.btn-ghost.btn-danger-text:hover:not(:disabled){color:var(--color-danger);background:var(--color-danger-soft)}.btn-sm{height:var(--control-height-sm);padding:0 var(--space-3);font-size:var(--text-sm)}.btn-icon{width:var(--control-height);padding:0}.btn-sm.btn-icon{width:var(--control-height-sm)}.btn-block{width:100%}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.card-header{align-items:center;gap:var(--space-3);min-height:60px;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.card-header h2{align-items:center;gap:var(--space-2);font-size:var(--text-lg);font-weight:var(--weight-bold);letter-spacing:-.015em;display:flex}.card-header h2>svg{width:20px;height:20px;color:var(--color-on-accent-soft);flex:none}.card-header h2{flex:1}.card-body{padding:var(--space-5);gap:var(--space-4);display:grid}.card-body.flush{padding:0;overflow-x:auto}.page-header{align-items:flex-end;gap:var(--space-3) var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.page-header h1{font-size:var(--text-3xl);letter-spacing:-.03em}.page-header>div{gap:var(--space-1);flex:1;min-width:240px;display:grid}.page-header p{color:var(--color-text-muted);font-size:var(--text-lg);max-width:70ch}.page-header>.btn,.page-header>.row{margin-bottom:2px}.badge{align-items:center;gap:var(--space-1);height:24px;padding:0 var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-semibold);background:var(--color-surface-sunken);color:var(--color-text-muted);white-space:nowrap;display:inline-flex}.badge-success{background:var(--color-success-soft);color:var(--color-success-text)}.badge-warning{background:var(--color-warning-soft);color:var(--color-warning-text)}.badge-attention{background:var(--color-attention-soft);color:var(--color-attention-text)}.badge-danger{background:var(--color-danger-soft);color:var(--color-danger-text)}.badge-info{background:var(--color-info-soft);color:var(--color-info-text)}.badge-primary{background:var(--color-accent-soft);color:var(--color-on-accent-soft)}.badge .dot{background:currentColor;border-radius:50%;width:6px;height:6px}.field{gap:var(--space-1);min-width:0;display:grid}.field label,.field-group{gap:var(--space-1);display:grid}.field label>span:first-child,.field .field-label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text)}.field-hint{font-size:var(--text-sm);color:var(--color-text-muted)}.field-error,.error{font-size:var(--text-sm);color:var(--color-danger)}.check{align-items:center;gap:var(--space-2);cursor:pointer;display:inline-flex}fieldset{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);gap:var(--space-3);min-width:0;margin:0;display:grid}legend{padding:0 var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-muted)}.form{gap:var(--space-4);display:grid}.form-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));display:grid}.form-actions{gap:var(--space-2);padding-top:var(--space-2);justify-content:flex-end;display:flex}.row{gap:var(--space-2);flex-wrap:wrap;align-items:flex-end;display:flex}.inline-form{gap:var(--space-2);flex-wrap:wrap;display:flex}.inline-form input{flex:1;min-width:140px}.inline-form .error{flex-basis:100%}input.narrow{width:6em}input.narrow-wide{width:9em}.empty{justify-items:center;gap:var(--space-2);padding:var(--space-10) var(--space-6);text-align:center;display:grid}.empty-icon{border-radius:var(--radius-xl);background:var(--color-accent-soft);width:56px;height:56px;color:var(--color-on-accent-soft);margin-bottom:var(--space-2);place-items:center;display:grid}.empty-icon svg{width:24px;height:24px}.empty p{color:var(--color-text-muted);max-width:44ch}.empty .btn{margin-top:var(--space-2)}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--color-surface-sunken) 25%, var(--color-border) 50%, var(--color-surface-sunken) 75%);background-size:200% 100%;animation:1.2s ease-in-out infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.list{padding:var(--space-2);gap:2px;margin:0;list-style:none;display:grid}.list li{align-items:center;gap:var(--space-2);min-height:44px;padding:var(--space-1) var(--space-2) var(--space-1) var(--space-3);border-radius:var(--radius-md);transition:background var(--duration-fast) var(--ease-out);display:flex}.list li:hover{background:var(--color-surface-sunken)}.list li.selected{background:var(--color-accent-soft);box-shadow:inset 3px 0 0 var(--color-accent)}.list li.selected .list-main{color:var(--color-on-accent-soft);font-weight:var(--weight-semibold)}.list-main{align-items:center;gap:var(--space-2);min-width:0;padding:var(--space-2) 0;text-align:left;cursor:pointer;text-overflow:ellipsis;background:0 0;border:0;flex:1;display:flex;overflow:hidden}.count{color:var(--color-text-subtle);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.row-actions{opacity:.0001;transition:opacity var(--duration-fast) var(--ease-out);gap:2px;display:flex}.list li:hover .row-actions,.list li:focus-within .row-actions,.list li.selected .row-actions,.table tr:hover .row-actions,.table tr:focus-within .row-actions{opacity:1}@media (hover:none){.row-actions{opacity:1}}.table{border-collapse:collapse;width:100%}.table th{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-muted);text-align:left;padding:var(--space-3) var(--space-5);background:var(--color-surface-sunken);border-bottom:1px solid var(--color-border);white-space:nowrap}.table td{padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--color-border);vertical-align:middle;font-variant-numeric:tabular-nums}.table tr:last-child td{border-bottom:0}.table tbody tr{transition:background var(--duration-fast) var(--ease-out)}.table tbody tr:hover{background:var(--color-surface-sunken)}.table .num{text-align:right}.table .actions-cell{white-space:nowrap;text-align:right;width:1%}.cell-title{align-items:center;gap:var(--space-3);font-weight:var(--weight-medium);display:flex}.cell-sub{font-size:var(--text-sm);color:var(--color-text-muted);font-weight:var(--weight-regular)}.thumb{object-fit:cover;border-radius:var(--radius-md);background:var(--color-surface-sunken);flex:none;width:44px;height:44px}.thumb-placeholder{color:var(--color-text-subtle);place-items:center;display:grid}.thumb-placeholder svg{width:18px;height:18px}.preview{border-radius:var(--radius-md);max-width:180px}.tabs{gap:var(--space-1);margin-bottom:var(--space-5);padding:var(--space-1);background:var(--color-surface-sunken);border-radius:var(--radius-lg);width:fit-content;max-width:100%;display:flex;overflow-x:auto}.tabs a,.tabs button{align-items:center;gap:var(--space-2);min-height:36px;padding:var(--space-2) var(--space-5);border-radius:var(--radius-md);color:var(--color-text-muted);font-weight:var(--weight-medium);white-space:nowrap;transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);text-decoration:none;display:inline-flex}.tabs button{font:inherit;cursor:pointer;background:0 0;border:0}.tabs a:hover,.tabs button:hover{color:var(--color-text)}.tabs a.active,.tabs button.active,.tabs [aria-selected=true]{background:var(--color-primary);color:var(--color-on-primary);font-weight:var(--weight-semibold);box-shadow:var(--shadow-sm)}.dialog{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface-raised);color:var(--color-text);box-shadow:var(--shadow-lg);width:min(440px,100vw - 32px);padding:0}.dialog::backdrop{background:var(--color-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.dialog[open]{animation:pop var(--duration-base) var(--ease-out)}.dialog-body{padding:var(--space-6);gap:var(--space-3);display:grid}.dialog-icon{border-radius:var(--radius-full);background:var(--color-danger-soft);width:44px;height:44px;color:var(--color-danger);place-items:center;display:grid}.dialog-icon.info{background:var(--color-primary-soft);color:var(--color-primary-text)}.dialog-actions{justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-6);background:var(--color-surface-sunken);border-radius:0 0 var(--radius-xl) var(--radius-xl);display:flex}@keyframes pop{0%{opacity:0;transform:translateY(8px)scale(.98)}}.toasts{right:var(--space-5);z-index:var(--z-toast);gap:var(--space-2);width:min(360px,100vw - 32px);display:grid;position:fixed;top:84px}.toast{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--brand-900);color:var(--gray-0);box-shadow:var(--shadow-lg);animation:pop var(--duration-base) var(--ease-out);display:flex}.toast svg{flex:none;width:18px;height:18px;margin-top:2px}.toast-success svg{color:var(--accent-300)}.toast-error svg{color:#ff8a8a}.toast p{flex:1}.stack{gap:var(--space-5);align-content:start;display:grid}.table-scroll{overflow-x:auto}.audit-details{overflow-wrap:anywhere;white-space:pre-wrap;padding:var(--space-3);background:var(--color-surface-sunken);border-radius:var(--radius-md);font-size:var(--text-sm)}.platform .list details{width:100%;min-width:0}.platform .list summary{cursor:pointer}.platform .bill>div{justify-content:space-between;gap:var(--space-2);flex-wrap:wrap;display:flex}.platform .bill dd{overflow-wrap:anywhere;margin:0}.support-workspace{margin-bottom:var(--space-6);border-color:var(--color-warning)}.narrow-page{max-width:760px}.card-intro{padding:var(--space-4) var(--space-5) 0}.card-footer{padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border);background:var(--color-surface-sunken);border-radius:0 0 var(--radius-xl) var(--radius-xl)}.switches{gap:var(--space-6);flex-wrap:wrap;display:flex}.form-grid.two{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.translatable{grid-template-columns:1fr 1fr}.translatable legend{grid-column:1/-1}.lang-input{display:block;position:relative}.lang-input input{width:100%;padding-left:46px}.lang-chip{border-radius:var(--radius-sm);background:var(--color-surface-sunken);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.04em;pointer-events:none;padding:2px 6px;position:absolute;top:50%;left:8px;transform:translateY(-50%)}.chips{gap:var(--space-1);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.chip{align-items:center;gap:var(--space-1);padding:2px var(--space-3);border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface);font-size:var(--text-sm);color:var(--color-text-muted);display:inline-flex}.chip b{font-weight:var(--weight-semibold);color:var(--color-text)}.chip.off{opacity:.6;text-decoration:line-through}.list-main.as-text{cursor:default}.list-icon{width:18px;height:18px;color:var(--color-text-subtle)}.inline-icon{vertical-align:-2px;width:14px;height:14px}.table-grid{gap:var(--space-3);padding:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(190px,1fr));display:grid}.table-tile{gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-xl);border:1.5px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-xs);transition:box-shadow var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out);display:grid;position:relative}.table-tile.status-occupied{background:var(--color-accent-soft);border-color:var(--accent-400)}.table-tile.status-reserved{background:var(--violet-50);border-color:var(--violet-500)}.table-tile:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.table-tile header{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.table-tile header strong{font-size:var(--text-xl);letter-spacing:var(--tracking-tight)}.table-tile footer{margin:var(--space-1) calc(var(--space-2) * -1) calc(var(--space-2) * -1);align-items:center;gap:2px;display:flex}.table-tile footer .row-actions{opacity:1;margin-left:auto}.lock{color:var(--color-warning-text);font-weight:var(--weight-medium)}.dialog-form{width:min(520px,100vw - 32px)}.dialog-header{align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-6) 0;display:flex}.dialog-header h2{flex:1}.row-muted{opacity:.6}.avatar-soft{background:var(--color-primary-soft);color:var(--color-primary-text)}.tile.static:hover{border-color:var(--color-border);box-shadow:var(--shadow-xs);transform:none}.tile-footer{align-items:center;gap:var(--space-1);margin-top:var(--space-3);display:flex}.tile-footer .row-actions{opacity:1}.permission-groups{gap:var(--space-3);max-height:46vh;padding-right:var(--space-1);display:grid;overflow-y:auto}.permission-groups legend .check{color:var(--color-text)}.plan-hero{gap:var(--space-6);padding:var(--space-8);border-radius:var(--radius-xl);color:var(--gray-0);background:radial-gradient(circle at 90% 10%, color-mix(in srgb, var(--accent-300) 26%, transparent), transparent 40%), var(--brand-900);box-shadow:var(--shadow-md);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;display:flex}.plan-hero.plan-expired,.plan-hero.plan-missing{background:linear-gradient(135deg,#7a2b2b,#3d1616)}.plan-hero h2{font-size:var(--text-3xl);margin-top:var(--space-3);color:inherit}.plan-hero p{opacity:.8;max-width:50ch;margin-top:var(--space-2)}.plan-hero .badge{color:var(--gray-0);background:#ffffff29}.plan-hero dl{gap:var(--space-8);flex-wrap:wrap;margin:0;display:flex}.plan-hero dt{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;opacity:.7}.plan-hero dd{margin:var(--space-1) 0 0;font-size:var(--text-lg);font-weight:var(--weight-semibold)}.meters{gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.meter{gap:var(--space-2);display:grid}.meter-head{justify-content:space-between;gap:var(--space-2);display:flex}.meter-head strong{font-variant-numeric:tabular-nums}.meter-bar{border-radius:var(--radius-full);background:var(--color-surface-sunken);height:8px;overflow:hidden}.meter-bar span{border-radius:inherit;background:var(--color-primary);height:100%;transition:width var(--duration-slow) var(--ease-out);display:block}.meter-warning span{background:var(--color-warning)}.meter-danger span{background:var(--color-danger)}.module-list{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin:0;padding:0;list-style:none;display:grid}.module-list li{align-items:center;gap:var(--space-2);display:flex}.module-list svg{width:18px;height:18px}.module-list .on svg{color:var(--color-success)}.module-list .off{color:var(--color-text-subtle)}.settings-grid{gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.span-2{grid-column:1/-1}.receipt-editor{gap:var(--space-6);grid-template-columns:1fr 280px;align-items:start;display:grid}.receipt-preview{gap:var(--space-2);padding:var(--space-5) var(--space-4);color:#2a2a26;font-family:var(--font-mono);font-size:var(--text-sm);text-align:center;border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding-bottom:var(--space-6);background:#fffef9;display:grid;-webkit-mask:radial-gradient(6px at 50% 100%,#0000 98%,#000) 50%/12px 100%;mask:radial-gradient(6px at 50% 100%,#0000 98%,#000) 50%/12px 100%}.receipt-preview p{white-space:pre-line}.receipt-preview hr{border:0;border-top:1px dashed #b9b9b0;width:100%}.receipt-icon{color:#8a8a80;justify-self:center;width:22px;height:22px}.receipt-line{justify-content:space-between;gap:var(--space-2);text-align:left;display:flex}.receipt-line.total{font-weight:var(--weight-bold)}@media (width<=960px){.settings-grid,.receipt-editor{grid-template-columns:1fr}}.filters{align-items:flex-end;gap:var(--space-3) var(--space-4);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.filters .field{min-width:160px}.pager{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.table.loading{opacity:.6}.table tr.clickable{cursor:pointer}.link-button{font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.order-no{font-size:var(--text-lg);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.note-box{gap:var(--space-1);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface-sunken);border:1px solid var(--color-border);display:grid}.drawer{border-radius:var(--radius-xl) 0 0 var(--radius-xl);background:var(--color-surface-raised);width:min(480px,100vw);height:100vh;max-height:100vh;color:var(--color-text);box-shadow:var(--shadow-lg);border:0;margin:0 0 0 auto;padding:0}.drawer::backdrop{background:var(--color-overlay)}.drawer[open]{animation:slide-in var(--duration-slow) var(--ease-out)}@keyframes slide-in{0%{opacity:0;transform:translate(32px)}}.drawer-inner{flex-direction:column;height:100%;display:flex}.drawer-header{align-items:flex-start;gap:var(--space-3);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border);display:flex}.drawer-header>div{flex:1}.drawer-header h2{font-size:var(--text-xl)}.drawer-body{padding:var(--space-5) var(--space-6);gap:var(--space-5);flex:1;align-content:start;display:grid;overflow-y:auto}.drawer-footer{justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border);background:var(--color-surface);flex-wrap:wrap;display:flex}.drawer-footer:empty{display:none}.drawer-section{gap:var(--space-3);display:grid}.drawer-section h3{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-subtle)}.bill{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.bill li{justify-content:space-between;gap:var(--space-3);display:flex}.bill .qty{color:var(--color-text-muted);font-variant-numeric:tabular-nums}.totals{gap:var(--space-1) var(--space-4);padding-top:var(--space-3);border-top:1px dashed var(--color-border-strong);grid-template-columns:1fr auto;margin:0;display:grid}.totals dd{text-align:right;font-variant-numeric:tabular-nums;margin:0}.totals .grand{font-size:var(--text-lg);font-weight:var(--weight-bold)}.timeline{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid;position:relative}.timeline li{gap:var(--space-3);display:flex}.timeline .dot{background:var(--color-primary);width:10px;height:10px;box-shadow:0 0 0 4px var(--color-primary-soft);border-radius:50%;flex:none;margin-top:6px}.bill .cell-sub{display:block}.shell.platform{--color-sidebar:#1d1530;--color-sidebar-text:#ddd5f0}.platform-flag{align-items:center;gap:var(--space-2);padding:4px var(--space-3);border-radius:var(--radius-full);color:#4b2c91;font-size:var(--text-sm);font-weight:var(--weight-semibold);background:#ede7fb;display:inline-flex}.platform-flag svg{width:16px;height:16px}.platform-login .login-hero{background:radial-gradient(circle at 20% 20%, #8b5cf673, transparent 45%), radial-gradient(circle at 80% 85%, color-mix(in srgb, var(--accent-300) 18%, transparent), transparent 40%), #1d1530}.divider{align-items:center;gap:var(--space-3);color:var(--color-text-subtle);font-size:var(--text-sm);display:flex}.divider:before,.divider:after{content:"";border-top:1px solid var(--color-border);flex:1}.segmented{padding:var(--space-1);border-radius:var(--radius-lg);background:var(--color-surface-sunken);display:flex}.segmented button{min-height:36px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-weight:var(--weight-medium);color:var(--color-text-muted);cursor:pointer;transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);background:0 0;border:0;flex:1}.segmented button:hover:not(:disabled){color:var(--color-text)}.segmented button[aria-pressed=true],.segmented button[aria-checked=true]{background:var(--color-accent);color:var(--color-on-accent);font-weight:var(--weight-semibold);box-shadow:var(--shadow-xs)}.recovery-card{margin-bottom:var(--space-6);border-color:var(--color-warning)}.recovery-grid{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));margin:0;padding:0;list-style:none;display:grid}.recovery-grid li{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-surface-sunken);font-family:var(--font-mono)}.search-input{display:block;position:relative}.search-input svg{width:16px;height:16px;color:var(--color-text-subtle);position:absolute;top:50%;left:10px;transform:translateY(-50%)}.search-input input{width:100%;padding-left:34px}.grow-field{flex:1;min-width:240px}.check-grid{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(160px,1fr));display:grid}.price-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.price-card{gap:var(--space-4);padding:var(--space-6);border-radius:var(--radius-xl);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-xs);transition:transform var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out);align-content:start;display:grid;position:relative}.price-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.price-card.recommended{border:2px solid var(--color-primary)}.price-card.archived{opacity:.65}.price-card header{gap:var(--space-2);display:grid}.price-card h2{font-size:var(--text-xl)}.ribbon{top:-12px;right:var(--space-5);align-items:center;gap:var(--space-1);padding:4px var(--space-3);border-radius:var(--radius-full);background:var(--color-primary);color:var(--color-on-primary);font-size:var(--text-xs);font-weight:var(--weight-semibold);display:inline-flex;position:absolute}.ribbon svg{width:14px;height:14px}.price{gap:var(--space-1);display:grid}.price strong{font-size:var(--text-3xl);letter-spacing:var(--tracking-tight)}.price-limits{padding:var(--space-3) 0 0;border-top:1px solid var(--color-border);gap:var(--space-2);margin:0;list-style:none;display:grid}.price-limits li{font-size:var(--text-sm);justify-content:space-between;display:flex}.price-card footer{align-items:center;gap:var(--space-1);display:flex}.plan-hero.plan-grace{background:radial-gradient(circle at 90% 10%,#ffffff2e,#0000 40%),linear-gradient(135deg,#9a5b05,#5a3402)}.tabs .count{margin-left:var(--space-2)}.billing-section{gap:var(--space-4);margin:var(--space-8) 0;display:grid}.billing-section>header h2{font-size:var(--text-xl)}.plan-toggle{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.plan-toggle .segmented{min-width:240px}.price-card.current{outline:2px dashed var(--color-border-strong);outline-offset:4px}.feature-list{gap:var(--space-2);font-size:var(--text-sm);margin:0;padding:0;list-style:none;display:grid}.feature-list li{align-items:center;gap:var(--space-2);display:flex}.feature-list svg{width:16px;height:16px;color:var(--color-success);flex:none}.result-banner{align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-5);padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);animation:rise var(--duration-slow) var(--ease-out);border:1px solid #0000;display:flex}.result-banner>div{gap:var(--space-1);flex:1;display:grid}.result-banner p{color:var(--color-text-muted);margin:0}.result-banner>svg{flex:none;width:24px;height:24px}.result-success{background:var(--color-success-soft);border-color:color-mix(in srgb, var(--color-success) 35%, transparent)}.result-success>svg{color:var(--color-success)}.result-waiting{background:var(--color-warning-soft);border-color:color-mix(in srgb, var(--color-warning) 35%, transparent)}.result-waiting>svg{color:var(--color-warning)}.result-failed{background:var(--color-danger-soft);border-color:color-mix(in srgb, var(--color-danger) 35%, transparent)}.result-failed>svg{color:var(--color-danger)}.spin{animation:1s linear infinite spin}.steps{gap:var(--space-2);margin:0 0 var(--space-4);counter-reset:step;font-size:var(--text-sm);padding:0;list-style:none;display:flex}.steps li{align-items:center;gap:var(--space-2);color:var(--color-text-subtle);counter-increment:step;flex:1;display:flex}.steps li:before{content:counter(step);border-radius:var(--radius-full);background:var(--color-surface-sunken);width:22px;height:22px;font-size:var(--text-xs);font-weight:var(--weight-semibold);flex:none;place-items:center;display:grid}.steps li.done,.steps li.current{color:var(--color-text);font-weight:var(--weight-medium)}.steps li.done:before{content:"✓";background:var(--color-success);color:var(--gray-0)}.steps li.current:before{background:var(--color-primary);color:var(--color-on-primary)}.bill .bill-total{padding-top:var(--space-2);border-top:1px solid var(--color-border);font-size:var(--text-lg)}.card-visual{gap:var(--space-3);aspect-ratio:1.586;width:100%;max-width:340px;margin:0 auto var(--space-2);padding:var(--space-5);border-radius:var(--radius-lg);color:var(--gray-0);background:radial-gradient(circle at 85% 15%, #ffffff38, transparent 45%), linear-gradient(135deg, var(--gray-700), var(--gray-900));box-shadow:var(--shadow-lg);font-family:var(--font-mono);transition:background var(--duration-slow) var(--ease-out);grid-template-rows:auto 1fr auto;display:grid;position:relative}.card-visual.brand-visa{background:radial-gradient(circle at 85% 15%,#ffffff38,#0000 45%),linear-gradient(135deg,#1a3fa0,#0b1d4f)}.card-visual.brand-mastercard{background:radial-gradient(circle at 85% 15%,#ffffff2e,#0000 45%),linear-gradient(135deg,#b8471b,#3d1408)}.card-visual.brand-troy{background:radial-gradient(circle at 85% 15%, #fff3, transparent 45%), linear-gradient(135deg, var(--brand-500), var(--brand-900))}.card-chip{background:linear-gradient(135deg,#f6d27a,#b98d2c);border-radius:6px;width:40px;height:30px}.card-brand{top:var(--space-5);right:var(--space-5);font-family:var(--font-sans);font-weight:var(--weight-bold);letter-spacing:.02em;font-style:italic;position:absolute}.card-number{letter-spacing:.08em;white-space:nowrap;align-self:center;font-size:clamp(1rem,4.5vw,1.35rem)}.card-meta{justify-content:space-between;gap:var(--space-3);font-size:var(--text-xs);text-transform:uppercase;opacity:.85;display:flex}.card-meta span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fieldset{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);margin:0;display:grid}.fieldset legend{padding:0 var(--space-2);font-weight:var(--weight-semibold)}.secure-note{justify-content:center;align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--text-sm);text-align:center;margin:0;display:flex}.secure-note svg{width:16px;height:16px;color:var(--color-success);flex:none}.bank-account,.bank-account-edit{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);display:flex}.bank-account>svg,.bank-account-edit>svg{width:22px;height:22px;color:var(--color-primary);flex:none}.bank-account>div{flex:1;gap:2px;min-width:0;display:grid}.bank-account code{font-family:var(--font-mono);font-size:var(--text-md);letter-spacing:.04em;overflow-wrap:anywhere}.bank-account-edit>.form-grid{flex:1}.form-grid.three{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.gateway-status{gap:var(--space-4);justify-items:start;display:grid}.facts.kv>div{display:contents}.price-main{align-items:baseline;gap:var(--space-2);flex-wrap:wrap;display:flex}.billing-table .cell-sub{display:block}.text-warning{color:var(--color-warning)}.factor-list{gap:var(--space-3);flex-wrap:wrap;display:flex}.factor-list span{align-items:center;gap:var(--space-1);display:inline-flex}.factor-list svg{width:15px;height:15px;color:var(--color-success)}.review-list{gap:var(--space-4);margin:0;padding:0;list-style:none;display:grid}.review-list li{gap:var(--space-1);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border);display:grid}.review-list li:last-child{border-bottom:0;padding-bottom:0}.review-list p{white-space:pre-wrap;margin:0}.secret-meta{gap:var(--space-2);flex-wrap:wrap;display:flex}.chips .chip[aria-pressed]{cursor:pointer;background:var(--color-surface);padding:var(--space-1) var(--space-3);font:inherit;font-size:var(--text-sm)}.chips .chip[aria-pressed=true]{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent);font-weight:var(--weight-semibold)}.kitchen .chips{margin:0 0 var(--space-5)}.kitchen .chips .chip[aria-pressed]{min-height:44px;padding:0 var(--space-5);border-radius:var(--radius-lg);font-size:var(--text-md)}.kitchen-board{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start;display:grid}.kitchen-column{gap:var(--space-3);align-content:start;min-height:200px;display:grid}.kitchen-column>header{align-items:center;gap:var(--space-3);min-height:64px;padding:var(--space-3) var(--space-5);border-radius:var(--radius-lg);background:var(--color-surface-sunken);display:flex}.kitchen-column>header h2{font-size:var(--text-xl);font-weight:var(--weight-bold);flex:1}.kitchen-column>header .count{font-size:var(--text-xl);font-weight:var(--weight-bold);color:inherit}.kitchen-column>header svg{width:24px;height:24px}.kitchen-pending>header{background:var(--color-attention-soft);color:var(--color-attention-text)}.kitchen-in_kitchen>header{background:var(--color-warning-soft);color:var(--color-warning-text)}.kitchen-ready>header{background:var(--color-accent-soft);color:var(--color-on-accent-soft)}.kitchen-pending>header h2,.kitchen-in_kitchen>header h2,.kitchen-ready>header h2{color:inherit}.ticket{gap:var(--space-3);padding:var(--space-4) var(--space-5) var(--space-5);border-radius:var(--radius-xl);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);animation:rise var(--duration-slow) var(--ease-out);display:grid}.ticket.late .ticket-age{color:var(--color-attention-text)}.ticket.very-late{border-color:color-mix(in srgb, var(--red-500) 45%, var(--color-border))}.ticket.very-late .ticket-age{color:var(--color-danger-text)}.ticket>header{justify-content:space-between;align-items:flex-start;gap:var(--space-2);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border);display:flex}.ticket-table{font-size:var(--text-2xl);font-weight:var(--weight-bold);letter-spacing:-.025em;color:var(--color-heading);display:block}.ticket-age{font-size:var(--text-lg);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;color:var(--color-text-muted);white-space:nowrap;justify-items:end;gap:2px;display:grid}.ticket-age>span{align-items:center;gap:var(--space-1);display:inline-flex}.ticket-age small{font-size:var(--text-xs);font-weight:var(--weight-semibold)}.ticket-age svg{width:18px;height:18px}.ticket-note svg{flex:none;width:18px;height:18px}.ticket-note{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-attention-soft);color:var(--color-attention-text);font-weight:var(--weight-semibold);margin:0;display:flex}.ticket-items{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.ticket-item>button,.ticket-item>div{align-items:start;gap:var(--space-3);width:100%;padding:var(--space-2);border-radius:var(--radius-sm);font:inherit;text-align:left;color:inherit;background:0 0;border:0;grid-template-columns:auto 1fr auto;display:grid}.ticket-item>button{cursor:pointer;min-height:44px}.ticket-item>button:hover{background:var(--color-surface-sunken)}.ticket-item.item-ready .ticket-name,.ticket-item.item-cancelled .ticket-name{color:var(--color-text-muted);text-decoration:line-through}.ticket-qty{font-weight:var(--weight-bold);font-size:var(--text-xl);font-variant-numeric:tabular-nums;min-width:2.5ch}.ticket-name{font-size:var(--text-lg);font-weight:var(--weight-medium);gap:2px;display:grid}.ticket-mods{font-size:var(--text-sm);color:var(--color-text-muted);font-weight:var(--weight-regular)}.ticket-mods.note{color:var(--color-attention-text);font-weight:var(--weight-semibold)}.ticket>footer{gap:var(--space-2);flex-wrap:wrap;display:flex}.ticket>footer .btn-block{border-radius:var(--radius-lg);min-height:52px;font-size:var(--text-lg)}.center{text-align:center}.signup-icon{width:40px;height:40px;color:var(--color-primary)}.qty-input{text-align:right;width:5rem}.text-danger{color:var(--color-danger)}.row.wrap{flex-wrap:wrap}.printer-grid{gap:var(--space-4);margin-top:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.printer-card{gap:var(--space-3);padding:var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-xs);align-content:start;display:grid}.printer-card.off{opacity:.6}.printer-card>header{gap:var(--space-3);align-items:center;display:flex}.printer-card h3{font-size:var(--text-lg)}.printer-card .cell-sub{display:block}.printer-icon{border-radius:var(--radius-md);background:var(--color-primary-soft);width:44px;height:44px;color:var(--color-primary);flex:none;place-items:center;display:grid}.printer-icon svg{width:22px;height:22px}details.advanced summary{cursor:pointer;color:var(--color-text-muted);font-size:var(--text-sm)}details.advanced[open] summary{margin-bottom:var(--space-3)}.printer-wizard-list{gap:var(--space-2);max-height:240px;display:grid;overflow-y:auto}.printer-wizard-choice{align-items:center;gap:var(--space-3);min-height:52px;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;display:flex}.printer-wizard-choice:has(input:checked){border-color:var(--color-primary);background:var(--color-primary-soft)}.printer-wizard-choice span{gap:2px;display:grid}.printer-wizard-choice small{color:var(--color-text-muted)}.receipt-banner{font-size:var(--text-2xl)}.receipt-row{gap:2px;display:grid}.receipt-detail{text-align:left;padding-left:var(--space-4);font-size:var(--text-xs);color:#6b6b62}.pairing-steps{gap:var(--space-2);margin:0;padding-left:1.2rem;display:grid}.pairing-steps.dark{color:var(--color-text-muted)}.pairing-code{font-family:var(--font-mono);letter-spacing:.2em;text-align:center;text-transform:uppercase;font-size:var(--text-2xl)!important}.pairing-code-display{padding:var(--space-5);border-radius:var(--radius-lg);background:var(--color-primary-soft);color:var(--color-primary-text);font-family:var(--font-mono);font-size:2.5rem;font-weight:var(--weight-bold);letter-spacing:.18em;text-align:center;display:block}.pairing-code-box{gap:var(--space-3);justify-items:center;display:grid}.pairing-code-box .pairing-code-display{width:100%}.pairing-success{justify-items:center;gap:var(--space-2);padding:var(--space-5);border-radius:var(--radius-lg);background:var(--color-success-soft);text-align:center;display:grid}.pairing-success svg{width:3rem;height:3rem;color:var(--color-success)}.pairing-success strong{font-size:var(--text-xl)}.update-banner{right:var(--space-4);bottom:var(--space-4);z-index:50;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-lg);display:flex;position:fixed}.update-banner svg{width:18px;height:18px;color:var(--color-primary)}.customer-display{height:100dvh;padding:var(--space-10);background:radial-gradient(circle at 85% 10%, color-mix(in srgb, var(--accent-300) 22%, transparent), transparent 45%), var(--brand-900);color:var(--gray-0);grid-template-rows:1fr auto;display:grid}.customer-display h1,.customer-display h2,.card-visual h2,.card-visual h3{color:inherit}.customer-display ul{gap:var(--space-3);align-content:start;margin:0;padding:0;font-size:1.6rem;list-style:none;display:grid;overflow:hidden}.customer-display li,.customer-display footer{justify-content:space-between;gap:var(--space-6);display:flex}.customer-display footer{padding-top:var(--space-6);font-size:3rem;font-weight:var(--weight-bold);border-top:2px solid #ffffff4d}.customer-welcome{align-content:center;place-items:center;gap:var(--space-6);text-align:center;grid-row:1/-1;display:grid}.customer-welcome .logo{font-size:2.75rem}.customer-welcome h1{font-size:3rem}.report-filters{margin-bottom:var(--space-4)}.report-filter-row{align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;display:flex}.report-filter-row .field{min-width:150px;margin:0}.report-presets{flex-wrap:wrap;flex:420px}.report-presets button{white-space:nowrap}.stat-grid{gap:var(--space-3);margin-bottom:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(210px,1fr));display:grid}.stat.stat-main{grid-column:span 2}.stat{align-items:flex-start;gap:var(--space-4);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-sm);display:flex}.stat-body{gap:var(--space-1);flex:1;min-width:0;display:grid}.stat-icon{border-radius:var(--radius-lg);background:var(--color-accent-soft);width:48px;height:48px;color:var(--color-on-accent-soft);flex:none;place-items:center;display:grid}.stat-icon svg{width:24px;height:24px}.stat.stat-main .stat-value{font-size:var(--text-3xl)}.stat:not(.stat-main) .stat-icon{width:42px;height:42px}.stat:not(.stat-main){gap:var(--space-3)}.stat-label{font-size:var(--text-md);font-weight:var(--weight-medium);color:var(--color-text-muted)}.stat-value{font-size:var(--text-xl);overflow-wrap:normal;white-space:nowrap;font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;letter-spacing:-.025em;color:var(--color-heading)}.stat-hint{font-size:var(--text-sm);color:var(--color-text-muted)}.stat.success .stat-hint{color:var(--color-success-text);font-weight:var(--weight-semibold)}:is(.stat.danger .stat-hint,.stat.danger:not(:has(.stat-hint)) .stat-value){color:var(--color-danger-text);font-weight:var(--weight-semibold)}.report-columns{gap:var(--space-4);grid-template-columns:minmax(0,2fr) minmax(260px,1fr);align-items:start;display:grid}.report-columns>.card,.dashboard-grid>.card{margin:0}.report-note{margin-top:var(--space-3)}.bar-chart{margin:0}.bar-chart ol{align-items:flex-end;gap:var(--space-1);height:180px;margin:0;padding:0;list-style:none;display:flex}.bar-chart li{justify-content:flex-end;align-items:stretch;gap:var(--space-1);flex-direction:column;flex:1 1 0;min-width:0;height:100%;display:flex}.bar-chart .bar{width:100%;max-width:48px;height:var(--bar);border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:var(--color-chart);min-height:2px;transition:height var(--duration-slow) var(--ease-out), background var(--duration-fast) var(--ease-out);align-self:center;display:block}.bar-chart li:hover .bar,.bar-chart li.highlight .bar{background:var(--accent-400)}.bar-chart .bar-label{min-height:1.2em;font-size:var(--text-xs);color:var(--color-text-muted);text-align:center;white-space:nowrap;overflow:hidden}.share-list{gap:var(--space-4);margin:0;padding:0;list-style:none;display:grid}.share-list li{gap:var(--space-1);display:grid}.share-head{justify-content:space-between;gap:var(--space-3);display:flex}.share-head strong,.rank-list strong{font-variant-numeric:tabular-nums}.share-bar{border-radius:var(--radius-full);background:var(--color-surface-sunken);height:8px;overflow:hidden}.share-bar span{border-radius:inherit;background:var(--color-chart);height:100%;display:block}.share-list li:nth-child(2n) .share-bar span{background:var(--accent-400)}.table td.num,.table th.num{white-space:nowrap}.share-cell{min-width:140px}.share-cell .share-bar{margin-bottom:var(--space-1)}.rank-list{padding-left:var(--space-5);gap:var(--space-3);margin:0;display:grid}.rank-list li{gap:var(--space-3);grid-template-columns:minmax(0,1fr) auto auto;align-items:baseline;display:grid}.dashboard{margin-bottom:var(--space-6)}.dashboard-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.card-link{align-items:center;gap:var(--space-1);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-primary-text);text-decoration:none;display:inline-flex}.card-link svg{width:1em;height:1em}.search-field{align-items:center;gap:var(--space-2);padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);flex:1;display:flex}.search-field svg{width:1rem;height:1rem;color:var(--color-text-muted)}.search-field input{box-shadow:none;background:0 0;border:0;flex:1;padding-left:0}.tax-table th.center{border-bottom:1px solid var(--color-border)}.table tfoot th,.table tfoot td{border-top:2px solid var(--color-border-strong);font-weight:var(--weight-semibold);background:var(--color-surface-sunken)}@media (width<=960px){.report-columns{grid-template-columns:1fr}}@media (width<=480px){.stat.stat-main{grid-column:1/-1}}.totp-qr{justify-items:center;gap:var(--space-2);text-align:center;margin:0;display:grid}.totp-qr img{padding:var(--space-2);border-radius:var(--radius-md);background:var(--gray-0)}.till-identity{justify-content:space-between;align-items:center;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}.qr-menu{max-width:640px;padding:var(--space-4) var(--space-4) var(--space-10);margin:0 auto}.qr-menu-header{align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.qr-menu-header h1{font-size:var(--text-xl);margin:0;line-height:1.2}.qr-menu-header p{margin:0}.qr-menu-categories{z-index:2;gap:var(--space-2);margin:0 calc(-1 * var(--space-4));padding:var(--space-2) var(--space-4);scrollbar-width:none;background:var(--color-bg);display:flex;position:sticky;top:0;overflow-x:auto}.qr-menu-categories a{padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-weight:var(--weight-medium);white-space:nowrap;flex:none;text-decoration:none}.qr-menu-section{margin-top:var(--space-5);scroll-margin-top:64px}.qr-menu-section h2{margin:0 0 var(--space-2);font-size:var(--text-lg)}.qr-menu-section ul{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.qr-item{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden}.qr-item-main{align-items:flex-start;gap:var(--space-3);width:100%;min-height:56px;padding:var(--space-3);color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.qr-item-main:disabled{cursor:default}.qr-item-text{gap:var(--space-1);flex:1;min-width:0;display:grid}.qr-item-text strong{overflow-wrap:anywhere}.qr-item-desc{color:var(--color-text-muted);font-size:var(--text-sm);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.qr-item-price{align-items:center;gap:var(--space-2);font-weight:var(--weight-semibold);color:var(--color-primary-text);flex-wrap:wrap;display:flex}.qr-item img{object-fit:cover;border-radius:var(--radius-md);flex:none;width:88px;height:88px}.qr-item-chevron{width:18px;height:18px;color:var(--color-text-muted);flex:none;margin-top:2px}.qr-item-main[aria-expanded=true] .qr-item-chevron{transform:rotate(180deg)}.qr-item.sold-out .qr-item-main{opacity:.6}.qr-item-details{padding:0 var(--space-3) var(--space-3);gap:var(--space-2);display:grid}.qr-item-details dl{gap:var(--space-1);margin:0;display:grid}.qr-item-details dl>div{justify-content:space-between;gap:var(--space-3);font-size:var(--text-sm);display:flex}.qr-item-details dl>div.sold-out{opacity:.6;text-decoration:line-through}.qr-item-details dd{white-space:nowrap;margin:0}.qr-item-details .qr-group{font-weight:var(--weight-semibold);font-size:var(--text-sm);color:var(--color-text-muted)}.qr-menu-note{margin-top:var(--space-6)}.notify{display:inline-flex;position:relative}.notify-count{min-width:18px;height:18px;padding:0 var(--space-1);border-radius:var(--radius-full);background:var(--color-danger);color:var(--color-text-inverse);font-size:var(--text-xs);font-weight:var(--weight-bold);text-align:center;pointer-events:none;line-height:18px;position:absolute;top:2px;right:2px}.notify-panel{top:calc(100% + var(--space-2));z-index:50;width:min(360px, calc(100vw - 2 * var(--space-4)));border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-raised);max-height:min(480px,70vh);color:var(--color-text);box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:absolute;right:0;overflow:hidden}.notify-panel h2{padding:var(--space-3) var(--space-4);font-size:var(--text-md);border-bottom:1px solid var(--color-border);margin:0}.notify-panel>p{padding:var(--space-4);margin:0}.notify-panel ul{margin:0;padding:0;list-style:none;overflow-y:auto}.notify-panel li a{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);color:inherit;gap:2px;text-decoration:none;display:grid}.notify-panel li a:hover,.notify-panel li a:focus-visible{background:var(--color-surface-sunken)}.notify-panel footer{gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);background:var(--color-surface-sunken);display:grid}.notify-popups{z-index:1000;place-content:center;gap:var(--space-3);padding:var(--space-4);pointer-events:none;display:grid;position:fixed;inset:0}.notify-popups>*{pointer-events:auto;width:min(560px, calc(100vw - 2 * var(--space-4)))}.notify-popup{gap:var(--space-3) var(--space-4);padding:var(--space-5);border:1px solid var(--color-border);border-left:6px solid var(--color-primary);border-radius:var(--radius-lg);background:var(--color-surface-raised);color:var(--color-text);box-shadow:var(--shadow-lg);animation:notify-in var(--duration-slow) var(--ease-out);grid-template-columns:auto minmax(0,1fr);display:grid}.notify-popup.notify-waiterCall{border-left-color:var(--color-warning)}.notify-popup.notify-approval{border-left-color:var(--color-info,var(--color-primary))}.notify-popup.notify-printFailed{border-left-color:var(--color-danger)}.notify-popup-icon{border-radius:var(--radius-full);background:var(--color-primary-soft);width:56px;height:56px;color:var(--color-primary-text);place-items:center;display:grid}.notify-waiterCall .notify-popup-icon{background:var(--color-warning-soft);color:var(--color-warning)}.notify-printFailed .notify-popup-icon{background:var(--color-danger-soft);color:var(--color-danger)}.notify-popup-text{gap:var(--space-1);align-content:center;display:grid}.notify-popup-icon svg{width:28px;height:28px}.notify-popup-text strong{font-size:var(--text-xl);line-height:1.3}.notify-popup-text span{color:var(--color-text-muted)}.notify-popup-actions{gap:var(--space-2);grid-column:2;align-items:center;display:flex}@keyframes notify-in{0%{opacity:0;transform:scale(.94)}}.custom-domain-host{align-items:center;gap:var(--space-2);font-size:var(--text-lg);color:var(--color-heading);margin:0;display:flex}.custom-domain-host svg{width:20px;height:20px;color:var(--color-text-subtle)}.custom-domain-steps{gap:var(--space-1);color:var(--color-text-muted);margin:0;padding-inline-start:1.25em;display:grid}.dns-records td{vertical-align:top}@media (width<=720px){.dns-records thead{display:none}.dns-records tr{gap:var(--space-2);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);display:grid}.dns-records td{border:0;padding:0;display:block}.dns-records td[data-label]:before{content:attr(data-label);font-size:var(--text-xs);color:var(--color-text-subtle);display:block}}.dns-records .cell-sub{font-size:var(--text-xs);color:var(--color-text-subtle);display:block}.copy-value{align-items:center;gap:var(--space-1);max-width:100%;display:inline-flex}.copy-value code{border-radius:var(--radius-sm);background:var(--color-surface-sunken);font-family:var(--font-mono);font-size:var(--text-sm);word-break:break-all;padding:2px 6px}.custom-domain-help summary{cursor:pointer;font-weight:var(--weight-semibold);color:var(--color-primary-text)}.custom-domain-help ul{margin:var(--space-2) 0 0;gap:var(--space-2);color:var(--color-text-muted);padding-inline-start:1.25em;display:grid}.custom-domain-checks{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.custom-domain-checks li{align-items:center;gap:var(--space-2);display:flex}.custom-domain-checks svg{width:18px;height:18px}.custom-domain-checks .ok svg{color:var(--color-success)}.custom-domain-checks .fail svg{color:var(--color-danger)}.signup-packages{flex-wrap:wrap}.signup-packages button{text-align:left;gap:2px;display:grid}.signup-packages button span{font-size:var(--text-xs);font-weight:var(--weight-regular)}.addon-option{gap:var(--space-3);grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr) auto;align-items:end;display:grid}.addon-row{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.addon-row>div{gap:2px;display:grid}.cell-line{display:block}@media (width<=640px){.addon-option{grid-template-columns:1fr}}.till-download{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.till-download>div{gap:2px;max-width:60ch;display:grid}.shell{grid-template-columns:var(--sidebar-width) 1fr;min-height:100vh;display:grid}.sidebar{gap:var(--space-6);height:100vh;padding:var(--space-6) var(--space-4) var(--space-4);background:var(--color-sidebar);color:var(--color-sidebar-text);flex-direction:column;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-brand{align-items:center;gap:var(--space-3);padding:0 var(--space-2);display:flex}.logo{font-size:1.5rem;font-weight:var(--weight-bold);letter-spacing:-.04em;align-items:center;gap:10px;line-height:1;display:inline-flex}.logo svg{fill:var(--accent-300);flex:none}.logo-light{color:var(--gray-0)}.logo-dark{color:var(--brand-900)}.logo-dark svg{fill:var(--brand-900)}.sidebar-place{padding:0 var(--space-3);margin-top:calc(var(--space-4) * -1);font-size:var(--text-sm);color:var(--color-sidebar-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.logo-mark{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--brand-400), var(--accent-400));width:36px;height:36px;color:var(--brand-900);font-weight:var(--weight-bold);place-items:center;display:grid;box-shadow:inset 0 0 0 1px #ffffff40}.sidebar-brand strong{color:var(--gray-0);font-size:var(--text-lg);letter-spacing:var(--tracking-tight);display:block}.sidebar-brand div span{font-size:var(--text-sm);opacity:.75;text-overflow:ellipsis;white-space:nowrap;max-width:160px;display:block;overflow:hidden}.nav{gap:2px;display:grid}.nav-label{padding:var(--space-3) var(--space-3) var(--space-1);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.08em;color:var(--color-sidebar-muted)}.nav a{align-items:center;gap:var(--space-3);min-height:46px;padding:0 var(--space-4);border-radius:var(--radius-lg);color:inherit;font-size:var(--text-md);font-weight:var(--weight-medium);transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);text-decoration:none;display:flex}.nav a svg{opacity:.85;flex:none;width:20px;height:20px}.nav a:hover{background:var(--color-sidebar-hover);color:var(--gray-0)}.nav a.active{background:var(--color-sidebar-active);color:var(--color-sidebar-active-text);font-weight:var(--weight-semibold)}.nav a.active svg{opacity:1}.sidebar-footer{align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-2) 0;border-top:1px solid #ffffff1a;margin-top:auto;display:flex}.avatar{border-radius:var(--radius-full);background:var(--brand-600);width:38px;height:38px;color:var(--gray-0);font-weight:var(--weight-semibold);font-size:var(--text-sm);flex:none;place-items:center;display:grid}.sidebar-footer .who{flex:1;min-width:0}.sidebar-footer .who strong{color:var(--gray-0);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.sidebar-footer .who span{font-size:var(--text-xs);opacity:.7;display:block}.sidebar .btn-ghost{color:var(--color-sidebar-text)}.sidebar .btn-ghost:hover{background:var(--color-sidebar-hover);color:var(--gray-0)}.main{flex-direction:column;min-width:0;display:flex}.topbar{z-index:var(--z-sticky);align-items:center;gap:var(--space-3);height:72px;padding:0 var(--space-8);background:color-mix(in srgb, var(--color-bg) 88%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(10px);backdrop-filter:saturate(1.4)blur(10px);border-bottom:1px solid color-mix(in srgb, var(--color-border) 70%, transparent);display:flex;position:sticky;top:0}.branch-switch{color:var(--color-text-muted);align-items:center;display:flex;position:relative}.branch-switch svg{left:var(--space-3);pointer-events:none;width:18px;height:18px;position:absolute}.branch-switch select{height:44px;padding-left:40px;padding-right:var(--space-8);border-radius:var(--radius-lg);font-weight:var(--weight-semibold);color:var(--color-text);background-color:var(--color-surface);box-shadow:var(--shadow-xs)}.spacer{flex:1}.page{width:100%;max-width:var(--content-max);padding:var(--space-8) var(--space-8) var(--space-12);animation:rise var(--duration-slow) var(--ease-out);margin:0 auto}@keyframes rise{0%{opacity:0;transform:translateY(6px)}}.menu-toggle{display:none}.split{gap:var(--space-5);grid-template-columns:minmax(260px,340px) 1fr;align-items:start;display:grid}.split>.card:first-child{position:sticky;top:76px}.login{grid-template-columns:1.1fr 1fr;min-height:100vh;display:grid}.login-hero{padding:var(--space-10);color:var(--gray-0);background:radial-gradient(circle at 85% 12%, color-mix(in srgb, var(--accent-300) 22%, transparent), transparent 42%), radial-gradient(circle at 10% 90%, color-mix(in srgb, var(--brand-500) 55%, transparent), transparent 45%), var(--brand-900);flex-direction:column;justify-content:space-between;display:flex;position:relative;overflow:hidden}.login-hero h2{letter-spacing:-.035em;max-width:14ch;color:var(--gray-0);font-size:clamp(2rem,3.4vw,2.75rem);line-height:1.08}.login-hero p{opacity:.8;max-width:42ch;margin-top:var(--space-4)}.login-hero ul{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.login-hero li{align-items:center;gap:var(--space-3);opacity:.9;display:flex}.login-hero li svg{width:18px;height:18px;color:var(--accent-300)}.login-panel{padding:var(--space-8);background:var(--color-bg);place-items:center;display:grid}.login-form h1{font-size:var(--text-3xl);letter-spacing:-.03em}.login-form{gap:var(--space-5);width:min(380px,100%);display:grid}.login-form header{gap:var(--space-2);display:grid}@media (width<=1180px){.split{grid-template-columns:1fr}.split>.card:first-child{position:static}}@media (width<=960px){.login{grid-template-columns:1fr}.login-hero{display:none}}@media (width<=760px){.shell{grid-template-columns:1fr}.sidebar{width:min(var(--sidebar-width), 85vw);z-index:var(--z-overlay);transition:transform var(--duration-base) var(--ease-out);box-shadow:var(--shadow-lg);position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.shell.nav-open .sidebar{transform:none}.menu-toggle{display:inline-flex}.page{padding:var(--space-6) var(--space-4) var(--space-10)}.topbar{height:64px;padding:0 var(--space-4)}.branch-switch select{max-width:46vw}}.tiles{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.tile{gap:var(--space-1);padding:var(--space-5);border-radius:var(--radius-xl);background:var(--color-surface);border:1px solid var(--color-border);color:inherit;box-shadow:var(--shadow-xs);transition:transform var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out);text-decoration:none;display:grid;position:relative}.tile:hover{box-shadow:var(--shadow-md);border-color:var(--brand-300);transform:translateY(-2px)}.tile strong{font-size:var(--text-lg)}.tile .empty-icon{margin-bottom:var(--space-3)}.tile-arrow{top:var(--space-5);right:var(--space-5);width:18px;height:18px;color:var(--color-text-subtle);transition:transform var(--duration-base) var(--ease-out);position:absolute}.tile:hover .tile-arrow{color:var(--color-primary);transform:translate(3px)}.facts{gap:var(--space-3) var(--space-8);grid-template-columns:max-content 1fr;margin:0;display:grid}.facts dt{color:var(--color-text-muted)}.facts dd{font-weight:var(--weight-medium);margin:0}.live{align-items:center;gap:var(--space-2);min-height:32px;padding:4px var(--space-3);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--weight-semibold);background:var(--color-surface-sunken);color:var(--color-text-muted);display:inline-flex}.live-dot{background:currentColor;border-radius:50%;width:8px;height:8px}.live-live{background:var(--color-success-soft);color:var(--color-success-text)}.live-live .live-dot{animation:pulse 2s var(--ease-in-out) infinite}.live-offline{background:var(--color-warning-soft);color:var(--color-warning-text)}@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, currentColor 50%, transparent)}70%{box-shadow:0 0 0 7px #0000}to{box-shadow:0 0 #0000}}.logo-tag{padding:2px var(--space-2);border-radius:var(--radius-full);color:var(--color-sidebar-text);font-size:var(--text-xs);font-weight:var(--weight-semibold);background:#ffffff1a}.pos{background:var(--color-bg);grid-template-rows:auto 1fr;height:100dvh;display:grid;overflow:hidden}.pos-bar{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:var(--color-sidebar);color:var(--gray-0);min-height:60px;display:flex}.pos-bar .btn-ghost{color:#ffffffd9}.pos-bar .btn-ghost:hover{color:var(--gray-0);background:#ffffff1a}.pos-bar .pos-dialog .btn-ghost{color:var(--color-text-muted)}.pos-bar .pos-dialog .btn-ghost:hover{background:var(--color-surface-sunken);color:var(--color-text)}.pos-brand{align-items:center;gap:var(--space-3);min-width:0;display:flex}.pos-brand>span:last-child{min-width:0;line-height:1.2;display:grid}.pos-brand strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.pos-brand small,.pos-brand select{font-size:var(--text-xs);color:var(--color-sidebar-text)}.pos-brand select{background:0 0;border:0;min-height:0;padding:0}.pos-brand select option{color:var(--color-text)}.pos-bar-button{align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-4);border-radius:var(--radius-lg);color:var(--gray-0);font-weight:var(--weight-medium);background:#ffffff14;text-decoration:none;display:inline-flex}.pos-bar-button:hover{background:#ffffff29}.pos-bar-button svg{width:18px;height:18px}.pos-clock{font-variant-numeric:tabular-nums;font-weight:var(--weight-semibold);opacity:.9}.pos-bar .avatar{color:var(--gray-0);background:#ffffff24}.pos-main{min-height:0;padding:var(--space-5);overflow:auto}.pos-floor{gap:var(--space-5);align-content:start;display:grid}.pos-floor-head{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.pos-summary{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(170px,1fr));display:grid}.pos-summary-card{align-items:center;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-xl);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-xs);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium);display:flex}.pos-summary-card>span:last-child{display:grid}.pos-summary-card strong{color:var(--color-heading);font-size:var(--text-2xl);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;line-height:1.1}.pos-summary-icon{border-radius:var(--radius-lg);background:var(--color-surface-sunken);width:48px;height:48px;color:var(--color-heading);flex:none;place-items:center;display:grid}.pos-summary-icon svg{width:24px;height:24px}.pos-summary-card.occupied{background:var(--color-accent-soft);border-color:var(--accent-200)}.pos-summary-card.occupied .pos-summary-icon{background:var(--color-accent);color:var(--color-on-accent)}.pos-summary-card.billed .pos-summary-icon{background:var(--color-attention-soft);color:var(--color-attention-text)}.pos-summary-card.reserved{background:var(--violet-50)}.pos-summary-card.reserved .pos-summary-icon{background:color-mix(in srgb, var(--violet-500) 18%, transparent);color:var(--violet-500)}.pos-floor-head .chips{scrollbar-width:none;max-width:100%;padding:var(--space-1);gap:var(--space-1);border-radius:var(--radius-lg);background:var(--color-surface-sunken);flex-wrap:nowrap;margin:0;overflow-x:auto}.pos-floor .chips .chip{min-height:44px;padding:0 var(--space-5);border-radius:var(--radius-md);color:var(--color-text-muted);font:inherit;font-weight:var(--weight-medium);cursor:pointer;background:0 0;border:0;flex:none;align-items:center}.pos-floor .chips .chip[aria-pressed=true]{background:var(--color-primary);color:var(--color-on-primary);font-weight:var(--weight-semibold)}.pos-floor .chips .chip .count{color:inherit;opacity:.75}.pos-floor-head .btn{min-height:48px;padding:0 var(--space-4);font-size:var(--text-md)}.pos-legend{gap:var(--space-2) var(--space-5);margin:calc(var(--space-2) * -1) 0 0;color:var(--color-text-muted);font-size:var(--text-sm);flex-wrap:wrap;padding:0;list-style:none;display:flex}.pos-legend li{align-items:center;gap:var(--space-2);display:inline-flex}.pos-legend li:before{content:"";border:1px solid var(--color-border-strong);background:var(--color-surface);border-radius:50%;width:14px;height:14px}.pos-legend .status-occupied:before{background:var(--accent-200);border-color:var(--accent-400)}.pos-legend .status-billed:before{background:var(--orange-50);border-color:var(--orange-500)}.pos-legend .status-reserved:before{background:var(--violet-50);border-color:var(--violet-500)}.pos-area h2,.pos-area h3{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--color-text-muted);margin-bottom:var(--space-3)}.pos-area.compact{margin-bottom:var(--space-4)}.pos-tables{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));display:grid}.pos-table{align-content:center;justify-items:center;gap:var(--space-1);min-height:120px;padding:var(--space-3);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-sm);color:var(--color-text);font:inherit;cursor:pointer;transition:transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);border:1.5px solid #0000;display:grid;position:relative}.pos-table:active{transform:scale(.97)}.pos-table:hover{box-shadow:var(--shadow-md)}.pos-table-code{align-items:center;gap:var(--space-1);font-size:var(--text-xl);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);display:inline-flex}.pos-table-code svg{width:18px;height:18px}.pos-table-total{font-size:var(--text-lg);font-variant-numeric:tabular-nums}.pos-table-meta{align-items:center;gap:var(--space-1);font-size:var(--text-sm);color:var(--color-text-muted);display:inline-flex}.pos-table-meta svg{width:14px;height:14px}.pos-table.status-available{border-color:var(--color-border)}.pos-table.status-occupied{background:var(--color-accent-soft);border-color:var(--accent-400)}.pos-table.status-billed{background:var(--color-attention-soft);border-color:var(--orange-500)}.pos-table.status-billed .pos-table-meta{color:var(--color-attention-text);font-weight:var(--weight-semibold)}.pos-table.status-reserved{background:var(--violet-50);border-color:var(--violet-500)}.pos-table:focus-visible{box-shadow:var(--ring), var(--shadow-sm)}.pos-table-lock{top:var(--space-2);right:var(--space-2);max-width:70%;font-size:var(--text-xs);color:var(--color-danger);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:2px;display:inline-flex;position:absolute;overflow:hidden}.pos-table-lock svg{flex:none;width:12px;height:12px}.pos-guest-grid{gap:var(--space-2);grid-template-columns:repeat(4,1fr);display:grid}.pos-order{gap:var(--space-4);grid-template-columns:minmax(0,1fr) minmax(340px,430px);height:100%;min-height:0;display:grid}.pos-order-left{gap:var(--space-3);grid-template-rows:auto 1fr;min-height:0;display:grid}.pos-order-top{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.pos-back{align-items:center;gap:var(--space-2);min-height:48px;padding:0 var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-xs);color:var(--color-text);font-weight:var(--weight-medium);text-decoration:none;display:inline-flex}.pos-back svg{width:18px;height:18px}.pos-lock-banner{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);background:var(--color-danger-soft);color:var(--color-danger);font-weight:var(--weight-medium);flex:1;display:flex}.pos-lock-banner span{flex:1}.pos-lock-banner>svg{width:18px;height:18px}.pos-menu{gap:var(--space-3);grid-template-rows:auto auto 1fr;min-height:0;display:grid}.pos-search{align-items:center;gap:var(--space-3);padding:0 var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border-strong);box-shadow:var(--shadow-xs);display:flex}.pos-search:focus-within{border-color:var(--brand-500);box-shadow:var(--ring)}.pos-search svg{width:18px;height:18px;color:var(--color-text-subtle)}.pos-search input{min-height:52px;font-size:var(--text-md);box-shadow:none;background:0 0;border:0;outline:none;flex:1}.pos-categories{gap:var(--space-2);scrollbar-width:thin;padding-bottom:2px;display:flex;overflow-x:auto}.pos-categories button{min-height:48px;padding:0 var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font:inherit;font-weight:var(--weight-medium);cursor:pointer;transition:background var(--duration-fast) var(--ease-out);flex:none}.pos-categories button:hover{background:var(--color-surface-sunken)}.pos-categories button[aria-selected=true]{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent);font-weight:var(--weight-semibold)}.pos-products{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(168px,1fr));grid-auto-rows:min-content;min-height:0;padding:2px;display:grid;overflow-y:auto}.pos-product{align-content:start;gap:var(--space-1);padding:0 0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xs);background:var(--color-surface);text-align:left;font:inherit;color:var(--color-text);cursor:pointer;transition:transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);grid-template-rows:112px auto auto;display:grid;position:relative;overflow:hidden}.pos-product:hover{box-shadow:var(--shadow-md)}.pos-product:active{transform:scale(.97)}.pos-product:disabled{opacity:.5;cursor:not-allowed}.pos-product-image{background:linear-gradient(135deg, var(--brand-50), var(--color-surface-sunken));color:var(--color-text-subtle);place-items:center;display:grid}.pos-product-image img{object-fit:cover;width:100%;height:112px}.pos-product-image svg{opacity:.5;width:22px;height:22px}.pos-product-name{padding:var(--space-3) calc(var(--space-3) + 44px) 0 var(--space-3);font-weight:var(--weight-semibold);line-height:var(--leading-tight);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.pos-product-price{padding:0 calc(var(--space-3) + 44px) 0 var(--space-3);color:var(--color-text-muted);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}.pos-product-add{right:var(--space-3);bottom:var(--space-3);border-radius:var(--radius-md);background:var(--color-accent);width:38px;height:38px;color:var(--color-on-accent);place-items:center;display:grid;position:absolute}.pos-product-add svg{stroke-width:2.5px;width:20px;height:20px}.pos-product:hover .pos-product-add{background:var(--color-accent-hover)}.pos-product-out{top:var(--space-2);left:var(--space-2);padding:2px var(--space-2);border-radius:var(--radius-full);background:var(--color-danger);color:var(--gray-0);font-size:var(--text-xs);font-weight:var(--weight-semibold);position:absolute}.pos-ticket{border-radius:var(--radius-xl);border:1px solid var(--color-border);background:var(--color-surface);min-height:0;box-shadow:var(--shadow-sm);grid-template-rows:auto 1fr auto auto;display:grid;overflow:hidden}.pos-ticket-head{align-items:center;gap:var(--space-2);padding:var(--space-5) var(--space-5) var(--space-4);border-bottom:1px solid var(--color-border);display:flex}.pos-ticket-head>div{flex:1;min-width:0}.pos-ticket-head h2{font-size:var(--text-2xl);font-weight:var(--weight-bold);letter-spacing:-.025em}.pos-ticket-head .cell-sub{display:block}.pos-lines{padding:var(--space-2);min-height:0;margin:0;list-style:none;overflow-y:auto}.pos-lines-empty{padding:var(--space-8) var(--space-4);text-align:center;color:var(--color-text-muted)}.pos-line{gap:var(--space-3);width:100%;min-height:var(--touch-target);padding:var(--space-3);border:0;border-bottom:1px solid var(--color-border);font:inherit;text-align:left;color:inherit;cursor:pointer;background:0 0;border-radius:0;grid-template-columns:3.4rem 1fr auto;align-items:start;display:grid;position:relative}.pos-line:hover:not(:disabled){background:var(--color-surface-sunken)}.pos-line:disabled{cursor:default}.pos-line.pending{background:var(--color-accent-soft);box-shadow:inset 3px 0 0 var(--accent-500)}.pos-line-qty{min-width:2.6rem;height:32px;padding:0 var(--space-2);border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:var(--color-surface);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;place-items:center;display:grid}.pos-line-name{font-weight:var(--weight-medium);gap:2px;display:grid}.pos-line-name small,.pos-line-amount small{font-size:var(--text-xs);color:var(--color-text-muted);font-weight:var(--weight-regular)}.pos-line-name small.note{padding:1px var(--space-2);border-radius:var(--radius-sm);background:var(--color-attention-soft);color:var(--color-attention-text);font-weight:var(--weight-semibold);justify-self:start}.pos-line-name small.discount{color:var(--color-success-text);font-weight:var(--weight-semibold)}.pos-line-amount{font-variant-numeric:tabular-nums;font-weight:var(--weight-semibold);justify-items:end;gap:2px;display:grid}.pos-line-amount s{font-size:var(--text-xs);color:var(--color-text-subtle);font-weight:var(--weight-regular)}.pos-line-sent{right:var(--space-1);bottom:var(--space-1);width:12px;height:12px;color:var(--color-text-subtle);position:absolute}.pos-totals{gap:var(--space-1);padding:var(--space-3) var(--space-5) 0;margin:0;display:grid}.pos-totals>div{font-variant-numeric:tabular-nums;justify-content:space-between;display:flex}.pos-totals dd{margin:0}.pos-totals .muted{color:var(--color-text-muted);font-size:var(--text-sm)}.pos-totals>.pos-grand{margin-top:var(--space-2);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-accent-soft);color:var(--color-heading);font-size:var(--text-2xl);font-weight:var(--weight-bold);letter-spacing:-.025em;align-items:flex-end}.pos-grand dt{gap:2px;display:grid}.pos-grand dt small{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-muted);letter-spacing:0}.pos-grand dd{font-size:var(--text-3xl);line-height:1}.pos-ticket-actions{gap:var(--space-2);padding:var(--space-4) var(--space-5) var(--space-5);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.pos-ticket-actions .btn{min-height:var(--touch-target);height:auto;padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);font-size:var(--text-md);white-space:normal;text-align:center;line-height:1.15}.pos-ticket-actions .btn svg{width:20px;height:20px}.pos-dialog{border-radius:var(--radius-xl);background:var(--color-surface);width:min(560px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--color-text);box-shadow:var(--shadow-lg);border:0;padding:0}.pos-dialog.wide{width:min(900px,100vw - 32px)}.pos-dialog[open]{animation:pop var(--duration-base) var(--ease-out);grid-template-rows:auto 1fr auto;display:grid}.pos-dialog::backdrop{background:var(--color-overlay,#00000073)}.pos-dialog-header{align-items:flex-start;gap:var(--space-3);padding:var(--space-5) var(--space-5) var(--space-3);display:flex}.pos-dialog-header>div{flex:1}.pos-dialog-header h2{font-size:var(--text-xl)}.pos-dialog-body{gap:var(--space-4);padding:0 var(--space-5) var(--space-4);align-content:start;display:grid;overflow-y:auto}.pos-dialog-footer{padding:var(--space-3) var(--space-5) var(--space-5);border-top:1px solid var(--color-border)}.pos-dialog-footer .btn{min-height:var(--touch-target);font-size:var(--text-md)}.pos-choice{gap:var(--space-2);border:0;margin:0;padding:0;display:grid}.pos-choice legend{width:100%;margin-bottom:var(--space-2);font-weight:var(--weight-semibold);justify-content:space-between;display:flex}.pos-choice legend small{color:var(--color-text-muted);font-weight:var(--weight-regular)}.pos-choice.invalid legend small{color:var(--color-danger);font-weight:var(--weight-semibold)}.pos-options{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(120px,1fr));display:grid}.pos-option{min-height:var(--touch-target);padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font:inherit;font-weight:var(--weight-medium);text-align:center;cursor:pointer;align-content:center;justify-items:center;gap:2px;display:grid}.pos-option small{color:var(--color-text-muted);font-variant-numeric:tabular-nums}.pos-option[aria-pressed=true]{border-color:var(--accent-500);background:var(--color-accent-soft);box-shadow:inset 0 0 0 1px var(--accent-500);color:var(--color-heading);font-weight:var(--weight-semibold)}.pos-option:disabled{opacity:.45;cursor:not-allowed}.pos-option.treat{justify-content:center;align-items:center;gap:var(--space-1);display:inline-flex}.pos-option.treat svg{width:16px;height:16px;color:var(--color-accent)}.pos-stepper{grid-template-columns:var(--touch-target) 1fr var(--touch-target);align-items:center;gap:var(--space-3);max-width:280px;display:grid}.pos-stepper output{text-align:center;font-size:var(--text-2xl);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.pos-stepper.small{grid-template-columns:44px 3rem 44px;max-width:none}.pos-stepper.small output{font-size:var(--text-lg)}.pos-stepper.small .pos-key{min-height:44px;font-size:var(--text-lg)}.pos-key{min-height:var(--touch-target);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--text-xl);font-weight:var(--weight-semibold);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--duration-fast) var(--ease-out);place-items:center;display:grid}.pos-key:hover:not(:disabled){background:var(--color-surface-sunken)}.pos-key:active{background:var(--color-accent-soft)}.pos-key:disabled{opacity:.4;cursor:not-allowed}.pos-key svg{width:22px;height:22px}.pos-keypad{gap:var(--space-2);grid-template-columns:repeat(3,1fr);display:grid}.pos-display{padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface-sunken);text-align:right;font-size:var(--text-2xl);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;display:block}.pos-action-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));display:grid}.pos-action{justify-items:center;gap:var(--space-2);min-height:96px;padding:var(--space-3);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font:inherit;font-weight:var(--weight-medium);cursor:pointer;align-content:center;display:grid}.pos-action svg{width:26px;height:26px;color:var(--color-primary)}.pos-action.danger svg{color:var(--color-danger)}.pos-action:hover{background:var(--color-surface-sunken)}.pos-pay{gap:var(--space-4);min-height:0;padding:var(--space-5);border-radius:var(--radius-xl);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm);align-content:start;display:grid;overflow-y:auto}.pos-pay-remaining{justify-items:center;gap:var(--space-1);padding:var(--space-5) var(--space-4);border-radius:var(--radius-lg);background:radial-gradient(circle at 85% 10%, color-mix(in srgb, var(--accent-300) 28%, transparent), transparent 45%), var(--brand-900);color:var(--gray-0);display:grid}.pos-pay-remaining span{font-size:var(--text-sm);opacity:.8;text-transform:uppercase;letter-spacing:.06em}.pos-pay-remaining strong{letter-spacing:var(--tracking-tight);font-variant-numeric:tabular-nums;font-size:2.75rem}.pos-pay-remaining small{opacity:.8}.pos-channels{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(130px,1fr));display:grid}.pos-channel{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface);min-height:64px;color:var(--color-text);font:inherit;font-size:var(--text-md);font-weight:var(--weight-semibold);cursor:pointer;display:inline-flex}.pos-channel svg{width:22px;height:22px}.pos-channel[aria-pressed=true]{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-on-accent)}.pos-pay .segmented button{min-height:48px}.pos-pay-entry{gap:var(--space-3);display:grid}.pos-pay-fields{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.pos-pay-field{padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface-sunken);color:var(--color-text);font:inherit;text-align:left;cursor:pointer;justify-items:start;gap:2px;display:grid}.pos-pay-field span{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.pos-pay-field strong{font-size:var(--text-2xl);font-variant-numeric:tabular-nums}.pos-pay-field[aria-pressed=true]{border-color:var(--brand-500);box-shadow:inset 0 0 0 1px var(--brand-500);background:var(--color-surface)}.pos-pay-field.change{background:var(--color-success-soft);border-color:var(--color-success);cursor:default}.pos-pay-field.change strong{color:var(--color-success-text)}.pos-quick{gap:var(--space-2);flex-wrap:wrap;display:flex}.pos-quick .pos-option{flex:1}.pos-pay>.btn{border-radius:var(--radius-lg);min-height:64px;font-size:var(--text-lg)}.pos-split,.pos-payments{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.pos-split li,.pos-payments li{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);background:var(--color-surface-sunken);display:flex}.pos-split li>span,.pos-payments li>span{flex:1;gap:2px;display:grid}.pos-split small,.pos-payments small{color:var(--color-text-muted);font-size:var(--text-xs)}.pos-done{align-content:center;justify-items:center;gap:var(--space-4);text-align:center;min-height:100%;animation:rise var(--duration-slow) var(--ease-out);display:grid}.pos-done>svg{width:88px;height:88px;color:var(--color-success)}.pos-done h1{font-size:var(--text-3xl)}.pos-done-change{font-size:var(--text-xl)}.pos-done-change strong{color:var(--color-success);font-variant-numeric:tabular-nums;font-size:3rem;display:block}.pos-done .btn{min-height:var(--touch-target);padding:0 var(--space-6);font-size:var(--text-md)}@media (width<=900px){.pos-order{grid-template-columns:1fr;height:auto}.pos-ticket{min-height:420px}.pos-products{max-height:60vh}.hide-sm,.pos-clock{display:none}}@media (width<=600px){.pos-bar{gap:var(--space-2);padding:var(--space-2) var(--space-3);scrollbar-width:none;overflow-x:auto}.pos-bar>*{flex:none}.pos-brand{max-width:42vw}.pos-main{padding:var(--space-3)}.pos-products{grid-template-columns:repeat(2,minmax(0,1fr))}}.pos-bar-button .count{border-radius:var(--radius-full);background:var(--gray-0);min-width:20px;color:var(--color-sidebar);font-size:var(--text-xs);font-weight:var(--weight-bold);text-align:center;padding:0 6px;line-height:20px}.pos-bar-button.alert{background:var(--color-danger)}.pos-jobs{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.pos-job{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-sunken);display:flex}.pos-job>div{flex:1;gap:2px;min-width:0;display:grid}.pos-job.job-failed{background:var(--color-danger-soft)}.pos-job .btn{min-height:44px}.mobile-shell{background:var(--color-bg);flex-direction:column;min-width:0;min-height:100dvh;display:flex}.mobile-header{align-items:center;gap:var(--space-2);min-width:0;min-height:60px;padding:var(--space-2) var(--space-4);background:var(--color-sidebar);color:var(--gray-0);display:flex}.mobile-header .btn{color:var(--gray-0);min-width:44px;min-height:44px}.mobile-header .live{margin-left:auto}.mobile-brand{align-items:center;gap:var(--space-2);flex:1;min-width:0;display:flex}.mobile-brand>span:last-child{min-width:0;line-height:1.2;display:grid}.mobile-brand strong,.mobile-brand small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.mobile-brand small{font-size:var(--text-xs);opacity:.8}.mobile-branch{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);display:flex}.mobile-branch select{flex:1;min-width:0}.mobile-main{flex:1;width:100%;min-width:0;max-width:680px;margin:0 auto}.mobile-page{align-content:start;gap:var(--space-4);min-width:0;padding:var(--space-5) var(--space-4) var(--space-8);display:grid}.mobile-page>h1{font-size:var(--text-2xl)}.mobile-nav{z-index:var(--z-sticky);background:var(--color-surface);border-top:1px solid var(--color-border);padding:var(--space-1) var(--space-4) max(var(--space-1), env(safe-area-inset-bottom));justify-content:center;display:flex;position:sticky;bottom:0}.mobile-nav a{max-width:240px;min-height:var(--touch-target);color:var(--color-text-muted);font-size:var(--text-xs);border-radius:var(--radius-md);flex:1;align-content:center;justify-items:center;gap:1px;text-decoration:none;display:grid}.mobile-nav a[aria-current=page]{color:var(--color-on-accent);background:var(--color-accent);font-weight:var(--weight-semibold)}.mobile-nav svg{width:22px;height:22px}.mobile-chips{gap:var(--space-2);scrollbar-width:thin;min-width:0;padding-bottom:var(--space-1);display:flex;overflow-x:auto}.mobile-chips button{min-height:44px;padding:0 var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);font-weight:var(--weight-medium);cursor:pointer;flex:none}.mobile-chips button[aria-pressed=true],.mobile-chips button[aria-selected=true],.mobile-chips button[aria-checked=true]{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.mobile-area{gap:var(--space-3);min-width:0;display:grid}.mobile-table-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;display:grid}.mobile-table{align-content:center;justify-items:start;gap:var(--space-1);min-width:0;min-height:112px;padding:var(--space-4);border:1.5px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xs);background:var(--color-surface);text-align:left;cursor:pointer;display:grid}.mobile-table strong,.mobile-table span,.mobile-table small{text-overflow:ellipsis;max-width:100%;overflow:hidden}.mobile-table.occupied{border-color:var(--accent-400);background:var(--color-accent-soft)}.mobile-table.reserved{border-color:var(--violet-500);background:var(--violet-50)}.mobile-table small{color:var(--color-text-muted);font-weight:var(--weight-medium)}.mobile-guest-field{gap:var(--space-2);display:grid}.mobile-guest-field input{width:100%}.mobile-back{align-items:center;gap:var(--space-2);width:fit-content;min-height:44px;display:inline-flex}.mobile-back svg{width:18px}.mobile-order-head{justify-content:space-between;align-items:start;gap:var(--space-3);min-width:0;display:flex}.mobile-order-head strong{overflow-wrap:anywhere;text-align:right;color:var(--color-primary-text)}.mobile-order-head>div{min-width:0}.mobile-ticket{gap:var(--space-3);min-width:0;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);display:grid}.mobile-ticket ul,.mobile-report ul{margin:0;padding:0;list-style:none}.mobile-ticket li,.mobile-report li{justify-content:space-between;gap:var(--space-3);min-width:0;padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);display:flex}.mobile-ticket li>div{min-width:0;display:grid}.mobile-ticket li strong,.mobile-report li span{overflow-wrap:anywhere}.mobile-ticket li small{color:var(--color-text-muted);overflow-wrap:anywhere}.mobile-ticket li>span,.mobile-report li strong{overflow-wrap:anywhere;text-align:right}.mobile-total{justify-content:space-between;align-items:baseline;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-accent-soft);color:var(--color-heading);font-size:var(--text-lg);font-weight:var(--weight-semibold);display:flex}.mobile-total strong{font-size:var(--text-2xl);overflow-wrap:anywhere;text-align:right}.mobile-order .pos-menu{min-width:0}.mobile-order .pos-products{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none;overflow-y:visible}.mobile-order .pos-product{min-width:0}.mobile-order-actions{gap:var(--space-3);display:grid}.mobile-order-actions button{min-height:var(--touch-target);border:1px solid var(--color-primary);border-radius:var(--radius-lg);font-size:var(--text-md);background:var(--color-primary);color:var(--color-on-primary);font-weight:var(--weight-semibold);cursor:pointer}.mobile-order-actions button.secondary{border-color:var(--color-border-strong);color:var(--color-text);background:var(--color-surface)}.mobile-order-actions button:disabled{opacity:.5;cursor:default}.mobile-notice{align-items:center;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-lg);background:var(--color-attention-soft);color:var(--color-attention-text);font-weight:var(--weight-medium);display:flex}.mobile-notice svg{flex:none;width:18px}.mobile-notice button{margin-left:auto}.mobile-stats{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;display:grid}.mobile-stats article{align-content:start;gap:var(--space-1);min-width:0;min-height:96px;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-xs);display:grid}.mobile-stats article span,.mobile-stats article small{font-size:var(--text-sm);color:var(--color-text-muted)}.mobile-stats article strong{font-size:var(--text-xl);font-weight:var(--weight-bold);letter-spacing:-.02em;color:var(--color-heading);overflow-wrap:anywhere}.mobile-dates{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.mobile-dates label{gap:var(--space-1);min-width:0;font-size:var(--text-sm);display:grid}.mobile-dates input{width:100%;min-width:0}.mobile-report,.mobile-approvals{gap:var(--space-3);min-width:0;display:grid}.mobile-approvals h2 small{font-size:var(--text-xs);color:var(--color-primary-text)}.mobile-approval{gap:var(--space-2);min-width:0;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);display:grid}.mobile-approval>div:first-child{gap:var(--space-1);display:grid}.mobile-approval small{color:var(--color-text-muted)}.mobile-approval p{overflow-wrap:anywhere}.mobile-actions{gap:var(--space-2);display:flex}.mobile-actions button{min-height:var(--touch-target);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-sunken);cursor:pointer;flex:1}.mobile-actions button:last-child{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}.mobile-actions button:disabled{opacity:.5;cursor:default}.mobile-alerts{align-items:center;gap:var(--space-3);min-width:0;padding:var(--space-3) var(--space-4);background:var(--color-attention-soft);color:var(--color-attention-text);display:flex}.mobile-alerts>svg{flex:none;width:22px}.mobile-alerts>div{align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.mobile-alerts a{padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-heading);font-weight:var(--weight-semibold)}.mobile-alerts button{min-height:44px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer}@media (width<=380px){.mobile-page{padding-left:var(--space-3);padding-right:var(--space-3)}.mobile-table-grid,.mobile-stats{gap:var(--space-2)}}.mobile-shell input:not([type=checkbox]):not([type=radio]),.mobile-shell select,.mobile-shell textarea{min-height:44px}.mobile-shell dialog .btn-icon,.mobile-shell [role=dialog] .btn-icon{min-width:44px;min-height:44px}
