.pub{--navy: #0F1B2D;--navy-soft: #1E3A5F;--blue: #2563EB;--blue-light: #3B82F6;--paper: #FFFFFF;--shell: #F1F0EE;--body: #44403C;--muted: #78716C;--edge: #E7E5E4;--ok: #16A34A;font-family:Inter,system-ui,-apple-system,sans-serif;color:var(--body);background:var(--shell);min-height:100%}.pub--embed{background:transparent;min-height:0}.pub *,.pub *:before,.pub *:after{box-sizing:border-box}.pub-shell{max-width:860px;margin:0 auto;padding:32px 16px}.pub--embed .pub-shell{padding:0;max-width:100%}.pub-card{background:var(--paper);border:1px solid var(--edge);border-radius:14px;overflow:hidden}.pub--embed .pub-card{border-radius:12px}.pub-head{background:var(--navy);padding:20px 26px;color:#fafaf9}.pub-eyebrow{font-size:12px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--blue-light);margin:0 0 6px}.pub-title{font-size:21px;font-weight:700;margin:0;letter-spacing:-.01em;color:#fff}.pub-sub{font-size:14px;margin:6px 0 0;color:#fafaf9b8;line-height:1.5}.pub-body{padding:24px 26px 28px}.pub-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}@media (max-width: 700px){.pub-grid{grid-template-columns:1fr;gap:22px}}.pub-label{display:block;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}.cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.cal-month{font-size:15px;font-weight:600;color:var(--navy)}.cal-month:first-letter{text-transform:uppercase}.cal-arrow{border:1px solid var(--edge);background:#fff;border-radius:8px;width:32px;height:32px;font-size:15px;color:var(--navy);cursor:pointer;line-height:1}.cal-arrow:disabled{opacity:.3;cursor:default}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-dow{text-align:center;font-size:11px;font-weight:700;color:var(--muted);padding-bottom:6px;text-transform:uppercase}.cal-day{aspect-ratio:1;border-radius:9px;border:1px solid transparent;background:transparent;font-size:14px;font-family:inherit;color:var(--body);cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative}.cal-day--free{background:#eff4fe;color:var(--navy);font-weight:600}.cal-day--free:hover{background:#dee8fd}.cal-day--off{color:#c7c3bf;cursor:default}.cal-day--on{background:var(--blue);color:#fff;font-weight:700}.cal-day--today:after{content:"";position:absolute;bottom:5px;width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.6}.slot-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px}.slot{padding:11px 6px;border-radius:9px;border:1px solid var(--edge);background:#fff;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:14px;color:var(--navy);cursor:pointer;text-align:center}.slot:hover{border-color:var(--blue)}.slot--on{background:var(--navy);border-color:var(--navy);color:#fff;font-weight:600}.pub-field{margin-bottom:14px}.pub-input{width:100%;padding:11px 13px;border:1px solid var(--edge);border-radius:9px;font-family:inherit;font-size:15px;color:var(--body);background:#fff}.pub-input:focus{outline:2px solid var(--blue-light);outline-offset:-1px;border-color:transparent}.pub-btn{width:100%;padding:14px 20px;border:none;border-radius:9px;background:var(--blue);color:#fff;font-family:inherit;font-size:15px;font-weight:700;cursor:pointer}.pub-btn:hover{background:#1d4fd8}.pub-btn:disabled{background:#cbd5e1;color:#fff;cursor:not-allowed}.pub-btn--ghost{background:transparent;color:var(--muted);border:1px solid var(--edge);font-weight:600}.pub-btn--ghost:hover{background:#fafaf9;color:var(--body)}.pub-note{font-size:13px;color:var(--muted);line-height:1.55;margin:10px 0 0}.pub-error{font-size:14px;color:#b91c1c;background:#fef2f2;border:1px solid #FECACA;border-radius:8px;padding:10px 12px;margin:0 0 12px}.pub-tz{font-size:12px;color:var(--muted);margin-top:12px}.pub-tz select{font-family:inherit;font-size:12px;color:var(--body);border:1px solid var(--edge);border-radius:6px;padding:3px 6px;background:#fff;max-width:100%}.pub--cro{--navy: #FAFAF9;--navy-soft: #18181B;--blue: #10B981;--blue-light: #10B981;--paper: #101013;--shell: #0A0A0B;--body: #D4D4D8;--muted: #71717A;--edge: #26262B;--ok: #10B981;font-family:IBM Plex Sans,Inter,system-ui,sans-serif}.pub--cro.pub--embed{background:transparent}.pub--cro .pub-card{border-radius:0;background:var(--paper)}.pub--cro .pub-head{background:#000;border-bottom:1px solid var(--edge)}.pub--cro .pub-eyebrow{color:#10b981;font-family:IBM Plex Mono,ui-monospace,monospace;letter-spacing:2px}.pub--cro .pub-title{color:#fafaf9}.pub--cro .pub-sub{color:#a1a1aa}.pub--cro .pub-label{font-family:IBM Plex Mono,ui-monospace,monospace;letter-spacing:1.5px;color:#71717a}.pub--cro .cal-month{color:#fafaf9}.pub--cro .cal-arrow{background:transparent;border-color:var(--edge);color:#fafaf9;border-radius:0}.pub--cro .cal-day{border-radius:0;color:var(--body)}.pub--cro .cal-day--free{background:#10b98114;color:#10b981;border:1px solid rgba(16,185,129,.25)}.pub--cro .cal-day--free:hover{background:#10b9812e}.pub--cro .cal-day--off{color:#3f3f46}.pub--cro .cal-day--on{background:#10b981;border-color:#10b981;color:#0a0a0b}.pub--cro .slot{background:transparent;border-color:var(--edge);color:#fafaf9;border-radius:0}.pub--cro .slot:hover{border-color:#10b981;color:#10b981}.pub--cro .slot--on{background:#10b981;border-color:#10b981;color:#0a0a0b}.pub--cro .pub-input{background:#0a0a0b;border-color:var(--edge);color:#fafaf9;border-radius:0}.pub--cro .pub-input::placeholder{color:#52525b}.pub--cro .pub-input:focus{outline:2px solid #10B981}.pub--cro .pub-btn{background:#10b981;color:#0a0a0b;border-radius:0}.pub--cro .pub-btn:hover{background:#34d399}.pub--cro .pub-btn:disabled{background:#26262b;color:#71717a}.pub--cro .pub-btn--ghost{background:transparent;color:#a1a1aa;border-color:var(--edge)}.pub--cro .pub-btn--ghost:hover{background:#18181b;color:#fafaf9}.pub--cro .pub-error{color:#f87171;background:#f8717114;border-color:#f871714d;border-radius:0}.pub--cro .pub-tz select{background:#0a0a0b;color:var(--body);border-color:var(--edge);border-radius:0}.pub--cro .pub-check{background:#10b9811a;border-color:#10b98159;color:#10b981}.pub--cro .pub-when{background:#0a0a0b;border-color:var(--edge);color:#fafaf9;border-radius:0}.pub-done{text-align:center;padding:40px 26px}.pub-check{width:56px;height:56px;border-radius:50%;background:#16a34a1a;border:2px solid rgba(22,163,74,.3);color:var(--ok);font-size:26px;display:flex;align-items:center;justify-content:center;margin:0 auto 18px}.pub-when{display:inline-block;background:#f8fafc;border:1px solid var(--edge);border-radius:10px;padding:12px 18px;margin:4px 0 18px;font-size:15px;color:var(--navy);font-weight:600}:root{--ivory: #f6f3ea;--ivory-soft: #efe9db;--deep-green: #2f4a38;--green-mid: #3d5a45;--green-soft: #6b8873;--brass: #b08a4f;--brass-soft: #c9a86e;--ink: #23261f;--ink-soft: #55584d;--line: #ddd6c4;--danger: #a4472f;--success: #3d5a45;--font-display: "Fraunces", Georgia, serif;--font-body: "Inter", system-ui, sans-serif;--font-mono: "IBM Plex Mono", monospace;--radius: 10px;--radius-lg: 16px;--shadow: 0 2px 12px rgba(35, 38, 31, .08);--shadow-lg: 0 8px 32px rgba(35, 38, 31, .12)}*{box-sizing:border-box}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-display);font-weight:500;color:var(--deep-green)}.mono{font-family:var(--font-mono)}button{font-family:var(--font-body);cursor:pointer;border:none;border-radius:var(--radius);transition:opacity .15s,transform .05s}button:active{transform:translateY(1px)}.btn-primary{background:var(--deep-green);color:var(--ivory);padding:12px 20px;font-weight:600}.btn-primary:hover{opacity:.92}.btn-ghost{background:transparent;color:var(--deep-green);border:1px solid var(--line);padding:10px 16px}.btn-danger{background:var(--danger);color:var(--ivory);padding:10px 16px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:24px}.pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;font-family:var(--font-mono)}.pill-scheduled{background:#e6ede8;color:var(--deep-green)}.pill-completed{background:#e9e2d1;color:var(--brass)}.pill-cancelled{background:#f0dcd6;color:var(--danger)}.pill-no_show{background:#eceae4;color:var(--ink-soft)}
