@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-s.woff2) format("woff2");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-weight:400;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-s.woff2) format("woff2");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-weight:400;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-s.woff2) format("woff2");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-weight:400;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-s.p.woff2) format("woff2");unicode-range:u+00??,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-weight:500;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-s.woff2) format("woff2");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-weight:500;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-s.woff2) format("woff2");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-weight:500;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-s.woff2) format("woff2");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-weight:500;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-s.p.woff2) format("woff2");unicode-range:u+00??,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-weight:600;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-s.woff2) format("woff2");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-weight:600;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-s.woff2) format("woff2");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-weight:600;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-s.woff2) format("woff2");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-weight:600;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-s.p.woff2) format("woff2");unicode-range:u+00??,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-weight:700;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-s.woff2) format("woff2");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-weight:700;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-s.woff2) format("woff2");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-weight:700;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-s.woff2) format("woff2");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-weight:700;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-s.p.woff2) format("woff2");unicode-range:u+00??,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 Fallback;src:local("Arial");ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.00%;size-adjust:104.98%}.__className_14db65{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback;font-style:normal}.__variable_14db65{--font-inter:"Plus Jakarta Sans","Plus Jakarta Sans Fallback"}:root{--primary:#6D28D9;--primary-600:#7C3AED;--primary-50:#F5F3FF;--ink-900:#1A1523;--ink-700:#3F3850;--ink-500:#6B6478;--line:#ECE9F1;--surface:#FFFFFF;--bg:#FAF9FC;--success:#047857;--success-bg:#ECFDF5;--warning:#B45309;--warning-bg:#FFFBEB;--danger:#B42318;--danger-bg:#FEF3F2;--info:#175CD3;--info-bg:#EFF6FF;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:48px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--shadow-sm:0 1px 2px rgba(16,24,40,0.06);--shadow-md:0 4px 12px rgba(16,24,40,0.08);--surface-soft:var(--primary-50);--surface-rose:#fff0f5;--ink:var(--ink-900);--muted:var(--ink-500);--primary-hover:var(--primary-600);--lavender:#d9c3fe;--rose:#f7bcce;--teal:var(--success);--amber:var(--warning);--shadow:var(--shadow-md);font-family:var(--font-inter),"Segoe UI",system-ui,sans-serif}*{box-sizing:border-box}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:var(--ink);font-size:15px;line-height:1.5;margin:0;min-height:100vh;overflow-x:hidden;text-rendering:optimizeLegibility}body,html{background:var(--bg)}html{min-height:100%}a{color:inherit}.patient-form-panel>.panel-header,.patient-form-panel>.patient-booking-form,.patient-form-panel>.policy-download{width:100%}.patient-form-panel>.patient-booking-form{padding:0}.patient-result .link-as-button{margin-top:12px;width:fit-content}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,p{margin:0}h1{font-size:28px;font-weight:700;line-height:1.1}h2{font-size:20px}h2,h3{font-weight:600}h3{font-size:16px}.app-shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh;margin:0 auto;max-width:1560px}.sidebar{background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;height:100vh;overflow-y:auto;padding:0;position:sticky;top:0}.brand{align-items:center;display:flex;gap:12px}.brand-shell{align-items:flex-start;border-bottom:1px solid var(--line);flex-shrink:0;padding:20px 16px 16px}.brand-shell .brand-mark-large{border-radius:12px;height:40px;width:40px}.brand-shell .brand-subtitle{display:none}.brand-mark{align-items:center;background:var(--primary);border-radius:8px;color:#fff;display:grid;font-weight:600;height:44px;justify-content:center;width:44px}.brand-mark-large{border-radius:16px;height:52px;width:52px}.brand-photo{border:2px solid rgba(255,255,255,.9);border-radius:12px;box-shadow:var(--shadow-sm);display:block;height:72px;object-fit:cover;width:72px}.brand p,.eyebrow,.tenant-card p{color:var(--muted);font-size:12px;font-weight:600;letter-spacing:0;text-transform:uppercase}.brand strong{display:block;font-size:15px}.brand-subtitle{color:var(--muted);display:block;font-size:12px;margin-top:3px}.mobile-tabbar,.more-sheet,.more-sheet-overlay{display:none}.nav{display:flex;flex-direction:column;flex:1 1;gap:2px;overflow-y:auto;padding:8px 0}.nav button{align-items:center;background:transparent;border:none;border-left:3px solid transparent;border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--ink-700);display:flex;font-size:14px;gap:10px;height:40px;padding:0 16px 0 13px;text-align:left;transition:background .15s,color .15s;width:100%}.nav button.active,.nav button:hover{background:var(--primary-50);color:var(--primary)}.nav button.active{border-left-color:var(--primary);font-weight:600}.nav-icon{flex-shrink:0}.tenant-card{background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(246,236,255,.9));border:1px solid var(--line);border-radius:20px;display:grid;gap:7px;margin-top:auto;padding:16px;box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}.workspace-footer{background:var(--surface);border-top:1px solid var(--line);display:grid;flex-shrink:0;gap:14px;padding:16px}.workspace-user{align-items:center;display:flex;gap:12px}.detail-hero-avatar,.patient-card-avatar,.workspace-avatar{align-items:center;background:var(--primary);border-radius:18px;box-shadow:var(--shadow-sm);color:#fff;display:inline-flex;font-size:16px;font-weight:600;justify-content:center}.workspace-avatar{flex:0 0 44px;height:44px;width:44px}.workspace-user-copy{display:grid;gap:4px}.workspace-user-copy span{color:var(--muted);font-size:13px}.workspace-footer-actions{display:grid;gap:10px}.session-link{color:var(--muted);font-size:13px;font-weight:600;text-decoration:none}.session-link:hover{color:var(--primary);text-decoration:underline}.tenant-card span{color:var(--muted);font-size:13px;line-height:1.4}.main{min-width:0;padding:0 24px 44px}.topbar{align-items:center;background:var(--surface);border-bottom:1px solid var(--line);display:flex;gap:18px;justify-content:space-between;margin-bottom:28px;padding:18px 0;position:sticky;top:0;z-index:10}.topbar-copy{display:grid;gap:6px}.topbar-description{color:var(--muted);font-size:13px;line-height:1.5;margin:0;max-width:68ch}.button-row,.modal-actions,.topbar-actions{align-items:center;display:flex;gap:10px}.topbar-actions{justify-content:flex-end}.topbar-chip-group,.topbar-main-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.action-button,.icon-button,.link-as-button,.link-button,.primary-button,.secondary-button{border:1px solid transparent;border-radius:var(--radius-md);min-height:40px;padding:9px 14px}.primary-button{background:var(--primary);color:#fff;font-weight:600}.primary-button:hover{background:var(--primary-hover)}.action-button,.icon-button,.link-as-button,.secondary-button{background:var(--surface);border-color:var(--line);color:var(--ink)}.link-as-button{align-items:center;display:inline-flex;text-decoration:none}.link-button{padding-inline:6px}.inline-link,.link-button{background:transparent;color:var(--primary);font-weight:600}.inline-link{border:0;min-height:auto;padding:0;text-decoration:underline}.icon-button{min-width:40px;padding-inline:10px}.view{display:none}.view.active{display:grid;gap:18px}.metric-grid{display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.metric-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.stats-grid{display:grid;gap:10px;grid-template-columns:repeat(5,minmax(0,1fr))}.stats-grid article{background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;display:grid;gap:6px;padding:12px}.stats-grid strong{font-size:18px}.stats-grid span{color:var(--muted);font-size:12px;line-height:1.35}.metric,.panel{background:var(--surface);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow-sm)}.metric{border-radius:var(--radius-lg);overflow:hidden;padding:20px;position:relative;transition:box-shadow .15s,border-color .15s}.stat-icon{align-items:center;border-radius:var(--radius-sm);display:inline-flex;height:36px;justify-content:center;position:absolute;right:16px;top:16px;width:36px}.stat-icon--info{background:var(--info-bg);color:var(--info)}.stat-icon--success{background:var(--success-bg);color:var(--success)}.stat-icon--warning{background:var(--warning-bg);color:var(--warning)}.stat-icon--primary{background:var(--primary-50);color:var(--primary)}.metric-button{text-align:left}.metric-button:hover{border-color:var(--primary);box-shadow:var(--shadow-md)}.metric span{display:block;font-size:30px;font-weight:800;line-height:1}.helper-text{color:var(--muted);font-size:13px;line-height:1.45;margin:-6px 0 14px}.patient-next-steps{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.metric p{color:var(--muted);margin-top:8px}.patient-layout,.two-column{align-items:start;display:grid;gap:18px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.patient-layout{grid-template-columns:360px minmax(0,1fr)}.panel{overflow:hidden;padding:22px;position:relative}.quick-start{display:grid;gap:16px}.quick-start-grid{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.quick-card{background:var(--primary-50);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink);display:grid;gap:8px;min-height:112px;padding:16px;text-align:left;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.quick-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md)}.quick-card span,.settings-intro p,.toolbar-help{color:var(--muted);font-size:13px;line-height:1.45}.panel-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:16px}.toolbar{align-items:end;background:var(--surface);border:1px solid var(--line);border-radius:22px;display:grid;gap:12px;grid-template-columns:1.5fr 180px 180px auto;padding:16px;position:relative;box-shadow:var(--shadow-sm)}.toolbar-help{align-self:center}.settings-intro{background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;margin-bottom:16px;padding:13px}.schedule-builder,.session-type-builder{background:var(--surface-soft);border:1px solid var(--line);border-radius:20px;display:grid;gap:13px;padding:14px}.generated-times,.schedule-builder-header{align-items:center;display:flex;gap:12px;justify-content:space-between}.schedule-builder h3{font-size:16px;margin:3px 0 0}.generated-times span,.schedule-count,.schedule-help{color:var(--muted);line-height:1.45}.day-shortcuts{display:flex;flex-wrap:wrap;gap:8px}.schedule-blocks,.session-type-builder-list{display:grid;gap:10px}.schedule-block{grid-template-columns:1.1fr 1fr 1fr 1fr auto}.schedule-block,.session-type-builder-item{align-items:end;background:#fff;border:1px solid var(--line);border-radius:16px;display:grid;gap:10px;padding:12px}.session-type-builder-item{grid-template-columns:1.6fr .9fr .9fr auto}label{color:var(--muted);display:grid;font-size:13px;font-weight:600;gap:7px}input,select,textarea{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink);min-height:42px;padding:9px 11px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(109,40,217,.12);outline:none}textarea{line-height:1.45;resize:vertical}.table-wrap{overflow-x:auto}table{border-collapse:collapse;min-width:860px;width:100%}td,th{border-bottom:1px solid var(--line);padding:13px 12px;text-align:left;vertical-align:top}th{color:var(--muted);font-size:12px;letter-spacing:.04em;text-transform:uppercase}tbody tr{transition:background .1s}tbody tr:hover{background:var(--bg)}.badge,.soft-pill,.status{border-radius:999px;display:inline-flex;font-size:12px;font-weight:600;padding:5px 9px;white-space:nowrap}.soft-pill{background:var(--surface-soft);color:var(--primary)}.badge--success{background:var(--success-bg);color:var(--success)}.badge--warning{background:var(--warning-bg);color:var(--warning)}.badge--danger{background:var(--danger-bg);color:var(--danger)}.badge--info{background:var(--info-bg);color:var(--info)}.badge--neutral{background:var(--primary-50);color:var(--ink-700)}.status.Activo,.status.Confirmado,.status.Pagado{background:var(--success-bg);color:var(--success)}.status.Pendiente,.status.Solicitado{background:var(--warning-bg);color:var(--warning)}.status.Atendido{background:var(--info-bg);color:var(--info)}.status.Cancelado,.status.Inactivo,.status.No{background:var(--danger-bg);color:var(--danger)}.action-group{display:flex;flex-wrap:wrap;gap:7px}.action-button{min-height:32px;padding:5px 9px}.danger{color:var(--danger)}.check-list,.flow-list,.message-queue,.notice-list,.patient-list,.stack-list,.timeline{display:grid;gap:12px}.patient-card,.stack-item,.timeline-item{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;box-shadow:var(--shadow-sm)}.patient-card{display:grid;gap:14px}.patient-card-header{align-items:center;display:flex;gap:12px}.patient-card-avatar{border-radius:16px;flex:0 0 46px;height:46px;width:46px}.patient-card-meta{display:grid;gap:4px}.patient-card-meta strong{font-size:15px}.patient-card-footer{flex-wrap:wrap;gap:8px}.patient-card-footer,.stack-item{align-items:center;display:flex;justify-content:space-between}.stack-item{gap:12px}.muted,.patient-card small,.stack-item small,.timeline-item small{color:var(--muted)}.clinical-summary-grid{display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.compact-metric{padding:14px 16px}.compact-metric span{font-size:24px}.clinical-board{display:grid;gap:16px;grid-template-columns:repeat(4,minmax(240px,1fr));overflow-x:auto;padding-bottom:4px}.clinical-column{background:linear-gradient(180deg,#fff,#faf5ff);border:1px solid var(--line);border-radius:22px;display:grid;gap:12px;min-height:420px;padding:14px}.clinical-column-header{align-items:center;display:flex;gap:12px;justify-content:space-between}.clinical-column-header h3{font-size:16px;margin-top:4px}.clinical-column-body{display:grid;align-content:start;gap:12px}.clinical-card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm);display:grid;gap:10px;padding:14px}.clinical-card.priority-high{border-color:#f4c7d4}.clinical-card.priority-medium{border-color:#d9c3fe}.clinical-card.priority-low{border-color:#d7efe7}.clinical-card-top{align-items:center;display:flex;gap:10px;justify-content:space-between}.clinical-card-patient{color:var(--muted);font-size:13px;font-weight:700}.clinical-priority-badge{border-radius:999px;display:inline-flex;font-size:11px;font-weight:600;min-height:28px;padding:6px 10px}.clinical-priority-badge.priority-high{background:#fff0f5;color:#a13a61}.clinical-priority-badge.priority-medium{background:var(--primary-50);color:var(--primary)}.clinical-priority-badge.priority-low{background:#edf9f4;color:#1f7a63}.clinical-next-step{background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;display:grid;gap:4px;padding:10px}.clinical-next-step span{color:var(--muted);font-size:11px;font-weight:600;text-transform:uppercase}.clinical-card-actions{display:flex;flex-wrap:wrap;gap:8px}.patient-card{cursor:pointer}.patient-card.active{border-color:var(--primary);box-shadow:inset 3px 0 0 var(--primary)}.detail-panel dl{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.detail-hero{align-items:center;background:linear-gradient(135deg,rgba(246,236,255,.92),rgba(255,240,245,.8));border:1px solid rgba(231,221,234,.92);border-radius:20px;display:flex;gap:14px;margin-bottom:16px;padding:16px}.detail-hero-avatar{border-radius:18px;flex:0 0 56px;font-size:18px;height:56px;width:56px}.detail-hero-copy{display:grid;gap:6px}.detail-pill-row{display:flex;flex-wrap:wrap;gap:8px}.detail-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.detail-note{background:var(--surface-soft);border:1px solid var(--line);border-radius:18px;display:grid;gap:8px;margin-top:16px;padding:14px}.detail-note p:last-child{color:var(--muted);line-height:1.55}.detail-panel dt{color:var(--muted);font-size:12px;font-weight:600;text-transform:uppercase}.detail-panel dd{margin:4px 0 0}.flow-list p,.notice-list p{background:var(--surface-soft);border:1px solid var(--line);border-radius:18px;line-height:1.45;padding:13px}.legal-hero{align-items:center;display:flex;gap:18px;justify-content:space-between}.legal-hero p{color:var(--muted);line-height:1.5;margin-top:8px;max-width:850px}.legal-docs{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.legal-doc{align-content:start;display:grid;gap:12px}.legal-doc h3{font-size:15px;margin:8px 0 0}.legal-doc li,.legal-doc p{color:var(--muted);line-height:1.55}.legal-doc ul{display:grid;gap:8px;margin:0;padding-left:20px}.check-list{margin:16px 0 0;padding-left:20px}.check-list li{line-height:1.5}.empty-state{align-items:center;color:var(--muted);display:flex;flex-direction:column;gap:8px;padding:40px 24px;text-align:center}.empty-state-icon{color:var(--line);display:block;margin-bottom:4px}.empty-state-title{color:var(--ink-700);font-size:15px;font-weight:600;margin:0}.empty-state p{font-size:14px;margin:0;max-width:36ch}.error-state{align-items:center;background:var(--danger-bg,#fef2f2);border:1px solid var(--danger,#dc2626);border-radius:var(--radius-md);color:var(--danger,#dc2626);display:flex;flex-direction:column;gap:8px;padding:32px 24px;text-align:center}.error-state-title{font-size:15px;font-weight:600;margin:0}.error-state p{font-size:14px;margin:0;opacity:.85}.error-state .action-button{margin-top:4px}@keyframes shimmer{0%{background-position:-480px 0}to{background-position:480px 0}}.skeleton{animation:shimmer 1.4s ease-in-out infinite;background:linear-gradient(90deg,var(--bg) 25%,var(--line) 50%,var(--bg) 75%);background-size:960px 100%;border-radius:var(--radius-sm);display:block}.skeleton-line{border-radius:4px;height:14px;margin-bottom:8px}.skeleton-line:last-child{margin-bottom:0}.skeleton-line--short{width:40%}.skeleton-line--medium{width:65%}.skeleton-line--full{width:100%}.skeleton-card{border:1px solid var(--line);border-radius:var(--radius-md);padding:20px}.skeleton-stat{border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px}@keyframes toastIn{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toastOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(8px) scale(.96)}}#toastRoot{bottom:24px;display:flex;flex-direction:column;gap:8px;pointer-events:none;position:fixed;right:24px;z-index:9999}.toast{align-items:center;animation:toastIn .22s ease forwards;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-md);color:var(--ink-700);display:flex;font-size:14px;gap:10px;max-width:340px;min-width:220px;padding:12px 16px;pointer-events:auto}.toast.is-hiding{animation:toastOut .2s ease forwards}.toast-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.toast--success{border-left:3px solid var(--success)}.toast--success .toast-dot{background:var(--success)}.toast--warning{border-left:3px solid var(--warning)}.toast--warning .toast-dot{background:var(--warning)}.toast--danger{border-left:3px solid var(--danger,#dc2626)}.toast--danger .toast-dot{background:var(--danger,#dc2626)}.toast--info{border-left:3px solid var(--info)}.toast--info .toast-dot{background:var(--info)}dialog{border:0;border-radius:8px;box-shadow:var(--shadow-md);max-width:850px;padding:0;width:min(calc(100vw - 28px),850px)}#exportDialog{max-width:760px}.export-modal{display:grid;gap:16px;padding:22px}.export-modal textarea{font-family:Consolas,Courier New,monospace;min-height:280px}.storage-note{background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;display:grid;gap:6px;padding:12px}.storage-note span{color:var(--muted);font-size:13px}dialog::backdrop{background:rgba(47,33,55,.45)}form{display:grid;gap:18px;padding:22px}.modal-header{align-items:center;display:flex;justify-content:space-between}.form-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.full-field{grid-column:1/-1}.form-error{background:#fef3f2;border:1px solid #fecdca;border-radius:7px;color:var(--danger);padding:10px 12px}.patient-portal-body{min-height:100vh;position:relative;width:100%;z-index:0}.patient-portal-body:before{background:radial-gradient(circle,rgba(117,85,220,.14) 1px,transparent 1px) 0 0 /20px 20px,linear-gradient(135deg,rgba(217,195,254,.35),rgba(247,188,206,.32)),var(--bg);content:"";inset:0;position:fixed;z-index:-1}.patient-portal{display:grid;gap:20px;margin:0 auto;max-width:960px;padding:clamp(18px,4vw,44px)}.patient-hero{align-items:end;display:grid;gap:28px;grid-template-columns:260px minmax(0,1fr);min-height:180px}.patient-hero>div:last-child{display:grid;gap:10px}.patient-hero p:not(.eyebrow){color:var(--muted);line-height:1.5;max-width:680px}.patient-form-panel{padding:clamp(18px,3vw,26px)}.policy-download{align-items:center;background:var(--surface-rose);border:1px solid var(--line);border-radius:8px;display:flex;gap:16px;justify-content:space-between;margin-bottom:18px;padding:14px}.policy-download h3{font-size:16px;margin:3px 0 6px}.policy-download p:not(.eyebrow){color:var(--muted);line-height:1.45}.patient-booking-form{padding:0}.consent-box{align-items:flex-start;background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;display:flex;font-weight:600;gap:10px;padding:13px}.consent-box input{margin-top:3px;min-height:auto;width:auto}.inline-policy-link{color:var(--primary);font-weight:600;text-decoration:underline}.inline-policy-link:hover{color:var(--primary-hover)}.patient-result{border-color:var(--lavender)}.policy-page{margin:0 auto;max-width:960px;min-height:100vh;padding:clamp(16px,4vw,36px)}.policy-page-card{display:grid;gap:18px}.policy-lead{color:var(--muted);line-height:1.65;max-width:72ch}.policy-sections{display:grid;gap:18px}.policy-sections section{background:rgba(246,236,255,.48);border:1px solid var(--line);border-radius:18px;display:grid;gap:10px;padding:16px}.policy-sections h2{font-size:18px}.policy-sections p{color:var(--muted);line-height:1.6}.public-profile-shell{min-height:calc(100vh - 40px)}.public-profile,.public-profile-shell{display:grid;justify-items:center;width:100%}.public-profile{align-content:start;max-width:430px;padding:8px 14px 32px;position:relative;text-align:center;transition:filter .2s ease,opacity .2s ease}.public-profile.is-muted{filter:blur(4px);opacity:.55;pointer-events:none;-webkit-user-select:none;user-select:none}.public-avatar-wrap{height:112px;margin:4px 0 18px;position:relative;width:112px}.public-avatar{background:var(--surface-soft);border:5px solid #fff;border-radius:999px;box-shadow:0 0 0 4px var(--primary-50);display:grid;height:112px;object-fit:cover;place-items:center;width:112px}.public-avatar-fallback{color:var(--primary);font-size:30px;font-weight:600}.public-verified{align-items:center;background:var(--primary);border:4px solid var(--surface);border-radius:999px;bottom:-2px;box-shadow:var(--shadow-sm);color:#fff;display:inline-flex;font-size:15px;font-weight:600;height:34px;justify-content:center;position:absolute;right:-6px;width:34px}.public-profile h1{font-size:30px;letter-spacing:0;line-height:1.12;margin-bottom:8px}.public-description,.public-footnote,.public-subtitle{color:#8a8494}.public-subtitle{font-size:16px;margin-bottom:14px}.public-description{font-size:15px;line-height:1.55;max-width:340px}.public-tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:18px 0 26px}.public-tags span{background:var(--primary-50);border-radius:999px;color:var(--primary);font-size:13px;font-weight:700;line-height:1;min-height:30px;padding:9px 14px}.public-links{display:grid;gap:14px;width:100%}.public-link-card{align-items:center;border:1px solid var(--line);border-radius:var(--radius-lg);color:var(--ink);display:grid;gap:12px;grid-template-columns:32px 1fr auto;min-height:58px;padding:13px 16px;text-align:left;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.public-link-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.public-link-card.whatsapp{background:#edfaf4}.public-link-card.website{background:var(--primary-50)}.public-link-card.instagram{background:#fff0f8}.public-link-card.linkedin{background:#eef4ff}.public-link-icon{align-items:center;background:var(--surface);border-radius:var(--radius-sm);color:var(--primary);display:inline-flex;font-size:13px;font-weight:600;height:32px;justify-content:center;width:32px}.public-link-icon svg{height:20px;width:20px}.public-link-card.whatsapp .public-link-icon{color:#25d366}.public-link-card.instagram .public-link-icon{color:#e1306c}.public-link-card.linkedin .public-link-icon{color:#0a66c2}.public-link-card.website .public-link-icon{color:var(--primary)}.public-link-copy{display:grid;gap:2px}.public-link-copy small{color:#8a8494;font-size:12px;font-weight:600}.public-link-arrow{color:#8a8494;font-size:18px}.public-book-button{align-items:center;background:var(--primary);border:0;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);color:#fff;display:inline-flex;font-size:17px;font-weight:600;gap:10px;justify-content:center;margin-top:24px;min-height:60px;transition:background .15s,box-shadow .15s;width:100%}.public-book-button:hover:not(:disabled){background:var(--primary-600);box-shadow:var(--shadow-md)}.public-book-button:disabled{cursor:not-allowed;opacity:.55}.public-footnote{font-size:12px;margin-top:12px}.booking-overlay{align-items:center;background:rgba(36,34,42,.26);display:flex;inset:0;justify-content:center;padding:18px;position:fixed;z-index:100}.booking-modal{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);max-height:calc(100vh - 36px);max-width:520px;overflow:auto;padding:24px;width:min(100%,520px)}.booking-modal-top{align-items:center;color:var(--muted);display:grid;font-size:14px;font-weight:700;grid-template-columns:36px 1fr 36px;margin-bottom:18px}.booking-modal-top span{text-align:left}.booking-icon-button{align-items:center;background:transparent;border:0;color:var(--muted);display:inline-flex;font-size:30px;height:36px;justify-content:center;padding:0;width:36px}.booking-icon-button:disabled{opacity:.35}.booking-progress{background:var(--line);border-radius:999px;height:4px;margin-bottom:28px;overflow:hidden}.booking-progress span{background:var(--primary);border-radius:inherit;display:block;height:100%;transition:width .2s ease}.booking-step{display:grid;gap:10px}.booking-step h2{font-size:25px;line-height:1.15}.booking-step>p{color:#8a8494;line-height:1.4}.booking-step-content{display:grid;gap:13px;margin-top:14px}.booking-choice{align-items:center;background:var(--primary-50);border:1px solid var(--line);border-radius:var(--radius-lg);color:var(--ink);display:flex;gap:16px;min-height:92px;padding:18px 20px;text-align:left}.booking-choice.presencial{background:#e8f8f2;border-color:#d7efe7}.booking-choice.selected,.date-strip button.selected,.session-type-card.selected,.time-grid button.selected{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.booking-choice-icon{align-items:center;background:var(--surface);border-radius:var(--radius-md);color:var(--primary);display:inline-flex;flex:0 0 52px;font-weight:600;height:52px;justify-content:center;width:52px}.booking-choice strong,.session-type-card strong{display:block;font-size:16px}.booking-choice small{color:#8a8494;display:block;margin-top:5px}.booking-field-list,.confirm-list,.session-type-list{display:grid;gap:12px}.session-type-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);color:var(--ink);display:grid;gap:10px;min-height:84px;padding:18px;text-align:left}.session-type-card span{color:var(--muted)}.date-strip{display:grid;gap:8px;grid-template-columns:repeat(5,1fr)}.date-strip button,.time-grid button{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink);min-height:58px}.date-strip button.selected,.time-grid button.selected{background:var(--primary);color:#fff}.date-strip span{display:block;font-size:11px;font-weight:600;text-transform:uppercase}.date-strip strong{display:block;font-size:16px;margin-top:4px}.booking-section-label{color:#8a8494;font-size:12px;font-weight:600;letter-spacing:0;margin-top:8px;text-transform:uppercase}.time-grid{display:grid;gap:10px;grid-template-columns:repeat(3,1fr)}.booking-field-list label{color:var(--muted);font-size:13px;font-weight:600}.booking-consent{align-items:flex-start;background:var(--primary-50);border:1px solid var(--line);border-radius:var(--radius-md);display:flex;gap:10px;padding:12px}.booking-consent input{min-height:auto;width:auto}.booking-consent a{color:var(--primary);text-decoration:underline}.booking-primary,.booking-secondary{align-items:center;border-radius:var(--radius-md);display:inline-flex;font-weight:600;justify-content:center;min-height:54px;text-decoration:none;width:100%}.booking-primary{background:var(--primary);border:0;color:#fff;transition:background .15s}.booking-primary:hover:not(:disabled){background:var(--primary-600)}.booking-primary:disabled{cursor:not-allowed;opacity:.55}.booking-secondary{background:var(--surface);border:1px solid var(--line);color:var(--ink)}.confirm-professional{align-items:center;background:var(--primary-50);border:1px solid var(--line);border-radius:var(--radius-lg);display:flex;gap:14px;padding:14px}.confirm-professional img,.confirm-professional span{border-radius:999px;height:48px;object-fit:cover;width:48px}.confirm-professional span{align-items:center;background:var(--primary);color:#fff;display:inline-flex;font-weight:600;justify-content:center}.confirm-patient small,.confirm-professional small{color:#8a8494;display:block;margin-top:4px}.confirm-list article{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);display:grid;gap:5px;padding:14px 16px}.booking-success-details>span,.confirm-list span,.confirm-patient span{color:#8a8494;font-size:11px;font-weight:600;text-transform:uppercase}.confirm-patient{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-md);display:grid;gap:8px;padding:16px}.booking-success{display:grid;gap:18px;justify-items:center;padding:18px 4px 0;text-align:center}.booking-success-icon{align-items:center;background:var(--primary-50);border:12px solid var(--surface);border-radius:999px;color:var(--primary);display:inline-flex;font-size:32px;font-weight:600;height:84px;justify-content:center;width:84px}.booking-success p{color:#8a8494;line-height:1.55;max-width:340px}.booking-success-details{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-lg);display:grid;gap:14px;padding:18px;text-align:left;width:100%}.booking-success-details dl{display:grid;gap:10px;margin:0}.booking-success-details div{display:flex;justify-content:space-between}.booking-success-details dt{color:#8a8494}.booking-success-details dd{font-weight:600;margin:0}.message-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto;padding:14px}.integration-grid{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.integration-card{align-content:start;display:grid;gap:12px}.integration-card p:not(.eyebrow){color:var(--muted);line-height:1.5}.message-card h3{margin:8px 0 4px}.message-card textarea{margin-top:10px}.login-body{align-items:center;background:radial-gradient(circle at top left,rgba(217,195,254,.48),transparent 32%),radial-gradient(circle at bottom right,rgba(247,188,206,.34),transparent 28%),linear-gradient(135deg,rgba(217,195,254,.3),rgba(247,188,206,.26)),var(--bg);display:grid;min-height:100vh;padding:clamp(14px,4vw,28px)}.auth-shell{display:grid;gap:24px;grid-template-columns:minmax(0,.95fr) minmax(420px,.85fr);margin:0 auto;max-width:1320px;width:100%}.auth-card,.auth-hero{background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow-md)}.auth-hero{display:grid;gap:20px;min-height:min(760px,calc(100vh - 56px));padding:clamp(24px,5vw,44px)}.auth-media-card,.register-media-card{border-radius:26px;min-height:420px;overflow:hidden;position:relative}.auth-hero-image,.register-hero-image{display:block;height:100%;object-fit:cover;object-position:center;width:100%}.auth-media-card:after,.register-media-card:after{background:linear-gradient(180deg,rgba(37,20,43,.08),rgba(37,20,43,.18) 45%,rgba(37,20,43,.46));content:"";inset:0;position:absolute}.auth-media-overlay,.register-media-overlay{color:#fff;display:grid;gap:10px;left:20px;position:absolute;right:20px;top:20px;z-index:2}.auth-media-overlay .auth-wordmark p,.auth-media-overlay .brand-subtitle,.register-media-overlay .auth-wordmark p,.register-media-overlay .brand-subtitle{color:rgba(255,255,255,.82)}.auth-floating-note,.register-floating-note{background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.58);border-radius:20px;bottom:18px;box-shadow:var(--shadow-md);color:var(--ink);display:grid;gap:6px;left:20px;max-width:320px;padding:14px 16px;position:absolute;z-index:2}.auth-floating-note span,.register-floating-note span{color:var(--muted);font-size:13px;line-height:1.5}.auth-brand{margin-top:4px}.auth-wordmark{display:grid;gap:4px}.auth-wordmark p{color:var(--muted);letter-spacing:0;margin:0;text-transform:uppercase}.auth-badge,.auth-wordmark p{font-size:12px;font-weight:600}.auth-badge{align-items:center;background:rgba(87,21,99,.08);border:1px solid rgba(87,21,99,.12);border-radius:999px;color:var(--primary);display:inline-flex;justify-content:center;min-height:34px;padding:0 14px;width:fit-content}.auth-hero h1{font-size:clamp(34px,5vw,58px);line-height:1.02;max-width:11ch}.auth-copy{color:var(--muted);font-size:16px;line-height:1.65;max-width:58ch}.auth-highlight-list{display:grid;gap:14px;margin-top:auto}.auth-highlight-list article{background:rgba(246,236,255,.72);border:1px solid rgba(231,221,234,.95);border-radius:18px;display:grid;gap:6px;padding:16px}.auth-highlight-list span{color:var(--muted);font-size:14px;line-height:1.5}.auth-card{display:grid;align-content:center}.auth-card-header{align-items:center;display:flex;gap:12px;justify-content:space-between}.auth-pill-row{display:flex;flex-wrap:wrap;gap:8px}.register-photo-preview,.settings-photo-preview{align-items:center;background:var(--surface-soft);border:1px dashed var(--line);border-radius:8px;display:flex;justify-content:center;margin-top:10px;min-height:120px;overflow:hidden;padding:10px}.register-photo-preview span,.settings-photo-preview span{color:var(--muted);font-size:13px;text-align:center}.register-photo-preview img,.settings-photo-preview img{border-radius:10px;display:block;height:120px;object-fit:cover;width:120px}.login-card{display:grid;gap:22px;margin:0 auto;max-width:520px;padding:28px;width:100%}.login-footer-actions{display:grid;gap:10px}.register-body{background:radial-gradient(circle at top right,rgba(217,195,254,.5),transparent 32%),radial-gradient(circle at bottom left,rgba(247,188,206,.45),transparent 34%),linear-gradient(135deg,#fbf7fd,#f8f0ff);min-height:100vh;padding:clamp(16px,4vw,32px)}.register-shell{align-items:start;display:grid;gap:24px;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);margin:0 auto;max-width:1280px}.register-card,.register-hero{background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow-md)}.register-hero{display:grid;gap:22px;min-height:calc(100vh - 64px);padding:clamp(24px,5vw,48px);position:sticky;top:16px}.register-badge{align-items:center;background:rgba(87,21,99,.08);border:1px solid rgba(87,21,99,.12);border-radius:999px;color:var(--primary);display:inline-flex;font-size:12px;font-weight:600;justify-content:center;min-height:34px;padding:0 14px;width:fit-content}.register-hero h1{font-size:clamp(34px,5vw,56px);line-height:1.02;max-width:10ch}.register-hero p{color:var(--muted);font-size:16px;line-height:1.6;max-width:60ch}.register-benefits{display:grid;gap:14px;margin-top:auto}.register-benefits article{background:rgba(246,236,255,.72);border:1px solid rgba(231,221,234,.95);border-radius:18px;display:grid;gap:6px;padding:16px}.register-benefits strong{font-size:15px}.register-benefits span{color:var(--muted);font-size:14px;line-height:1.5}.register-card{display:grid;gap:20px;padding:clamp(18px,3vw,28px)}.register-card-header{align-items:center;display:flex;gap:12px;justify-content:space-between}.register-form{display:grid;gap:18px;padding:0}.register-submit-bar{align-items:center;background:linear-gradient(135deg,rgba(246,236,255,.92),rgba(255,240,245,.92));border:1px solid var(--line);border-radius:18px;display:flex;gap:16px;justify-content:space-between;padding:16px}.register-submit-bar p{color:var(--muted);font-size:14px;line-height:1.5;max-width:54ch}.register-submit-button{flex:0 0 auto;min-height:46px;padding-inline:18px}.register-success-card{background:linear-gradient(135deg,rgba(236,253,243,.92),rgba(246,236,255,.88));border:1px solid rgba(167,243,208,.8);border-radius:20px;display:grid;gap:14px;padding:18px}.register-link-grid,.register-links{display:grid;gap:12px}.register-links{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.register-link-grid{grid-template-columns:1fr}@media (max-width:980px){.app-shell{grid-template-columns:1fr;padding:12px}.sidebar{border-right:none;border-bottom:1px solid var(--line);height:auto;overflow-y:visible;padding:0;position:sticky;top:0;z-index:20}.brand-shell{border-bottom:none;padding:12px 14px 8px}.nav{display:none}.workspace-footer{border-top:1px solid var(--line);display:flex;gap:0;padding:10px 14px}.workspace-user{display:none}.workspace-footer-actions{display:flex;flex-direction:row;gap:12px}.action-button,.icon-button,.primary-button,.secondary-button{min-height:44px}input,select,textarea{font-size:16px;min-height:44px}.clinical-summary-grid,.integration-grid,.legal-docs,.metric-grid,.metric-grid.compact,.patient-hero,.patient-layout,.quick-start-grid,.schedule-block,.stats-grid,.toolbar,.two-column{grid-template-columns:1fr}.legal-hero{align-items:flex-start;flex-direction:column}.main{padding:0 16px calc(72px + env(safe-area-inset-bottom))}.topbar{align-items:stretch;flex-direction:column;position:static}.topbar-actions{flex-wrap:wrap}.topbar-actions>*{flex:1 1 180px}.toolbar{padding:12px}.login-card,.metric,.panel{padding-left:16px;padding-right:16px}.panel-header{align-items:flex-start;flex-direction:column}.patient-hero{align-items:start;min-height:auto}.patient-portal{padding:18px 14px 30px}.policy-download{align-items:stretch;flex-direction:column}.policy-download .secondary-button{width:100%}.quick-card{min-height:auto}.brand-subtitle{line-height:1.35}.auth-shell,.register-shell{grid-template-columns:1fr}.auth-hero{min-height:auto}.auth-media-card,.register-media-card{min-height:360px}.register-hero{min-height:auto;position:static}.register-hero h1{max-width:14ch}.register-card-header,.register-submit-bar{align-items:stretch;flex-direction:column}}@media (max-width:768px){.table-wrap{overflow:visible}.table-wrap table{min-width:0;width:100%}.table-wrap thead{display:none}.table-wrap tbody{display:grid;gap:10px}.table-wrap tr{border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:grid;padding:12px 14px}.table-wrap tr,.table-wrap tr:hover{background:var(--surface)}.table-wrap td{align-items:baseline;border-bottom:0;display:flex;gap:8px;padding:5px 0}.table-wrap td[data-label]:before{color:var(--muted);content:attr(data-label);flex:0 0 84px;font-size:11px;font-weight:600;text-transform:uppercase}.table-wrap td[data-label=Acciones]{flex-direction:column;gap:6px}.table-wrap td[data-label=Acciones]:before{flex:none}}@media (max-width:560px){.auth-card-header,.message-card,.modal-actions,.policy-download,.stack-item,.topbar,.topbar-actions,.topbar-main-actions{align-items:stretch;flex-direction:column}.detail-grid,.detail-panel dl,.form-grid{grid-template-columns:1fr}h1{font-size:24px}h2{font-size:18px}.sidebar{padding:0}.brand-shell{padding:10px 12px 8px}.nav{padding:4px 12px 6px}.brand{align-items:flex-start}.brand-mark{height:40px;width:40px}.topbar-actions>*{flex:1 1 100%;width:100%}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.clinical-board,.clinical-summary-grid,.integration-grid,.legal-docs,.metric-grid.compact,.quick-start-grid,.stats-grid{grid-template-columns:1fr}.clinical-column{min-height:auto}.metric span{font-size:26px}.export-modal,.login-card,.metric,.panel,.patient-form-panel,form{padding:14px}.flow-list p,.notice-list p,.patient-card,.schedule-builder,.session-type-builder,.settings-intro,.stack-item,.timeline-item,.toolbar{padding:12px}.action-group,.button-row,.patient-card-footer,.patient-next-steps{flex-direction:column}.action-group>*,.button-row>*,.patient-next-steps>*{width:100%}.schedule-block,.session-type-builder-item{grid-template-columns:1fr}dialog{border-radius:0;height:100dvh;margin:0;max-width:none;width:100vw}.modal-header{align-items:flex-start;gap:12px}.link-as-button,.patient-result .link-as-button,.primary-button,.secondary-button{justify-content:center}.register-body{padding:10px}.register-card,.register-hero{border-radius:20px;padding:16px}.register-hero h1{font-size:32px;max-width:none}.register-links{grid-template-columns:1fr}.register-submit-button{width:100%}.auth-card,.auth-hero{border-radius:22px}.auth-hero h1{font-size:34px;max-width:none}.auth-media-card,.register-media-card{min-height:300px}.auth-floating-note,.auth-media-overlay,.register-floating-note,.register-media-overlay{left:14px;right:14px}.auth-floating-note,.register-floating-note{bottom:14px;max-width:none}.booking-overlay{align-items:flex-end;padding:12px}.booking-modal{border-radius:24px;max-height:calc(100vh - 24px);padding:20px}.date-strip{grid-template-columns:repeat(4,1fr)}.time-grid{grid-template-columns:repeat(2,1fr)}.public-profile{padding-inline:6px}}@media (max-width:420px){.main{padding:14px 12px 24px}.metric-grid{grid-template-columns:1fr}.nav button{min-width:124px;padding:9px 10px}.patient-portal{padding-inline:10px}.consent-box{padding:11px}input,select,textarea{font-size:16px;min-height:44px}}.prof-container{max-width:1200px;margin:0 auto;padding:clamp(24px,5vw,64px) 20px;display:flex;flex-direction:column;gap:32px;animation:fadeIn .8s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.prof-hero-section{text-align:center;background:linear-gradient(135deg,rgba(87,21,99,.08) 0,rgba(247,188,206,.08) 50%,rgba(217,195,254,.08) 100%),var(--surface);border:1px solid var(--line);border-radius:24px;padding:clamp(32px,6vw,64px) 24px;box-shadow:var(--shadow);position:relative;overflow:hidden}.prof-hero-section:before{top:-100px;right:-100px;width:300px;height:300px;background:radial-gradient(circle,rgba(217,195,254,.4) 0,rgba(255,255,255,0) 70%);filter:blur(40px)}.prof-hero-section:after,.prof-hero-section:before{content:"";position:absolute;border-radius:50%;z-index:0;pointer-events:none}.prof-hero-section:after{bottom:-150px;left:-150px;width:400px;height:400px;background:radial-gradient(circle,rgba(247,188,206,.4) 0,rgba(255,255,255,0) 70%);filter:blur(50px)}.prof-hero-content{position:relative;z-index:1;max-width:700px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.prof-hero-title{font-size:clamp(32px,5vw,48px);font-weight:600;line-height:1.15;background:linear-gradient(135deg,var(--primary) 0,#a11882 50%,var(--teal) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin:0}.prof-hero-subtitle{color:var(--muted);font-size:clamp(16px,2vw,18px);line-height:1.6;margin:0}.prof-search-filter-bar{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:var(--shadow-sm);display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:16px;align-items:end;z-index:10}@media (max-width:900px){.prof-search-filter-bar{grid-template-columns:1fr 1fr}}@media (max-width:600px){.prof-search-filter-bar{grid-template-columns:1fr}}.prof-filter-group{display:flex;flex-direction:column;gap:8px}.prof-filter-label{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.prof-input-styled{background:var(--bg);border:1px solid var(--line);border-radius:12px;font-size:14px;padding:12px 16px;min-height:48px;color:var(--ink);transition:all .25s ease}.prof-input-styled:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px rgba(87,21,99,.12);background:#fff}.prof-select-styled{background:var(--bg);border:1px solid var(--line);border-radius:12px;font-size:14px;padding:12px 16px;min-height:48px;color:var(--ink);cursor:pointer;transition:all .25s ease}.prof-select-styled:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px rgba(87,21,99,.12);background:#fff}.prof-grid-section{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:28px}.prof-card-item{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:space-between;gap:20px;position:relative;transition:all .35s cubic-bezier(.4,0,.2,1);overflow:hidden}.prof-card-item:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,var(--primary) 0,var(--rose) 50%,var(--teal) 100%);opacity:0;transition:opacity .3s ease}.prof-card-item:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--primary-50)}.prof-card-item:hover:before{opacity:1}.prof-card-header{display:flex;align-items:center;gap:16px}.prof-avatar-gradient{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--primary) 0,var(--lavender) 100%);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:22px;box-shadow:var(--shadow-sm);border:2px solid #fff;flex-shrink:0;transition:transform .3s ease}.prof-card-item:hover .prof-avatar-gradient{transform:scale(1.08) rotate(3deg);background:linear-gradient(135deg,#a11882 0,var(--rose) 100%)}.prof-meta-info{display:flex;flex-direction:column;gap:4px;min-width:0}.prof-card-title{font-size:18px;font-weight:600;color:var(--ink);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prof-card-specialty{font-size:13px;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:.5px}.prof-card-city{font-size:13px;color:var(--muted);display:flex;align-items:center;gap:4px}.prof-card-description{font-size:14px;line-height:1.5;color:var(--muted);margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;height:63px}.prof-card-badges{display:flex;flex-wrap:wrap;gap:8px}.prof-badge-pill{font-size:11px;font-weight:600;padding:6px 12px;border-radius:999px;text-transform:uppercase}.prof-badge-pill.modality-online{background:#eff6ff;color:#1d4ed8;border:1px solid #dbeafe}.prof-badge-pill.modality-presencial{background:#ecfdf5;color:#047857;border:1px solid #d1fae5}.prof-badge-pill.modality-both{background:var(--primary-50);color:var(--primary);border:1px solid var(--line)}.prof-badge-pill.price{background:#fff8e6;color:#b25e00;border:1px solid #ffecc2}.prof-card-footer{border-top:1px solid var(--line);padding-top:18px;display:flex;align-items:center;justify-content:space-between;gap:12px}.prof-price-display{display:flex;flex-direction:column}.prof-price-label{font-size:11px;text-transform:uppercase;color:var(--muted);font-weight:600;letter-spacing:.5px}.prof-price-amount{font-size:20px;font-weight:800;color:var(--ink)}.prof-action-btn{background:var(--primary);color:#fff;border:none;border-radius:12px;padding:10px 18px;font-weight:600;font-size:14px;cursor:pointer;display:flex;align-items:center;gap:8px;text-decoration:none;box-shadow:var(--shadow-sm);transition:all .25s ease}.prof-action-btn:hover{background:var(--primary-hover);transform:translateX(3px);box-shadow:var(--shadow-md)}.prof-action-btn span{transition:transform .2s ease}.prof-action-btn:hover span{transform:translateX(2px)}.prof-empty-state{text-align:center;padding:64px 32px;background:var(--surface);border:1px dashed var(--line);border-radius:24px;grid-column:1/-1;display:flex;flex-direction:column;align-items:center;gap:16px;animation:fadeIn .5s ease-out}.prof-empty-icon{font-size:48px;color:var(--muted);opacity:.5}.prof-empty-title{font-size:20px;font-weight:600;color:var(--ink);margin:0}.prof-empty-text{color:var(--muted);font-size:14px;max-width:400px;margin:0;line-height:1.5}.prof-empty-reset-btn{background:transparent;border:1px solid var(--primary);color:var(--primary);border-radius:10px;padding:8px 16px;font-weight:600;font-size:13px;transition:all .2s ease}.prof-empty-reset-btn:hover{background:var(--surface-soft);color:var(--primary-hover)}.notes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.note-card{border-radius:12px;padding:16px;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.07);transition:transform .15s,box-shadow .15s;display:flex;flex-direction:column;gap:8px;min-height:140px;border:none;text-align:left;outline:none}.note-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.13)}.note-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.note-card-title{font-size:14px;font-weight:600;color:var(--ink);flex:1 1;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.note-card-delete{background:none;border:none;cursor:pointer;color:rgba(0,0,0,.3);font-size:20px;line-height:1;padding:0 4px;border-radius:4px;flex-shrink:0;transition:color .15s,background .15s}.note-card-delete:hover{color:var(--danger);background:rgba(180,35,24,.1)}.note-card-preview{font-size:13px;color:var(--ink);opacity:.72;flex:1 1;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0}.note-card-date{font-size:11px;color:var(--muted);margin-top:auto}#noteDialog{border:none;border-radius:16px;padding:0;max-width:560px;width:calc(100vw - 48px);box-shadow:0 24px 64px rgba(0,0,0,.2)}#noteDialog::backdrop{background:rgba(0,0,0,.35)}.note-dialog-inner{padding:24px;border-radius:16px;display:flex;flex-direction:column;gap:14px;background:#FFF9C4;transition:background .2s}.note-dialog-top{display:flex;justify-content:space-between;align-items:center}.note-dialog-title{margin:0;font-size:18px;font-weight:700;color:var(--ink)}.note-color-picker-row{display:flex;align-items:center;gap:10px}.note-color-label{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.note-color-dots{display:flex;gap:8px;flex-wrap:wrap}.note-color-dot{width:22px;height:22px;border-radius:50%;border:2.5px solid transparent;cursor:pointer;padding:0;transition:transform .15s,border-color .15s}.note-color-dot:hover{transform:scale(1.2)}.note-color-dot.active{border-color:var(--primary);transform:scale(1.15)}.note-title-input{width:100%;background:transparent;font-size:16px;font-weight:600;color:var(--ink);padding:4px 0;outline:none;border:none;border-bottom:1px solid rgba(0,0,0,.14);font-family:inherit}.note-title-input::placeholder{color:var(--muted);font-weight:400}.note-format-bar{display:flex;gap:6px;flex-wrap:wrap}.note-format-btn{background:rgba(0,0,0,.07);border:none;border-radius:6px;padding:4px 10px;cursor:pointer;font-size:13px;color:var(--ink);transition:background .15s;font-family:inherit}.note-format-btn:hover{background:rgba(0,0,0,.14)}.note-content-area{min-height:140px;max-height:320px;overflow-y:auto;outline:none;font-size:14px;line-height:1.65;color:var(--ink);padding:6px 2px;border-bottom:1px solid rgba(0,0,0,.1);word-break:break-word}.note-content-area:empty:before{content:attr(data-placeholder);color:var(--muted);pointer-events:none;display:block}@media (max-width:600px){.notes-grid{grid-template-columns:1fr 1fr}.note-card{min-height:120px}}@media (max-width:980px){.mobile-tabbar{background:var(--surface);border-top:1px solid var(--line);bottom:0;box-shadow:0 -2px 12px rgba(16,24,40,.07);display:grid;grid-template-columns:repeat(5,1fr);left:0;padding-bottom:env(safe-area-inset-bottom);position:fixed;right:0;z-index:50}.mobile-tabbar button{align-items:center;background:transparent;border:0;color:var(--muted);display:flex;flex-direction:column;font-size:11px;font-weight:500;gap:3px;justify-content:center;min-height:56px;padding:6px 4px;transition:color .15s;width:100%}.mobile-tabbar button.active{color:var(--primary)}.mobile-tabbar button svg{flex-shrink:0}.more-sheet-overlay{background:rgba(16,24,40,.4);display:block;inset:0;opacity:0;pointer-events:none;position:fixed;transition:opacity .25s ease;z-index:60}.more-sheet-overlay.open{opacity:1;pointer-events:auto}.more-sheet{background:var(--surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;bottom:0;box-shadow:var(--shadow-md);display:block;left:0;padding-bottom:env(safe-area-inset-bottom);position:fixed;right:0;transform:translateY(100%);transition:transform .28s cubic-bezier(.4,0,.2,1);z-index:61}.more-sheet.open{transform:translateY(0)}.more-sheet-header{align-items:center;display:flex;justify-content:space-between;padding:12px 16px 8px}.more-sheet-handle{background:var(--line);border-radius:999px;height:4px;margin:0 auto;width:36px}.more-sheet-close{align-items:center;background:var(--bg);border:0;border-radius:var(--radius-sm);color:var(--muted);display:inline-flex;height:32px;justify-content:center;padding:0;width:32px}.more-sheet-nav{display:grid;gap:2px;padding:4px 12px 16px}.more-sheet-nav button{align-items:center;background:transparent;border:0;border-radius:var(--radius-md);color:var(--ink-700);display:flex;font-size:15px;font-weight:500;gap:14px;min-height:52px;padding:0 14px;text-align:left;transition:background .12s,color .12s;width:100%}.more-sheet-nav button.active,.more-sheet-nav button:hover{background:var(--primary-50);color:var(--primary)}.more-sheet-nav button svg{flex-shrink:0}}.admin-body{min-height:100vh;background:var(--bg);padding:var(--space-7) var(--space-5)}.admin-shell{max-width:1120px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-6)}.admin-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-5);flex-wrap:wrap}.admin-topbar h1{margin:var(--space-1) 0;font-size:1.6rem;color:var(--ink-900)}.admin-subtitle{color:var(--ink-500);font-size:.9rem;max-width:52ch}.admin-topbar-actions{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.admin-user-pill{background:var(--primary-50);padding:var(--space-1) var(--space-3);border-radius:999px;font-size:.82rem}.admin-nav-link,.admin-user-pill{color:var(--primary);font-weight:600}.admin-nav-link{text-decoration:none;font-size:.9rem}.admin-nav-link:hover{text-decoration:underline}.admin-logout{color:var(--ink-500);font-size:.9rem;text-decoration:none}.admin-logout:hover{color:var(--danger)}.admin-metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4)}.admin-metric{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm)}.admin-metric span{display:block;font-size:2rem;font-weight:700;color:var(--ink-900)}.admin-metric p{margin:var(--space-1) 0 0;color:var(--ink-500);font-size:.88rem}.admin-two-column{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-4)}.admin-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm)}.admin-panel h2{margin:0 0 var(--space-4);font-size:1.1rem;color:var(--ink-900)}.admin-stat-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.admin-stat-list li{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) 0;border-bottom:1px solid var(--line)}.admin-stat-list li:last-child{border-bottom:none}.admin-stat-list span{color:var(--ink-500)}.admin-stat-list strong{color:var(--ink-900)}.admin-audit-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.admin-audit-list li{display:flex;flex-direction:column;gap:2px;padding-bottom:var(--space-3);border-bottom:1px solid var(--line)}.admin-audit-list li:last-child{border-bottom:none}.admin-audit-list strong{color:var(--ink-900);font-size:.92rem}.admin-audit-list span{color:var(--ink-500);font-size:.85rem}.admin-audit-list small{color:var(--ink-500);font-size:.78rem}.admin-empty{color:var(--ink-500);font-size:.9rem}.admin-helper{color:var(--ink-500);font-size:.85rem;margin:calc(var(--space-3) * -1) 0 var(--space-4)}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:.9rem}.admin-table td,.admin-table th{text-align:left;padding:var(--space-3);border-bottom:1px solid var(--line);white-space:nowrap}.admin-table th{color:var(--ink-500);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.02em}.admin-table td{color:var(--ink-900)}.admin-contact{display:flex;flex-direction:column}.admin-contact small{color:var(--ink-500)}.admin-login-body{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:var(--space-5)}.admin-login-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:var(--space-8);width:100%;max-width:420px}.admin-login-card h1{margin:var(--space-1) 0 var(--space-3);font-size:1.5rem;color:var(--ink-900)}.admin-login-copy{color:var(--ink-500);font-size:.9rem;margin-bottom:var(--space-5)}.admin-login-card form{display:flex;flex-direction:column;gap:var(--space-4)}.admin-login-card label{display:flex;flex-direction:column;gap:var(--space-2);font-size:.88rem;color:var(--ink-700)}.admin-login-card input{border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-3);font-size:.95rem}.admin-login-card input:focus{outline:none;border-color:var(--primary)}.admin-push-form{display:flex;flex-direction:column;gap:var(--space-4);max-width:560px}.admin-push-form label{display:flex;flex-direction:column;gap:var(--space-2);font-size:.88rem;color:var(--ink-700)}.admin-push-form input,.admin-push-form select,.admin-push-form textarea{border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-3);font-size:.95rem;font-family:inherit;resize:vertical}.admin-push-form input:focus,.admin-push-form select:focus,.admin-push-form textarea:focus{outline:none;border-color:var(--primary)}.admin-checkbox{flex-direction:row!important;align-items:center}.admin-checkbox input{width:18px;height:18px}.admin-list-block{margin-top:var(--space-6)}.admin-list-block h3{margin:0 0 var(--space-3);color:var(--ink-900);font-size:.95rem}.admin-inline-button{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--primary);cursor:pointer;font:inherit;font-weight:700;padding:var(--space-2) var(--space-3)}.admin-inline-button:disabled{cursor:not-allowed;color:var(--ink-500);opacity:.65}.admin-char-count{align-self:flex-end;color:var(--ink-500);font-size:.75rem}.admin-success{color:var(--success);font-size:.9rem;font-weight:600}