:root{--bg:#14121a;--bg2:#1e1b26;--bg3:#2a2635;--line:#3a3448;--text:#f2eef7;--muted:#a49bb8;--accent:#d4a94b;--accent-text:#1a1508;--danger:#e0566b;--ok:#5bbd8b;--warn:#e0a23c;--nav-h:62px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{font-size:16px}body{background:var(--bg);color:var(--text);min-height:100dvh;font-family:Hiragino Kaku Gothic ProN,Noto Sans JP,system-ui,sans-serif}#app{max-width:640px;padding:12px 12px calc(var(--nav-h) + env(safe-area-inset-bottom) + 16px);margin:0 auto}h1{align-items:center;gap:8px;padding:6px 2px 10px;font-size:1.15rem;display:flex}h1 .sub{color:var(--muted);margin-left:auto;font-size:.8rem;font-weight:400}h2{color:var(--muted);margin:16px 2px 6px;font-size:.95rem}.card{background:var(--bg2);border:1px solid var(--line);border-radius:14px;margin-bottom:10px;padding:12px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.grow{flex:1}.muted{color:var(--muted);font-size:.85rem}.big{font-size:1.5rem;font-weight:700}.amount{font-variant-numeric:tabular-nums}.danger-text{color:var(--danger)}.warn-text{color:var(--warn)}.ok-text{color:var(--ok)}button{font:inherit;border:1px solid var(--line);background:var(--bg3);color:var(--text);cursor:pointer;border-radius:12px;min-height:48px;padding:12px 16px}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:700}button.danger{border-color:var(--danger);color:var(--danger);background:0 0}button.small{min-height:40px;padding:8px 12px;font-size:.9rem}button:disabled{opacity:.45}button.wide{width:100%}input,select,textarea{font:inherit;background:var(--bg3);color:var(--text);border:1px solid var(--line);border-radius:10px;width:100%;min-height:48px;padding:12px}label.field{margin-bottom:10px;display:block}label.field>span{color:var(--muted);margin-bottom:4px;font-size:.8rem;display:block}.menu-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.menu-grid button{flex-direction:column;align-items:flex-start;gap:2px;min-height:64px;display:flex}.menu-grid .price{color:var(--muted);font-size:.8rem}.cast-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.cast-grid button{min-height:56px}.cast-grid button.selected{background:var(--accent);color:var(--accent-text);border-color:var(--accent);font-weight:700}.table-card{text-align:left;width:100%;margin-bottom:10px;display:block}.table-card .warn-badge{background:var(--warn);color:#1a1508;border-radius:8px;padding:2px 8px;font-size:.8rem;font-weight:700}.table-card .over-badge{background:var(--danger);color:#fff;border-radius:8px;padding:2px 8px;font-size:.8rem;font-weight:700}.order-line{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:10px 2px;display:flex}.order-line.voided{opacity:.4;text-decoration:line-through}table.list{border-collapse:collapse;width:100%;font-size:.9rem}table.list th,table.list td{text-align:right;border-bottom:1px solid var(--line);padding:8px 6px}table.list th:first-child,table.list td:first-child{text-align:left}table.list th{color:var(--muted);font-size:.8rem;font-weight:400}nav.bottom{background:var(--bg2);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);z-index:10;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}nav.bottom a{text-align:center;color:var(--muted);min-height:var(--nav-h);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:8px 0 10px;font-size:.7rem;text-decoration:none;display:flex}nav.bottom a .icon{font-size:1.3rem}nav.bottom a.active{color:var(--accent)}.toast{left:50%;bottom:calc(var(--nav-h) + 20px);background:var(--bg3);border:1px solid var(--line);color:var(--text);z-index:100;border-radius:12px;max-width:90vw;padding:12px 18px;position:fixed;transform:translate(-50%)}.toast.error{border-color:var(--danger);color:var(--danger)}.receipt{color:#1a1a1a;background:#fff;border-radius:10px;padding:18px;font-size:.9rem}.receipt h3{text-align:center;margin-bottom:8px}.receipt table{border-collapse:collapse;width:100%}.receipt table td{padding:3px 0}.receipt table td:last-child{text-align:right;font-variant-numeric:tabular-nums}.receipt .total-line td{border-top:1px solid #333;padding-top:6px;font-weight:700}@media print{body{background:#fff}#app>:not(.receipt),nav.bottom,.toast{display:none}.receipt{border-radius:0}}.login-wrap{max-width:360px;margin:14vh auto 0}.brand{text-align:center;margin-bottom:18px}.brand .logo{letter-spacing:.3em;color:var(--accent);font-size:2rem;font-weight:700}.brand .tag{color:var(--muted);margin-top:4px;font-size:.8rem}.tabs{gap:6px;margin-bottom:12px;display:flex;overflow-x:auto}.tabs button{white-space:nowrap;min-height:42px;padding:8px 14px}.tabs button.active{background:var(--accent);color:var(--accent-text);border-color:var(--accent);font-weight:700}
