:root{--color-uno: #2F746A;--color-duo: #729BA6;--color-trio: #FFFFFF;--color-quadra: #F4F8F9;--color-penta: #E7D5C6;--color-hexa: #686B6C;--color-hepta: #D9B588;--color-octa: #ABC9C1;--bg: var(--color-trio);--surface: var(--color-quadra);--surface-2: #ECF1F2;--border: #DDE5E7;--border-strong:#C5D2D5;--primary: var(--color-uno);--primary-hover:#256058;--primary-soft: var(--color-octa);--accent-warm: var(--color-hepta);--text: #2A2D2E;--text-muted: var(--color-hexa);--text-on-primary: var(--color-trio);--error: #C8553D;--error-bg: #FBECE7;--success: var(--color-uno);--radius: 12px;--radius-sm: 8px;--radius-pill: 999px;font-family:Work Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-feature-settings:"cv11","ss01"}h2{margin:0 0 16px;font-size:18px;font-weight:600;text-align:center;color:var(--text)}h3{margin:16px 0 8px;font-size:13px;color:var(--text-muted);font-weight:500;text-transform:lowercase;letter-spacing:.02em}.container{max-width:480px;margin:0 auto;padding:24px 16px}.container.wide{max-width:760px}button{font-family:inherit;cursor:pointer;background:var(--color-trio);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm);padding:10px 14px;font-size:14px;font-weight:500;transition:background .12s ease,border-color .12s ease,color .12s ease;min-height:44px}button:hover:not(:disabled){background:var(--surface);border-color:var(--border-strong)}button:disabled{opacity:.4;cursor:not-allowed}.back-btn{background:transparent;border:1px solid var(--border);border-radius:var(--radius-pill);padding:6px 14px;min-height:32px;font-size:13px;color:var(--text-muted)}input,select{font-family:inherit;width:100%;background:var(--color-trio);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:12px 14px;font-size:14px;transition:border-color .12s ease,box-shadow .12s ease}input:focus,select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2f746a26}select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-muted) 50%),linear-gradient(135deg,var(--text-muted) 50%,transparent 50%);background-position:calc(100% - 16px) calc(50% - 2px),calc(100% - 11px) calc(50% - 2px);background-size:5px 5px;background-repeat:no-repeat;padding-right:32px}.service-card{display:block;width:100%;text-align:left;background:var(--color-trio);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:12px;min-height:auto}.service-card:hover{border-color:var(--primary);background:var(--surface)}.service-card .name{font-weight:600;color:var(--text)}.service-card .meta{color:var(--text-muted);font-size:13px;margin-top:6px}.datetime-picker header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:8px}.dt-monthnav{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:16px}.dt-arrow{min-height:36px;min-width:36px;padding:0;border-radius:8px;font-size:18px;line-height:1}.dt-monthpick{position:relative}.dt-month-btn{display:inline-flex;align-items:center;gap:6px;font-size:16px;font-weight:600;text-transform:capitalize;border:1px solid transparent;background:transparent;padding:6px 10px;border-radius:8px;min-height:36px}.dt-month-btn:hover{background:var(--surface)}.dt-caret{font-size:11px;color:var(--text-muted)}.dt-pick-backdrop{position:fixed;inset:0;z-index:20}.dt-pick-list{position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%);z-index:21;list-style:none;margin:0;padding:6px;width:200px;max-height:260px;overflow-y:auto;background:var(--color-trio);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 8px 24px #0000001f}.dt-pick-list li{margin:0}.dt-pick-list button{width:100%;text-align:left;border:none;background:transparent;padding:10px 12px;border-radius:6px;font-size:14px;text-transform:capitalize;min-height:auto;color:var(--text)}.dt-pick-list button:hover{background:var(--surface)}.dt-pick-list button.active{background:var(--primary-soft);color:var(--primary);font-weight:600}.dt-body{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start}.dt-calendar{flex:1 1 340px;min-width:280px;max-width:440px}.dt-slots{flex:1 1 240px;min-width:200px;border-left:1px solid var(--border);padding-left:20px}@media (max-width: 460px){.dt-slots{border-left:none;padding-left:0;border-top:1px solid var(--border);padding-top:12px;width:100%}}.dt-hint{color:var(--text-muted);font-size:13px;margin:4px 0 0}.dt-empty{margin-top:4px}.dt-empty p{color:var(--text-muted);font-size:13px;margin:0 0 12px}.dt-next-month{border:1.5px solid var(--primary);border-radius:var(--radius-pill);color:var(--primary);background:var(--color-trio);font-weight:600;font-size:13px;padding:8px 16px}.dt-next-month:hover:not(:disabled){background:var(--primary-soft)}.dt-slots h3{margin-top:0;text-transform:capitalize;color:var(--text)}.dt-slot-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px}.dt-slot{border:1.5px solid var(--primary);border-radius:var(--radius-pill);color:var(--primary);font-weight:600;background:var(--color-trio)}.dt-slot:hover:not(:disabled){background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.dow{text-align:center;color:var(--text-muted);font-size:12px;padding:8px 0;text-transform:lowercase;font-weight:500}.day{aspect-ratio:1;padding:0;position:relative;border:none;background:transparent;color:var(--text-muted);font-size:14px;min-height:auto}.day.available{color:var(--text);border:1.5px solid var(--primary);border-radius:50%;font-weight:600;background:transparent}.day.available:hover{background:var(--primary-soft);border-color:var(--primary)}.day.selected{background:var(--primary);color:var(--text-on-primary);border-color:var(--primary)}.day .dot{position:absolute;bottom:6px;left:50%;transform:translate(-50%);width:4px;height:4px;background:var(--primary);border-radius:50%}.day.selected .dot{background:var(--text-on-primary)}.confirm-form .summary{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px;margin-bottom:16px}.confirm-form label{display:block;margin-bottom:14px;font-size:13px;color:var(--text);font-weight:500}.confirm-form label input{margin-top:6px}.confirm-form em{display:block;color:var(--error);font-style:normal;font-size:12px;margin-top:4px}.confirm-form .error{background:var(--error-bg);border:1px solid var(--error);color:var(--error);border-radius:var(--radius-sm);padding:12px;margin-bottom:12px;font-size:13px}.turnstile-widget{margin:4px 0 16px;min-height:65px}.consent{margin:12px 0 0;font-size:12px;line-height:1.4;color:var(--text-muted);text-align:center}.consent a{color:var(--primary)}.confirm-form .submit{width:100%;background:var(--primary);color:var(--text-on-primary);font-weight:600;border:none;padding:14px;border-radius:var(--radius-pill);font-size:15px}.confirm-form .submit:hover:not(:disabled){background:var(--primary-hover)}.confirm-form .submit:disabled{background:var(--surface-2);color:var(--text-muted)}.success-state,.error-state{text-align:center;padding:32px 16px}.success-state{background:var(--surface);border:1px solid var(--primary-soft);border-radius:var(--radius)}.success-state h2{color:var(--primary)}.error-state h2{color:var(--error)}.success-state .hint{color:var(--text-muted);font-size:13px;margin-top:16px}.landing{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(circle at 0% 0%,var(--primary-soft) 0%,transparent 50%),radial-gradient(circle at 100% 100%,var(--color-penta) 0%,transparent 40%),var(--surface)}.landing-header{padding:20px 16px;display:flex;justify-content:center}.landing-logo{font-size:18px;font-weight:700;letter-spacing:.02em;color:var(--primary)}.landing-hero{text-align:center;padding:16px 24px 24px;max-width:520px;margin:0 auto}.landing-hero h1{font-size:28px;font-weight:700;margin:0 0 8px;color:var(--text);line-height:1.2}.landing-hero p{margin:0;color:var(--text-muted);font-size:15px}.landing-widget{flex:1;display:flex;justify-content:center}.landing-widget>*{width:100%;max-width:480px;margin:16px;background:var(--color-trio);border:1px solid var(--border);border-radius:var(--radius);padding:24px;box-shadow:0 4px 24px #2f746a0f}.landing-widget.wide>*{max-width:760px}.landing-footer{text-align:center;padding:24px;color:var(--text-muted);font-size:12px}.landing-footer p{margin:0}@media (max-width: 520px){.landing-hero h1{font-size:22px}.landing-widget>*{padding:16px}}.spinner{display:flex;justify-content:center;padding:32px}.spinner:after{content:"";width:24px;height:24px;border:2px solid var(--surface-2);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
