/* ALBA+ Design System v1.0 · fuente visual central · 29/07/2026 */
:root{
  --color-primary:#176b70;
  --color-primary-strong:#10565a;
  --color-primary-soft:#eef7f5;
  --color-primary-medium:#397b78;
  --color-primary-muted:#78918f;
  --color-secondary:#397b78;
  --color-secondary-soft:#f1f8f6;
  --color-background:#f7faf9;
  --color-surface:#fff;
  --color-text-primary:#17363a;
  --color-text-secondary:#5b7275;
  --color-border:#d9e5e3;
  --color-success:#276b4c;
  --color-success-soft:#e9f6ef;
  --color-warning:#8a5b12;
  --color-warning-soft:#fff6dd;
  --color-danger:#8f3030;
  --color-danger-soft:#fff0ef;
  --color-info:#397b78;
  --color-info-soft:#eef7f5;
  --color-disabled:#667a7c;
  --color-disabled-soft:#edf2f1;
  --color-surface-subtle:#f8fbfa;
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:24px;
  --space-6:32px;
  --space-7:40px;
  --space-screen:clamp(12px,4vw,24px);
  --radius-sm:10px;
  --radius-md:14px;
  --radius-lg:20px;
  --radius-xl:26px;
  --radius-pill:999px;
  --shadow-subtle:0 4px 16px rgba(23,54,58,.06);
  --shadow-raised:0 12px 30px rgba(23,54,58,.10);
  --focus-ring:0 0 0 3px rgba(23,107,112,.24);
  --control-min-height:48px;
  --button-height-sm:44px;
  --button-height-md:48px;
  --button-height-lg:56px;
  --icon-size-xs:18px;
  --icon-size-sm:22px;
  --icon-size-md:28px;
  --icon-size-lg:32px;
  --icon-size-xl:52px;
  --type-display:clamp(2rem,6vw,3.25rem);
  --type-page-title:clamp(1.75rem,5vw,2.35rem);
  --type-section-title:clamp(1.25rem,3vw,1.5rem);
  --type-card-title:1rem;
  --type-body:1rem;
  --type-secondary:.875rem;
  --type-caption:.75rem;
  --type-button:.95rem;
  --transition-fast:160ms ease;
  --z-nav:40;
  --z-floating:45;
  --z-dialog:60;
  --content-max:920px;
  --content-reading-max:68ch;
  --border-width:1px;
  --border-width-strong:2px;
  /* Alias para componentes históricos. */
  --ink:var(--color-text-primary);
  --muted:var(--color-text-secondary);
  --teal:var(--color-primary);
  --teal-dark:var(--color-primary-strong);
  --teal-soft:var(--color-primary-soft);
  --white:var(--color-surface);
  --line:var(--color-border);
  --green:var(--color-success);
  --green-soft:var(--color-success-soft);
  --orange:var(--color-warning);
  --orange-soft:var(--color-warning-soft);
  --red:var(--color-danger);
  --red-soft:var(--color-danger-soft);
  --shadow:var(--shadow-subtle);
  --radius:var(--radius-lg);
  /* Alias todavía usados por módulos históricos. */
  --color-text:var(--color-text-primary);
  --color-text-muted:var(--color-text-secondary);
  --color-primary-dark:var(--color-primary-strong);
  --color-mint-soft:var(--color-primary-soft);
}

html{color-scheme:light;-webkit-text-size-adjust:100%}
body{background:var(--color-background);color:var(--color-text-primary)}
button,input,select,textarea{font:inherit}
button,[role="button"],input,select,textarea{min-width:0}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{
  outline:2px solid var(--color-primary);
  outline-offset:3px;
  box-shadow:var(--focus-ring);
}
button:disabled,.button:disabled,[aria-disabled="true"]{cursor:not-allowed;opacity:.52;box-shadow:none}
[aria-busy="true"]{cursor:progress}
h1,h2,h3,p,li,strong,small,span{overflow-wrap:break-word}
h1{font-size:var(--type-display);line-height:1.08;letter-spacing:-.03em}
h2{line-height:1.2;letter-spacing:-.015em}
p,li{line-height:1.55}
.panel>p,.info-card p,.detail-body p,.questionnaire-intro p{max-width:var(--content-reading-max)}

.button{min-height:var(--button-height-md);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:10px var(--space-4);border:var(--border-width) solid transparent;border-radius:var(--radius-md);font-size:var(--type-button);font-weight:750;line-height:1.25;text-align:center;white-space:normal;overflow-wrap:normal;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}
.button:active:not(:disabled){transform:translateY(1px)}
.button-primary{background:var(--color-primary);color:#fff}
.button-secondary{background:var(--color-primary-soft);color:var(--color-primary-strong);border:1px solid #bedbd6}
.button-quiet{background:var(--color-surface);color:var(--color-primary);border:1px solid var(--color-border)}
.button-small,.button-compact{min-height:var(--button-height-sm);padding:8px var(--space-3);font-size:var(--type-secondary)}
.button-danger{background:var(--color-danger);color:#fff}
.button-text{min-height:44px;padding-inline:var(--space-2);border-color:transparent;background:transparent;color:var(--color-primary)}
.button-icon,.icon-button{width:var(--button-height-md);min-width:var(--button-height-md);height:var(--button-height-md);min-height:var(--button-height-md);display:inline-grid;place-items:center;padding:0;border-radius:50%}

.panel,.speech-card,.info-card,.clinical-date-card,.large-link,.quick-access-grid>button{
  border-color:var(--color-border);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-subtle);
}
.panel{padding:clamp(20px,4vw,28px)}
.info-card,.large-link,.quick-access-grid>button{box-shadow:none}
.notice,.emergency-notice,.field-error,.health-skeleton{border-radius:var(--radius-md)}
.notice,.message-info,.message-success,.message-error,.emergency-notice{padding:var(--space-4);border:var(--border-width) solid transparent}
.message-info{border-color:#bedbd6;background:var(--color-info-soft);color:var(--color-primary-strong)}
.message-success{border-color:#bfdcc9;background:var(--color-success-soft);color:var(--color-success)}
.message-error,.emergency-notice{border-color:#e3baba;background:var(--color-danger-soft);color:var(--color-danger)}
.message-info::before{content:"ⓘ ";font-weight:800}.message-success::before{content:"✓ ";font-weight:800}.message-error::before,.emergency-notice::before{content:"! ";font-weight:900}
.status-chip,.researcher-status{min-height:28px;padding:4px 9px;border-radius:var(--radius-pill);line-height:1.2}

input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),select,textarea{
  min-height:var(--control-min-height);padding:10px var(--space-3);border:var(--border-width) solid #b8cecb;border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-primary);line-height:1.35;
}
textarea{min-height:112px;resize:vertical}
label{line-height:1.35}
input:disabled,select:disabled,textarea:disabled{opacity:1;background:var(--color-disabled-soft);color:var(--color-disabled)}
.field-error:empty{visibility:hidden}.field-error:not(:empty)::before{content:"! ";font-weight:900}
progress,.progress-track,.checkin-progress,.arm-progress-track{overflow:hidden;border-radius:var(--radius-pill)}
dialog,.modal,.chat-panel{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto}
img{max-width:100%;height:auto}
table{border-collapse:collapse}
th,td{vertical-align:top}

.app-view{width:100%;max-width:var(--content-max)}
.app-header{min-height:52px}
.app-header .brand img{max-height:46px;width:auto}
.quick-access-grid,.dashboard-secondary-actions{gap:var(--space-3)}
.quick-access-grid>button,.large-link{min-height:92px;padding:var(--space-4);text-align:left}
.main-card-icon,.large-link .main-card-icon{flex:none;border-radius:var(--radius-md)}
.main-card-teal{background:var(--color-primary-soft);color:#397b78}
.main-card-violet{background:var(--color-primary-soft);color:var(--color-primary-medium)}

/* Componentes de paciente · Design System v1.0 */
.app-icon,.main-card-glyph{stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.dashboard-phase-heading h1{color:var(--color-primary-strong);font-size:var(--type-page-title);font-weight:800;letter-spacing:-.025em}
.timing-badge{border-radius:var(--radius-pill);background:var(--color-primary-soft);color:var(--color-primary-strong)}
.accessible-dashboard .compact-phase-progress{margin-block:var(--space-3) var(--space-4)}
.compact-phase-progress li{gap:var(--space-2)}
.compact-phase-progress li>span{width:42px;height:42px;border-width:2px;background:var(--color-surface);color:var(--color-primary-muted)}
.compact-phase-progress li .main-card-glyph{width:var(--icon-size-sm);height:var(--icon-size-sm)}
.compact-phase-progress li:not(:last-child)::after{top:20px;border-top-width:2px}
.compact-phase-progress li.is-current{color:var(--color-primary-strong);font-weight:750}
.compact-phase-progress li.is-current>span{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary-strong);box-shadow:none}
.compact-phase-progress li.is-completed>span{border-color:#9bc8c2;background:var(--color-surface);color:var(--color-primary)}
.compact-phase-progress small{font-size:var(--type-caption);line-height:1.2}
.quick-access{margin-top:var(--space-4)}
.quick-access>h2{margin-bottom:var(--space-3);color:var(--color-primary-strong);font-size:var(--type-section-title);letter-spacing:-.015em}
.quick-access-grid{grid-auto-rows:1fr;gap:var(--space-3)}
.quick-access-grid>button{height:100%;min-height:116px;padding:var(--space-3) var(--space-2);gap:6px;border-radius:var(--radius-lg);box-shadow:none;transition:border-color var(--transition-fast),background-color var(--transition-fast),transform var(--transition-fast)}
.quick-access-grid>button:active{transform:translateY(1px)}
.quick-access-grid strong{color:var(--color-primary-strong);font-size:var(--type-card-title);line-height:1.2}
.quick-access-grid small{font-size:var(--type-caption);line-height:1.3}
.main-card-icon,.large-link .main-card-icon{width:var(--icon-size-xl);height:var(--icon-size-xl);border-radius:var(--radius-md);background:var(--color-primary-soft);color:var(--color-primary)}
.main-card-icon .main-card-glyph{width:var(--icon-size-md);height:var(--icon-size-md)}
.dashboard-secondary-actions{display:grid;grid-template-columns:1fr;gap:var(--space-3);margin-top:var(--space-3)}
.large-link{min-height:78px;padding:var(--space-3);border-radius:var(--radius-lg);box-shadow:none}
.large-link strong{color:var(--color-primary-strong);font-size:var(--type-card-title)}
.large-link small{font-size:var(--type-secondary)}
.alba-entry-card{border-color:#c7e1dc;background:var(--color-primary-soft)}
.alba-entry-avatar{width:52px;height:52px;object-fit:cover;border:2px solid var(--color-surface);border-radius:50%;box-shadow:0 3px 10px rgba(23,54,58,.08)}
.daily-challenge-card{border-radius:var(--radius-xl);box-shadow:var(--shadow-subtle)}
.daily-challenge-card-heading h2{color:var(--color-primary-strong);letter-spacing:-.015em}
.daily-challenge-card-actions .button-primary{font-size:var(--type-button)}
.daily-challenge-card-actions .button-quiet{background:transparent}
.bottom-nav{z-index:var(--z-nav);border-radius:var(--radius-lg) var(--radius-lg) 0 0}
.bottom-nav .app-icon{width:var(--icon-size-sm)!important;height:var(--icon-size-sm)!important;stroke-width:1.7}
.bottom-nav button{min-height:64px}
.bottom-nav button.is-active{color:var(--color-primary-strong);font-weight:750}
.alba-chat-button{z-index:var(--z-floating);box-shadow:var(--shadow-subtle)}
.chat-panel{z-index:var(--z-dialog)}

.bottom-nav{
  gap:var(--space-1);
  padding-inline:var(--space-2);
  border:1px solid rgba(217,229,227,.92);
  background:rgba(255,255,255,.97);
  box-shadow:0 -5px 18px rgba(23,54,58,.07);
  backdrop-filter:blur(12px);
}
.bottom-nav button{min-width:0;min-height:68px;padding:7px 6px;background:transparent;color:var(--color-text-secondary)}
.bottom-nav button.is-active{color:var(--color-primary-strong)}
.bottom-nav button.is-active::after{background:var(--color-primary);height:3px;border-radius:999px}
.bottom-nav button>span{display:grid;place-items:center;min-height:2.35em;width:100%;font-size:.72rem;line-height:1.15;text-align:center;white-space:normal;word-break:normal;overflow-wrap:normal;text-wrap:balance}
.chat-panel{border-radius:var(--radius-xl);box-shadow:var(--shadow-raised)}

.status-chip,.researcher-status{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:750}
.status-chip::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;flex:none}
.status-chip.is-success{color:var(--color-success)}
.status-chip.is-warning{color:var(--color-warning)}
.status-chip.is-danger{color:var(--color-danger)}
.status-chip.is-neutral{color:var(--color-text-secondary)}

body.researcher-page,body:has(.researcher-shell){background:#f4f6f6}
.researcher-shell .panel,.researcher-patient-card,.researcher-alert-section{box-shadow:none}
.researcher-shell table{font-variant-numeric:tabular-nums}
.researcher-shell th{color:var(--color-text-secondary);font-size:.78rem;letter-spacing:.02em}

/* Área profesional · registro clínico prospectivo */
.researcher-section-nav{display:flex;gap:4px;margin:24px 0;padding:4px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#eef2f1;width:max-content;max-width:100%}
.researcher-section-nav button{min-height:42px;padding:8px 16px;border:0;border-radius:10px;background:transparent;color:var(--color-text-secondary);font-weight:750}
.researcher-section-nav button.is-active{background:#fff;color:var(--color-primary-strong);box-shadow:0 1px 5px rgba(23,54,58,.08)}
.researcher-cohort-stats{grid-template-columns:repeat(5,minmax(0,1fr))}
.researcher-patient-list{display:grid;gap:10px}
.researcher-patient-row{display:grid;grid-template-columns:minmax(200px,1.1fr) minmax(245px,1.35fr) minmax(250px,1.25fr) minmax(145px,.65fr);align-items:center;gap:18px;padding:17px 18px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#fff;box-shadow:none}
.researcher-patient-row:hover{border-color:#a9c9c5;background:#fcfefe}
.researcher-patient-row.has-alert{border-left:4px solid var(--color-danger)}
.researcher-row-identity,.researcher-row-research,.researcher-row-followup,.researcher-row-action{min-width:0}
.researcher-row-identity{display:grid;gap:6px}
.researcher-row-identity>div{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.researcher-row-identity>b{font-size:.83rem}
.researcher-row-identity>small{color:var(--color-text-secondary);font-size:.72rem;line-height:1.4}
.researcher-row-research{display:grid;gap:9px}
.researcher-row-research>span{display:grid;grid-template-columns:62px minmax(0,1fr);align-items:center;gap:8px}
.researcher-row-research small,.researcher-row-followup small{color:var(--color-text-secondary);font-size:.69rem;font-weight:750;text-transform:uppercase;letter-spacing:.035em}
.researcher-row-marks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
.researcher-row-marks>span{padding:5px 4px;border-radius:8px;background:#f2f5f4;color:var(--color-text-secondary);font-size:.69rem;text-align:center;white-space:nowrap}
.researcher-row-marks>span.is-completed{background:var(--color-success-soft);color:var(--color-success)}
.researcher-row-marks>span.is-in_progress{background:var(--color-warning-soft);color:var(--color-warning)}
.researcher-row-marks>span.is-out_of_window{background:var(--color-danger-soft);color:var(--color-danger)}
.researcher-row-followup{display:grid;grid-template-columns:1fr 1fr;gap:9px 12px}
.researcher-row-followup>span{display:grid;gap:3px}
.researcher-row-followup>span:last-child{grid-column:1/-1}
.researcher-row-followup strong{font-size:.78rem;line-height:1.35}
.researcher-activity-active{color:var(--color-success)}
.researcher-activity-low{color:var(--color-warning)}
.researcher-activity-inactive{color:var(--color-text-secondary)}
.researcher-row-action{display:grid;justify-items:stretch;gap:9px}
.researcher-row-action .button{width:100%;min-height:44px;padding:8px 12px}
.researcher-row-alert{color:var(--color-danger);font-size:.75rem;font-weight:800;text-align:center}
.researcher-row-no-alert{color:var(--color-text-secondary);font-size:.72rem;text-align:center}
.researcher-cohort-view{padding:24px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#fff}
.researcher-cohort-view>header h2{margin:3px 0 7px;font-size:1.7rem}
.researcher-cohort-view>header p:last-child{margin:0;color:var(--color-text-secondary)}
.researcher-export-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px}
.researcher-export-grid article{display:grid;align-content:start;gap:10px;padding:18px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#f9fbfa}
.researcher-export-grid h3,.researcher-export-grid p{margin:0}
.researcher-export-grid p{min-height:3.9em;color:var(--color-text-secondary);font-size:.86rem;line-height:1.5}
.researcher-export-grid .button{width:100%}
.researcher-milestones ol{display:grid;grid-template-columns:repeat(8,minmax(90px,1fr));gap:0;margin:8px 0 18px;padding:0;overflow-x:auto;list-style:none}
.researcher-milestones li{position:relative;display:grid;grid-template-rows:28px auto auto;justify-items:center;gap:4px;min-width:90px;padding:6px 4px;text-align:center}
.researcher-milestones li:not(:last-child)::after{content:"";position:absolute;top:19px;left:calc(50% + 14px);right:calc(-50% + 14px);height:2px;background:var(--color-border)}
.researcher-milestones li.is-complete:has(+ li.is-complete)::after{top:17px;height:6px;border-radius:999px;background:var(--color-primary)}
.researcher-milestones li>span{z-index:1;width:28px;height:28px;display:grid;place-items:center;border:2px solid var(--color-border);border-radius:50%;background:#fff;color:var(--color-text-secondary);font-weight:850}
.researcher-milestones li.is-complete>span{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary)}
.researcher-milestones li strong{font-size:.76rem}.researcher-milestones li small{color:var(--color-text-secondary);font-size:.66rem;white-space:nowrap}

@media(max-width:1050px){.researcher-patient-row{grid-template-columns:minmax(190px,.8fr) minmax(240px,1fr) minmax(220px,.9fr)}.researcher-row-action{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end}.researcher-row-action .button{width:auto}.researcher-cohort-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.researcher-section-nav{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}.researcher-section-nav button{padding-inline:6px}.researcher-patient-row{grid-template-columns:1fr;gap:14px}.researcher-row-research,.researcher-row-followup{padding-top:12px;border-top:1px solid var(--color-border)}.researcher-row-action{display:grid;grid-column:auto}.researcher-row-action .button{width:100%}.researcher-export-grid{grid-template-columns:1fr}.researcher-cohort-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

@media(max-width:720px){
  html,body{max-width:100%;overflow-x:hidden}
  .app-shell{width:100%;padding-left:var(--space-3);padding-right:var(--space-3)}
  .panel{border-radius:var(--radius-lg)}
  .quick-access-grid>button{min-height:110px;padding:var(--space-3) var(--space-2)}
  .large-link{min-height:76px;padding:var(--space-3)}
  .bottom-nav{grid-template-columns:repeat(4,minmax(0,1fr))}
  .bottom-nav button{min-width:0;min-height:70px;padding-inline:4px}
  .bottom-nav .app-icon{width:var(--icon-size-sm)!important;height:var(--icon-size-sm)!important}
  .chat-panel{right:8px;bottom:calc(82px + env(safe-area-inset-bottom));width:calc(100vw - 16px);max-height:calc(100dvh - 110px)}
  .button-row,.health-actions,.researcher-alert-actions{align-items:stretch}
  .button-row .button,.health-actions .button{min-width:0}
}

@media(max-width:360px){
  :root{--space-screen:12px}
  .app-shell{padding-left:10px;padding-right:10px}
  .button{padding-inline:12px}
  .postop-pro-numbers{grid-template-columns:repeat(4,minmax(48px,1fr))}
  .researcher-section-nav{grid-template-columns:1fr}
  .researcher-cohort-stats{grid-template-columns:1fr}
}

@media(max-width:390px){
  .bottom-nav{gap:2px;padding-inline:4px}
  .bottom-nav button>span{font-size:.68rem}
  .main-card-icon,.large-link .main-card-icon{width:48px;height:48px}
  .compact-phase-progress li>span{width:38px;height:38px}
  .compact-phase-progress li:not(:last-child)::after{top:18px}
  .compact-phase-progress small{font-size:.64rem}
}

@media(prefers-reduced-motion:reduce){
  html:focus-within{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

@media(forced-colors:active){
  .button,.panel,.info-card,.bottom-nav,.chat-panel{border:1px solid CanvasText}
  .status-chip::before{forced-color-adjust:none;background:currentColor}
}

/* Tu cirugía: un único módulo configurado por procedimiento + abordaje. */
.surgery-education-v2{display:grid;gap:var(--space-4)}
.surgery-plan-form,.surgery-plan-editor{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}
.surgery-plan-editor>summary{cursor:pointer;color:var(--color-primary);font-weight:700}
.surgery-plan-editor[open]>summary{margin-bottom:var(--space-4)}
.surgery-plan-form{display:grid;gap:var(--space-3)}
.surgery-plan-editor .surgery-plan-form{padding:0;border:0}
.surgery-education-page{display:grid;gap:var(--space-4)}
.surgery-procedure-card,.surgery-approach-card,.surgery-approach-unknown{padding:clamp(20px,5vw,32px);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface)}
.surgery-education-page .eyebrow{margin:0 0 6px;color:var(--color-primary);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.surgery-education-page h2{margin:0 0 var(--space-3);color:var(--color-text);font-size:clamp(1.35rem,5vw,1.8rem)}
.surgery-education-page h3{margin:var(--space-4) 0 var(--space-2);font-size:1.12rem}
.surgery-education-page p{line-height:1.58}
.surgery-education-page figure{margin:var(--space-3) 0;text-align:center}
.surgery-visual{display:block;width:min(100%,440px);max-height:330px;margin:0 auto;object-fit:contain;border-radius:var(--radius-lg);background:#fff}
.surgery-education-page figcaption{margin-top:8px;color:var(--color-text-muted);font-size:.86rem;font-style:italic}
.surgery-detail-copy{color:var(--color-text-muted);font-size:.94rem}
.surgery-robot-note{padding:12px 14px;border-radius:var(--radius-md);background:var(--color-mint-soft);color:var(--color-primary-dark)}
.surgery-info-note,.surgery-empty-state{display:flex;align-items:flex-start;gap:14px;padding:18px;border:1px solid rgba(20,126,126,.14);border-radius:var(--radius-lg);background:var(--color-mint-soft)}
.surgery-info-note>span,.surgery-empty-state>span{display:grid;flex:0 0 34px;width:34px;height:34px;place-items:center;border:1px solid var(--color-primary);border-radius:50%;color:var(--color-primary);font-weight:800}
.surgery-info-note h2,.surgery-empty-state h2{margin:0 0 6px;font-size:1.05rem}
.surgery-info-note p,.surgery-empty-state p{margin:0}
.surgery-question-cta{padding:var(--space-4);text-align:center}
.surgery-question-cta .button{width:100%}
.surgery-lymph-node-card{padding:clamp(20px,5vw,32px);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface)}
.surgery-lymph-node-card figure{margin:0}
.surgery-lymph-layout{display:grid;gap:var(--space-4)}
.surgery-lymph-visual{width:100%;max-height:430px}
.surgery-lymph-steps{display:grid;gap:12px;margin:var(--space-4) 0;padding:0;list-style:none}
.surgery-lymph-steps li{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--color-border)}
.surgery-lymph-steps li:last-child{border-bottom:0}
.surgery-lymph-steps li>span{display:grid;flex:0 0 34px;width:34px;height:34px;place-items:center;border-radius:50%;background:var(--color-primary);color:#fff;font-weight:800}
.surgery-lymph-steps h3,.surgery-lymph-importance h3{margin:0 0 4px;font-size:1rem}
.surgery-lymph-steps p{margin:0;color:var(--color-text-muted);font-size:.94rem}
.surgery-lymph-importance{margin-top:var(--space-3)}
@media(min-width:760px){.surgery-education-page{grid-template-columns:1fr 1fr}.surgery-procedure-card,.surgery-lymph-node-card,.surgery-approach-card,.surgery-info-note,.surgery-question-cta,.surgery-approach-unknown{grid-column:1/-1}.surgery-lymph-layout{grid-template-columns:minmax(280px,.9fr) 1.1fr;align-items:center}.surgery-lymph-steps{grid-template-columns:repeat(3,1fr)}.surgery-lymph-steps li{border-right:1px solid var(--color-border);border-bottom:0;padding:8px 16px}.surgery-lymph-steps li:last-child{border-right:0}.surgery-question-cta .button{width:auto;min-width:240px}}

/* Tu cirugía v2: fichas homogéneas del atlas educativo */
.surgery-atlas-card,.surgery-faq-card{grid-column:1/-1;padding:clamp(20px,5vw,32px);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:0 8px 28px rgba(21,68,70,.045)}
.surgery-atlas-card>h2{margin-bottom:var(--space-4);font-size:clamp(1.55rem,6vw,2rem)}
.surgery-section{padding:var(--space-4) 0;border-top:1px solid var(--color-border)}
.surgery-section:first-of-type{margin-top:var(--space-3)}
.surgery-section:last-child{padding-bottom:0}
.surgery-section h3{display:flex;align-items:flex-start;gap:10px;margin:0 0 var(--space-3);color:var(--color-primary-dark);font-size:clamp(1.08rem,4vw,1.25rem)}
.surgery-section h4{margin:0 0 8px;color:var(--color-primary-dark);font-size:1.05rem}
.surgery-section p{margin:0 0 10px}
.surgery-section p:last-child{margin-bottom:0}
.surgery-section-number{display:grid;flex:0 0 30px;width:30px;height:30px;place-items:center;border-radius:50%;background:var(--color-mint-soft);color:var(--color-primary);font-size:.9rem;font-weight:800}
.surgery-approach-name{color:var(--color-primary);font-weight:800}
.surgery-approach-visual{max-height:260px;margin-top:var(--space-3)}
.surgery-check-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.surgery-check-list li{display:flex;align-items:flex-start;gap:10px;line-height:1.45}
.surgery-check-list li>span{display:grid;flex:0 0 26px;width:26px;height:26px;place-items:center;border-radius:50%;background:var(--color-mint-soft);color:var(--color-primary);font-weight:900}
.surgery-lymph-node-card{padding:var(--space-4) 0;border-width:1px 0 0;border-radius:0;background:transparent}
.surgery-lymph-layout{grid-template-columns:1fr}
.surgery-lymph-visual{max-height:330px;border:1px solid rgba(20,126,126,.08)}
.surgery-faq-card>h3{margin:0 0 var(--space-3);color:var(--color-primary-dark);font-size:1.25rem}
.surgery-faq-list{display:grid;gap:8px}
.surgery-faq-list details{overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#fff}
.surgery-faq-list summary{display:flex;align-items:center;gap:10px;min-height:52px;padding:12px 14px;cursor:pointer;color:var(--color-text);font-weight:750;list-style:none}
.surgery-faq-list summary::-webkit-details-marker{display:none}
.surgery-faq-list summary::after{content:'+';margin-left:auto;color:var(--color-primary);font-size:1.3rem;font-weight:500}
.surgery-faq-list details[open] summary::after{content:'−'}
.surgery-faq-list summary>span{flex:0 0 26px;font-size:1.05rem;text-align:center}
.surgery-faq-list details p{margin:0;padding:0 14px 14px 50px;color:var(--color-text-muted);font-size:.95rem;line-height:1.5}
.surgery-faq-note{margin:var(--space-3) 0 0;color:var(--color-text-muted);font-size:.86rem}
@media(min-width:760px){.surgery-atlas-card,.surgery-faq-card{grid-column:1/-1}.surgery-lymph-layout{grid-template-columns:minmax(260px,.85fr) 1.15fr}.surgery-check-list{grid-template-columns:1fr 1fr}.surgery-faq-list{grid-template-columns:1fr 1fr}.surgery-faq-list details p{padding-left:14px}}
.researcher-final-survey-row{background:var(--color-mint-soft)}
.researcher-final-survey-row>th{color:var(--color-primary-dark)}
.researcher-final-survey{display:grid;grid-template-columns:max-content max-content 1fr;align-items:center;gap:8px 14px;padding:4px 0}
.researcher-final-survey>strong{color:var(--color-text);font-size:1rem}
.researcher-final-survey>small{color:var(--color-text-muted)}
.researcher-final-survey .researcher-result-details{grid-column:1/-1}
@media(max-width:620px){.researcher-final-survey{grid-template-columns:1fr}.researcher-final-survey .researcher-result-details{grid-column:auto}}

/* Research Core v1.2 · Block 6 */
.research-core-subgroup{margin:var(--space-3) 0;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-subtle,#f8fbfa)}
.research-core-subgroup h3{margin:0 0 var(--space-3);color:var(--color-primary-dark);font-size:1rem}
.research-core-export-bundle{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin:var(--space-4) 0;padding:var(--space-4);border:1px solid rgba(20,126,126,.24);border-radius:var(--radius-xl);background:var(--color-mint-soft)}
.research-core-export-bundle h3,.research-core-export-bundle p{margin:0}.research-core-export-bundle p{margin-top:6px;color:var(--color-text-muted)}
.research-core-export-bundle .button{flex:0 0 auto}.research-core-export-grid article{border-color:rgba(20,126,126,.2)}
.researcher-row-research .researcher-final-completed{color:var(--color-primary);font-weight:800}.researcher-row-research .researcher-final-in_progress{color:#7561a8}.researcher-row-research .researcher-final-pending{color:#9a681f}.researcher-row-research .researcher-final-unavailable{color:var(--color-text-muted)}
@media(max-width:760px){.research-core-export-bundle{align-items:stretch;flex-direction:column}.research-core-export-bundle .button{width:100%}}

/* Evaluación inicial T0 · datos autorreferidos minimizados */
.questionnaire-mini-action{width:100%;min-height:76px;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:inherit;font:inherit;text-align:left;cursor:pointer}
.questionnaire-mini-action:hover,.questionnaire-mini-action:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(20,126,126,.1)}
.initial-data-form{display:grid;gap:var(--space-4)}
.initial-data-form fieldset{display:grid;gap:var(--space-3);margin:0;padding:clamp(18px,5vw,26px);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface)}
.initial-data-form legend{padding:0 8px;color:var(--color-primary-dark);font-size:1.15rem;font-weight:800}
.initial-data-field-grid{display:grid;gap:var(--space-3);align-items:start}
.initial-data-form label{display:grid;gap:7px;color:var(--color-text);font-weight:750}
.initial-data-form input,.initial-data-form select{width:100%;min-height:48px;padding:11px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;color:var(--color-text);font:inherit}
.initial-data-form small,.initial-data-note{margin:0;color:var(--color-text-muted);font-size:.88rem;font-weight:400;line-height:1.45}
.initial-data-existing{padding:var(--space-4);border-radius:var(--radius-xl);background:var(--color-mint-soft)}
.initial-data-existing h2,.initial-data-existing p{margin:0}.initial-data-existing p{margin-top:6px;color:var(--color-text-muted)}
.initial-data-status{min-height:1.4em;margin:0;color:var(--color-primary-dark);font-weight:700}
@media(min-width:700px){.initial-data-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.initial-data-form fieldset .initial-data-note{grid-column:1/-1}}
