:root{--fed-mag:#cc0066;--fed-mag2:#9e0050;--fed-ink:#27282d;--fed-muted:#6f7178;--fed-line:#e4e5e9;--fed-bg:#f4f4f6}.fed-app,.fed-results,.fed-report-sheet{font-family:Roboto,Arial,sans-serif;color:var(--fed-ink)}.fed-app *,.fed-results *,.fed-report-sheet *{box-sizing:border-box}.fed-top-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;margin-bottom:12px}.fed-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--fed-line);background:#fff;color:var(--fed-ink);padding:10px 14px;border-radius:10px;font-weight:700;text-decoration:none;cursor:pointer}.fed-btn-primary{background:var(--fed-mag);border-color:var(--fed-mag);color:#fff}.fed-steps{display:flex;gap:8px;align-items:center;overflow:auto;background:#fff;border:1px solid var(--fed-line);border-radius:16px;padding:12px;margin-bottom:18px}.fed-step-caption{min-width:190px}.fed-step-caption b,.fed-step-caption span{display:block}.fed-step-caption span{font-size:11px;color:var(--fed-muted)}.fed-step{min-width:48px;height:48px;border:1px solid var(--fed-line);border-radius:14px;background:#fff;font-size:11px;font-weight:800}.fed-step.active{background:var(--fed-mag);color:#fff;border-color:var(--fed-mag)}.fed-step.done{color:var(--fed-mag);background:#fff4fa}.fed-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:20px}.fed-main,.fed-side{background:#fff;border:1px solid var(--fed-line);border-radius:18px;box-shadow:0 14px 40px rgba(25,26,31,.07)}.fed-main{padding:30px;min-height:650px}.fed-panel-bg,.fed-results-bg,.fed-report-bg{position:relative;overflow:hidden}.fed-panel-bg:before,.fed-results-bg:before,.fed-report-bg:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 12%,rgba(204,0,102,.13),transparent 28%),linear-gradient(135deg,rgba(30,30,34,.025),transparent 55%);pointer-events:none}.fed-panel-bg>* ,.fed-results-bg>*,.fed-report-bg>*{position:relative}.fed-side{padding:20px;height:max-content;position:sticky;top:24px}.fed-kicker{text-transform:uppercase;color:var(--fed-mag);font-size:11px;font-weight:900;letter-spacing:.08em}.fed-main h2,.fed-results h2{font-size:30px;line-height:1.12;margin:8px 0}.fed-lead{color:var(--fed-muted);line-height:1.55}.fed-question{padding:18px 0;border-top:1px solid var(--fed-line)}.fed-question h3{font-size:15px;line-height:1.4;margin:0 0 12px}.fed-question h3 span{color:var(--fed-mag);margin-right:6px}.fed-options{display:grid;gap:8px}.fed-options.five{grid-template-columns:repeat(5,1fr)}.fed-choice{position:relative;display:block}.fed-choice input{position:absolute;opacity:0}.fed-choice>span{display:block;border:1px solid var(--fed-line);border-radius:11px;padding:11px 12px;background:#fff;font-size:12px;line-height:1.35}.fed-choice input:checked+span{border-color:var(--fed-mag);box-shadow:inset 0 0 0 1px var(--fed-mag);background:#fff4fa;color:#8f0048}.fed-choice small{display:block;color:var(--fed-muted);margin-top:5px}.fed-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.fed-field{display:flex;flex-direction:column;gap:7px}.fed-field.full{grid-column:1/-1}.fed-field>label{font-size:12px;font-weight:800}.fed-input{width:100%;padding:11px 12px;border:1px solid #dadbe0;border-radius:10px;background:#fff}.fed-check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.fed-controls{display:flex;justify-content:space-between;margin-top:24px;padding-top:18px;border-top:1px solid var(--fed-line)}.fed-ring{width:150px;height:150px;border-radius:50%;margin:12px auto;background:conic-gradient(var(--fed-mag) var(--pct),#ececf0 0);display:grid;place-items:center;position:relative}.fed-ring:before{content:"";position:absolute;width:116px;height:116px;border-radius:50%;background:#fff}.fed-ring>div{position:relative;text-align:center}.fed-ring b{display:block;font-size:30px}.fed-ring span{font-size:10px;color:var(--fed-muted)}.fed-level-pill{display:table;margin:0 auto 15px;padding:6px 10px;border-radius:999px;background:#fff1f8;color:var(--fed-mag);font-size:11px;font-weight:900}.fed-mini-bars>div{display:grid;grid-template-columns:30px 1fr 36px;gap:7px;align-items:center;margin:7px 0;font-size:10px}.fed-mini-bars span,.fed-track{height:8px;background:#eee;border-radius:999px;overflow:hidden}.fed-mini-bars i,.fed-track span{display:block;height:100%;background:var(--fed-mag);border-radius:999px}.fed-notice{padding:15px;border-left:4px solid var(--fed-mag);background:#faf5f8;border-radius:0 10px 10px 0}.fed-report-toolbar{max-width:820px;margin:0 auto 10px}.fed-report-sheet{max-width:820px;min-height:1120px;margin:0 auto 24px;background:#fff;border:1px solid var(--fed-line);box-shadow:0 16px 48px rgba(20,20,25,.1)}.fed-report-inner{padding:22mm 17mm}.fed-report-logo{width:170px;height:auto}.fed-cover h1{font-size:52px;line-height:.98;margin:22px 0 10px}.fed-cover h2{color:var(--fed-mag);font-size:25px}.fed-cover-photo{height:250px;border-radius:18px;margin:22px 0;background:linear-gradient(135deg,rgba(0,0,0,.78),rgba(204,0,102,.36)),radial-gradient(circle at 70% 35%,#aaa 0 10%,transparent 11%),linear-gradient(25deg,#555,#aaa);filter:grayscale(.6)}.fed-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fed-meta-grid>div,.fed-viz{padding:15px;border:1px solid var(--fed-line);border-radius:14px}.fed-meta-grid span{font-size:10px;color:var(--fed-muted);display:block}.fed-summary{display:grid;grid-template-columns:180px 1fr;gap:24px;align-items:center}.fed-level{font-size:38px;color:var(--fed-mag);margin:0}.fed-level-scale{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.fed-level-scale span{background:#f1f1f3;border-radius:8px;padding:8px;text-align:center;font-size:10px;font-weight:800}.fed-level-scale span.active{background:var(--fed-mag);color:#fff}.fed-report-grid,.fed-reco-grid,.fed-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.fed-report-bar,.fed-chart-row{display:grid;grid-template-columns:120px 1fr 42px;gap:8px;align-items:center;margin:8px 0;font-size:11px}.fed-radar{width:100%;max-width:380px}.fed-radar .grid polygon,.fed-radar .grid line{fill:none;stroke:#ddd;stroke-width:1}.fed-radar .shape{fill:rgba(204,0,102,.16);stroke:var(--fed-mag);stroke-width:2}.fed-radar text{font-size:9px;fill:#666}.fed-reco{padding:12px;border-left:4px solid var(--fed-mag);background:#fafafa;border-radius:0 10px 10px 0;font-size:12px}.fed-word-report table{width:100%;border-collapse:collapse}.fed-word-report td,.fed-word-report th{border:1px solid #ddd;padding:7px}.fed-word-report h1,.fed-word-report h2,.fed-word-report h3{color:var(--fed-mag)}.fed-results{padding:4px}.fed-results-hero{display:flex;gap:20px;align-items:center;background:#28292e;color:#fff;border-radius:18px;padding:24px}.fed-results-hero img{width:140px;background:#fff;border-radius:10px;padding:7px}.fed-results-hero h2{margin:5px 0}.fed-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}.fed-kpis>div,.fed-dash{background:#fff;border:1px solid var(--fed-line);border-radius:14px;padding:16px}.fed-kpis span{font-size:10px;color:var(--fed-muted);display:block}.fed-kpis b{font-size:25px}.fed-dash h3{font-size:17px}@page{size:A4 portrait;margin:14mm}@media print{body{background:#fff}.fed-report-toolbar{display:none!important}.fed-report-sheet{box-shadow:none;border:0;max-width:none;margin:0;page-break-after:always;min-height:auto}.fed-report-sheet:last-child{page-break-after:auto}.fed-report-inner{padding:10mm 8mm}}@media(max-width:900px){.fed-layout,.fed-summary,.fed-report-grid,.fed-reco-grid,.fed-dashboard-grid,.fed-kpis,.fed-form-grid,.fed-meta-grid{grid-template-columns:1fr}.fed-side{position:relative}.fed-options.five,.fed-check-grid{grid-template-columns:1fr}.fed-report-sheet{min-height:auto}.fed-report-inner{padding:24px}.fed-cover h1{font-size:40px}}

/* v2.0 · Arquitectura pública basada en la versión 11 */
.fed-campaign-home{font-family:Roboto,Arial,sans-serif;position:relative;min-height:70vh;background:#303136;background-size:cover;background-position:center;display:flex;align-items:flex-end;overflow:hidden;border-radius:0}
.fed-campaign-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,20,23,.08),rgba(20,20,23,.80))}
.fed-campaign-copy{position:relative;z-index:1;padding:56px 7vw;color:#fff;max-width:980px}.fed-campaign-copy h1{font-size:clamp(42px,6vw,76px);line-height:.98;color:#fff;margin:0 0 18px}.fed-campaign-copy p{font-size:clamp(16px,1.7vw,22px);line-height:1.55;max-width:820px;color:#f0f0f3}.fed-campaign-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.fed-campaign-home .fed-btn:not(.fed-btn-primary){background:#fff;color:#222;border-color:#fff}.fed-campaign-icon{width:84px;height:84px;object-fit:contain;background:#fff;border-radius:16px;padding:10px;margin-bottom:18px}
.fed-finished{background:#fff;border:1px solid var(--fed-line);border-radius:18px;padding:34px;box-shadow:0 14px 40px rgba(25,26,31,.07)}.fed-finished h2{font-size:34px;margin:8px 0}.fed-my-results{font-family:Roboto,Arial,sans-serif;max-width:900px;margin:0 auto;background:#fff;border:1px solid var(--fed-line);border-radius:18px;padding:30px;box-shadow:0 14px 40px rgba(25,26,31,.07)}.fed-my-results h2{font-size:32px;margin:7px 0}.fed-lookup-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin:22px 0}.fed-lookup-grid label{font-size:12px;font-weight:800}.fed-lookup-grid input{margin-top:7px}.fed-lookup-success{padding:16px;border-left:4px solid var(--fed-mag);background:#faf5f8;border-radius:0 10px 10px 0;margin-top:16px}.fed-report-toolbar{display:flex;gap:8px;flex-wrap:wrap;position:sticky;top:0;z-index:5;background:rgba(244,244,246,.96);padding:10px 0 14px}.fed-cover-photo{background-size:cover;background-position:center}
@media(max-width:800px){.fed-campaign-copy{padding:36px 24px}.fed-lookup-grid{grid-template-columns:1fr}.fed-campaign-home{min-height:64vh}}
