:root{--primary:#8B6BF2;--primary-dark:#7857E0;--primary-600:#7857E0;--primary-50:#F0EAFF;--primary-soft:#B9A0FC;--impact-ink:#090418;--ink-900:#241633;--ink-700:#463857;--ink-500:#74677F;--line:#E8DDFC;--surface:#FFFFFF;--bg:#FAF7FF;--lavender:#F0EAFF;--mint:#E7F7F0;--success:#047857;--success-bg:#D1FAE5;--warning:#92400E;--warning-bg:#FEF3C7;--danger:#B91C1C;--danger-bg:#FEE2E2;--info:#0369A1;--info-bg:#E0F2FE;--neutral:#64748B;--neutral-bg:#F1F5F9;--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:10px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--shadow-sm:0 2px 10px rgba(36,22,51,0.04);--shadow-md:0 4px 20px rgba(185,160,252,0.10);--shadow-nav:0 8px 28px rgba(185,160,252,0.15),0 2px 6px rgba(0,0,0,0.035);--surface-soft:var(--lavender);--surface-rose:#fff0f5;--ink:var(--ink-900);--muted:var(--ink-500);--primary-hover:var(--primary-dark);--rose:#f7bcce;--teal:var(--success);--amber:var(--warning);--shadow:var(--shadow-md);font-family:var(--font-inter),system-ui,sans-serif}*{box-sizing:border-box}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:var(--ink);font-family:var(--font-inter),system-ui,sans-serif;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%}.impact-title{font-family:var(--font-inter),system-ui,sans-serif;color:var(--impact-ink);font-weight:700;letter-spacing:0}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}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.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}.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;justify-content:flex-end}.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{color:var(--impact-ink);display:block;font-family:var(--font-inter),system-ui,sans-serif;font-size:30px;font-weight:700;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}.home-action-grid{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr));margin:14px 0}.home-action-card{border:1px solid var(--line);border-radius:var(--radius-lg);color:var(--ink);display:grid;gap:6px;min-height:116px;padding:14px;text-align:left}.home-action-card svg{color:var(--primary-dark)}.home-action-card strong{font-size:14px;font-weight:900}.home-action-card span{color:var(--muted);font-size:12px;font-weight:700;line-height:1.35}.home-action-card--lavender{background:var(--lavender)}.home-action-card--warm{background:#fff1e7}.home-action-card--rose{background:#ffeaf3}.home-action-card--note{background:#fff9c4}.info-row-list{display:grid;gap:12px}.info-row{align-items:center;display:grid;gap:10px;grid-template-columns:22px minmax(0,1fr) auto}.info-row svg{color:var(--primary-dark)}.info-row span{color:var(--muted);font-size:13px;font-weight:800}.info-row strong{color:var(--ink);font-size:14px;font-weight:900;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.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}.settings-summary-list{display:grid;gap:12px}.settings-summary-card{display:grid;gap:14px}.settings-summary-card .info-row{grid-template-columns:minmax(0,1fr) auto}.settings-summary-card .info-row strong{max-width:360px}.settings-summary-body{display:grid;gap:10px}.settings-summary-row{align-items:center;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-md);display:grid;gap:8px;grid-template-columns:minmax(120px,.8fr) minmax(0,1.4fr) auto;padding:12px}.settings-summary-row strong{color:var(--ink);font-weight:900}.settings-summary-row span{color:var(--muted);font-size:13px;font-weight:800;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-hero{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:12px}.editor-hero h2{font-size:24px;font-weight:900}.editor-hero p:not(.eyebrow){color:var(--muted);font-size:14px;font-weight:700;margin-top:4px}.editor-panel{display:grid;gap:16px}.settings-address-preview{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-lg);display:grid;gap:12px;padding:14px}.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.Pausado,.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)}.patients-head{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.patients-head h2{font-size:26px;font-weight:900}.patients-head p{color:var(--muted);font-size:13px;font-weight:700;margin-top:2px}.patient-search-field{display:block;margin-bottom:10px}.patient-filter-chips{display:flex;gap:8px;margin-bottom:12px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.patient-filter-chips::-webkit-scrollbar{display:none}.patient-card{display:grid;gap:14px}.patient-card-list{gap:8px}.patient-tile{border-radius:var(--radius-lg);padding:12px}.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;min-width:0}.patient-card-meta small,.patient-card-meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patient-card-meta strong{font-size:15px}.patient-card-header .status{flex:0 0 auto}.patient-meta-row{display:flex;flex-wrap:wrap;gap:6px}.patient-meta-chip{align-items:center;background:var(--bg);border-radius:var(--radius-sm);color:var(--muted);display:inline-flex;font-size:12px;font-weight:800;min-height:28px;padding:5px 8px}.patient-meta-chip.accent{background:var(--lavender);color:var(--primary-dark)}.patient-action-row{display:grid;gap:6px;grid-template-columns:repeat(3,minmax(0,1fr))}.patient-action-row .action-button,.patient-action-row .primary-button{font-size:12px;justify-content:center;min-width:0;padding-left:8px;padding-right:8px;white-space:nowrap}.patient-empty{margin-top:6px}.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)}.compact-metric{padding:14px 16px}.compact-metric span{font-size:24px}.clinical-section-head{align-items:flex-end}.payments-money-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:12px}.money-card{border:1px solid rgba(255,255,255,.85);border-radius:22px;display:grid;gap:8px;min-height:104px;padding:16px}.money-card--paid{background:#e2f8ed}.money-card--pending{background:#fff1e7}.money-card span{color:var(--muted);font-size:12px;font-weight:900}.money-card strong{color:var(--ink);font-size:22px;font-weight:900;line-height:1.1}.payments-panel{display:grid;gap:2px}.payment-movement-list{display:grid;gap:12px}.payment-row{align-items:center;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto auto;padding-bottom:12px}.payment-row:not(:last-child){border-bottom:1px solid var(--line)}.payment-row-main{display:grid;gap:2px;min-width:0}.payment-row-main span,.payment-row-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.payment-row-amount,.payment-row-main strong{color:var(--ink);font-weight:900}.payment-row-main span{color:var(--muted);font-size:12px;font-weight:700}.payment-empty{padding:18px 0}@media (max-width:680px){.payments-money-grid{grid-template-columns:1fr}.payment-row{align-items:start;grid-template-columns:minmax(0,1fr) auto}.payment-row .status{grid-column:1/-1;width:fit-content}}.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}.empty-state:before{background:url(/mascot/avatars/E11.png) 50%/cover no-repeat;content:"";display:block;height:96px;margin-bottom:4px;width:96px}.mascot-state{align-items:center;color:var(--muted);display:flex;flex-direction:column;gap:6px;padding:28px 18px;text-align:center}.mascot-state-img{aspect-ratio:1;display:block;height:116px;object-fit:cover;width:116px}.mascot-state strong{color:var(--ink);font-size:15px;font-weight:900}.mascot-state span{color:var(--muted);font-size:13px;font-weight:600;max-width:38ch}.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%;display:none;flex-shrink:0;height:8px;width:8px}.toast:before{aspect-ratio:1;background:url(/mascot/avatars/E14.png) 50%/cover no-repeat;border-radius:10px;content:"";flex:0 0 auto;height:34px;width:34px}.toast--success:before{background-image:url(/mascot/avatars/E8.png)}.toast--warning:before{background-image:url(/mascot/avatars/E10.png)}.toast--danger:before{background-image:url(/mascot/avatars/E7.png)}.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}#recordDialog{max-width:520px;width:min(calc(100vw - 28px),520px)}.report-screen{padding-bottom:96px}.report-screen-inner{display:grid;gap:14px}.report-screen-top{align-items:flex-start;display:grid;gap:16px}.report-back-button{justify-self:start}.report-back-button svg{height:16px;width:16px}.report-screen-grid{align-items:start;display:grid;gap:16px;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr)}.report-duplicate,.report-privacy-note{background:var(--primary-50);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink-700);font-size:13px;font-weight:600;line-height:1.45;margin:0;padding:12px}.report-form{display:grid;gap:14px;padding:18px}.report-form label{display:grid;gap:8px}.optional-label{color:var(--muted);font-size:12px;font-weight:600}.report-severity{border:0;display:grid;gap:8px;margin:0;padding:0}.report-severity legend{color:var(--ink);font-weight:700;margin-bottom:2px}.report-severity label{display:inline-flex}.report-severity input{position:absolute;opacity:0}.report-severity span{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink-700);cursor:pointer;display:inline-flex;font-weight:700;justify-content:center;min-height:38px;padding:9px 12px;width:100%}.report-severity input:checked+span{background:var(--primary);border-color:var(--primary);color:#fff}.report-contact-toggle{align-items:center;display:flex!important;gap:10px!important}.report-contact-toggle input{height:18px;width:18px}.report-history-panel{display:grid;gap:10px;padding:18px}.report-history-panel .panel-header{padding:0}.report-history-panel h3{margin:0}.report-history-list{display:grid;gap:8px}.report-history-item{align-items:center;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-md);display:flex;gap:12px;justify-content:space-between;padding:12px}.report-history-item div{display:grid;gap:3px;min-width:0}.report-history-item span,.report-history-item strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-history-item span{color:var(--muted);font-size:12px;font-weight:600}.report-status{border-radius:999px;flex:0 0 auto;font-size:12px;font-style:normal;font-weight:800;padding:6px 9px}.report-status--sent{background:var(--success-bg);color:var(--success)}.report-status--failed{background:var(--danger-bg);color:var(--danger)}.report-status--pending{background:var(--warning-bg);color:var(--warning)}@media (max-width:900px){.report-screen-grid{grid-template-columns:1fr}}.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}.professional-login-body{align-items:center;background:linear-gradient(135deg,rgba(255,247,251,.98),rgba(243,238,255,.94),rgba(255,255,255,.98));color:var(--ink);display:flex;justify-content:center;min-height:100vh;padding:36px 22px}.professional-login-shell{display:grid;gap:30px;max-width:460px;width:100%}.professional-login-brand{align-items:center;display:flex;gap:14px;justify-content:center;text-align:left}.professional-login-brand p{color:var(--ink);font-size:28px;font-weight:900;line-height:1}.professional-login-brand span{color:var(--muted);display:block;font-size:14px;font-weight:600;line-height:1.35;margin-top:8px;text-align:center}.professional-login-mark{align-items:center;background:#fff;border-radius:18px;box-shadow:0 14px 24px rgba(139,107,242,.2);display:inline-flex;flex:0 0 54px;height:54px;justify-content:center;overflow:hidden;width:54px}.professional-login-mark img{display:block;height:54px;object-fit:cover;width:54px}.professional-login-card{background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:0 22px 38px rgba(139,107,242,.08);display:grid;gap:8px;padding:26px}.professional-login-card h1{color:var(--ink);font-size:23px;font-weight:900;line-height:1.15}.professional-login-note,.professional-login-subtitle{color:var(--muted);font-size:14px;line-height:1.45}.professional-login-content{display:grid;gap:18px;margin-top:18px}.professional-login-promise{background:rgba(139,107,242,.08);border:1px solid rgba(139,107,242,.18);border-radius:18px;color:var(--ink);display:grid;gap:12px;padding:16px}.professional-login-promise strong{font-size:14px;font-weight:800;line-height:1.25}.professional-login-promise ul{display:grid;gap:8px;list-style:none;margin:0;padding:0}.professional-login-promise li{align-items:flex-start;color:var(--ink);display:flex;font-size:14px;font-weight:700;gap:8px;line-height:1.35}.professional-login-promise li:before{background:var(--primary);border-radius:999px;color:#fff;content:"";display:inline-grid;flex:0 0 18px;height:18px;width:18px}.professional-login-error{align-items:flex-start;background:var(--danger-bg);border:1px solid #fca5a5;border-radius:14px;color:#991b1b;display:flex;font-size:14px;font-weight:600;line-height:1.35;padding:12px 14px}.professional-google-button{align-items:center;background:#fff;border:1.5px solid var(--line);border-radius:var(--radius-lg);color:var(--ink);display:inline-flex;font-size:15px;font-weight:800;gap:10px;height:50px;justify-content:center;padding:0 18px;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;width:100%}.professional-google-button:hover:not(:disabled){border-color:var(--primary-soft);box-shadow:var(--shadow-md);transform:translateY(-1px)}.professional-google-button:disabled{cursor:wait;opacity:.72}.professional-google-mark{align-items:center;background:#fff;border-radius:999px;color:#4285f4;display:inline-flex;flex:0 0 20px;font-size:16px;font-weight:900;height:20px;justify-content:center;line-height:1;width:20px}.professional-login-note{text-align:center}.professional-login-prewarm{border:0;height:1px;opacity:0;pointer-events:none;position:fixed;right:0;top:0;width:1px}.professional-login-prewarm--active{background:#FAF7FF;height:100dvh;inset:0;opacity:1;pointer-events:auto;width:100vw;z-index:2147483647}@media (max-width:560px){.professional-login-body{align-items:flex-start;padding:28px 18px}.professional-login-card{padding:22px}.professional-login-brand{align-items:center;flex-direction:column;gap:10px;text-align:center}}.appt-form-header{align-items:center;background:var(--surface-soft,#f5f0ff);border:1px solid var(--line,#e8ddfc);border-radius:var(--radius-md,14px);display:flex;gap:14px;padding:14px 16px}.appt-form-header-icon{align-items:center;background:var(--primary,#8b6bf2);border-radius:10px;color:#fff;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.appt-form-header strong{display:block;font-size:14px;font-weight:700}.appt-form-header span{color:var(--muted,#74677f);font-size:12px}.appt-field{align-items:center;background:var(--surface,#fff);border:1px solid var(--line,#e8ddfc);border-radius:var(--radius-md,14px);display:flex;gap:12px;padding:0 14px;transition:border-color .15s}.appt-field:focus-within{border-color:var(--primary,#8b6bf2)}.appt-field-icon{align-items:center;color:var(--primary,#8b6bf2);display:flex;flex-shrink:0}.appt-field-body{display:flex;flex:1 1;flex-direction:column;min-width:0;padding:10px 0}.appt-field-body>span{color:var(--muted,#74677f);font-size:11px;font-weight:700;letter-spacing:.02em;line-height:1;margin-bottom:4px;text-transform:uppercase}.appt-field input,.appt-field select{background:transparent;border:0;font-size:14px;font-weight:600;min-height:auto;padding:0;width:100%}.appt-field input:focus,.appt-field select:focus{box-shadow:none;outline:none}.appt-seg-wrap{display:flex;flex-direction:column;gap:8px}.appt-seg-label{color:var(--muted,#74677f);font-size:13px;font-weight:700}.appt-segmented{border:0;display:flex;gap:0;margin:0;padding:0}.appt-seg-opt{align-items:center;background:var(--surface,#fff);border:1px solid var(--line,#e8ddfc);border-radius:0;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:600;gap:7px;justify-content:center;min-height:44px;padding:8px 14px;transition:background .13s,color .13s,border-color .13s}.appt-seg-opt:first-child{border-radius:var(--radius-md,14px) 0 0 var(--radius-md,14px)}.appt-seg-opt:last-child{border-left:0;border-radius:0 var(--radius-md,14px) var(--radius-md,14px) 0}.appt-seg-opt input[type=radio]{min-height:auto;opacity:0;position:absolute;width:auto}.appt-seg-opt:has(input:checked){background:var(--primary,#8b6bf2);border-color:var(--primary,#8b6bf2);color:#fff;z-index:1}.appt-info-box{background:#f8fafc;border:1px solid var(--line,#e2e8f0);border-radius:var(--radius-md,14px);display:flex;flex-direction:column;gap:10px;padding:14px 16px}.appt-info-box-title{align-items:center;color:var(--ink,#241633);display:flex;font-size:13px;font-weight:700;gap:7px}.appt-info-row{display:flex;flex-direction:column;gap:4px}.appt-info-row>span{color:var(--muted,#74677f);font-size:11px;font-weight:700;text-transform:uppercase}.appt-info-row input{background:var(--surface,#fff);border:1px solid var(--line,#e2e8f0);border-radius:8px;font-size:14px;font-weight:600;min-height:38px;padding:6px 10px}.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}.legal-document{display:grid;gap:14px}.legal-document-meta{color:var(--muted);font-size:13px;letter-spacing:.02em}.legal-crosslinks{border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:10px 22px;padding-top:16px}.legal-crosslinks a{color:var(--primary);font-size:14px;font-weight:600;text-decoration:none}.legal-crosslinks a:hover{color:var(--primary-dark);text-decoration:underline}.legal-index-grid{display:grid;gap:14px}@media (min-width:720px){.legal-index-grid{grid-template-columns:repeat(3,1fr)}}.legal-index-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;color:inherit;display:grid;gap:8px;padding:18px;text-decoration:none;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.legal-index-card:hover{border-color:var(--primary-soft);box-shadow:0 10px 24px rgba(139,107,242,.12);transform:translateY(-2px)}.legal-index-card h2{font-size:16px}.legal-index-card p{color:var(--muted);font-size:14px;line-height:1.55}.legal-index-cta{color:var(--primary);font-size:13px;font-weight:600}.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:var(--surface);border:1px solid var(--line);border-radius:999px;color:var(--muted);display:inline-flex;height:36px;justify-content:center;padding:0;transition:background .15s,border-color .15s,color .15s;width:36px}.booking-modal-top .booking-icon-button[aria-label=Cerrar]{background:#f3ecff;border-color:rgba(139,107,242,.34);box-shadow:0 8px 18px rgba(139,107,242,.18);color:#8b6bf2;height:44px;justify-self:end;width:44px}.booking-icon-button svg{display:block}.booking-icon-button:hover:not(:disabled){background:var(--primary-50);border-color:rgba(139,107,242,.24);color:var(--primary)}.booking-modal-top .booking-icon-button[aria-label=Cerrar]:hover:not(:disabled){background:#eadfff;border-color:rgba(139,107,242,.46);color:#6d4df7}.booking-icon-button:disabled{background:transparent;border-color:transparent;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:1px solid rgba(139,107,242,.14);border-radius:var(--radius-md);color:var(--primary);display:inline-flex;flex:0 0 52px;height:52px;justify-content:center;width:52px}.booking-choice-icon svg{display:block}.booking-choice.presencial .booking-choice-icon{border-color:rgba(4,120,87,.14);color:var(--success)}.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-nav{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:8px}.date-strip-nav .booking-icon-button{height:44px;width:44px}.date-strip-nav-label{color:var(--ink);font-size:14px;font-weight:600;text-align:center}.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);display:grid;gap:4px;min-height:58px;padding:10px 8px;text-align:left}.date-strip button.selected,.time-grid button.selected{background:var(--primary);color:#fff}.date-strip button{text-align:center}.time-grid button strong{font-size:14px}.time-grid button small,.time-grid button span{color:var(--muted);font-size:11px;line-height:1.25}.time-grid button.selected small,.time-grid button.selected span{color:rgba(255,255,255,.82)}.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-phone-row{display:grid;gap:8px;grid-template-columns:minmax(104px,.34fr) minmax(0,1fr)}.booking-phone-row input,.booking-phone-row select{width:100%}.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:16px;justify-items:center;padding:18px 4px 0;text-align:center}.booking-success-mascot{display:grid;justify-items:center;position:relative}.booking-success-mascot img{display:block;height:132px;object-fit:contain;width:132px}.booking-success-icon{align-items:center;background:var(--success-bg);border:6px solid var(--surface);border-radius:999px;bottom:0;box-shadow:var(--shadow-sm);color:var(--success);display:inline-flex;height:58px;justify-content:center;position:absolute;right:-2px;width:58px}.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}.prelaunch-notice{background:#f0eaff;border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink);display:grid;gap:4px;padding:14px}.prelaunch-notice strong{font-size:14px;font-weight:800}.prelaunch-notice span{line-height:1.45}.auth-divider,.prelaunch-notice span{color:var(--muted);font-size:13px;font-weight:600}.auth-divider{align-items:center;display:grid;gap:12px;grid-template-columns:1fr auto 1fr}.auth-divider:after,.auth-divider:before{background:var(--line);content:"";height:1px}.google-auth-button{align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink);cursor:pointer;display:inline-flex;font-weight:700;gap:10px;justify-content:center;min-height:44px;padding:10px 14px;width:100%}.google-auth-button:hover{border-color:rgba(117,91,223,.28);box-shadow:0 10px 24px rgba(58,33,83,.08)}.google-auth-button:disabled{cursor:not-allowed;opacity:.65}.google-auth-mark{align-items:center;border:1px solid var(--line);border-radius:999px;color:#4285f4;display:inline-flex;flex:0 0 auto;font-size:17px;font-weight:800;height:24px;justify-content:center;line-height:1;width:24px}.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}.editor-hero,.home-action-grid,.integration-grid,.legal-docs,.metric-grid,.metric-grid.compact,.patient-hero,.patient-layout,.quick-start-grid,.schedule-block,.settings-summary-row,.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){.clinical-control-bar,.clinical-patient-summary{grid-template-columns:1fr}.clinical-section-head,.clinical-workspace-head{align-items:stretch;flex-direction:column}.clinical-board{grid-template-columns:repeat(4,minmax(220px,78vw))}.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,.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}dialog>form{height:100%;overflow-y:auto}.form-grid{grid-template-columns:1fr}.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}.booking-modal-top{grid-template-columns:44px 1fr 44px}.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}}