*{box-sizing:border-box}
:root{--bg:#050507;--panel:rgba(255,255,255,.065);--panel2:rgba(255,255,255,.105);--border:rgba(255,255,255,.14);--text:#fff;--muted:#a1a1aa;--purple:#a855f7;--purple2:#7c3aed;--purple3:#d8b4fe;--green:#22c55e;--red:#ef4444;--yellow:#f59e0b;--cyan:#22d3ee}
body{margin:0;background:#050507;color:#fff;font-family:Inter,Arial,sans-serif}
body:before{content:"";position:fixed;inset:0;z-index:-3;background:radial-gradient(circle at 70% 12%,rgba(168,85,247,.32),transparent 27%),radial-gradient(circle at 8% 85%,rgba(34,211,238,.10),transparent 32%),linear-gradient(180deg,#0a0711,#050507 55%,#050507)}
.noise{position:fixed;inset:0;pointer-events:none;opacity:.045;z-index:-1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 250 250' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.btn{border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1.25;border-radius:999px;padding:13px 18px;color:#fff;text-decoration:none;text-transform:uppercase;letter-spacing:.04em;font-weight:950;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease,filter .18s ease}
.btn:hover{transform:translateY(-2px);filter:brightness(1.08);box-shadow:0 0 0 4px rgba(34,211,238,.1),0 0 34px rgba(34,211,238,.22)}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.primary{background:linear-gradient(135deg,var(--purple),var(--purple2));box-shadow:0 0 34px rgba(168,85,247,.45)}
.ghost{border:1px solid var(--border);background:rgba(255,255,255,.035)}
a,button,.slot-btn,.calendar-day,.calendar-nav,.date-trigger,.text-btn,.nav-btn,.close,.receipt-close{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease,color .18s ease,filter .18s ease}
a:hover,button:hover,.slot-btn:hover,.calendar-day:hover,.calendar-nav:hover,.date-trigger:hover,.text-btn:hover,.nav-btn:hover,.close:hover,.receipt-close:hover{filter:brightness(1.08)}
.calendar-nav:hover,.date-trigger:hover,.calendar-day:hover,.nav-btn:hover,.close:hover,.receipt-close:hover{transform:translateY(-1px);box-shadow:0 0 0 3px rgba(34,211,238,.08),0 0 24px rgba(34,211,238,.18)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:0;box-shadow:0 0 0 4px rgba(34,211,238,.16),0 0 30px rgba(34,211,238,.24)!important;border-color:rgba(34,211,238,.72)!important}
.click-glow:hover{transform:translateY(-2px);box-shadow:0 0 0 4px rgba(34,211,238,.1),0 0 34px rgba(34,211,238,.22)}
input,select,textarea{border:1px solid rgba(255,255,255,.16);background:rgba(0,0,0,.28);color:white;border-radius:16px;padding:14px 15px;outline:none;font-size:15px}
input:focus,select:focus,textarea:focus{border-color:rgba(216,180,254,.75);box-shadow:0 0 0 4px rgba(168,85,247,.14)}
.muted{color:var(--muted);line-height:1.5}
.badge{display:inline-flex;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.05em}
.badge.uploaded,.badge.viewed,.badge.downloaded,.badge.closed{background:rgba(34,197,94,.12);color:#bbf7d0;border:1px solid rgba(34,197,94,.25)}
.badge.booked,.badge.completed,.badge.waiting-upload,.badge.recording,.badge.checked-in{background:rgba(245,158,11,.12);color:#fde68a;border:1px solid rgba(245,158,11,.25)}
.badge.cancelled{background:rgba(239,68,68,.12);color:#fecaca;border:1px solid rgba(239,68,68,.25)}
.hidden{display:none!important}
