.book-page{background:var(--v4-dark,#0c1017);color:var(--v4-dark-text,#e4e7ef);min-height:80vh;padding:160px 0 100px;position:relative;overflow:hidden}.book-page:before{content:"";position:absolute;top:-20%;right:-10%;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(0,201,102,.06) 0,transparent 70%);pointer-events:none}.book-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:64px;align-items:start;max-width:1000px;margin:0 auto}.book-info{position:sticky;top:120px}.book-description{font-family:var(--font-sans,"Space Grotesk",sans-serif);font-size:1.1rem;color:var(--v4-dark-muted,#7d849b);line-height:1.7;margin-top:20px;max-width:480px}.book-info .v4-section-title{color:var(--v4-dark-text,#e4e7ef);max-width:480px}.book-widget{background:var(--v4-dark-surface,#161d2a);border:1px solid hsla(0,0%,100%,.08);border-radius:var(--v4-radius-lg,16px);padding:32px}.book-steps{display:flex;gap:8px;margin-bottom:28px;border-bottom:1px solid hsla(0,0%,100%,.06);padding-bottom:16px}.book-step{display:flex;gap:6px;font-family:var(--font-sans,"Space Grotesk",sans-serif);font-size:.8rem;flex:1}.book-step,.book-step-num{align-items:center;color:var(--v4-dark-muted,#7d849b)}.book-step-num{display:inline-flex;justify-content:center;width:22px;height:22px;border-radius:var(--v4-radius-sm,6px);border:1px solid hsla(0,0%,100%,.1);font-size:.7rem;font-weight:600}.book-step--active .book-step-num,.book-step--done .book-step-num{background:var(--v4-accent,#00c966);color:#fff;border-color:var(--v4-accent,#00c966)}.book-step--done .book-step-num{opacity:.6}.book-step--active .book-step-label{color:var(--v4-dark-text,#e4e7ef);font-weight:600}.book-section-title{font-family:var(--font-serif,"Instrument Serif",serif);font-size:1.5rem;font-weight:400;margin-bottom:16px;color:var(--v4-dark-text,#e4e7ef)}.book-loading{display:flex;align-items:center;gap:10px;justify-content:center;padding:48px 0;color:var(--v4-dark-muted,#7d849b)}.book-error-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;margin-bottom:16px;background:rgba(255,180,50,.08);border:1px solid rgba(255,180,50,.2);border-radius:var(--v4-radius-sm,6px);font-size:.85rem;color:#ffb432}.book-error-retry{background:none;border:1px solid rgba(255,180,50,.3);border-radius:var(--v4-radius-sm,6px);color:#ffb432;padding:4px 12px;font-size:.8rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all var(--v4-transition,.25s)}.book-error-retry:hover{background:rgba(255,180,50,.1);border-color:#ffb432}.book-error-fallback{text-align:center;font-size:.85rem;color:var(--v4-dark-muted,#7d849b);margin-top:16px}.book-error-fallback a{color:var(--v4-accent,#00c966);text-decoration:none}.book-error-fallback a:hover{text-decoration:underline}.book-back-btn{background:none;border:none;color:var(--v4-dark-muted,#7d849b);cursor:pointer;font-family:var(--font-sans,"Space Grotesk",sans-serif);font-size:.85rem;padding:0;margin-bottom:12px;transition:color var(--v4-transition,.25s)}.book-back-btn:hover{color:var(--v4-dark-text,#e4e7ef)}.book-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.book-day{display:flex;flex-direction:column;align-items:center;padding:8px 4px;border:1px solid hsla(0,0%,100%,.06);border-radius:var(--v4-radius-sm,6px);background:hsla(0,0%,100%,.02);cursor:pointer;transition:all var(--v4-transition,.25s);font-size:.75rem;color:var(--v4-dark-text,#e4e7ef)}.book-day:hover:not(:disabled){border-color:var(--v4-accent,#00c966);background:rgba(0,201,102,.06)}.book-day--selected{border-color:var(--v4-accent,#00c966)!important;background:var(--v4-accent,#00c966)!important;color:#fff!important}.book-day--empty,.book-day--weekend{opacity:.2;cursor:not-allowed}.book-day-name{font-family:var(--font-mono,"JetBrains Mono",monospace);font-weight:600;font-size:.65rem;text-transform:uppercase;letter-spacing:.5px;color:var(--v4-dark-muted,#7d849b)}.book-day--selected .book-day-name{color:hsla(0,0%,100%,.8)}.book-day-num{font-size:1.1rem;font-weight:700;line-height:1.4}.book-day-month{font-size:.65rem;opacity:.5}.book-tz-row{display:flex;align-items:center;gap:8px;font-family:var(--font-sans,"Space Grotesk",sans-serif);font-size:.8rem;color:var(--v4-dark-muted,#7d849b);margin-bottom:16px}.book-tz-row select{font-size:.8rem;padding:4px 8px;border:1px solid hsla(0,0%,100%,.1);border-radius:var(--v4-radius-sm,6px);background:hsla(0,0%,100%,.05);color:var(--v4-dark-text,#e4e7ef)}.book-slots{display:flex;flex-direction:column;gap:6px}.book-slot{padding:12px 16px;border:1px solid hsla(0,0%,100%,.08);border-radius:var(--v4-radius-sm,6px);background:hsla(0,0%,100%,.03);cursor:pointer;font-family:var(--font-mono,"JetBrains Mono",monospace);font-size:.9rem;font-weight:500;text-align:left;color:var(--v4-dark-text,#e4e7ef);transition:all var(--v4-transition,.25s)}.book-slot:hover{border-color:var(--v4-accent,#00c966);background:rgba(0,201,102,.08);color:#fff}.book-no-slots{color:var(--v4-dark-muted,#7d849b);text-align:center;padding:24px}.book-slot-summary{font-family:var(--font-mono,"JetBrains Mono",monospace);font-size:.85rem;color:var(--v4-dark-text,#e4e7ef);margin-bottom:20px;padding:10px 14px;background:rgba(0,201,102,.06);border:1px solid rgba(0,201,102,.12);border-radius:var(--v4-radius-sm,6px)}.book-form{display:flex;flex-direction:column;gap:14px}.book-field label{display:block;font-family:var(--font-sans,"Space Grotesk",sans-serif);font-size:.85rem;font-weight:500;margin-bottom:4px;color:var(--v4-dark-muted,#7d849b)}.book-field input,.book-field textarea{width:100%;padding:10px 14px;border:1px solid hsla(0,0%,100%,.1);border-radius:8px;font-size:.95rem;background:hsla(0,0%,100%,.05);color:var(--v4-dark-text,#e4e7ef);box-sizing:border-box;transition:border-color var(--v4-transition,.25s),box-shadow var(--v4-transition,.25s)}.book-field input:focus,.book-field textarea:focus{outline:none;border-color:var(--v4-accent,#00c966);box-shadow:0 0 0 3px rgba(0,201,102,.15)}.book-field input::-moz-placeholder,.book-field textarea::-moz-placeholder{color:hsla(0,0%,100%,.25)}.book-field input::placeholder,.book-field textarea::placeholder{color:hsla(0,0%,100%,.25)}.book-field input:disabled,.book-field textarea:disabled{opacity:.4;cursor:not-allowed}.book-error{color:#ff6b6b;font-size:.85rem;padding:8px 12px;background:hsla(0,100%,71%,.1);border:1px solid hsla(0,100%,71%,.2);border-radius:var(--v4-radius-sm,6px)}.book-submit-btn{width:100%;padding:14px;background:var(--v4-accent,#00c966);color:#fff;border:none;border-radius:var(--v4-radius,10px);font-family:var(--font-sans,"Space Grotesk",sans-serif);font-size:.95rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background var(--v4-transition,.25s)}.book-submit-btn:hover:not(:disabled){background:var(--v4-accent-hover,#00e074)}.book-submit-btn:disabled{opacity:.5;cursor:not-allowed}.book-confirmed{text-align:center;padding:16px 0}.book-confirmed-icon{margin-bottom:16px}.book-confirmed-detail{font-family:var(--font-mono,"JetBrains Mono",monospace);font-size:.95rem;font-weight:500;margin-bottom:8px;color:var(--v4-dark-text,#e4e7ef)}.book-confirmed-note{color:var(--v4-dark-muted,#7d849b);font-size:.9rem;margin-bottom:24px}.book-ics-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border:1px solid hsla(0,0%,100%,.1);border-radius:var(--v4-radius-sm,6px);background:hsla(0,0%,100%,.05);color:var(--v4-dark-text,#e4e7ef);font-family:var(--font-sans,"Space Grotesk",sans-serif);font-size:.85rem;font-weight:500;cursor:pointer;transition:all var(--v4-transition,.25s);text-decoration:none}.book-ics-btn:hover{border-color:var(--v4-accent,#00c966);background:rgba(0,201,102,.06)}.book-cancel-layout{max-width:480px;margin:0 auto}.book-cancel-box{background:var(--v4-dark-surface,#161d2a);border:1px solid hsla(0,0%,100%,.08);border-radius:var(--v4-radius-lg,16px);padding:32px;text-align:center}.book-cancel-details{text-align:left;padding:16px;background:hsla(0,0%,100%,.03);border:1px solid hsla(0,0%,100%,.06);border-radius:var(--v4-radius-sm,6px);margin:16px 0}.book-cancel-details p{margin:4px 0;font-size:.9rem;color:var(--v4-dark-text,#e4e7ef)}.book-cancel-btn{width:100%;padding:14px;background:#dc2626;color:#fff;border:none;border-radius:var(--v4-radius,10px);font-family:var(--font-sans,"Space Grotesk",sans-serif);font-size:.95rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;transition:background var(--v4-transition,.25s)}.book-cancel-btn:hover:not(:disabled){background:#b91c1c}.book-cancel-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width:768px){.book-page{padding:120px 0 60px}.book-layout{grid-template-columns:1fr;gap:40px}.book-info{position:static}.book-calendar-grid{grid-template-columns:repeat(4,1fr)}.book-widget{padding:20px}}@media (max-width:480px){.book-calendar-grid{grid-template-columns:repeat(3,1fr)}}