@font-face{font-family:Yorucho Serif;src:url(/assets/NotoSerifJP-subset-BoR7fK6R.woff2)format("woff2");font-weight:400 700;font-display:swap}:root{--bg:#121110;--bg2:#1c1a17;--bg3:#262320;--line:#3a352b;--text:#ece7dc;--muted:#9b9484;--accent:#cfa63f;--accent-text:#1a1508;--danger:#c65740;--ok:#7da97c;--warn:#d99c3c;--nav-h:62px;--serif:"Yorucho Serif", "Hiragino Mincho ProN", serif}*{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{font-size:1.15rem;font-family:var(--serif);letter-spacing:.06em;align-items:center;gap:8px;padding:6px 2px 10px;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-hero{font-family:var(--serif);color:var(--accent)}.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{border:1px solid var(--warn);color:var(--warn);background:0 0;border-radius:4px;padding:1px 6px;font-size:.8rem;font-weight:700}.table-card .over-badge{border:1px solid var(--danger);color:var(--danger);background:0 0;border-radius:4px;padding:1px 6px;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)}#splash{touch-action:manipulation;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;display:flex}.splash-logo{position:relative}.splash-kanji{gap:14px;display:flex}.splash-kanji svg{width:min(30vw,140px);height:auto}.splash-kanji path{fill:none;stroke:#ece7dc;stroke-width:5px;stroke-linecap:round;stroke-linejoin:round}.splash-stamp{writing-mode:vertical-rl;color:#c65740;font-family:var(--serif);letter-spacing:.2em;opacity:0;border:2px solid #c65740;border-radius:4px;padding:6px 4px;font-size:1.05rem;position:absolute;bottom:-48px;right:-18px}.receipt{color:#26221a;background:#f5f0e4;border-radius:10px;padding:20px 18px;font-size:.9rem;position:relative}.receipt h3{font-family:var(--serif);text-align:center;margin:0 auto 10px}.receipt .stamp{color:#b3452e;font-family:var(--serif);letter-spacing:.15em;border:2px solid #b3452e;padding:3px 12px;display:inline-block}.receipt .reissue{color:#b3452e;border:1px solid #b3452e;padding:0 6px;font-size:.75rem;position:absolute;top:10px;right:12px}.receipt .addressee{font-family:var(--serif);border-bottom:1px solid #26221a;margin-bottom:8px;padding:2px 4px 4px}.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{font-family:var(--serif);border-top:1px solid #26221a;padding-top:6px;font-weight:700}@media print{body{background:#fff}#app>:not(.receipt),nav.bottom,.toast,#receipt-addressee,button{display:none}.receipt{border-radius:0}}.login-wrap{flex-direction:column;justify-content:center;max-width:360px;min-height:82dvh;margin:0 auto;display:flex}.brand{text-align:center;margin-bottom:28px}.brand .logo{font-family:var(--serif);letter-spacing:.3em;color:var(--accent);padding-left:.3em;font-size:2.4rem;font-weight:700}.brand .tag{color:var(--muted);margin-top:10px;font-size:.85rem}.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}.center-text{text-align:center}.table-scroll{overflow-x:auto}.table-scroll table{white-space:nowrap;min-width:100%}.audit-detail{white-space:pre-wrap;word-break:break-all;background:var(--bg);border:1px solid var(--line);border-radius:8px;margin:4px 0 10px;padding:8px;font-size:.72rem}.audit-row{text-align:left;width:100%}.h1-link{color:var(--accent);font-size:.8rem}.demo-banner{z-index:20;background:var(--warn);color:#1a1508;text-align:center;padding:3px 8px;font-size:.75rem;font-weight:700;position:fixed;top:0;left:0;right:0}body.with-demo-banner #app{padding-top:26px}.demo-entry button{width:100%;margin-bottom:8px}
