:root{
--bg:#070707;--panel:#111;--panel2:#171717;--text:#f5f5f5;--muted:#9b9b9b;
--gold:#d8b36a;--gold2:#f2d18c;--line:#282828;--green:#45d483;--red:#ff5c66;
}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:radial-gradient(circle at 50% -10%,#252016 0,#0a0a0a 35%,#050505 100%);color:var(--text);min-height:100vh}
a{color:inherit;text-decoration:none}.dark{background-color:var(--bg)}
.topbar{height:72px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 5%;position:sticky;top:0;background:rgba(7,7,7,.92);backdrop-filter:blur(14px);z-index:10}
.brand{font-weight:900;letter-spacing:2px;font-size:25px}.brand span{color:var(--gold);margin-left:5px}.brand.small{font-size:18px}
.top-actions{display:flex;gap:10px;align-items:center}.user-pill{padding:9px 13px;border:1px solid var(--line);border-radius:999px;color:var(--gold2)}
.container{width:min(1120px,92%);margin:40px auto 70px}.hero{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:25px}
.eyebrow{font-size:12px;letter-spacing:3px;color:var(--gold);font-weight:800}.hero h1{font-size:clamp(30px,5vw,52px);margin:8px 0}.hero p,.muted{color:var(--muted)}
.date-form label{min-width:190px}.date-form input{margin-top:7px}
label{display:block;font-size:13px;color:#cfcfcf;margin:12px 0}input{width:100%;background:#0b0b0b;border:1px solid var(--line);color:#fff;padding:13px;border-radius:10px;outline:none}input:focus{border-color:var(--gold)}
.btn{border:1px solid var(--line);border-radius:10px;padding:11px 15px;display:inline-block;cursor:pointer;background:#151515;color:#fff}.btn.primary{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#080808;border:0;font-weight:900}.btn.ghost:hover{border-color:var(--gold);color:var(--gold2)}
.notice,.alert{border:1px solid var(--line);border-radius:12px;padding:13px 15px;margin:15px 0;background:#101010}.alert.success{border-color:#245d40}.alert.danger{border-color:#64272c;color:#ffb4b8}.notice strong{color:var(--gold2)}
.slots{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.slot-card{background:linear-gradient(180deg,#141414,#0d0d0d);border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 10px 30px rgba(0,0,0,.2)}.slot-card.empty{border-color:#315a43}.slot-card.partial{border-color:#65542e}.slot-card.full{border-color:#5b292d}
.slot-time{display:grid;grid-template-columns:1fr auto;gap:4px;margin-bottom:14px}.slot-number{font-size:11px;color:var(--muted);letter-spacing:2px}.slot-time strong{font-size:21px;grid-column:1}.capacity{grid-row:1/3;grid-column:2;align-self:center;color:var(--gold2);font-weight:800}
.people{display:grid;grid-template-columns:1fr 1fr;gap:10px}.person{min-height:52px;border-radius:12px;border:1px solid var(--line);display:flex;align-items:center;gap:9px;padding:9px 11px}.reserved{background:#0c0c0c}.empty-person{padding:0;border-style:dashed}.slot-btn{width:100%;height:52px;background:transparent;color:var(--gold2);border:0;font-weight:800;cursor:pointer}.slot-btn:disabled{color:#555;cursor:not-allowed}.dot{width:9px;height:9px;border-radius:50%;background:var(--green);display:inline-block}.mini{border:1px solid var(--line);background:#161616;color:#fff;border-radius:7px;padding:5px 8px;cursor:pointer;margin-left:auto}.danger-btn{color:#ff9ea4;border-color:#54282c}
.admin-grid{display:grid;grid-template-columns:1fr 2fr;gap:15px;margin-bottom:15px}.panel{background:#101010;border:1px solid var(--line);border-radius:16px;padding:20px;margin-bottom:15px}.panel h2{margin-top:0}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--gold);font-size:12px;letter-spacing:1px}
.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:25px}.auth-card{width:min(430px,100%);background:rgba(15,15,15,.94);border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:0 30px 80px rgba(0,0,0,.45)}.auth-card h1{font-size:32px;margin:8px 0}.auth-card .btn{width:100%;margin-top:8px}.footer-note{color:#666;font-size:12px;margin-top:18px}
@media(max-width:760px){.hero{display:block}.date-form{margin-top:18px}.slots{grid-template-columns:1fr}.people{grid-template-columns:1fr 1fr}.topbar{padding:0 4%;height:64px}.top-actions .user-pill{display:none}.admin-grid{grid-template-columns:1fr}.container{margin-top:25px}}
