:root{--bg:#f6f6f8;--surface:#fff;--text:#1b1b1f;--muted:#6b6b75;--border:#dcdce2;--groom:#2463eb;--groom-soft:#e6eeff;--bride:#db2777;--bride-soft:#fde7f1;--warn-bg:#fff6d6;--warn-border:#e6b800;--danger:#c62828;--radius:12px;color:var(--text);background:var(--bg);-webkit-text-size-adjust:100%;font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#121214;--surface:#1d1d21;--text:#f2f2f5;--muted:#a0a0ab;--border:#33333a;--groom-soft:#16244a;--bride-soft:#43162c;--warn-bg:#3a3110;--warn-border:#a88600;--danger:#ff6b6b}}*{box-sizing:border-box}body{background:var(--bg);margin:0}h1{font-size:22px}.page{max-width:560px;margin:0 auto;padding:12px 16px 80px}.page.wide{max-width:1200px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px;padding:12px}.field{margin-bottom:10px}.field>span{color:var(--muted);margin-bottom:4px;font-size:14px;display:block}input,select{font:inherit;border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:8px;padding:10px 12px}input[type=checkbox]{width:auto}input.big{font-size:22px}button{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;touch-action:manipulation;border-radius:8px;padding:10px 14px}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--accent,#333);color:#fff;border-color:#0000;font-weight:700}.side-groom{--accent:var(--groom);--accent-soft:var(--groom-soft)}.side-bride{--accent:var(--bride);--accent-soft:var(--bride-soft)}.statusbar{z-index:5;background:var(--accent-soft,var(--surface));border-bottom:3px solid var(--accent,var(--border));flex-wrap:wrap;align-items:center;gap:8px;padding:8px 16px;display:flex;position:sticky;top:0}.pill{background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:2px 8px;font-size:13px}.leave{margin-left:auto;padding:6px 10px;font-size:14px}.grid-btns{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.grid-btns button{padding:12px 0;font-weight:700}.row{align-items:center;gap:8px;display:flex}.row.end{justify-content:flex-end;margin-top:12px}.tickets{flex-wrap:wrap;justify-content:space-between;margin-top:8px}.amount-total{text-align:right;margin:6px 0;font-size:32px;font-weight:800}.warn{background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:8px;margin-bottom:10px;padding:8px 10px;font-size:14px}.stepper{align-items:center;gap:8px;display:flex}.stepper output{text-align:center;min-width:2ch;font-size:22px;font-weight:700}.submit{width:100%;margin-top:10px;padding:16px;font-size:22px}.overlay{z-index:20;background:#0000008c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.dialog{background:var(--surface);border-radius:var(--radius);width:min(100%,460px);max-height:88vh;padding:16px;overflow:auto}.dialog-title{margin-top:0}.receipt-flash{background:var(--surface);text-align:center;border-radius:16px;padding:28px 36px}.receipt-flash .no{color:var(--accent);font-size:64px;font-weight:900}.list{margin:0;padding:0;list-style:none}.list li{border-bottom:1px solid var(--border);justify-content:space-between;gap:8px;padding:8px 4px;display:flex}.muted{color:var(--muted);font-size:13px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;padding:6px 8px}th button{background:0 0;border:0;padding:2px 4px;font-weight:700}.num{text-align:right}.tabs{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.tabs button[aria-pressed=true]{background:var(--text);color:var(--bg)}.cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin-bottom:12px;display:grid}.cards .card{margin-bottom:0}.error{color:var(--danger)}p.error{font-size:14px}.tag{background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:6px;margin-left:4px;padding:1px 6px;font-size:12px}.row button{white-space:nowrap;flex-shrink:0}
