/* ==========================================================================
   MediCenter · /levantamiento-de-observaciones — capacidad operativa P0.
   Página NATIVA (frontend, sin backend). Consume tokens.css. CSS aislado.
   Sin gradientes, sin !important, sin colores/radios fuera de los tokens.
   ========================================================================== */
[x-cloak]{display:none}

/* ---------- 1 · HERO ESTRATÉGICO ---------- */
.lv-hero{background:var(--mc-brand-subtle);border-bottom:1px solid var(--mc-border-default)}
.lv-hero__grid{display:grid;grid-template-columns:1.08fr .92fr;gap:var(--mc-space-12);align-items:center;
  padding:52px 0 50px}
.lv-hero__body h1{font-size:3.1rem;line-height:1.05;margin:8px 0 0;max-width:16ch}
.lv-accent{color:var(--mc-brand-primary);display:block}
.lv-hero__lead{margin:16px 0 0;color:var(--mc-text-secondary);font-size:1.1rem;line-height:1.55;max-width:52ch}
.lv-hero__cta{display:flex;gap:12px;margin:26px 0 0;flex-wrap:wrap}
/* Panel de orientación previa (no dashboard/portal): tarjeta sobria */
.lv-hero__panel{background:var(--mc-bg-surface);border:1px solid var(--mc-border-default);
  border-radius:var(--mc-radius-lg);padding:26px 26px;box-shadow:var(--mc-shadow-card)}
.lv-hero__panel-t{font-family:var(--mc-font-sans);font-size:.78rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--mc-brand-primary);margin:0 0 14px}
.lv-hero__steps{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.lv-hero__steps li{display:flex;gap:12px;align-items:center;font-size:1rem;color:var(--mc-text-primary)}
.lv-hero__steps li span{flex:none;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;
  background:var(--mc-brand-soft);color:var(--mc-brand-primary);font-weight:700;font-family:var(--mc-font-sans)}
.lv-hero__panel-n{margin:16px 0 0;font-size:.86rem;color:var(--mc-text-secondary);line-height:1.5}

/* ---------- 2 · CONTEXTO / 3 · PREPARACIÓN ---------- */
.lv-when{padding:48px 0 8px}
.lv-when h2,.lv-prep h2{font-size:1.7rem;margin:0 0 20px}
.lv-prep{background:var(--mc-bg-soft);border-top:1px solid var(--mc-border-default);
  border-bottom:1px solid var(--mc-border-default);padding:48px 0;margin-top:40px}
.lv-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.lv-list--two{grid-template-columns:1fr 1fr;gap:14px 28px}
.lv-list li{display:flex;gap:12px;align-items:flex-start;color:var(--mc-text-secondary);font-size:1rem;line-height:1.5}
.lv-list__ic{flex:none;width:34px;height:34px;display:grid;place-items:center;border-radius:10px;
  background:var(--mc-brand-soft);color:var(--mc-brand-primary)}
.lv-list__ic svg{width:19px;height:19px}

/* ---------- 4 · FORMULARIO ---------- */
.lv-formwrap{padding:52px 0}
.lv-formwrap__h2{font-size:1.9rem;margin:0}
.lv-formwrap__intro{margin:10px 0 26px;color:var(--mc-text-secondary)}
.lv-form{max-width:820px}
.lv-req{color:var(--mc-danger)}
.lv-opt{font-weight:400;color:var(--mc-text-secondary);font-size:.9em}

.lv-sec{border:0;border-top:1px solid var(--mc-border-default);margin:0;padding:26px 0 8px}
.lv-sec:first-of-type{border-top:0;padding-top:0}
.lv-sec legend{display:flex;align-items:center;gap:10px;padding:0;margin:0 0 18px;
  font-family:var(--mc-font-sans);font-size:1.15rem;font-weight:700;color:var(--mc-text-primary)}
.lv-sec__n{flex:none;width:34px;height:34px;display:grid;place-items:center;border-radius:8px;
  background:var(--mc-brand-subtle);color:var(--mc-brand-primary);font-size:.85rem}

.lv-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px}
.lv-field{display:flex;flex-direction:column;gap:6px;min-width:0;margin-bottom:18px}
.lv-grid .lv-field{margin-bottom:0}
.lv-field label{font-family:var(--mc-font-sans);font-size:.9rem;font-weight:600;color:var(--mc-text-primary)}
.lv-field input,.lv-field select,.lv-field textarea{
  font:inherit;font-size:1rem;color:var(--mc-text-primary);background:var(--mc-bg-surface);
  border:1px solid var(--mc-border-strong);border-radius:var(--mc-radius-sm);padding:11px 13px;width:100%}
.lv-field textarea{resize:vertical;min-height:104px}
.lv-field input:focus,.lv-field select:focus,.lv-field textarea:focus,
.lv-esp__search:focus{outline:2px solid var(--mc-brand-primary);outline-offset:1px;border-color:var(--mc-brand-primary)}
.lv-err{margin:2px 0 0;font-size:.85rem;color:var(--mc-danger)}

/* Checklist buscable de especialidades */
.lv-esp{border:1px solid var(--mc-border-default);border-radius:var(--mc-radius);padding:14px;background:var(--mc-bg-soft)}
.lv-esp__search{font:inherit;font-size:1rem;width:100%;background:var(--mc-bg-surface);
  border:1px solid var(--mc-border-strong);border-radius:var(--mc-radius-sm);padding:10px 12px}
.lv-esp__chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0}
.lv-chip{display:inline-flex;align-items:center;gap:6px;background:var(--mc-brand-soft);
  color:var(--mc-brand-primary);border:1px solid var(--mc-border-default);border-radius:999px;
  padding:4px 6px 4px 12px;font-size:.85rem;font-weight:600}
.lv-chip button{border:0;background:transparent;color:var(--mc-brand-primary);cursor:pointer;
  width:22px;height:22px;border-radius:50%;line-height:1;font-size:.9rem}
.lv-chip button:hover{background:var(--mc-bg-surface)}
.lv-chip button:focus-visible{outline:2px solid var(--mc-brand-primary);outline-offset:1px}
.lv-esp__count{margin:10px 0;font-size:.85rem;color:var(--mc-text-secondary)}
.lv-esp__list{list-style:none;margin:0;padding:0;max-height:240px;overflow-y:auto;
  display:grid;grid-template-columns:1fr 1fr;gap:2px 16px;background:var(--mc-bg-surface);
  border:1px solid var(--mc-border-default);border-radius:var(--mc-radius-sm);padding:8px 12px}
.lv-esp__opt{display:flex;gap:10px;align-items:center;padding:7px 4px;font-size:.95rem;
  color:var(--mc-text-primary);cursor:pointer}
.lv-esp__opt input{width:auto;flex:none}
.lv-esp__empty{color:var(--mc-text-secondary);font-size:.9rem;padding:8px 4px;grid-column:1 / -1}

/* Sustento documental (solo interfaz) */
.lv-file .lv-file__input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;padding:0;border:0}
.lv-file__drop{display:inline-flex;align-items:center;gap:10px;cursor:pointer;
  border:1px dashed var(--mc-border-strong);border-radius:var(--mc-radius);padding:14px 18px;
  color:var(--mc-text-secondary);background:var(--mc-bg-soft)}
.lv-file__drop:hover{border-color:var(--mc-brand-primary);color:var(--mc-brand-primary)}
.lv-file .lv-file__input:focus-visible + .lv-file__drop{outline:2px solid var(--mc-brand-primary);outline-offset:2px}
.lv-file__drop svg{width:20px;height:20px}
.lv-file__selected{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:12px 0 0;
  background:var(--mc-bg-surface);border:1px solid var(--mc-border-default);border-radius:var(--mc-radius-sm);
  padding:10px 14px;font-size:.95rem;color:var(--mc-text-secondary)}
.lv-file__remove{border:0;background:transparent;color:var(--mc-brand-primary);font-weight:600;cursor:pointer;padding:0}
.lv-file__remove:hover{text-decoration:underline}

/* Consentimiento + submit honesto */
.lv-consent{display:flex;gap:10px;align-items:flex-start;line-height:1.5;cursor:pointer;margin-top:4px}
.lv-consent input{width:auto;flex:none;margin-top:3px}
.lv-consent span{font-size:.95rem;color:var(--mc-text-secondary)}
.lv-consent em{display:block;margin-top:4px;color:var(--mc-text-muted);font-size:.88rem;font-style:italic}
.lv-submit{margin-top:24px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.lv-note{margin:0;font-size:.92rem;line-height:1.5;border-radius:var(--mc-radius-sm);padding:12px 16px}
.lv-note--warn{background:#FBEDEC;border:1px solid #E8C4C0;color:var(--mc-danger)}
.lv-note--info{background:var(--mc-brand-subtle);border:1px solid var(--mc-border-default);color:var(--mc-text-primary)}

/* ---------- 5 · ORIENTACIÓN / 6 · CIERRE ---------- */
.lv-orient{background:var(--mc-bg-soft);border-top:1px solid var(--mc-border-default)}
.lv-orient__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--mc-space-6);padding:34px 0}
.lv-orient h2{font-size:1.4rem;margin:0}
.lv-orient p{margin:4px 0 0;color:var(--mc-text-secondary)}
.lv-orient .mc-btn{flex:none}
.lv-close{padding:32px 0 56px}
.lv-close p{max-width:70ch;color:var(--mc-text-secondary);font-size:.98rem;line-height:1.6;margin:0}

/* ---------- RESPONSIVE ---------- */
@media (max-width:900px){
  .lv-hero__grid{grid-template-columns:1fr;gap:28px;padding:40px 0}
  .lv-hero__body h1{font-size:2.4rem}
}
@media (max-width:768px){
  .lv-hero__body h1{font-size:2.2rem}
  .lv-when h2,.lv-prep h2{font-size:1.5rem}
}
@media (max-width:640px){
  .lv-hero__body h1{font-size:2.15rem}
  .lv-hero__cta .mc-btn{width:100%;justify-content:center}
  .lv-list--two{grid-template-columns:1fr}
  .lv-grid{grid-template-columns:1fr}
  .lv-esp__list{grid-template-columns:1fr}
  .lv-orient__inner{flex-direction:column;align-items:flex-start;gap:16px}
  .lv-orient .mc-btn{width:100%;justify-content:center}
}
