:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--brand-50:#fdf3e7;--brand-100:#fae4cc;--brand-200:#f4c79b;--brand-500:#e2620e;--brand-600:#c14f0a;--brand-700:#8f3c0c;--brand:var(--brand-500);--brand-strong:var(--brand-600);--brand-contrast:#fff;--brand-tint:#fbf1e6;--bg:#f7f4f0;--surface:#fff;--surface-2:#faf7f3;--surface-3:#f1ece5;--overlay:#201a157a;--ink:#201a15;--text:#3a332c;--text-muted:#756c62;--text-subtle:#9a9188;--border:#e8e2d9;--border-strong:#d6cec2;--ring:#e2620e52;--success:#1a7a44;--success-bg:#e4f4e9;--success-border:#b9e2c7;--warning:#a85a12;--warning-bg:#fbefd9;--warning-border:#f1d7a8;--danger:#b32218;--danger-bg:#fbe6e3;--danger-border:#f3c4bd;--info:#235f9e;--info-bg:#e4eef8;--info-border:#bcd6ee;--chart-1:#e2620e;--chart-2:#2f6f8f;--chart-3:#1a7a44;--chart-4:#8a5a3c;--chart-5:#c99a2e;--chart-6:#9e4636;--r-xs:4px;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:20px;--r-full:999px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:48px;--shadow-sm:0 1px 2px #281e140d, 0 1px 3px #281e140d;--shadow-md:0 2px 6px #281e140f, 0 10px 26px #281e1412;--shadow-lg:0 16px 44px #1e160e29;--shadow-brand:0 1px 2px #a03c0c47, 0 4px 12px #a03c0c29;--font:"Plus Jakarta Sans", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--fs-xs:12px;--fs-sm:13px;--fs-base:14px;--fs-md:15px;--fs-lg:18px;--fs-xl:22px;--fs-2xl:28px;--fs-3xl:34px;--ease-out:cubic-bezier(.22, 1, .36, 1);--dur-1:.14s;--dur-2:.24s;--header-h:60px;--sidebar-w:244px}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--brand-50:#2a1a0f;--brand-100:#3a2413;--brand-200:#5b3a1e;--brand-500:#f4913e;--brand-600:#ef7a1f;--brand-700:#e2620e;--brand:var(--brand-500);--brand-strong:var(--brand-600);--brand-contrast:#1c1310;--brand-tint:#2a1d12;--bg:#17120e;--surface:#221c17;--surface-2:#1c1712;--surface-3:#2c251e;--overlay:#0000009e;--ink:#faf6f0;--text:#e8e1d7;--text-muted:#ada49a;--text-subtle:#857c72;--border:#38312a;--border-strong:#4a4239;--ring:#f4913e6b;--success:#57c98a;--success-bg:#12301f;--success-border:#1f5336;--warning:#f0b64a;--warning-bg:#362a10;--warning-border:#5a4718;--danger:#f08a80;--danger-bg:#371a17;--danger-border:#5c2a25;--info:#7fb2e6;--info-bg:#16273c;--info-border:#274668;--chart-1:#f4913e;--chart-2:#5eaecb;--chart-3:#57c98a;--chart-4:#b58a6a;--chart-5:#e0bd6a;--chart-6:#d98a76;--shadow-sm:0 1px 2px #00000057;--shadow-md:0 2px 10px #0006;--shadow-lg:0 18px 50px #0000008c;--shadow-brand:0 2px 12px #f4913e47}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--fs-base);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.5}a{color:inherit;text-decoration:none}h1,h2,h3,h4{color:var(--ink);letter-spacing:-.02em;margin:0;font-weight:700}h1{font-size:var(--fs-2xl);line-height:1.15}h2{font-size:var(--fs-xl);line-height:1.2}h3{font-size:var(--fs-lg)}p{margin:0}strong,b{color:var(--ink);font-weight:600}.alert strong,.badge strong,.toast strong,.btn strong,.subtle strong,[class*=hero] strong{color:inherit}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:var(--r-xs)}::selection{background:var(--brand-200);color:var(--ink)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:.9em}.tnum{font-variant-numeric:tabular-nums}.muted{color:var(--text-muted)}.subtle{color:var(--text-subtle)}.nowrap{white-space:nowrap}.right{text-align:right}.center{text-align:center}.stack{flex-direction:column;display:flex}.stack.center{align-items:center}.row{align-items:center;display:flex}.gap-1{gap:var(--s-1)}.gap-2{gap:var(--s-2)}.gap-3{gap:var(--s-3)}.gap-4{gap:var(--s-4)}.gap-6{gap:var(--s-6)}.grow{flex:1}.wrap{flex-wrap:wrap}.hidden{display:none!important}.btn{--_bg:var(--surface);--_fg:var(--ink);--_bd:var(--border-strong);justify-content:center;align-items:center;gap:var(--s-2);border-radius:var(--r-md);background:var(--_bg);color:var(--_fg);border:1px solid var(--_bd);font-weight:600;font-size:var(--fs-sm);letter-spacing:-.005em;cursor:pointer;white-space:nowrap;transition:background var(--dur-1) ease, border-color var(--dur-1) ease, transform var(--dur-1) var(--ease-out), box-shadow var(--dur-1) ease;padding:9px 15px;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-2);border-color:var(--text-subtle)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{--_bg:var(--brand);--_fg:var(--brand-contrast);--_bd:transparent;box-shadow:var(--shadow-brand)}.btn.primary:hover:not(:disabled){--_bg:var(--brand-strong);border-color:#0000}.btn.danger{--_bg:var(--danger);--_fg:#fff;--_bd:transparent}.btn.danger:hover:not(:disabled){filter:brightness(.94);background:var(--danger)}.btn.ghost{--_bg:transparent;--_bd:transparent;--_fg:var(--text-muted)}.btn.ghost:hover:not(:disabled){--_bg:var(--surface-3);color:var(--ink);border-color:#0000}.btn.sm{font-size:var(--fs-xs);border-radius:var(--r-sm);padding:6px 10px}.btn.lg{font-size:var(--fs-md);border-radius:var(--r-md);padding:12px 20px}.btn.block{width:100%}.btn.xl{font-size:var(--fs-lg);border-radius:var(--r-lg);padding:18px;font-weight:700}.btn .spinner{width:14px;height:14px}.field{flex-direction:column;gap:6px;display:flex}.field>label{font-size:var(--fs-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:700}.input,.select,.textarea{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);width:100%;font-size:var(--fs-base);color:var(--ink);transition:border-color var(--dur-1) ease, box-shadow var(--dur-1) ease;padding:9px 12px}.input::placeholder,.textarea::placeholder{color:var(--text-subtle)}.input:hover:not(:focus),.select:hover:not(:focus),.textarea:hover:not(:focus){border-color:var(--text-subtle)}.input:focus,.select:focus,.textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--ring);outline:none}.textarea{resize:vertical;min-height:74px}.field .error{color:var(--danger);font-size:var(--fs-xs);font-weight:600}.field.invalid .input,.field.invalid .select{border-color:var(--danger)}.inline-hint{font-size:var(--fs-xs);color:var(--text-subtle)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.card.pad{padding:var(--s-6)}.card.hoverable{transition:box-shadow var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out), border-color var(--dur-2) ease}.card.hoverable:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong);transform:translateY(-2px)}.card-head{justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-4) var(--s-6);border-bottom:1px solid var(--border);display:flex}.card-head h3{font-size:var(--fs-md);font-weight:700}.card-body{padding:var(--s-6)}.section-title{font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-subtle);font-weight:800}.badge{border-radius:var(--r-full);font-size:var(--fs-xs);letter-spacing:.01em;white-space:nowrap;border:1px solid #0000;align-items:center;gap:6px;padding:3px 10px;font-weight:700;line-height:1.5;display:inline-flex}.badge .dot{background:currentColor;border-radius:50%;flex-shrink:0;width:5px;height:5px}.badge.neutral{background:var(--surface-3);color:var(--text-muted);border-color:var(--border)}.badge.success{background:var(--success-bg);color:var(--success);border-color:var(--success-border)}.badge.warning{background:var(--warning-bg);color:var(--warning);border-color:var(--warning-border)}.badge.danger{background:var(--danger-bg);color:var(--danger);border-color:var(--danger-border)}.badge.info{background:var(--info-bg);color:var(--info);border-color:var(--info-border)}.badge.brand{background:var(--brand-100);color:var(--brand-700);border-color:var(--brand-200)}.table-wrap{border-radius:var(--r-lg);border:1px solid var(--border);background:var(--surface);overflow-x:auto}table.data{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}table.data th,table.data td{text-align:left;vertical-align:middle;padding:11px 14px}table.data thead th{z-index:1;background:var(--surface-2);color:var(--text-muted);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);cursor:default;-webkit-user-select:none;user-select:none;font-weight:700;position:sticky;top:0}table.data thead th.sortable{cursor:pointer}table.data thead th.sortable:hover{color:var(--text)}table.data tbody tr{border-bottom:1px solid var(--border)}table.data tbody tr:last-child{border-bottom:none}table.data tbody tr:hover{background:var(--surface-2)}table.data tbody tr.clickable{cursor:pointer}.table-foot{border-top:1px solid var(--border);font-size:var(--fs-xs);color:var(--text-muted);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.pager{align-items:center;gap:var(--s-2);display:flex}.shell{grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh;display:grid}.sidebar{background:var(--surface);border-right:1px solid var(--border);gap:var(--s-2);padding:var(--s-4);flex-direction:column;height:100vh;display:flex;position:sticky;top:0}.brand-mark{align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-3) var(--s-4);display:flex}.brand-logo{border-radius:var(--r-md);object-fit:cover;width:34px;height:34px;box-shadow:var(--shadow-sm);background:#f7931e;flex-shrink:0;display:block}.brand-logo.on-dark{box-shadow:0 0 0 1px #ffffff40}span.brand-logo,div.brand-logo{background:linear-gradient(135deg, var(--brand-500), var(--brand-700));color:#fff;place-items:center;font-size:15px;font-weight:800;display:grid}.brand-mark .name{letter-spacing:-.02em;color:var(--ink);font-weight:800}.brand-mark .sub{font-size:var(--fs-xs);color:var(--text-subtle)}.nav{flex-direction:column;gap:2px;display:flex;overflow-y:auto}.nav a{align-items:center;gap:var(--s-3);border-radius:var(--r-md);color:var(--text-muted);font-weight:600;font-size:var(--fs-sm);transition:background var(--dur-1) ease, color var(--dur-1) ease;padding:9px 12px;display:flex;position:relative}.nav a .ico{width:18px;height:18px;color:var(--text-subtle);transition:color var(--dur-1) ease;flex-shrink:0}.nav a:hover{background:var(--surface-3);color:var(--ink)}.nav a:hover .ico{color:var(--text-muted)}.nav a.active{background:var(--brand-tint);color:var(--ink)}.nav a.active .ico{color:var(--brand)}.nav a.active:before{content:"";background:var(--brand);border-radius:2px;width:3px;position:absolute;top:9px;bottom:9px;left:3px}.nav .group-label{padding:var(--s-4) 12px var(--s-1);letter-spacing:.1em;text-transform:uppercase;color:var(--text-subtle);font-size:10px;font-weight:800}.main{flex-direction:column;min-width:0;display:flex}.topbar{height:var(--header-h);padding:0 var(--s-8);border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(8px);backdrop-filter:saturate(1.4)blur(8px);z-index:20;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.topbar .crumbs{font-weight:700;font-size:var(--fs-md);color:var(--ink);letter-spacing:-.01em}.topbar .spacer{flex:1}.usermenu{align-items:center;gap:var(--s-3);display:flex}.avatar{object-fit:cover;background:var(--surface-3);border:1px solid var(--border);width:32px;height:32px;font-weight:700;font-size:var(--fs-xs);color:var(--text-muted);border-radius:50%;place-items:center;display:grid}.avatar.lg{width:120px;height:120px;font-size:var(--fs-2xl);border-radius:var(--r-lg)}.avatar.xl{border-radius:var(--r-lg);width:220px;height:220px;font-size:64px}.page{padding:var(--s-8);gap:var(--s-6);width:100%;max-width:1440px;animation:pageIn var(--dur-2) var(--ease-out) both;flex-direction:column;display:flex}@keyframes pageIn{0%{opacity:0;transform:translateY(6px)}}.page-head{justify-content:space-between;align-items:flex-end;gap:var(--s-4);flex-wrap:wrap;display:flex}.page-head h1{font-size:var(--fs-2xl)}.page-head .sub{color:var(--text-muted);font-size:var(--fs-sm);margin-top:3px}.kpi-grid{gap:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(184px,1fr));display:grid}.kpi{padding:var(--s-5);flex-direction:column;gap:5px;display:flex;position:relative;overflow:hidden}.kpi .label{font-size:var(--fs-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:700}.kpi .value{font-size:var(--fs-2xl);letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums;font-weight:800;line-height:1.1}.kpi .foot{font-size:var(--fs-xs);color:var(--text-subtle)}.kpi:before{content:"";background:0 0;width:3px;position:absolute;top:0;bottom:0;left:0}.kpi.accent:before{background:var(--brand)}.kpi.warn:before{background:var(--warning)}.kpi.bad:before{background:var(--danger)}.kpi.good:before{background:var(--success)}.chart-grid{gap:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));display:grid}.chart-card{padding:var(--s-5);gap:var(--s-3);flex-direction:column;display:flex}.chart-card h4{font-size:var(--fs-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:700}.recharts-surface{overflow:visible}.recharts-cartesian-axis-tick text{fill:var(--text-subtle);font-size:11px}.recharts-default-tooltip{background:var(--surface)!important;border:1px solid var(--border-strong)!important;border-radius:var(--r-md)!important;box-shadow:var(--shadow-md)!important;color:var(--text)!important}.recharts-tooltip-label{color:var(--text-muted)!important}.alert{gap:var(--s-3);padding:var(--s-3) var(--s-4);border-radius:var(--r-md);font-size:var(--fs-sm);border:1px solid;line-height:1.55;display:flex}.alert>svg{flex-shrink:0;margin-top:1px}.alert .a-title{font-weight:700}.alert.info{background:var(--info-bg);border-color:var(--info-border);color:var(--info)}.alert.warning{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning)}.alert.danger{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger)}.alert.success{background:var(--success-bg);border-color:var(--success-border);color:var(--success)}.overlay{background:var(--overlay);z-index:100;padding:var(--s-4);animation:.12s fade;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);width:min(520px,100%);max-height:none;margin:auto;animation:.14s pop}.modal.wide{width:min(880px,100%)}.modal-head{padding:var(--s-5) var(--s-6);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.modal-body{padding:var(--s-6);gap:var(--s-4);flex-direction:column;display:flex}.modal-foot{justify-content:flex-end;gap:var(--s-3);padding:var(--s-4) var(--s-6);border-top:1px solid var(--border);display:flex}.drawer-wrap{z-index:100;background:var(--overlay);justify-content:flex-end;animation:.12s fade;display:flex;position:fixed;inset:0}.drawer{background:var(--surface);width:min(480px,100%);height:100%;box-shadow:var(--shadow-lg);flex-direction:column;animation:.16s slidein;display:flex;overflow:auto}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:scale(.97)}}@keyframes slidein{0%{opacity:.6;transform:translate(24px)}}.toasts{top:var(--s-4);right:var(--s-4);z-index:200;gap:var(--s-2);flex-direction:column;width:min(360px,100vw - 32px);display:flex;position:fixed}.toast{gap:var(--s-3);padding:var(--s-3) var(--s-4);border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border-strong);box-shadow:var(--shadow-md);animation:.16s slidein;display:flex}.toast .t-ico{flex-shrink:0;width:18px;height:18px;margin-top:1px}.toast .t-title{font-weight:650;font-size:var(--fs-sm)}.toast .t-msg{font-size:var(--fs-xs);color:var(--text-muted)}.toast.success .t-ico{color:var(--success)}.toast.error .t-ico{color:var(--danger)}.toast.warning .t-ico{color:var(--warning)}.toast.info .t-ico{color:var(--info)}.empty{align-items:center;gap:var(--s-2);padding:var(--s-10) var(--s-6);text-align:center;color:var(--text-muted);flex-direction:column;display:flex}.empty .e-ico{width:32px;height:32px;color:var(--text-subtle)}.empty .empty-img{width:132px;height:auto;margin-bottom:var(--s-1);opacity:.9}.hero{border-radius:var(--r-lg);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);grid-template-columns:1fr minmax(220px,320px);gap:0;display:grid;position:relative;overflow:hidden}.hero .hero-body{z-index:1;padding:var(--s-6) var(--s-8);gap:var(--s-4);flex-direction:column;justify-content:center;display:flex;position:relative}.hero .hero-body>.row:first-child h2{font-size:var(--fs-xl)}.hero .hero-media{border-left:1px solid var(--border);position:relative;overflow:hidden}.hero .hero-img{object-fit:cover;background:var(--brand-50);width:100%;height:100%;min-height:172px;display:block}.hero.big .hero-img{min-height:236px}.hero .hero-media:after{content:"";pointer-events:none;box-shadow:inset 60px 0 60px -50px var(--surface);position:absolute;inset:0}html[data-theme=dark] .hero .hero-img,html[data-theme=dark] .meal-card img{filter:brightness(.86)saturate(.92)}.hero .hero-kpis{gap:var(--s-4) var(--s-5);grid-template-columns:repeat(auto-fit,minmax(112px,1fr));display:grid}.hero .hero-kpis .hk .v{font-size:var(--fs-xl);letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums;font-weight:800}.hero .hero-kpis .hk .l{font-size:var(--fs-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:700}@media (width<=760px){.hero{grid-template-columns:1fr}.hero .hero-body{padding:var(--s-5) var(--s-6)}.hero .hero-media{border-left:none;border-bottom:1px solid var(--border);order:-1}.hero .hero-img{min-height:116px}.hero .hero-media:after{box-shadow:inset 0 -30px 30px -26px var(--surface)}}.meal-cards{gap:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(236px,1fr));display:grid}.meal-card{border-radius:var(--r-lg);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);transition:box-shadow var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out);overflow:hidden}.meal-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.meal-card .mc-media{position:relative}.meal-card img{object-fit:cover;background:var(--brand-50);width:100%;height:116px;display:block}.meal-card .mc-media:after{content:"";position:absolute;inset:0;box-shadow:inset 0 -28px 28px -22px #1e140c38}.meal-card .mc-body{padding:var(--s-4) var(--s-5) var(--s-5);gap:var(--s-3);flex-direction:column;display:flex}.meal-card .mc-body h4{font-size:var(--fs-md);font-weight:700}.meal-card .mc-stats{gap:var(--s-5);display:flex}.meal-card .mc-stats .st .n{font-size:var(--fs-lg);color:var(--ink);font-variant-numeric:tabular-nums;font-weight:800}.meal-card .mc-stats .st .k{color:var(--text-subtle);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:700}.login-aside.photo{padding:0;position:relative;overflow:hidden}.login-aside.photo>img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.login-aside.photo .veil{background:radial-gradient(120% 80% at 12% 10%,#f0822847,#0000 55%),linear-gradient(155deg,#782c0c9e 0%,#4a1c0ac7 52%,#221109e6 100%);position:absolute;inset:0}.login-aside.photo>img{filter:saturate(1.05)contrast(1.02)}.login-aside.photo .login-aside-inner{z-index:1;padding:clamp(var(--s-10), 6vw, 72px);color:#fff;flex-direction:column;height:100%;display:flex;position:relative}.login-aside .aside-top{flex:none}.login-aside .aside-bottom{gap:var(--s-8);flex-direction:column;max-width:30rem;margin-top:auto;display:flex}.login-aside .big{letter-spacing:-.035em;color:#fff;text-shadow:0 1px 24px #00000059;max-width:15ch;font-size:clamp(2rem,3.6vw,2.7rem);font-weight:800;line-height:1.1}.login-aside .points{gap:var(--s-4);font-size:var(--fs-md);flex-direction:column;display:flex}.login-aside .points>span{align-items:flex-start;gap:var(--s-3);color:#ffffffeb;line-height:1.4;display:flex}.login-aside .points svg{color:var(--brand-200);flex-shrink:0;margin-top:2px}.login-aside .points-label{letter-spacing:.16em;text-transform:uppercase;color:#ffffff80;padding-bottom:var(--s-1);width:max-content;padding-right:var(--s-6);border-bottom:1px solid #ffffff24;font-size:11px;font-weight:800}.vendor-scope .topbar{border-bottom-color:var(--brand-200)}.vendor-badge{background:var(--brand-100);color:var(--brand-700);border:1px solid var(--brand-200);border-radius:var(--r-full);font-size:var(--fs-xs);padding:2px 9px;font-weight:650}.cal{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.cal .dow{text-align:center;font-size:var(--fs-xs);color:var(--text-subtle);text-transform:uppercase;padding-bottom:4px;font-weight:700}.cal .cell{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);flex-direction:column;gap:3px;min-height:74px;padding:6px;display:flex}.cal .cell.dim{background:var(--surface-2);color:var(--text-subtle)}.cal .cell.today{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}.cal .cell.has{cursor:pointer}.cal .cell .d{font-size:var(--fs-xs);font-weight:650}.cal .cell .pill{border-radius:var(--r-full);background:var(--brand-100);color:var(--brand-700);padding:1px 5px;font-size:10px;font-weight:650}.cal .cell .pill.imp{background:var(--info-bg);color:var(--info)}.skeleton{background:linear-gradient(90deg, var(--surface-3) 25%, var(--surface-2) 37%, var(--surface-3) 63%);border-radius:var(--r-sm);background-size:400% 100%;animation:1.3s infinite shimmer}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.divider{background:var(--border);height:1px;margin:var(--s-2) 0}.toolbar{align-items:center;gap:var(--s-3);flex-wrap:wrap;display:flex}.toolbar .input,.toolbar .select{width:auto;min-width:160px}.tabs{border-bottom:1px solid var(--border);gap:2px;display:flex}.tabs button{color:var(--text-muted);font-weight:600;font-size:var(--fs-sm);cursor:pointer;transition:color var(--dur-1) ease;background:0 0;border:none;padding:11px 14px;position:relative}.tabs button:hover,.tabs button.active{color:var(--ink)}.tabs button.active:after{content:"";background:var(--brand);border-radius:2px;height:2px;position:absolute;bottom:-1px;left:10px;right:10px}.def-list{gap:var(--s-2) var(--s-5);font-size:var(--fs-sm);grid-template-columns:max-content 1fr;display:grid}.def-list dt{color:var(--text-muted)}.def-list dd{color:var(--ink);margin:0;font-weight:600}.login-wrap{grid-template-columns:1.05fr 1fr;min-height:100vh;display:grid}.login-aside{background:linear-gradient(160deg, var(--brand-600), var(--brand-700) 60%, #4a1e0a);color:#fff;padding:var(--s-12);flex-direction:column;justify-content:space-between;display:flex}.login-main{padding:var(--s-8);place-items:center;display:grid}.login-card{gap:var(--s-5);flex-direction:column;width:min(376px,100%);display:flex}.login-card h1{font-size:var(--fs-xl)}.pw-wrap{position:relative}.pw-wrap .input{padding-right:42px}.pw-wrap button{color:var(--text-subtle);cursor:pointer;border-radius:var(--r-sm);background:0 0;border:none;padding:6px;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.pw-wrap button:hover{color:var(--text)}.demo-hint{font-size:var(--fs-xs);color:var(--text-subtle);background:var(--surface-2);border:1px dashed var(--border-strong);padding:var(--s-3) var(--s-4);border-radius:var(--r-md);line-height:1.8}.demo-hint strong{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:700}.terminal{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.terminal-bar{height:56px;padding:0 var(--s-6);background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.terminal-bar strong{font-size:var(--fs-md);letter-spacing:-.01em}.service-strip{align-items:center;gap:var(--s-6);padding:var(--s-3) var(--s-6);background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.service-strip .ss-period{align-items:center;gap:var(--s-3);min-width:190px;display:flex}.service-strip .ss-period strong{font-size:var(--fs-sm)}.service-strip .ss-period .subtle{font-size:var(--fs-xs)}.service-strip .ss-dot{background:var(--border-strong);border-radius:50%;flex-shrink:0;width:9px;height:9px}.service-strip .ss-dot.live{background:var(--success);box-shadow:0 0 0 4px color-mix(in srgb, var(--success) 22%, transparent)}.service-strip .ss-stats{gap:var(--s-6);display:flex}.service-strip .ss-stat{flex-direction:column;line-height:1.15;display:flex}.service-strip .ss-stat .v{font-size:var(--fs-lg);color:var(--ink);font-variant-numeric:tabular-nums;font-weight:800}.service-strip .ss-stat .l{letter-spacing:.06em;text-transform:uppercase;color:var(--text-subtle);font-size:10px;font-weight:700}.service-strip .ss-stat.bad .v{color:var(--danger)}.service-strip .ss-progress{border-radius:var(--r-full);background:var(--surface-3);flex:1;min-width:120px;height:6px;overflow:hidden}.service-strip .ss-progress>span{border-radius:var(--r-full);background:var(--brand);height:100%;transition:width var(--dur-2) var(--ease-out);display:block}.service-strip .ss-guests{align-items:center;gap:var(--s-2);border-radius:var(--r-full);background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);font-size:var(--fs-xs);cursor:pointer;transition:border-color var(--dur-1) ease, color var(--dur-1) ease;margin-left:auto;padding:6px 12px;font-weight:600;display:flex}.service-strip .ss-guests:hover{border-color:var(--text-subtle);color:var(--ink)}.service-strip .ss-guests strong{font-size:var(--fs-sm)}.service-strip .ss-guest-badge{background:var(--brand-100);color:var(--brand-700);border-radius:var(--r-full);padding:1px 8px;font-weight:700}.terminal-stage{padding:clamp(var(--s-6), 6vh, 64px) var(--s-6) var(--s-10);flex:1;place-items:start center;display:grid;position:relative}.terminal-stage.is-scan:before{content:"";pointer-events:none;background:radial-gradient(60% 50% at 50% 0%, color-mix(in srgb, var(--brand) 12%, transparent), transparent 70%);width:640px;height:420px;position:absolute;top:-40px;left:50%;transform:translate(-50%)}.terminal-panel{width:min(680px,100%);position:relative}.scan-station{gap:var(--s-4);flex-direction:column;width:min(560px,100%);margin:0 auto;display:flex}.scan-box{gap:var(--s-5);padding:var(--s-8) var(--s-8) var(--s-6);border-top:3px solid var(--brand);box-shadow:var(--shadow-md);flex-direction:column;align-items:stretch;display:flex}.scan-box h2{font-size:var(--fs-xl)}.scan-box .scan-icon{border-radius:var(--r-lg);width:52px;height:52px;color:var(--brand);background:var(--brand-tint);border:1px solid var(--brand-200);align-self:center;place-items:center;display:grid}.scan-field{position:relative}.scan-field .scan-field-ico{color:var(--text-subtle);pointer-events:none;position:absolute;top:50%;left:18px;transform:translateY(-50%)}.scan-big-input{font-size:var(--fs-xl);text-align:center;letter-spacing:.08em;border-width:2px;padding:18px 20px 18px 50px;font-weight:600}.scan-big-input::placeholder{letter-spacing:.08em;font-weight:500}.scan-guests{align-items:center;gap:var(--s-2);border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);font-weight:600;font-size:var(--fs-sm);cursor:pointer;transition:border-color var(--dur-1) ease, background var(--dur-1) ease;padding:11px 14px;display:flex}.scan-guests:hover{border-color:var(--brand-200);background:var(--brand-tint);color:var(--ink)}.demo-box{border:1px dashed var(--border-strong);border-radius:var(--r-md);background:var(--surface-2);padding:var(--s-3) var(--s-4);gap:var(--s-2);flex-direction:column;display:flex}.demo-box-tag{letter-spacing:.1em;text-transform:uppercase;color:var(--text-subtle);align-items:center;gap:6px;font-size:10px;font-weight:800;display:flex}.demo-box-tag:before{content:"";background:var(--warning);border-radius:50%;width:6px;height:6px}.demo-box .btn{background:var(--surface)}@media (width<=620px){.service-strip{gap:var(--s-3);padding:var(--s-3) var(--s-4)}.service-strip .ss-progress{flex-basis:100%;order:5}.service-strip .ss-guests{margin-left:0}.scan-box{padding:var(--s-6) var(--s-5)}}.pinpad{gap:var(--s-3);grid-template-columns:repeat(3,1fr);display:grid}.pinpad button{font-size:var(--fs-xl);border-radius:var(--r-lg);border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;padding:20px 0;font-weight:650}.pinpad button:hover{background:var(--surface-3)}.pin-dots{gap:var(--s-3);margin:var(--s-4) 0;justify-content:center;display:flex}.pin-dots .d{border:2px solid var(--border-strong);border-radius:50%;width:16px;height:16px}.pin-dots .d.on{background:var(--brand);border-color:var(--brand)}.verify-card{gap:var(--s-6);align-items:center;display:flex}.big-outcome{align-items:center;gap:var(--s-4);text-align:center;padding:var(--s-8) 0;flex-direction:column;display:flex}.big-outcome .mark{border-radius:50%;place-items:center;width:84px;height:84px;display:grid;position:relative}.big-outcome .mark svg{z-index:1;width:44px;height:44px;position:relative}.big-outcome.ok .mark{background:var(--success-bg);color:var(--success);animation:markPop .28s var(--ease-out)}.big-outcome.ok .mark:after{content:"";border:2px solid var(--success);animation:markRing .6s var(--ease-out) forwards;border-radius:50%;position:absolute;inset:0}.big-outcome.bad .mark{background:var(--danger-bg);color:var(--danger);animation:markPop .24s var(--ease-out)}.big-outcome.warn .mark{background:var(--warning-bg);color:var(--warning);animation:markPop .24s var(--ease-out)}.big-outcome h1{font-size:var(--fs-3xl)}@keyframes markPop{0%{opacity:0;transform:scale(.7)}}@keyframes markRing{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(1.5)}}.kbd{font-family:var(--font-mono);border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--text-muted);border-bottom-width:2px;padding:2px 6px;font-size:11px}.stepper{gap:var(--s-2);flex-wrap:wrap;display:flex}.stepper .step{align-items:center;gap:var(--s-2);font-size:var(--fs-xs);color:var(--text-subtle);font-weight:600;display:flex}.stepper .step .n{background:var(--surface-3);border-radius:50%;place-items:center;width:22px;height:22px;font-size:11px;display:grid}.stepper .step.active{color:var(--brand-700)}.stepper .step.active .n{background:var(--brand);color:#fff}.stepper .step.done .n{background:var(--success);color:#fff}.dropzone{border:2px dashed var(--border-strong);border-radius:var(--r-lg);padding:var(--s-8);text-align:center;color:var(--text-muted);cursor:pointer;transition:border-color .12s,background .12s}.dropzone:hover,.dropzone.drag{border-color:var(--brand);background:var(--brand-50)}.result-tiles{gap:var(--s-3);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));display:grid}.result-tiles .rt{padding:var(--s-4);border-radius:var(--r-md);border:1px solid var(--border);text-align:center}.result-tiles .rt .n{font-size:var(--fs-xl);font-weight:720}@media (width<=1024px){.shell{grid-template-columns:1fr}.sidebar{z-index:60;width:260px;transition:transform .18s;position:fixed;transform:translate(-100%)}.sidebar.open{transform:none}.scrim{background:var(--overlay);z-index:55;position:fixed;inset:0}.menu-btn{display:inline-flex}.login-wrap{grid-template-columns:1fr}.login-aside{display:none}}@media (width>=1025px){.menu-btn{display:none}}@media (width<=640px){.page{padding:var(--s-4)}.topbar{padding:0 var(--s-4)}.verify-card{text-align:center;flex-direction:column}.def-list{gap:2px var(--s-3);grid-template-columns:1fr}.def-list dt{margin-top:var(--s-2)}}@media (prefers-reduced-motion:reduce){*{transition-duration:.001ms!important;animation-duration:.001ms!important}}.emp-page{justify-content:center;align-items:center;gap:var(--s-4);min-height:100dvh;padding:var(--s-6) var(--s-4);background:radial-gradient(120% 60% at 50% -10%, var(--brand-tint), transparent 60%), var(--bg);flex-direction:column;display:flex}.emp-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);width:100%;max-width:400px;box-shadow:var(--shadow-lg);padding:var(--s-8) var(--s-6)}.emp-brand{align-items:center;gap:var(--s-3);font-weight:700;font-size:var(--fs-lg);color:var(--ink);margin-bottom:var(--s-6);display:flex}.emp-form{flex-direction:column;display:flex}.emp-form h1{font-size:var(--fs-2xl);margin:0 0 var(--s-1);color:var(--ink)}.emp-sub{color:var(--text-muted);font-size:var(--fs-sm);margin:0 0 var(--s-5)}.emp-label{font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--text-subtle);margin-bottom:var(--s-2);font-weight:600}.emp-label+.emp-input{margin-bottom:var(--s-4)}.emp-input{width:100%;height:52px;padding:0 var(--s-4);font-size:var(--fs-lg);font-family:var(--font);color:var(--text);background:var(--surface-2);border:1.5px solid var(--border);border-radius:var(--r-md);transition:border-color var(--dur-1) var(--ease-out), background var(--dur-1) var(--ease-out);outline:none}.emp-input:focus{border-color:var(--brand);background:var(--surface)}.emp-btn{width:100%;height:52px;margin-top:var(--s-2);font-size:var(--fs-md);font-weight:600;font-family:var(--font);color:var(--brand-contrast);background:var(--brand);border-radius:var(--r-md);cursor:pointer;transition:background var(--dur-1) var(--ease-out), transform var(--dur-1) var(--ease-out);border:none}.emp-btn:hover:not(:disabled){background:var(--brand-600)}.emp-btn:active:not(:disabled){transform:translateY(1px)}.emp-btn:disabled{opacity:.6;cursor:default}.emp-btn.ghost{color:var(--text-muted);border:1.5px solid var(--border);margin-top:var(--s-5);background:0 0}.emp-btn.ghost:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}.emp-alert{align-items:flex-start;gap:var(--s-2);padding:var(--s-3) var(--s-4);margin-bottom:var(--s-4);font-size:var(--fs-sm);color:var(--danger);background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:var(--r-md);display:flex}.emp-state{text-align:center;flex-direction:column;align-items:center;display:flex}.emp-state h1{font-size:var(--fs-2xl);margin:var(--s-4) 0 var(--s-1);color:var(--ink)}.emp-name{font-size:var(--fs-lg);color:var(--ink);margin:0 0 var(--s-1);font-weight:600}.emp-mark{border-radius:var(--r-full);color:#fff;place-items:center;width:72px;height:72px;display:grid}.emp-mark.ok{background:var(--success)}.emp-mark.bad{background:var(--danger)}.emp-mark.big{width:88px;height:88px}.emp-dots{margin:var(--s-4) 0 var(--s-2);gap:7px;display:flex}.emp-dots span{border-radius:var(--r-full);background:var(--brand);width:9px;height:9px;animation:emp-bounce 1.2s var(--ease-out) infinite}.emp-dots span:nth-child(2){animation-delay:.15s}.emp-dots span:nth-child(3){animation-delay:.3s}@keyframes emp-bounce{0%,80%,to{opacity:.3}40%{opacity:1}}.emp-waiting{font-size:var(--fs-sm);color:var(--text-muted);margin:0}.emp-login{font-size:var(--fs-sm);color:var(--text-muted);padding:var(--s-2) var(--s-3);border-radius:var(--r-full);align-items:center;gap:4px;font-weight:600;text-decoration:none;display:inline-flex}.emp-login:hover{color:var(--brand);background:var(--surface)}.scan-count{min-width:20px;height:20px;font-size:var(--fs-xs);color:var(--brand-contrast);background:var(--brand);border-radius:var(--r-full);place-items:center;padding:0 6px;font-weight:700;display:inline-grid}.emp-eyebrow{font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--brand);margin:0 0 var(--s-1);font-weight:700}.emp-question{color:var(--ink);margin:var(--s-5) 0 var(--s-2);text-align:center;font-weight:600}.emp-mark.info{background:var(--brand)}.emp-btn.as-link{place-items:center;text-decoration:none;display:grid}.offer{gap:var(--s-3);margin-top:var(--s-3);flex-direction:column;display:flex}.offer-choices{gap:var(--s-2);display:grid}.offer-choice{text-align:left;padding:var(--s-3) var(--s-4);font-family:var(--font);color:var(--text);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r-md);cursor:pointer;flex-direction:column;align-items:flex-start;gap:2px;display:flex}.offer-choice .k,.offer-side .k{font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--text-subtle);font-weight:700}.offer-choice .v,.offer-dish .v{font-size:var(--fs-md);color:var(--ink);font-weight:600}.offer-choice.on{border-color:var(--brand);background:var(--brand-tint)}.offer-choice.on .k{color:var(--brand)}.offer-dish{flex-direction:column;gap:2px;display:flex}.offer-dish .alt{font-size:var(--fs-sm);color:var(--text-muted)}.offer-side{font-size:var(--fs-sm);color:var(--text)}.offer-money{border-top:1px solid var(--border);padding-top:var(--s-2);margin:0}.offer-money div{font-size:var(--fs-sm);justify-content:space-between;padding:3px 0;display:flex}.offer-money dt{color:var(--text-muted)}.offer-money dd{font-variant-numeric:tabular-nums;margin:0}.offer-money .total dd{color:var(--ink);font-weight:700;font-size:var(--fs-md)}.offer-money .you dd{color:var(--brand-strong);font-weight:700}.login-switch{gap:var(--s-2);grid-template-columns:1fr 1fr;display:grid}.login-switch button{text-align:left;padding:var(--s-3);font-family:var(--font);background:var(--surface);color:var(--text);border:1.5px solid var(--border);border-radius:var(--r-md);cursor:pointer;flex-direction:column;align-items:flex-start;gap:2px;display:flex}.login-switch .t{font-weight:700;font-size:var(--fs-sm);color:var(--ink)}.login-switch .d{font-size:var(--fs-xs);color:var(--text-subtle)}.login-switch button.on{border-color:var(--brand);background:var(--brand-tint)}.login-back{font-size:var(--fs-sm);color:var(--text-muted);align-self:flex-start;align-items:center;gap:4px;text-decoration:none;display:inline-flex}.login-back:hover{color:var(--brand)}.input.otp{font-size:var(--fs-xl);letter-spacing:.4em;text-align:center;font-variant-numeric:tabular-nums}.portal{background:var(--bg);min-height:100dvh}.portal-top{z-index:10;align-items:center;gap:var(--s-4);padding:0 var(--s-4);background:var(--surface);border-bottom:1px solid var(--border);height:56px;display:flex;position:sticky;top:0}.portal-brand{align-items:center;gap:var(--s-2);color:var(--ink);font-weight:700;text-decoration:none;display:flex}.portal-tabs{gap:var(--s-1);flex:1;display:flex}.portal-tabs a{padding:6px var(--s-3);font-size:var(--fs-sm);color:var(--text-muted);border-radius:var(--r-sm);align-items:center;gap:6px;font-weight:600;text-decoration:none;display:inline-flex}.portal-tabs a:hover{color:var(--ink);background:var(--surface-2)}.portal-tabs a.on{color:var(--brand-strong);background:var(--brand-tint)}.portal-user{align-items:center;gap:var(--s-1);margin-left:auto;display:flex}.portal-user .name{font-size:var(--fs-sm);margin-right:var(--s-2);font-weight:600}.portal-main{max-width:760px;padding:var(--s-6) var(--s-4) 96px;margin:0 auto}.portal-h1{font-size:var(--fs-2xl);color:var(--ink);margin:0}.portal-section{border-top:1px solid var(--border);padding-top:var(--s-4);gap:var(--s-3);flex-direction:column;display:flex}.portal-section h2{font-size:var(--fs-md);color:var(--ink);margin:0}.portal-section .btn{align-self:flex-start}.portal-note{font-size:var(--fs-sm);color:var(--text-muted);align-items:center;gap:6px;margin:0;display:inline-flex}.portal-note.strong{color:var(--warning);font-weight:600}.portal-note.block{margin-top:var(--s-2);display:block}.menu-block{gap:var(--s-3);padding:var(--s-3);border:1px solid var(--border);border-radius:var(--r-md);flex-direction:column;display:flex}.menu-block+.menu-block{margin-top:var(--s-3)}.menu-block.indian{border-color:var(--brand-200)}.menu-block.booked{border-color:var(--success)}.menu-title{font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--text-subtle);margin:0;font-weight:700}.menu-block.indian .menu-title{color:var(--brand)}.menu-switch{border:1px solid var(--border);border-radius:var(--r-md);display:inline-flex;overflow:hidden}.menu-switch button{background:var(--surface);color:var(--text);font:inherit;font-size:var(--fs-sm);cursor:pointer;border:0;padding:6px 12px}.menu-switch button.on{background:var(--brand);color:#fff;font-weight:600}.emp-menu-tag{margin-bottom:var(--s-2);background:var(--brand-tint);color:var(--brand);font-size:var(--fs-xs);border-radius:999px;padding:2px 10px;font-weight:700;display:inline-block}.portal-more{font-size:var(--fs-sm);color:var(--brand-strong);align-items:center;gap:4px;font-weight:600;text-decoration:none;display:inline-flex}.portal-costs{gap:var(--s-3);grid-template-columns:repeat(4,1fr);margin:0;display:grid}.portal-costs div{flex-direction:column;gap:2px;display:flex}.portal-costs dt{font-size:var(--fs-xs);color:var(--text-subtle);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.portal-costs dd{font-size:var(--fs-lg);color:var(--ink);font-variant-numeric:tabular-nums;margin:0;font-weight:700}.portal-costs .you dd{color:var(--brand-strong)}.portal-list{margin:0;padding:0;list-style:none}.portal-list li{justify-content:space-between;gap:var(--s-3);padding:var(--s-3) 0;border-bottom:1px solid var(--border);display:flex}.portal-list li:last-child{border-bottom:none}.portal-list .main{flex-direction:column;gap:2px;min-width:0;display:flex}.portal-list .side{text-align:right;flex-direction:column;align-items:flex-end;gap:4px;display:flex}.portal-list .money{font-size:var(--fs-xs);color:var(--text-muted);font-variant-numeric:tabular-nums}.portal-menu tr.today td{background:var(--brand-tint)}@media (width<=760px){.portal-top{padding:0 var(--s-3)}.portal-tabs{z-index:20;padding:6px 4px calc(6px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border);justify-content:space-around;gap:0;position:fixed;bottom:0;left:0;right:0}.portal-tabs a{flex-direction:column;gap:2px;padding:4px 6px;font-size:11px}.portal-user .name{display:none}.portal-costs{grid-template-columns:repeat(2,1fr)}.login-switch{grid-template-columns:1fr}}.bell,.bell>.btn{position:relative}.bell-count{min-width:16px;height:16px;color:var(--brand-contrast);background:var(--brand);border-radius:var(--r-full);place-items:center;padding:0 4px;font-size:10px;font-weight:700;display:grid;position:absolute;top:0;right:0}.bell-panel{z-index:50;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);width:min(360px,92vw);max-height:420px;box-shadow:var(--shadow-lg);position:absolute;top:calc(100% + 6px);right:0;overflow:auto}.bell-head{padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.bell-panel ul{margin:0;padding:0;list-style:none}.bell-panel li button{text-align:left;width:100%;padding:var(--s-3);font-family:var(--font);font-size:var(--fs-sm);color:var(--text);border:none;border-bottom:1px solid var(--border);cursor:pointer;background:0 0;flex-direction:column;gap:2px;display:flex}.bell-panel li button:hover{background:var(--surface-2)}.bell-panel li button.unread{background:var(--brand-tint)}.bell-panel li button span{font-size:var(--fs-xs)}.demand-grid{gap:var(--s-5);grid-template-columns:repeat(3,1fr);display:grid}.demand-col .k{font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--text-subtle);font-weight:700}.demand-col dl{gap:4px var(--s-3);margin:var(--s-2) 0 0;font-size:var(--fs-sm);grid-template-columns:1fr auto;display:grid}.demand-col dd{text-align:right;font-variant-numeric:tabular-nums;margin:0;font-weight:600}.demand-col .sub{color:var(--text-muted);font-weight:400}.demand-col .total{color:var(--ink);border-top:1px solid var(--border);padding-top:4px;font-weight:700}.demand-days{gap:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.demand-day{gap:var(--s-2);flex-direction:column;display:flex}.demand-mini{margin:0}.demand-mini div{font-size:var(--fs-sm);justify-content:space-between;padding:2px 0;display:flex}.demand-mini dt{color:var(--text-muted)}.demand-mini dd{font-variant-numeric:tabular-nums;margin:0;font-weight:600}table.data tr.total-row td{border-top:2px solid var(--border-strong);background:var(--surface-2)}@media (width<=760px){.demand-grid{grid-template-columns:1fr}}.install-app{flex-direction:column;align-items:center;gap:4px;display:inline-flex}.install-app .emp-login{cursor:pointer;font-family:var(--font);background:0 0;border:none}.install-hint{font-size:var(--fs-xs);color:var(--text-muted);text-align:center;max-width:220px}.emp-first-time{font-size:var(--fs-sm);color:var(--text);background:var(--brand-tint);border:1px solid var(--brand-200);border-radius:var(--r-md);padding:var(--s-2) var(--s-3);margin:calc(-1 * var(--s-2)) 0 var(--s-4)}.offer-ask{font-size:var(--fs-sm);color:var(--ink);font-weight:600}.shell{grid-template-columns:var(--sidebar-w) minmax(0, 1fr)}.main{overflow-x:clip}.page{min-width:0}.card-head,.card-head>.row{flex-wrap:wrap}@media (width<=1024px){.shell{grid-template-columns:minmax(0,1fr)}}@media (width<=640px){.page-head{align-items:stretch}.page-head>.row,.page-head>div:last-child{flex-wrap:wrap}.page-head .btn{flex:auto;justify-content:center}.page-head h1{font-size:var(--fs-xl)}.page>.row{flex-wrap:wrap}.page>.row>.btn{flex:auto;justify-content:center}.toolbar{align-items:stretch}.toolbar>*,.toolbar .input,.toolbar .select,.toolbar .pw-wrap{width:100%;min-width:0!important}.toolbar .field{flex:100%}.card-head{padding:var(--s-3) var(--s-4)}.card-head .input{width:100%!important}.card-body{padding:var(--s-4)}table.data th,table.data td{padding:9px 10px}.usermenu{gap:var(--s-1)}.usermenu .btn{padding-left:8px;padding-right:8px}.modal{width:calc(100vw - 24px);max-width:none}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.demand-grid{gap:var(--s-4)}.terminal-bar{padding:0 var(--s-3);gap:var(--s-2)}.terminal-bar strong{font-size:var(--fs-sm);line-height:1.2}.terminal-bar .tb-user,.terminal-bar .tb-label{display:none}.terminal-bar>.row{gap:var(--s-1);flex-shrink:0}.terminal-bar>.row:first-child{flex-shrink:1;min-width:0}.service-strip .ss-period{min-width:0}}.terminal{overflow-x:clip}.terminal-stage{grid-template-columns:minmax(0,1fr)}.terminal-panel{min-width:0}.req-row{height:auto;min-height:56px;padding-top:var(--s-2);padding-bottom:var(--s-2);white-space:normal;text-align:left;justify-content:space-between;width:100%}.req-row .req-who{flex:1;align-items:center;min-width:0}.req-row .req-text{align-items:flex-start;min-width:0}.req-row .req-text>*{overflow-wrap:anywhere}@media (width<=640px){.vendor-scope .topbar{height:auto;min-height:56px;padding-top:var(--s-2);padding-bottom:var(--s-2);row-gap:var(--s-2);flex-wrap:wrap}.vendor-scope .topbar>.spacer{display:none}.vendor-scope .topbar>nav{flex-wrap:wrap;justify-content:flex-end;width:100%}.terminal-stage{padding-left:var(--s-3);padding-right:var(--s-3)}.terminal-stage.is-scan:before{width:100%}}.book-all{justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);background:var(--brand-tint);border:1px solid var(--brand-200);border-radius:var(--r-md);font-size:var(--fs-sm);flex-wrap:wrap;display:flex}
