:root{
  --orange:#F05A24;--orange-dark:#D94A15;--orange-deep:#B63C10;
  --peach:#F3A57D;--peach-soft:#FCE8DC;--peach-pale:#FFF5EF;
  --ink:#182230;--text:#263244;--muted:#6D7785;--line:#E6E8EC;
  --surface:#FFFFFF;--bg:#F8F9FB;--success:#2F7D4F;--danger:#B23E39;
  --shadow:0 8px 24px rgba(22,34,48,.07);--shadow-lg:0 18px 50px rgba(22,34,48,.08);
  --sidebar:322px;--header:82px;--content:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg);line-height:1.5}
a{color:inherit}.pimec-icon{display:block}

/* LOGO */
.pimec-logo-orbit{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;position:relative;flex:0 0 auto}
.pimec-logo-orbit:before,.pimec-logo-orbit:after{content:"";position:absolute;border:7px solid var(--orange);border-left-color:transparent;border-radius:50%;inset:6px;transform:rotate(20deg)}
.pimec-logo-orbit:after{inset:16px;border-width:5px;border-color:var(--peach);border-right-color:transparent;transform:rotate(-35deg)}
.pimec-logo-orbit span{position:relative;z-index:2;font-weight:900;color:var(--orange-dark)}
.pimec-logo-orbit.small{width:48px;height:48px}.pimec-logo-orbit.small:before{border-width:6px}.pimec-logo-orbit.small:after{inset:14px;border-width:4px}

/* APP SHELL */
.pimec-app-shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr)}
.pimec-sidebar{position:sticky;top:0;height:100vh;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:70}
.pimec-sidebar-brand{padding:22px 24px 24px}
.pimec-sidebar-logo{display:flex;gap:12px;align-items:center;text-decoration:none}
.pimec-sidebar-logo strong{display:block;color:var(--orange);font-size:2rem;line-height:1}
.pimec-sidebar-logo small{display:block;max-width:190px;margin-top:5px;color:#202A37;font-size:.72rem;line-height:1.35;font-weight:600}
.pimec-area-label{display:flex;gap:12px;align-items:center;padding:17px 24px;color:#fff;background:linear-gradient(110deg,var(--orange-dark),var(--orange));font-weight:900;font-size:.93rem}
.pimec-sidebar-nav{padding:13px 0;overflow-y:auto}
.pimec-side-link{display:flex;align-items:center;gap:14px;padding:14px 25px;color:#263244;text-decoration:none;font-weight:600;transition:.15s}
.pimec-side-link:hover{background:var(--peach-pale);color:var(--orange-dark)}
.pimec-side-link.is-active{color:var(--orange-dark);background:linear-gradient(90deg,var(--peach-soft),#fff);border-right:4px solid var(--orange);font-weight:800}
.pimec-side-link.logout{color:#E43D2B}
.pimec-side-divider{height:1px;margin:9px 24px;background:var(--line)}
.pimec-sidebar-bottom{margin-top:auto;padding-bottom:20px}

.pimec-app-main{min-width:0;display:flex;flex-direction:column;min-height:100vh}
.pimec-app-header{height:var(--header);display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 34px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:45}
.pimec-app-header-left,.pimec-app-header-right{display:flex;align-items:center;gap:20px}
.pimec-topnav{display:flex;align-items:center;gap:24px}
.pimec-topnav a{position:relative;display:flex;align-items:center;gap:8px;text-decoration:none;color:#273142;font-weight:650;padding:28px 2px}
.pimec-topnav a.is-active{color:var(--orange-dark)}
.pimec-topnav a.is-active:after{content:"";position:absolute;height:3px;background:var(--orange);left:0;right:0;bottom:0}
.pimec-header-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:10px}
.pimec-user-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--peach),var(--orange));color:#fff;font-weight:900}
.pimec-user-meta{display:flex;flex-direction:column}.pimec-user-meta strong{font-size:.92rem}.pimec-user-meta small{font-size:.78rem;color:var(--muted)}
.pimec-mobile-menu{display:none;border:0;background:transparent;padding:8px;color:var(--ink);cursor:pointer}

.pimec-info-ribbon{min-height:78px;padding:16px 34px;display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(90deg,#FFF2EA,#FFE4D3);border-bottom:1px solid #F2CDB7}
.pimec-info-ribbon>div{display:flex;align-items:center;gap:15px}.pimec-info-icon{display:grid;place-items:center;width:42px;height:42px;border:2px solid var(--orange);border-radius:50%;color:var(--orange-dark)}
.pimec-info-ribbon strong{display:block;color:var(--orange-dark);font-size:1.05rem}.pimec-info-ribbon small{display:block;color:#503C33;font-size:.92rem}
.pimec-manual-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:10px;border:1px solid #EAC0A9;background:#fff;color:#273142;text-decoration:none;font-weight:700;box-shadow:0 3px 10px rgba(80,50,35,.04)}
.pimec-context-strip{display:flex;justify-content:space-between;padding:10px 34px;background:#fff;border-bottom:1px solid var(--line);font-size:.88rem}
.pimec-context-strip a{color:var(--orange-dark);text-decoration:none;font-weight:700}

.pimec-content{width:min(var(--content),calc(100% - 50px));margin:0 auto;padding:30px 0 48px;flex:1}
.pimec-page-title{margin-bottom:24px}.pimec-page-title h1{margin:3px 0 8px;color:var(--ink);font-size:clamp(2rem,3.5vw,3rem);line-height:1.05;letter-spacing:-.025em}.pimec-page-title p{margin:0;color:#485466;font-size:1rem}.pimec-eyebrow{font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;color:var(--orange-dark);font-weight:900}

/* METRICS */
.pimec-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.pimec-metric{padding:21px 20px;border-radius:14px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.pimec-metric-main{display:flex;align-items:center;gap:15px}
.pimec-metric-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;color:var(--orange);background:var(--peach-soft)}
.pimec-metric-value{display:block;color:var(--ink);font-size:1.95rem;font-weight:900;line-height:1}.pimec-metric-label{display:block;margin-top:5px;color:#344154}
.pimec-metric-link{display:inline-block;margin:14px 0 0 72px;color:var(--orange-dark);text-decoration:none;font-size:.88rem;font-weight:700}

/* ACTIONS */
.pimec-section-title{margin:30px 0 15px;color:var(--ink);font-size:1.5rem}
.pimec-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.pimec-action-card{display:grid;grid-template-columns:58px minmax(0,1fr) 24px;gap:15px;align-items:center;padding:22px;border-radius:14px;border:1px solid var(--line);background:#fff;text-decoration:none;box-shadow:var(--shadow);transition:.15s}
.pimec-action-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.pimec-action-card .pimec-action-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--peach-soft);color:var(--orange)}
.pimec-action-card h3{margin:0 0 5px;color:var(--orange-dark);font-size:1.02rem}.pimec-action-card p{margin:0;color:#384658;font-size:.9rem}.pimec-action-arrow{color:#263244}

/* CARDS / FORMS */
.pimec-card{padding:22px;border-radius:14px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.pimec-card+.pimec-card{margin-top:18px}.pimec-card-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}
.pimec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.pimec-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.pimec-full{grid-column:1/-1}
.pimec-muted{color:var(--muted)}.pimec-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted);font-size:.82rem}
.pimec-badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:var(--peach-soft);color:var(--orange-dark);font-size:.78rem;font-weight:800}.pimec-badge.success{background:#E8F5EC;color:var(--success)}
.pimec-progress{height:8px;background:#EEF0F3;border-radius:999px;overflow:hidden}.pimec-progress>span{display:block;height:100%;background:linear-gradient(90deg,var(--orange-dark),var(--orange));border-radius:inherit}

label,legend{display:block;margin:10px 0 6px;font-weight:750;color:#273142}
input[type=text],input[type=number],input[type=date],input[type=email],input[type=password],textarea,select{width:100%;padding:11px 13px;border:1px solid #DDE1E7;border-radius:9px;background:#fff;color:var(--ink);outline:none;font:inherit}
textarea{min-height:105px;resize:vertical}input:focus,textarea:focus,select:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(240,90,36,.11)}
.pimec-btn,button{border:0;border-radius:9px;padding:10px 15px;font:inherit;font-weight:800;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px}
.pimec-btn-primary,button[type=submit]{background:linear-gradient(110deg,var(--orange-dark),var(--orange));color:#fff}.pimec-btn-secondary{background:var(--peach-soft);color:#273142}.pimec-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}

/* RADIO */
.pimec-radio-group{display:grid;gap:9px;margin-top:8px}.pimec-radio-group.compact{grid-template-columns:repeat(auto-fit,minmax(125px,1fr))}
.pimec-radio-card{position:relative;cursor:pointer}.pimec-radio-card input{position:absolute;opacity:0}.pimec-radio-content{display:block;padding:12px 14px;border:1px solid #DDE1E7;border-radius:10px;background:#fff}
.pimec-radio-card input:checked+.pimec-radio-content{border-color:var(--orange);background:var(--peach-pale);box-shadow:0 0 0 3px rgba(240,90,36,.09)}.pimec-radio-value{display:block;color:var(--orange-dark);font-weight:900}.pimec-helper{display:block;margin-top:3px;color:var(--muted);font-size:.86rem}

/* TABLES / AUTOSAVE */
.pimec-table-wrap{overflow-x:auto}.pimec-table{width:100%;min-width:800px;border-collapse:collapse}.pimec-table th{background:var(--peach-soft);color:var(--orange-dark)}.pimec-table th,.pimec-table td{padding:10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.pimec-autosave{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:.86rem}.pimec-autosave:before{content:"";width:8px;height:8px;border-radius:50%;background:#C9CED5}.pimec-autosave.is-saving:before{background:var(--orange)}.pimec-autosave.is-saved:before{background:var(--success)}.pimec-autosave.is-error:before{background:var(--danger)}

/* SESSION STEPS */
.pimec-progress-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin-bottom:18px}.pimec-step{padding:11px 9px;border:1px solid var(--line);border-radius:10px;background:#fff;text-decoration:none;text-align:center;font-size:.86rem;font-weight:750}.pimec-step.is-done{background:#EAF6EE;color:var(--success);border-color:#C3DFC9}

/* FOOTER */
.pimec-app-footer{display:grid;grid-template-columns:1.4fr .9fr .9fr 1fr;gap:28px;padding:34px max(34px,calc((100% - var(--content))/2));background:linear-gradient(90deg,#FFF4EC,#FFF0E6);border-top:1px solid #F0D4C4}
.pimec-footer-brand-inline{display:flex;align-items:center;gap:10px}.pimec-footer-brand-inline strong{display:block;color:var(--orange);font-size:1.35rem}.pimec-footer-brand-inline small{display:block;max-width:200px;font-size:.68rem;line-height:1.3;color:#293446}
.pimec-footer-column{display:flex;flex-direction:column;gap:7px;font-size:.83rem}.pimec-footer-column strong{color:#172231}.pimec-footer-column a{text-decoration:none;color:#263244}.pimec-footer-column span{color:#5B6675}

/* PUBLIC */
.pimec-public-body{background:#FAF8F6}.pimec-public-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:40}.pimec-public-header-inner{width:min(var(--content),calc(100% - 32px));height:82px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:22px}
.pimec-public-brand{display:flex;align-items:center;gap:10px;text-decoration:none}.pimec-public-brand strong{display:block;color:var(--orange);font-size:1.65rem}.pimec-public-brand small{display:block;max-width:300px;color:#263244;font-size:.68rem;line-height:1.3}
.pimec-public-nav{display:flex;align-items:center;gap:20px}.pimec-public-nav a{text-decoration:none;font-weight:650}.pimec-nav-cta{padding:9px 12px;border-radius:9px;background:var(--orange);color:#fff!important}.pimec-public-menu-toggle{display:none;border:0;background:transparent}
.pimec-public-main{min-height:60vh}.pimec-landing-hero{padding:90px 0;background:linear-gradient(135deg,var(--orange-deep),var(--orange) 58%,var(--peach));color:#fff}.pimec-landing-hero-inner{width:min(var(--content),calc(100% - 32px));margin:auto}.pimec-landing-hero h1{max-width:850px;margin:0;font-size:clamp(2.4rem,6vw,5rem);line-height:.98;letter-spacing:-.04em}.pimec-landing-hero p{max-width:730px;font-size:1.1rem;color:rgba(255,255,255,.86)}
.pimec-public-section{width:min(var(--content),calc(100% - 32px));margin:50px auto}.pimec-public-footer{padding:36px 0;background:#FFF0E6;border-top:1px solid #F0D4C4}.pimec-public-footer-inner{width:min(var(--content),calc(100% - 32px));margin:auto;display:grid;grid-template-columns:1.4fr .8fr .8fr 1fr;gap:28px}

.pimec-sidebar-overlay{display:none}

@media(max-width:1180px){
  :root{--sidebar:270px}
  .pimec-metric-grid{grid-template-columns:repeat(2,1fr)}
  .pimec-action-grid{grid-template-columns:1fr}
  .pimec-app-footer{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:920px){
  .pimec-app-shell{display:block}.pimec-sidebar{position:fixed;left:0;top:0;width:min(320px,85vw);transform:translateX(-102%);transition:.2s;box-shadow:12px 0 30px rgba(0,0,0,.12)}.pimec-sidebar.is-open{transform:translateX(0)}
  .pimec-mobile-menu{display:block}.pimec-topnav{display:none}.pimec-app-header{padding:0 18px}.pimec-info-ribbon{padding:14px 18px}.pimec-context-strip{padding:10px 18px}
  .pimec-content{width:min(100% - 28px,var(--content))}.pimec-sidebar-overlay{display:block;position:fixed;inset:0;background:rgba(15,23,42,.35);z-index:60;opacity:0;pointer-events:none;transition:.2s}.pimec-sidebar-overlay.is-visible{opacity:1;pointer-events:auto}
  .pimec-user-meta{display:none}.pimec-app-footer{padding:30px 20px}
}
@media(max-width:700px){
  .pimec-metric-grid,.pimec-grid,.pimec-grid-3,.pimec-public-footer-inner{grid-template-columns:1fr}.pimec-app-footer{grid-template-columns:1fr}
  .pimec-info-ribbon{align-items:flex-start;flex-direction:column}.pimec-manual-btn{width:100%;justify-content:center}
  .pimec-progress-steps{grid-template-columns:1fr}.pimec-public-brand small{display:none}.pimec-public-menu-toggle{display:block}
  .pimec-public-nav{display:none;position:absolute;top:82px;left:0;right:0;padding:16px 20px;background:#fff;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}.pimec-public-nav.is-open{display:flex}
}

/* =========================================================
   PIMEC v0.10 — patrón de sesiones clínicas
   ========================================================= */
.pimec-session-nav{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  margin:0 0 22px;
}
.pimec-session-step{
  position:relative;
  min-width:0;
  display:flex;
  align-items:center;
  gap:10px;
  padding:13px 12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  text-decoration:none;
  box-shadow:0 3px 10px rgba(22,34,48,.035);
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.pimec-session-step:hover{
  transform:translateY(-1px);
  border-color:#F1B899;
  box-shadow:var(--shadow);
}
.pimec-session-step-number{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border-radius:50%;
  background:#F1F3F5;
  color:#6B7480;
  font-size:.78rem;
  font-weight:900;
}
.pimec-session-step-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
}
.pimec-session-step-copy strong{
  overflow:hidden;
  color:#253043;
  font-size:.86rem;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.pimec-session-step-copy small{
  color:#818A96;
  font-size:.72rem;
}
.pimec-session-step.is-current{
  border-color:var(--orange);
  box-shadow:0 0 0 3px rgba(240,90,36,.09);
}
.pimec-session-step.is-current .pimec-session-step-number{
  color:#fff;
  background:linear-gradient(135deg,var(--orange-dark),var(--orange));
}
.pimec-session-step.is-progress:not(.is-current){
  border-color:#F3C3A8;
  background:#FFF9F5;
}
.pimec-session-step.is-progress .pimec-session-step-number{
  color:var(--orange-dark);
  background:var(--peach-soft);
}
.pimec-session-step.is-done{
  border-color:#C5DFC9;
  background:#F3FAF5;
}
.pimec-session-step.is-done .pimec-session-step-number{
  color:#fff;
  background:var(--success);
}
.pimec-session-step.is-done .pimec-session-step-copy small{
  color:var(--success);
}
.pimec-session-check{
  margin-left:auto;
  color:var(--success);
}
.pimec-draft-bar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  padding:11px 13px;
  margin-bottom:18px;
  border:1px solid #E8E2DD;
  border-radius:10px;
  background:#FAF9F8;
}
.pimec-draft-help{
  color:#7A828D;
  font-size:.78rem;
  text-align:right;
}
.pimec-clinical-intro{
  display:flex;
  gap:14px;
  align-items:flex-start;
  padding:15px 16px;
  margin-bottom:18px;
  border-left:4px solid var(--orange);
  border-radius:0 10px 10px 0;
  background:var(--peach-pale);
}
.pimec-clinical-intro .pimec-icon{
  flex:0 0 auto;
  margin-top:2px;
  color:var(--orange-dark);
}
.pimec-clinical-intro p{margin:0;color:#4D5663}
.pimec-field-block{
  margin:18px 0;
  padding-bottom:17px;
  border-bottom:1px solid #EEF0F2;
}
.pimec-field-block:last-child{border-bottom:0}
.pimec-score-caption{
  margin:0 0 8px;
  color:#747E89;
  font-size:.85rem;
}
.pimec-summary-result{
  padding:17px;
  border-radius:12px;
  border:1px solid var(--line);
  background:#FBFBFC;
}
.pimec-summary-result strong{
  display:block;
  color:#697382;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.pimec-summary-result .value{
  display:block;
  margin-top:5px;
  color:var(--ink);
  font-size:1.15rem;
  font-weight:850;
}
.pimec-signature-canvas{
  width:100%;
  height:190px;
  border:1px dashed #C9CDD3;
  border-radius:11px;
  background:#fff;
  touch-action:none;
}
@media(max-width:1050px){
  .pimec-session-nav{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
  .pimec-session-nav{grid-template-columns:1fr}
  .pimec-session-step-copy strong{white-space:normal}
  .pimec-draft-bar{align-items:flex-start;flex-direction:column}
  .pimec-draft-help{text-align:left}
}

/* PIMEC v0.10.1 */
.pimec-auth-wrap{width:min(100% - 32px,1120px);min-height:calc(100vh - 82px - 190px);margin:0 auto;display:grid;place-items:center;padding:58px 0}
.pimec-auth-card{width:min(100%,520px);padding:30px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 20px 55px rgba(22,34,48,.09)}
.pimec-auth-card h1{margin:0 0 6px;color:var(--ink);font-size:2rem}.pimec-auth-card .pimec-auth-subtitle{margin:0 0 24px;color:var(--muted)}
.pimec-auth-card input{min-height:46px}
.pimec-signature-box{padding:14px;border:2px dashed #F0A47E;border-radius:14px;background:#FFF9F5}
.pimec-signature-box-header{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.pimec-signature-box-header strong{color:var(--orange-dark)}.pimec-signature-box-header span{color:var(--muted);font-size:.8rem}
.pimec-signature-canvas{display:block;width:100%;height:210px;border:1px solid #E6BFA9;border-radius:10px;background:#fff;box-shadow:inset 0 0 0 1px rgba(240,90,36,.03)}
.pimec-mmse-figure{margin:12px 0 10px;padding:18px;text-align:center;border:1px solid #ECD8CC;border-radius:14px;background:#fff}
.pimec-mmse-figure img{display:block;width:min(100%,620px);height:auto;margin:0 auto}.pimec-mmse-figure figcaption{margin-top:10px;color:var(--muted);font-size:.82rem}
.pimec-record-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.pimec-record-list{display:grid;gap:10px}.pimec-record-item{padding:14px;border:1px solid var(--line);border-radius:11px;background:#FBFCFD}.pimec-record-item strong{display:block;color:var(--ink)}
.pimec-session-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.pimec-session-card{padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff}.pimec-session-card h3{margin:5px 0 12px;font-size:.98rem}.pimec-note-item{padding:15px 0;border-bottom:1px solid var(--line)}.pimec-note-item:last-child{border-bottom:0}.pimec-record-empty{color:var(--muted);font-size:.9rem}
@media(max-width:900px){.pimec-record-grid,.pimec-session-grid{grid-template-columns:1fr}.pimec-auth-wrap{min-height:auto;padding:36px 0}}

/* PIMEC v0.11 Sesión 2 */
.pimec-session-nav-six{grid-template-columns:repeat(6,minmax(0,1fr))}
.pimec-option-check{position:relative;display:block;margin:8px 0;cursor:pointer}
.pimec-option-check input{position:absolute;opacity:0}
.pimec-option-check>span{display:grid;grid-template-columns:36px 1fr;gap:10px;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:#fff}
.pimec-option-check input:checked+span{border-color:var(--orange);background:var(--peach-pale);box-shadow:0 0 0 3px rgba(240,90,36,.08)}
.pimec-option-score{font-weight:900;color:var(--orange-dark)}
.pimec-scale-10{display:grid;grid-template-columns:repeat(10,minmax(38px,1fr));gap:6px;margin-top:8px}
.pimec-scale-10 .pimec-radio-content{text-align:center;padding:10px 4px}
.pimec-scale-anchors{display:flex;justify-content:space-between;gap:20px;margin-top:5px;color:var(--muted);font-size:.78rem}
.pimec-risk-alert{padding:15px;border:1px solid #F1B5B0;border-left:5px solid var(--danger);border-radius:10px;background:#FFF5F4;color:#66302D}
.pimec-result-table{display:grid;gap:10px}
@media(max-width:1180px){.pimec-session-nav-six{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.pimec-session-nav-six{grid-template-columns:1fr}.pimec-scale-10{grid-template-columns:repeat(5,1fr)}}

/* =========================================================
   PIMEC v0.11.1 — refinamiento instrumentos Sesión 2
   ========================================================= */
.pimec-instructions{
  margin-bottom:20px;
}
.pimec-instructions h3{
  display:flex;
  align-items:center;
  gap:9px;
  margin:0 0 8px;
  color:var(--orange-dark);
  font-size:1rem;
}
.pimec-instructions p{
  margin:7px 0;
  color:#465263;
}
.pimec-instructions ol{
  margin:9px 0 0 22px;
  padding:0;
  color:#465263;
}
.pimec-instructions li{
  margin:5px 0;
}
.pimec-cmcq-scale-wrap{
  width:100%;
  overflow-x:auto;
  padding:4px 0 8px;
}
.pimec-cmcq-scale{
  min-width:650px;
  display:grid;
  grid-template-columns:repeat(10,minmax(48px,1fr));
  gap:7px;
  align-items:end;
}
.pimec-cmcq-choice{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  padding:7px 2px;
  cursor:pointer;
  user-select:none;
}
.pimec-cmcq-choice .pimec-cmcq-number{
  color:#253043;
  font-weight:850;
  font-size:.92rem;
}
.pimec-cmcq-choice input[type="radio"]{
  appearance:none;
  -webkit-appearance:none;
  width:19px;
  height:19px;
  margin:0;
  border:2px solid #AAB1BA;
  border-radius:50%;
  background:#fff;
  cursor:pointer;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
.pimec-cmcq-choice input[type="radio"]:hover{
  border-color:var(--orange);
}
.pimec-cmcq-choice input[type="radio"]:checked{
  border:5px solid var(--orange);
  background:#fff;
  box-shadow:0 0 0 3px rgba(240,90,36,.10);
}
.pimec-cmcq-choice input[type="radio"]:focus-visible{
  outline:3px solid rgba(240,90,36,.25);
  outline-offset:3px;
}
.pimec-cmcq-anchors{
  min-width:650px;
  display:flex;
  justify-content:space-between;
  gap:20px;
  margin-top:4px;
  color:#687382;
  font-size:.8rem;
}
.pimec-cmcq-example{
  margin:12px 0 0;
  padding:12px 14px;
  border-radius:10px;
  border:1px solid #F0D0BF;
  background:#FFF9F5;
  color:#4E5967;
  font-size:.9rem;
}
@media(max-width:700px){
  .pimec-cmcq-scale-wrap{
    margin-right:-4px;
  }
}

/* =========================================================
   PIMEC v0.12 — Resultados clínicos
   ========================================================= */
.pimec-filter-card{
  margin-bottom:20px;
}
.pimec-filter-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  align-items:end;
}
.pimec-results-table{
  width:100%;
  min-width:980px;
  border-collapse:collapse;
}
.pimec-results-table th{
  padding:11px 12px;
  text-align:left;
  color:var(--orange-dark);
  background:var(--peach-soft);
  border-bottom:1px solid var(--line);
  font-size:.82rem;
}
.pimec-results-table td{
  padding:12px;
  vertical-align:top;
  border-bottom:1px solid var(--line);
  font-size:.9rem;
}
.pimec-results-table tr:last-child td{border-bottom:0}
.pimec-score-main{
  display:block;
  color:var(--ink);
  font-weight:850;
}
.pimec-score-sub{
  display:block;
  margin-top:2px;
  color:var(--muted);
  font-size:.76rem;
}
.pimec-result-detail-header{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-bottom:20px;
}
.pimec-result-kpi{
  padding:16px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  box-shadow:var(--shadow);
}
.pimec-result-kpi small{
  display:block;
  margin-bottom:5px;
  color:var(--muted);
  font-size:.75rem;
  font-weight:750;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.pimec-result-kpi strong{
  display:block;
  color:var(--ink);
  font-size:1.08rem;
}
.pimec-response-table{
  width:100%;
  min-width:900px;
  border-collapse:collapse;
}
.pimec-response-table th,
.pimec-response-table td{
  padding:11px 12px;
  border-bottom:1px solid var(--line);
  text-align:left;
  vertical-align:top;
  font-size:.88rem;
}
.pimec-response-table th{
  color:var(--orange-dark);
  background:var(--peach-soft);
}
.pimec-response-question{
  min-width:280px;
  max-width:500px;
}
.pimec-clinical-results-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.pimec-clinical-result-row{
  display:grid;
  grid-template-columns:minmax(160px,1fr) minmax(80px,.45fr) minmax(200px,1.3fr) auto;
  gap:12px;
  align-items:center;
  padding:13px 14px;
  border:1px solid var(--line);
  border-radius:11px;
  background:#FBFCFD;
}
.pimec-clinical-result-row strong{
  color:var(--ink);
}
.pimec-result-date{
  color:var(--muted);
  font-size:.75rem;
}
.pimec-empty-state{
  padding:34px 20px;
  text-align:center;
  color:var(--muted);
}
@media(max-width:1050px){
  .pimec-filter-grid{grid-template-columns:1fr 1fr}
  .pimec-result-detail-header{grid-template-columns:1fr 1fr}
  .pimec-clinical-results-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
  .pimec-filter-grid,.pimec-result-detail-header{grid-template-columns:1fr}
  .pimec-clinical-result-row{
    grid-template-columns:1fr;
    gap:5px;
  }
}

/* =========================================================
   PIMEC — Tablas clínicas y de resultados
   ========================================================= */

.pimec-results-table,
.pimec-response-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid #d9dee5;
    border-radius: 10px;
    overflow: hidden;
    background: #ffffff;
}

/* Encabezados */
.pimec-results-table th,
.pimec-response-table th {
    padding: 12px 14px;
    text-align: left;
    vertical-align: middle;

    background: #fff4ee;
    color: #263244;

    font-size: 0.82rem;
    font-weight: 800;

    border-right: 1px solid #e1e5ea;
    border-bottom: 2px solid #f05a24;
}

/* Celdas */
.pimec-results-table td,
.pimec-response-table td {
    padding: 13px 14px;
    vertical-align: top;

    background: #ffffff;

    border-right: 1px solid #e1e5ea;
    border-bottom: 1px solid #e1e5ea;

    line-height: 1.45;
}

/* Quitar borde derecho de la última columna */
.pimec-results-table th:last-child,
.pimec-results-table td:last-child,
.pimec-response-table th:last-child,
.pimec-response-table td:last-child {
    border-right: none;
}

/* Quitar borde inferior de la última fila */
.pimec-results-table tbody tr:last-child td,
.pimec-response-table tbody tr:last-child td {
    border-bottom: none;
}

/* Filas alternadas */
.pimec-results-table tbody tr:nth-child(even) td,
.pimec-response-table tbody tr:nth-child(even) td {
    background: #fafbfc;
}

/* Efecto al pasar el cursor */
.pimec-results-table tbody tr:hover td,
.pimec-response-table tbody tr:hover td {
    background: #fff7f2;
    transition: background-color 0.15s ease;
}

/* Primera columna algo más destacada */
.pimec-results-table tbody td:first-child {
    background-clip: padding-box;
}

/* Código secundario */
.pimec-results-table .pimec-score-sub {
    display: block;
    margin-top: 3px;
    color: #687382;
    font-size: 0.76rem;
}

/* Evitar que puntajes y fechas se partan innecesariamente */
.pimec-results-table td:nth-child(4),
.pimec-results-table td:nth-child(6) {
    white-space: nowrap;
}

/* Contenedor responsive */
.pimec-table-wrap {
    width: 100%;
    overflow-x: auto;
    border-radius: 10px;
}

/* Móviles y tablets */
@media (max-width: 900px) {
    .pimec-results-table,
    .pimec-response-table {
        min-width: 900px;
    }
}

.pimec-results-table .pimec-btn {
    padding: 8px 12px;
    min-height: auto;
    font-size: 0.78rem;
    white-space: nowrap;
    border-radius: 8px;
}

/* =========================================================
   PIMEC — Resultados clínicos dentro del expediente
   ========================================================= */

/* Una sola fila por resultado */
.pimec-clinical-results-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    border: 1px solid #dfe3e8;
    border-radius: 12px;
    overflow: hidden;
    background: #ffffff;
}

/* Cada resultado se comporta como una fila */
.pimec-clinical-result-row {
    display: grid;
    grid-template-columns:
        minmax(230px, 1.5fr)
        90px
        minmax(280px, 2fr)
        auto;

    gap: 18px;
    align-items: center;

    padding: 15px 16px;

    border: none;
    border-bottom: 1px solid #dfe3e8;
    border-radius: 0;

    background: #ffffff;
}

/* Última fila */
.pimec-clinical-result-row:last-child {
    border-bottom: none;
}

/* Filas alternadas */
.pimec-clinical-result-row:nth-child(even) {
    background: #fafbfc;
}

/* Efecto hover */
.pimec-clinical-result-row:hover {
    background: #fff7f2;
    transition: background-color 0.15s ease;
}

/* Nombre del instrumento */
.pimec-clinical-result-row > div:first-child strong {
    display: block;
    color: #182230;
    font-size: 0.92rem;
    line-height: 1.35;
}

/* Sesión y fecha */
.pimec-clinical-result-row .pimec-result-date {
    display: block;
    margin-top: 4px;
    color: #788391;
    font-size: 0.74rem;
}

/* Puntaje */
.pimec-clinical-result-row .pimec-score-main {
    font-size: 1rem;
    font-weight: 900;
    color: #182230;
    text-align: center;
}

/* Interpretación */
.pimec-clinical-result-row > div:nth-child(3) {
    line-height: 1.45;
    color: #334155;
}

/* Botón Detalle más discreto */
.pimec-clinical-result-row .pimec-btn {
    padding: 8px 12px;
    min-height: auto;
    border-radius: 8px;
    font-size: 0.78rem;
    white-space: nowrap;
}

/* Separadores verticales sutiles */
.pimec-clinical-result-row > div:nth-child(2),
.pimec-clinical-result-row > div:nth-child(3),
.pimec-clinical-result-row > form {
    padding-left: 16px;
    border-left: 1px solid #e5e8ec;
}

/* Tablet */
@media (max-width: 1000px) {
    .pimec-clinical-result-row {
        grid-template-columns:
            minmax(200px, 1.3fr)
            70px
            minmax(220px, 1.6fr)
            auto;
        gap: 12px;
    }
}

/* Celular */
@media (max-width: 700px) {
    .pimec-clinical-results-grid {
        gap: 12px;
        border: none;
        background: transparent;
    }

    .pimec-clinical-result-row {
        grid-template-columns: 1fr;
        gap: 8px;

        padding: 16px;

        border: 1px solid #dfe3e8;
        border-radius: 12px;

        background: #ffffff;
    }

    .pimec-clinical-result-row:nth-child(even) {
        background: #ffffff;
    }

    .pimec-clinical-result-row > div:nth-child(2),
    .pimec-clinical-result-row > div:nth-child(3),
    .pimec-clinical-result-row > form {
        padding-left: 0;
        border-left: none;
    }

    .pimec-clinical-result-row .pimec-score-main {
        text-align: left;
    }

    .pimec-clinical-result-row form {
        margin-top: 4px;
    }

    .pimec-clinical-result-row .pimec-btn {
        width: 100%;
    }
}

.pimec-actions button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    min-height: 44px;
    padding: 11px 18px;

    border: 1px solid var(--orange);
    border-radius: 10px;

    background: var(--orange);
    color: #ffffff;

    font: inherit;
    font-weight: 800;
    text-decoration: none;

    cursor: pointer;

    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.pimec-actions button:hover {
    background: var(--orange-dark);
    border-color: var(--orange-dark);

    transform: translateY(-1px);

    box-shadow: 0 6px 16px rgba(240, 90, 36, 0.18);
}

.pimec-actions button:active {
    transform: translateY(0);
}

.pimec-actions button:focus-visible {
    outline: 3px solid rgba(240, 90, 36, 0.25);
    outline-offset: 2px;
}


.pimec-auth-card {
    width: 100%;
    max-width: 720px;
    margin: 0 auto;
}


/* =========================================================
   PIMEC · Normalización global de campos de formulario
   ========================================================= */

input:not([type]),
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="tel"],
input[type="url"],
input[type="date"],
input[type="time"],
input[type="datetime-local"],
select,
textarea {
    width: 100%;
    min-height: 48px;
    padding: 12px 14px;

    border: 1px solid #D8DEE8;
    border-radius: 10px;

    background: #FFFFFF;
    color: #10213A;

    font: inherit;
    font-size: 0.95rem;
    line-height: 1.4;

    box-sizing: border-box;
    outline: none;

    transition:
        border-color 0.18s ease,
        box-shadow 0.18s ease,
        background-color 0.18s ease;
}

textarea {
    min-height: 120px;
    resize: vertical;
}


/* Hover */

input:not([type]):hover,
input[type="text"]:hover,
input[type="email"]:hover,
input[type="password"]:hover,
input[type="number"]:hover,
input[type="tel"]:hover,
input[type="url"]:hover,
input[type="date"]:hover,
input[type="time"]:hover,
input[type="datetime-local"]:hover,
select:hover,
textarea:hover {
    border-color: #BCC5D2;
}


/* Focus */

input:not([type]):focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="date"]:focus,
input[type="time"]:focus,
input[type="datetime-local"]:focus,
select:focus,
textarea:focus {
    border-color: #F15A24;
    box-shadow: 0 0 0 3px rgba(241, 90, 36, 0.12);
    background: #FFFFFF;
}
