.qbook-root{--qb-bg:#0c0d1a;--qb-card:rgba(18,20,40,0.72);--qb-elev:#1a1c35;--qb-elev-hover:#22254a;--qb-border:rgba(255,255,255,0.08);--qb-border-hover:rgba(0,212,216,0.45);--qb-text:#f2f2f7;--qb-dim:#a8adc6;--qb-muted:#8b8faa;--qb-cyan:#00d4d8;--qb-accent:#8b5cf6;--qb-grad:linear-gradient(135deg,#00d4d8,#8b5cf6);font-family:var(--font-body),"Inter",system-ui,sans-serif;min-height:100vh;background:radial-gradient(50% 40% at 12% 0,rgba(0,212,216,.14),transparent 60%),radial-gradient(55% 45% at 88% 8%,rgba(139,92,246,.16),transparent 62%),var(--qb-bg)}body:has(.qbook-root){background:var(--qb-bg)}.qbook-topbar{max-width:640px;margin:0 auto;padding:22px 20px 0}.qbook-backlink{display:inline-flex;align-items:center;gap:6px;color:var(--qb-dim);text-decoration:none;font-size:14px;font-weight:600;transition:color .15s ease}.qbook-backlink:hover{color:var(--qb-cyan)}.qbook{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:24px 20px 56px;color:var(--qb-text)}.qbook__card{position:relative;overflow:hidden;width:100%;max-width:640px;background:var(--qb-card);backdrop-filter:blur(20px) saturate(1.6);-webkit-backdrop-filter:blur(20px) saturate(1.6);border:1px solid var(--qb-border);border-radius:20px;padding:34px;box-shadow:0 30px 80px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.05)}.qbook__card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--qb-grad)}.qbook__brand{display:flex;align-items:center;gap:10px;margin-bottom:22px}.qbook__brand img{border-radius:8px}.qbook__brand span{letter-spacing:.5px;background:var(--qb-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.qbook h1,.qbook__brand span{font-family:var(--font-heading),"Space Grotesk",system-ui,sans-serif;font-weight:800}.qbook h1{font-size:27px;margin-bottom:6px;color:var(--qb-text)}.qbook__lead{color:var(--qb-dim);margin-bottom:12px;line-height:1.55}.qbook__label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--qb-cyan);margin:22px 0 10px}.qbook__days{display:flex;flex-direction:column;gap:14px;max-height:320px;overflow-y:auto;padding-right:6px}.qbook__days::-webkit-scrollbar{width:8px}.qbook__days::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:4px}.qbook__dayhead{font-size:13px;font-weight:700;margin-bottom:8px;color:var(--qb-text)}.qbook__slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px}.qbook__slot{padding:10px 8px;border:1px solid var(--qb-border);border-radius:9px;background:var(--qb-elev);font-size:14px;font-weight:600;color:var(--qb-text);cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.qbook__slot:hover{background:var(--qb-elev-hover);border-color:var(--qb-border-hover);box-shadow:0 0 16px rgba(0,212,216,.15)}.qbook__slot.is-on{background:var(--qb-grad);border-color:transparent;color:#fff;box-shadow:0 6px 20px rgba(139,92,246,.4)}.qbook__selected{background:rgba(139,92,246,.16);border:1px solid rgba(139,92,246,.35);color:#d6ccff;padding:10px 12px;border-radius:9px;font-size:14px;margin-bottom:14px}.qbook__form input,.qbook__form textarea{width:100%;padding:12px 14px;border:1px solid var(--qb-border);border-radius:10px;font-size:15px;margin-bottom:12px;outline:none;color:var(--qb-text);background:var(--qb-elev);font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease}.qbook__form input::placeholder,.qbook__form textarea::placeholder{color:var(--qb-muted)}.qbook__form input:focus,.qbook__form textarea:focus{border-color:var(--qb-border-hover);box-shadow:0 0 0 3px rgba(0,212,216,.18)}.qbook__hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}.qbook__submit{width:100%;padding:14px;border:none;border-radius:11px;background:var(--qb-grad);color:#fff;font-weight:700;font-size:16px;cursor:pointer;box-shadow:0 8px 26px rgba(0,212,216,.28);transition:transform .12s ease,box-shadow .15s ease}.qbook__submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 34px rgba(0,212,216,.4)}.qbook__submit:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.qbook__error{background:rgba(239,68,68,.14);border:1px solid rgba(239,68,68,.35);color:#fca5a5;padding:12px;border-radius:10px;font-size:14px;margin-bottom:16px;font-weight:600}.qbook__empty{color:var(--qb-dim);padding:20px 0}.qbook__done{text-align:center;padding:24px 0}.qbook__check{width:60px;height:60px;margin:0 auto 16px;border-radius:50%;background:rgba(16,185,129,.16);border:1px solid rgba(16,185,129,.4);color:#34d399;font-size:32px;display:flex;align-items:center;justify-content:center;box-shadow:0 0 30px rgba(16,185,129,.25)}.qbook__done h2{font-family:var(--font-heading),"Space Grotesk",system-ui,sans-serif;font-size:23px;font-weight:800;margin-bottom:8px;color:var(--qb-text)}.qbook__done p{color:var(--qb-dim)}.qbook__detail{margin:18px 0;padding:16px 20px;background:var(--qb-elev);border:1px solid var(--qb-border);border-left:4px solid var(--qb-accent);border-radius:12px}.qbook__detail-when{font-size:18px;font-weight:800;color:var(--qb-text)}.qbook__detail-sub{color:var(--qb-dim);font-size:14px;margin-top:4px}.qbook__badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;text-transform:capitalize}.qbook__badge--confirmed{background:rgba(16,185,129,.18);color:#34d399}.qbook__badge--cancelled{background:rgba(239,68,68,.16);color:#fca5a5}.qbook__badge--past{background:rgba(148,163,184,.18);color:#cbd5e1}.qbook__actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:20px}.qbook__btn{display:inline-block;padding:12px 22px;border-radius:10px;font-size:15px;font-weight:700;text-decoration:none;cursor:pointer;border:1px solid var(--qb-border);background:var(--qb-elev);color:var(--qb-text);font-family:inherit;transition:border-color .15s ease,background .15s ease}.qbook__btn:hover{border-color:var(--qb-border-hover)}.qbook__btn--primary{background:var(--qb-grad);color:#fff;border:none;box-shadow:0 8px 24px rgba(0,212,216,.25)}.qbook__btn--danger{background:transparent;border-color:rgba(239,68,68,.5);color:#fca5a5}.qbook__btn--danger:hover{background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.7)}.qbook__confirm{margin-top:18px;padding:16px;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.4);border-radius:12px}.qbook__confirm p{color:#fca5a5;font-weight:600;margin-bottom:12px;font-size:14px}