:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0a0a;--card:#161618;--text:#ececec;--muted:#a1a1aa;--line:#2c2c30;--brand:#fb923c;--brand-ink:#111;--ok:#4ade80;--warn:#fbbf24;--err:#f87171;--field:#0f0f11;--field-line:#44444c;--pressed:#2a1708;--notice:#24160b;--notice-line:#7c3a10;--paid-bg:#4ade8024;--unpaid-bg:#fbbf2424;--cancel-bg:#f8717124;--focus:#fdba74}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font:16px/1.5 system-ui,-apple-system,Noto Sans TC,Microsoft JhengHei,sans-serif}main{max-width:860px;margin:0 auto;padding:16px}h1{margin:0 0 12px;font-size:1.4rem}h2{margin:20px 0 8px;font-size:1.15rem}a{color:var(--brand)}.top{background:var(--card);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 16px;display:flex}.brand{color:var(--brand);font-size:1.1rem;font-weight:700;text-decoration:none}.top nav{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.top nav a,.top nav button{align-items:center;min-height:44px;padding:0 10px;text-decoration:none;display:inline-flex}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;margin-bottom:16px;padding:16px}.narrow{max-width:420px;margin:24px auto}.muted{color:var(--muted);font-size:.9rem}.center{text-align:center}.error{color:var(--err);font-weight:600}.notice{background:var(--notice);border:1px solid var(--notice-line);border-radius:8px;padding:10px 12px}form{gap:12px;display:grid}label{gap:4px;font-size:.95rem;font-weight:600;display:grid}input,select,textarea{font:inherit;border:1px solid var(--field-line);background:var(--field);min-height:44px;color:var(--text);border-radius:8px;width:100%;padding:8px 10px}input::placeholder,textarea::placeholder{color:var(--muted)}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:2px}button{font:inherit;cursor:pointer;border:1px solid var(--field-line);background:var(--field);min-height:44px;color:var(--text);border-radius:8px;padding:0 16px}button:disabled{opacity:.55;cursor:not-allowed}button.primary{background:var(--brand);border-color:var(--brand);color:var(--brand-ink);font-weight:700}button.secondary{width:100%;margin-top:12px}button.danger{color:var(--err);border-color:color-mix(in srgb, var(--err) 50%, transparent)}button.link{color:var(--brand);background:0 0;border:0;padding:0 10px}button.small{padding:0 10px;font-size:.9rem}button{white-space:nowrap}.brand,.row a,a.back{align-items:center;min-height:44px;padding:0 6px;display:inline-flex}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.spread{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.menu{margin:0;padding:0;list-style:none}.menu>li{border-top:1px solid var(--line);padding:10px 0}.menu>li:first-child{border-top:0}.qty{align-items:center;gap:4px;display:inline-flex}.qty button{width:44px;padding:0;font-size:1.2rem}.qty output{text-align:center;min-width:2ch;font-weight:700}.pay{grid-template-columns:1fr 1fr;gap:8px;display:grid}.pay button[aria-pressed=true]{background:var(--pressed);border:2px solid var(--brand);font-weight:700}.badge{border-radius:999px;padding:2px 8px;font-size:.8rem;font-weight:700;display:inline-block}.badge.paid{background:var(--paid-bg);color:var(--ok)}.badge.unpaid{background:var(--unpaid-bg);color:var(--warn)}.badge.cancelled{background:var(--cancel-bg);color:var(--err)}.menu>li.cancelled>ul,.menu>li.cancelled>.spread>span:first-child{color:var(--muted);text-decoration:line-through}table{border-collapse:collapse;width:100%;font-size:.95rem}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px 6px}th{color:var(--muted);font-weight:600}.num{text-align:right;white-space:nowrap}.scroll{overflow-x:auto}
