:root{--ink: #12263a;--ink-2: #4a5d70;--line: #dbe3ea;--bg: #f5f8fa;--card: #ffffff;--brand: #0b6b6f;--brand-2: #0e8a8f;--brand-ink: #ffffff;--accent: #e6f4f4;--warn: #9a5b00;--warn-bg: #fff4e0;--bad: #a32020;--bad-bg: #fdeaea;--good: #1b6b3a;--good-bg: #e6f5ec;--radius: 10px;--shadow: 0 1px 2px rgba(18,38,58,.06), 0 4px 14px rgba(18,38,58,.06)}@media (prefers-color-scheme: dark){:root{--ink: #e8eef4;--ink-2: #a9b8c6;--line: #2b3b4b;--bg: #0f1923;--card: #17232f;--accent: #12353a;--warn-bg: #3a2a0c;--bad-bg: #3b1818;--good-bg: #123222;--brand: #3fb4b8;--brand-2: #5cc7cb;--brand-ink: #06191a;--warn:#f0b35a;--bad:#ff9a9a;--good:#7bd69f}}*{box-sizing:border-box}body{margin:0;font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg)}h1,h2,h3{line-height:1.2;margin:0 0 .5rem}h1{font-size:1.8rem}h2{font-size:1.3rem}h3{font-size:1.05rem}a{color:var(--brand)}.wrap{max-width:980px;margin:0 auto;padding:0 16px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.stack>*+*{margin-top:16px}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.row>.grow{flex:1 1 200px}.muted{color:var(--ink-2);font-size:.92rem}label{display:block;font-weight:600;font-size:.9rem;margin-bottom:4px}input,select,textarea{width:100%;font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:8px;padding:10px 12px;min-height:44px}input:focus,select:focus,textarea:focus,button:focus-visible{outline:3px solid var(--brand-2);outline-offset:1px}input[type=checkbox]{width:auto;min-height:0}button{font:inherit;cursor:pointer;border-radius:8px;border:1px solid var(--line);background:var(--card);color:var(--ink);padding:10px 16px;min-height:44px}button.primary{background:var(--brand);border-color:var(--brand);color:var(--brand-ink);font-weight:600}button.danger{color:var(--bad);border-color:var(--bad)}button.small{min-height:34px;padding:4px 10px;font-size:.9rem}button:disabled{opacity:.5;cursor:not-allowed}.notice{padding:12px 14px;border-radius:8px;background:var(--accent)}.notice.warn{background:var(--warn-bg);color:var(--warn)}.notice.bad{background:var(--bad-bg);color:var(--bad)}.notice.good{background:var(--good-bg);color:var(--good)}.err{color:var(--bad);font-size:.88rem;margin-top:4px}.pill{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.8rem;font-weight:600;background:var(--accent)}.pill.Confirmed,.pill.Completed{background:var(--good-bg);color:var(--good)}.pill.Held,.pill.Requested,.pill.NeedsReview{background:var(--warn-bg);color:var(--warn)}.pill.Cancelled,.pill.Expired,.pill.Refunded{background:var(--bad-bg);color:var(--bad)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2)}.table-scroll{overflow-x:auto}.tabs{display:flex;gap:8px;flex-wrap:wrap}.tab{padding:10px 16px;border-radius:999px;border:1px solid var(--line);background:var(--card)}.tab[aria-pressed=true]{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px}.slot{text-align:center;padding:8px 4px}.slot.sel{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}.slot:disabled{text-decoration:line-through}.days{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.total{display:flex;justify-content:space-between;font-weight:700;font-size:1.15rem;padding-top:8px}.hero{background:linear-gradient(135deg,#0b3d47,#0b6b6f);color:#fff;padding:36px 0 60px}.hero p{opacity:.9;max-width:56ch;margin:0}.pull-up{margin-top:-36px}.modal-bg{position:fixed;inset:0;background:#00000073;display:grid;place-items:center;padding:16px;z-index:10}.modal{max-width:720px;width:100%;max-height:90vh;overflow:auto}@media (max-width: 600px){h1{font-size:1.45rem}.card{padding:16px}}a.btn{display:inline-block;text-decoration:none;border-radius:8px;padding:10px 16px;border:1px solid var(--line)}a.btn.primary{background:var(--brand);border-color:var(--brand);color:var(--brand-ink);font-weight:600}
