@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{color:#0f172a;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(120deg,#f3f8ff 0%,#f9fdff 100%);font-family:Space Grotesk,Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-weight:400;line-height:1.6}*{box-sizing:border-box}body{min-height:100vh;margin:0}a{color:inherit;text-decoration:none}#root{width:100%}.page{color:#0f172a;max-width:1180px;margin:0 auto;padding:32px 18px 80px}.topbar{justify-content:flex-end;align-items:center;margin-bottom:12px;display:flex}.login-pill{color:#03202d;cursor:pointer;background:linear-gradient(135deg,#0ea5e9,#22d3ee);border:1px solid #0ea5e9;border-radius:999px;padding:8px 14px;font-weight:800;transition:transform .12s,box-shadow .12s;box-shadow:0 8px 20px #0ea5e959}.login-pill:hover{transform:translateY(-1px);box-shadow:0 12px 28px #0ea5e973}.hero{color:#fdf6e3;background-color:#0000;background-image:linear-gradient(130deg,#2d1008b8,#782012d1),url(/retro-bg.jpg);background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border:1px solid #fdf6e329;border-radius:18px;flex-direction:column;gap:12px;padding:26px;display:flex;box-shadow:0 20px 45px #2d10084d}.hero-inner{grid-template-columns:1.4fr .6fr;align-items:center;gap:18px;display:grid}.hero-text{flex-direction:column;gap:10px;display:flex}.badge{color:#fcd34d;letter-spacing:-.01em;background:#0000008c;border-radius:999px;align-self:flex-start;padding:6px 12px;font-size:13px;font-weight:700}.hero-headline h1{letter-spacing:-.02em;color:#fff7e6;margin:0 0 6px;font-size:28px}.hero-headline p{color:#f4e7d1;margin:0;font-size:16px}.hero-logo{background-color:#2b160f;background-image:url(/jr-logo-gold.png);background-position:50%;background-repeat:no-repeat;background-size:82%;border:1px solid #fdf6e32e;border-radius:16px;justify-self:end;width:200px;height:200px;box-shadow:0 12px 28px #00000059}.layout{grid-template-columns:1.6fr 1fr;gap:16px;margin-top:22px;display:grid}.login-page{margin-top:20px}.login-card{color:#e5e7eb;background:#0f172a;border:1px solid #1f2937;border-radius:16px;padding:24px;box-shadow:0 16px 40px #0f172a66}.login-card-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.panel{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:18px;box-shadow:0 10px 35px #0f172a14}.panel.secondary{background:linear-gradient(#f8fbff 0%,#fff 100%)}.panel.admin{margin-top:16px}.panel-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.panel-header h2{letter-spacing:-.02em;margin:2px 0 0}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:#6b7280;margin:0;font-size:11px}.pill{color:#0ea5e9;background:#e0f2fe;border:1px solid #c7e5ff;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:700;display:inline-flex}.pill.neutral{color:#4b5563;background:#f3f4f6;border-color:#e5e7eb}.pill.success{color:#15803d;background:#dcfce7;border-color:#bbf7d0}.form{flex-direction:column;gap:12px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.date-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.date-nav{align-items:center;gap:8px;display:inline-flex}.date-btn{color:#f9fafb;cursor:pointer;background:#111827;border:1px solid #374151;border-radius:10px;width:36px;height:36px;font-weight:800;transition:all .12s}.date-btn:hover:not(:disabled){background:#1f2937;transform:translateY(-1px)}.date-btn:disabled{opacity:.35;cursor:not-allowed}.date-display{color:#f9fafb;text-align:center;background:#111827;border:1px solid #374151;border-radius:12px;min-width:170px;padding:8px 12px;font-weight:700}.grid-2{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.field label{color:#0f172a;font-size:14px;font-weight:700}.field input,.field textarea{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:12px;font-size:15px;transition:border-color .15s,box-shadow .15s}.field input:focus,.field textarea:focus{border-color:#0ea5e9;outline:none;box-shadow:0 0 0 3px #0ea5e926}.slots-grid{grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:10px;display:grid}.secondary-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.slot{color:#0f172a;cursor:pointer;background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;padding:10px;font-weight:700;transition:all .15s}.slot:hover:not(:disabled){background:#e0f2fe;border-color:#0ea5e9}.slot:disabled{cursor:not-allowed;color:#9ca3af;background:#f3f4f6}.slot.active{color:#03202d;background:#0ea5e9;border-color:#0ea5e9}.slot-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;gap:4px;padding:12px;font-weight:700;display:flex}.slot-card.small{font-weight:400}.slot-card.available{background:#ecfdf3;border-color:#bbf7d0}.slot-card.booked{color:#9f1239;background:#fff1f2;border-color:#fecdd3}.ghost{color:#94a3b8;text-align:center;background:#f8fafc;border:1px dashed #e5e7eb;border-radius:12px;padding:12px}.cta-row{justify-content:space-between;align-items:center;gap:10px;margin-top:4px;display:flex}.primary{color:#03202d;cursor:pointer;background:linear-gradient(135deg,#0ea5e9,#22d3ee);border:none;border-radius:12px;padding:12px 18px;font-weight:800;transition:transform .12s,box-shadow .12s;box-shadow:0 12px 30px #0ea5e959}.primary:hover{transform:translateY(-1px);box-shadow:0 16px 36px #0ea5e973}.primary:disabled{opacity:.6;cursor:not-allowed}.hint{color:#6b7280;font-size:13px}.status{border-radius:10px;margin-top:6px;padding:12px;font-weight:600}.status.success{color:#166534;background:#ecfdf3;border:1px solid #bbf7d0}.status.error{color:#9f1239;background:#fff1f2;border:1px solid #fecdd3}.legend{color:#475569;gap:12px;margin:0 0 12px;padding:0;list-style:none;display:flex}.legend .dot{border:1px solid #e5e7eb;border-radius:50%;width:10px;height:10px;margin-right:6px;display:inline-block}.dot.available{background:#22c55e}.dot.booked{background:#f43f5e}.toast{color:#fff;background:#0f172a;border-radius:12px;padding:14px 18px;font-weight:700;position:fixed;bottom:26px;right:26px;box-shadow:0 12px 32px #0f172a59}.admin-form{margin-top:4px}.admin-fields{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.admin-field{background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;gap:6px;padding:12px;display:flex}.admin-field label{color:#0f172a;font-weight:800}.admin-field input{background:#fff;border:1px solid #d7dce5;border-radius:10px;padding:10px 12px;font-size:15px}.login-card .admin-field{background:#111827;border-color:#1f2937}.login-card .admin-field label{color:#e5e7eb}.login-card .admin-field input{color:#e5e7eb;background:#0b1220;border-color:#1f2937}.admin-bar{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.ghost-btn{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:10px 14px;font-weight:700}.bookings{flex-direction:column;gap:10px;display:flex}.admin-actions{justify-content:flex-end}.admin-locked{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.booking-card{background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;gap:6px;padding:12px;display:flex}.booking-main h3{letter-spacing:-.01em;margin:0}.booking-main p{color:#4b5563;margin:0}.booking-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.booking-meta .note{color:#0f172a;background:#fff;border-radius:10px;margin:0;padding:8px 10px}@media (max-width:960px){.layout{grid-template-columns:1fr}.hero{padding:20px}.hero-inner{text-align:left;grid-template-columns:1fr}.hero-logo{justify-self:start;width:150px;height:150px}.panel{padding:16px}.cta-row{flex-direction:column;align-items:flex-start}.toast{left:16px;right:16px}}@media (max-width:600px){.slots-grid{grid-template-columns:repeat(auto-fit,minmax(80px,1fr))}}
