/* Referencia visual: MIMP y guía de colores de servicios digitales del Estado. */
:root{
 --brand-red:#bf0909;--brand-red-hover:#a20808;--brand-red-light:#fceeee;
 --ink:#26292e;--muted:#62666d;--line:#e3e4e8;--paper:#fff;--pale:#f6f7f9;
 --green:var(--brand-red);--amber:#926021;
}
body{background:var(--pale);font-size:14px;line-height:1.55}
a{color:var(--brand-red)}a:hover{text-decoration:underline}
button,input,select,textarea{transition:border-color .15s,background-color .15s,box-shadow .15s}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #eab824;outline-offset:3px}
input,select,textarea{accent-color:var(--brand-red)}
.institution-bar{background:#fff;border-top:5px solid var(--brand-red);border-bottom:1px solid #efeff1;color:#565a61;font-size:11px}
.institution-bar>div{max-width:1492px;margin:auto;padding:8px 34px;display:flex;align-items:center;gap:10px}
.institution-bar b{color:var(--brand-red);font-size:11px;letter-spacing:.06em;padding-right:10px;border-right:1px solid #d7d8dc}
header{max-width:1492px;margin:auto;min-height:90px;background:white;color:var(--ink);padding:17px 34px;gap:20px}
.header-wrap{background:#fff}
.brand{gap:13px}.brand-mark{width:46px;height:46px;background:var(--brand-red);color:white;border-radius:9px;font-size:28px}
.brand b{font-size:24px;letter-spacing:.035em;line-height:1.2}.brand div>span{font-size:10px;letter-spacing:.12em;color:#62666d;margin-top:5px}
.header-actions{gap:12px}.install-button{background:#fff;border:1px solid var(--brand-red);color:var(--brand-red);padding:10px 15px;font-size:12px;font-weight:650;border-radius:6px}
.install-button:hover{background:var(--brand-red-light)}.local-pill{border-color:#dadddf;color:#62666d;background:#f8f9fa;font-size:10px}
.main-navigation{position:sticky;top:0;z-index:1200;background:white;border-bottom:1px solid #dddfe3;box-shadow:0 3px 8px #20222a05}
.main-navigation nav{display:flex;max-width:1492px;margin:auto;padding:0 34px;gap:10px;justify-content:flex-start}
.main-navigation nav button{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;min-height:55px;padding:15px 19px;color:#555a62;border:0;border-bottom:3px solid transparent;border-radius:0;background:white;font-size:13px;font-weight:600}
.main-navigation nav button:hover{background:#faf6f6;color:var(--brand-red)}
.main-navigation nav button.active{color:var(--brand-red);background:#fff5f4;border-bottom-color:var(--brand-red)}
.nav-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.nav-count{min-width:18px;background:#f0f1f3;color:#555a62;border-radius:10px;font-size:10px;font-weight:700;padding:1px 5px}
nav button.active .nav-count{background:var(--brand-red);color:white}
main{max-width:1492px;padding:30px 34px 0}.intro{margin:7px 0 26px;gap:24px}.eyebrow{color:var(--brand-red);font-size:10px;letter-spacing:.13em;margin-bottom:7px}
h1{font-size:36px;letter-spacing:-.035em;line-height:1.2;font-weight:700;margin-bottom:10px}h2{font-size:18px;font-weight:650}
.intro p:not(.eyebrow){font-size:14px;color:#686d75}.refresh-box{font-size:11px;color:#62666d;max-width:330px}.live-dot{background:#72777e}
.filters{background:#fff;border:1px solid #dfe1e5;border-top:3px solid var(--brand-red);box-shadow:0 3px 12px #20222a04;border-radius:8px;padding:20px;gap:16px;margin-bottom:19px}
label{color:#3e4249;font-size:12px;font-weight:600}
select,input[type=search],input[type=text],textarea{border-color:#cfd2d8;background:#fff;color:var(--ink);border-radius:5px;padding:10px 11px;min-height:41px}
select:hover,input[type=search]:hover{border-color:#a9adb5}select:disabled{background:#f6f7f8;color:#878c95;border-color:#e2e4e8}
.primary{background:var(--brand-red);color:white;border:1px solid var(--brand-red);font-weight:600;border-radius:5px}
.primary:hover{background:var(--brand-red-hover);border-color:var(--brand-red-hover)}
.secondary{background:white;color:var(--brand-red);border:1px solid #dcc4c4;border-radius:5px}
.secondary:hover{background:#fff6f5;border-color:var(--brand-red)}
.subtle{color:var(--brand-red);font-weight:600}.filter-actions button{padding:11px 13px;font-size:11px;min-height:41px}
.update-cadence{color:#737780;font-size:11px;margin:0 0 20px}.update-cadence span{color:#555a62}
.scenario-picker{background:#fff;border:1px solid #dfe1e5;border-left:4px solid var(--brand-red);border-radius:7px;gap:22px;padding:15px 18px;margin-bottom:24px}
.scenario-picker label{color:#454951;font-size:11px}.scenario-picker p{color:#646970;line-height:1.65;font-size:12px}
.workspace{gap:23px;grid-template-columns:minmax(0,1.5fr) minmax(345px,1fr)}
.map-panel,.district-card,.weather-panel,.news-column,.source-card,.provenance,.watch-card,.notice-card,.notification-settings,.priority-panel{border:1px solid #e0e2e6;border-radius:8px;box-shadow:0 2px 6px #20222a03}
.panel-top{padding:18px 20px;border-bottom-color:#e7e8ec;background:#fff}.segmented{background:#f2f3f5;border:1px solid #e5e6e9;padding:3px;border-radius:6px}
.segmented button{color:#6b7078;font-size:11px;padding:7px 10px}.segmented button.active{color:var(--brand-red);background:#fff;box-shadow:0 1px 4px #22242a14;font-weight:600}
#map{background:#f0f1f2}.map-bottom{padding:13px 18px}.legend{color:#61666e;flex-wrap:wrap;row-gap:6px}
.check{color:#5c626a;font-size:11px}.source-note{background:#fafafa;color:#70757d;font-size:11px;border-color:#e5e7eb}.source-note.warn{background:#fff5e2;color:#8f6628}
.count{background:#fceeee;color:var(--brand-red);font-weight:650;padding:3px 8px}
.news-title{background:white;padding:20px 20px 13px}.news-title h2{font-size:19px}.news-title .eyebrow{font-size:9px;letter-spacing:.12em;color:#747981}
.news-tools{padding:0 20px;grid-template-columns:minmax(0,1fr) 128px;gap:9px}.news-tools>*{font-size:12px;padding:10px;min-width:0}
.news-checks{padding:13px 20px 0;gap:10px 14px}.news-checks #google-search{color:var(--brand-red);font-size:11px}
.news-topics{background:#f8f8fa!important;color:#6b7078}.article{padding:20px;border-top-color:#e6e7eb}.article:hover{background:#fdfbfb}
.article-meta{color:#757a83;font-size:10px}.article-meta b{font-size:10px;color:#6a6f77;letter-spacing:.035em}.article h3{font-size:17px;font-weight:650;line-height:1.48;margin:10px 0}
.article h3 a{color:#292d33}.article h3 a:hover{color:var(--brand-red);text-decoration:underline;text-underline-offset:3px}
.article-place{color:#777c84;font-size:11px}.article-actions button{color:var(--brand-red);font-size:11px}.article-actions .track{border-color:#dccaca}
.badge{background:#f1f2f4;color:#646a73;font-size:10px}.badge.official{background:#f0f1f4;color:#434952}.badge.pam{background:#fff0d0;color:#946326}.badge.google{background:#eef2fc;color:#3a5a87}
.location-proof{color:#6f747c}.location-proof summary{color:var(--brand-red)}.location-proof p{background:#faf7f7;border-left-color:#e2bcbc}.google-note{color:#777c84}
.district-card{padding:21px 22px;margin-top:20px}.district-title h2{font-size:24px}.district-title p{color:#747981;font-size:11px}
.district-pam{background:#faf1f1;border:1px solid #f0dddd;border-radius:7px;padding:14px 16px}.district-pam>span{color:#555b64}.district-pam>b{color:var(--brand-red)}.district-pam small{color:#797d85}
.risk-block{border-color:#e1e3e7;border-radius:7px}.risk-block>span{color:#757a82}.risk-block>b{font-size:24px}.exposure-grid>div{background:#f6f7f8;border-radius:4px;padding:11px}.exposure-grid dt{color:#727780;font-size:10px}.exposure-grid dd{font-size:18px;color:#30343b}
.scenario-comparison{border-top-color:#e3e5e8}.scenario-comparison summary{color:var(--brand-red);font-size:12px}.scenario-guide article{background:#f7f8fa;border:1px solid #eceef1;border-radius:6px;padding:16px}.scenario-guide h3{color:#343940}.scenario-guide-note{color:#737880}
.ranking-panel{background:#fff;color:var(--ink);border:1px solid #e0e2e6;box-shadow:0 2px 6px #20222a03;border-radius:8px;margin-top:20px}
.ranking-panel .panel-top{background:var(--brand-red);color:white;border:0}.ranking-panel .badge{background:#ffffff24;color:white}.ranking-panel .source-note{color:#747981;background:#fafafa}
.ranking-row{border-top-color:#e6e7eb;padding:14px 20px}.ranking-row:hover{background:#fff9f9}.ranking-row b{color:#33383f;font-size:14px}.ranking-row span{color:#7a7f87;font-size:10px}.ranking-panel button{color:var(--brand-red)}.ranking-panel>button{margin:10px 15px;font-size:12px}
.weather-panel{margin-top:20px}.weather-item{padding:16px 20px;border-bottom-color:#e5e7eb}.weather-item h3{font-size:13px;line-height:1.5}.weather-item p{font-size:11px;color:#717780}.weather-links{font-size:12px}.weather-options{padding:12px 20px}
.priority-panel{padding:23px}.priority-tools label{font-size:12px}.priority-rule{color:#6c727b}.priority-summary{color:#30353c;font-size:16px;padding:13px 15px;background:#faf2f2;border-left:3px solid var(--brand-red);border-radius:3px}
.priority-table th{background:#f2f3f5;color:#4a5059;font-size:12px;border-bottom:1px solid #dfe2e7;padding:14px 12px}.priority-table td{border-bottom-color:#e6e8ec}.priority-table tbody tr:hover{background:#fffbfb}.priority-pam{color:var(--brand-red)}.priority-place{color:#7a7f88}.priority-source{color:#737880;border-top-color:#e2e5e9}
.priority-table th:nth-child(3):after{content:' ↓';color:var(--brand-red)}
.watch-card .badge{background:#fceeee;color:var(--brand-red)}.watch-card h2{font-size:19px}.watch-card{padding:22px}.notification-settings{padding:22px}.notice-card.unread{border-left:4px solid var(--brand-red)}.notice-card small{color:#757a82}
.provenance-grid article{border-color:#e2e5e8;background:#fafbfc}.provenance-grid p{color:#6d737c}.source-card{border-top:3px solid #e1b7b7;padding:20px}.source-card p{font-size:12px;line-height:1.6;color:#727780}.source-summary{color:#717780}.provenance{font-size:13px;line-height:1.75}
footer{font-size:11px;color:#81858d;border-top:1px solid #e2e5e8;margin-top:28px;padding:22px 0 30px}
.toast{background:#30343c;box-shadow:0 6px 25px #20222a26;border-radius:6px}dialog{border-color:#dfe2e7;border-radius:8px}dialog::backdrop{background:#26292e70}.critical-tooltip{border-color:#e1d4d4;box-shadow:0 3px 14px #26292e26}.critical-tooltip small{color:var(--brand-red)}
@media(min-width:1450px){#map{height:540px}}
@media(max-width:1100px){.workspace{grid-template-columns:minmax(0,1.2fr) minmax(315px,1fr)}header{padding:17px 24px}.main-navigation nav{padding:0 24px;gap:4px}.main-navigation nav button{padding:14px 12px}.institution-bar>div{padding:8px 24px}main{padding:25px 24px 0}.local-pill{display:none}}
@media(max-width:760px){
 .institution-bar>div{padding:8px 18px;font-size:10px;align-items:flex-start;gap:8px}.institution-bar b{font-size:10px;white-space:nowrap}.institution-bar span{line-height:1.4}
 header{padding:16px 18px;min-height:85px;flex-wrap:nowrap;gap:12px}.brand{order:initial;margin:0;gap:10px}.brand-mark{width:40px;height:40px;font-size:25px;border-radius:7px}.brand b{font-size:22px}.brand div>span{font-size:8px;letter-spacing:.08em}.header-actions{order:initial;margin:0}.install-button{font-size:11px;padding:9px 11px;white-space:nowrap}
 .main-navigation{position:fixed;top:auto;bottom:0;left:0;right:0;border-top:1px solid #dedfe3;border-bottom:0;box-shadow:0 -3px 16px #20222a0b;padding-bottom:env(safe-area-inset-bottom)}
 .main-navigation nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:0 7px;gap:0;width:100%}
 .main-navigation nav button{min-height:70px;flex-direction:column;gap:5px;padding:9px 3px 8px!important;border-bottom:0;border-top:3px solid transparent;font-size:10px;line-height:1.15;border-radius:0;justify-content:flex-start;font-weight:500;white-space:normal}
 .main-navigation nav button.active{border-top-color:var(--brand-red);border-bottom:0;background:#fff5f4}.nav-icon{width:20px;height:20px}.nav-label{display:block;max-width:76px}.nav-count{position:absolute;top:6px;right:calc(50% - 27px);font-size:8px;min-width:15px;padding:1px 4px}
 main{padding:24px 18px 0;margin-bottom:calc(90px + env(safe-area-inset-bottom))}.intro{margin:0 0 21px;gap:14px}h1{font-size:30px;line-height:1.2}.intro p:not(.eyebrow){font-size:13px}.eyebrow{font-size:9px}.refresh-box{font-size:10px;max-width:none;gap:6px}
 .filters{grid-template-columns:1fr 1fr;padding:15px;gap:14px 12px;border-top-width:3px}.filters label{font-size:11px}.filters label:last-of-type{grid-column:1/-1}.filter-actions{grid-column:1/-1;display:flex;flex-wrap:nowrap;gap:10px}.filter-actions button{font-size:12px;padding:11px 12px}.filter-actions .primary{flex:1.8}.filter-actions .secondary{flex:1}
 .update-cadence{font-size:10px;line-height:1.7;margin-bottom:19px}.scenario-picker{grid-template-columns:1fr;gap:11px;padding:14px;border-left-width:3px;margin-bottom:21px}.scenario-picker p{font-size:11px}.scenario-picker label{font-size:11px}.scenario-picker select{font-size:11px;padding:10px 8px}
 .workspace{grid-template-columns:1fr;gap:20px}.panel-top{padding:16px}.map-panel .panel-top{gap:12px;flex-wrap:wrap}.segmented button{font-size:10px;padding:7px 9px}#map{height:410px}.map-bottom{padding:12px 14px}.legend{font-size:9px;gap:6px 9px}.check{font-size:10px}.source-note{font-size:10px;padding:10px 14px}
 .news-title{padding:18px 17px 14px}.news-tools{padding:0 16px;grid-template-columns:minmax(0,1fr) 116px}.news-tools>*{font-size:11px;padding:9px 7px}.news-checks{padding:13px 16px 0;gap:12px}.news-checks #google-search{font-size:10px}.article{padding:18px 16px}.article h3{font-size:17px}.article-meta{font-size:9px}.article-meta b{font-size:9px}.article-place{font-size:10px}
 .district-card{padding:17px 16px}.district-title h2{font-size:22px}.district-pam{padding:12px}.district-pam>span{font-size:11px}.district-pam small{font-size:9px}.district-pam>b{font-size:20px}.risk-pair{gap:10px}.risk-block{padding:11px}.exposure-grid>div{padding:9px}.exposure-grid dd{font-size:18px}.scenario-guide article{padding:14px}.scenario-guide h3{font-size:14px}
 .ranking-row{grid-template-columns:1.15fr 1fr 1fr;padding:13px 14px;gap:7px}.ranking-row b{font-size:12px}.ranking-row span{font-size:9px}.ranking-panel .panel-top{padding:16px}.weather-item{padding:15px 16px}.weather-item h3{font-size:12px}.weather-options{padding:12px 16px}.weather-item p{font-size:10px}
 .priority-panel{padding:15px}.priority-summary{font-size:13px;line-height:1.6;padding:12px}.priority-tools{grid-template-columns:1fr 1fr;gap:14px 11px}.priority-tools label{font-size:11px}.priority-tools select,.priority-tools input{font-size:12px;padding:10px 7px}.priority-rule{font-size:12px}.priority-table{font-size:13px}.priority-table th{font-size:11px}.priority-pam{font-size:16px}.priority-source{font-size:11px}
 .watch-card{padding:18px}.watch-card h2{font-size:17px}.notice-card{padding:18px}.notification-settings{padding:18px}.notice-card h2{font-size:16px}.provenance{padding:18px}.source-card{padding:18px}.provenance-grid{grid-template-columns:1fr}.provenance h2{font-size:18px}.toast{bottom:calc(88px + env(safe-area-inset-bottom));font-size:12px;padding:11px 16px}footer{font-size:10px;line-height:1.7;padding-bottom:18px}
}

.institution-bar>div{padding-top:3px;padding-bottom:3px}
.institution-logo{display:block;width:285px;max-width:100%;height:auto}
.brand-mark.brand-logo{display:block;flex-shrink:0;width:146px;height:73px;object-fit:contain;background:transparent;border-radius:0}
@media(max-width:760px){.institution-logo{width:255px}.brand-mark.brand-logo{width:96px;height:48px}.brand b{font-size:19px}.brand div>span{font-size:7px;letter-spacing:.06em}}
@media(max-width:380px){.brand-mark.brand-logo{width:84px;height:42px}.brand{gap:8px}.brand b{font-size:18px}.install-button{font-size:10px;padding:9px}.header-actions{flex-shrink:0}}
