:root{--cyan:#00C2FF;--sky:#5FD4FF;--ink:#070C15;--panel:#0F2038;--white:#EAF2F8;--muted:#91A6B8;--line:rgba(0,194,255,.28);--green:#24E29A}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--ink);color:var(--white)}body{font-family:'IBM Plex Sans',sans-serif;background:radial-gradient(circle at 15% 5%,rgba(0,194,255,.10),transparent 24%),radial-gradient(circle at 90% 12%,rgba(95,212,255,.06),transparent 20%),linear-gradient(180deg,#06101b,#070c15)}a{text-decoration:none;color:inherit}button,select,textarea{font:inherit}.booking-topbar{height:72px;display:flex;align-items:center;gap:24px;padding:0 28px;border-bottom:1px solid rgba(0,194,255,.35);background:linear-gradient(90deg,#081321,#0a1a2b 55%,#07111d);position:sticky;top:0;z-index:20}.booking-brand{display:flex;align-items:center;gap:12px}.booking-brand img{width:44px;height:44px;object-fit:contain;filter:drop-shadow(0 0 10px rgba(0,194,255,.45))}.booking-brand span{display:flex;flex-direction:column;line-height:1}.booking-brand strong{font:800 22px 'Plus Jakarta Sans';color:var(--cyan)}.booking-brand small{margin-top:5px;font:600 10px 'IBM Plex Mono';letter-spacing:.14em}.booking-signal{margin:auto;font:600 10px 'IBM Plex Mono';letter-spacing:.18em;color:var(--cyan);display:flex;align-items:center;gap:8px}.booking-signal i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 12px rgba(36,226,154,.85)}.back-link{font:700 12px 'Plus Jakarta Sans';color:var(--sky);border:1px solid rgba(95,212,255,.28);padding:10px 14px;border-radius:8px}.booking-shell{width:min(1240px,calc(100% - 36px));margin:0 auto;padding:42px 0 36px;position:relative}.booking-shell:before,.booking-shell:after{content:'';position:absolute;width:180px;height:120px;opacity:.18;pointer-events:none;background:linear-gradient(90deg,transparent 0 24%,var(--cyan) 24% 25%,transparent 25% 100%);border-top:1px solid var(--cyan)}.booking-shell:before{right:-30px;top:110px}.booking-shell:after{left:-40px;bottom:40px;transform:rotate(180deg)}.booking-hero{display:grid;grid-template-columns:1.3fr .7fr;align-items:center;gap:40px;margin-bottom:28px}.eyebrow{margin:0 0 8px;color:var(--cyan);font:600 10px 'IBM Plex Mono';letter-spacing:.18em}.booking-hero h1{margin:0;font:800 clamp(42px,6vw,72px)/.98 'Plus Jakarta Sans';letter-spacing:-.045em}.booking-hero h1 span{color:var(--sky)}.hero-copy{max-width:720px;margin:18px 0 0;color:#b8c8d8;font-size:16px;line-height:1.65}.status-orbit{width:210px;height:210px;margin-left:auto;position:relative;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(0,194,255,.28);background:radial-gradient(circle,rgba(0,194,255,.12),transparent 62%)}.status-orbit .ring{position:absolute;border:1px solid rgba(95,212,255,.26);border-radius:50%}.status-orbit .r1{inset:15px}.status-orbit .r2{inset:35px;border-style:dashed}.status-orbit img{width:72px;filter:drop-shadow(0 0 12px rgba(0,194,255,.55))}.status-orbit small{position:absolute;bottom:43px;font:500 9px 'IBM Plex Mono';letter-spacing:.14em;color:var(--muted)}.status-orbit strong{position:absolute;top:39px;color:var(--cyan);font:800 14px 'Plus Jakarta Sans'}.scheduler-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:18px}.calendar-card,.time-card,.upcoming-card{border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,rgba(15,32,56,.96),rgba(8,22,38,.98));box-shadow:inset 0 1px rgba(255,255,255,.02),0 18px 50px rgba(0,0,0,.18)}.calendar-card,.time-card{padding:24px}.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px}.section-head h2,.upcoming-card h2{margin:0;font:800 24px 'Plus Jakarta Sans';letter-spacing:-.025em}.month-controls{display:flex;gap:8px}.month-controls button{width:38px;height:38px;border-radius:9px;border:1px solid rgba(95,212,255,.25);background:#0a182a;color:var(--white);font-size:24px;cursor:pointer}.month-controls button:hover{border-color:var(--cyan);color:var(--sky);box-shadow:0 0 16px rgba(0,194,255,.15)}.weekday-row,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.weekday-row{margin-bottom:8px}.weekday-row span{text-align:center;color:#7395b3;font:600 10px 'IBM Plex Mono';text-transform:uppercase}.day{aspect-ratio:1;border:1px solid rgba(95,212,255,.12);border-radius:10px;background:rgba(7,17,29,.72);color:#d9e6ee;display:grid;place-items:center;position:relative;cursor:pointer;font:700 13px 'IBM Plex Sans'}.day:hover:not(:disabled){border-color:rgba(0,194,255,.6);background:rgba(0,194,255,.07)}.day.available:after{content:'';position:absolute;bottom:7px;width:5px;height:5px;border-radius:50%;background:var(--green);box-shadow:0 0 8px rgba(36,226,154,.75)}.day.selected{border-color:var(--cyan);background:linear-gradient(180deg,rgba(0,194,255,.22),rgba(0,194,255,.08));box-shadow:0 0 18px rgba(0,194,255,.18);color:#fff}.day:disabled,.day.outside{opacity:.25;cursor:not-allowed}.calendar-key{display:flex;flex-wrap:wrap;gap:18px;margin-top:18px;color:var(--muted);font:500 10px 'IBM Plex Mono'}.calendar-key span{display:flex;align-items:center;gap:7px}.key{width:8px;height:8px;border-radius:50%;display:inline-block}.key.available{background:var(--green)}.key.selected{background:var(--cyan)}.key.unavailable{background:#50677b}.tz{padding:7px 10px;border-radius:999px;border:1px solid rgba(95,212,255,.22);color:var(--sky);font:600 9px 'IBM Plex Mono';letter-spacing:.1em}.meeting-type{margin-bottom:16px}.meeting-type label,.booking-summary label{display:block;margin-bottom:7px;color:var(--muted);font-size:11px}.meeting-type select,.booking-summary textarea{width:100%;border:1px solid rgba(95,212,255,.22);border-radius:9px;background:#07111d;color:var(--white);padding:12px 13px;outline:none}.meeting-type select:focus,.booking-summary textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(0,194,255,.08)}.slot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;min-height:166px;align-content:start}.slot{height:46px;border:1px solid rgba(95,212,255,.22);border-radius:9px;background:rgba(10,24,42,.8);color:#d9e6ee;cursor:pointer;font:700 12px 'IBM Plex Mono'}.slot:hover,.slot.selected{border-color:var(--cyan);color:#fff;background:rgba(0,194,255,.12);box-shadow:0 0 14px rgba(0,194,255,.14)}.empty-state,.empty-upcoming{grid-column:1/-1;padding:30px 16px;text-align:center;color:#7690a4;border:1px dashed rgba(95,212,255,.16);border-radius:10px;font-size:13px}.booking-summary{margin-top:18px;padding-top:18px;border-top:1px solid rgba(95,212,255,.13)}.booking-summary>div{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px}.booking-summary span{color:var(--muted);font-size:11px}.booking-summary strong{font:700 13px 'Plus Jakarta Sans';color:var(--sky)}.booking-summary textarea{min-height:82px;resize:vertical}.confirm-btn{width:100%;height:50px;margin-top:12px;border:1px solid var(--sky);border-radius:9px;background:linear-gradient(180deg,#16C8FF,var(--cyan));color:#07101a;font:800 14px 'Plus Jakarta Sans';cursor:pointer;transition:.18s}.confirm-btn:hover{transform:translateY(-1px);box-shadow:0 0 20px rgba(0,194,255,.4)}.confirm-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.booking-state{min-height:24px;margin-top:12px;font-size:12px;color:var(--muted)}.booking-state.error{color:#ff9ca5}.booking-state.success{color:#66f0bc}.upcoming-card{margin-top:18px;padding:24px;display:grid;grid-template-columns:220px 1fr;gap:24px}.upcoming-list{display:grid;gap:10px}.meeting-row{display:grid;grid-template-columns:1fr auto;gap:16px;padding:14px;border:1px solid rgba(95,212,255,.17);border-radius:10px;background:rgba(7,17,29,.55)}.meeting-row strong{display:block;font:700 14px 'Plus Jakarta Sans';margin-bottom:4px}.meeting-row span{color:var(--muted);font-size:12px}.meeting-row .meeting-link{align-self:center;color:var(--cyan);font:600 11px 'IBM Plex Mono'}.foundation{margin-top:26px;padding:20px 4px;display:flex;align-items:center;gap:15px;border-top:1px solid rgba(0,194,255,.16);color:var(--muted);font-size:12px}.foundation img{width:38px}.foundation p{margin:0;font:700 13px 'Plus Jakarta Sans';color:var(--white)}.foundation p span{color:var(--cyan);margin-left:5px}.foundation div{margin-left:auto;font:500 10px 'IBM Plex Mono';letter-spacing:.12em}@media(max-width:900px){.booking-hero{grid-template-columns:1fr}.status-orbit{display:none}.scheduler-grid{grid-template-columns:1fr}.upcoming-card{grid-template-columns:1fr}.booking-signal{display:none}}@media(max-width:620px){.booking-topbar{padding:0 14px}.booking-brand small{display:none}.back-link{margin-left:auto}.booking-shell{width:min(100% - 20px,1240px);padding-top:26px}.booking-hero h1{font-size:44px}.calendar-card,.time-card,.upcoming-card{padding:17px}.weekday-row,.calendar-grid{gap:5px}.day{border-radius:8px}.slot-grid{grid-template-columns:repeat(2,1fr)}.foundation{align-items:flex-start;flex-wrap:wrap}.foundation div{width:100%;margin-left:53px}}

/* Booking UI polish */
.month-controls{gap:12px;flex:0 0 auto}.month-controls button{width:46px;height:46px;border-radius:12px;border:1px solid rgba(95,212,255,.42);background:rgba(7,17,29,.95);color:#EAF2F8;font-size:28px;line-height:1;display:grid;place-items:center;box-shadow:0 8px 22px rgba(0,0,0,.24),inset 0 0 0 1px rgba(0,194,255,.04)}.month-controls button:hover,.month-controls button:focus-visible{border-color:var(--cyan);color:#fff;box-shadow:0 0 18px rgba(0,194,255,.2);outline:none}.month-controls button:disabled{opacity:.38;cursor:not-allowed}.meeting-type{margin-bottom:24px}.meeting-type label{margin-bottom:10px}.meeting-type select{min-height:52px;padding:0 15px;border-radius:12px}.slot-grid{gap:14px;min-height:184px}.slot{height:54px;border-radius:12px;padding:0 12px}.booking-status-card{min-height:188px;padding:24px;border-radius:18px;border:1px solid rgba(0,194,255,.28);background:linear-gradient(180deg,rgba(15,32,56,.92),rgba(7,12,21,.98));box-shadow:inset 0 0 0 1px rgba(95,212,255,.05),0 18px 45px rgba(0,0,0,.24);display:flex;flex-direction:column;justify-content:center}.booking-status-eyebrow{margin:0 0 10px;color:var(--cyan);font:600 10px 'IBM Plex Mono';letter-spacing:.18em}.booking-status-card h3{margin:0 0 16px;font:800 24px 'Plus Jakarta Sans';letter-spacing:-.025em;color:var(--white)}.booking-status-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.booking-status-list li{display:flex;align-items:center;gap:10px;color:#b8c8d8;font-size:13px;line-height:1.4}.status-dot{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:var(--green);box-shadow:0 0 10px rgba(36,226,154,.7)}@media(max-width:900px){.booking-status-card{min-height:auto}.status-orbit{display:none}}@media(max-width:620px){.month-controls{gap:8px}.month-controls button{width:42px;height:42px}.slot-grid{gap:11px}}