:root{--bg:#f5f7fb;--surface:#fff;--ink:#172033;--muted:#667085;--line:#d9e1ec;--brand:#123b63;--brand2:#0d6b8c;--gold:#f4a811;--ok:#177245;--warn:#b45f06;--danger:#a83232;--radius:18px;--shadow:0 14px 36px rgba(17,32,51,.10)}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--ink);font-size:16px}.app{min-height:100vh;display:grid;grid-template-columns:290px 1fr}.sidebar{background:#0f2238;color:#eaf2fb;padding:22px;position:sticky;top:0;height:100vh;overflow:auto}.brand{display:flex;gap:12px;align-items:center;margin-bottom:26px}.logo{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,var(--gold),#fff0bd);display:grid;place-items:center;color:#102337;font-weight:900}.brand h1{font-size:19px;margin:0}.brand small{color:#b9c7d6}.nav{display:grid;gap:8px}.nav button{width:100%;min-height:48px;border:0;border-radius:14px;background:transparent;color:#eaf2fb;text-align:left;padding:12px 14px;font-weight:700;cursor:pointer}.nav button:hover,.nav button.active{background:#1d3857}.main{display:grid;grid-template-rows:auto 1fr}.topbar{min-height:74px;background:rgba(255,255,255,.88);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:14px 24px;position:sticky;top:0;z-index:2}.search{display:flex;align-items:center;gap:10px;max-width:560px;width:100%;background:#f0f4f9;border:1px solid var(--line);border-radius:999px;padding:10px 14px}.search input{border:0;background:transparent;outline:0;width:100%;font-size:16px}.content{padding:24px;display:grid;grid-template-columns:minmax(0,1fr)340px;gap:22px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}.hero{background:linear-gradient(135deg,#102337,#0d6b8c);color:#fff;border-radius:24px;padding:30px;box-shadow:var(--shadow)}.hero h2{font-size:34px;margin:0 0 8px}.hero p{max-width:880px;line-height:1.55;color:#e6f2fb}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 6px 18px rgba(17,32,51,.06);cursor:pointer}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.card h3{margin:0 0 8px;font-size:18px}.card p{color:var(--muted);line-height:1.45}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800;background:#eef6fa;color:#0d6b8c;margin:3px 5px 3px 0}.section-title{display:flex;justify-content:space-between;align-items:center;margin:22px 0 12px}.section-title h2{margin:0}.kv{display:grid;grid-template-columns:160px 1fr;gap:8px;border-top:1px solid var(--line);padding-top:14px}.list{display:grid;gap:10px}.list button{border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px;text-align:left;cursor:pointer}.list button:hover{border-color:#0d6b8c}.context{position:sticky;top:98px;height:calc(100vh - 120px);overflow:auto}.progress{height:10px;background:#e6edf5;border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--brand2),var(--gold))}.empty{color:var(--muted);font-style:italic}.mobile-toggle{display:none}@media(max-width:1020px){.app{grid-template-columns:1fr}.sidebar{position:fixed;z-index:5;inset:0 auto 0 0;width:300px;transform:translateX(-105%);transition:.25s}.sidebar.open{transform:translateX(0)}.mobile-toggle{display:inline-flex}.content{grid-template-columns:1fr}.context{position:static;height:auto}.grid{grid-template-columns:1fr 1fr}}@media(max-width:700px){.topbar{padding:12px}.content{padding:14px}.grid{grid-template-columns:1fr}.hero h2{font-size:26px}.kv{grid-template-columns:1fr}.search{max-width:none}}@media print{.sidebar,.topbar,.context{display:none}.app,.content{display:block}.panel,.hero,.card{box-shadow:none}}
.lead{font-size:18px;line-height:1.6;color:#334155}.tag-row{margin:12px 0 16px}.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;color:var(--muted)}.breadcrumbs button{border:0;background:#eef6fa;color:#0d6b8c;border-radius:999px;padding:6px 10px;font-weight:700}.knowledge-viewer h3{margin-top:22px;border-top:1px solid var(--line);padding-top:16px}.knowledge-viewer ul{line-height:1.7}.mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mini-grid button{border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px;text-align:left;cursor:pointer}.mini-grid button:hover{border-color:var(--brand2)}.mini-grid strong{display:block}.mini-grid small{color:var(--muted)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid var(--line);padding:12px;text-align:left;vertical-align:top}th{font-size:13px;text-transform:uppercase;color:#475569;background:#f8fafc}.metrics .card{cursor:default}.metrics .card:hover{transform:none}
/* Sprint 003 — Dashboard Profesional */
.dashboard-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(135deg,#102337,#123b63 55%,#0d6b8c);color:#fff;border-radius:24px;padding:28px 30px;box-shadow:var(--shadow);margin-bottom:18px}.dashboard-hero h2{font-size:32px;margin:10px 0 8px}.dashboard-hero p{max-width:820px;color:#e7f2fb;line-height:1.55;margin:0}.primary-action{min-height:48px;border:0;border-radius:16px;background:var(--gold);color:#102337;font-weight:900;padding:12px 18px;cursor:pointer;white-space:nowrap}.dash-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:16px 0}.dash-metric{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 6px 18px rgba(17,32,51,.06)}.dash-metric strong{display:block;font-size:34px;color:var(--brand)}.dash-metric span{display:block;font-weight:900}.dash-metric small{color:var(--muted)}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.dash-widget{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 6px 18px rgba(17,32,51,.06)}.widget-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.widget-head h3{margin:0;font-size:18px}.lead-sm{color:var(--muted);margin-top:0}.progress-line{display:grid;grid-template-columns:1fr auto;gap:6px;margin:0 0 14px}.progress-line small{display:block;color:var(--muted)}.progress-line .progress{grid-column:1/-1}.resource-btn{width:100%;min-height:54px;border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px;text-align:left;cursor:pointer;margin:0 0 9px}.resource-btn:hover{border-color:var(--brand2);box-shadow:0 8px 18px rgba(13,107,140,.10)}.resource-btn strong{display:block}.resource-btn small{display:block;color:var(--muted);margin-top:4px}.dashboard-coverage{margin-top:18px}.statusbar{border-top:1px solid var(--line);background:#fff;color:var(--muted);padding:8px 24px;font-size:13px}.theme-btn{border:1px solid var(--line);background:#fff;border-radius:999px;min-height:40px;padding:8px 12px;cursor:pointer}.topbar-right{display:flex;align-items:center;gap:10px}.offline-dot{width:10px;height:10px;border-radius:99px;background:var(--ok);display:inline-block;margin-right:6px}body.dark{--bg:#0b1220;--surface:#111c2e;--ink:#e8eef7;--muted:#9fb0c6;--line:#26364d;--shadow:0 14px 36px rgba(0,0,0,.35)}body.dark .topbar,body.dark .card,body.dark .dash-widget,body.dark .dash-metric,body.dark .panel,body.dark .resource-btn,body.dark .list button,body.dark .mini-grid button{background:#111c2e;color:var(--ink)}body.dark .search{background:#0b1424}body.dark th{background:#0b1424;color:#c3d1e4}@media(max-width:1180px){.dash-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.dashboard-hero{align-items:flex-start;flex-direction:column}.primary-action{white-space:normal}}@media(max-width:700px){.dash-metrics{grid-template-columns:1fr}.dashboard-hero h2{font-size:25px}.dashboard-hero{padding:22px}.dash-widget,.dash-metric{padding:14px}}
/* Sprint 004 — Knowledge Viewer profesional */
.pro-viewer{padding:0;overflow:hidden}.viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border-bottom:1px solid var(--line);background:#f8fafc}.viewer-actions{display:flex;gap:8px}.viewer-actions button,.viewer-tabs button{min-height:40px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-weight:800;padding:8px 12px;cursor:pointer}.viewer-actions button:hover,.viewer-tabs button:hover{border-color:var(--brand2)}.viewer-header{display:grid;grid-template-columns:minmax(0,1fr)120px;gap:18px;padding:24px}.viewer-header h2{font-size:32px;margin:8px 0}.viewer-id{border:1px solid var(--line);border-radius:18px;background:#f8fafc;display:grid;place-items:center;text-align:center;align-self:start;padding:16px}.viewer-id strong{font-size:24px;color:var(--brand)}.viewer-id small{color:var(--muted);font-weight:800;text-transform:uppercase}.viewer-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 24px 22px}.viewer-meta div{border:1px solid var(--line);border-radius:16px;background:#fff;padding:12px}.viewer-meta strong{display:block;font-size:12px;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.viewer-tabs{display:flex;gap:8px;padding:14px 24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:auto}.viewer-tabs button.active{background:var(--brand2);border-color:var(--brand2);color:#fff}.viewer-tab-panel{display:none;padding:22px 24px}.viewer-tab-panel.active{display:block}.viewer-section{margin-bottom:22px}.viewer-section h3{border:0;margin:0 0 10px;padding:0}.viewer-section p,.viewer-section li{line-height:1.68}.relation-group{margin-bottom:22px}.relation-group h4{margin:0 0 10px;color:var(--brand)}.relation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.relation-card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:14px;text-align:left;cursor:pointer;min-height:70px}.relation-card:hover{border-color:var(--brand2);box-shadow:0 8px 18px rgba(13,107,140,.10)}.relation-card strong{display:block}.relation-card small{display:block;color:var(--muted);margin-top:5px}.evidence-list{display:grid;gap:10px}.evidence-list label{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff}.evidence-list input{width:20px;height:20px;margin-top:2px}.crumb{cursor:pointer}body.dark .viewer-toolbar,body.dark .viewer-id,body.dark .viewer-meta div,body.dark .relation-card,body.dark .evidence-list label,body.dark .viewer-actions button,body.dark .viewer-tabs button{background:#111c2e;color:var(--ink)}body.dark .viewer-toolbar{background:#0b1424}@media(max-width:900px){.viewer-header{grid-template-columns:1fr}.viewer-meta{grid-template-columns:1fr 1fr}.relation-grid{grid-template-columns:1fr}}@media(max-width:560px){.viewer-meta{grid-template-columns:1fr}.viewer-header h2{font-size:25px}.viewer-toolbar{align-items:flex-start;flex-direction:column}.viewer-tab-panel{padding:18px}.viewer-header,.viewer-meta,.viewer-tabs{padding-left:18px;padding-right:18px}}
/* Sprint 005 — Search Engine */
.search-page{overflow:hidden}.search-head{display:grid;grid-template-columns:minmax(0,1fr)minmax(280px,440px);gap:18px;align-items:end;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:16px}.search-head h2{font-size:30px;margin:8px 0}.search-large{display:flex;gap:10px;background:#f0f4f9;border:1px solid var(--line);border-radius:18px;padding:8px}.search-large input{min-height:48px;border:0;background:transparent;outline:0;width:100%;font-size:16px;padding:0 10px}.search-large button{min-height:48px;border:0;border-radius:14px;background:var(--brand2);color:white;font-weight:900;padding:0 18px;cursor:pointer}.search-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.search-summary div{border:1px solid var(--line);border-radius:16px;background:#fff;padding:14px}.search-summary strong{display:block;font-size:28px;color:var(--brand)}.search-summary span{font-weight:800;color:var(--muted)}.result-group{margin:20px 0}.result-list{display:grid;gap:10px}.result-card{width:100%;border:1px solid var(--line);border-radius:16px;background:#fff;text-align:left;padding:16px;cursor:pointer}.result-card:hover{border-color:var(--brand2);box-shadow:0 8px 18px rgba(13,107,140,.10)}.result-card strong{display:block;font-size:18px;margin:4px 0}.result-card p{margin:0 0 8px;color:var(--muted);line-height:1.45}.result-card small{color:var(--brand2);font-weight:800}.result-type{display:inline-flex;border-radius:999px;background:#eef6fa;color:#0d6b8c;font-size:12px;font-weight:900;padding:5px 9px}body.dark .search-large,body.dark .search-summary div,body.dark .result-card{background:#111c2e;color:var(--ink)}@media(max-width:900px){.search-head{grid-template-columns:1fr}.search-summary{grid-template-columns:1fr 1fr}}@media(max-width:560px){.search-large{flex-direction:column}.search-summary{grid-template-columns:1fr}}
/* Sprint 006 — Design System */
:root{--focus:0 0 0 3px rgba(13,107,140,.25);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px}.btn{min-height:48px;border-radius:14px;border:1px solid var(--line);font-weight:900;padding:10px 16px;cursor:pointer;margin:4px 6px 4px 0}.btn:focus-visible,.nav button:focus-visible,.card:focus-visible,.resource-btn:focus-visible,.result-card:focus-visible,.relation-card:focus-visible,.theme-btn:focus-visible,.primary-action:focus-visible{outline:0;box-shadow:var(--focus)}.btn-primary{background:var(--brand2);border-color:var(--brand2);color:#fff}.btn-secondary{background:#fff;color:var(--brand);border-color:var(--brand)}.btn-ghost{background:transparent;color:var(--brand2);border-color:transparent}.badge-success{background:#e8f6ee;color:var(--ok)}.badge-warn{background:#fff4df;color:var(--warn)}.design-page{padding:0}.design-hero{background:linear-gradient(135deg,#102337,#0d6b8c);color:#fff;padding:28px;border-radius:18px 18px 0 0}.design-hero h2{font-size:32px;margin:10px 0 8px}.design-hero p{max-width:900px;color:#e7f2fb;line-height:1.58}.design-section{padding:22px 24px;border-top:1px solid var(--line)}.design-section h3{margin:0 0 14px}.design-principles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.design-principles article,.component-card,.component-surface{border:1px solid var(--line);border-radius:18px;background:#fff;padding:16px;box-shadow:0 6px 18px rgba(17,32,51,.06)}.design-principles strong{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:12px;background:#eef6fa;color:var(--brand2);margin-bottom:8px}.design-principles p{margin:0;color:var(--muted);line-height:1.5}.component-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.component-card h4,.component-surface h4{margin:8px 0}.component-card p{color:var(--muted);line-height:1.45}.component-card small{color:var(--brand2);font-weight:800}.showcase-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.component-surface{min-height:145px}code{background:#eef2f7;border:1px solid var(--line);border-radius:8px;padding:3px 6px}body.dark .btn-secondary,body.dark .design-principles article,body.dark .component-card,body.dark .component-surface{background:#111c2e;color:var(--ink)}body.dark code{background:#0b1424;color:#dce8f7}@media(max-width:1100px){.component-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.design-principles,.showcase-grid{grid-template-columns:1fr}}@media(max-width:560px){.component-grid{grid-template-columns:1fr}.design-hero h2{font-size:25px}.design-section{padding:18px}}

/* Sprint 007 — Centro Profesional */
.professional-center{padding:0;overflow:hidden}.pc-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(135deg,#102337,#0d6b8c);color:#fff;padding:28px}.pc-hero h2{font-size:32px;margin:8px 0}.pc-hero p{max-width:850px;color:#e7f2fb;line-height:1.58}.pc-hero-stats{min-width:160px;border:1px solid rgba(255,255,255,.32);border-radius:20px;padding:18px;text-align:center;background:rgba(255,255,255,.08)}.pc-hero-stats strong{display:block;font-size:38px}.pc-hero-stats span{font-weight:800;color:#e7f2fb}.pc-tools{display:grid;grid-template-columns:minmax(280px,420px) 1fr;gap:14px;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line)}.pc-search{display:flex;gap:10px;align-items:center;background:#f0f4f9;border:1px solid var(--line);border-radius:16px;padding:10px 12px}.pc-search input{border:0;outline:0;background:transparent;width:100%;font-size:16px}.pc-filter{display:flex;gap:8px;overflow:auto}.pc-filter button{min-height:42px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-weight:900;padding:8px 12px;white-space:nowrap;cursor:pointer}.pc-filter button.active{background:var(--brand2);border-color:var(--brand2);color:#fff}.pc-filter small{opacity:.78;margin-left:4px}.pc-layout{display:grid;grid-template-columns:340px minmax(0,1fr);min-height:680px}.pc-list{border-right:1px solid var(--line);padding:14px;max-height:780px;overflow:auto;background:#f8fafc}.pc-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:15px;margin-bottom:12px;cursor:pointer;box-shadow:0 4px 12px rgba(17,32,51,.05)}.pc-card:hover,.pc-card.selected{border-color:var(--brand2);box-shadow:0 10px 24px rgba(13,107,140,.12)}.pc-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.pc-id{font-size:12px;color:var(--muted);font-weight:900}.pc-card h3{font-size:17px;margin:10px 0 6px}.pc-card p{font-size:14px;color:var(--muted);line-height:1.4;margin:0 0 10px}.pc-tags,.pc-profiles,.pc-relations{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.pc-tags span{border-radius:999px;background:#eef2f7;color:#42526a;font-size:12px;font-weight:800;padding:4px 8px}.pc-profiles small{border-radius:999px;background:#fff4df;color:var(--warn);font-weight:900;padding:3px 7px}.pc-relations small{border-radius:999px;background:#eef6fa;color:var(--brand2);font-weight:900;padding:3px 7px}.pc-detail{padding:22px}.pc-detail-head{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:18px}.pc-detail-head h2{font-size:30px;margin:8px 0}.pc-detail-head p{color:var(--muted);line-height:1.55;max-width:780px}.pc-detail-actions{display:flex;align-items:flex-start;flex-wrap:wrap;justify-content:flex-end;min-width:210px}.pc-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px}.pc-slab,.pc-detail-section,.pc-template{border:1px solid var(--line);border-radius:18px;background:#fff;padding:16px;box-shadow:0 5px 14px rgba(17,32,51,.04)}.pc-slab h4,.pc-detail-section h4,.pc-template h4{margin:0 0 10px;color:var(--brand)}.pc-slab p,.pc-detail-section li,.template-box p{line-height:1.58}.pc-detail-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.mini-chip{min-height:34px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--brand2);font-weight:900;padding:6px 10px;margin:3px;cursor:pointer}.mini-chip:hover{border-color:var(--brand2);box-shadow:0 6px 14px rgba(13,107,140,.10)}.template-box{background:#f8fafc;border:1px dashed var(--line);border-radius:14px;padding:14px}.pc-template{margin-top:16px}body.dark .pc-search,body.dark .pc-list,body.dark .pc-card,body.dark .pc-filter button,body.dark .pc-slab,body.dark .pc-detail-section,body.dark .pc-template,body.dark .mini-chip,body.dark .template-box{background:#111c2e;color:var(--ink)}body.dark .pc-list,body.dark .template-box{background:#0b1424}@media(max-width:1180px){.pc-layout{grid-template-columns:1fr}.pc-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-height:none;border-right:0;border-bottom:1px solid var(--line)}.pc-card{margin-bottom:0}.pc-tools{grid-template-columns:1fr}.pc-detail-head{flex-direction:column}.pc-detail-actions{justify-content:flex-start}}@media(max-width:740px){.pc-hero{flex-direction:column;align-items:flex-start}.pc-list,.pc-detail-grid,.pc-detail-two{grid-template-columns:1fr}.pc-detail{padding:16px}.pc-hero h2,.pc-detail-head h2{font-size:25px}.pc-tools{padding:14px}.pc-filter{padding-bottom:4px}}

/* Sprint 008 — Implementador NOGAI */
.implementation-center{padding:0;overflow:hidden}.imp-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(135deg,#102337,#0d6b8c);color:#fff;padding:28px}.imp-hero h2{font-size:32px;margin:8px 0}.imp-hero p{max-width:880px;color:#e7f2fb;line-height:1.58}.imp-hero-stat{min-width:165px;border:1px solid rgba(255,255,255,.34);border-radius:20px;padding:18px;text-align:center;background:rgba(255,255,255,.08)}.imp-hero-stat strong{display:block;font-size:40px}.imp-hero-stat span{font-weight:900;color:#e7f2fb}.imp-controls{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.9fr);gap:14px;padding:18px 20px;border-bottom:1px solid var(--line);align-items:center}.imp-tabs{display:flex;gap:8px;overflow:auto;padding-bottom:2px}.imp-tabs button{min-height:44px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-weight:900;padding:8px 13px;white-space:nowrap;cursor:pointer}.imp-tabs button.active{background:var(--brand2);border-color:var(--brand2);color:#fff}.imp-route-summary{border:1px solid var(--line);border-radius:16px;background:#f8fafc;padding:13px}.imp-route-summary strong{display:block;color:var(--brand);margin-bottom:3px}.imp-route-summary span{display:block;color:var(--muted);font-size:14px;line-height:1.35}.imp-route-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:18px 20px;background:#f8fafc;border-bottom:1px solid var(--line)}.imp-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:16px;cursor:pointer;box-shadow:0 5px 14px rgba(17,32,51,.05)}.imp-card:hover{border-color:var(--brand2);box-shadow:0 10px 24px rgba(13,107,140,.12)}.imp-card-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.imp-card-top strong{color:var(--brand2);font-size:18px}.imp-card h3{font-size:18px;margin:12px 0 7px}.imp-card p{color:var(--muted);line-height:1.45;font-size:14px;margin:0 0 12px}.imp-card-meta{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.imp-card-meta small,.imp-relations button{border-radius:999px;background:#eef6fa;color:var(--brand2);font-weight:900;padding:4px 8px;border:0}.imp-progress{height:10px;border-radius:999px;background:#e8edf4;overflow:hidden}.imp-progress span{display:block;height:100%;background:linear-gradient(90deg,#0d6b8c,#1a8a4a);border-radius:999px}.imp-detail{padding:22px}.imp-detail-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:18px}.imp-detail-head h2{font-size:30px;margin:8px 0}.imp-detail-head p{color:var(--muted);max-width:820px;line-height:1.55}.imp-score{min-width:170px;border:1px solid var(--line);border-radius:18px;background:#fff;padding:15px;text-align:center;box-shadow:0 5px 14px rgba(17,32,51,.05)}.imp-score strong{display:block;font-size:34px;color:var(--brand2)}.imp-score span{display:block;font-weight:900;color:var(--muted);margin-bottom:10px}.imp-detail-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:14px}.imp-panel,.imp-template{border:1px solid var(--line);border-radius:18px;background:#fff;padding:18px;margin-bottom:14px;box-shadow:0 5px 14px rgba(17,32,51,.04)}.imp-panel h3,.imp-template h3{margin:0 0 13px;color:var(--brand)}.imp-steps{display:grid;gap:10px}.imp-step{display:grid;grid-template-columns:24px 38px 1fr;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:16px;background:#f8fafc;padding:12px;cursor:pointer}.imp-step input{width:20px;height:20px;margin-top:8px}.imp-step-num{display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:#eef6fa;color:var(--brand2);font-weight:900}.imp-step strong{display:block}.imp-step small{display:block;color:var(--muted);line-height:1.35;margin-top:3px}.imp-step.done{border-color:rgba(26,138,74,.35);background:#f0faf4}.imp-step.done .imp-step-num{background:#e8f6ee;color:var(--ok)}.imp-standards{display:grid;gap:8px;margin-bottom:16px}.imp-standards button{border:1px solid var(--line);border-radius:14px;background:#f8fafc;text-align:left;padding:10px;cursor:pointer}.imp-standards button strong{display:block;color:var(--brand2)}.imp-standards button span{font-size:13px;color:var(--muted);line-height:1.35}.imp-relations{display:flex;flex-wrap:wrap;gap:6px}.imp-relations button{min-height:32px;cursor:pointer}.imp-evidence-grid,.imp-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.imp-evidence-grid section,.imp-checklist section{border:1px solid var(--line);border-radius:16px;background:#f8fafc;padding:14px}.imp-evidence-grid h4,.imp-checklist h4{margin:0 0 10px;color:var(--brand)}.imp-evidence-grid li{line-height:1.55;margin-bottom:6px}.imp-checklist label{display:flex;gap:8px;align-items:flex-start;line-height:1.45;padding:8px 0;border-bottom:1px solid var(--line)}.imp-checklist label:last-child{border-bottom:0}.imp-checklist input{width:18px;height:18px;margin-top:2px}.imp-template p{color:var(--muted);line-height:1.55}body.dark .imp-tabs button,body.dark .imp-route-summary,body.dark .imp-route-cards,body.dark .imp-card,body.dark .imp-score,body.dark .imp-panel,body.dark .imp-template,body.dark .imp-step,body.dark .imp-standards button,body.dark .imp-evidence-grid section,body.dark .imp-checklist section{background:#111c2e;color:var(--ink)}body.dark .imp-route-cards,body.dark .imp-step,body.dark .imp-evidence-grid section,body.dark .imp-checklist section{background:#0b1424}@media(max-width:1180px){.imp-route-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.imp-controls,.imp-detail-grid{grid-template-columns:1fr}.imp-detail-head{flex-direction:column}.imp-score{text-align:left}.imp-evidence-grid,.imp-checklist{grid-template-columns:1fr}}@media(max-width:700px){.imp-hero{flex-direction:column;align-items:flex-start}.imp-route-cards{grid-template-columns:1fr}.imp-detail{padding:16px}.imp-hero h2,.imp-detail-head h2{font-size:25px}.imp-controls{padding:14px}.imp-step{grid-template-columns:24px 32px 1fr}.imp-step-num{width:30px;height:30px}}

/* Sprint 009 — Biblioteca Inteligente */
.library-center{padding:0;overflow:hidden}.lib-hero{display:flex;justify-content:space-between;align-items:center;gap:18px;background:linear-gradient(135deg,#102337,#123b63 58%,#0d6b8c);color:#fff;padding:28px}.lib-hero h2{font-size:32px;margin:8px 0}.lib-hero p{max-width:900px;color:#e7f2fb;line-height:1.58}.lib-hero-stats{min-width:168px;border:1px solid rgba(255,255,255,.34);border-radius:20px;padding:18px;text-align:center;background:rgba(255,255,255,.08)}.lib-hero-stats strong{display:block;font-size:42px}.lib-hero-stats span{font-weight:900;color:#e7f2fb}.lib-tools{padding:18px 20px;border-bottom:1px solid var(--line);display:grid;gap:12px}.lib-search{display:flex;align-items:center;gap:10px;background:#f8fafc;border:1px solid var(--line);border-radius:999px;padding:10px 14px}.lib-search input{border:0;background:transparent;outline:0;width:100%;font-size:16px}.lib-filters,.lib-profiles{display:flex;gap:8px;overflow:auto;padding-bottom:2px}.lib-filters button,.lib-profiles button{min-height:42px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-weight:900;padding:8px 12px;white-space:nowrap;cursor:pointer}.lib-filters button.active,.lib-profiles button.active{background:var(--brand2);border-color:var(--brand2);color:#fff}.lib-filters small{opacity:.8}.lib-layout{display:grid;grid-template-columns:350px minmax(0,1fr);min-height:720px}.lib-list{border-right:1px solid var(--line);padding:14px;background:#f8fafc;max-height:820px;overflow:auto}.lib-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:15px;margin-bottom:12px;cursor:pointer;box-shadow:0 4px 12px rgba(17,32,51,.05)}.lib-card:hover,.lib-card.selected{border-color:var(--brand2);box-shadow:0 10px 24px rgba(13,107,140,.12)}.lib-card-top,.lib-foot{display:flex;justify-content:space-between;align-items:center;gap:8px}.lib-card-top small,.lib-foot small{color:var(--muted);font-weight:900}.lib-card h3{font-size:17px;margin:10px 0 7px}.lib-card p{font-size:14px;color:var(--muted);line-height:1.42;margin:0 0 10px}.lib-tags{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0}.lib-tags span{border-radius:999px;background:#eef2f7;color:#42526a;font-size:12px;font-weight:800;padding:4px 8px}.lib-detail{padding:22px}.lib-detail-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:18px}.lib-detail-head h2{font-size:30px;margin:8px 0}.lib-detail-head p{color:var(--muted);max-width:850px;line-height:1.55}.lib-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;min-width:210px}.lib-map{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px}.lib-map section,.lib-section{border:1px solid var(--line);border-radius:18px;background:#fff;padding:16px;box-shadow:0 5px 14px rgba(17,32,51,.04)}.lib-map h4,.lib-section h4{margin:0 0 10px;color:var(--brand)}.lib-pill{width:100%;border:1px solid var(--line);border-radius:14px;background:#f8fafc;text-align:left;padding:10px;margin:0 0 8px;cursor:pointer}.lib-pill:hover{border-color:var(--brand2)}.lib-pill strong{display:block;color:var(--brand2)}.lib-pill span{display:block;color:var(--muted);font-size:13px;line-height:1.35}.lib-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.lib-section p,.lib-section li{line-height:1.6}.lib-cross{margin-top:14px}body.dark .lib-search,body.dark .lib-filters button,body.dark .lib-profiles button,body.dark .lib-list,body.dark .lib-card,body.dark .lib-map section,body.dark .lib-section,body.dark .lib-pill{background:#111c2e;color:var(--ink)}body.dark .lib-list,body.dark .lib-pill{background:#0b1424}@media(max-width:1180px){.lib-layout{grid-template-columns:1fr}.lib-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-height:none;border-right:0;border-bottom:1px solid var(--line)}.lib-card{margin-bottom:0}.lib-detail-head{flex-direction:column}.lib-actions{justify-content:flex-start}.lib-map{grid-template-columns:1fr}}@media(max-width:740px){.lib-hero{flex-direction:column;align-items:flex-start}.lib-list,.lib-detail-grid{grid-template-columns:1fr}.lib-detail{padding:16px}.lib-hero h2,.lib-detail-head h2{font-size:25px}.lib-hero{padding:22px}.lib-tools{padding:14px}}


/* Sprint 010 — Casos Profesionales */
.cases-center{padding:0;overflow:hidden}.case-hero{display:flex;justify-content:space-between;align-items:center;gap:18px;background:linear-gradient(135deg,#102337,#123b63 58%,#0d6b8c);color:#fff;padding:28px}.case-hero h2{font-size:32px;margin:8px 0}.case-hero p{max-width:900px;color:#e7f2fb;line-height:1.58}.case-hero-stat{min-width:160px;border:1px solid rgba(255,255,255,.34);border-radius:20px;padding:18px;text-align:center;background:rgba(255,255,255,.08)}.case-hero-stat strong{display:block;font-size:42px}.case-hero-stat span{font-weight:900;color:#e7f2fb}.case-tools{padding:18px 20px;border-bottom:1px solid var(--line);display:grid;gap:12px}.case-search{display:flex;align-items:center;gap:10px;background:#f8fafc;border:1px solid var(--line);border-radius:999px;padding:10px 14px}.case-search input{border:0;background:transparent;outline:0;width:100%;font-size:16px}.case-filters,.case-profiles{display:flex;gap:8px;overflow:auto;padding-bottom:2px}.case-filters button,.case-profiles button{min-height:42px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-weight:900;padding:8px 12px;white-space:nowrap;cursor:pointer}.case-filters button.active,.case-profiles button.active{background:var(--brand2);border-color:var(--brand2);color:#fff}.case-layout{display:grid;grid-template-columns:360px minmax(0,1fr);min-height:720px}.case-list{border-right:1px solid var(--line);padding:14px;background:#f8fafc;max-height:820px;overflow:auto}.case-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:15px;margin-bottom:12px;cursor:pointer;box-shadow:0 4px 12px rgba(17,32,51,.05)}.case-card:hover,.case-card.selected{border-color:var(--brand2);box-shadow:0 10px 24px rgba(13,107,140,.12)}.case-card-top,.case-foot{display:flex;justify-content:space-between;align-items:center;gap:8px}.case-card-top small,.case-foot small{color:var(--muted);font-weight:900}.case-card h3{font-size:17px;margin:10px 0 7px}.case-card p{font-size:14px;color:var(--muted);line-height:1.42;margin:0 0 10px}.case-tags{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0}.case-tags span{border-radius:999px;background:#eef2f7;color:#42526a;font-size:12px;font-weight:800;padding:4px 8px}.case-detail{padding:22px}.case-detail-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:18px}.case-detail-head h2{font-size:30px;margin:8px 0}.case-detail-head p{color:var(--muted);max-width:850px;line-height:1.55}.case-score{min-width:170px;border:1px solid var(--line);border-radius:18px;background:#fff;padding:15px;text-align:center;box-shadow:0 5px 14px rgba(17,32,51,.05)}.case-score strong{display:block;font-size:20px;color:var(--brand2)}.case-score span{display:block;font-weight:900;color:var(--muted);margin-top:6px}.case-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.case-wide{grid-column:1/-1}.case-section,.case-map section{border:1px solid var(--line);border-radius:18px;background:#fff;padding:16px;box-shadow:0 5px 14px rgba(17,32,51,.04)}.case-section h4,.case-map h4{margin:0 0 10px;color:var(--brand)}.case-section p,.case-section li{line-height:1.6}.case-map{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}.case-pill{width:100%;border:1px solid var(--line);border-radius:14px;background:#f8fafc;text-align:left;padding:10px;margin:0 0 8px;cursor:pointer}.case-pill:hover{border-color:var(--brand2)}.case-pill strong{display:block;color:var(--brand2)}.case-pill span{display:block;color:var(--muted);font-size:13px;line-height:1.35}body.dark .case-search,body.dark .case-filters button,body.dark .case-profiles button,body.dark .case-list,body.dark .case-card,body.dark .case-score,body.dark .case-section,body.dark .case-map section,body.dark .case-pill{background:#111c2e;color:var(--ink)}body.dark .case-list,body.dark .case-pill{background:#0b1424}@media(max-width:1180px){.case-layout{grid-template-columns:1fr}.case-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-height:none;border-right:0;border-bottom:1px solid var(--line)}.case-card{margin-bottom:0}.case-detail-head{flex-direction:column}.case-map{grid-template-columns:1fr}}@media(max-width:740px){.case-hero{flex-direction:column;align-items:flex-start}.case-list,.case-detail-grid{grid-template-columns:1fr}.case-detail{padding:16px}.case-hero h2,.case-detail-head h2{font-size:25px}.case-hero{padding:22px}.case-tools{padding:14px}}

/* Sprint 011 — Autoevaluaciones */
.evaluations-center{padding:0;overflow:hidden}.eval-hero{display:flex;justify-content:space-between;align-items:center;gap:18px;background:linear-gradient(135deg,#102337,#123b63 58%,#0d6b8c);color:#fff;padding:28px}.eval-hero h2{font-size:32px;margin:8px 0}.eval-hero p{max-width:900px;color:#e7f2fb;line-height:1.58}.eval-hero-stat{min-width:160px;border:1px solid rgba(255,255,255,.34);border-radius:20px;padding:18px;text-align:center;background:rgba(255,255,255,.08)}.eval-hero-stat strong{display:block;font-size:42px}.eval-hero-stat span{font-weight:900;color:#e7f2fb}.eval-toolbar{padding:18px 20px;border-bottom:1px solid var(--line);display:grid;gap:12px}.eval-search{display:flex;align-items:center;gap:10px;background:#f8fafc;border:1px solid var(--line);border-radius:999px;padding:10px 14px}.eval-search input{border:0;background:transparent;outline:0;width:100%;font-size:16px}.eval-filters{display:flex;gap:8px;overflow:auto;padding-bottom:2px}.eval-filters button{min-height:42px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-weight:900;padding:8px 12px;white-space:nowrap;cursor:pointer}.eval-filters button.active{background:var(--brand2);border-color:var(--brand2);color:#fff}.eval-layout{display:grid;grid-template-columns:minmax(0,1fr)310px;gap:18px;padding:18px;background:#f8fafc}.eval-question{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;margin-bottom:14px;box-shadow:0 5px 14px rgba(17,32,51,.05)}.eval-q-top{display:flex;justify-content:space-between;align-items:center}.badge.ok{background:#eaf8ef;color:#177245}.badge.warn{background:#fff4df;color:#b45f06}.badge.danger{background:#ffeceb;color:#a83232}.eval-question h3{font-size:18px;line-height:1.45;margin:12px 0}.eval-options{display:grid;gap:9px}.eval-options button{min-height:48px;border:1px solid var(--line);border-radius:14px;background:#fff;text-align:left;padding:11px 12px;cursor:pointer;display:flex;gap:10px;align-items:flex-start}.eval-options button span{display:grid;place-items:center;min-width:28px;height:28px;border-radius:999px;background:#eef6fa;color:#0d6b8c;font-weight:900}.eval-options button:hover{border-color:var(--brand2)}.eval-options button.selected{border-color:var(--brand2);box-shadow:0 0 0 2px rgba(13,107,140,.12)}.eval-options button.correct{border-color:var(--ok);background:#f2fbf5}.eval-options button.incorrect{border-color:var(--danger);background:#fff5f5}.eval-feedback{margin-top:12px}.eval-feedback>div{border-radius:16px;padding:14px;border:1px solid var(--line);background:#f8fafc}.eval-ok{border-color:#c9efd6!important;background:#f2fbf5!important}.eval-bad{border-color:#ffd1d1!important;background:#fff5f5!important}.eval-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.eval-links button{border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--brand2);font-weight:900;padding:6px 10px;cursor:pointer}.eval-result{position:sticky;top:100px;margin-bottom:14px}.eval-score{text-align:center;border:1px solid var(--line);border-radius:18px;padding:16px;background:#fff;margin-bottom:12px}.eval-score strong{display:block;font-size:42px;color:var(--brand2)}.eval-score span{font-weight:900;color:var(--muted)}.eval-help{box-shadow:none}.eval-help p{line-height:1.55;color:var(--muted)}body.dark .eval-search,body.dark .eval-filters button,body.dark .eval-layout,body.dark .eval-question,body.dark .eval-options button,body.dark .eval-feedback>div,body.dark .eval-score{background:#111c2e;color:var(--ink)}body.dark .eval-layout{background:#0b1424}body.dark .eval-options button.correct{background:#0f2d1e}body.dark .eval-options button.incorrect{background:#331719}@media(max-width:1050px){.eval-layout{grid-template-columns:1fr}.eval-result{position:static}}@media(max-width:700px){.eval-hero{flex-direction:column;align-items:flex-start;padding:22px}.eval-hero h2{font-size:25px}.eval-layout{padding:12px}.eval-question{padding:14px}.eval-toolbar{padding:14px}}


/* Sprint 012 — Simulador Profesional */
.simulator-center{padding:0;overflow:hidden}.sim-hero{display:flex;justify-content:space-between;align-items:center;gap:18px;background:linear-gradient(135deg,#102337,#123b63 58%,#0d6b8c);color:#fff;padding:28px}.sim-hero h2{font-size:32px;margin:8px 0}.sim-hero p{max-width:900px;color:#e7f2fb;line-height:1.58}.sim-hero-stat{min-width:160px;border:1px solid rgba(255,255,255,.34);border-radius:20px;padding:18px;text-align:center;background:rgba(255,255,255,.08)}.sim-hero-stat strong{display:block;font-size:42px}.sim-hero-stat span{font-weight:900;color:#e7f2fb}.sim-toolbar{padding:18px 20px;border-bottom:1px solid var(--line);display:grid;gap:12px}.sim-mode,.sim-config{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.sim-mode button{min-height:42px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-weight:900;padding:8px 12px;cursor:pointer}.sim-mode button.active{background:var(--brand2);border-color:var(--brand2);color:#fff}.sim-config label{display:flex;align-items:center;gap:8px;font-weight:900;color:var(--muted)}.sim-config select{min-height:42px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);padding:8px}.sim-layout{display:grid;grid-template-columns:minmax(0,1fr)320px;gap:18px;padding:18px;background:#f8fafc}.sim-question{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;margin-bottom:14px;box-shadow:0 5px 14px rgba(17,32,51,.05)}.sim-q-head{display:flex;justify-content:space-between;align-items:center}.sim-question h3{font-size:18px;line-height:1.45;margin:12px 0}.sim-options{display:grid;gap:9px}.sim-options button{min-height:48px;border:1px solid var(--line);border-radius:14px;background:#fff;text-align:left;padding:11px 12px;cursor:pointer;display:flex;gap:10px;align-items:flex-start}.sim-options button span{display:grid;place-items:center;min-width:28px;height:28px;border-radius:999px;background:#eef6fa;color:#0d6b8c;font-weight:900}.sim-options button:hover{border-color:var(--brand2)}.sim-options button.selected{border-color:var(--brand2);box-shadow:0 0 0 2px rgba(13,107,140,.12)}.sim-options button.correct{border-color:var(--ok);background:#f2fbf5}.sim-options button.incorrect{border-color:var(--danger);background:#fff5f5}.sim-feedback{margin-top:12px}.sim-feedback>div{border-radius:16px;padding:14px;border:1px solid var(--line);background:#f8fafc}.sim-ok{border-color:#c9efd6!important;background:#f2fbf5!important}.sim-bad{border-color:#ffd1d1!important;background:#fff5f5!important}.sim-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.sim-links button{border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--brand2);font-weight:900;padding:6px 10px;cursor:pointer}.sim-side{display:grid;gap:14px;align-content:start}.sim-score-card{position:sticky;top:100px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 5px 14px rgba(17,32,51,.05);text-align:center}.sim-score-card strong{display:block;font-size:42px;color:var(--brand2)}.sim-score-card span{font-weight:900;color:var(--muted);display:block;margin-bottom:12px}.sim-rules ul,.sim-review p,.sim-review li{line-height:1.55;color:var(--muted)}body.dark .sim-mode button,body.dark .sim-config select,body.dark .sim-layout,body.dark .sim-question,body.dark .sim-options button,body.dark .sim-feedback>div,body.dark .sim-score-card{background:#111c2e;color:var(--ink)}body.dark .sim-layout{background:#0b1424}body.dark .sim-options button.correct{background:#0f2d1e}body.dark .sim-options button.incorrect{background:#331719}@media(max-width:1050px){.sim-layout{grid-template-columns:1fr}.sim-score-card{position:static}}@media(max-width:700px){.sim-hero{flex-direction:column;align-items:flex-start;padding:22px}.sim-hero h2{font-size:25px}.sim-layout{padding:12px}.sim-question{padding:14px}.sim-toolbar{padding:14px}}


/* Sprint 013 — Hardening funcional */
.health-center{padding:0;overflow:hidden}.health-hero{display:flex;justify-content:space-between;gap:18px;align-items:center;background:linear-gradient(135deg,#102337,#123b63 60%,#0d6b8c);color:#fff;padding:28px}.health-hero h2{font-size:32px;margin:8px 0}.health-hero p{max-width:900px;color:#e7f2fb;line-height:1.58}.health-score{min-width:160px;border:1px solid rgba(255,255,255,.34);border-radius:20px;padding:18px;text-align:center;background:rgba(255,255,255,.08)}.health-score strong{display:block;font-size:42px}.health-score span{font-weight:900;color:#e7f2fb}.health-score.ok strong{color:#b8f7cf}.health-score.danger strong{color:#ffd1d1}.health-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:18px;background:#f8fafc;border-bottom:1px solid var(--line)}.health-metrics div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;text-align:center}.health-metrics strong{display:block;font-size:32px;color:var(--brand2)}.health-metrics span{display:block;font-weight:900;color:var(--muted)}.badge.warn{background:#fff4df;color:#b45f06}.health-note{margin:18px;border:1px solid var(--line);border-radius:16px;background:#f8fafc;padding:16px;line-height:1.55}body.dark .health-metrics,body.dark .health-metrics div,body.dark .health-note{background:#111c2e;color:var(--ink)}@media(max-width:760px){.health-hero{flex-direction:column;align-items:flex-start;padding:22px}.health-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.health-hero h2{font-size:25px}}
