:root{--bg-void: #060609;--bg-base: #09090B;--bg-elevated: #111118;--bg-panel: #16161F;--bg-hover: #1D1D28;--bg-active: #252533;--border-subtle: rgba(255, 255, 255, .05);--border-default: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .13);--text-primary: #F5F3FF;--text-secondary: #A19DB8;--text-muted: #6B6780;--text-inverse: #09090B;--accent: #8B5CF6;--accent-soft: rgba(139, 92, 246, .14);--accent-strong: #A78BFA;--accent-glow: 0 0 40px rgba(139, 92, 246, .12);--signal: #10B981;--signal-soft: rgba(16, 185, 129, .12);--danger: #EF4444;--danger-soft: rgba(239, 68, 68, .12);--success: #10B981;--success-soft: rgba(16, 185, 129, .12);--warning: #F59E0B;--warning-soft: rgba(245, 158, 11, .12);--accent-light: color-mix(in srgb, var(--accent) 15%, transparent);--signal-light: color-mix(in srgb, var(--signal) 15%, transparent);--danger-light: color-mix(in srgb, var(--danger) 15%, transparent);--success-light: color-mix(in srgb, var(--success) 15%, transparent);--warning-light: color-mix(in srgb, var(--warning) 15%, transparent);--bg-glass: rgba(22, 22, 31, .65);--bg-glass-hover: rgba(29, 29, 40, .8);--bg-surface-glass: color-mix(in srgb, var(--bg-elevated) 40%, transparent);--glass-border: rgba(139, 92, 246, .08);--ring-accent: 0 0 0 2px var(--accent-light);--font-sans: "DM Sans", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--text-3xl: 2.25rem;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 22px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 8px 24px rgba(0, 0, 0, .5);--shadow-glow: 0 0 40px rgba(139, 92, 246, .12);--shadow-panel: 0 4px 24px rgba(0, 0, 0, .3);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 28px;--space-8: 36px;--space-10: 48px;--space-12: 56px;--nav-width: 220px;--header-height: 52px;--bottom-nav-h: 56px;--content-max: 1200px}*,*:before,*:after{box-sizing:border-box}html{height:100%;overflow:hidden}html,body,#root{height:100%;max-height:100dvh}body{margin:0;font-family:var(--font-sans);font-size:var(--text-md);line-height:1.5;color:var(--text-primary);background:radial-gradient(1000px 500px at 20% -5%,rgba(139,92,246,.06),transparent 55%),radial-gradient(800px 400px at 100% 0%,rgba(16,185,129,.04),transparent 50%),var(--bg-base);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;overflow:hidden;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) 0 env(safe-area-inset-left,0px)}#root{display:flex;flex-direction:column;min-height:0;overflow:hidden}button,input,select{font:inherit;color:inherit}a{color:var(--accent-strong);text-decoration:none}a:hover{text-decoration:underline}.app-shell{--bottom-nav-h: 0px;height:100%;max-height:100dvh;min-height:0;background:var(--bg-base);overflow:hidden}.app-shell[data-layout=desktop]{display:grid;grid-template-columns:var(--nav-width) 1fr;grid-template-rows:1fr}.app-shell[data-layout=desktop] .app-column{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;height:100%}.app-shell[data-layout=desktop] .main-desktop{flex:1;min-height:0;overflow:auto;padding:var(--space-5) var(--space-6) var(--space-10)}.app-shell[data-layout=phone]{--bottom-nav-h: calc(56px + env(safe-area-inset-bottom, 0px)) ;display:flex;flex-direction:column;max-height:100svh}.app-shell[data-layout=phone] .app-column{flex:1 1 auto;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.app-shell[data-layout=phone] .top-bar{position:relative;flex-shrink:0;height:48px;padding-left:14px;padding-right:10px}.app-shell[data-layout=phone] .top-bar-title{font-size:16px;font-weight:700}.app-shell[data-layout=phone] .main-phone{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;padding:12px 14px 16px}.app-shell[data-layout=phone] .page-header h1{display:none}.app-shell[data-layout=phone] .page-header{margin-bottom:10px;align-items:center}.app-shell[data-layout=phone] .page-header p{margin:0;font-size:13px}.app-shell[data-layout=phone] .page-header-compact{margin-bottom:8px}.app-column{min-width:0;min-height:0}.side-nav{position:sticky;top:0;height:100dvh;border-right:1px solid var(--border-subtle);background:var(--bg-base);display:flex;flex-direction:column;overflow:hidden}.side-nav-brand{display:flex;align-items:center;gap:var(--space-3);height:var(--header-height);padding:0 var(--space-4);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.brand-mark{width:28px;height:28px;border-radius:8px;background:var(--accent);display:grid;place-items:center;font-weight:700;color:#fff;font-size:var(--text-sm);flex-shrink:0}.brand-text{display:flex;flex-direction:column;line-height:1.15;min-width:0}.brand-text strong{font-size:13px;font-weight:600;letter-spacing:-.01em;color:var(--text-primary)}.brand-text span{font-size:11px;color:var(--text-muted);font-weight:500}.side-nav-scroll{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--space-3) var(--space-2) var(--space-4);scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.12) transparent}.side-nav-scroll::-webkit-scrollbar{width:6px}.side-nav-scroll::-webkit-scrollbar-track{background:transparent;margin:4px 0}.side-nav-scroll::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:999px;border:1px solid transparent;background-clip:padding-box}.side-nav-scroll:hover::-webkit-scrollbar-thumb{background:#ffffff2e;background-clip:padding-box}.side-nav-scroll::-webkit-scrollbar-thumb:active{background:#8b5cf659;background-clip:padding-box}.side-nav-scroll::-webkit-scrollbar-button{display:none;width:0;height:0}.side-nav-scroll::-webkit-scrollbar-corner{background:transparent}.nav-section+.nav-section{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-subtle)}.nav-section-label{margin:0 0 var(--space-1);padding:0 var(--space-3);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.nav-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}.nav-item{width:100%;text-align:left;border:0;background:transparent;color:var(--text-secondary);padding:8px 12px;border-radius:8px;cursor:pointer;transition:background .12s,color .12s;font-weight:500;font-size:13px;display:flex;align-items:center;gap:10px;text-decoration:none;position:relative;min-height:36px}.nav-item:hover{background:#ffffff0a;color:var(--text-primary);text-decoration:none}.nav-item.active{background:var(--accent-soft);color:var(--accent-strong);font-weight:600}.nav-item.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:2px;border-radius:0 2px 2px 0;background:var(--accent)}.nav-item:focus-visible{outline:none;box-shadow:var(--ring-accent)}.top-bar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);height:var(--header-height);padding:0 var(--space-5);border-bottom:1px solid var(--border-subtle);background:color-mix(in srgb,var(--bg-base) 88%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);flex-shrink:0}.top-bar-left{min-width:0;flex:1}.top-bar-title-block{display:flex;flex-direction:column;gap:1px;min-width:0}.top-bar-section{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);line-height:1.2}.top-bar-title{margin:0;font-size:15px;font-weight:650;letter-spacing:-.02em;color:var(--text-primary);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-bar-center{position:absolute;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:6px;font-size:13px;pointer-events:none}.top-bar-crumb{font-weight:500;color:var(--text-secondary)}.top-bar-crumb.muted{color:var(--text-muted);font-weight:500}.top-bar-sep{color:#ffffff1f}.top-bar-right{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0;margin-left:auto}.top-bar-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-pill);border:1px solid var(--border-subtle);background:transparent;font-size:11px;font-weight:600;color:var(--text-secondary);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-bar-chip-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.top-bar-chip-dot.live{background:var(--success);box-shadow:0 0 6px #10b98173}.top-bar-user{display:flex;align-items:center;gap:10px;min-width:0;padding:4px 8px 4px 4px;border-radius:10px}.top-bar-avatar{width:28px;height:28px;border-radius:999px;display:grid;place-items:center;background:var(--accent);color:#fff;font-size:11px;font-weight:700;letter-spacing:.02em;flex-shrink:0}.top-bar-user-meta{display:flex;flex-direction:column;min-width:0;max-width:160px;line-height:1.2}.top-bar-user-name{font-size:12px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-bar-user-email{font-size:11px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-wire-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;margin-left:auto}.nav-wire-dot-live{background:var(--success);box-shadow:0 0 6px #10b98180}.nav-wire-dot-stub{background:var(--warning)}.nav-wire-dot-unknown{background:var(--text-muted)}.wire-footer{margin-top:auto}.wire-footer-db{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-2)}.wire-footer-label{font-size:var(--text-xs);color:var(--text-muted);letter-spacing:.04em;font-weight:600}.wire-footer-rows{display:flex;flex-direction:column;gap:2px}.wire-footer-row{display:flex;align-items:center;gap:var(--space-2);padding:2px var(--space-3);border-radius:var(--radius-sm);font-size:11px;color:var(--text-muted)}.wire-footer-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.wire-footer-dot-live{background:var(--success)}.wire-footer-dot-stub{background:var(--warning)}.wire-footer-dot-unknown{background:var(--text-muted)}.bottom-nav{display:flex;position:relative;z-index:40;flex-shrink:0;width:100%;padding:4px 6px calc(4px + env(safe-area-inset-bottom,0px));background:var(--bg-base);border-top:1px solid var(--border-subtle);gap:2px;justify-content:space-around;align-items:stretch}.bottom-nav .nav-item-compact{flex:1;flex-direction:column;justify-content:center;gap:2px;padding:6px 2px;font-size:10px;font-weight:500;min-height:48px;border-radius:10px;color:var(--text-muted)}.bottom-nav .nav-item-compact span{line-height:1.1;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bottom-nav .nav-item.active{background:var(--accent-soft);color:var(--accent-strong)}.bottom-nav .nav-item.active:before{display:none}.bottom-more-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50}.bottom-more-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000008c}.bottom-more-panel{position:absolute;left:0;right:0;bottom:0;border-radius:16px 16px 0 0;max-height:min(70dvh,70vh);overflow:auto;-webkit-overflow-scrolling:touch;padding-bottom:env(safe-area-inset-bottom,0px);background:var(--bg-panel);border:1px solid var(--border-subtle);border-bottom:0}.bottom-more-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 16px 20px}.bottom-more-grid .nav-item-compact{flex-direction:column;min-height:72px;justify-content:center;border:1px solid var(--border-subtle);border-radius:12px;background:var(--bg-elevated)}.main{min-width:0;flex:1;min-height:0}.page-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5)}.page-header h1{margin:0;font-size:var(--text-xl);letter-spacing:-.02em;font-weight:700;line-height:1.2;color:var(--text-primary)}.page-header p{margin:4px 0 0;color:var(--text-secondary);font-size:var(--text-sm);font-weight:400;max-width:52ch;line-height:1.45}.page-header-compact{margin-bottom:var(--space-3)}.page-header h1{font-size:var(--text-lg);font-weight:650;color:var(--text-primary)}.section-label{margin:0 0 var(--space-2);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:2px 8px;border-radius:var(--radius-pill);font-size:11px;font-weight:600;letter-spacing:.02em}.badge-demo{background:var(--signal-soft);color:var(--signal);border:1px solid rgba(16,185,129,.25)}.badge-neon{background:var(--accent-soft);color:var(--accent-strong);border:1px solid rgba(139,92,246,.3)}.btn{border:1px solid var(--border-default);background:var(--bg-elevated);color:var(--text-primary);border-radius:10px;padding:8px 14px;font-weight:600;font-size:13px;line-height:1.2;cursor:pointer;box-shadow:none;transition:background .12s ease,border-color .12s ease,color .12s ease,opacity .12s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.btn:hover{background:var(--bg-hover);border-color:var(--border-strong);text-decoration:none;box-shadow:none}.btn:active{background:var(--bg-active);transform:none;box-shadow:none}.btn:focus-visible{outline:none;box-shadow:var(--ring-accent)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:none}.btn-primary:hover{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff;box-shadow:none}.btn-primary:active{background:#7c3aed;border-color:#7c3aed}.btn-secondary{background:transparent;border-color:var(--border-default);color:var(--text-primary)}.btn-secondary:hover{background:#ffffff0a;border-color:var(--border-strong)}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-secondary)}.btn-ghost:hover{background:#ffffff0a;color:var(--text-primary);border-color:transparent}.btn-ghost:active{background:#ffffff0f}.btn-danger{background:var(--danger-soft);border-color:transparent;color:var(--danger)}.btn-danger:hover{background:color-mix(in srgb,var(--danger) 18%,transparent);border-color:transparent}.btn-sm{min-height:32px;padding:6px 10px;font-size:12px;border-radius:8px;gap:6px}.btn-lg{min-height:44px;padding:12px 18px;font-size:14px}.btn-icon{width:36px;min-width:36px;padding:0}.tap-effect{transition:background .12s ease,color .12s ease,opacity .12s ease;cursor:pointer;-webkit-user-select:none;user-select:none}.tap-effect:active{opacity:.85;transform:none}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-shimmer{background:linear-gradient(to right,var(--bg-elevated) 0%,var(--bg-hover) 50%,var(--bg-elevated) 100%);background-size:200% 100%;animation:shimmer 1.8s ease-in-out infinite;border-radius:var(--radius-md)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.panel{background:var(--bg-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-panel)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle);background:#0000001a}.panel-head h2{margin:0;font-size:var(--text-md);font-weight:600;color:var(--text-primary)}.app-shell[data-layout=phone] .panel{background:var(--bg-panel);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;border-color:var(--border-subtle)}.app-shell[data-layout=phone] .panel-head{padding:12px 16px;background:transparent}.app-shell[data-layout=phone] .panel-head h2{font-size:13px}.grid-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.stat-card{background:var(--bg-glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm)}.app-shell[data-layout=phone] .stat-card{background:var(--bg-panel);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;border-color:var(--border-subtle)}.stat-card .label{font-size:var(--text-xs);color:var(--text-muted);letter-spacing:.04em;font-weight:600}.stat-card .value{margin-top:var(--space-2);font-size:var(--text-xl);font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat-card .hint{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--text-secondary)}.table-wrap{overflow-x:auto}table.data{width:100%;border-collapse:collapse;font-size:var(--text-sm)}table.data th,table.data td{padding:var(--space-3) var(--space-5);text-align:left;border-bottom:1px solid var(--border-subtle);white-space:nowrap}table.data th{color:var(--text-muted);font-weight:600;font-size:var(--text-xs);letter-spacing:.04em}table.data tr:last-child td{border-bottom:0}table.data tr:hover td{background:var(--bg-hover)}table.data .num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right}.loading{padding:var(--space-10);text-align:center;color:var(--text-secondary)}.error-block{padding:var(--space-8);text-align:center;color:var(--danger);background:var(--danger-light);border:1px solid rgba(239,68,68,.25);border-radius:var(--radius-lg)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12) var(--space-6);text-align:center}.empty-state-icon{width:48px;height:48px;border-radius:var(--radius-md);background:var(--bg-elevated);border:1px solid var(--border-subtle);display:grid;place-items:center;margin-bottom:var(--space-4);color:var(--text-muted)}.empty-state h3{font-size:var(--text-md);font-weight:600;margin:0 0 var(--space-1);color:var(--text-primary)}.empty-state p{font-size:var(--text-sm);color:var(--text-secondary);max-width:280px;margin:0 0 var(--space-5);line-height:1.5}.stub-state{padding:var(--space-10);text-align:center;color:var(--text-secondary);border:1px dashed var(--border-default);border-radius:var(--radius-lg);background:#ffffff05;display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:600;background:var(--bg-active);color:var(--text-secondary)}.chip-bom{background:var(--accent-light);color:var(--accent-strong)}.chip-resale{background:var(--signal-soft);color:var(--signal)}.chip-finished{background:var(--success-light);color:var(--success)}.chip-ingredient{background:var(--warning-light);color:var(--warning)}.chip-cat-protein{background:var(--danger-light);color:#f09090}.chip-cat-vegetable{background:var(--success-light);color:var(--success)}.chip-cat-condiment{background:var(--warning-light);color:var(--warning)}.chip-cat-grain{background:var(--accent-light);color:var(--accent-strong)}.chip-cat-oil{background:#c8b46424;color:#d4c070}.chip-cat-beverage{background:var(--signal-soft);color:var(--signal)}.chip-cat-dairy{background:#c8d2e624;color:#b8c4d8}.chip-cat-packaging{background:var(--bg-active);color:var(--text-secondary)}.chip-cat-other{background:var(--bg-active);color:var(--text-muted)}.chip-pending{background:var(--accent-light);color:var(--accent-strong)}.chip-processing{background:var(--signal-soft);color:var(--signal)}.chip-processing:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--signal);animation:pulse-dot 1.5s ease-in-out infinite}.chip-complete{background:var(--success-light);color:var(--success)}.chip-failed{background:var(--danger-light);color:var(--danger)}.chip-active{background:var(--accent-soft);color:var(--accent-strong);border:1px solid rgba(139,92,246,.35)}.loop-banner{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-3);margin-bottom:var(--space-6)}.loop-step{padding:var(--space-4);border-radius:var(--radius-md);border:1px dashed var(--border-default);background:#ffffff05;font-size:var(--text-sm)}.loop-step strong{display:block;color:var(--accent-strong);font-size:var(--text-xs);letter-spacing:.04em;font-weight:600;margin-bottom:var(--space-1)}.pos-layout{display:flex;flex-direction:column;gap:12px;min-height:0}.pos-catalog{min-width:0}@media (min-width: 900px){.pos-layout{display:grid;grid-template-columns:1fr minmax(340px,400px);align-items:start;gap:var(--space-5)}.pos-ticket{position:sticky;top:var(--space-4)}}.pos-filters{display:flex;flex-wrap:nowrap;gap:8px;margin-bottom:10px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}.pos-filters::-webkit-scrollbar{display:none}.pos-filters .chip{flex-shrink:0}.product-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}@media (min-width: 520px){.product-grid{grid-template-columns:repeat(3,1fr);gap:10px}}.product-tile{min-height:96px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-glass);padding:14px;text-align:left;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer;color:inherit;transition:border-color .15s,background .15s;-webkit-appearance:none;-moz-appearance:none;appearance:none}.product-tile:hover{border-color:var(--glass-border)}.product-tile:active{background:var(--bg-hover)}.app-shell[data-layout=phone] .product-tile{min-height:88px;padding:12px;background:var(--bg-panel);border-radius:12px}.product-tile-name{font-weight:600;font-size:var(--text-sm);line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-tile-price{font-family:var(--font-mono);font-size:var(--text-md);color:var(--accent-strong);font-weight:600;margin-top:8px}.segmented{display:flex;gap:4px;padding:10px 14px 0}.segmented-item{flex:1;min-height:40px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font-weight:600;font-size:12px;cursor:pointer;transition:background .15s,color .15s}.segmented-item.active{background:var(--accent-soft);color:var(--accent-strong);border-color:#8b5cf659}.ticket-lines{padding:12px 16px;max-height:45vh;overflow:auto}.ticket-line{display:flex;flex-direction:column;padding:14px 0;border-bottom:1px solid var(--border-subtle);gap:10px}.ticket-line:last-child{border-bottom:0}.ticket-line-main{display:flex;justify-content:space-between;align-items:baseline}.ticket-line-name{font-weight:600;font-size:var(--text-sm)}.ticket-line-price{font-size:var(--text-xs);color:var(--text-muted);font-family:var(--font-mono)}.ticket-line-actions{display:flex;justify-content:space-between;align-items:center}.ticket-line-qty{display:flex;align-items:center;gap:8px}.ticket-line-subtotal{font-family:var(--font-mono);font-weight:600;font-size:var(--text-sm);color:var(--text-primary)}.qty-btn{width:36px;height:36px;border-radius:var(--radius-sm);border:1px solid var(--border-default);background:var(--bg-elevated);color:inherit;display:grid;place-items:center;cursor:pointer;transition:background .15s,border-color .15s}.qty-btn:hover{background:var(--bg-hover);border-color:var(--border-strong)}.ticket-footer{padding:14px 16px 18px;border-top:1px solid var(--border-subtle);background:#0000001a}.ticket-totals{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.ticket-subtotal-row{display:flex;justify-content:space-between;font-size:var(--text-sm);color:var(--text-secondary)}.ticket-total-row{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--text-lg);font-weight:700;font-variant-numeric:tabular-nums}.ticket-actions{display:flex;gap:8px}.btn-charge{flex:1;min-height:48px;font-size:var(--text-md)}.ticket-msg{font-size:var(--text-sm);color:var(--signal);margin:0 0 8px}.hint-muted{color:var(--text-muted);font-size:var(--text-sm);margin:0;padding:8px 0}.order-card{margin-bottom:var(--space-4)}.order-card-header{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--space-4) var(--space-5)}.order-card-meta{display:flex;flex-direction:column;gap:4px}.order-card-type{font-weight:600;font-size:var(--text-sm)}.order-card-time{font-size:var(--text-xs);color:var(--text-muted)}.order-card-total{font-weight:700;font-size:var(--text-lg)}.order-card-lines{padding:0 var(--space-5) var(--space-3)}.order-line{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border-subtle);font-size:var(--text-sm)}.order-line:last-child{border-bottom:0}.order-line-main{display:flex;align-items:center;gap:8px}.order-line-bullet{width:4px;height:4px;border-radius:50%;background:var(--text-muted);flex-shrink:0}.order-line-total{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-secondary)}.order-card-footer{padding:var(--space-3) var(--space-5) var(--space-4);border-top:1px solid var(--border-subtle)}.order-aging-warning{border-color:#f59e0b59}.order-aging-danger{border-color:#ef44444d}.kitchen-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4)}@media (min-width: 640px){.kitchen-grid{grid-template-columns:1fr 1fr}}.kds-card-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border-subtle)}.kds-timer{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:600}.kds-timer-fresh{color:var(--success)}.kds-timer-warn{color:var(--warning)}.kds-timer-late{color:var(--danger)}.kds-line{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border-subtle);font-size:var(--text-sm)}.kds-line:last-child{border-bottom:0}.display-shell{display:grid;place-items:center;min-height:100vh;background:var(--bg-void)}.display-ticket{width:min(520px,92vw);padding:var(--space-8) var(--space-8)}.display-brand{letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);font-size:12px}.display-ticket ul{list-style:none;padding:0;margin:24px 0}.display-ticket li{display:flex;justify-content:space-between;font-size:1.35rem;padding:14px 0;border-bottom:1px solid var(--border-subtle)}.display-total{display:flex;justify-content:space-between;font-size:2.25rem;margin-top:24px;font-weight:700}.simple-list{list-style:none;margin:0;padding:8px 20px 0}.simple-list li{padding:8px 0;border-bottom:1px solid var(--border-subtle);font-size:var(--text-sm)}.form-grid{display:grid;gap:10px}@media (min-width: 640px){.form-grid{grid-template-columns:1fr 1fr}}.input-select{width:100%;min-height:44px;padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--bg-elevated);color:var(--text-primary);font-size:16px}.input-select:focus-visible{outline:none;box-shadow:var(--ring-accent);border-color:var(--accent)}.settings-list{display:flex;flex-direction:column}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle)}.setting-row:last-child{border-bottom:0}.setting-info{display:flex;align-items:center;gap:var(--space-3)}.setting-label{font-size:var(--text-sm);font-weight:500}.toggle-switch{position:relative;width:44px;height:24px;border-radius:var(--radius-pill);border:0;cursor:pointer;transition:background .2s;flex-shrink:0}.toggle-switch[aria-checked=true]{background:var(--accent)}.toggle-switch[aria-checked=false]{background:var(--bg-active)}.toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s}.toggle-switch[aria-checked=true]:after{transform:translate(20px)}.toggle-switch:focus-visible{outline:none;box-shadow:var(--ring-accent)}.login-shell{display:grid;place-items:center;flex:1;width:100%;min-height:100%;height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:max(24px,env(safe-area-inset-top,0px)) 20px max(24px,env(safe-area-inset-bottom,0px));background:radial-gradient(1200px 600px at 50% 30%,rgba(139,92,246,.06),transparent 60%),var(--bg-base);color:var(--text-primary)}.login-card{max-width:400px;width:100%;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-8);text-align:center;box-shadow:none}.login-card-left{text-align:left}.login-card .brand-mark{margin:0 auto var(--space-4);width:48px;height:48px;border-radius:var(--radius-md)}.login-card-left .brand-mark{margin-left:0}.login-card h2{margin:0 0 var(--space-2);font-size:var(--text-2xl);font-weight:800;letter-spacing:-.02em;color:var(--text-primary)}.login-lead{margin:0 0 var(--space-5)!important;color:var(--text-secondary)!important;font-size:var(--text-sm)!important;line-height:1.5}.login-email-highlight{color:var(--text-primary);font-weight:600;word-break:break-all}.login-form{display:flex;flex-direction:column;gap:var(--space-4)}.login-field{display:flex;flex-direction:column;gap:var(--space-2);text-align:left}.login-field label{font-size:var(--text-xs);font-weight:500;color:var(--text-secondary);margin-left:2px}.login-label-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.login-link{border:0;background:transparent;color:var(--accent-strong);font-size:var(--text-xs);font-weight:600;cursor:pointer;padding:0}.login-link:hover{text-decoration:underline}.login-link:disabled{opacity:.5;cursor:not-allowed}.login-input-wrap{position:relative;display:flex;align-items:center}.login-input-icon{position:absolute;left:14px;color:var(--text-muted);pointer-events:none;flex-shrink:0}.login-input-wrap input{width:100%;margin:0;padding:14px 44px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-elevated)!important;color:var(--text-primary)!important;font-size:var(--text-sm);caret-color:var(--text-primary);transition:border-color .15s,box-shadow .15s}.login-input-wrap input::placeholder{color:var(--text-muted);opacity:1}.login-input-wrap input:focus,.login-input-wrap input:focus-visible{outline:none;box-shadow:var(--ring-accent);border-color:var(--accent)}.login-input-wrap.has-error input{border-color:color-mix(in srgb,var(--danger) 55%,transparent)}.login-input-wrap input:disabled{opacity:.55;cursor:not-allowed}.login-input-wrap input:-webkit-autofill,.login-input-wrap input:-webkit-autofill:hover,.login-input-wrap input:-webkit-autofill:focus,.login-input-wrap input:-webkit-autofill:active{-webkit-text-fill-color:var(--text-primary)!important;caret-color:var(--text-primary);-webkit-box-shadow:0 0 0 1000px var(--bg-elevated) inset!important;box-shadow:0 0 0 1000px var(--bg-elevated) inset!important;border:1px solid var(--border-default)!important;transition:background-color 99999s ease-out 0s;background-color:var(--bg-elevated)!important;color:var(--text-primary)!important}.login-input-wrap.has-error input:-webkit-autofill{border-color:color-mix(in srgb,var(--danger) 55%,transparent)!important}.login-eye{position:absolute;right:10px;display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer}.login-eye:hover{color:var(--text-secondary);background:var(--bg-hover)}.login-field-error{display:flex;align-items:center;gap:6px;margin:0;padding-left:2px;font-size:11px;font-weight:500;color:var(--danger);line-height:1.3}.login-alert{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;margin:0 0 var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;line-height:1.4;text-align:left}.login-alert code{font-size:11px;word-break:break-all}.login-alert-error{background:var(--danger-soft);border:1px solid color-mix(in srgb,var(--danger) 35%,transparent);color:var(--danger)}.login-alert-info{background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);color:var(--accent-strong)}.login-alert svg{flex-shrink:0;margin-top:1px}.login-submit{width:100%;justify-content:center;min-height:48px;margin-top:var(--space-1)}.login-footnote{margin:var(--space-5) 0 0!important;font-size:12px!important;color:var(--text-muted)!important;line-height:1.4;text-align:center}.login-back{display:grid;place-items:center;width:40px;height:40px;margin:0 0 var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer}.login-back:hover{background:var(--bg-hover);color:var(--text-primary)}.login-success-icon{width:56px;height:56px;margin:0 0 var(--space-4);border-radius:var(--radius-md);display:grid;place-items:center;background:var(--success-soft);color:var(--success);border:1px solid color-mix(in srgb,var(--success) 30%,transparent)}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active,textarea:-webkit-autofill,select:-webkit-autofill{-webkit-text-fill-color:var(--text-primary)!important;caret-color:var(--text-primary);-webkit-box-shadow:0 0 0 1000px var(--bg-elevated) inset!important;box-shadow:0 0 0 1000px var(--bg-elevated) inset!important;transition:background-color 99999s ease-out 0s}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media (max-width: 899px){.pos-layout{gap:10px;padding-bottom:4px}.pos-ticket{position:sticky;bottom:0;z-index:20;margin-top:4px;border:1px solid var(--border-default);border-radius:14px 14px 0 0;background:var(--bg-panel);box-shadow:0 -8px 24px #00000059}.pos-ticket-empty{opacity:.9;box-shadow:none;border-radius:12px;position:relative}.pos-ticket .ticket-lines{max-height:min(32dvh,280px)}.pos-ticket .ticket-footer{padding-bottom:max(12px,env(safe-area-inset-bottom,0px))}.btn-charge{min-height:48px;width:100%}.input-select,.login-input-wrap input,input[type=email],input[type=password],input[type=text],input[type=number],textarea,select{font-size:16px!important}}
