@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/plus-jakarta-sans-cyrillic-ext-400-normal-CJkVxub1.woff2) format("woff2"),url(/assets/plus-jakarta-sans-cyrillic-ext-400-normal-Dbdydbkh.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/plus-jakarta-sans-vietnamese-400-normal-Cg2kxhWu.woff2) format("woff2"),url(/assets/plus-jakarta-sans-vietnamese-400-normal-B8TCSmUq.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/plus-jakarta-sans-latin-ext-400-normal-D127hM_v.woff2) format("woff2"),url(/assets/plus-jakarta-sans-latin-ext-400-normal-2ppkqaOR.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/plus-jakarta-sans-latin-400-normal-Dhut76fR.woff2) format("woff2"),url(/assets/plus-jakarta-sans-latin-400-normal-BDKaGhyp.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/plus-jakarta-sans-cyrillic-ext-500-normal-WMJmRWOr.woff2) format("woff2"),url(/assets/plus-jakarta-sans-cyrillic-ext-500-normal-B7C_nQD_.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/plus-jakarta-sans-vietnamese-500-normal-DiU8zqi-.woff2) format("woff2"),url(/assets/plus-jakarta-sans-vietnamese-500-normal-CvE5C8T-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/plus-jakarta-sans-latin-ext-500-normal-9VZagAe1.woff2) format("woff2"),url(/assets/plus-jakarta-sans-latin-ext-500-normal-CqEEAICU.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/plus-jakarta-sans-latin-500-normal-Bf-nb4oT.woff2) format("woff2"),url(/assets/plus-jakarta-sans-latin-500-normal-DYtqi0QS.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/plus-jakarta-sans-cyrillic-ext-600-normal-C5KBqx06.woff2) format("woff2"),url(/assets/plus-jakarta-sans-cyrillic-ext-600-normal-BtwufOTE.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/plus-jakarta-sans-vietnamese-600-normal-Y4VTTRme.woff2) format("woff2"),url(/assets/plus-jakarta-sans-vietnamese-600-normal-5YsyKbU1.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/plus-jakarta-sans-latin-ext-600-normal-DQgPU_Cg.woff2) format("woff2"),url(/assets/plus-jakarta-sans-latin-ext-600-normal-B0WRRYJ1.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/plus-jakarta-sans-latin-600-normal-DLTa1BUW.woff2) format("woff2"),url(/assets/plus-jakarta-sans-latin-600-normal-BR_Ojra4.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/plus-jakarta-sans-cyrillic-ext-700-normal-iShZaXYX.woff2) format("woff2"),url(/assets/plus-jakarta-sans-cyrillic-ext-700-normal-pWfpUei5.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/plus-jakarta-sans-vietnamese-700-normal-CV6qDkkj.woff2) format("woff2"),url(/assets/plus-jakarta-sans-vietnamese-700-normal-BCh_uG_5.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/plus-jakarta-sans-latin-ext-700-normal-BajbvANd.woff2) format("woff2"),url(/assets/plus-jakarta-sans-latin-ext-700-normal-8-d-IyIQ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/plus-jakarta-sans-latin-700-normal-CfpNZvy6.woff2) format("woff2"),url(/assets/plus-jakarta-sans-latin-700-normal-DqEcQeE5.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #f4f7f6;--surface: #ffffff;--surface-2: #f8faf9;--ink: #12302c;--ink-2: #4b6360;--muted: #7a8f8c;--line: #e2e9e7;--brand: #0f766e;--brand-ink: #ffffff;--brand-soft: #e3f3f0;--brand-softer: #f0f9f7;--accent: #f59e0b;--danger: #c2410c;--danger-soft: #fdecdf;--ok: #15803d;--wa: #128c4b;--radius: 14px;--radius-sm: 10px;--shadow: 0 1px 2px rgba(18, 48, 44, .05), 0 4px 16px rgba(18, 48, 44, .05);--shadow-lg: 0 12px 40px rgba(18, 48, 44, .18);--font: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--nav-h: 64px;color-scheme:light}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font);font-size:15px;line-height:1.5;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;line-height:1.25;letter-spacing:-.01em}h1{font-size:1.5rem;font-weight:700}h2{font-size:1.08rem;font-weight:700}h3{font-size:1rem;font-weight:600}p{margin:0}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}code{font-size:.9em;background:var(--surface-2);padding:2px 6px;border-radius:6px}button{font:inherit;color:inherit;cursor:pointer}input,select,textarea{font:inherit;color:var(--ink);width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);transition:border-color .15s,box-shadow .15s}textarea{resize:vertical;min-height:0}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}input[type=checkbox],input[type=radio]{width:18px;height:18px;min-height:0;accent-color:var(--brand);flex:none}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.muted{color:var(--muted)}.small{font-size:.84rem}.cap:first-letter{text-transform:uppercase}.grow{flex:1;min-width:0}.left{text-align:left}.center{text-align:center;justify-content:center}.pre{white-space:pre-wrap}.eyebrow{font-size:.8rem;font-weight:600;color:var(--brand);text-transform:uppercase;letter-spacing:.06em}.stack{display:flex;flex-direction:column;gap:14px}.row-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:0 16px;border-radius:var(--radius-sm);border:1px solid transparent;background:var(--brand);color:var(--brand-ink);font-weight:600;white-space:nowrap;transition:transform .05s,background .15s,opacity .15s;text-decoration:none!important}.btn:hover{background:#0b5f58}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-sm{min-height:34px;padding:0 12px;font-size:.88rem}.btn-lg{min-height:50px;padding:0 22px;font-size:1rem}.btn-soft{background:var(--brand-soft);color:var(--brand)}.btn-soft:hover{background:#d2ece7}.btn-ghost{background:transparent;color:var(--ink-2);border-color:var(--line)}.btn-ghost:hover{background:var(--surface-2)}.btn-danger-soft{background:var(--danger-soft);color:var(--danger)}.btn-danger-soft:hover{background:#fbdcc8}.btn-whatsapp{background:#e4f6ec;color:var(--wa)}.btn-whatsapp:hover{background:#d3f0e0}.icon-btn{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;border:0;background:transparent;color:var(--ink-2)}.icon-btn:hover{background:var(--surface-2)}.link-btn{border:0;background:none;padding:4px 0;color:var(--brand);font-weight:600;display:inline-flex;gap:4px;align-items:center}.link-btn:hover{text-decoration:underline}.back{margin-bottom:8px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}.card h2{margin-bottom:10px;display:flex;align-items:center;gap:6px}.narrow{width:100%;max-width:460px}.list-card{list-style:none;margin:0;padding:4px 0}.list-card>li+li{border-top:1px solid var(--line)}.list-row{display:flex;align-items:center;gap:12px;padding:12px 16px;width:100%;border:0;background:none;text-align:left;color:inherit;text-decoration:none!important}.list-row.wrap{flex-wrap:wrap}.list-row.wrap select{width:auto;min-height:36px;padding:4px 8px;font-size:.88rem}button.list-row:hover,a.list-row:hover{background:var(--surface-2)}.list-row strong,.list-row small{display:block}.inactive{opacity:.55}.avatar{display:inline-grid;place-items:center;flex:none;width:40px;height:40px;border-radius:50%;background:var(--brand-soft);color:var(--brand);font-weight:700;font-size:.9rem}.team-card .avatar{color:#fff}.avatar-lg{width:56px;height:56px;font-size:1.1rem}.badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;font-size:.76rem;font-weight:600;background:var(--surface-2);color:var(--ink-2);white-space:nowrap;border:1px solid var(--line)}.badge-soft{background:#eef2ff;color:#4338ca;border-color:#e0e7ff}.status-pending{--s-bg: #fff6e5;--s-fg: #a16207}.status-confirmed{--s-bg: var(--brand-soft);--s-fg: var(--brand)}.status-completed{--s-bg: #e8f5ec;--s-fg: var(--ok)}.status-cancelled{--s-bg: #f3f4f4;--s-fg: #6b7280}.status-no_show{--s-bg: var(--danger-soft);--s-fg: var(--danger)}.badge[class*=status-]{background:var(--s-bg);color:var(--s-fg);border-color:transparent}.empty{text-align:center;padding:36px 16px;color:var(--ink-2);display:grid;gap:6px;justify-items:center}.empty strong{color:var(--ink)}.empty p{max-width:380px;font-size:.9rem}.error-note{color:var(--danger);background:var(--danger-soft);padding:8px 12px;border-radius:var(--radius-sm);font-size:.9rem}.info-note{color:#0f5560;background:#e6f4f7;padding:10px 12px;border-radius:var(--radius-sm);font-size:.92rem}.alert-pill{display:inline-block;margin-top:6px;background:#fff4e0;color:#9a5a00;padding:2px 10px;border-radius:999px;font-size:.82rem;font-weight:600}.spinner-wrap{display:flex;gap:10px;align-items:center;justify-content:center;padding:28px;color:var(--muted)}.spinner{width:18px;height:18px;border:2.5px solid var(--brand-soft);border-top-color:var(--brand);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.form-grid{display:grid;grid-template-columns:1fr;gap:12px}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field-label{font-size:.84rem;font-weight:600;color:var(--ink-2)}.field-hint{font-size:.78rem;color:var(--muted)}.check{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;cursor:pointer}.check input{margin-top:2px}.input-icon{position:relative}.input-icon svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.input-icon input{padding-left:38px}.dt{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:6px}.dt input{min-width:0;width:100%}.section-title{margin:18px 0 8px}@media (min-width: 640px){.form-grid{grid-template-columns:1fr 1fr}.form-grid .full{grid-column:1 / -1}}.picker{position:relative;display:grid;gap:6px}.picker-list{list-style:none;margin:0;padding:4px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow);max-height:240px;overflow:auto}.picker-list button{display:flex;justify-content:space-between;gap:10px;width:100%;padding:10px;border:0;background:none;border-radius:8px;text-align:left}.picker-list button:hover{background:var(--brand-softer)}.picker-list button:focus-visible{outline:3px solid var(--brand);outline-offset:-3px}.picker-new{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:center}.picker-new .error-note{grid-column:1 / -1}.picked{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--brand-softer);border:1px solid var(--brand-soft)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0c201e6b;display:flex;align-items:flex-end;justify-content:center;animation:fade .15s}.modal{background:var(--surface);width:100%;max-height:92vh;display:flex;flex-direction:column;border-radius:20px 20px 0 0;box-shadow:var(--shadow-lg);animation:rise .2s ease-out}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:14px 18px 6px}.modal-body{padding:8px 18px 18px;overflow:auto;display:flex;flex-direction:column;gap:14px}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}@media (min-width: 640px){.modal-backdrop{align-items:center;padding:24px}.modal{max-width:560px;border-radius:18px}.modal-wide{max-width:760px}}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{transform:translateY(24px);opacity:.5}}.toasts{position:fixed;z-index:60;left:50%;transform:translate(-50%);bottom:calc(var(--nav-h) + 16px + env(safe-area-inset-bottom));display:grid;gap:8px;width:min(92vw,420px)}.toast{padding:12px 16px;border-radius:12px;background:var(--ink);color:#fff;box-shadow:var(--shadow-lg);font-weight:500;animation:rise .2s}.toast-error{background:var(--danger)}.appt-status-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px;border-radius:var(--radius-sm);background:var(--surface-2)}.status-actions{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto}.appt-links{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.center-page{min-height:100vh;display:grid;place-items:center;padding:20px}.shell{min-height:100vh}.sidebar{display:none}.main{padding-bottom:calc(var(--nav-h) + 24px + env(safe-area-inset-bottom))}.page{max-width:1180px;margin:0 auto;padding:18px 16px;display:flex;flex-direction:column;gap:18px}.page-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.bottom-nav{position:fixed;z-index:40;left:0;right:0;bottom:0;height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(5,1fr);background:#fffffff5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line)}.bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:.72rem;font-weight:600;color:var(--muted);text-decoration:none}.bottom-nav a.active{color:var(--brand)}.banner{padding:10px 16px;font-weight:600;font-size:.9rem;text-align:center}.banner-warn{background:#fff4e0;color:#8a5300}.banner-danger{background:var(--danger-soft);color:var(--danger)}.brand{display:flex;align-items:center;gap:10px;color:var(--ink)}.brand small{display:block;color:var(--muted);font-size:.78rem}.brand-inline{text-decoration:none!important}.brand-mark{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--brand);color:#fff;flex:none}@media (min-width: 960px){.shell{display:grid;grid-template-columns:248px 1fr}.sidebar{display:flex;flex-direction:column;gap:16px;position:sticky;top:0;height:100vh;padding:18px 14px;background:var(--surface);border-right:1px solid var(--line)}.sidebar .brand strong{display:block;font-size:.95rem;line-height:1.2}.side-nav{display:flex;flex-direction:column;gap:2px}.side-nav a{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:10px;color:var(--ink-2);font-weight:600;text-decoration:none}.side-nav a:hover{background:var(--surface-2)}.side-nav a.active{background:var(--brand-soft);color:var(--brand)}.side-foot{margin-top:auto;display:grid;gap:6px}.clinic-switch{min-height:38px;font-size:.88rem}.bottom-nav{display:none}.main{padding-bottom:24px;min-width:0}.page{padding:28px 32px}.toasts{bottom:24px}}.trial-pill{background:#fff4e0;color:#8a5300;padding:6px 10px;border-radius:10px;font-size:.8rem;font-weight:600}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow);display:grid;gap:2px}.stat span{font-size:.8rem;color:var(--muted);font-weight:600}.stat strong{font-size:1.45rem;font-variant-numeric:tabular-nums}.stat small{color:var(--muted);font-size:.78rem}@media (min-width: 760px){.stats{grid-template-columns:repeat(4,1fr)}}.two-col{display:grid;gap:18px}@media (min-width: 960px){.two-col{grid-template-columns:1.3fr 1fr;align-items:start}}.mini-list{list-style:none;margin:0;padding:0;display:grid}.mini-list li{display:grid;grid-template-columns:74px 1fr auto;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.mini-list li:first-child{border-top:0}.booking-card .link-box{margin:10px 0;padding:10px 12px;border-radius:var(--radius-sm);background:var(--brand-softer);border:1px dashed #b7ddd6;overflow-wrap:anywhere}.booking-card code{background:none;padding:0;color:var(--brand);font-weight:600}.agenda-head{align-items:flex-start}.agenda-nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.agenda-title{font-size:1.15rem;margin-left:4px}@media (max-width: 600px){.agenda-title{width:100%;order:-1;margin:0 0 4px}.agenda-tools{width:100%}.agenda-tools select{flex:1}}.agenda-title:first-letter{text-transform:uppercase}.date-jump{width:auto;min-height:36px;padding:4px 8px;font-size:.85rem}.agenda-tools{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.agenda-tools select{width:auto;min-height:40px}.segmented{display:inline-flex;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:3px}.segmented button{border:0;background:none;padding:6px 12px;border-radius:8px;font-weight:600;font-size:.88rem;color:var(--ink-2)}.segmented button.on{background:var(--surface);color:var(--brand);box-shadow:var(--shadow)}.timegrid-wrap{overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);max-height:calc(100vh - 210px)}.timegrid{display:grid;grid-template-columns:58px repeat(var(--cols),minmax(150px,1fr));min-width:min-content}.tg-head{position:sticky;top:0;z-index:3;background:var(--surface);border-bottom:1px solid var(--line);padding:10px 8px;display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;font-size:.88rem;min-height:52px}.tg-head small{width:100%;color:var(--muted);font-size:.74rem}.tg-head.is-today strong{color:var(--brand)}.tg-corner{left:0;z-index:4}.dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex:none}.tg-hours{position:sticky;left:0;z-index:2;background:var(--surface);border-right:1px solid var(--line)}.tg-hours span{position:absolute;right:6px;transform:translateY(-50%);font-size:.7rem;color:var(--muted);white-space:nowrap}.tg-hours span:first-child{transform:none}.tg-col{position:relative;border-left:1px solid var(--line);cursor:copy;background-color:#f1f4f3}.tg-col:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background-image:linear-gradient(var(--line) 1px,transparent 1px);background-size:100% 66px}.tg-work{position:absolute;left:0;right:0;background:var(--surface);pointer-events:none}.tg-block{position:absolute;left:0;right:0;z-index:1;pointer-events:none;background:repeating-linear-gradient(45deg,#eef1f1,#eef1f1 6px,#f6f8f8 6px,#f6f8f8 12px);border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:center;padding-top:4px}.tg-block span{font-size:.72rem;color:var(--muted);font-weight:600}.tg-appt{position:absolute;z-index:2;overflow:hidden;text-align:left;padding:4px 8px;border:0;border-left:4px solid var(--c);border-radius:8px;display:flex;flex-direction:column;gap:0;background:color-mix(in srgb,var(--c) 14%,white);color:var(--ink);font-size:.78rem;line-height:1.25;box-shadow:0 1px 2px #0000000f;cursor:pointer}.tg-appt:hover{background:color-mix(in srgb,var(--c) 22%,white);z-index:3}.tg-appt strong{font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tg-appt span{color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tg-appt em{font-style:normal;font-weight:700;color:#a16207;font-size:.7rem}.tg-appt.status-pending{border-left-style:dashed;background:#fffaf0}.tg-appt.status-completed{opacity:.75}.tg-appt.status-no_show{background:var(--danger-soft);text-decoration:line-through}.list-day{font-size:.95rem;margin:6px 0;color:var(--ink-2)}.list-day:first-letter{text-transform:uppercase}.appt-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.appt-list button{width:100%;display:grid;grid-template-columns:76px 1fr auto;gap:10px;align-items:center;text-align:left;padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--c);border-radius:var(--radius-sm);box-shadow:var(--shadow)}.appt-list button:hover{background:var(--surface-2)}.appt-time{font-weight:700;font-variant-numeric:tabular-nums;display:grid;font-size:.86rem;white-space:nowrap}.appt-time small{color:var(--muted);font-weight:500}.appt-main{display:grid;min-width:0}.appt-main strong,.appt-main small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appt-main small{color:var(--muted)}.patient-head{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.patient-head h1{font-size:1.3rem;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.head-actions{display:flex;gap:6px;flex-wrap:wrap}.tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--line);scrollbar-width:none}.tabs button{border:0;background:none;padding:10px 14px;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;white-space:nowrap}.tabs button.on{color:var(--brand);border-bottom-color:var(--brand)}.details{display:grid;gap:0;margin:0}.details>div{display:grid;grid-template-columns:1fr;gap:2px;padding:10px 0;border-top:1px solid var(--line)}.details>div:first-child{border-top:0}.details dt{font-size:.8rem;font-weight:600;color:var(--muted)}.details dd{margin:0;white-space:pre-wrap}@media (min-width: 640px){.details>div{grid-template-columns:200px 1fr}}.timeline{list-style:none;margin:0;padding:0;display:grid;gap:10px}.note header{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:6px}.note h3{margin-bottom:4px}.kind-historia{background:#eef2ff!important;color:#4338ca!important}.kind-valoracion{background:#fdf2f8!important;color:#be185d!important}.kind-diagnostico{background:#fff4e0!important;color:#9a5a00!important}.kind-evolucion{background:var(--brand-soft)!important;color:var(--brand)!important}.pain{margin-left:auto;font-size:.8rem;font-weight:700;color:var(--danger)}.pain-chart{width:100%;height:auto;max-height:220px}.pain-chart .grid{stroke:var(--line)}.pain-chart text{font-size:11px;fill:var(--muted)}.pain-chart .line{fill:none;stroke:var(--brand);stroke-width:2.5;stroke-linejoin:round}.pain-chart .pt{fill:var(--surface);stroke:var(--brand);stroke-width:2}.dropzone{display:grid;justify-items:center;gap:4px;padding:26px 16px;text-align:center;cursor:pointer;border:2px dashed #b7ddd6;border-radius:var(--radius);background:var(--brand-softer);color:var(--brand)}.dropzone input{display:none}.dropzone.busy{opacity:.6;pointer-events:none}.pkg-grid{display:grid;gap:12px}@media (min-width: 760px){.pkg-grid{grid-template-columns:1fr 1fr}}.pkg header{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:8px}.pkg-count strong{font-size:1.6rem;color:var(--brand)}.progress{height:8px;border-radius:99px;background:var(--brand-soft);overflow:hidden;margin:8px 0}.progress span{display:block;height:100%;background:var(--brand);border-radius:99px}.pkg .row-actions{margin-top:10px}.team-grid{display:grid;gap:10px}@media (min-width: 760px){.team-grid{grid-template-columns:1fr 1fr}}.team-card{display:flex;align-items:center;gap:12px;text-align:left;padding:14px}.team-card:hover{border-color:#c8dcd8}.team-card strong,.team-card small{display:block}.swatches{display:flex;gap:8px;flex-wrap:wrap;padding-top:6px}.swatch{width:30px;height:30px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1px var(--line)}.swatch.on{box-shadow:0 0 0 2px var(--ink)}.hours-editor{display:grid;gap:8px}.hours-row{display:grid;grid-template-columns:1.3fr 1fr auto 1fr auto;gap:6px;align-items:center}.hours-row input,.hours-row select{min-height:40px;padding:6px 8px}.auth-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(1200px 500px at 10% -10%,#d9f0eb,transparent),var(--bg)}.auth-card{width:100%;max-width:420px;background:var(--surface);border-radius:20px;padding:28px 24px;box-shadow:var(--shadow-lg);display:grid;gap:14px}.auth-switch{display:flex;flex-wrap:wrap;gap:4px 16px}.public-page{min-height:100vh;display:flex;flex-direction:column}.public-head{background:var(--brand);color:#fff;padding:22px 16px 54px}.public-brand{max-width:720px;margin:0 auto;display:flex;gap:12px;align-items:center}.public-brand .brand-mark{background:#ffffff2e}.public-brand h1{font-size:1.3rem}.public-brand p{opacity:.85;font-size:.9rem}.public-main{width:100%;max-width:720px;margin:-36px auto 0;padding:0 12px 30px;display:grid;gap:12px}.step{background:var(--surface);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);border:1px solid var(--line);display:grid;gap:12px}.step h2{display:flex;align-items:center;gap:10px}.step-n{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--brand-soft);color:var(--brand);font-size:.85rem}.choice-grid{display:grid;gap:8px}@media (min-width: 560px){.choice-grid{grid-template-columns:1fr 1fr}}.choice{display:grid;gap:2px;text-align:left;padding:14px;border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.choice:hover{border-color:#b7ddd6}.choice.on{border-color:var(--brand);background:var(--brand-softer);box-shadow:0 0 0 3px var(--brand-soft)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;gap:6px;align-items:center;padding:8px 14px;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);font-weight:600;font-size:.9rem}.chip.on{border-color:var(--brand);background:var(--brand-softer);color:var(--brand)}.day-strip{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x mandatory;scrollbar-width:thin}.day{flex:none;width:56px;padding:8px 0;display:grid;justify-items:center;border-radius:12px;border:1.5px solid var(--line);background:var(--surface);scroll-snap-align:start}.day small{color:var(--muted);font-size:.72rem;text-transform:uppercase;font-weight:600}.day strong{font-size:1.15rem}.day.on{background:var(--brand);border-color:var(--brand);color:#fff}.day.on small{color:#fffc}.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:8px}.slot{padding:10px 0;border-radius:10px;border:1.5px solid #b7ddd6;background:var(--surface);color:var(--brand);font-weight:700;font-variant-numeric:tabular-nums}.slot:hover{background:var(--brand-softer)}.slot.on{background:var(--brand);color:#fff;border-color:var(--brand)}.summary-pill{background:var(--brand-softer);color:var(--brand);padding:10px 12px;border-radius:var(--radius-sm);font-weight:600;font-size:.92rem}.summary-pill:first-letter{text-transform:uppercase}.public-foot{text-align:center;padding:20px;color:var(--muted);font-size:.82rem;margin-top:auto}.success-mark{width:64px;height:64px;border-radius:50%;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;margin:0 auto}.appt-summary{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:var(--radius-sm);background:var(--s-bg, var(--brand-softer));color:var(--s-fg, var(--brand))}.appt-summary div{display:grid}.appt-summary span{color:var(--ink-2)}.landing{max-width:1080px;margin:0 auto;padding:0 18px}.landing-nav{display:flex;justify-content:space-between;align-items:center;padding:18px 0}.hero{text-align:center;padding:48px 0 40px;display:grid;gap:16px;justify-items:center}.hero h1{font-size:clamp(1.9rem,5vw,3.1rem);max-width:780px;letter-spacing:-.02em}.lead{font-size:1.1rem;color:var(--ink-2);max-width:560px}.features{display:grid;gap:14px;padding:20px 0 50px}@media (min-width: 720px){.features{grid-template-columns:repeat(3,1fr)}}.feature{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;display:grid;gap:8px;align-content:start}.feature-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:var(--brand-soft);color:var(--brand)}.feature p{color:var(--ink-2);font-size:.93rem}.pricing{display:grid;place-items:center;padding-bottom:60px}.price-card{background:var(--surface);border:2px solid var(--brand);border-radius:22px;padding:28px;max-width:420px;width:100%;display:grid;gap:14px;box-shadow:var(--shadow-lg)}.price strong{font-size:2.6rem}.price-card ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.price-card li{display:flex;gap:8px;align-items:flex-start}.price-card li svg{color:var(--brand);flex:none;margin-top:2px}.landing-foot{text-align:center;padding:24px 0 40px;color:var(--muted);font-size:.85rem;border-top:1px solid var(--line)}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}@media (max-width: 560px){.hours-row{grid-template-columns:1fr auto 1fr auto}.hours-row select{grid-column:1 / -1}}.banner-demo{background:#eef2ff;color:#3730a3}.banner-demo-inline{background:#eef2ff;color:#3730a3;padding:8px 12px;border-radius:var(--radius-sm);font-weight:600;font-size:.9rem}.legal-links a{color:var(--muted)}.plain-list{margin:0;padding-left:18px;display:grid;gap:8px;font-size:.92rem}.demo-box{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:12px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px dashed var(--line)}.notice-box{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 14px;font-size:.84rem;line-height:1.5;color:var(--ink-2)}.notice-box strong{display:block;color:var(--ink);margin-bottom:4px}.consent-check{background:#f0f9f7;border:1px solid var(--brand-soft);padding:10px 12px;border-radius:var(--radius-sm)}.picker-consent{grid-column:1 / -1}.consent-row{grid-template-columns:90px 1fr auto!important}.link-box{margin:10px 0;padding:10px 12px;border-radius:var(--radius-sm);background:var(--brand-softer);border:1px dashed #b7ddd6;overflow-wrap:anywhere}.link-box code{background:none;padding:0;color:var(--brand);font-weight:600}.strike{text-decoration:line-through;color:var(--muted)}.note-annulled{background:#fbfbfb}.note-annulled h3,.note-annulled .pre{text-decoration:line-through;color:var(--muted)}.note-actions{margin-left:auto;display:inline-flex;gap:12px}.note .pain+.note-actions{margin-left:8px}.note-sign{margin-top:10px;padding-top:8px;border-top:1px dashed var(--line);font-size:.78rem;color:var(--muted)}.legal-page{max-width:820px;margin:0 auto;padding:0 18px 60px}.legal-head{display:flex;justify-content:space-between;align-items:center;padding:18px 0}.legal-body{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:28px 24px;display:grid;gap:12px;line-height:1.65}.legal-body h1{font-size:1.5rem}.legal-body h2{font-size:1.05rem;margin-top:10px}.legal-body ul,.legal-body ol{margin:0;padding-left:22px;display:grid;gap:6px}.legal-body .card{margin-top:18px}.sign-box{margin-top:24px;padding-top:16px;border-top:1px solid var(--line);display:grid;gap:18px}.arco-done{border-color:var(--brand-soft)}.table-wrap{padding:0;overflow-x:auto}.audit-table{width:100%;border-collapse:collapse;font-size:.86rem}.audit-table th,.audit-table td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--line);vertical-align:top}.audit-table th{font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--surface-2)}.audit-table td:first-child{white-space:nowrap}.print-only{display:none}@media print{.no-print,.sidebar,.bottom-nav,.legal-head .btn{display:none!important}.print-only{display:grid}body{background:#fff}.legal-body{border:0;padding:0}}.btn-whatsapp-solid{background:#1f9d55;color:#fff}.btn-whatsapp-solid:hover{background:#17834a}.badge-sent{background:#e4f6ec;color:var(--wa);border-color:transparent}.msg-row .appt-time{width:74px}.day-pick{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.day-pick input{width:auto;min-height:38px;padding:4px 8px}.toolbar select{width:auto;min-height:40px}.share-card{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.tomorrow-card{display:flex;gap:12px;align-items:center;flex-wrap:wrap;border-color:#c6ead5;background:#f3fbf6}.queue-progress{height:6px;border-radius:99px;background:var(--surface-2);overflow:hidden}.queue-progress span{display:block;height:100%;background:#1f9d55;transition:width .2s}.queue-card{display:grid;gap:4px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2)}.queue-text{margin-top:8px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.92rem;background:#dcf8c6;color:#111b21;padding:10px 12px;border-radius:10px 10px 10px 2px}.queue-done{text-align:center;display:grid;gap:8px;justify-items:center;padding:10px 0}.placeholder-list{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.82rem;color:var(--ink-2)}.repeat-box{border:1px dashed var(--line);border-radius:var(--radius-sm);padding:12px;display:grid;gap:10px}.repeat-box.on{border-style:solid;border-color:var(--brand-soft);background:var(--brand-softer)}.repeat-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.repeat-row .chip{padding:6px 12px}.count-input{width:90px;min-height:38px}.preview-list{list-style:none;margin:0;padding:0;display:grid;gap:4px;max-height:220px;overflow:auto;font-size:.88rem}.preview-list li{display:flex;gap:6px;align-items:center;color:var(--brand)}.preview-list li.conflict{color:var(--danger)}.preview-list em{font-style:normal;color:var(--danger)}.preview-list em.warn{color:#a16207}.queue-card{min-width:0;overflow:hidden}.password-control{position:relative;display:flex;align-items:center}.password-control input{padding-right:78px}.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:var(--surface-2);color:var(--brand);font:inherit;font-size:.74rem;min-height:34px;border-radius:6px;padding:4px 8px}.password-checks{list-style:none;padding:0;margin:0;display:grid;gap:4px;font-size:.75rem;color:var(--muted)}.password-checks li{display:flex;gap:5px;align-items:center}.password-checks .met,.password-match{color:var(--ok)}.password-match{font-size:.78rem}.registration-privacy{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px;font-size:.78rem;color:var(--ink-2);line-height:1.65}.registration-privacy strong{display:block;margin-bottom:4px;color:var(--ink)}.auth-legal{display:flex;align-items:center;justify-content:center;gap:6px;font-size:.7rem;color:var(--muted);padding-top:8px}.auth-intro{font-size:.9rem}.break-word{overflow-wrap:anywhere}.account-page>.card,.account-page>.two-col{margin-bottom:18px}.account-person{display:flex;align-items:center;gap:12px}.session-row{display:flex;gap:10px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line);font-size:.82rem}.session-row strong,.session-row small{display:block}.session-row small{margin-top:4px}.account-shortcut{display:flex;align-items:center;gap:6px;font-size:.8rem}.standalone-account-head{max-width:1000px;margin:auto;padding:18px}@media screen and (max-width: 959px){html.clinical-shell-mounted,html.clinical-shell-mounted body{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:hidden;overscroll-behavior-y:none}.shell{position:fixed;top:var(--clinical-viewport-top, 0px);left:0;right:0;height:100dvh;height:var(--clinical-viewport-height, 100dvh);min-height:0;overflow:hidden}.shell>.main{position:absolute;inset:0 0 calc(var(--nav-h) + env(safe-area-inset-bottom,0px));min-height:0;overflow:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;padding-bottom:24px;scroll-padding-bottom:24px}.shell>.bottom-nav{position:absolute;left:0;right:0;bottom:0;height:calc(var(--nav-h) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px)}.modal{max-height:92dvh}.modal-body{min-height:0}.clinical-shell-mounted .modal-backdrop{top:var(--clinical-viewport-top, 0px);bottom:auto;height:var(--clinical-viewport-height, 100dvh);min-height:0}.clinical-shell-mounted .modal{max-height:100%;min-height:0}.clinical-shell-mounted .modal-foot{flex-wrap:wrap}.clinical-shell-mounted .modal-foot .btn{min-height:44px}.clinical-shell-mounted .picker-list{max-height:min(220px,30dvh)}}.portal-tabs{display:flex;gap:8px;padding:6px;background:var(--surface,#eef2ed);border-radius:16px;margin-bottom:24px}.portal-tabs button{flex:1;min-height:52px;border:0;background:transparent;color:inherit;border-radius:12px;padding:10px 14px;font:inherit;font-weight:600;cursor:pointer}.portal-tabs button.on{background:var(--card,#fff);color:var(--primary,#164e43);box-shadow:0 2px 10px #173b3510}.patient-portal{font-size:17px}.patient-portal .step{scroll-margin-top:24px}.patient-portal input,.patient-portal select{min-height:52px;font-size:17px}.patient-portal button:focus-visible,.portal-tabs button:focus-visible{outline:3px solid #ad8e50;outline-offset:3px}.portal-greeting,.portal-cart-row,.notification-entry{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.portal-greeting{margin:16px 0}.portal-greeting p,.portal-cart-row p,.portal-appointment p,.notification-entry p{margin:6px 0}.portal-package,.portal-appointment{padding:20px;border:1px solid var(--border,#dbe4dc);border-radius:16px;background:var(--card,#fff)}.package-counts,.channel-metrics{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}.package-counts span,.channel-metrics span{padding:12px 16px;background:var(--surface,#f0f4ee);border-radius:12px;min-width:110px}.package-counts b,.channel-metrics b{display:block;font-size:24px}.portal-cart-row{padding:16px 0;border-bottom:1px solid var(--border,#dbe4dc)}.portal-otp{font-size:26px!important;letter-spacing:.16em;font-weight:700;max-width:250px}.portal-code{border-top:1px solid var(--border,#dbe4dc);padding-top:24px}.channel-url{overflow-wrap:anywhere;display:block;line-height:1.7}.notification-entry{border:1px solid var(--border,#dbe4dc);border-radius:12px;padding:18px}.notification-entry.unread{border-left:4px solid #ad8e50}.notification-option{display:grid;grid-template-columns:minmax(0,1fr) 72px 60px;align-items:center;gap:10px;padding:16px 0;border-bottom:1px solid var(--border,#dbe4dc)}.notification-option input{width:22px;height:22px;justify-self:center;accent-color:#164e43}.notification-option label{line-height:1.5}.option-head{font-size:13px;font-weight:600}.option-head span:not(:first-child){text-align:center}.clinic-quick-actions{display:flex;justify-content:flex-end;padding:12px 24px 0}@media (max-width:600px){.patient-portal .public-main{padding:16px}.patient-portal .step{padding:20px 16px}.portal-tabs button{padding:10px 8px;font-size:15px}.package-counts{gap:8px}.package-counts span{min-width:0;flex:1;padding:10px}.notification-option{grid-template-columns:minmax(0,1fr) 55px 45px;gap:6px}.clinic-quick-actions{padding:8px 16px 0}}.patient-portal .public-main>*{min-width:0}.patient-portal .btn{white-space:normal;overflow-wrap:anywhere}.patient-portal .portal-tabs button,.patient-portal .step,.patient-portal .stack,.patient-portal .row-actions{min-width:0}.patient-portal .slot{min-height:48px}.notification-page .btn{white-space:normal}.clinic-quick-actions{align-items:center;gap:12px;flex-wrap:wrap;justify-content:space-between}.section-guidance{min-width:0;flex:1}.guidance-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.context-help,.guide-launch{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 12px;border:1px solid var(--line,#dbe4dc);border-radius:12px;background:var(--surface,#fff);color:var(--text,#173b35);font:inherit;font-size:14px;line-height:1.4;text-align:left;cursor:pointer;white-space:normal}.help-question{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex:0 0 24px;border-radius:50%;background:#e4f0ec;color:#164e43;font-weight:800;font-size:17px}.context-help-compact{padding:4px;min-width:44px;min-height:44px;vertical-align:middle;margin-left:4px;border-color:transparent;background:transparent}.context-help:focus-visible,.guide-launch:focus-visible,.help-close:focus-visible{outline:3px solid #ad8e50;outline-offset:3px}.help-backdrop{z-index:80;padding:12px;align-items:center}.help-dialog{width:100%;max-width:680px;max-height:calc(100dvh - 24px);border-radius:18px;min-width:0}.help-dialog .modal-body{padding:12px 22px 24px;gap:18px;min-height:0;overflow:auto}.help-dialog .modal-head{padding:18px 22px 10px;gap:14px}.help-dialog .modal-head h2{font-size:21px;min-width:0;line-height:1.4}.help-close{min-width:44px;min-height:44px;border:0;border-radius:12px;background:var(--bg,#f2f5f1);font-size:28px;color:inherit;cursor:pointer;flex-shrink:0}.help-intro{font-size:17px;line-height:1.7;margin:0}.help-topics section+section{margin-top:24px;padding-top:20px;border-top:1px solid var(--line,#dbe4dc)}.help-topics h3{font-size:18px;line-height:1.4;margin:0 0 10px}.help-topics p,.help-topics li,.guide-tasks li{line-height:1.75}.help-topics p{margin:0}.help-topics ol,.guide-tasks{padding-left:24px}.help-topics li+li,.guide-tasks li+li{margin-top:8px}.guide-progress{width:100%;height:8px;accent-color:#164e43}.guide-body:focus{outline:none}.guide-body h3{font-size:22px;line-height:1.4}.help-footer{flex-wrap:wrap}.public-help{display:flex;justify-content:flex-end;min-width:0;margin-bottom:12px}.form-help{display:flex;justify-content:flex-end}@media (max-width:600px){.help-dialog .modal-head{padding:14px 16px 8px}.help-dialog .modal-body{padding:10px 16px 20px}.help-footer{padding:12px;gap:8px}.help-footer .btn{min-height:44px;white-space:normal}.help-dialog input{min-height:48px;font-size:16px}.help-intro{font-size:16px}.guidance-tools{gap:6px}.context-help,.guide-launch{font-size:13px}.clinic-quick-actions>.btn{white-space:normal}}.booking-top-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.booking-top-actions .btn{min-height:48px;white-space:normal;flex:1}.booking-top-actions .context-help{flex:0 0 44px}.selection-count{padding:12px 16px;border-radius:12px;background:#e6f2ed;color:#164e43;font-weight:600}.guest-identity{padding:16px;border:1px solid var(--line,#dbe4dc);border-radius:14px;background:var(--surface,#f5f8f3)}.guest-identity p{margin:4px 0}.simple-booking details input{width:100%;font-size:15px;overflow-wrap:anywhere}@media (max-width:600px){.booking-top-actions .btn{font-size:14px;padding:10px 8px}.simple-booking .step h2{font-size:21px}}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}a,button,input,select,textarea,label,summary{touch-action:manipulation}@media (max-width: 959px),(hover: none) and (pointer: coarse){input:not(.portal-otp),select,textarea{font-size:max(16px,1em)!important}}.booking-top-actions{align-items:stretch;background:var(--surface);padding:8px;border-radius:16px;box-shadow:0 6px 20px #0f3c341a;margin-bottom:0}.booking-top-actions .btn{color:var(--brand)}.booking-top-actions .btn-ghost{background:var(--surface);border-color:var(--line)}.booking-top-actions .context-help{align-self:center}.patient-portal .slots{grid-template-columns:repeat(auto-fill,minmax(112px,1fr))}.patient-portal .slot{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 6px;white-space:nowrap;font-size:16px}.slot .slot-mark{font-size:14px;opacity:.8}.slot.clash{color:#8a9a96;border-color:var(--line);border-style:dashed;background:var(--surface-2, #f3f6f5);cursor:not-allowed}.slot.clash:hover{background:var(--surface-2, #f3f6f5)}.choice{align-content:start}.portal-cart-row.unavailable{background:var(--danger-soft);border-radius:12px;padding:12px;border-bottom-color:transparent;margin:4px 0}.cart-warning{color:var(--danger);font-weight:600;font-size:15px}.portal-appointment .btn,.simple-booking .portal-appointment .btn{text-align:center;justify-content:center}.card.narrow .row-actions .btn{flex:1 1 200px;justify-content:center}@media (max-width: 480px){.patient-portal .slots{grid-template-columns:repeat(auto-fill,minmax(92px,1fr))}.patient-portal .slot{padding:8px 4px}.patient-portal .slot{gap:3px}.patient-portal .slot .slot-mark{font-size:12px}.patient-portal .slot:not(.on) .slot-mark{display:none}}@media (max-width: 400px){.patient-portal .slot{font-size:15px;flex-wrap:wrap;row-gap:0}}@media (max-width: 340px){.patient-portal .slot{font-size:14px}}.therapist-list{display:grid;gap:8px;margin-top:10px;max-height:min(55vh,420px);overflow-y:auto;padding:2px}.therapist-picker>.btn{justify-self:start}.hours-block{display:grid;gap:6px;padding-bottom:8px;border-bottom:1px solid var(--line)}.hours-repeat{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.hours-repeat select,.hours-repeat input{min-height:40px;padding:6px 8px}.hours-anchor{display:inline-flex;gap:6px;align-items:center}.hours-block,.hours-row>*{min-width:0}.hours-row input[type=time]{width:100%}.perm-list{display:grid;gap:10px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 14px;margin:0}.perm-item{align-items:flex-start}.perm-item span{display:grid;gap:2px}.channel-pros{display:grid;gap:6px;max-height:280px;overflow-y:auto;padding:2px}@media (min-width: 560px){.channel-pros{grid-template-columns:1fr 1fr}}.logbook-values{display:grid;gap:8px;margin:8px 0}.logbook-values dt{font-size:.8rem;font-weight:600;color:var(--ink-2)}.logbook-values dd{margin:2px 0 0}html:has(.modal-backdrop){overflow:hidden}html:has(.modal-backdrop) .shell>.main,html:has(.modal-backdrop) .main{overflow:hidden!important}.modal-backdrop{overscroll-behavior:contain}.modal-body{min-height:0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.modal{max-height:92vh;max-height:min(92dvh,calc(var(--clinical-viewport-height, 100dvh) - 12px))}.modal-head,.modal-foot{flex:none}.modal-foot{flex-wrap:wrap;align-items:center;background:var(--surface)}.modal-foot .foot-left{margin-right:auto}.btn-danger-text{color:var(--danger)}@media (max-width: 520px){.modal-foot{gap:6px;padding-left:12px;padding-right:12px}.modal-foot .btn{flex:1 1 auto;justify-content:center}.modal-foot .foot-left{flex-basis:100%;order:3}.modal-foot>.grow{flex-basis:100%}}@media (min-width: 960px){.sidebar{height:100vh;height:100dvh;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.side-nav,.sidebar .brand,.side-foot{flex:none}.side-foot{padding-bottom:4px}}.tg-col{border-left:1px solid #c7d3d0}.tg-col:before{background-image:linear-gradient(#c3cfcc 1px,transparent 1px),linear-gradient(#e1e8e6 1px,transparent 1px);background-size:100% 66px,100% 33px}.tg-hours{border-right:1px solid #c7d3d0}.tg-hours span{color:var(--ink-2);font-weight:600}.tg-head{border-bottom:1px solid #c7d3d0;border-left:1px solid #c7d3d0}.tg-head.is-today{background:var(--brand-softer, #eef7f5)}.seg{display:flex;background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:3px;gap:3px}.seg button{flex:1;border:0;background:none;padding:9px 10px;border-radius:9px;font:inherit;font-weight:600;font-size:.9rem;color:var(--ink-2);cursor:pointer}.seg button.on{background:var(--surface);color:var(--brand);box-shadow:var(--shadow)}.dates-editor{display:grid;gap:10px}.month-cal{border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px;max-width:380px}.month-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.month-dow{text-align:center;font-size:.72rem;font-weight:700;color:var(--muted)}.month-day{aspect-ratio:1;min-height:38px;border:1px solid var(--line);background:var(--surface);border-radius:9px;font:inherit;font-weight:600;cursor:pointer}.month-day:hover:not(:disabled){border-color:var(--brand)}.month-day.on{background:var(--brand);border-color:var(--brand);color:#fff}.month-day:disabled{opacity:.35;cursor:default}.hours-row.dated{grid-template-columns:minmax(70px,1fr) 1fr auto 1fr auto}@media (max-width: 600px){.hours-row.dated{grid-template-columns:1fr auto 1fr auto}.hours-row.dated>span:first-child{grid-column:1 / -1}}.support-form textarea{min-height:120px}.badge-warn{background:#fff4e0;color:#8a5300}.tg-hours{z-index:4}.tg-corner{z-index:5}@media (max-width: 959px){.timegrid-wrap{max-height:calc(var(--clinical-viewport-height, 100dvh) - 220px)}}input:disabled,select:disabled,textarea:disabled{background:var(--surface-2);color:var(--muted);cursor:not-allowed;border-style:dashed}.hours-row input[type=time]{min-width:112px}@media (max-width: 520px){.modal-foot .foot-left{flex:0 0 auto;order:3;margin:4px auto 0;min-height:36px;padding:4px 10px;font-size:.85rem;background:none;border:0}}.list-row>.grow+svg,.list-row>span+svg:last-child{margin-left:auto}a.list-row>span{flex:1}.stat-link{text-decoration:none;color:inherit;cursor:pointer}.stat-link:hover{border-color:var(--brand)}.save-bar{position:sticky;bottom:12px;z-index:20;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 14px;border-radius:14px;background:var(--ink);color:#fff;box-shadow:var(--shadow-lg)}.save-bar span{flex:1;font-weight:600}.save-bar .btn-ghost{color:#fff;border-color:#fff6}details.portal-access>summary{list-style:none;cursor:pointer;display:grid;gap:2px}details.portal-access>summary::-webkit-details-marker{display:none}.day.closed{background:var(--surface-2);color:#a3b1ad;border-style:dashed;cursor:not-allowed}.day.closed strong{text-decoration:line-through;text-decoration-thickness:1.5px}.tg-more{position:absolute;z-index:2;border:1.5px dashed var(--brand);border-radius:8px;background:var(--brand-softer);color:var(--brand);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:4px 2px;cursor:pointer;font-size:.75rem;line-height:1.2}.tg-more strong{font-size:.95rem}.tg-more:hover{background:var(--brand-soft)}.service-fields{border:0;padding:0;margin:0;min-width:0}.service-fields .check{min-height:44px}.available-dates{flex-wrap:wrap;overflow:visible}.available-dates .day{min-width:58px;min-height:76px}.record-hash{overflow-wrap:anywhere;word-break:break-word}.page fieldset{min-width:0}.page legend{font-weight:700;padding:0 8px}.page input,.page select,.page textarea{max-width:100%}
