:root{--ink:#13202b;--muted:#60717d;--paper:#f6f4ef;--white:#fff;--line:#d9dedf;--accent:#9f2e2e;--accent2:#1d5861;--dark:#12242b;--gold:#bb8a3d;--radius:18px;--shadow:0 16px 45px rgba(24,34,40,.08)}*{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(--ink);background:var(--paper);line-height:1.65}a{color:var(--accent2);text-decoration:none}a:hover{text-decoration:underline}.site-nav{height:72px;position:sticky;top:0;z-index:20;background:rgba(246,244,239,.94);backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1240px)/2));border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:800}.brand:hover{text-decoration:none}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--dark);color:white;font-size:12px;letter-spacing:.08em}.nav-links{display:flex;gap:24px;align-items:center}.nav-links a{color:var(--ink);font-size:14px;font-weight:650}.nav-toggle{display:none;border:0;background:none;font-size:24px}.hero{min-height:70vh;display:grid;align-items:center;background:linear-gradient(110deg,rgba(18,36,43,.97),rgba(18,36,43,.82)),radial-gradient(circle at 90% 20%,#9f2e2e 0,transparent 35%);color:white}.hero-inner{width:min(1100px,calc(100% - 48px));margin:auto;padding:90px 0}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:800;color:var(--gold);margin:0 0 14px}.hero h1,.page-header h1{font-family:Georgia,serif;line-height:1.02;letter-spacing:-.03em;margin:.1em 0 .35em}.hero h1{font-size:clamp(48px,7vw,92px);max-width:1000px}.hero-lead{font-size:clamp(18px,2.2vw,25px);max-width:780px;color:#dbe5e7}.hero-actions{display:flex;gap:12px;margin:34px 0}.btn{display:inline-block;padding:13px 18px;border-radius:999px;font-weight:750}.btn.primary{background:#fff;color:var(--dark)}.btn.secondary{border:1px solid #8ba3a8;color:#fff}.legal-note{max-width:900px;border-left:3px solid var(--gold);padding:10px 16px;color:#c9d6d8;font-size:14px}.section{width:min(1240px,calc(100% - 48px));margin:0 auto;padding:86px 0}.section.compact{padding-top:28px}.section.dark{width:100%;max-width:none;background:var(--dark);color:white;padding-left:max(24px,calc((100vw - 1240px)/2));padding-right:max(24px,calc((100vw - 1240px)/2))}.section.muted{background:#ecebe6;width:100%;max-width:none;padding-left:max(24px,calc((100vw - 1240px)/2));padding-right:max(24px,calc((100vw - 1240px)/2))}.section-head{max-width:780px;margin-bottom:32px}.section h2,.page-header h1{font-family:Georgia,serif;font-size:clamp(32px,4vw,54px);line-height:1.12}.cards{display:grid;gap:18px}.cards.three{grid-template-columns:repeat(3,1fr)}.cards.two{grid-template-columns:repeat(2,1fr)}.card{background:var(--white);border:1px solid var(--line);padding:26px;border-radius:var(--radius);box-shadow:var(--shadow)}.card-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);font-weight:800}.module-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.module-tile{padding:24px;background:#17343c;color:white;border:1px solid #31525a;border-radius:var(--radius);min-height:230px}.module-tile:hover{text-decoration:none;background:#1b3c45}.module-tile span{font-size:12px;color:#bdcfd2;letter-spacing:.15em}.module-tile h3{font-family:Georgia,serif;font-size:24px;line-height:1.15}.module-tile p{color:#b9c9cc;font-size:14px}.split{display:grid;grid-template-columns:1.2fr 1fr;gap:56px;align-items:center}.mini-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mini-stats div{background:white;border:1px solid var(--line);padding:25px;border-radius:var(--radius)}.mini-stats strong{display:block;font-size:38px}.mini-stats span{color:var(--muted)}.page-header{width:min(1000px,calc(100% - 48px));margin:0 auto;padding:70px 0 32px}.page-header p{font-size:18px;color:var(--muted);max-width:850px}.status-pill{display:inline-block;background:white;border:1px solid var(--line);padding:8px 12px;border-radius:999px;font-size:13px}.content-layout{width:min(1240px,calc(100% - 48px));margin:0 auto;display:grid;grid-template-columns:260px minmax(0,820px);gap:70px;align-items:start}.toc{position:sticky;top:96px;border-left:2px solid var(--line);padding-left:16px;display:flex;flex-direction:column;gap:8px;font-size:13px}.toc strong{margin-bottom:8px}.toc a{color:var(--muted)}.prose{font-family:Georgia,serif;font-size:18px}.analysis-intro,.module-section{padding:30px 0 70px;border-bottom:1px solid var(--line)}.prose h2{font-size:40px;line-height:1.13}.prose h3{font-size:25px;margin-top:40px}.module-label{text-transform:uppercase;font-family:Inter,sans-serif;font-size:11px;letter-spacing:.16em;color:var(--accent);font-weight:850}.editorial-box{font-family:Inter,sans-serif;font-size:14px;color:var(--muted);background:#ecebe6;border-radius:12px;padding:14px 16px;margin:16px 0 28px}.testimony{font-family:Inter,sans-serif;background:white;border-left:4px solid var(--gold);padding:18px 20px;margin:18px 0;box-shadow:var(--shadow)}.source-link{font-family:Inter,sans-serif;font-size:14px}.table-wrap{overflow:auto;margin:26px 0;background:white;border:1px solid var(--line);border-radius:14px}table{border-collapse:collapse;width:100%;font-family:Inter,sans-serif;font-size:14px}th,td{text-align:left;padding:13px 14px;border-bottom:1px solid var(--line);vertical-align:top}th{background:var(--dark);color:white;position:sticky;top:0}.timeline{margin:28px 0}.timeline-item{display:grid;grid-template-columns:210px 1fr;gap:22px;padding:22px 0;border-bottom:1px solid var(--line)}.timeline-item .time{font-family:Inter,sans-serif;color:var(--accent);font-weight:800}.timeline-item h4{font-family:Inter,sans-serif;margin:0 0 5px}.timeline-item p{margin:0}.filter-bar,.filter-row{display:flex;gap:12px;margin-bottom:18px}.filter-bar input,.filter-row input,.filter-bar select,.filter-row select{border:1px solid var(--line);background:white;border-radius:10px;padding:12px 14px;font:inherit}.filter-bar input,.filter-row input{flex:1}.source-list{display:grid;gap:10px}.source-item{background:white;border:1px solid var(--line);border-radius:14px;padding:18px 20px;display:grid;grid-template-columns:1fr auto;gap:20px}.source-item small{display:block;color:var(--muted);margin-top:5px}.source-item .source-id{color:var(--accent);font-weight:800;font-size:12px}.result-count,.hint{color:var(--muted);font-size:13px;margin:8px 0 16px}.checklist{columns:2;gap:40px}.checklist li{break-inside:avoid;margin:0 0 12px}.stats-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin-bottom:24px}.tab{border:0;background:transparent;padding:12px 16px;font:inherit;font-weight:700;color:var(--muted);cursor:pointer}.tab.active{color:var(--accent);border-bottom:3px solid var(--accent)}.tab-panel{display:none}.tab-panel.active{display:block}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.kpi{background:white;border:1px solid var(--line);border-radius:14px;padding:20px;min-width:0;overflow:hidden}.kpi span{display:block;text-transform:uppercase;font-size:11px;letter-spacing:.08em;color:var(--muted);font-weight:800}.kpi strong{display:block;font-size:clamp(28px,3vw,34px);max-width:100%;overflow-wrap:anywhere;line-height:1.2}.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.chart{height:360px;background:white;border:1px solid var(--line);border-radius:14px;padding:10px}.search-panel{background:white;border:1px solid var(--line);border-radius:14px;padding:20px}.quality{font-weight:800;padding:3px 7px;border-radius:999px;font-size:12px}.q-high{background:#d9efe0;color:#245c33}.q-low{background:#f4dcdc;color:#7a2828}.empty-state,.data-note{background:#ecebe6;padding:28px;border-radius:14px}.site-footer{margin-top:70px;background:#0e1e24;color:#c8d5d7;display:flex;justify-content:space-between;gap:50px;padding:46px max(24px,calc((100vw - 1240px)/2));font-size:13px}.site-footer a{color:#e8f0f1}.site-footer p{max-width:500px}.site-footer strong{color:white}@media(max-width:900px){.nav-toggle{display:block}.nav-links{display:none;position:absolute;top:72px;left:0;right:0;background:var(--paper);padding:18px 24px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.nav-links.open{display:flex}.cards.three,.cards.two,.module-grid,.kpi-grid,.chart-grid,.split{grid-template-columns:1fr}.content-layout{grid-template-columns:1fr}.toc{position:static;display:grid;grid-template-columns:1fr 1fr}.timeline-item{grid-template-columns:1fr}.filter-bar,.filter-row{flex-direction:column}.checklist{columns:1}.source-item{grid-template-columns:1fr}.site-footer{flex-direction:column}.hero-inner,.section,.page-header,.content-layout{width:min(100% - 30px,1240px)}.prose h2{font-size:32px}}
.repo-meta{display:block;color:var(--muted);font-size:12px;margin-top:5px;word-break:break-all}.download-btn{background:var(--accent2);color:white;padding:8px 12px;font-size:12px}.download-btn:hover{color:white}.repo-table th:last-child,.repo-table td:last-child{white-space:nowrap}.architecture-tree{white-space:pre;overflow:auto;background:#0e1e24;color:#d8e5e7;padding:22px;border-radius:14px;font:13px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}

/* Informe empírico independiente */
.report-banner{display:flex;justify-content:space-between;gap:28px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;margin-bottom:18px}
.report-banner h2{font-family:Georgia,serif;font-size:30px;margin:10px 0 6px}
.report-banner p{margin:0;color:var(--muted);max-width:780px}
.report-links{display:flex;flex-direction:column;gap:6px;min-width:190px;font-size:13px}
.compact-banner{margin-bottom:20px}
.status-badge{display:inline-block;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:850;letter-spacing:.04em}
.status-badge.warning{background:#f4e2c2;color:#724d11}
.status-badge.neutral{background:#e4ecee;color:#31545b}
.status-badge.ok{background:#d9efe0;color:#245c33}
.section-subhead{margin:38px 0 14px}
.section-subhead h2{font-family:Georgia,serif;font-size:30px;margin:0 0 5px}
.section-subhead p{color:var(--muted);margin:0}
.metric-panel{background:white;border:1px solid var(--line);border-radius:14px;padding:24px;min-height:360px}
.metric-panel h3{margin-top:0}
.metric-row{display:flex;justify-content:space-between;gap:18px;padding:14px 0;border-bottom:1px solid var(--line)}
.metric-row span{color:var(--muted)}
.metric-row strong{font-size:20px}
.metric-row.critical strong{color:var(--accent)}
.finding-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.finding-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px}
.finding-card span{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em;font-weight:800}
.finding-card strong{display:block;font-size:32px;margin:5px 0}
.finding-card small{display:block;color:var(--muted)}
.nd-value{display:inline-block;background:#ecebe6;border:1px solid var(--line);padding:10px 13px;border-radius:9px;font-weight:900;letter-spacing:.03em;margin:8px 0}
.nd-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.nd-card{background:white;border:1px solid var(--line);border-radius:12px;padding:16px}
.nd-card span{display:block;color:var(--muted);font-size:12px;min-height:38px}
.nd-card strong{font-size:12px;color:var(--accent);word-break:break-word}
.priority-chip{display:inline-block;background:#f4dcdc;color:#7a2828;padding:4px 7px;border-radius:999px;font-size:11px;font-weight:850;white-space:nowrap}
.evidence-card{border-top:4px solid var(--gold)}
.strong-note{margin-top:20px;border-left:4px solid var(--accent2)}
.optional-layer{margin-top:28px}
@media(max-width:900px){.report-banner{flex-direction:column}.finding-grid,.nd-grid{grid-template-columns:1fr}.report-links{min-width:0}}

.access-buttons{display:flex;flex-wrap:wrap;gap:6px}
.pending-link{font-size:12px;color:var(--muted);font-style:italic}
.drive-architecture{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px}

/* Separación Documentos / Fuentes */
.source-list{display:grid;gap:10px}
.source-item{display:flex;justify-content:space-between;align-items:center;gap:18px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px}
.source-item strong{display:block;margin:3px 0}
.source-item small{display:block;color:var(--muted)}
.source-id{display:inline-block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--accent)}
@media(max-width:760px){.source-item{align-items:flex-start;flex-direction:column}}
