:focus-visible{outline:3px solid #ffb600!important;outline-offset:3px}
button,a,input,textarea{scroll-margin:90px}
.expert-cta{margin-top:18px;padding:22px;border:2px solid #007b85;border-radius:22px;background:linear-gradient(135deg,#eef9f8,#fff)}
.expert-cta>span{font-size:.72rem;font-weight:900;letter-spacing:.14em;color:#007b85}.expert-cta h3{margin:8px 0;color:#00205b}.expert-cta p{color:#475569;line-height:1.55}
.expert-modal{position:fixed;inset:0;z-index:10000;background:rgba(0,20,55,.76);display:grid;place-items:center;padding:16px;overflow:auto}
.expert-dialog{width:min(680px,100%);background:#fff;border-radius:26px;padding:26px;box-shadow:0 30px 80px rgba(0,0,0,.28)}
.expert-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.expert-head span{font-size:.72rem;letter-spacing:.14em;font-weight:900;color:#007b85}.expert-head h2{margin:5px 0 0;color:#00205b}.expert-head>button{border:0;border-radius:50%;width:44px;height:44px;font-size:1.7rem;background:#edf2f7;color:#00205b}
.expert-progress{height:8px;background:#e6edf2;border-radius:999px;margin:22px 0 12px;overflow:hidden}.expert-progress i{display:block;height:100%;background:linear-gradient(90deg,#007b85,#70ad47)}.expert-count{font-weight:800;color:#64748b}.expert-dialog h3{color:#00205b;font-size:1.25rem;line-height:1.4}
.expert-options{display:grid;gap:10px;margin:20px 0}.expert-options button{min-height:58px;text-align:left;border:1px solid #cbd5e1;border-radius:14px;padding:12px 14px;background:#fff;color:#334155;font:inherit;line-height:1.4}.expert-options button:hover,.expert-options button.selected{border-color:#007b85;background:#eef9f8;box-shadow:0 0 0 2px rgba(0,123,133,.12)}
.expert-actions{display:flex;justify-content:space-between;gap:12px;margin-top:20px}.expert-actions button{min-height:46px;padding:0 20px;border-radius:12px}.expert-result{text-align:center}.expert-result>span{display:inline-block;padding:7px 13px;border-radius:999px;font-weight:900;font-size:.75rem;letter-spacing:.1em}.expert-result .pass{background:#eaf7e5;color:#356d20}.expert-result .retry{background:#fff1f2;color:#be123c}.expert-result h2{font-size:3.5rem;margin:14px;color:#00205b}.expert-product{text-align:left;background:#f8fafc;border-left:5px solid #ffb600;padding:15px 18px;border-radius:12px;margin:20px 0}.expert-product p{margin:5px 0 0}
@media(max-width:620px){.expert-modal{place-items:end center;padding:0}.expert-dialog{border-radius:24px 24px 0 0;padding:20px;max-height:94vh;overflow:auto}.expert-actions{position:sticky;bottom:-20px;background:#fff;padding:12px 0 20px}.expert-options button{min-height:64px}.expert-result h2{font-size:2.8rem}}
@media(prefers-reduced-motion:reduce){.expert-modal *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.expert-review{text-align:left;background:#fff8e0;border:1px solid #f4d875;border-radius:14px;padding:15px 18px;margin:18px 0}.expert-review ul{margin:9px 0 0;padding-left:20px}.expert-review li{margin:7px 0;line-height:1.45;color:#475569}
.scope-note{margin:10px 0 0;padding-top:10px;border-top:1px solid rgba(0,32,91,.12);font-size:.9rem;line-height:1.5}
.methodology-panel{margin:20px 0;padding:24px;border:1px solid #bedfe1;border-radius:22px;background:linear-gradient(145deg,#f2fbfa,#fff);box-shadow:0 12px 30px rgba(0,32,91,.06)}.methodology-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.methodology-head span{font-size:.72rem;font-weight:900;letter-spacing:.14em;color:#007b85}.methodology-head h2{margin:6px 0;color:#00205b}.methodology-head>b{font-size:.76rem;color:#64748b;white-space:nowrap}.methodology-panel>p{color:#475569;line-height:1.6}.methodology-panel>aside{margin-top:18px;padding:15px 18px;border-left:5px solid #ffb600;border-radius:10px;background:#fff8e0;color:#475569;line-height:1.55}.evidence-map{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.evidence-map article{padding:16px;border:1px solid #d9e8ea;border-radius:14px;background:#fff}.evidence-map article>b{color:#00205b}.evidence-map p{min-height:54px;margin:7px 0;color:#64748b;font-size:.88rem;line-height:1.42}.evidence-map a{color:#007b85;font-weight:800;font-size:.85rem}.transfer-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:18px}.transfer-grid label{display:grid;gap:7px;color:#00205b;font-weight:800}.transfer-grid textarea{min-height:105px;resize:vertical;border:1px solid #bdd1d5;border-radius:12px;padding:12px;font:inherit;color:#334155;background:#fff}.kit-note{font-size:.84rem}.transfer-kit [data-print-kit]{white-space:nowrap}
@media(max-width:760px){.methodology-panel{padding:18px}.methodology-head{display:grid}.methodology-head>b{white-space:normal}.evidence-map,.transfer-grid{grid-template-columns:1fr}.evidence-map p{min-height:0}.transfer-kit [data-print-kit]{width:100%}}
@media print{body>*{display:none!important}#app{display:block!important}#app header,#app footer,#app main>.view:not(#neg-learn),#neg-learn .route-shell>*:not(.transfer-kit){display:none!important}#neg-learn,.transfer-kit{display:block!important}.transfer-kit{box-shadow:none;border:1px solid #777}.transfer-kit button,.kit-note{display:none!important}.transfer-grid textarea{min-height:120px}}
@media print{#app main>.view.print-view{display:block!important}.print-view .route-shell>*{display:none!important}.print-view .route-shell>.print-transfer{display:block!important}.print-transfer{box-shadow:none!important;border:1px solid #777!important}.print-transfer button,.print-transfer .kit-note{display:none!important}}
/* Mi progreso: lectura clara del estado local y sincronizado */
.progress-trust{display:flex;align-items:flex-start;gap:10px;margin:0 0 16px;padding:13px 15px;border:1px solid #b9dddf;border-radius:14px;background:#effafa;color:#475569}.progress-trust b{flex:0 0 auto;color:#006b74}.progress-trust span{font-size:.88rem;line-height:1.45}.cp-stages span small{display:block;margin-top:3px;font-size:.66rem;font-weight:500;opacity:.82}.competency-progress article.route-done{border-color:#a9d38f;background:linear-gradient(135deg,#fff,#f4fbef)}.server-complete{margin:12px 0 0;color:#477a29;font-size:.82rem;font-weight:800}.xp-summary small{display:block;margin-top:4px;color:#64748b;font-size:.7rem;line-height:1.3}
@media(max-width:760px){.progress-trust{display:block}.progress-trust b{display:block;margin-bottom:4px}.cp-stages{grid-template-columns:1fr}.cp-stages span{display:flex;justify-content:space-between;align-items:center;text-align:left}.cp-stages span small{display:inline;margin:0 0 0 8px}.progress-summary{gap:14px}.progress-ring{width:76px;height:76px}.xp-summary{padding:13px 5px}.cp-title h3{font-size:1rem}.cp-title button{min-height:44px;width:100%}}

/* Navegación y ergonomía táctil mobile first */
button,a{touch-action:manipulation}.back,.lesson-nav button,.decisions button,.actor-card,.route-buttons button,.result-actions button,.question footer button{min-height:44px}.desarrolla-modal-open{overflow:hidden}:where(button,a,input,textarea,select):focus-visible{outline:3px solid #ffb600;outline-offset:3px}
@media(max-width:760px){
 #app{padding-bottom:calc(72px + env(safe-area-inset-bottom))}
 #app>header{min-height:62px;padding:8px 14px;padding-top:max(8px,env(safe-area-inset-top));flex-wrap:nowrap;gap:8px}
 #app>header .brand{min-width:0}.brand img{width:58px;height:42px}.user{margin-left:auto}.user button{min-height:44px;padding:9px 14px}
 #app>header nav{position:fixed;left:0;right:0;bottom:0;z-index:900;order:initial;width:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin:0;padding:7px 8px max(7px,env(safe-area-inset-bottom));border:0;border-top:1px solid #dce5ed;background:rgba(255,255,255,.97);box-shadow:0 -8px 24px rgba(0,32,91,.10);backdrop-filter:blur(12px)}
 #app>header nav button{min-width:0;min-height:48px;padding:7px 5px;font-size:.78rem;line-height:1.15}.admin-link{display:none!important}
 .back{display:inline-flex;align-items:center;padding:8px 4px!important}
 .result-actions,.question footer{display:grid;grid-template-columns:1fr;gap:9px}.result-actions button,.question footer button{width:100%}
 .route-actions,.route-buttons{gap:9px}.route-actions button,.route-buttons button{width:100%}
 .lesson-nav{padding:2px 2px 8px;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain}.lesson-nav button{scroll-snap-align:start;min-width:52px}
 .actor-card,.decisions button{min-height:64px}.route-shell{width:min(100% - 24px,1080px);margin-top:18px}.route-head{margin-top:10px;border-radius:19px}.route-card{border-radius:18px}
 .question{margin-top:20px;border-radius:19px}.question h1{font-size:1.45rem}.quiz{padding:22px 12px}.quiz-top{gap:12px}
 .result-page{margin-top:24px;padding:0 12px}.result-hero{padding:26px 20px;border-radius:20px}.result-actions{margin-bottom:28px}
 .toast{left:12px;right:12px;bottom:calc(82px + env(safe-area-inset-bottom));text-align:center}
 .site-footer{padding-bottom:26px}
}
@media(max-width:380px){#app>header{padding-inline:10px}.brand img{width:52px}.user button{padding-inline:11px}.route-shell{width:calc(100% - 18px)}.route-card{padding:17px}.expert-dialog{padding-inline:16px}.payment-actions{grid-template-columns:1fr}.payment-actions button{width:100%}}

/* Accesibilidad, estado de conexión y recuperación */
.skip-link{position:fixed;left:12px;top:10px;z-index:20000;transform:translateY(-150%);padding:11px 15px;border-radius:10px;background:#00205b;color:#fff;font-weight:800;text-decoration:none}.skip-link:focus{transform:none}.system-status{position:fixed;z-index:15000;left:50%;top:12px;transform:translateX(-50%);width:min(680px,calc(100% - 24px));padding:12px 16px;border-radius:13px;background:#eaf7f7;border:1px solid #8dc7ca;color:#005e66;text-align:center;font-weight:800;box-shadow:0 12px 30px rgba(0,32,91,.15)}.system-status[data-type="warning"]{background:#fff7db;border-color:#e7c85c;color:#6b5200}.system-status[data-type="offline"]{background:#fff1f2;border-color:#f3a8b1;color:#9f1239}.system-status[data-type="success"]{background:#eef9e8;border-color:#afd494;color:#356d20}.system-status[hidden]{display:none}
@media(max-width:760px){.system-status{top:max(8px,env(safe-area-inset-top));font-size:.82rem;line-height:1.35}.skip-link{top:max(8px,env(safe-area-inset-top))}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media(forced-colors:active){button,a,input,textarea,select,.card,.route-card,.expert-dialog{forced-color-adjust:auto}.tag,.route-badge{border:1px solid currentColor}}


/* Radar PREVER · pensamiento crítico e información */
.radar-callout{border:1px solid rgba(0,123,133,.18);background:linear-gradient(180deg,#fff,#f3fbfb)}
.radar-callout h3{margin:.8rem 0 .45rem;font-size:1.3rem;color:#00205b}
.radar-intro{display:grid;gap:18px}
.radar-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.radar-legend>div{display:grid;gap:5px;padding:14px;border:1px solid #dce7ee;border-radius:14px;background:#fff}
.radar-legend b{color:#00205b}
.radar-legend span{font-size:.9rem;line-height:1.35;color:#64748b}
.radar-last{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;border-radius:14px;background:#f8fafc;border:1px solid #e2e8f0}
.radar-last>b{font-size:1.35rem;color:#007b85}.radar-last button{margin-left:auto;border:0;background:transparent;color:#007b85;font:800 .86rem Outfit,Arial,sans-serif;cursor:pointer}.radar-last button:hover{text-decoration:underline}
.route-head.compact{padding-bottom:18px}
.radar-card{display:grid;gap:18px}
.radar-source{display:flex;align-items:center;gap:12px}
.radar-source>i{display:grid;place-items:center;width:52px;height:52px;border-radius:15px;background:#f8fafc;border:1px solid #dce7ee;font-style:normal;font-size:1.6rem}
.radar-source>div{display:grid;gap:2px}
.radar-source b{font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:#007b85}
.radar-source span{font-weight:800;color:#00205b}
.radar-message{margin:0;padding:18px 20px;border-left:5px solid #007b85;border-radius:0 15px 15px 0;background:#f8fafc;color:#1e293b;font-size:1.08rem;font-weight:650;line-height:1.55}
.radar-context{margin:0;padding:13px 15px;border-radius:13px;background:#fff8e6;border:1px solid #f1d78a;color:#5f4b00}
.radar-card h3{margin:2px 0 0;color:#00205b;font-size:1.12rem}
.radar-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.radar-choices button{display:grid;gap:6px;text-align:left;min-height:96px;padding:15px;border-radius:15px;border:1px solid #d7e1e8;background:#fff;color:#00205b;cursor:pointer}
.radar-choices button:hover{transform:translateY(-1px);border-color:#007b85;box-shadow:0 9px 22px rgba(0,32,91,.08)}
.radar-choices button b{font-size:1rem}
.radar-choices button small{font-size:.84rem;line-height:1.35;color:#64748b}
.radar-result{display:grid;gap:18px;text-align:center}
.radar-result .score{margin-inline:auto}
.radar-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;text-align:left}
.radar-summary>div{display:grid;gap:6px;padding:14px;border-radius:14px;background:#f8fafc;border:1px solid #dce7ee}
.radar-summary b{color:#00205b}
.radar-summary span{font-size:.9rem;line-height:1.4;color:#64748b}
@media(max-width:760px){
 .radar-legend,.radar-choices,.radar-summary{grid-template-columns:1fr}
 .radar-message{font-size:1rem;padding:16px}
 .radar-choices button{min-height:84px}
}

/* Evidencia PREVER en Mi progreso */
.prever-evidence{margin-top:12px;padding:12px 14px;border:1px solid #b9dfe2;border-radius:13px;background:#f2fbfb;display:grid;gap:4px}
.prever-evidence>div{display:flex;justify-content:space-between;align-items:center;gap:12px}
.prever-evidence span{font-weight:800;color:#005e66}.prever-evidence b{font-size:1.15rem;color:#00205b}
.prever-evidence small{color:#64748b;line-height:1.35}
.prever-evidence.synced{background:#f5faef;border-color:#c6dfb4}.prever-evidence.synced span{color:#356d20}
.prever-evidence.pending{background:#fff8e6;border-color:#ead38d}.prever-evidence.pending span,.prever-evidence.pending b{color:#6b5200}
@media(max-width:760px){.prever-evidence>div{align-items:flex-start}.prever-evidence b{font-size:1rem}}

/* Informe personalizado PREVER */
.prever-report{display:grid;gap:22px}
.prever-report h3{margin:0;color:#00205b}
.prever-report-hero{display:grid;grid-template-columns:.78fr 1fr 1fr;gap:14px}
.prever-report-hero>div{padding:16px;border:1px solid #dce7ee;border-radius:16px;background:#f8fafc;text-align:left}
.prever-report-hero>div:first-child{display:grid;place-items:center;text-align:center;background:#f2fbfb;border-color:#b9dfe2}
.prever-report-hero .score{margin:8px auto 2px}
.prever-report-hero h2{margin:5px 0 6px;font-size:1.15rem;color:#00205b}
.prever-report-hero p{margin:0;color:#64748b;line-height:1.45}
.prever-domain-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.prever-domain{display:grid;gap:8px;padding:15px;border:1px solid #dce7ee;border-radius:15px;background:#fff}
.prever-domain>div{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.prever-domain b{color:#00205b}.prever-domain>div span{font-weight:800;color:#007b85}
.prever-domain>i{height:8px;border-radius:99px;background:#e8eef3;overflow:hidden}
.prever-domain>i em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#007b85,#70ad47)}
.prever-domain small{color:#64748b}.prever-domain p{margin:2px 0 0;color:#475569;line-height:1.45;font-size:.91rem}
.prever-gaps{display:grid;gap:10px}
.prever-section-head{display:flex;justify-content:space-between;gap:16px;align-items:end}
.prever-section-head h3{margin:3px 0 0}.prever-section-head>small{color:#64748b}
.prever-gaps article{display:grid;gap:7px;padding:14px;border:1px solid #ead9a5;border-radius:14px;background:#fffaf0}
.prever-gaps article>div{display:flex;justify-content:space-between;gap:12px}
.prever-gaps article>div b{color:#6b5200}.prever-gaps article>div span{font-weight:800;color:#00205b;text-align:right}
.prever-gaps article p{margin:0;color:#475569}.prever-gaps article small{display:block;color:#64748b;line-height:1.45}
.prever-development{padding:17px;border-radius:16px;background:#f2fbfb;border:1px solid #b9dfe2}
.prever-development h3{margin:4px 0 7px}.prever-development>p{margin:0;color:#475569;line-height:1.5}
.prever-action{display:grid;gap:4px;margin-top:13px;padding:12px;border-radius:12px;background:#fff;border:1px solid #dce7ee}
.prever-action b{color:#00205b}.prever-action span{color:#64748b;line-height:1.45}
.prever-report-button{justify-self:start;margin-top:6px;border:0;background:transparent;color:#007b85;font:800 .88rem Outfit,Arial,sans-serif;padding:4px 0;cursor:pointer}
.prever-report-button:hover{text-decoration:underline}
@media(max-width:760px){
 .prever-report-hero,.prever-domain-grid{grid-template-columns:1fr}
 .prever-section-head,.prever-gaps article>div{align-items:flex-start;flex-direction:column}
 .prever-gaps article>div span{text-align:left}
 .prever-report .route-buttons{grid-template-columns:1fr}
}
