@import"https://fonts.googleapis.com/css2?family=Source+Sans+3:wght@400;500;600;700&display=swap";:root{--bg: #ffffff;--fg: #242424;--muted: #757575;--surface: #ffffff;--line: #e5e5e5;--surface-soft: #f7f2ea;--accent: #242424;--accent-contrast: #ffffff;--brand: #2f251c;--danger-bg: #fff9f7;--danger-fg: #6f504b;font-family:"Source Sans 3",Noto Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.55;font-weight:400;color:var(--fg);background-color:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body[data-theme=dark]{--bg: #111315;--fg: #eceef1;--muted: #a5acb4;--surface: #1a1d21;--line: #2d3239;--surface-soft: #23272d;--accent: #eceef1;--accent-contrast: #16191d;--brand: #f2e8dc;--danger-bg: #2a1e1f;--danger-fg: #e7c2be;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--fg);background:var(--bg)}#app{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:48px 20px 80px;max-width:100%;overflow-x:clip}.page{width:min(820px,100%);display:grid;gap:28px;min-width:0}.page.page-therapist{gap:18px}.page.page-miniapp{gap:14px}.page.page-anon:not(.page-miniapp){margin-top:-18px}.hero{background:transparent;padding:0}.badge{display:inline-flex;align-items:center;gap:8px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.title{margin:18px 0 8px;font-size:clamp(26px,4vw,40px);line-height:1.18;font-weight:700;color:var(--fg)}.subtitle{margin:0;font-size:14px;color:var(--muted)}.subtitle span{font-weight:600}.panel{background:transparent;border-radius:0;padding:0;box-shadow:none;min-width:0}.landing p{margin:0 0 14px;font-size:clamp(16px,2vw,18px);line-height:1.62}.landing h1,.landing h2,.landing h3{margin:20px 0 12px;line-height:1.24;color:var(--fg)}.landing h1{font-size:clamp(24px,3.2vw,34px);font-weight:700}.landing h2{font-size:clamp(20px,2.8vw,28px);font-weight:700}.landing h3{font-size:clamp(18px,2.2vw,22px);font-weight:600}.landing h1:first-child,.landing h2:first-child,.landing h3:first-child{margin-top:0}.landing{padding:0;border:none;border-radius:0;background:transparent;width:100%;min-width:0;overflow-x:hidden}.landing>*{max-width:72ch;margin-left:0;margin-right:auto;min-width:0}.landing p,.landing li,.landing h1,.landing h2,.landing h3,.landing a{overflow-wrap:anywhere;word-break:break-word}.landing p:last-child{margin-bottom:0}.landing a{color:var(--fg);font-weight:600;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}.landing ul{margin:0 0 16px 20px;padding:0}.landing li{line-height:1.3}.landing li+li{margin-top:8px}.campaign-body{margin-top:12px;padding-top:0;min-width:0}.campaign-body.campaign-body-anon{margin-top:0}.landing-title{margin:0 0 16px;font-size:clamp(27px,4.4vw,42px);line-height:1.2;font-weight:800;color:var(--fg)}.slots{margin-top:24px;min-width:0}.slots-header h2{margin:0 0 2px;font-size:22px}.slots-header p{margin:0 0 10px}.tz-note{margin:0 0 8px;font-size:12px}.campaign-body .slots .slots-header h2{margin:0 0 2px}.day-strip{display:flex;flex-wrap:nowrap;gap:10px;margin-bottom:18px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;padding-bottom:2px;max-width:100%;min-width:0}.day-pill{border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:13px;background:var(--surface);color:var(--fg);cursor:pointer;flex:0 0 auto;min-height:40px}.day-pill.active{border-color:var(--accent);background:var(--accent);color:var(--accent-contrast)}.slot-list{display:grid;gap:12px;align-content:start;--slot-row-height: 66px;--slot-row-gap: 12px;min-height:calc(var(--slot-list-rows, 1) * var(--slot-row-height) + (var(--slot-list-rows, 1) - 1) * var(--slot-row-gap))}.slot-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;border:1px solid var(--line);border-radius:12px;padding:10px 14px;background:var(--surface)}.slot-main{display:grid;gap:4px}.slot-time{font-weight:600}.slot-meta{font-size:12px;color:var(--muted)}.slot-campaign{margin-left:8px;color:var(--muted);white-space:nowrap}.slot-campaign-price{margin-left:6px;padding:1px 7px;font-size:10px;line-height:1.2;vertical-align:middle}.slot-time-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.slot-meta.inline{font-size:12px;color:var(--muted)}.slot-link{margin-top:0;font-size:13px;display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.slot-side{display:flex;align-items:center;justify-content:flex-end}.slot-side.top{align-items:flex-start}.slot-link a{color:#1d1a15;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}.deadline{display:inline-block;margin-left:10px;color:#5b4a3a}.slot-cta{border:none;border-radius:999px;padding:8px 16px;background:var(--accent);color:var(--accent-contrast);font-size:13px;cursor:pointer;min-height:40px}.slot-cta:disabled{background:#cfcfcf;cursor:not-allowed}.status.warning{color:#8a6d1f}.auth-login-callout{margin:0 0 8px}.auth-login-callout--inline{margin:0 0 12px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.auth-login-callout__lead{display:block;margin:0;font-size:clamp(18px,2.4vw,22px);line-height:1.22;font-weight:700;color:var(--fg)}.auth-login-callout__note{display:block;margin-top:4px;font-size:13px;font-weight:500;color:var(--muted)}.auth-login-callout__policy{display:block;margin-top:6px;font-size:12px;color:var(--muted)}.auth-login-callout__policy a{color:var(--fg);text-decoration:underline;text-underline-offset:2px}.auth-login-callout__warn{display:block;margin-top:4px;font-size:13px;font-weight:600;color:#8a6d1f}.auth-widget{margin:8px 0 24px}.auth-widget--inline{margin:10px 0 8px}.intake-legal{margin-top:22px;padding-top:12px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.45}.intake-legal span{display:block;max-width:72ch}.intake-legal a{color:var(--fg);text-decoration:underline;text-underline-offset:2px}.intake-legal a:hover{opacity:.88}.muted{color:var(--muted)}.status{padding:12px 0;color:var(--muted);font-size:14px}.status code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-weight:600}.status.error{color:#7c2c28}.status.success{color:#2f5d2f}.auth-card{display:grid;gap:16px;border:1px solid var(--line);border-radius:16px;padding:16px;background:var(--surface)}.auth-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;row-gap:10px;padding:0}.auth-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}.auth-actions-end{margin-left:auto}.auth-brand{display:flex;align-items:center;gap:10px;min-width:0}.brand-mark{width:40px;height:40px;border-radius:999px;background:url(/_/static/brand-logo.png) center/cover no-repeat;border:1px solid var(--line);flex:0 0 auto}.brand-title{font-size:16px;font-weight:700;line-height:1.2;color:var(--brand);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(52vw,420px)}.user-pill{display:flex;align-items:center;gap:12px;min-width:0;flex:1 1 280px}.avatar{width:40px;height:40px;border-radius:999px;object-fit:cover}.avatar.placeholder{width:40px;height:40px;border-radius:999px;display:grid;place-items:center;background:#f0e8de;color:#3f2f25;font-weight:600}.user-meta{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name name" "sub status" "hint hint";column-gap:10px;row-gap:2px;align-items:center;min-width:0}.user-name{grid-area:name;font-weight:600;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-sub{grid-area:sub;font-size:12px;color:#757575;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.therapist-status{display:contents}.therapist-status-pill{grid-area:status;display:inline-flex;align-items:center;gap:6px;width:fit-content;border-radius:999px;border:1px solid var(--line);background:var(--surface-soft);color:var(--fg);font-size:11px;font-weight:600;padding:2px 8px;cursor:pointer;text-align:left;justify-self:end}.therapist-status-icon{display:inline-grid;place-items:center;width:14px}.therapist-status-pill.ok{border-color:#bfe0c0;background:#eef8ee;color:#2f5d2f}.therapist-status-pill.bad{border-color:#e0c0bd;background:#fff5f4;color:#7c2c28}.therapist-status-pill.unknown{border-color:var(--line);background:transparent;color:var(--muted);cursor:default}.therapist-status-pill:disabled{opacity:.9}.therapist-status-hint{grid-area:hint;font-size:12px;line-height:1.25;color:var(--muted);max-width:100%;overflow-wrap:anywhere}.therapist-status-hint code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-weight:600}.auth-pill{display:flex;align-items:center;justify-content:space-between;gap:12px}.logout{border:1px solid #d3c7b8;background:#fff;color:#3f2f25;padding:8px 12px;border-radius:999px;font-size:.9rem;cursor:pointer}.logout:hover{background:#f7f1ea}.avatar-btn{border:1px solid var(--line);background:var(--surface);border-radius:999px;width:44px;height:44px;display:grid;place-items:center;padding:0;cursor:pointer}.avatar-btn:hover{border-color:#d3c7b8;background:#f7f1ea}.avatar-btn .avatar,.avatar-btn .avatar.placeholder{width:36px;height:36px}.user-menu{position:relative}.user-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;display:grid;gap:2px;border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:6px;box-shadow:0 8px 20px #0000001f;z-index:30}.user-menu-item{border:none;background:transparent;color:#242424;text-align:left;border-radius:8px;padding:8px 10px;cursor:pointer;font-size:13px;font-family:inherit}.user-menu-item:hover{background:#f7f1ea}.bookings{margin-top:8px;padding-top:16px;border-top:1px solid var(--line)}.bookings-inline{margin-top:24px;padding-top:0;border-top:none}.patient-bookings{margin-top:26px}.patient-bookings-head h2{margin:0 0 10px;font-size:22px}.patient-booking-list{display:grid;gap:12px}.patient-booking-card{display:grid;gap:10px;padding:14px;border-radius:14px;border:1px solid var(--line);background:var(--surface-soft)}.patient-booking-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.patient-booking-day{font-size:13px;text-transform:capitalize;color:var(--muted)}.patient-booking-time{margin-top:3px;font-size:17px;font-weight:600;color:var(--fg)}.patient-status{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:12px;text-transform:lowercase;white-space:nowrap}.patient-status.is-confirmed{background:#e9f3eb;color:#2f5d2f}.patient-status.is-booked{background:#f4ecdc;color:#775c2a}.patient-status.is-reserved{background:#e7eef9;color:#2d4b78}.patient-status.is-other{background:var(--line);color:var(--fg)}.patient-booking-meta{font-size:12px;color:#74685d}.patient-payment-ttl-main{margin-top:2px}.patient-payment-ttl-deadline{margin-top:1px;color:#85786b}.patient-booking-meta-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.patient-booking-actions{display:grid;gap:10px}.patient-meeting-row{display:inline-flex;align-items:center;gap:8px;justify-self:center;width:min(360px,100%)}.patient-payment-row{display:inline-flex;align-items:center;gap:10px;justify-self:center;width:min(360px,100%)}.patient-pay-link{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;min-height:40px;padding:0 14px;background:#2f6f3a;color:#fff;text-decoration:none;font-size:14px;font-weight:600;width:100%}.patient-pay-link:hover{background:#255b2e;color:#fff}.patient-join-link{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;min-height:40px;padding:0 14px;background:var(--accent);color:var(--accent-contrast);text-decoration:none;font-size:14px;font-weight:600;width:100%}.patient-join-link:hover{background:#1c1915;color:#fff}.patient-link-pending{font-size:13px;color:var(--muted)}.campaign-price{margin-top:10px;font-size:13px;color:var(--muted);display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.slots-header-booking-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;margin-bottom:8px}.slots-header-booking-row .tz-note{margin-bottom:0}.campaign-price-booking-head{margin-top:0;display:inline-flex;align-items:center;gap:10px;justify-self:end;text-align:right;white-space:nowrap}.campaign-price-booking-label,.campaign-price-booking-amount{font-size:22px;line-height:1.2;color:var(--fg)}.campaign-price-booking-label{font-weight:700}.campaign-price-booking-amount{font-weight:800}.campaign-price strong{color:var(--fg)}.campaign-mock-badge{display:inline-flex;align-items:center;border:1px dashed #d39b4a;background:#fff4dd;color:#885a1f;border-radius:999px;padding:1px 8px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.mock-tip-trigger{position:relative;cursor:help;outline:none}.mock-tip-trigger:before{content:"";position:absolute;left:50%;top:calc(100% + 4px);transform:translate(-50%);border-width:6px;border-style:solid;border-color:transparent transparent #ead8b8 transparent;opacity:0;pointer-events:none;transition:opacity .12s ease;z-index:43}.mock-tip-trigger:after{content:attr(data-tooltip);position:absolute;left:50%;top:calc(100% + 10px);transform:translate(-50%) translateY(-2px);min-width:200px;max-width:min(320px,80vw);padding:8px 10px;border:1px solid #ead8b8;border-radius:8px;background:#fffaf0;color:#5b4629;font-size:12px;font-weight:500;letter-spacing:normal;line-height:1.35;text-transform:none;white-space:normal;box-shadow:0 6px 20px #2f251c26;opacity:0;pointer-events:none;transition:opacity .12s ease,transform .12s ease;z-index:44}.mock-tip-trigger:hover:before,.mock-tip-trigger:hover:after,.mock-tip-trigger:focus-visible:before,.mock-tip-trigger:focus-visible:after,.mock-tip-trigger.open:before,.mock-tip-trigger.open:after{opacity:1}.mock-tip-trigger:hover:after,.mock-tip-trigger:focus-visible:after,.mock-tip-trigger.open:after{transform:translate(-50%) translateY(0)}.copy-link-btn{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:10px;height:40px;width:40px;padding:0;font-size:15px;line-height:1;cursor:pointer}.copy-link-btn:hover{color:var(--fg);border-color:#b6a48f}.patient-cancel{justify-self:end;border:1px solid var(--line);border-radius:999px;background:var(--danger-bg);color:var(--danger-fg);min-height:34px;padding:0 12px;font-size:12px;font-family:inherit;cursor:pointer}.patient-cancel:hover:not(:disabled){background:#f6eeea;color:#5f3f3b}.patient-cancel:disabled{opacity:.7;cursor:default}.patient-cancel-link{border:none;border-radius:0;background:transparent;color:#9a8d82;min-height:0;height:auto;padding:0;font-size:12px;text-decoration:underline dotted;text-underline-offset:3px}.patient-cancel-link:hover:not(:disabled){background:transparent;color:#756a60}.patient-cancel-link:disabled{color:#b7ada4;background:transparent}.patient-cancel-muted{font-size:12px;color:var(--muted)}.booking-list{display:grid;gap:12px}.slot-row.booked{background:var(--surface-soft);border-color:var(--line)}.slot-cta.cancel{background:#7c2c28}.slot-cta.cancel:disabled{background:#c9b0ae}.cancel-soft{background:transparent;color:#7b4b47;border:1px solid #e4d7d6;font-weight:500}.cancel-soft:hover:not(:disabled){background:#faf4f4;border-color:#d9c3c1}.cancel-soft:disabled{color:#af9b99;background:#f8f5f5;border-color:#eee5e4}.profile-form{display:grid;gap:12px;padding:12px 0;min-width:0}.profile-section{margin-top:16px;padding-top:12px;border-top:1px dashed var(--line);display:grid;gap:10px}.section-title{font-weight:600;font-size:14px}.provider-list{display:grid;gap:10px}.provider-card{border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;background:var(--surface);flex-wrap:wrap;min-width:0}.provider-name{font-weight:600}.provider-sub{font-size:12px;color:var(--muted)}.provider-toggle{margin-top:6px;display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.provider-toggle input{accent-color:#a36033}.provider-actions{display:inline-flex;gap:8px;flex-wrap:wrap}.provider-add{display:flex;align-items:center;gap:10px}.provider-test{display:flex;gap:12px;flex-wrap:wrap;font-size:12px}.provider-test a{color:var(--fg);text-decoration:underline;text-underline-offset:3px}.provider-form{border:1px solid var(--line);border-radius:12px;padding:12px;display:grid;gap:10px;background:var(--surface)}.profile-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.calendar-preview{display:grid;gap:8px;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--surface)}.preview-list{display:grid;gap:6px}.preview-item{font-size:13px;color:var(--fg)}.booking-patient{display:flex;align-items:center;gap:10px}.booking-patient-link{border:1px solid #efe7de;border-radius:12px;padding:8px 10px;background:#f7f2ea;color:inherit;text-decoration:none;min-width:180px}.booking-patient-link:hover{border-color:#e0d5c7;background:#f2ece3}.booking-patient-link.disabled{cursor:default;opacity:.7}.avatar.small,.avatar.placeholder.small{width:32px;height:32px}.patient-meta{display:grid;gap:2px}.patient-name{font-weight:600}.patient-sub{font-size:12px;color:#757575}.booking-actions{display:grid;gap:8px}.booking-actions-wide{grid-column:1 / -1}.booking-outcome{margin-top:0;display:flex;align-items:center;flex-wrap:wrap;gap:6px;border:1px solid var(--line);border-radius:10px;padding:5px 8px;background:var(--surface-soft)}.booking-outcome-label{font-size:11px;color:var(--muted)}.booking-outcome-value{font-size:13px;color:var(--fg)}.booking-outcome-readonly{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:6px 8px;padding-top:6px;padding-bottom:6px}.booking-outcome-pill{display:inline-flex;align-items:center;border-radius:999px;border:1px solid #d8d1c8;background:#f8f3eb;color:#4b3a30;font-size:12px;font-weight:600;padding:2px 8px;white-space:nowrap}.booking-outcome-pill.is-attended{border-color:#b7d7c0;background:#e9f3eb;color:#2f5d2f}.booking-outcome-pill.is-no-show{border-color:#e4c9c7;background:#f8eceb;color:#6a3f3a}.booking-outcome-pill.is-canceled{border-color:#ddcfbf;background:#f4ede4;color:#6a5642}.booking-outcome-pill.is-other{border-color:#d8d1c8;background:#f8f3eb;color:#4b3a30}.booking-outcome-comment-readonly{grid-column:1 / -1;font-size:12px;color:var(--muted);line-height:1.35;border-top:1px dashed var(--line);padding-top:5px;margin-top:2px}.booking-outcome-readonly .booking-outcome-updated{justify-self:end;text-align:right}.booking-outcome-updated{font-size:11px}.booking-outcome-save{margin-left:auto;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;font-weight:500}.booking-outcome-select{max-width:190px;min-height:28px;padding:3px 8px;font-size:12px;background:transparent;border-color:var(--line)}.booking-outcome-comment{min-height:28px;padding:3px 8px;line-height:1.2;font-size:12px;flex:1 1 220px;background:transparent;border-color:var(--line)}.booking-outcome-rowwide{grid-column:1 / -1}@media(max-width:720px){.slot-row:not(.therapist-row){grid-template-columns:1fr}.slot-row:not(.therapist-row) .slot-side{justify-content:flex-start}.slot-row.slot-row-free{grid-template-columns:minmax(0,1fr) auto;align-items:center}.slot-row.slot-row-free .slot-cta{justify-self:end;width:auto;min-width:0;padding:6px 12px}.booking-outcome{display:grid;grid-template-columns:1fr;align-items:stretch;gap:6px}.booking-outcome-select,.booking-outcome-comment,.btn.booking-outcome-save{width:100%;max-width:none}.booking-outcome-save{margin-left:0;justify-content:center}.booking-outcome-readonly{grid-template-columns:1fr}.booking-outcome-readonly .booking-outcome-updated{justify-self:start;text-align:left}}@media(max-width:480px){.slot-row.therapist-row{grid-template-columns:1fr}.slot-row.therapist-row .slot-side{justify-content:flex-start}}.link-inline{border:none;background:transparent;padding:0;color:#3f2f25;cursor:pointer;font-size:13px;text-decoration:underline;text-underline-offset:3px}.link-inline:hover{color:#1f1f1f}.booking-link-cta{min-height:30px;padding:4px 12px;font-size:12px;line-height:1.15;border-color:#d4c8bb;color:#4a392d;background:#fbf6f0}.booking-link-cta:hover:not(:disabled){border-color:#c2b09d;color:#35271f;background:#f4ece2}.link-icon{border:none;background:transparent;padding:0 0 0 6px;cursor:pointer;color:#6f6156;font-size:13px}.link-icon:hover{color:#3f2f25}.booking-buttons{display:flex;gap:10px;flex-wrap:wrap}.therapist{margin-top:24px;padding-top:0}.page.page-therapist .therapist{margin-top:14px}.team-list{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.team-pill{display:flex;flex-direction:column;align-items:flex-start;gap:4px;border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:13px;background:var(--surface);color:var(--fg);cursor:pointer}.team-pill.active{border-color:var(--accent);background:var(--accent);color:var(--accent-contrast)}body[data-theme=dark] .patient-status.is-confirmed{background:#1f3a2a;color:#b4e0bc}body[data-theme=dark] .patient-status.is-booked{background:#41361f;color:#e5d4a3}body[data-theme=dark] .slot-cta:disabled{background:#4a4f57;color:#b8bcc4}body[data-theme=dark] .logout{border-color:#3a434d;background:#1f252c;color:#e6ebf1}body[data-theme=dark] .logout:hover{background:#2a3139}body[data-theme=dark] .avatar-btn:hover{border-color:#3a434d;background:#252d35}body[data-theme=dark] .user-menu-dropdown{border-color:#3a434d;background:#1f252c;box-shadow:0 10px 24px #00000057}body[data-theme=dark] .user-menu-item{color:#e6ebf1}body[data-theme=dark] .user-menu-item:hover{background:#2a3139}body[data-theme=dark] .patient-booking-meta{color:#b2b9c1}body[data-theme=dark] .patient-payment-ttl-deadline{color:#a8afb8}body[data-theme=dark] .patient-cancel-link{color:#9ea6af}body[data-theme=dark] .patient-cancel-link:hover:not(:disabled){color:#c2c9d1}body[data-theme=dark] .patient-cancel-link:disabled{color:#727b84}body[data-theme=dark] .patient-join-link:hover{background:#d8dee6;color:#121821}body[data-theme=dark] .copy-link-btn{border-color:#3d4650;color:#a8afb8}body[data-theme=dark] .copy-link-btn:hover{border-color:#647283;color:#e6ebf1}body[data-theme=dark] .provider-sub,body[data-theme=dark] .provider-toggle,body[data-theme=dark] .patient-sub,body[data-theme=dark] .team-sub,body[data-theme=dark] .team-member-sub,body[data-theme=dark] .camp-desc,body[data-theme=dark] .form-label,body[data-theme=dark] .campaign-group-title{color:#a8afb8}body[data-theme=dark] .camp-price{border-color:#3a434d;background:#20262d;color:#dce3eb}body[data-theme=dark] .camp-mock-badge,body[data-theme=dark] .campaign-mock-badge{border-color:#8d6f47;background:#2f2618;color:#f0d7af}body[data-theme=dark] .mock-tip-trigger:before{border-color:transparent transparent #4f3d26 transparent}body[data-theme=dark] .mock-tip-trigger:after{border-color:#5d4830;background:#2b2318;color:#f0d7af;box-shadow:0 10px 24px #00000059}body[data-theme=dark] .team-pill-meta,body[data-theme=dark] .team-hint{color:#c1c8d1}body[data-theme=dark] .team-tab{border-color:#3a434d;background:#1f252c;color:#dce3eb}body[data-theme=dark] .team-tab.active{border-color:#8b99ab;background:#2e3946;color:#e6ebf1}body[data-theme=dark] .team-tab-count{border-color:#46505b;background:#20262d;color:#a8afb8}body[data-theme=dark] .team-tab.active .team-tab-count{border-color:#8b99ab;background:#3b4858;color:#e6ebf1}body[data-theme=dark] .team-calendar-board-wrap{border-color:#3a434d;background:#1f252c}body[data-theme=dark] .team-calendar-corner,body[data-theme=dark] .team-calendar-day-header,body[data-theme=dark] .team-calendar-time-label{border-color:#3a434d;background:#232a33}body[data-theme=dark] .team-calendar-day-header,body[data-theme=dark] .team-calendar-time-label,body[data-theme=dark] .team-calendar-meta,body[data-theme=dark] .team-calendar-chip-status,body[data-theme=dark] .team-calendar-legend-item{color:#a8afb8}body[data-theme=dark] .team-calendar-free{color:#78d2a3}body[data-theme=dark] .team-calendar-busy{color:#ff9f8f}body[data-theme=dark] .team-calendar-cell{border-color:#303945;background:#1f252c;color:#dce3eb}body[data-theme=dark] .team-calendar-cell:hover{background:#25303c}body[data-theme=dark] .team-calendar-cell.free{background:#24372f}body[data-theme=dark] .team-calendar-cell.busy{background:#2d2730}body[data-theme=dark] .team-calendar-cell.active{border-color:#8b99ab;box-shadow:inset 0 0 0 1px #8b99ab;background:#2e3946}body[data-theme=dark] .team-calendar-cell.empty,body[data-theme=dark] .team-calendar-cell-empty{background:#1f252c;color:#8a95a1}body[data-theme=dark] .team-calendar-tooltip{border-color:#3a434d;background:#1f252c;box-shadow:0 14px 30px #00000080}body[data-theme=dark] .team-calendar-tooltip:before{border-bottom-color:#3a434d}body[data-theme=dark] .team-calendar-tooltip:after{border-bottom-color:#1f252c}body[data-theme=dark] .team-calendar-tooltip-header strong{color:#e6ebf1}body[data-theme=dark] .team-calendar-tooltip-empty{color:#a8afb8}body[data-theme=dark] .team-calendar-legend-dot{border-color:#46525e}body[data-theme=dark] .team-calendar-legend-dot.free{background:#24372f}body[data-theme=dark] .team-calendar-legend-dot.busy{background:#2d2730}body[data-theme=dark] .team-calendar-legend-dot.empty{background:#1f252c}body[data-theme=dark] .team-calendar-legend-dot.active{background:#2e3946;box-shadow:inset 0 0 0 1px #8b99ab}body[data-theme=dark] .team-calendar-chip{border-color:#3a434d;background:#222932}body[data-theme=dark] .team-calendar-chip-name{color:#b8c0ca}body[data-theme=dark] .team-calendar-chip-status{border-color:#4f5b67;background:#1d242c;color:#c6ced8}body[data-theme=dark] .team-calendar-chip-status.is-free{border-color:#3f6d54;background:#24372f;color:#98ddb8}body[data-theme=dark] .team-calendar-chip-status.is-booked{border-color:#6f4a47;background:#332525;color:#ffb6a8}body[data-theme=dark] .team-calendar-chip-status.is-reserved{border-color:#6f5d3c;background:#2f2920;color:#f3d08e}body[data-theme=dark] .team-calendar-chip-status.is-confirmed{border-color:#486082;background:#232d3c;color:#a9c6f2}body[data-theme=dark] .team-calendar-chip-status.is-other{border-color:#4f5b67;background:#1d242c;color:#c6ced8}body[data-theme=dark] .team-path,body[data-theme=dark] .slot-link a,body[data-theme=dark] .provider-test a,body[data-theme=dark] .link-inline,body[data-theme=dark] .link-muted{color:#e6ebf1}body[data-theme=dark] .link-inline:hover,body[data-theme=dark] .provider-test a:hover{color:#fff}body[data-theme=dark] .booking-link-cta{border-color:#4d5a67;color:#dbe5ee;background:#1f2730}body[data-theme=dark] .booking-link-cta:hover:not(:disabled){border-color:#627183;color:#f2f7fc;background:#263240}body[data-theme=dark] .link-icon{color:#a8afb8}body[data-theme=dark] .link-icon:hover{color:#e6ebf1}body[data-theme=dark] .link-muted{border-color:#3a434d;background:#1f252c}body[data-theme=dark] .link-muted:hover{border-color:#4a545f;background:#2a3139}body[data-theme=dark] .link-muted:disabled{color:#808992;background:#1b2128;border-color:#323a43}body[data-theme=dark] .provider-form,body[data-theme=dark] .calendar-preview,body[data-theme=dark] .booking-patient-link,body[data-theme=dark] .team-campaign,body[data-theme=dark] .team-member-card,body[data-theme=dark] .provider-card,body[data-theme=dark] .moderation-card{border-color:#3a434d;background:#1f252c}body[data-theme=dark] .status-pill{border-color:#46505b;background:#20262d;color:#e6ebf1}body[data-theme=dark] .status-pill.status-pill-rejected{border-color:#72403d;background:#332021;color:#f0c7c4}body[data-theme=dark] .therapist-status-pill.ok{border-color:#2f5d2f;background:#1f2a22;color:#9fd69f}body[data-theme=dark] .therapist-status-pill.bad{border-color:#72403d;background:#332021;color:#f0c7c4}body[data-theme=dark] .therapist-status-pill.unknown{border-color:#3a434d;background:transparent;color:#a5acb4}body[data-theme=dark] .team-member-access{border-color:#46505b;background:#20262d;color:#dce3eb}body[data-theme=dark] .team-member-avatar{background:#2b3440;color:#dce3eb}body[data-theme=dark] .profile-section{border-top-color:#3a434d}body[data-theme=dark] .booking-patient-link:hover{border-color:#4a545f;background:#2a3139}body[data-theme=dark] .requester-link{color:#accdff}body[data-theme=dark] .team-campaign.inactive{background:#1b2128;border-color:#323a43;color:#9ba4ad}body[data-theme=dark] .preview-item{color:#d3d9df}body[data-theme=dark] .input,body[data-theme=dark] .textarea{border-color:#3a434d;background:#161c22;color:#e6ebf1}body[data-theme=dark] .input::placeholder,body[data-theme=dark] .textarea::placeholder{color:#7f8892}body[data-theme=dark] .btn.ghost{color:#e6ebf1;border-color:#59626d;background:transparent}body[data-theme=dark] .btn.booking-outcome-save{border-color:#3a434d;color:#aeb7c0;background:transparent}body[data-theme=dark] .btn.booking-outcome-save:hover:not(:disabled){border-color:#4b5763;color:#d5dbe2;background:#ffffff0a}body[data-theme=dark] .btn.booking-outcome-save:disabled{color:#6f7781;border-color:#2f373f;background:transparent}body[data-theme=dark] .booking-outcome-pill{border-color:#46505b;background:#20262d;color:#dce3eb}body[data-theme=dark] .booking-outcome-pill.is-attended{border-color:#2f5d2f;background:#1f2a22;color:#9fd69f}body[data-theme=dark] .booking-outcome-pill.is-no-show{border-color:#72403d;background:#332021;color:#f0c7c4}body[data-theme=dark] .booking-outcome-pill.is-canceled{border-color:#5d4b3a;background:#2b241d;color:#d6bfa5}.team-pill.active .team-pill-meta,.team-pill.active .team-path,.team-pill.active .team-hint{color:currentColor;opacity:.86}.team-pill.active .team-primary{opacity:.82}.team-pill.active .team-role{color:currentColor;opacity:.86}.team-pill-title{display:inline-flex;align-items:center;gap:8px;color:inherit;font-weight:600}.team-pill-meta{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.team-path{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;color:inherit;font-weight:500}.team-id{font-size:11px;color:var(--muted)}.team-sep{margin:0 4px;color:var(--muted)}.team-primary{font-size:12px;opacity:.7}.team-role{font-size:12px;line-height:1;opacity:.75}.team-role-owner{color:#8f6a2f}.team-role-member{color:#8b8b8b}.team-hint{color:inherit;opacity:.75}.team-panel{border:1px solid var(--line);border-radius:16px;padding:16px;background:var(--surface)}.onboarding-panel{display:grid;gap:12px}.status-group{display:grid;gap:8px}.status-pill{display:inline-flex;align-items:center;width:fit-content;border-radius:999px;border:1px solid #d6cab9;background:#f7f2ea;color:#3f2f25;font-size:12px;font-weight:600;padding:4px 10px}.status-pill.status-pill-rejected{border-color:#e0c0bd;background:#fff5f4;color:#7c2c28}.onboarding-actions{align-items:center}.access-moderation{margin-top:8px;padding-top:12px;border-top:1px solid var(--line);display:grid;gap:12px}.moderation-list{display:grid;gap:10px}.moderation-card{border:1px solid var(--line);border-radius:12px;padding:12px;display:grid;gap:10px;background:var(--surface-soft)}.moderation-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}.moderation-title{font-weight:600}.moderation-meta{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.moderation-requester{margin-top:6px}.requester-link{font-size:12px;color:#3d607e;text-decoration:none}.requester-link:hover{text-decoration:underline}.moderation-fields{display:grid;gap:8px}.moderation-note{min-height:84px}.moderation-actions{flex-wrap:wrap}.slots-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.link-muted{border:1px solid #e5e5e5;border-radius:999px;background:#fff;padding:6px 12px;color:#3f2f25;font-size:12px;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease;min-height:40px}.link-muted:hover{background:#f7f1ea;border-color:#d3c7b8}.link-muted:disabled{cursor:default;color:#9c9c9c;background:#f3f3f3;border-color:#e5e5e5}.team-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.team-section{display:grid;gap:12px}.team-divider{margin:14px 0;border-top:1px dashed #e5e5e5}.team-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.booking-tabs{margin-bottom:4px}.team-tab{border:1px solid #d8d1c8;border-radius:999px;background:#fff;color:#4b3a30;min-height:34px;padding:6px 12px;font-size:13px;font-weight:500;display:inline-flex;align-items:center;gap:6px;cursor:pointer}.team-tab.active{border-color:#3f2f25;background:#3f2f25;color:#fff}.team-tab-count{border:1px solid #d8d1c8;border-radius:999px;padding:1px 6px;font-size:11px;line-height:1.3;color:#6f6156;background:#f8f3eb}.team-tab.active .team-tab-count{border-color:#ffffff8c;color:#fff;background:#ffffff29}.team-actions{display:inline-flex;gap:8px}.team-title{font-weight:600;font-size:18px}.team-sub{font-size:12px;color:#757575}.team-section h3{margin:0 0 8px;font-size:16px}.team-section-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.team-section-header h3{margin:0}.team-campaigns,.campaign-group{display:grid;gap:10px}.campaign-group+.campaign-group{margin-top:16px}.campaign-group-title{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#757575}.team-campaign{text-align:left;border:1px solid #e5e5e5;border-radius:12px;padding:10px 12px;background:#fff;cursor:pointer}.team-campaign.inactive{border-style:dashed;background:#fafafa;color:#6f6f6f}.team-campaign.inactive .camp-id{font-weight:500}.team-campaign.active{border-color:#242424}.camp-id{font-weight:600;display:flex;align-items:center;gap:8px}.camp-id-title{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.camp-price{flex:0 0 auto;border:1px solid #e7decd;background:#f8f3eb;color:#3f2f25;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;letter-spacing:.02em}.camp-mock-badge{flex:0 0 auto;border:1px dashed #d39b4a;background:#fff4dd;color:#885a1f;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.camp-desc{font-size:12px;color:#757575}.team-members-list{display:grid;gap:10px}.team-calendar-board-wrap{border:1px solid #e5e5e5;border-radius:12px;background:#fff;overflow-x:auto;overflow-y:visible;position:relative;padding-bottom:2px}.team-calendar-board{--team-calendar-days: 1;display:grid;grid-template-columns:48px repeat(var(--team-calendar-days),minmax(76px,1fr));min-width:max-content}.team-calendar-corner{position:sticky;top:0;left:0;z-index:4;min-height:38px;background:#f8f3eb;border-right:1px solid #ece6dc;border-bottom:1px solid #ece6dc}.team-calendar-day-header{position:sticky;top:0;z-index:3;padding:6px 3px;text-align:center;font-size:10px;color:#757575;background:#f8f3eb;border-right:1px solid #ece6dc;border-bottom:1px solid #ece6dc}.team-calendar-time-label{position:sticky;left:0;z-index:2;padding:6px 3px;text-align:center;font-size:10px;color:#757575;background:#f8f3eb;border-right:1px solid #ece6dc;border-bottom:1px solid #ece6dc}.team-calendar-legend{display:flex;flex-wrap:wrap;gap:10px 14px;margin-top:-2px}.team-calendar-legend-item{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#6a6058}.team-calendar-legend-dot{width:12px;height:12px;border-radius:3px;border:1px solid #ddd5cb;background:#fff}.team-calendar-legend-dot.free{background:#eef9f3}.team-calendar-legend-dot.busy{background:#fff4ed}.team-calendar-legend-dot.empty{background:#fff}.team-calendar-legend-dot.active{background:#fff7ea;box-shadow:inset 0 0 0 1px #3f2f25}.team-calendar-cell{border:none;border-right:1px solid #f0ebe3;border-bottom:1px solid #f0ebe3;border-radius:0;background:#fff;color:#4b3a30;display:grid;place-items:center;text-align:center;min-height:40px;padding:4px;cursor:pointer;position:relative;overflow:visible}.team-calendar-cell:hover{background:#fcf8f2}.team-calendar-cell.free{background:#eef9f3}.team-calendar-cell.busy{background:#fff4ed}.team-calendar-cell.empty,.team-calendar-cell-empty{background:#fff;color:#b0a79e;cursor:default}.team-calendar-cell.active{box-shadow:inset 0 0 0 2px #3f2f25;background:#fff7ea;z-index:5}.team-calendar-meta{display:inline-flex;align-items:center;gap:4px;font-size:11px;line-height:1.3;color:#757575}.team-calendar-free{font-weight:600;color:#276247}.team-calendar-sep{opacity:.7}.team-calendar-busy{font-weight:700;color:#9d3c2e}.team-calendar-tooltip{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);z-index:9;border:1px solid #e5e5e5;border-radius:10px;background:#fff;box-shadow:0 10px 22px #221c172e;padding:6px 7px;width:max-content;max-width:min(360px,76vw);display:grid;gap:6px;text-align:left}.team-calendar-tooltip:before{content:"";position:absolute;left:50%;top:-8px;transform:translate(-50%);border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:8px solid #e5e5e5}.team-calendar-tooltip:after{content:"";position:absolute;left:50%;top:-7px;transform:translate(-50%);border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:7px solid #fff}.team-calendar-tooltip-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:3px 7px;white-space:nowrap}.team-calendar-tooltip-header strong{font-size:11px;color:#4b3a30}.team-calendar-tooltip-empty{font-size:11px;color:#6d6156;white-space:nowrap}.team-calendar-slots{display:flex;flex-wrap:wrap;gap:4px;max-width:100%}.team-calendar-chip{border:1px solid #ece6dc;border-radius:999px;background:#faf7f1;padding:2px 6px;display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;max-width:min(180px,60vw)}.team-calendar-chip-name{font-size:10px;color:#6d6156;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(140px,45vw)}.team-calendar-chip-status{width:14px;height:14px;display:inline-grid;place-items:center;font-size:9px;font-weight:700;line-height:1;border:1px solid #d8d2c8;border-radius:999px;color:#5f5348;background:#fff;flex:0 0 auto}.team-calendar-chip-status.is-free{border-color:#b8d8c5;background:#e8f5ee;color:#276247}.team-calendar-chip-status.is-booked{border-color:#e7c0b6;background:#f8e9e5;color:#9d3c2e}.team-calendar-chip-status.is-reserved{border-color:#edd3aa;background:#fff2db;color:#8a5b15}.team-calendar-chip-status.is-confirmed{border-color:#bfd2ef;background:#eaf1ff;color:#355892}.team-calendar-chip-status.is-other{border-color:#d8d2c8;background:#fff;color:#5f5348}.team-member-card{border:1px solid #e5e5e5;border-radius:12px;padding:10px 12px;background:#fff;display:flex;align-items:center;gap:10px}.team-member-avatar{width:36px;height:36px;border-radius:999px;overflow:hidden;background:#efe5d8;color:#4b3a30;display:grid;place-items:center}.team-member-avatar img{width:100%;height:100%;object-fit:cover}.team-member-avatar span{font-size:13px;font-weight:600}.team-member-main{min-width:0;flex:1;display:grid;gap:2px}.team-member-title{font-weight:600}.team-member-sub{font-size:12px;color:#757575;overflow-wrap:anywhere}.team-member-actions{display:inline-flex;align-items:center;gap:8px;margin-left:auto}.team-member-access{border:1px solid #d8d8d8;border-radius:999px;padding:3px 8px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#5f5f5f;white-space:nowrap}.campaign-editor{display:grid;gap:10px}.form-label{font-size:12px;color:#6d6d6d}.form-label-inline{display:inline-flex;align-items:center;gap:8px}.form-label-inline .form-label{margin:0}.field{display:grid;gap:6px;min-width:0}.input,.textarea{width:100%;border:1px solid #e5e5e5;border-radius:10px;padding:8px 10px;font-size:14px;font-family:inherit}.input.invalid,.textarea.invalid{border-color:#c55}.textarea{resize:vertical;min-height:120px}.form-row{display:flex;align-items:center;gap:10px}.checkbox{display:inline-flex;align-items:center;gap:8px;font-size:13px}.form-grid{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.form-actions{display:flex;align-items:center;gap:12px}.field-hint{font-size:12px;color:#8b8b8b}.field-error{font-size:12px;color:#b33}.btn{border:1px solid #242424;border-radius:999px;padding:8px 16px;background:#242424;color:#fff;font-size:13px;cursor:pointer;min-height:40px}.btn.ghost{background:transparent;color:#242424}.btn.booking-outcome-save{border-radius:10px;border-color:#e5e5e5;color:#6f665a;background:transparent;min-height:28px;padding:3px 10px;font-size:12px;line-height:1.2}.btn.booking-outcome-save:hover:not(:disabled){border-color:#d7cec2;color:#5f5548;background:#7a70630d}.btn.booking-outcome-save:disabled{color:#b0a99f;border-color:#ece7de;background:transparent}.btn:disabled{opacity:.6;cursor:default}.toast{position:fixed;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:40;background:#1f1a14;color:#fff;border-radius:16px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 12px 24px #0000002e}body[data-theme=dark] .toast{background:#252b32;color:#eef2f6;border:1px solid #3a434d;box-shadow:0 10px 22px #00000047}:where(a,button,.btn,.link-muted,.slot-cta,.input,.textarea,.avatar-btn,.user-menu-item,.day-pill){-webkit-tap-highlight-color:transparent}:where(a,button,.btn,.link-muted,.slot-cta,.input,.textarea,.avatar-btn,.user-menu-item,.day-pill):focus{outline:none}:where(a,button,.btn,.link-muted,.slot-cta,.input,.textarea,.avatar-btn,.user-menu-item,.day-pill):focus-visible{outline:2px solid #b67b50;outline-offset:2px}.toast-body{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.toast-text{font-size:14px;font-weight:600}.toast-cta{background:#fff;color:#1f1a14}body[data-theme=dark] .toast-cta{background:#e6ebf1;color:#1a2128}.toast-close{border:none;background:transparent;color:#fff;font-size:20px;line-height:1;cursor:pointer}.slots-placeholder{margin-top:22px;border-top:1px solid #e5e5e5;padding-top:18px;color:#757575;font-size:14px}@media(max-width:720px){#app{padding:18px 12px 24px}.page{gap:16px}.page.page-anon{margin-top:0}.campaign-body.campaign-body-anon{margin-top:10px}.auth-header{flex-wrap:wrap}.auth-actions{width:100%;justify-content:flex-end}.auth-actions-end{width:auto}.brand-title{font-size:15px;max-width:min(48vw,260px)}.provider-form{padding:10px}.auth-card,.team-panel{border-radius:14px}.bookings{margin-top:4px;padding-top:12px}.page.page-therapist .therapist{margin-top:10px}.patient-bookings{margin-top:20px}.patient-booking-card{padding:12px}.patient-booking-time{font-size:16px}.patient-join-link{justify-self:stretch;width:100%}.slots-header-row{flex-wrap:wrap}.slots-header-booking-row{grid-template-columns:1fr;row-gap:4px;margin-bottom:10px}.campaign-price-booking-head{justify-self:start;text-align:left;white-space:normal;padding-bottom:2px}.slots-header-row .link-muted{margin-top:2px}.landing>*{max-width:none}.day-pill,.slot-cta,.link-muted,.btn,.patient-cancel{min-height:44px}.slot-list{--slot-row-height: 70px}.team-calendar-board{grid-template-columns:44px repeat(var(--team-calendar-days),minmax(66px,1fr))}.team-calendar-day-header,.team-calendar-time-label{font-size:10px;padding:6px 3px}.team-calendar-cell{min-height:36px;padding:3px}.team-calendar-tooltip{max-width:min(300px,72vw)}.team-calendar-chip{max-width:min(160px,48vw)}.team-calendar-chip-name{font-size:10px;max-width:min(122px,38vw)}.team-calendar-legend-item{font-size:11px}}body.miniapp #app{padding:14px 10px 20px}body.miniapp .page{width:100%}body.miniapp .auth-card,body.miniapp .team-panel{border-radius:14px}body.miniapp .bookings{margin-top:4px;padding-top:12px}body.miniapp .toast{left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px))}@media(max-width:480px){#app{padding:12px 8px 18px}.campaign-body.campaign-body-anon{margin-top:8px}.auth-card,.team-panel{padding:12px}.landing{padding:0;border-radius:0}.profile-actions,.form-actions{gap:8px}.link-muted,.btn{padding-left:12px;padding-right:12px}.auth-brand{gap:8px}.brand-title{font-size:14px;max-width:min(44vw,170px)}.team-calendar-board{grid-template-columns:40px repeat(var(--team-calendar-days),minmax(58px,1fr))}.team-calendar-meta{font-size:9px}.team-calendar-tooltip{max-width:min(260px,84vw);transform:translate(-50%);padding:5px 6px}.team-calendar-chip-status{width:13px;height:13px;font-size:8px}.team-calendar-legend{gap:8px 10px}.team-calendar-legend-item{font-size:10px;gap:5px}body.miniapp #app{padding:10px 8px 16px}}
