:root{--text:#3f3d45;--text-h:#16151a;--bg:#fafafa;--card-bg:#fff;--border:#e2e2e6;--accent:#6d28d9;--accent-hover:#5b21b6;--danger:#dc2626;--ok:#16a34a;--warn:#d97706;color:var(--text);background:var(--bg);font:16px/1.5 system-ui,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--text:#d4d4d8;--text-h:#f4f4f5;--bg:#17171b;--card-bg:#202024;--border:#333338;--accent:#a78bfa;--accent-hover:#c4b5fd}}*{box-sizing:border-box}body{margin:0}h1,h2{color:var(--text-h);margin:0 0 16px;font-weight:600}h1{font-size:28px}h2{font-size:20px}.page{max-width:900px;margin:0 auto;padding:32px 20px}.page.centered{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:60vh;display:flex}.page-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.card{background:var(--card-bg);border:1px solid var(--border);text-align:left;border-radius:12px;width:100%;max-width:420px;padding:24px}.form-field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.form-field label{color:var(--text);opacity:.8;font-size:13px}input,textarea,select{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:8px;padding:8px 10px}button{font:inherit;background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:9px 16px}button:hover{background:var(--accent-hover)}button:disabled{opacity:.5;cursor:default}button.secondary{border:1px solid var(--border);color:var(--text-h);background:0 0}button.danger{background:var(--danger)}.actions{gap:10px;margin-top:8px;display:flex}.error-text{color:var(--danger);margin:4px 0 12px;font-size:14px}.cf-page{-webkit-font-smoothing:antialiased;background:#0a0a0b;min-height:100vh;font-family:Inter,-apple-system,Segoe UI,Roboto,sans-serif}.cf-header{align-items:center;gap:14px;max-width:600px;margin:0 auto;padding:20px 20px 16px;display:flex}.cf-logo{letter-spacing:-.03em;color:#fff;font-size:21px;font-weight:800}.cf-divider{background:#2e2e33;width:1px;height:24px}.cf-meta{flex-direction:column;line-height:1.25;display:flex}.cf-meta-logo{color:#fff;font-size:13px;font-weight:700}.cf-meta-sub{color:#8b8b93;font-size:10px}.cf-accent-bar{background:linear-gradient(90deg,#0d7df2 0%,#59a8ff 55%,#084db8 100%);height:3px}.cf-main{max-width:600px;margin:0 auto;padding:32px 20px 56px}.cf-badge{color:#fff;background:#151517;border:1px solid #2e2e33;border-radius:999px;align-items:center;gap:8px;margin-bottom:20px;padding:8px 16px 8px 10px;font-size:14px;font-weight:600;display:inline-flex}.cf-badge-check{color:#fff;background:#0d7df2;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:700;display:inline-flex}.cf-headline{letter-spacing:-.02em;color:#fff;margin:0 0 14px;font-size:30px;font-weight:800;line-height:1.28}.cf-highlight{color:#fff;background:#0d7df2;border-radius:6px;padding:1px 10px}.cf-subtitle{color:#a6a6ae;max-width:46ch;margin:0 0 28px;font-size:16px;line-height:1.6}.widget{color:#101318;background:#fff;border-radius:24px;width:100%;padding:26px 24px;position:relative;box-shadow:0 24px 64px #0000008c,0 2px 8px #00000059}.widget.has-footer{padding-bottom:104px}.widget.centered{text-align:center}.widget h2{color:#101318;letter-spacing:-.01em;margin:0 0 18px;font-size:20px;font-weight:700}.widget .muted{color:#697180;margin-bottom:16px;font-size:15px}.widget-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.widget-top h2{margin:0}.duration-chip{white-space:nowrap;color:#697180;background:#f2f4f7;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex}.duration-chip svg{width:14px;height:14px}.widget .form-field{gap:7px;margin-bottom:16px}.widget .form-field label{color:#3d434e;opacity:1;font-size:13px;font-weight:600}.widget .form-field input,.widget .form-field textarea{color:#101318;background:#fff;border:1px solid #d9dee6;border-radius:12px;padding:12px 14px;font-size:16px;transition:border-color .15s,box-shadow .15s}.widget .form-field input::placeholder,.widget .form-field textarea::placeholder{color:#9aa2af}.widget .form-field input:focus,.widget .form-field textarea:focus{border-color:#0d7df2;outline:none;box-shadow:0 0 0 3px #0d7df226}.widget button:not(.slot):not(.day-tab):not(.secondary){color:#fff;background:#0d7df2;border-radius:12px;min-height:48px;font-size:15px;font-weight:600;transition:background .15s,transform 50ms}.widget button:not(.slot):not(.day-tab):not(.secondary):hover{background:#0b6ad0}.widget button:not(.slot):not(.day-tab):active{transform:scale(.985)}.widget button.secondary{color:#3d434e;background:#fff;border:1px solid #d9dee6;border-radius:12px;min-height:48px;padding-inline:18px;font-size:15px;font-weight:600;transition:background .15s,border-color .15s}.widget button.secondary:hover{color:#101318;background:#f4f6f8;border-color:#c6cdd7}.widget .actions{gap:12px;margin-top:20px}.widget .actions button:not(.secondary){flex:1}.summary{background:#f7f8fa;border:1px solid #eef1f4;border-radius:14px;flex-direction:column;gap:12px;margin-bottom:18px;padding:14px 16px;display:flex}.summary-row{color:#3d434e;text-align:left;align-items:flex-start;gap:10px;font-size:15px;line-height:1.45;display:flex}.summary-row svg{color:#0d7df2;flex-shrink:0;width:18px;height:18px;margin-top:2px}.summary-row strong{color:#101318}.summary-sub{color:#697180;font-size:14px}.success-check{color:#fff;background:#0d7df2;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:6px auto 16px;font-size:26px;font-weight:700;display:flex;box-shadow:0 10px 24px #0d7df259}.confirm-time{color:#101318;background:#f7f8fa;border:1px solid #eef1f4;border-radius:12px;padding:12px 18px;font-weight:700;display:inline-block}.confirm-time:first-letter{text-transform:uppercase}.meet-link{color:#fff;background:#0d7df2;border-radius:12px;justify-content:center;align-items:center;width:100%;min-height:48px;margin-top:16px;padding:13px 22px;font-size:15px;font-weight:600;text-decoration:none;transition:background .15s;display:inline-flex}.meet-link:hover{background:#0b6ad0}.day-tabs{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.day-tab{color:#697180;text-transform:capitalize;background:0 0;border:1px solid #0000;border-radius:999px;min-height:44px;padding:9px 16px;font-size:14px;font-weight:600;transition:background .15s,color .15s}.day-tab:hover{color:inherit;background:#7d87961f}.day-tab.active{color:#fff;background:#101318}.day-tab.active:hover{background:#101318}.slots-panel{background:#f7f8fa;border:1px solid #eef1f4;border-radius:16px;padding:18px}.slots-date{text-transform:capitalize;color:#101318;margin-bottom:14px;font-size:15px;font-weight:700}.slot-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.slot{color:#0d7df2;background:#fff;border:1px solid #bfd9fb;border-radius:12px;min-height:48px;padding:12px 0;font-size:15px;font-weight:700;transition:border-color .12s,background .12s,color .12s}.slot:hover{background:#fff;border-color:#0d7df2;box-shadow:inset 0 0 0 1px #0d7df2}.slot.selected{color:#fff;background:#0d7df2;border-color:#0d7df2}.reserve-button{min-height:52px;padding:15px;position:absolute;bottom:24px;left:24px;right:24px;box-shadow:0 8px 20px #0d7df259;border-radius:14px!important;font-size:16px!important;font-weight:700!important}.reserve-button:disabled{opacity:1;color:#9aa2af;box-shadow:none;background:#e8ebef!important}.spinner{border:3px solid #0000001a;border-top-color:#0d7df2;border-radius:50%;width:28px;height:28px;margin:0 auto;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=440px){.cf-main{padding:24px 14px 44px}.cf-headline{font-size:24px}.cf-subtitle{font-size:15px}.widget{border-radius:20px;padding:22px 16px}.widget.has-footer{padding-bottom:96px}.reserve-button{bottom:16px;left:16px;right:16px}.slot-grid{gap:8px}}@media (width<=340px){.slot-grid{grid-template-columns:repeat(2,1fr)}}.admin-layout{max-width:1000px;margin:0 auto;padding:0 20px}.admin-nav{border-bottom:1px solid var(--border);align-items:center;gap:16px;margin-bottom:20px;padding:20px 0;display:flex}.admin-nav a{color:var(--text);font-weight:500;text-decoration:none}.admin-nav a.active{color:var(--accent)}.admin-nav button{margin-left:auto}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);padding:10px 8px;font-size:14px}.row-actions{gap:8px;display:flex}.badge{border-radius:999px;padding:3px 8px;font-size:12px;font-weight:500}.badge-ok{color:var(--ok);background:#16a34a26}.badge-error{color:var(--danger);background:#dc262626}.badge-warn{color:var(--warn);background:#d9770626}.alert-banner{color:var(--warn);background:#d977061f;border:1px solid #d9770659;border-radius:10px;margin-bottom:20px;padding:12px 16px;font-size:14px}.hours-grid{flex-direction:column;gap:8px;display:flex}.hours-row{align-items:center;gap:10px;display:flex}.hours-day{align-items:center;gap:6px;width:60px;font-size:14px;display:flex}.copy-field{align-items:flex-start;gap:8px;display:flex}.copy-field input,.copy-field textarea{flex:1;font-family:ui-monospace,Consolas,monospace;font-size:13px}.copy-field button{white-space:nowrap;flex-shrink:0}.sched-grid{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:6px;display:grid}.sched-slot{text-align:center;border:1px solid var(--border);background:var(--card-bg);color:var(--text-h);cursor:default;border-radius:8px;padding:7px 4px;font-size:13px;font-weight:600}.sched-slot.s-free{cursor:pointer}.sched-slot.s-free:hover{border-color:var(--accent);color:var(--accent);background:var(--card-bg)}.sched-slot.s-busy{opacity:.45;background:var(--bg)}.sched-slot.s-busy:hover{background:var(--bg)}.sched-slot.s-booked{background:#16a34a26;border-color:#16a34a66}.sched-slot.s-booked:hover{background:#16a34a26}.sched-slot.s-blocked{cursor:pointer;background:#dc26261f;border-color:#dc262666}.sched-slot.s-blocked:hover{background:#dc262633}.sched-name{text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:400;display:block;overflow:hidden}.legend{flex-wrap:wrap;gap:16px;margin-bottom:16px;font-size:13px;display:flex}.legend .dot{vertical-align:-1px;border:1px solid var(--border);border-radius:4px;width:12px;height:12px;margin-right:6px;display:inline-block}.legend .d-free{background:var(--card-bg)}.legend .d-busy{background:var(--bg);opacity:.6}.legend .d-booked{background:#16a34a66}.legend .d-blocked{background:#dc262659}
