:root{--bg:#08070d;--panel:#12111a;--panel2:#181622;--line:#302d3a;--ink:#f7f5ff;--muted:#aaa4b7;--acid:#d8ff32;--cyan:#65eaff;--danger:#ff668d;--shadow:0 18px 50px rgba(0,0,0,.34)}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 90% 0,#23152d 0,transparent 34%),var(--bg);color:var(--ink);font-family:Inter,Segoe UI,Arial,sans-serif;min-height:100vh}.topbar{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:30px;padding:16px 28px;border-bottom:1px solid var(--line);background:rgba(8,7,13,.92);backdrop-filter:blur(18px)}.brand{color:var(--ink);text-decoration:none;font-weight:900;letter-spacing:.04em}.brand span,.eyebrow{color:var(--acid)}.brand small{color:var(--muted);font-size:10px}.topbar nav{display:flex;gap:6px}.topbar nav a{color:var(--muted);text-decoration:none;padding:10px 14px;border-radius:12px;font-size:14px}.topbar nav a.active,.topbar nav a:hover{color:var(--ink);background:var(--panel2)}button,input,textarea,select{font:inherit}.quiet,.primary,.secondary{border:0;border-radius:12px;padding:11px 16px;cursor:pointer;font-weight:800}.quiet{background:transparent;color:var(--muted)}.primary{background:var(--acid);color:#111506}.secondary{background:#282432;color:var(--ink);border:1px solid var(--line)}button:disabled{opacity:.45;cursor:wait}.shell{max-width:1180px;margin:0 auto;padding:42px 24px 90px}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(440px,100%);background:rgba(18,17,26,.95);border:1px solid var(--line);border-radius:26px;padding:36px;box-shadow:var(--shadow)}h1,h2,p{margin-top:0}h1{font-size:clamp(30px,5vw,54px);line-height:1;margin-bottom:12px;letter-spacing:-.04em}h2{font-size:20px}.eyebrow{font-size:11px;font-weight:900;letter-spacing:.17em;margin-bottom:10px}.muted,.lead{color:var(--muted);line-height:1.55}.lead{max-width:800px;margin-bottom:28px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.status-pill{border:1px solid #526314;color:var(--acid);background:#161c0c;border-radius:999px;padding:8px 12px;font-size:12px}.panel{background:linear-gradient(160deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:20px;padding:22px;margin-bottom:18px;box-shadow:var(--shadow)}.offer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.offer-card{position:relative;overflow:hidden}.offer-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--acid)}.offer-code{color:var(--cyan);font:700 11px ui-monospace,monospace}.offer-price{font-size:28px;font-weight:900}.offer-meta{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.tag{background:#24212e;border:1px solid var(--line);border-radius:999px;padding:6px 9px;color:var(--muted);font-size:12px}.experience-list{display:flex;gap:7px;flex-wrap:wrap;padding:0;list-style:none}.experience-list li{color:var(--ink);font-size:12px}.form-stack,.form-grid{display:grid;gap:14px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}label{display:grid;gap:7px;color:var(--muted);font-size:12px;font-weight:700}input,textarea,select{width:100%;border:1px solid var(--line);background:#0d0c13;color:var(--ink);border-radius:11px;padding:11px 12px;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--cyan)}textarea{min-height:86px;resize:vertical}.check{display:flex;align-items:center;gap:8px}.check input{width:auto}.actions{display:flex;justify-content:flex-end;margin-top:18px}.feedback{min-height:20px;color:var(--danger);margin:14px 0 0}.two-columns{display:grid;grid-template-columns:1.25fr 1fr;gap:26px}.week-grid,.start-grid,.capacity-grid{display:grid;gap:8px}.week-row,.start-row,.capacity-row{display:grid;grid-template-columns:140px 100px 1fr 1fr;gap:10px;align-items:center;padding:10px;border-bottom:1px solid var(--line)}.start-row{grid-template-columns:140px 1fr}.capacity-row{grid-template-columns:1fr 220px 120px}.capacity-row strong{font-size:17px}.inline-form{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr)) auto;gap:10px;align-items:end;margin:18px 0}.block-form{grid-template-columns:1fr 1.2fr 1.2fr 140px 1.4fr auto}.list{display:grid;gap:8px}.list-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--line);border-radius:12px;padding:12px}.list-row small{display:block;color:var(--muted);margin-top:4px}.danger{color:var(--danger);background:transparent;border:1px solid #663043;border-radius:10px;padding:8px 10px;cursor:pointer}.notice{border-left:3px solid var(--cyan);padding:10px 12px;background:#101a1d;color:#c3e8ed;font-size:12px}.toast{position:fixed;right:22px;bottom:22px;z-index:50;max-width:420px;padding:14px 18px;border-radius:12px;background:var(--acid);color:#111506;font-weight:800;box-shadow:var(--shadow)}.toast.error{background:var(--danger);color:white}.hidden{display:none!important}.loading{color:var(--muted)}
.reservation-search{display:grid;grid-template-columns:minmax(240px,1fr) 190px auto;gap:12px;align-items:end}.reservation-results{display:grid;gap:8px;margin-top:18px}.reservation-card{display:grid;grid-template-columns:1fr 1fr 1.2fr 1fr;gap:16px;text-align:left;align-items:center;width:100%;border:1px solid var(--line);background:#0d0c13;color:var(--ink);border-radius:14px;padding:14px;cursor:pointer}.reservation-card:hover{border-color:var(--cyan);background:#121722}.reservation-card span,.reservation-card small{display:block}.reservation-card small{color:var(--muted);margin-top:4px}.reservation-detail-head{display:flex;justify-content:space-between;align-items:center}.reservation-total{text-align:right}.reservation-total span,.reservation-total small{display:block;color:var(--muted)}.reservation-total strong{display:block;font-size:32px;margin:5px 0}.reservation-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.detail-list{display:grid;gap:0;margin:0}.detail-list div{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid var(--line)}.detail-list dt{color:var(--muted)}.detail-list dd{margin:0;text-align:right;font-weight:700}.field-title{display:block;margin-bottom:9px}.experience-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.experience-choice{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:12px;padding:11px}.experience-choice input{width:auto}.cancel-form{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}.history-list{display:grid;gap:10px}.history-row{border-left:3px solid var(--cyan);background:#0d0c13;padding:13px 15px;border-radius:0 12px 12px 0}.history-row small{display:block;color:var(--muted);margin-top:4px}.history-row p,.history-row ul{margin:8px 0 0}.history-row ul{padding-left:20px;color:var(--muted)}.availability-status{display:block;color:var(--cyan);font-weight:600;line-height:1.4}.form-stack select option:disabled{color:#746f7d}
@media(max-width:800px){.topbar{grid-template-columns:1fr auto;gap:12px;padding:14px 20px}.topbar nav{grid-column:1/-1;grid-row:2;flex-wrap:wrap;overflow:visible}.topbar nav a{padding:8px 10px}.topbar>.quiet{grid-column:2;grid-row:1}.shell{padding-top:28px}.offer-grid,.two-columns{grid-template-columns:1fr}.inline-form,.block-form{grid-template-columns:1fr 1fr}.week-row{grid-template-columns:1fr 80px 1fr 1fr}.capacity-row{grid-template-columns:1fr 130px 80px}.page-heading{align-items:flex-start;flex-direction:column}.reservation-search,.reservation-detail-grid,.cancel-form{grid-template-columns:1fr}.reservation-card{grid-template-columns:1fr 1fr}.reservation-detail-head{align-items:flex-start;flex-direction:column}.reservation-total{text-align:left;margin-top:12px}.experience-choices{grid-template-columns:1fr 1fr}}
