@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap";:root{--bg-primary:#080810;--bg-secondary:#0f0f1a;--bg-card:#141428;--bg-card-hover:#1c1c35;--bg-glass:#141428b8;--bg-glass-hover:#1c1c34d9;--text-primary:#f0ead6;--text-secondary:#9898b0;--text-muted:#5c5c78;--accent:#d4af37;--accent-light:#f0c93a;--accent-glow:#d4af3738;--accent-dim:#d4af371a;--success:#10b981;--success-glow:#10b9812e;--danger:#ef4444;--danger-glow:#ef44442e;--warning:#f59e0b;--warning-glow:#f59e0b2e;--purple:#a78bfa;--purple-glow:#a78bfa2e;--border:#ffffff0f;--border-light:#ffffff0a;--border-accent:#d4af3747;--radius-xs:6px;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--radius-full:9999px;--shadow-sm:0 2px 8px #0000004d;--shadow-card:0 8px 32px #00000073, 0 2px 8px #0000004d;--shadow-glow:0 0 40px #d4af372e, 0 8px 32px #0006;--shadow-glow-sm:0 0 20px #d4af371f;--font-body:"Inter", -apple-system, sans-serif;--font-display:"Plus Jakarta Sans", -apple-system, sans-serif;--transition:.28s cubic-bezier(.4, 0, .2, 1);--transition-spring:.35s cubic-bezier(.34, 1.56, .64, 1);--sidebar-width:256px}[data-theme=light]{--bg-primary:#f4f2ef;--bg-secondary:#eceae5;--bg-card:#fff;--bg-card-hover:#f9f7f4;--bg-glass:#fffdf8e0;--text-primary:#1a1208;--text-secondary:#5a5040;--text-muted:#9a8c78;--border:#00000014;--border-light:#0000000d;--border-accent:#b48c1459;--accent:#b8860b;--accent-light:#d4af37;--accent-glow:#b8860b33;--accent-dim:#b8860b14;--shadow-card:0 4px 24px #0000001a, 0 1px 4px #00000012}[data-theme=light] .sidebar{background:#f0eee9f5}[data-theme=light] .order-card,[data-theme=light] .stats-card,[data-theme=light] .analytics-card,[data-theme=light] .menu-table-wrap,[data-theme=light] .history-table-wrap{box-shadow:0 2px 16px #00000014}[data-theme=light] .modal-content,[data-theme=light] .login-card{background:#fffdf8fa}[data-theme=light] .menu-table td,[data-theme=light] .history-table td{border-bottom-color:#0000000d}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.6;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(80% 50% at 10% -10%,#d4af3712 0%,#0000 60%),radial-gradient(60% 40% at 90% 100%,#a78bfa0d 0%,#0000 60%),radial-gradient(40% 60%,#10b98108 0%,#0000 70%);position:fixed;inset:0}#root{z-index:1;position:relative}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{cursor:pointer}@keyframes pulse-ring{0%{box-shadow:0 0 0 0 var(--ring-color,#d4af3766)}70%{box-shadow:0 0 0 10px #0000}to{box-shadow:0 0 #0000}}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.4)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes slide-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in-left{0%{opacity:0;transform:translate(-14px)}to{opacity:1;transform:translate(0)}}@keyframes gradient-shift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes orb-drift{0%,to{transform:translate(0)scale(1)}33%{transform:translate(30px,-20px)scale(1.05)}66%{transform:translate(-20px,15px)scale(.95)}}@keyframes stagger-in{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.admin-layout{min-height:100vh;display:flex}.admin-main{margin-left:var(--sidebar-width);flex:1;padding:36px 44px;animation:.3s ease-out fade-in;overflow-y:auto}.sidebar{width:var(--sidebar-width);-webkit-backdrop-filter:blur(28px)saturate(180%);backdrop-filter:blur(28px)saturate(180%);border-right:1px solid var(--border);z-index:50;background:#0a0a16eb;flex-direction:column;height:100vh;padding:0;display:flex;position:fixed;top:0;left:0;box-shadow:4px 0 40px #0006}.sidebar-brand{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:28px 24px 24px;display:flex;position:relative;overflow:hidden}.sidebar-brand:before{content:"";background:radial-gradient(circle, var(--accent-glow) 0%, transparent 70%);pointer-events:none;border-radius:50%;width:120px;height:120px;position:absolute;top:-30px;left:-30px}.sidebar-brand-logo{background:linear-gradient(135deg, var(--accent), var(--accent-light));border-radius:var(--radius-sm);width:38px;height:38px;color:var(--bg-primary);box-shadow:0 4px 16px var(--accent-glow);flex-shrink:0;justify-content:center;align-items:center;font-size:1.25rem;display:flex}.sidebar-brand-text{flex:1;min-width:0}.sidebar-brand-name{font-family:var(--font-display);color:var(--accent);letter-spacing:-.02em;font-size:1.15rem;font-weight:800;line-height:1.2;display:block}.sidebar-brand-sub{text-transform:uppercase;letter-spacing:.14em;color:var(--text-muted);margin-top:2px;font-size:.62rem;font-weight:600;display:block}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:20px 14px;display:flex;overflow-y:auto}.sidebar-link{border-radius:var(--radius-sm);color:var(--text-secondary);transition:transform var(--transition), opacity var(--transition), box-shadow var(--transition);align-items:center;gap:12px;padding:11px 14px;font-size:.875rem;font-weight:500;animation:.3s both slide-in-left;display:flex;position:relative;overflow:hidden}.sidebar-link:hover{color:var(--text-primary);background:#ffffff0d}.sidebar-link.active{color:var(--accent);background:linear-gradient(90deg,#d4af3726,#d4af370d);font-weight:600}.sidebar-link.active:before{content:"";background:linear-gradient(to bottom, var(--accent), var(--accent-light));border-radius:0 3px 3px 0;width:3px;position:absolute;top:0;bottom:0;left:0}.sidebar-link svg{flex-shrink:0;font-size:1.1rem}.sidebar-link span{flex:1}.sidebar-live-dot{background:var(--success);width:7px;height:7px;box-shadow:0 0 0 3px var(--success-glow);border-radius:50%;flex-shrink:0;animation:2s infinite pulse-dot}.sidebar-footer{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding:16px 14px 24px;display:flex}.sidebar-footer-time{color:var(--text-muted);text-align:center;font-feature-settings:"tnum";font-size:.72rem}.sidebar-logout{border-radius:var(--radius-sm);color:var(--danger);cursor:pointer;transition:transform var(--transition), opacity var(--transition), box-shadow var(--transition);font-size:.875rem;font-weight:500;font-family:var(--font-body);background:#ef44440f;border:1px solid #ef444433;align-items:center;gap:10px;width:100%;padding:11px 14px;display:flex}.sidebar-logout:hover{background:#ef444424;border-color:#ef444466;box-shadow:0 0 20px #ef44441a}.sidebar-logout svg{font-size:1.1rem}.dashboard-header{justify-content:space-between;align-items:center;margin-bottom:32px;display:flex}.dashboard-header-left{flex-direction:column;gap:4px;display:flex}.dashboard-title-row{align-items:center;gap:12px;display:flex}.dashboard-header h1{font-family:var(--font-display);letter-spacing:-.03em;font-size:2rem;font-weight:800;line-height:1.2}.live-badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.1em;color:var(--success);background:#10b9811f;border:1px solid #10b9814d;align-items:center;gap:6px;padding:4px 10px;font-size:.7rem;font-weight:700;display:flex}.live-badge-dot{background:var(--success);border-radius:50%;width:6px;height:6px;animation:1.5s infinite pulse-dot}.dashboard-date{color:var(--text-muted);font-size:.82rem;font-weight:400}.stats-grid{grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:36px;display:grid}.stats-card{background:var(--bg-glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:var(--radius-lg);transition:transform var(--transition), opacity var(--transition), box-shadow var(--transition);align-items:flex-start;gap:16px;padding:22px;animation:.4s both stagger-in;display:flex;position:relative;overflow:hidden}.stats-card:before{content:"";background:var(--card-accent,var(--accent));border-radius:var(--radius-lg) var(--radius-lg) 0 0;opacity:0;height:3px;transition:opacity var(--transition);position:absolute;top:0;left:0;right:0}.stats-card:hover{border-color:var(--card-accent,var(--border-accent))}.stats-card:hover:before{opacity:1}.stats-card:hover{transform:translateY(-2px);box-shadow:0 12px 48px #0006,0 0 0 1px #ffffff0a}.stats-icon{border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.4rem;display:flex}.stats-content{flex:1;min-width:0}.stats-value{font-family:var(--font-display);letter-spacing:-.03em;font-size:1.65rem;font-weight:800;line-height:1.2;display:block}.stats-label{color:var(--text-secondary);margin-top:3px;font-size:.78rem;display:block}.order-filter-bar{flex-wrap:wrap;gap:8px;margin-bottom:24px;display:flex}.filter-btn{border-radius:var(--radius-full);border:1px solid var(--border);background:var(--bg-glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text-secondary);cursor:pointer;transition:transform var(--transition), opacity var(--transition), box-shadow var(--transition);font-size:.82rem;font-weight:500;font-family:var(--font-body);align-items:center;gap:6px;padding:8px 18px;display:flex}.filter-btn:hover{border-color:var(--accent);color:var(--accent)}.filter-btn.active{background:linear-gradient(135deg, var(--accent), var(--accent-light));color:var(--bg-primary);box-shadow:0 4px 16px var(--accent-glow);border-color:#0000;font-weight:700}.filter-count{border-radius:var(--radius-full);background:#00000040;padding:1px 7px;font-size:.72rem;font-weight:600}.orders-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:18px;display:grid}.empty-orders{text-align:center;color:var(--text-muted);grid-column:1/-1;padding:80px 20px}.empty-orders svg{opacity:.4;margin-bottom:16px;font-size:3.5rem}.empty-orders p{color:var(--text-secondary);font-size:1rem}.order-card{background:var(--bg-glass);-webkit-backdrop-filter:blur(16px)saturate(150%);backdrop-filter:blur(16px)saturate(150%);border:1px solid var(--border);border-radius:var(--radius-lg);transition:transform var(--transition), opacity var(--transition), box-shadow var(--transition);padding:20px;animation:.35s both stagger-in;position:relative;overflow:hidden}.order-card:before{content:"";background:var(--order-color,var(--accent));border-radius:var(--radius-lg) 0 0 var(--radius-lg);width:4px;position:absolute;top:0;bottom:0;left:0}.order-card:hover{box-shadow:var(--shadow-card);border-color:#ffffff1a;transform:translateY(-2px)}.order-card-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.order-card-header-left{align-items:center;gap:10px;display:flex}.order-number{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.05rem;font-weight:800}.order-table{color:var(--text-muted);border-radius:var(--radius-full);border:1px solid var(--border);background:#ffffff0d;padding:3px 10px;font-size:.75rem}.order-status-badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:6px;padding:5px 12px;font-size:.74rem;font-weight:700;display:flex;position:relative}.order-status-badge.is-active{--ring-color:var(--badge-color,#d4af3766);animation:2s infinite pulse-ring}.order-status-badge svg{font-size:.85rem}.order-card-customer{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:14px;font-size:.85rem;display:flex}.order-customer-name{color:var(--text-primary);font-weight:500}.order-time{color:var(--text-muted);font-size:.76rem}.order-card-items{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.order-card-item{justify-content:space-between;align-items:flex-start;gap:8px;font-size:.84rem;display:flex}.order-item-name{flex:1;font-weight:500}.order-item-qty{border-radius:var(--radius-full);color:var(--text-secondary);white-space:nowrap;background:#ffffff0f;padding:1px 8px;font-size:.75rem;font-weight:600}.order-item-note{color:var(--text-muted);align-items:center;gap:5px;margin-top:2px;font-size:.72rem;display:flex}.order-item-note svg{font-size:.75rem}.order-card-footer{border-top:1px solid var(--border-light);justify-content:space-between;align-items:center;padding-top:14px;display:flex}.order-card-total{font-family:var(--font-display);color:var(--accent);letter-spacing:-.02em;font-size:1.15rem;font-weight:800}.order-card-actions{gap:8px;display:flex}.btn-status{border-radius:var(--radius-sm);color:var(--bg-primary);cursor:pointer;transition:transform var(--transition-spring), opacity var(--transition), box-shadow var(--transition);font-size:.78rem;font-weight:700;font-family:var(--font-body);letter-spacing:.02em;border:none;padding:7px 16px}.btn-status:hover{transform:translateY(-1px)scale(1.02);box-shadow:0 6px 20px #0000004d}.btn-bill{border-radius:var(--radius-sm);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;transition:transform var(--transition), opacity var(--transition), box-shadow var(--transition);font-size:.78rem;font-weight:500;font-family:var(--font-body);background:#ffffff0d;align-items:center;gap:5px;padding:7px 14px;display:flex}.btn-bill:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.login-page{background:var(--bg-primary);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.login-orb{pointer-events:none;filter:blur(80px);border-radius:50%;position:absolute}.login-orb-1{background:radial-gradient(circle,#d4af371f 0%,#0000 70%);width:500px;height:500px;animation:12s ease-in-out infinite orb-drift;top:-150px;left:-150px}.login-orb-2{background:radial-gradient(circle,#a78bfa14 0%,#0000 70%);width:400px;height:400px;animation:15s ease-in-out infinite reverse orb-drift;bottom:-100px;right:-100px}.login-orb-3{background:radial-gradient(circle,#10b9810f 0%,#0000 70%);width:300px;height:300px;animation:18s ease-in-out 4s infinite orb-drift;top:50%;left:50%;transform:translate(-50%,-50%)}.login-card{z-index:1;-webkit-backdrop-filter:blur(32px)saturate(180%);backdrop-filter:blur(32px)saturate(180%);border-radius:var(--radius-xl);background:#0e0e1ad9;border:1px solid #d4af372e;width:100%;max-width:420px;padding:52px 44px;animation:.5s both slide-up;position:relative;box-shadow:0 32px 80px #0009,0 0 0 1px #ffffff0a,inset 0 1px #ffffff0f}.login-card:before{content:"";border-radius:calc(var(--radius-xl) + 1px);z-index:-1;pointer-events:none;background:linear-gradient(135deg,#d4af3738,#0000 40%,#a78bfa1a 100%);position:absolute;inset:-1px}.login-brand{text-align:center;margin-bottom:36px}.login-icon-wrap{background:linear-gradient(135deg, var(--accent), var(--accent-light));border-radius:var(--radius-lg);width:72px;height:72px;color:var(--bg-primary);box-shadow:0 8px 32px var(--accent-glow), 0 4px 16px #0006;justify-content:center;align-items:center;margin:0 auto 16px;font-size:2rem;animation:4s ease-in-out infinite float;display:flex}.login-brand h1{font-family:var(--font-display);color:var(--accent);letter-spacing:-.03em;font-size:1.9rem;font-weight:800}.login-brand p{color:var(--text-muted);margin-top:4px;font-size:.85rem}.login-form{flex-direction:column;gap:18px;display:flex}.form-group{flex-direction:column;gap:7px;display:flex}.form-group label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:600}.form-group input,.form-group select,.form-group textarea{border-radius:var(--radius-sm);color:var(--text-primary);font-size:.9rem;font-family:var(--font-body);transition:transform var(--transition), opacity var(--transition), box-shadow var(--transition);background:#ffffff0a;border:1px solid #ffffff14;padding:12px 16px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent);background:#d4af370d;outline:none;box-shadow:0 0 0 3px #d4af371a}.form-group input::placeholder{color:var(--text-muted)}.form-group textarea{resize:vertical;min-height:80px}.btn-login{background:linear-gradient(135deg, var(--accent), var(--accent-light));color:var(--bg-primary);border-radius:var(--radius-sm);cursor:pointer;transition:transform var(--transition-spring), opacity var(--transition), box-shadow var(--transition);font-size:.95rem;font-weight:800;font-family:var(--font-display);letter-spacing:.02em;box-shadow:0 4px 20px var(--accent-glow);border:none;margin-top:4px;padding:14px}.btn-login:hover{box-shadow:0 8px 32px var(--accent-glow);transform:translateY(-2px)}.btn-login:active{transform:translateY(0)}.btn-login:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.login-hint{text-align:center;color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-sm);background:#ffffff08;margin-top:20px;padding:10px 14px;font-size:.73rem}.page-header{justify-content:space-between;align-items:center;margin-bottom:32px;display:flex}.page-header h1{font-family:var(--font-display);letter-spacing:-.03em;font-size:2rem;font-weight:800}.btn-add{background:linear-gradient(135deg, var(--accent), var(--accent-light));color:var(--bg-primary);border-radius:var(--radius-sm);cursor:pointer;transition:transform var(--transition-spring), opacity var(--transition), box-shadow var(--transition);font-size:.875rem;font-weight:700;font-family:var(--font-display);box-shadow:0 4px 16px var(--accent-glow);border:none;align-items:center;gap:8px;padding:11px 22px;display:flex}.btn-add:hover{box-shadow:0 8px 28px var(--accent-glow);transform:translateY(-2px)}.btn-add svg{font-size:1.1rem}.menu-form-card{background:var(--bg-glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border-accent);border-radius:var(--radius-lg);margin-bottom:32px;padding:28px;animation:.3s both slide-up;box-shadow:0 8px 40px #0000004d,inset 0 1px #ffffff0a}.menu-form-card h2{font-family:var(--font-display);margin-bottom:20px;font-size:1.2rem;font-weight:700}.menu-form{flex-direction:column;gap:16px;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.checkbox-label{color:var(--text-secondary);cursor:pointer;align-items:center;gap:10px;font-size:.85rem;display:flex}.checkbox-label input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px}.form-actions{gap:10px;display:flex}.btn-save{background:linear-gradient(135deg, var(--accent), var(--accent-light));color:var(--bg-primary);border-radius:var(--radius-sm);cursor:pointer;font-weight:700;font-family:var(--font-display);transition:transform var(--transition-spring), opacity var(--transition), box-shadow var(--transition);box-shadow:0 4px 16px var(--accent-glow);border:none;padding:11px 28px}.btn-save:hover{box-shadow:0 6px 24px var(--accent-glow);transform:translateY(-1px)}.btn-cancel{border:1px solid var(--border);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-body);transition:transform var(--transition), opacity var(--transition), box-shadow var(--transition);background:0 0;padding:11px 28px}.btn-cancel:hover{border-color:var(--danger);color:var(--danger);background:var(--danger-glow)}.menu-table-wrap{background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow-x:auto}.menu-table{border-collapse:collapse;width:100%;font-size:.85rem}.menu-table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--border);background:#ffffff05;padding:14px 18px;font-size:.72rem;font-weight:600}.menu-table td{border-bottom:1px solid var(--border-light);vertical-align:middle;transition:background var(--transition);padding:13px 18px}.menu-table tr:last-child td{border-bottom:none}.menu-table tr:hover td{background:#ffffff06}.menu-table-item{align-items:center;gap:14px;display:flex}.menu-table-img{border-radius:var(--radius-sm);object-fit:cover;border:1px solid var(--border);flex-shrink:0;width:48px;height:48px}.menu-table-name{font-weight:600;font-family:var(--font-display);font-size:.9rem;display:block}.menu-table-item small{color:var(--text-muted);font-size:.74rem}.badge{border-radius:var(--radius-full);border:1px solid var(--border);background:#ffffff12;padding:3px 10px;font-size:.72rem;font-weight:500;display:inline-block}.price-cell{color:var(--accent);font-weight:700;font-family:var(--font-display);font-size:.95rem}.stock-toggle{border-radius:var(--radius-full);cursor:pointer;font-size:.73rem;font-weight:700;font-family:var(--font-body);transition:transform var(--transition), opacity var(--transition), box-shadow var(--transition);letter-spacing:.03em;border:none;padding:5px 14px}.stock-toggle.in{color:var(--success);background:#10b98126;border:1px solid #10b9814d}.stock-toggle.in:hover{background:#10b98140}.stock-toggle.out{color:var(--danger);background:#ef444426;border:1px solid #ef44444d}.stock-toggle.out:hover{background:#ef444440}.table-actions{gap:8px;display:flex}.btn-icon{border-radius:var(--radius-sm);border:1px solid var(--border);width:34px;height:34px;color:var(--text-muted);cursor:pointer;transition:transform var(--transition), opacity var(--transition), box-shadow var(--transition);background:#ffffff0a;justify-content:center;align-items:center;font-size:1rem;display:flex}.btn-icon.edit:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.btn-icon.delete:hover{border-color:var(--danger);color:var(--danger);background:var(--danger-glow)}.status-select{background:var(--bg-glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-body);cursor:pointer;transition:border-color var(--transition);padding:10px 16px;font-size:.875rem}.status-select:focus{border-color:var(--accent);outline:none}.history-table-wrap{background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow-x:auto}.history-table{border-collapse:collapse;width:100%;font-size:.85rem}.history-table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--border);background:#ffffff05;padding:14px 18px;font-size:.72rem;font-weight:600}.history-table td{border-bottom:1px solid var(--border-light);transition:background var(--transition);padding:12px 18px}.history-table tr:last-child td{border-bottom:none}.history-table tr:hover td{background:#ffffff06}.order-num{color:var(--accent);font-weight:700;font-family:var(--font-display)}.time-cell{color:var(--text-muted);white-space:nowrap;font-size:.76rem}.status-badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em;border:1px solid #0000;padding:4px 12px;font-size:.72rem;font-weight:700;display:inline-block}.status-badge.pending{color:var(--warning);background:#f59e0b26;border-color:#f59e0b40}.status-badge.preparing{color:var(--danger);background:#ef444426;border-color:#ef444440}.status-badge.served{color:var(--success);background:#10b98126;border-color:#10b98140}.status-badge.completed{color:var(--accent);background:#d4af3726;border-color:#d4af3740}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:200;background:#000000bf;justify-content:center;align-items:center;animation:.2s both slide-up;display:flex;position:fixed;inset:0}.modal-content{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-radius:var(--radius-xl);background:#10101ef2;border:1px solid #d4af3733;width:100%;max-width:520px;max-height:85vh;padding:32px;animation:.3s both slide-up;overflow-y:auto;box-shadow:0 40px 100px #000000b3,0 0 0 1px #ffffff0a}.modal-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.modal-header h2{font-family:var(--font-display);font-size:1.25rem;font-weight:700}.modal-close{border:1px solid var(--border);border-radius:var(--radius-sm);width:34px;height:34px;color:var(--text-muted);cursor:pointer;transition:transform var(--transition), opacity var(--transition), box-shadow var(--transition);background:#ffffff0d;justify-content:center;align-items:center;font-size:1.1rem;display:flex}.modal-close:hover{color:var(--text-primary);background:#ffffff1a;border-color:#ffffff26}.modal-loading{text-align:center;color:var(--text-muted);padding:40px}.bill-preview{border:1px solid var(--border);border-radius:var(--radius-sm);background:#00000059;margin-bottom:22px;padding:22px}.bill-preview pre{white-space:pre-wrap;color:var(--text-secondary);font-family:Courier New,monospace;font-size:.82rem;line-height:1.7}.modal-actions{flex-direction:column;gap:10px;display:flex}.btn-whatsapp{text-align:center;color:#fff;border-radius:var(--radius-sm);transition:transform var(--transition-spring), opacity var(--transition), box-shadow var(--transition);cursor:pointer;background:linear-gradient(135deg,#25d366,#128c7e);border:none;justify-content:center;align-items:center;gap:8px;padding:13px;font-size:.9rem;font-weight:700;display:flex;box-shadow:0 4px 16px #25d36640}.btn-whatsapp:hover{transform:translateY(-2px);box-shadow:0 8px 28px #25d3664d}.btn-copy{border:1px solid var(--border);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;font-size:.85rem;font-family:var(--font-body);transition:transform var(--transition), opacity var(--transition), box-shadow var(--transition);background:#ffffff0a;justify-content:center;align-items:center;gap:7px;padding:11px;display:flex}.btn-copy:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.bill-note{color:var(--text-muted);text-align:center;font-size:.78rem}.loader{border:3px solid #d4af3726;border-top-color:var(--accent);border-radius:50%;width:40px;height:40px;margin:0 auto 16px;animation:.8s linear infinite spin}.loader.small{border-width:2px;width:22px;height:22px}.loading-screen{height:50vh;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.image-input-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.mode-toggle{color:var(--accent);cursor:pointer;font-size:.75rem;font-family:var(--font-body);transition:opacity var(--transition);background:0 0;border:none;align-items:center;gap:4px;display:flex}.mode-toggle:hover{opacity:.75}.upload-zone{border-radius:var(--radius-sm);text-align:center;cursor:pointer;transition:transform var(--transition), opacity var(--transition), box-shadow var(--transition);background:#ffffff05;border:2px dashed #ffffff1a;flex-direction:column;justify-content:center;align-items:center;min-height:120px;padding:24px;display:flex}.upload-zone:hover,.upload-zone.drag-over{border-color:var(--accent);background:var(--accent-dim)}.upload-icon{color:var(--text-muted);margin-bottom:8px;font-size:2rem}.upload-state{color:var(--text-secondary);flex-direction:column;align-items:center;gap:4px;font-size:.85rem;display:flex}.upload-state small{color:var(--text-muted);font-size:.7rem}.upload-preview{flex-direction:column;align-items:center;gap:8px;width:100%;display:flex;position:relative}.upload-preview img{border-radius:var(--radius-sm);border:1px solid var(--border);max-height:100px}.upload-preview span{color:var(--text-muted);font-size:.75rem}.url-input-wrap{flex-direction:column;gap:8px;display:flex}.url-preview{border-radius:var(--radius-sm);object-fit:cover;border:1px solid var(--border);align-self:flex-start;max-height:100px}.analytics-page{width:100%}.analytics-loading{height:50vh;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.analytics-grid{grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:36px;display:grid}.col-span-2{grid-column:span 2}.col-span-full{grid-column:1/-1}.analytics-card{background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:26px}.analytics-card h2{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.02em;margin-bottom:24px;font-size:1.1rem;font-weight:700}.bar-chart-container{align-items:flex-end;height:250px;padding-top:20px;display:flex}.bar-chart{justify-content:space-between;align-items:flex-end;gap:10px;width:100%;height:100%;display:flex}.bar-wrapper{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;height:100%;display:flex}.bar{background:linear-gradient(to top, var(--accent), var(--accent-light));border-radius:var(--radius-sm) var(--radius-sm) 0 0;width:100%;max-width:40px;transition:height 1s cubic-bezier(.34,1.56,.64,1);position:relative}.bar:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(#ffffff1f,#fff0);position:absolute;inset:0}.bar-label{color:var(--text-muted);margin-top:8px;font-size:.74rem}.bar-value{color:var(--text-primary);opacity:0;margin-bottom:8px;font-size:.74rem;transition:opacity .3s}.bar-wrapper:hover .bar-value{opacity:1}.bar-wrapper:hover .bar{filter:brightness(1.15)}.category-breakdown{flex-direction:column;gap:18px;display:flex}.category-row{flex-direction:column;gap:7px;display:flex}.category-info{align-items:center;gap:10px;font-size:.85rem;display:flex}.category-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.category-name{color:var(--text-primary);flex:1}.category-percentage{font-weight:700;font-family:var(--font-display)}.category-progress-bg{border-radius:var(--radius-full);background:#ffffff0f;height:6px;overflow:hidden}.category-progress-fill{border-radius:var(--radius-full);height:100%;transition:width 1.2s cubic-bezier(.34,1.56,.64,1)}.category-stats{color:var(--text-muted);justify-content:space-between;font-size:.7rem;display:flex}.heatmap-container{grid-template-columns:repeat(24,1fr);gap:4px;display:grid}.heatmap-cell-wrapper{flex-direction:column;align-items:center;gap:8px;display:flex}.heatmap-cell{aspect-ratio:1;cursor:default;border-radius:4px;justify-content:center;align-items:center;width:100%;transition:transform .2s,box-shadow .2s;display:flex}.heatmap-cell:hover{z-index:10;transform:scale(1.15);box-shadow:0 0 12px #d4af3766}.heatmap-count{color:var(--text-primary);opacity:0;font-size:.68rem;font-weight:600;transition:opacity .2s}.heatmap-cell:hover .heatmap-count{opacity:1}.heatmap-label{color:var(--text-muted);white-space:nowrap;font-size:.63rem}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ffffff2e}@media (width<=1200px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=1024px){.analytics-grid{grid-template-columns:1fr}.col-span-2{grid-column:span 1}}@media (width<=768px){.sidebar{width:64px}.sidebar-brand{justify-content:center;padding:20px 13px}.sidebar-brand-text,.sidebar-brand-sub,.sidebar-footer-time{display:none}.sidebar-link{justify-content:center;padding:12px}.sidebar-link span,.sidebar-live-dot{display:none}.sidebar-logout{justify-content:center}.sidebar-logout span{display:none}.sidebar-nav{padding:14px 8px}.sidebar-footer{padding:14px 8px 20px}.admin-main{margin-left:64px;padding:20px 16px}.stats-grid{grid-template-columns:repeat(2,1fr)}.orders-grid{grid-template-columns:1fr}.heatmap-container{grid-template-columns:repeat(12,1fr);gap:6px}.form-row{grid-template-columns:1fr}}@media (width<=480px){.stats-grid{grid-template-columns:1fr}.admin-main{padding:16px 12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.order-edited-badge{text-transform:uppercase;letter-spacing:.06em;color:var(--warning);border-radius:var(--radius-full);white-space:nowrap;background:#f59e0b1f;border:1px solid #f59e0b47;align-items:center;gap:4px;padding:3px 9px;font-size:.68rem;font-weight:700;display:inline-flex}.order-edited-badge svg{font-size:.72rem}.sidebar-sound-toggle{border-radius:var(--radius-sm);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;transition:transform var(--transition), opacity var(--transition), box-shadow var(--transition);font-size:.875rem;font-weight:500;font-family:var(--font-body);background:#ffffff0a;align-items:center;gap:10px;width:100%;padding:10px 14px;display:flex}.sidebar-sound-toggle:hover{color:var(--text-primary);background:#ffffff14}.sidebar-sound-toggle svg{flex-shrink:0;font-size:1.1rem}@media (width<=1024px){.admin-main{padding:24px 28px}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.admin-main{margin-left:64px;padding:16px 14px}.orders-grid{grid-template-columns:1fr}.dashboard-header{flex-direction:column;align-items:flex-start;gap:8px}.page-header{flex-direction:column;align-items:flex-start;gap:12px}.history-table-wrap,.menu-table-wrap{border-radius:var(--radius-md)}.history-table th:nth-child(4),.history-table td:nth-child(4){display:none}.form-row{grid-template-columns:1fr}}@media (width<=480px){.stats-grid{grid-template-columns:1fr}.admin-main{padding:12px 10px}.login-card{padding:36px 24px}.filter-btn{padding:6px 12px;font-size:.78rem}.orders-grid{gap:12px}}.order-card,.stats-card,.btn-status,.btn-add,.btn-save,.btn-login,.sidebar-logout,.sidebar-sound-toggle,.modal-content{transition:background-color .32s ease, border-color .32s ease, color .24s ease, box-shadow .32s ease, transform var(--transition-spring), opacity var(--transition)!important}[data-theme=light]{--bg-primary:#f4f2ee;--bg-secondary:#eceae4;--bg-card:#fff;--bg-card-hover:#f9f7f3;--bg-glass:#fffdf7e6;--bg-glass-hover:#fffcf4f2;--text-primary:#19130a;--text-secondary:#4a4130;--text-muted:#7a6e56;--border:#00000017;--border-light:#0000000d;--border-accent:#9e6e0a59;--accent:#9e6e0a;--accent-light:#c08a14;--accent-glow:#9e6e0a2e;--accent-dim:#9e6e0a14;--shadow-sm:0 2px 8px #00000014;--shadow-card:0 4px 20px #00000017, 0 1px 4px #0000000f;--shadow-glow:0 0 32px #9e6e0a24, 0 4px 20px #00000014}[data-theme=light] body:before{background:radial-gradient(80% 50% at 10% -10%,#9e6e0a0f 0%,#0000 60%),radial-gradient(60% 40% at 90% 100%,#a78bfa0a 0%,#0000 60%)}[data-theme=light] .sidebar{background:#eeebe4f5;border-right-color:#00000014;box-shadow:4px 0 20px #0000000f}[data-theme=light] .sidebar-brand:before{background:radial-gradient(circle,#9e6e0a1f 0%,#0000 70%)}[data-theme=light] .order-card,[data-theme=light] .stats-card,[data-theme=light] .analytics-card,[data-theme=light] .menu-table-wrap,[data-theme=light] .history-table-wrap,[data-theme=light] .menu-form-card{background:#fff;box-shadow:0 2px 12px #00000012}[data-theme=light] .menu-table th,[data-theme=light] .history-table th,[data-theme=light] .menu-table tr:hover td,[data-theme=light] .history-table tr:hover td{background:#00000005}[data-theme=light] .modal-overlay{background:#00000080}[data-theme=light] .modal-content{background:#fcfaf5fc;border-color:#9e6e0a33}[data-theme=light] .login-card{background:#fffdf7fa;border-color:#9e6e0a33}[data-theme=light] .login-page{background:var(--bg-primary)}[data-theme=light] .login-orb-1{background:radial-gradient(circle,#9e6e0a1a 0%,#0000 70%)}[data-theme=light] .login-orb-2{background:radial-gradient(circle,#a78bfa12 0%,#0000 70%)}[data-theme=light] .form-group input,[data-theme=light] .form-group select,[data-theme=light] .form-group textarea,[data-theme=light] .status-select{color:var(--text-primary);background:#0000000a;border-color:#0000001a}[data-theme=light] .bill-preview,[data-theme=light] .order-filter-bar .filter-btn{background:#0000000a}[data-theme=light] .upload-zone{background:#00000008;border-color:#0000001a}[data-theme=light] ::-webkit-scrollbar-thumb{background:#00000024}[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#00000038}[data-theme=light] .sidebar-sound-toggle{color:var(--text-secondary);background:#0000000a;border-color:#0000001a}[data-theme=light] .sidebar-logout{background:#ef44440d}.order-card{will-change:transform;transition:transform .26s cubic-bezier(.34,1.56,.64,1),box-shadow .26s cubic-bezier(.4,0,.2,1),border-color .26s}.stats-card{will-change:transform;transition:transform .26s cubic-bezier(.34,1.56,.64,1),box-shadow .26s,border-color .26s}.sidebar-link,.sidebar-item{will-change:transform;transition:transform .2s cubic-bezier(.34,1.56,.64,1),background-color .2s,color .2s,border-color .2s}.sidebar-link:hover{transform:translate(3px)}.sidebar-link.active{transform:translate(2px)}.sidebar-sound-toggle{will-change:transform;transition:transform .2s cubic-bezier(.34,1.56,.64,1),background-color .2s,color .2s,border-color .2s}.sidebar-sound-toggle:hover{transform:translate(2px)}.page-transition-wrapper{width:100%;height:100%}.page-enter{animation:.3s ease-out page-enter-anim}@keyframes page-enter-anim{0%{opacity:0}to{opacity:1}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}html.theme-switching *,html.theme-switching :before,html.theme-switching :after{transition:background-color .4s cubic-bezier(.4,0,.2,1),border-color .4s cubic-bezier(.4,0,.2,1),color .35s cubic-bezier(.4,0,.2,1),box-shadow .4s cubic-bezier(.4,0,.2,1),fill .35s cubic-bezier(.4,0,.2,1)!important}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:9999}.order-card{will-change:transform;transition:transform .28s cubic-bezier(.34,1.56,.64,1),box-shadow .28s cubic-bezier(.4,0,.2,1),border-color .28s;transform:translateZ(0)}.order-card:hover{transform:translateY(-5px)translateZ(0);box-shadow:0 20px 50px #00000059,0 0 0 1px #d4af371f}.stats-card{will-change:transform;transition:transform .28s cubic-bezier(.34,1.56,.64,1),box-shadow .28s;transform:translateZ(0)}.stats-card:hover{transform:translateY(-4px)scale(1.01)translateZ(0)}.analytics-card{will-change:transform;transition:transform .28s cubic-bezier(.34,1.56,.64,1),box-shadow .28s}.analytics-card:hover{transform:translateY(-3px)}.sidebar-link,.sidebar-item,.sidebar-nav-item{will-change:transform;transition:transform .22s cubic-bezier(.34,1.56,.64,1),background-color .2s,color .2s,border-color .2s}.sidebar-link:hover,.sidebar-nav-item:hover{transform:translate(5px)}.sidebar-link.active,.sidebar-nav-item.active{transform:translate(3px)}.sidebar-sound-toggle,.sidebar-theme-toggle{will-change:transform;transition:transform .22s cubic-bezier(.34,1.56,.64,1),background-color .2s,color .2s,border-color .2s}.sidebar-sound-toggle:hover,.sidebar-theme-toggle:hover{transform:translate(3px)}.sidebar-logout{will-change:transform;transition:transform .22s cubic-bezier(.34,1.56,.64,1),background-color .2s,color .2s}.sidebar-logout:hover{transform:translate(3px)}.btn-status{will-change:transform;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s,background-color .2s}.btn-status:hover{transform:scale(1.06)}.btn-status:active{transform:scale(.94)}.btn-add,.btn-save,.btn-login{will-change:transform;transition:transform .22s cubic-bezier(.34,1.56,.64,1),box-shadow .22s}.btn-add:hover,.btn-save:hover,.btn-login:hover{transform:translateY(-2px)}.btn-add:active,.btn-save:active,.btn-login:active{transform:scale(.96)}.filter-btn{will-change:transform;transition:transform .18s cubic-bezier(.34,1.56,.64,1),background-color .18s,border-color .18s,color .18s}.filter-btn:hover{transform:translateY(-1px)}.filter-btn:active{transform:scale(.95)}.menu-table tbody tr,.history-table tbody tr{transition:background-color .15s}.theme-toggle{will-change:transform;transition:transform .3s cubic-bezier(.34,1.56,.64,1),background-color .25s,border-color .25s,color .25s}.theme-toggle:hover{transform:rotate(24deg)scale(1.15)}.theme-toggle:active{transform:rotate(180deg)scale(.9)}.muted{color:var(--text-muted)}.small{font-size:.8rem}.modal-text{color:var(--text-secondary);margin-bottom:16px;font-size:.9rem;line-height:1.55}.modal-footer{margin-top:20px}.subhead{font-family:var(--font-display);margin:18px 0 10px;font-size:.95rem;font-weight:700}.form-hint{color:var(--text-muted);text-transform:none;letter-spacing:0;margin-top:4px;font-size:.76rem;font-weight:400;display:block}.stack-form{flex-direction:column;gap:16px;display:flex}.btn-save.btn-sm,.btn-cancel.btn-sm{padding:7px 14px;font-size:.8rem}.btn-with-icon{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.btn-danger{background:var(--danger);color:#fff;border-radius:var(--radius-sm);font-weight:700;font-family:var(--font-display);cursor:pointer;border:none;padding:11px 24px}.btn-danger:disabled,.btn-add:disabled,.btn-save:disabled,.btn-cancel:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-pair{grid-template-columns:1fr 1fr;gap:10px;display:grid}.chip-row{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.pill-btn{border-radius:var(--radius-full);border:1px solid var(--border);color:var(--text-secondary);font-size:.8rem;font-weight:600;font-family:var(--font-body);cursor:pointer;background:0 0;padding:7px 14px}.pill-btn:hover{border-color:var(--accent);color:var(--text-primary)}.pill-btn.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.sidebar{scrollbar-width:thin;overflow-y:auto}.sidebar-nav{flex:1}.sidebar-link{position:relative}.sidebar-badge{border-radius:var(--radius-full);background:var(--danger);color:#fff;place-items:center;min-width:20px;height:20px;margin-left:auto;padding:0 6px;font-size:.7rem;font-weight:800;display:grid}.sidebar-live-dot.offline{background:var(--text-muted);animation:none}.sidebar-footer{flex-direction:column;gap:6px;display:flex}.sidebar-user{align-items:center;gap:10px;padding:6px 4px 10px;display:flex}.sidebar-user-avatar{background:var(--accent-dim);width:34px;height:34px;color:var(--accent);border-radius:50%;flex-shrink:0;place-items:center;font-weight:800;display:grid}.sidebar-user-text{flex-direction:column;min-width:0;line-height:1.25;display:flex}.sidebar-user-name{white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:700;overflow:hidden}.sidebar-user .sidebar-footer-time{text-align:left;margin:0}.sidebar-sound-toggle.highlight{border-color:var(--accent);color:var(--accent)}.order-card.is-cancelled{opacity:.7}.order-cancel-reason{color:var(--text-muted);margin:-4px 0 10px;font-size:.8rem;font-style:italic}.order-card-total{align-items:center;gap:8px;display:inline-flex}.order-card-tag{border-radius:var(--radius-full);color:var(--warning);background:#f59e0b24;align-items:center;gap:3px;padding:2px 8px;font-size:.7rem;font-weight:700;display:inline-flex}.order-card-actions{align-items:center}.btn-status:disabled{opacity:.6;cursor:wait}.status-badge.cancelled{color:#94a3b8;background:#94a3b829;border-color:#94a3b84d}.cell-note{color:var(--text-muted);margin-top:4px;font-size:.72rem;display:block}.loyalty-box{border-radius:var(--radius-sm);background:#f59e0b12;border:1px solid #f59e0b4d;margin-bottom:16px;padding:14px}.loyalty-box-head{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px;font-size:.88rem;display:flex}.loyalty-box-head svg{color:var(--warning)}.loyalty-box-row{flex-wrap:wrap;align-items:center;gap:8px;font-size:.88rem;display:flex}.loyalty-box-row input{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-secondary);width:120px;color:var(--text-primary);font-family:var(--font-body);padding:8px 12px}.loyalty-box-row>span{flex:1}.requests-strip{flex-wrap:wrap;gap:10px;margin-bottom:24px;display:flex}.request-card{border-radius:var(--radius-md);background:var(--bg-card);border:1px solid #f59e0b66;align-items:center;gap:12px;padding:10px 10px 10px 14px;animation:.25s both slide-up;display:flex;box-shadow:0 0 0 3px #f59e0b14}.request-card.type-bill{border-color:#10b98173;box-shadow:0 0 0 3px #10b98114}.request-card.is-late{border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-glow)}.request-emoji{font-size:1.4rem}.request-text{flex-direction:column;font-size:.85rem;line-height:1.25;display:flex}.request-text span{color:var(--text-muted);font-size:.78rem}.request-done{border-radius:var(--radius-sm);background:var(--success);color:#fff;cursor:pointer;border:none;align-items:center;gap:4px;margin-left:auto;padding:8px 12px;font-size:.8rem;font-weight:700;display:inline-flex}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.toolbar.compact{margin-bottom:0}.search-input{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-card);min-width:200px;color:var(--text-muted);flex:1;align-items:center;gap:8px;padding:0 14px;display:flex}.search-input input{color:var(--text-primary);font-family:var(--font-body);background:0 0;border:0;outline:none;flex:1;padding:11px 0;font-size:.9rem}.summary-line{margin:-16px 0 12px;font-size:.85rem}.history-table tr.clickable{cursor:pointer}.history-table tr.clickable:hover td{background:var(--accent-dim)}.history-table tr.is-inactive td{opacity:.55}.points-pill{color:var(--warning);align-items:center;gap:4px;font-weight:700;display:inline-flex}.segmented-admin{border-radius:var(--radius-sm);background:var(--bg-secondary);border:1px solid var(--border);padding:4px;display:inline-flex}.segmented-admin button{color:var(--text-secondary);font-family:var(--font-body);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:.85rem;font-weight:600;display:inline-flex}.segmented-admin button.active{background:var(--bg-card);color:var(--text-primary);box-shadow:var(--shadow-sm)}.table-legend{color:var(--text-secondary);flex-wrap:wrap;gap:16px;margin-bottom:16px;font-size:.82rem;display:flex}.legend-item{align-items:center;gap:6px;display:inline-flex}.legend-item i{background:var(--tile);border-radius:3px;width:10px;height:10px}.state-free{--tile:#64748b}.state-ordering{--tile:#f59e0b}.state-eating{--tile:#10b981}.state-attention{--tile:#ef4444}.table-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;display:grid}.table-tile{border-radius:var(--radius-md);border:1px solid var(--border);border-top:4px solid var(--tile);background:var(--bg-card);min-height:112px;color:var(--text-primary);text-align:left;cursor:pointer;font-family:var(--font-body);transition:transform var(--transition), box-shadow var(--transition);flex-direction:column;align-items:flex-start;gap:2px;padding:14px;display:flex;position:relative}.table-tile:hover{box-shadow:var(--shadow-card);transform:translateY(-2px)}.table-tile-num{font-family:var(--font-display);font-size:1.8rem;font-weight:800;line-height:1}.table-tile-state{color:var(--tile);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;font-weight:700}.table-tile-meta{color:var(--text-secondary);margin-top:auto;font-size:.8rem}.table-tile-reqs{font-size:1.2rem;position:absolute;top:10px;right:12px}.table-tile.state-free{opacity:.75}.table-tile.state-attention{--ring-color:#ef444459;animation:1.8s infinite pulse-ring}.table-reqs{gap:8px;margin-bottom:16px;display:grid}.table-orders{gap:12px;display:grid}.qr-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.qr-toolbar p{max-width:620px;font-size:.85rem}.qr-toolbar code{background:var(--bg-secondary);word-break:break-all;border-radius:4px;padding:1px 6px;font-size:.8rem}.qr-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px;display:grid}.qr-card{border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border);flex-direction:column;align-items:center;gap:8px;padding:14px;display:flex}.qr-card img{background:#fff;border-radius:8px;width:100%;max-width:150px;padding:6px}.qr-card .btn-copy{width:100%}.detail-stats{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:20px;display:grid}.detail-stats div{border-radius:var(--radius-sm);background:var(--bg-secondary);flex-direction:column;padding:12px;display:flex}.detail-stats span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem}.detail-stats strong{font-family:var(--font-display);word-break:break-all;font-size:1.05rem}.inline-form{flex-wrap:wrap;gap:8px;display:flex}.inline-form input{flex:1;min-width:100px}.mini-list{gap:6px;display:grid}.mini-list li{border-radius:var(--radius-sm);background:var(--bg-secondary);grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;padding:10px 12px;font-size:.82rem;display:grid}.mini-list .muted{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.role-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:20px;display:grid}.role-card{border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border);padding:14px}.role-card p{color:var(--text-secondary);margin-top:8px;font-size:.8rem;line-height:1.5}.role-pill{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em;padding:3px 10px;font-size:.72rem;font-weight:800;display:inline-block}.role-owner{color:var(--accent);background:#d4af3726}.role-manager{color:var(--purple);background:#a78bfa26}.role-waiter{color:var(--success);background:#10b98126}.role-kitchen{color:var(--danger);background:#ef444426}.settings-page{max-width:900px}.settings-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:16px;margin-bottom:18px;padding:24px;display:flex}.settings-card h2{font-family:var(--font-display);font-size:1.1rem;font-weight:700}.form-row.three{grid-template-columns:repeat(3,1fr)}.toggle-row{border-radius:var(--radius-sm);background:var(--bg-secondary);cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;display:flex}.toggle-label{font-size:.9rem;font-weight:700;display:block}.switch{appearance:none;border-radius:var(--radius-full);background:var(--text-muted);cursor:pointer;flex-shrink:0;width:44px;height:26px;transition:background-color .2s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s cubic-bezier(.2,.8,.2,1);position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}.switch:checked{background:var(--success)}.switch:checked:after{transform:translate(18px)}.input-suffix{align-items:center;display:flex;position:relative}.input-suffix input{width:100%;padding-right:44px}.input-suffix span{color:var(--text-muted);pointer-events:none;font-size:.85rem;position:absolute;right:14px}.form-group input:disabled,.form-group select:disabled{opacity:.5}.example-box{border-radius:var(--radius-sm);border:1px dashed var(--border-accent);color:var(--text-secondary);flex-direction:column;justify-content:center;gap:2px;padding:12px 14px;font-size:.82rem;display:flex}.example-box strong{color:var(--text-primary);font-size:1rem}.report-card{margin-bottom:24px}.report-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.report-head h2{margin:0}.report-date{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.report-warning{border-radius:var(--radius-sm);color:var(--warning);background:#f59e0b1a;margin-bottom:14px;padding:10px 14px;font-size:.85rem;font-weight:600}.report-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px;display:grid}.report-metric{border-radius:var(--radius-sm);background:var(--bg-secondary);flex-direction:column;padding:14px;display:flex}.report-metric span{color:var(--text-muted);font-size:.75rem}.report-metric strong{font-family:var(--font-display);font-size:1.35rem}.report-columns{grid-template-columns:1fr 1fr;gap:24px;display:grid}.report-breakdown{gap:8px;font-size:.88rem;display:grid}.report-breakdown div{justify-content:space-between;gap:12px;display:flex}.report-breakdown dt{color:var(--text-secondary)}.report-breakdown .total{border-top:1px dashed var(--border-accent);padding-top:8px;font-weight:800}.report-breakdown .total dt{color:var(--text-primary)}.top-items{gap:6px;padding-left:18px;font-size:.88rem;display:grid}.top-items li{list-style:decimal}.top-items li span:last-child{float:right;color:var(--text-secondary)}.export-card{margin-top:24px}.export-card p{margin-bottom:14px;font-size:.85rem}.export-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.year-input{width:100px}.danger-check{color:var(--danger);margin-top:14px}.stock-list{gap:6px;max-height:60vh;display:grid;overflow-y:auto}.stock-list li{border-radius:var(--radius-sm);background:var(--bg-secondary);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.stock-list small{color:var(--text-muted);font-size:.72rem;display:block}.kds{--k-bg:#0b0b0f;--k-card:#16161d;--k-line:#262631;--k-text:#f4f4f5;--k-muted:#9a9aa8;background:var(--k-bg);min-height:100dvh;color:var(--k-text);font-family:var(--font-body);flex-direction:column;display:flex}.kds-bar{z-index:5;border-bottom:1px solid var(--k-line);background:#101016;align-items:center;gap:14px;padding:12px 18px;display:flex;position:sticky;top:0}.kds-bar h1{font-family:var(--font-display);font-size:1.3rem;font-weight:800}.kds-conn{color:#22c55e;font-size:.75rem;font-weight:700}.kds-conn.off{color:#f59e0b}.kds-clock{font-variant-numeric:tabular-nums;color:var(--k-muted);font-weight:700}.kds-actions{gap:8px;margin-left:auto;display:flex}.kds-icon{border:1px solid var(--k-line);background:var(--k-card);min-width:44px;height:44px;color:var(--k-text);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:1.2rem;display:inline-flex}.kds-icon span{font-size:.85rem;font-weight:700}.kds-requests{background:#f59e0b1f;flex-wrap:wrap;gap:8px;padding:10px 18px;font-weight:700;display:flex}.kds-requests span{background:#f59e0b33;border-radius:999px;padding:4px 10px}.kds-grid{background:var(--k-line);flex:1;grid-template-columns:1fr 1fr;gap:1px;display:grid}.kds-col{background:var(--k-bg);flex-direction:column;min-height:0;display:flex}.kds-col-title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.08em;color:var(--k-muted);align-items:center;gap:10px;padding:14px 18px 10px;font-size:1rem;font-weight:800;display:flex}.kds-col-title span{background:var(--k-card);color:var(--k-text);border-radius:999px;padding:2px 10px}.tone-new .kds-col-title{color:#fbbf24}.tone-cooking .kds-col-title{color:#fb923c}.kds-col-body{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));align-content:start;gap:14px;padding:4px 18px 24px;display:grid}.kds-empty{color:var(--k-muted);padding:24px 0}.kds-ticket{background:var(--k-card);border:2px solid var(--k-line);border-radius:14px;flex-direction:column;animation:.25s both slide-up;display:flex;overflow:hidden}.kds-ticket.age-warn{border-color:#f59e0b}.kds-ticket.age-late{border-color:#ef4444;box-shadow:0 0 0 3px #ef444440}.kds-ticket-head{border-bottom:1px solid var(--k-line);align-items:center;gap:10px;padding:12px 14px;display:flex}.kds-ticket-num{font-family:var(--font-display);font-size:1.3rem;font-weight:800}.kds-ticket-table{color:#000;background:#fff;border-radius:8px;padding:3px 10px;font-weight:800}.kds-ticket-age{font-variant-numeric:tabular-nums;color:var(--k-muted);margin-left:auto;font-weight:800}.age-warn .kds-ticket-age{color:#fbbf24}.age-late .kds-ticket-age{color:#f87171}.kds-flag{color:#fbbf24;background:#f59e0b26;padding:6px 14px;font-size:.8rem;font-weight:700}.kds-items{flex:1;gap:10px;padding:10px 14px;list-style:none;display:grid}.kds-items li{align-items:flex-start;gap:12px;font-size:1.15rem;line-height:1.3;display:flex}.kds-qty{background:var(--k-line);border-radius:8px;place-items:center;min-width:34px;height:34px;font-weight:800;display:grid}.kds-name{flex-direction:column;gap:4px;padding-top:4px;font-weight:700;display:flex}.kds-note{color:#1c1917;background:#fde68a;border-radius:6px;align-items:center;gap:6px;padding:4px 8px;font-size:.9rem;font-weight:700;display:inline-flex}.kds-btn{min-height:56px;font-size:1.05rem;font-weight:800;font-family:var(--font-display);cursor:pointer;border:0;justify-content:center;align-items:center;gap:8px;display:flex}.kds-btn.start{color:#111;background:#f59e0b}.kds-btn.ready{color:#052e14;background:#22c55e}.kds-btn.ghost{background:var(--k-line);color:var(--k-text)}.kds-btn:disabled{opacity:.6}.kds-served{padding:12px 18px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--k-line);background:#101016;flex-wrap:wrap;align-items:center;gap:8px;display:flex}.kds-served-title{color:var(--k-muted);text-transform:uppercase;letter-spacing:.06em;margin-right:6px;font-size:.8rem;font-weight:700}.kds-served-chip{border:1px solid var(--k-line);background:var(--k-card);color:var(--k-text);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:8px 12px;font-weight:700;display:inline-flex}@media (width<=1024px){.report-grid{grid-template-columns:repeat(2,1fr)}.report-columns{grid-template-columns:1fr}}@media (width<=768px){.sidebar-sound-toggle{justify-content:center;padding:10px}.sidebar-sound-toggle span,.sidebar-user-text{display:none}.sidebar-user{justify-content:center;padding:6px 0}.sidebar-link .sidebar-badge{width:10px;min-width:10px;height:10px;padding:0;font-size:0;position:absolute;top:4px;right:4px}.kds-grid{grid-template-columns:1fr}.kds-icon.wide span,.kds-clock{display:none}.form-row.three{grid-template-columns:1fr}.detail-stats{grid-template-columns:repeat(2,1fr)}.table-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px}.table-tile{min-height:96px;padding:12px}.table-tile-num{font-size:1.5rem}.settings-card{padding:18px}.modal-overlay{align-items:flex-end}.modal-content{max-height:92vh;padding:22px 18px calc(22px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0}.mini-list li{grid-template-columns:1fr auto}.mini-list .muted{grid-column:1/-1}.history-table-wrap{overflow-x:auto}}@media (width<=480px){.report-grid{grid-template-columns:1fr 1fr}.report-metric strong{font-size:1.1rem}.requests-strip{flex-direction:column}}
