﻿:root{--green:#045149;--green2:#0a665b;--gold:#c8a719;--gold2:#e9d67b;--bg:#edf3f7;--card:#fff;--text:#17263b;--muted:#718096;--line:#dce5ec;--shadow:0 3px 14px rgba(21,43,62,.08);--danger:#dd4b4b;--warn:#d99320;--ok:#1f9d72;--blue:#3867d6;--violet:#7652b8}
*{box-sizing:border-box}html,body{margin:0;font-family:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;background:var(--bg);color:var(--text);height:100%;font-size:12px}button,input,select,textarea{font:inherit}
.topbar{height:62px;background:var(--green);border-bottom:6px solid var(--gold);color:#fff;display:flex;align-items:center;position:fixed;inset:0 0 auto 0;z-index:40}.brand{width:238px;display:flex;align-items:center;gap:9px;padding:0 16px;font-weight:600;font-size:10px;line-height:1.05}.brandIcon{width:30px;height:30px;border-radius:50%;background:var(--gold);display:grid;place-items:center;color:#fff}.brandIcon svg{width:18px;fill:white}.brandLogo{width:36px;height:36px;border-radius:50%;background:#fff;border:2px solid rgba(255,255,255,.78);display:grid;place-items:center;box-shadow:0 2px 8px rgba(0,0,0,.16);overflow:hidden;flex:0 0 36px}.brandLogo img{width:100%;height:100%;object-fit:contain;display:block}.topTitle,.siteTitle{flex:1;text-align:center;font-size:13px;font-weight:600;letter-spacing:.25px}.topActions{width:238px;display:flex;justify-content:flex-end;align-items:center;gap:14px;padding-right:18px;font-size:11px}.session{border:1px solid rgba(220,173,77,.55);border-radius:18px;padding:7px 14px}.session i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#1f9d72;box-shadow:0 0 0 2px var(--gold);margin-right:7px}.avatar{width:32px;height:32px;border-radius:50%;background:#fff;border:2px solid var(--green);color:var(--green);font-weight:600;display:grid;place-items:center}.topDiamond{font-weight:700}.mobileMenu{display:none}
.sidebar{position:fixed;top:62px;left:0;bottom:0;width:238px;background:#fff;border-right:1px solid var(--line);padding:18px 8px;overflow:auto;z-index:30;box-shadow:8px 0 18px rgba(0,0,0,.18);isolation:isolate}.sidebar::before{content:"";position:absolute;inset:0;background:url('../../imagenes/sider_sombra.png?v=20260925-sidebar') no-repeat center bottom/100% auto;filter:brightness(0);opacity:.18;pointer-events:none;z-index:0}.sidebar::after{content:"";position:absolute;top:0;right:0;bottom:0;width:7px;background:linear-gradient(90deg,rgba(0,0,0,0),rgba(0,0,0,.22));pointer-events:none;z-index:2}.sectionLabel,.navItem{position:relative;z-index:1}.sectionLabel{font-size:9px;color:#7a8a9f;font-weight:600;letter-spacing:1.2px;margin:9px 10px}.navItem{display:flex;align-items:center;gap:10px;padding:10px 9px;border-radius:7px;margin:2px 0;color:#42536b;font-size:12px;font-weight:650;cursor:pointer;border:1px solid transparent;text-decoration:none}.navItem:hover{background:#f6f9fb}.navItem.active{background:#fff9ef;border-color:#e4b74e;box-shadow:inset 3px 0 0 var(--gold);color:var(--green)}.navIcon{width:27px;height:27px;border:1px solid #dbe5eb;border-radius:7px;display:grid;place-items:center;font-size:13px;background:#fff;flex:0 0 27px}.navItem.active .navIcon{color:var(--gold)}
.main{margin-left:238px;padding-top:62px;min-height:100vh}.content{padding:20px 42px 36px;max-width:1720px;margin:auto}.breadcrumb{font-size:11px;color:#718096;margin-bottom:14px}.breadcrumb b{color:var(--green)}.hero{background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px 18px;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.hero h1{font-size:21px;margin:0 0 5px;color:#0f1f33}.hero p{margin:0;color:#718096;font-size:11px}.heroRight{display:flex;gap:8px}
.btn{border:0;border-radius:7px;padding:9px 13px;font-size:11px;font-weight:750;cursor:pointer;background:#fff;border:1px solid var(--line);color:#42536b;text-decoration:none}.btn.primary{background:var(--green);color:white;border-color:var(--green)}.btn.light{background:#fff;border:1px solid var(--line);color:#42536b}.btn.gold{background:#fff6cf;color:#7b6300;border:1px solid #e2c45d}.btn.danger{background:#fff0ef;color:var(--danger);border-color:#efb7b4}.btn.warn{background:#fff6e7;color:#9a6100;border-color:#e7c27a}.btn:disabled{opacity:.45;cursor:not-allowed}.actions{display:flex;gap:6px;flex-wrap:wrap}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:14px}.kpi{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:15px 16px;min-height:93px}.kpiTop{display:flex;justify-content:space-between;align-items:center}.kpiLabel,.kpi>span:first-child{font-size:10px;font-weight:600;color:#52637a;letter-spacing:.35px}.kpiValue,.kpi b{display:block;font-size:22px;font-weight:600;margin-top:8px}.kpiSub,.kpi span:last-child{font-size:10px;color:#7b8aa0;margin-top:5px}.tag{font-size:9px;font-weight:600;border-radius:5px;padding:5px 8px;display:inline-block}.tag.green{background:#e7f8f1;color:#087a58;border:1px solid #aee5d2}.tag.blue{background:#edf3ff;color:#2f5cce;border:1px solid #c8d7ff}.tag.gold{background:#fff8df;color:#8a6800;border:1px solid #edd38a}.tag.violet{background:#f1ecfb;color:#65439e;border:1px solid #d8cbed}
.panel{background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow);margin-bottom:14px;overflow:hidden}.panelHead{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line)}.panelTitle{font-size:12px;font-weight:600;color:var(--green)}.panelBody{padding:14px 16px}.filters{display:grid;grid-template-columns:2fr 1fr 1.2fr auto;gap:9px;padding:12px 16px;border-bottom:1px solid var(--line)}.field,input[type=text],input[type=email],input[type=password],input[type=date],input[type=number],select,textarea{width:100%;border:1px solid #ccd8e1;border-radius:7px;background:white;padding:8px 10px;color:#53657c;font-size:11px;outline:none}.field{height:34px}.field:focus,input:focus,select:focus,textarea:focus{border-color:#75a89f;box-shadow:0 0 0 2px rgba(4,81,73,.08)}textarea{min-height:72px;resize:vertical}
.poaHistoryHint{margin-top:3px;color:#8796a7;font-size:10px}.poaHistoryHead{padding:16px 18px}.poaHistoryList{padding:8px 14px 14px}.poaHistoryItem{display:grid;grid-template-columns:68px minmax(180px,1fr) 105px auto;align-items:center;gap:14px;padding:11px 8px;border-bottom:1px solid #edf2f5;transition:background .15s}.poaHistoryItem:last-child{border-bottom:0}.poaHistoryItem:hover,.poaHistoryItem.selected{background:#f8fbfc}.poaHistoryItem.selected{border-left:3px solid var(--green);padding-left:5px}.poaHistoryYear{display:flex;align-items:center;justify-content:center;flex-direction:column;background:#eef7f5;border:1px solid #cfe5df;border-radius:9px;padding:7px 5px;color:var(--green);line-height:1}.poaHistoryYear span{font-size:8px;font-weight:600;letter-spacing:.08em}.poaHistoryYear strong{font-size:17px;margin-top:4px}.poaHistoryDetails{display:flex;flex-direction:column;gap:3px;min-width:0}.poaHistoryDetails b{font-size:11px;color:#173b4a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.poaHistoryDetails span,.poaHistoryDetails small{font-size:10px;color:#7b8b9a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.poaHistoryDetails small{font-size:9px}.poaHistoryStatus{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:600}.poaHistoryStatus i{width:7px;height:7px;border-radius:50%;background:#aab6c0}.poaHistoryStatus.draft{color:#a36a00}.poaHistoryStatus.draft i{background:#e4a72c}.poaHistoryStatus.approved{color:#087c68}.poaHistoryStatus.approved i{background:#14a383}.poaHistoryStatus.archived{color:#7d8995}.poaHistoryEmpty{display:flex;align-items:center;gap:12px;padding:25px 20px;color:#8796a7}.poaHistoryEmpty>span{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:#eef4f6;color:var(--green)}.poaHistoryEmpty div{display:flex;flex-direction:column;gap:3px}.poaHistoryEmpty b{font-size:11px;color:#526879}.poaHistoryEmpty small{font-size:10px}@media(max-width:700px){.poaHistoryItem{grid-template-columns:55px 1fr auto;gap:10px}.poaHistoryStatus{grid-column:2}.poaHistoryItem .btn{grid-column:3;grid-row:1 / span 2}.poaHistoryDetails span{max-width:180px}}
.historyModalIntro{margin-bottom:10px;color:#718096;font-size:11px}.historyModalList{display:flex;flex-direction:column;border:1px solid #e3ebef;border-radius:9px;overflow:hidden}.historyModalRow{display:grid;grid-template-columns:70px minmax(150px,1fr) 90px 58px;align-items:center;gap:10px;padding:11px 12px;text-decoration:none;border-bottom:1px solid #edf2f5;background:#fff}.historyModalRow:last-child{border-bottom:0}.historyModalRow:hover{background:#f5faf9}.historyModalYear{font-weight:700;font-size:16px;color:var(--green)}.historyModalInfo{display:flex;flex-direction:column;gap:3px;min-width:0}.historyModalInfo b{font-size:11px;color:#173b4a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.historyModalInfo small{font-size:9px;color:#7b8b9a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.historyModalOpen{font-size:10px;font-weight:600;color:var(--green);text-align:right}@media(max-width:560px){.historyModalRow{grid-template-columns:55px 1fr auto}.historyModalRow .poaHistoryStatus{grid-column:2}.historyModalOpen{grid-column:3;grid-row:1 / span 2}}
.historyModalRow{display:flex;align-items:center;gap:8px}.historyModalMain{display:grid;grid-template-columns:70px minmax(150px,1fr) 90px 58px;align-items:center;gap:10px;flex:1;min-width:0;text-decoration:none}.historyModalActions{display:flex;gap:5px}.historyModalIcon{width:28px;height:28px;border:1px solid #d6e1e7;border-radius:7px;background:#fff;color:#456277;cursor:pointer;font-weight:600;display:inline-flex;align-items:center;justify-content:center;padding:0}.historyModalIcon svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.historyModalIcon:hover{background:#eef7f5;color:var(--green)}.historyModalIcon.delete:hover{background:#fff1f1;color:#bd3f3f}@media(max-width:560px){.historyModalMain{grid-template-columns:55px 1fr 48px}.historyModalMain .poaHistoryStatus{grid-column:auto}.historyModalMain .historyModalOpen{display:none}.historyModalActions{flex-direction:column}}
#heroActions button[onclick="clearDemoPoa()"]{display:none!important}
.historyModalMain{grid-template-columns:70px minmax(150px,1fr) 58px}.historyModalMain .poaHistoryStatus{display:none}.historyModalMain .historyModalOpen{grid-column:3}
.tableWrap{overflow-y:auto;overflow-x:hidden;max-height:570px;width:100%}.dataTable{border-collapse:collapse;width:100%;min-width:0!important;font-size:9.6px;table-layout:fixed}.dataTable th{position:sticky;top:0;z-index:2;background:#f7f9fb;text-align:left;color:#41516a;font-size:9px;letter-spacing:.1px;padding:9px 7px;border-bottom:1px solid #ccd8e1;white-space:normal;overflow-wrap:anywhere;line-height:1.25}.dataTable td{padding:9px 7px;border-bottom:1px solid #e6edf2;vertical-align:top;white-space:normal;overflow:visible;overflow-wrap:anywhere;word-break:normal;line-height:1.38}.dataTable tr:hover td{background:#fbfcfd}.tableFoot{padding:10px 16px;display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#718096}.pager{display:flex;gap:4px;align-items:center;flex-wrap:nowrap}.pageBtn{min-width:28px;height:28px;border:1px solid #d9e1e7;background:#fff;border-radius:6px;color:#607085;cursor:pointer}.pageBtn.active{background:var(--green);color:#fff;border-color:var(--green)}.pageBtn.disabled{display:grid;place-items:center;opacity:.45;cursor:default}.pageEllipsis{height:28px;min-width:18px;display:grid;place-items:center;color:#718096;font-weight:700}.muted{color:var(--muted)}
.pill{display:inline-block;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:700}.pill.ok{background:#e7f8f1;color:#087a58}.pill.pending{background:#f1f4f7;color:#6e7d90}.pill.mod{background:#fff1d9;color:#9a6100}.pill.del{background:#ffe4e2;color:#ba3d3d}.row-approved td,.row-approved:hover td{background:#eefaf5!important}.row-modified td,.row-modified:hover td{background:#fff7e8!important}.row-deleted td,.row-deleted:hover td{background:#fff0ef!important}.progress{height:7px;background:#e8eef2;border-radius:9px;overflow:hidden;margin-top:4px}.progress>span{display:block;height:100%;background:var(--green)}
.flash{padding:11px 13px;border-radius:10px;margin-bottom:12px}.flash.success{background:#e7f8f1;color:#087a58}.flash.error{background:#fff0ef;color:#aa3838}.flash.info{background:#eef4ff;color:#315ecb}
.modal{position:fixed;inset:0;background:rgba(11,24,35,.42);display:none;align-items:center;justify-content:center;padding:14px;z-index:100}.modal.open{display:flex}.modalCard{width:min(560px,92vw);max-height:82vh;overflow:auto;background:#fff;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.22)}.modalHead{display:flex;justify-content:space-between;align-items:center;padding:11px 13px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:3}.modalHead h3{margin:0;font-size:14px}.close{width:26px;height:26px;border:0;border-radius:50%;background:#eef3f5;cursor:pointer}.modalBody{padding:12px}.formGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.formGrid .full{grid-column:1/-1}.formField{margin-bottom:8px}.formField label{display:block;font-size:9px;font-weight:700;text-transform:uppercase;color:#6f7f95;margin-bottom:5px}.modalActions{display:flex;justify-content:flex-end;gap:6px;margin-top:10px}.sectionCard{border:1px solid var(--line);border-radius:8px;padding:8px;margin-bottom:8px}.smallLabel{font-size:8px;font-weight:700;color:#7a899e;text-transform:uppercase}.reviewActions{display:flex;gap:5px;flex-wrap:wrap}.reviewBtn{padding:6px 8px;border:1px solid #d3dee5;border-radius:7px;background:#fff;font-weight:600;cursor:pointer}.reviewBtn.active.approve{background:#e7f8f1;color:#087a58;border-color:#8bd5ba}.reviewBtn.active.modify{background:#fff1d9;color:#9a6100;border-color:#e1bc74}.reviewBtn.active.delete{background:#ffe4e2;color:#b83d3d;border-color:#e89f98}
.tom{position:relative}.tomMenu{position:absolute;left:0;right:0;top:calc(100% + 4px);background:#fff;border:1px solid #cbd9e3;border-radius:9px;z-index:20;box-shadow:0 12px 28px rgba(0,0,0,.13);display:none}.tom.open .tomMenu{display:block}.tomMenu input{width:calc(100% - 16px);margin:8px;border:1px solid #e2e9ee;border-radius:6px;padding:8px 12px;transition:all .2s;color:#203a5d;font-size:11.5px}.tomMenu input:focus{border-color:#f28c28;outline:none;box-shadow:0 0 0 2px rgba(242,140,40,.2)}.tomList{max-height:178px;overflow-y:auto;overscroll-behavior:contain}.tomOption{padding:8px 10px;cursor:pointer;color:#334155}.tomOption:hover{background:#fdf2e9;color:#b26315}
.loginWrap{min-height:100vh;display:grid;place-items:center;padding:20px;background:#0a1020;position:relative;overflow:hidden}
.loginWrap::before{content:"";position:absolute;inset:0;background:url('../../imagenes/libros.jpg?v=2') no-repeat center/cover;filter:blur(6px) brightness(0.45) saturate(0.7);z-index:0}
.loginWrap::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 25%,rgba(0,5,15,0.6) 100%),linear-gradient(180deg,rgba(0,5,15,0.25) 0%,transparent 30%,transparent 70%,rgba(0,5,15,0.35) 100%),linear-gradient(90deg,rgba(0,5,15,0.25) 0%,transparent 25%,transparent 75%,rgba(0,5,15,0.25) 100%);z-index:1}
.loginCard{width:min(391px,94vw);max-width:391px;background:#fff;border:1px solid #e7eef0;border-radius:14px;padding:22px;box-shadow:0 18px 40px rgba(20,35,58,.04);position:relative;z-index:2}
.loginCard.modern{padding:22px}
.loginLogo{display:flex;justify-content:center;margin-bottom:14px}
.loginLogo img{width:72px;height:72px;border-radius:50%;object-fit:contain;border:2px solid #e7eef0;box-shadow:0 4px 14px rgba(0,0,0,.08);background:#fff;padding:6px}
.loginSystemTitle{margin:-4px auto 14px;text-align:center;color:#0f3040;font-size:14px;font-weight:600;line-height:1.35}
.cardHead{margin-bottom:10px;text-align:center}
.cardHead .badge{display:inline-flex;align-items:center;gap:8px;color:#2b6b61;font-weight:600;padding:6px 10px;border-radius:999px;font-size:11px;justify-content:center}
.badgeDot{width:10px;height:10px;border-radius:50%;background:#0a7a63;display:inline-block;box-shadow:0 0 0 4px rgba(10,122,99,.08)}
.cardHead h2{margin:8px 0 8px;font-size:26px;color:#0f3040;font-weight:700}
.cardHead .lead{margin:0;color:#64757f;font-size:13px;line-height:1.45}

.loginForm{margin-top:12px;text-align:center}
.fieldLabel{display:block;font-size:11px;font-weight:600;color:#6f7f95;margin:16px 0 6px}
.inputWrap{position:relative;display:flex;align-items:center}
.inputWrap input{width:100%;padding:12px 44px;border-radius:10px;border:1px solid #d8e6e3;background:#fbfeff;font-size:14px;color:#223445;box-shadow:inset 0 1px 0 rgba(255,255,255,.6), 0 1px 0 rgba(16,24,32,.02)}
.inputWrap input:focus{outline:none;border-color:#0b6b57;box-shadow:0 6px 18px rgba(11,107,87,.06)}
.inputIcon{position:absolute;left:12px;color:#7d9b98;font-size:14px}
.eyeBtn{position:absolute;right:10px;top:50%;transform:translateY(-50%);border:0;background:none;cursor:pointer;font-size:14px;color:#8b9aa0}

.formRow{display:flex;align-items:center;justify-content:space-between;margin-top:12px}
.checkbox{font-size:13px;color:#556b75;display:inline-flex;align-items:center;gap:8px}
.forgot{color:#0a7a63;font-weight:700;text-decoration:none}

.btn.large{display:block;width:100%;padding:12px 18px;border-radius:12px;font-size:15px;background:linear-gradient(180deg,var(--green) 0%,#0a6a5a 100%);color:#fff;border:0;margin-top:16px;box-shadow:0 14px 34px rgba(4,81,73,.12);font-weight:600}

.loginNote{margin-top:14px;color:#6b7f85;font-size:13px;display:flex;align-items:flex-start;gap:10px}
.noteIcon{background:#f0fbf8;color:#0a7a63;padding:6px;border-radius:8px;display:inline-grid;place-items:center}

/* small screens */
@media(max-width:700px){
	.loginCard{padding:20px;border-radius:14px}
	.cardHead h2{font-size:24px}
	.inputWrap input{padding:12px 44px}
}

/* Ocultar tarjetas/etiquetas verdes (informativas) según petición */
.tag.green,
.poaConsolidadoTable .scoreBadge,
.poaConsolidadoTable .scoreGood,
.poaConsolidadoTable .scoreRegular,
.poaConsolidadoTable .scoreBad,
.masterDateBadge,
.masterInformeStatus.past,
.unitKpiIcon.iconAssigned,
.masterRespCard .masterRespRole.past,
.masterInformeCard.green,
.reviewBtn.active.approve,
.kpi .scoreGood {
	display: none !important;
}

/* Ocultar cajas informativas usadas en formularios (ej.: "100% de gestión...") */
.expectedBox,
.expectedBox.metaLiteral,
.metaLiteral {
	display: none !important;
}

/* POA Consolidado fiel al tablero original */
.inlineHeroForm{display:inline}.poaRegistryPanel{border-radius:10px}.poaRegistryHead{padding:12px 16px}.poaRegistryHead .panelTitle{font-size:11px;color:var(--green);font-weight:700}.poaRegistryHead .tag{font-size:8px;padding:4px 7px;border-radius:5px}.poaFilterBar{display:grid;grid-template-columns:1.15fr .62fr 1.2fr .56fr;gap:10px;padding:12px 16px 13px;border-bottom:1px solid var(--line)}.poaFilterBar .field{height:34px;border-radius:8px;font-size:11px;padding:7px 10px}.poaSearch{padding-left:13px}.poaTableWrap{max-height:650px;overflow:auto}.poaConsolidadoTable{table-layout:fixed;width:100%;font-size:9.6px}.poaConsolidadoTable col:nth-child(1){width:2.8%}.poaConsolidadoTable col:nth-child(2){width:24.75%}.poaConsolidadoTable col:nth-child(3){width:19.2%}.poaConsolidadoTable col:nth-child(4){width:8.8%}.poaConsolidadoTable col:nth-child(5),.poaConsolidadoTable col:nth-child(6),.poaConsolidadoTable col:nth-child(7),.poaConsolidadoTable col:nth-child(8){width:7.8%}.poaConsolidadoTable col:nth-child(9){width:8%}.poaConsolidadoTable col:nth-child(10){width:6.65%}.poaConsolidadoTable th{height:42px;vertical-align:middle;font-size:9.6px;color:#203a5d;background:#f7f9fb;border-right:1px solid #dce5ec;border-left:1px solid #dce5ec;padding:6px 7px}.poaConsolidadoTable thead tr:first-child th{top:0;z-index:8}.poaConsolidadoTable thead .groupCumplimiento{text-align:center;background:#edf7f4;color:var(--green);border-left:1px solid #d2e4df;border-right:1px solid #d2e4df}.poaConsolidadoTable thead .subHead th{top:42px;height:36px;text-align:center;background:#f9fbfc;font-size:8.8px;line-height:1.12;z-index:9}.poaConsolidadoTable td{padding:9px 6px;line-height:1.35;color:#001b3f;border-right:1px solid #e6edf2;border-left:1px solid #e6edf2}.poaConsolidadoTable tbody tr:not(.poaGroupRow) td{height:48px}.checkCell{text-align:center!important}.checkCell input[type=checkbox]{width:14px;height:14px;accent-color:var(--green);cursor:pointer}.idCell{color:#607697;text-align:center}.poaGroupRow td{background:#eef5f7!important;border-top:1px solid #cfdfe5;border-bottom:1px solid #cfdfe5;padding:10px 18px!important}.poaGroupContent{display:flex;align-items:center;gap:9px;color:var(--green);font-size:11px}.poaGroupIcon{width:32px;height:32px;border-radius:10px;background:#e5f4ef;border:1px solid #c6dfd8;display:grid;place-items:center;flex:0 0 32px}.poaGroupFunction{padding:4px 8px;border-radius:999px;background:#fff;border:1px solid #cfddd9;color:#52637a;font-size:8.5px;font-weight:700}.poaGroupMeta{font-size:9px;color:#667995;font-weight:600}.poaScore{text-align:center;color:#6c809d;font-weight:600}.scoreBadge{display:inline-block;min-width:46px;padding:4px 6px;border-radius:6px;font-size:9px;font-weight:700;line-height:1;text-align:center;white-space:nowrap}.scoreGood{background:#dcfce7;color:#047857;border:1px solid #a7f3d0}.scoreRegular{background:#fef3c7;color:#a16207;border:1px solid #fde68a}.scoreBad{background:#fee2e2;color:#b91c1c;border:1px solid #fecaca}.scoreNone{background:#f1f5f9;color:#64748b;border:1px solid #d8e1e7}.scoreGold{background:#fff8df;color:#8a6800;border:1px solid #edd38a}.scoreGreen{background:#e7f8f1;color:#087a58;border:1px solid #aee5d2}.actionGroup{display:flex;gap:4px;align-items:center;justify-content:center}.poaActionIcon{width:28px;height:28px;border:1px solid #d3dde6;border-radius:7px;background:#fff;color:#082449;font-weight:700;cursor:pointer}.poaActionIcon:hover{border-color:#9ab5b0;background:#f6fbf9;color:var(--green)}

/* Unidades y Direcciones */
.unitsKpis{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.unitsKpis .kpi{min-height:92px;padding:16px 18px}.unitKpiTop{display:flex;align-items:center;justify-content:space-between;gap:10px}.unitKpiIcon{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;font-size:13px;font-weight:700;line-height:1;flex:0 0 30px}.unitKpiIcon.iconUnits{background:#eaf6f3;border:1px solid #c7e0d9;color:var(--green)}.unitKpiIcon.iconAssigned{background:#e7f8f1;border:1px solid #aee5d2;color:#087a58}.unitKpiIcon.iconPending{background:#fff1d9;border:1px solid #e7bd71;color:#9a6100}.unitKpiIcon.iconUsers{background:#edf3ff;border:1px solid #c8d7ff;color:#2f5cce}.unitsKpis .kpiValue{font-size:23px;margin-top:10px}.unitsPanel{border-radius:14px;overflow:visible}.unitsPanelHead{padding:19px 22px}.unitsPanelHead .panelTitle{font-size:13px;font-weight:700;color:var(--green)}.unitsFilterBar{display:grid;grid-template-columns:1.5fr .75fr auto;gap:12px;padding:16px 22px;border-bottom:1px solid var(--line)}.unitsFilterBar .field{height:43px;border-radius:9px;font-size:12px}.unitsSaveHint{display:flex;align-items:center;color:#657792;background:#fff}.unitsTableWrap{max-height:728px;overflow:auto}.unitsDetectedTable{table-layout:fixed;font-size:10.5px}.unitsDetectedTable th{height:48px;font-size:9.5px;color:#203a5d;background:#f7f9fb}.unitsDetectedTable td{height:68px;padding:12px 10px;vertical-align:middle;color:#001b3f}.unitsDetectedTable th:nth-child(1),.unitsDetectedTable td:nth-child(1){width:3%}.unitsDetectedTable th:nth-child(2),.unitsDetectedTable td:nth-child(2){width:3%}.unitsDetectedTable th:nth-child(3),.unitsDetectedTable td:nth-child(3){width:28%}.unitsDetectedTable th:nth-child(4),.unitsDetectedTable td:nth-child(4){width:8%}.unitsDetectedTable th:nth-child(5),.unitsDetectedTable td:nth-child(5){width:8%}.unitsDetectedTable th:nth-child(6),.unitsDetectedTable td:nth-child(6){width:22%}.unitsDetectedTable th:nth-child(7),.unitsDetectedTable td:nth-child(7){width:18%}.unitsDetectedTable th:nth-child(8),.unitsDetectedTable td:nth-child(8){width:10%}.unitsDetectedTable th:nth-child(9),.unitsDetectedTable td:nth-child(9){width:0%}.unitNameWrap{display:flex;align-items:center;text-decoration:none;color:inherit}.unitTitleLine{display:flex;align-items:center;margin-bottom:6px}.unitTextBlock b{display:block;font-size:11px;color:#001b3f}.unitSub{display:block;font-size:10px;color:#667995}.unitCompliance{display:grid;grid-template-columns:minmax(78px,1fr) auto;gap:10px;align-items:center}.unitCompliance .progress{height:8px;margin-top:0}.unitCompliance b{white-space:nowrap}.statePill{display:inline-flex;align-items:center;justify-content:center;min-width:94px;padding:7px 10px;border-radius:7px;font-size:10px;font-weight:700;white-space:nowrap}.statePill.none{background:#f1f5f9;color:#64748b;border:1px solid #d8e1e7}.statePill.insufficient{background:#fee2e2;color:#b91c1c;border:1px solid #fecaca}.statePill.regular{background:#fff1d9;color:#9a6100;border:1px solid #e7bd71}.statePill.good{background:#fff8df;color:#8a6800;border:1px solid #edd38a}.statePill.verygood{background:#edf3ff;color:#2f5cce;border:1px solid #c8d7ff}.statePill.excellent{background:#e7f8f1;color:#087a58;border:1px solid #aee5d2}.filterTom .field,.unitTom .field{height:45px;border-radius:9px;text-align:left;display:flex;align-items:center;justify-content:space-between;padding:0 14px;background:#fff}.filterTom .tomMenu{min-width:100%;z-index:40}.unitFilterTom .tomList{max-height:210px}.unitTom .tomMenu{min-width:360px}.unitsDetectedTable .pill{font-size:10px;padding:7px 11px;border-radius:7px}.unitsDetectedTable .pill.ok{border:1px solid #aee5d2}.unitsDetectedTable .pill.pending{border:1px solid #d8e1e7}

/* Usuarios */
.usersKpis{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.usersKpis .kpi{height:116px;min-height:116px;padding:12px 18px;display:grid;grid-template-rows:30px 1fr auto;align-items:stretch}.userKpiTop{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.userKpiTop .kpiLabel{align-self:center}.userKpiIcon{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;font-size:13px;font-weight:700;line-height:1;flex:0 0 30px}.userKpiIcon.iconUsersTotal{background:#edf3ff;border:1px solid #c8d7ff;color:#2f5cce}.userKpiIcon.iconUsersActive{background:#e7f8f1;border:1px solid #aee5d2;color:#087a58}.userKpiIcon.iconUsersAssigned{background:#eaf6f3;border:1px solid #c7e0d9;color:var(--green)}.userKpiIcon.iconUsersInactive{background:#fff1d9;border:1px solid #e7bd71;color:#9a6100}.usersKpis .kpiValue{font-size:20px;margin:0;line-height:1.1;align-self:center}.usersKpis .kpiSub{margin:0;line-height:1.2;align-self:end}.usersRegistryPanel{border-radius:14px}.usersRegistryHead{padding:19px 22px}.usersRegistryHead .panelTitle{font-size:13px;font-weight:700;color:var(--green)}.usersFilterBar{display:grid;grid-template-columns:1.6fr .8fr auto;gap:12px;padding:16px 22px;border-bottom:1px solid var(--line)}.usersFilterBar .field{height:43px;border-radius:9px;font-size:12px}.usersTableWrap{max-height:608px;overflow:auto}.usersRegistryTable{table-layout:fixed;font-size:10.5px}.usersRegistryTable th{height:48px;font-size:9.5px;color:#203a5d;background:#f7f9fb}.usersRegistryTable td{height:56px;padding:11px 10px;vertical-align:middle;color:#001b3f}.usersRegistryTable th:nth-child(1),.usersRegistryTable td:nth-child(1){width:3%}.usersRegistryTable th:nth-child(2),.usersRegistryTable td:nth-child(2){width:4%}.usersRegistryTable th:nth-child(3),.usersRegistryTable td:nth-child(3){width:25%}.usersRegistryTable th:nth-child(4),.usersRegistryTable td:nth-child(4){width:25%}.usersRegistryTable th:nth-child(5),.usersRegistryTable td:nth-child(5){width:22%}.usersRegistryTable th:nth-child(6),.usersRegistryTable td:nth-child(6){width:10%}.usersRegistryTable th:nth-child(7),.usersRegistryTable td:nth-child(7){width:18%}.usersRegistryTable td:nth-child(7){overflow:hidden}.userBadge{display:flex;align-items:center;gap:10px}.userDot{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e5f4ef;color:var(--green);font-weight:700;font-size:11px;flex:0 0 34px}.usersRegistryTable .pill{font-size:10px;padding:7px 11px;border-radius:999px}.usersRegistryTable .pill.ok{border:1px solid #aee5d2}.usersActions{display:flex;gap:5px;flex-wrap:nowrap;align-items:center}.iconBtn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0!important;border-radius:8px!important;border:1px solid transparent;background:transparent;cursor:pointer;transition:all .18s ease;line-height:0;color:#6b7c95}.iconBtn svg{flex-shrink:0;pointer-events:none}.editBtn{color:#3b6fd4;background:#f0f4ff;border-color:#d6e0f5}.editBtn:hover{background:#dce7ff;border-color:#3b6fd4;color:#2b5bc0}.toggleBtn{color:#c08a18;background:#fdf6e3;border-color:#ecd9a0}.toggleBtn:hover{background:#faecc0;border-color:#c08a18;color:#9a6a00}.deleteBtn{color:#d94444;background:#fdf0f0;border-color:#f0c4c4}.deleteBtn:hover{background:#fce0e0;border-color:#d94444;color:#b53333}
.usersKpis .kpi{min-width:0;overflow:hidden}.usersKpis .kpi::before,.usersKpis .kpi::after{content:none!important;display:none!important}.usersKpis .kpiSub{white-space:normal;line-height:1.2;overflow-wrap:anywhere}
@media(max-width:1100px){.usersKpis{grid-template-columns:repeat(2,minmax(0,1fr))}.usersKpis .kpi{height:auto;min-height:92px}}
@media(max-width:700px){.usersKpis{grid-template-columns:1fr}.usersFilterBar{grid-template-columns:1fr;padding:12px 14px}.usersFilterBar .btn{width:100%}.usersRegistryHead{padding:14px}.usersRegistryTable{min-width:760px!important}.usersTableWrap{overflow-x:auto}}
.poaConsolidadoTable .scoreBadge{display:inline-flex!important;align-items:center;justify-content:center;min-width:58px;height:22px;padding:0 10px;border:0!important;border-radius:7px;background:#e7f8f1;color:#00875f;font-size:11px;font-weight:700;line-height:1;white-space:nowrap}.poaConsolidadoTable .scoreGood,.poaConsolidadoTable .scoreRegular,.poaConsolidadoTable .scoreBad{background:#e7f8f1!important;color:#00875f!important}.poaConsolidadoTable .scorePairLine:not(.reviewer) .scoreBadge:not(.scoreNone){background:#fef3c7!important;color:#a16207!important}.poaConsolidadoTable .scoreNA{background:#ffedd5!important;color:#c2410c!important;min-width:58px;height:22px;padding:0 8px;border-radius:7px;display:inline-flex!important;align-items:center;justify-content:center;font-size:8.5px!important;font-weight:500!important;white-space:nowrap}.poaConsolidadoTable .scoreNone{background:transparent!important;color:#8a98ad!important;min-width:28px;padding:0;font-size:13px}

/* Formulación POA */
.formulationSelectorPanel{padding:0;border-radius:14px}.formulationSelector{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px 20px}.formulationSelector .field{height:45px;border-radius:9px;font-size:12px}.formulationKpis{grid-template-columns:repeat(4,1fr);margin-bottom:18px}.formulationKpis .kpi{min-height:92px;padding:22px 24px}.formulationKpis .kpiValue{font-size:25px;margin-top:0}.formulationProgressPanel{padding:22px 24px;border-radius:14px}.reviewProgressTop{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px}.reviewProgressTop h2{font-size:18px;margin:0 0 10px;color:#001b3f}.reviewProgressTop p{margin:0;color:#627493;font-size:11px}.reviewProgressTop b{font-size:20px;color:#001b3f}.formulationProgressPanel .progress{height:12px}.reviewQuickPanel{border-radius:14px;padding:0;overflow:hidden}.reviewQuickHead{padding:18px 22px 14px;border-bottom:1px solid var(--line)}.reviewQuickHead .panelTitle{font-size:13px;font-weight:700;color:var(--green);margin-bottom:6px}.reviewQuickHead .muted{font-size:10px;color:#718096}.reviewQuickList{display:grid;gap:12px;padding:16px 22px;max-height:600px;overflow-y:auto}.reviewQuickCard{border:1px solid #dce5ec;border-radius:12px;background:#fafcfd;overflow:hidden;transition:box-shadow .2s}.reviewQuickCard:hover{box-shadow:0 4px 16px rgba(21,43,62,.1)}.rqcHeader{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #eef2f5;background:#f7f9fb}.rqcNum{font-size:13px;font-weight:700;color:var(--green)}.rqcBody{padding:14px 16px;display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}.rqcField{display:flex;flex-direction:column;gap:3px}.rqcLabel{font-size:8px;font-weight:700;color:#7a8a9f;text-transform:uppercase;letter-spacing:.4px}.rqcValue{font-size:11px;color:#1e3050;line-height:1.45;max-height:60px;overflow:hidden;text-overflow:ellipsis}.rqcActions{display:flex;gap:8px;padding:12px 16px;border-top:1px solid #eef2f5;background:#f7f9fb;flex-wrap:wrap}.reviewBtn{padding:7px 14px;border:1px solid #d3dee5;border-radius:8px;background:#fff;font-size:10px;font-weight:600;cursor:pointer;transition:all .15s}.reviewBtn:hover{transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.1)}.reviewBtn.approve{color:#087a58;border-color:#b8ddd0}.reviewBtn.approve:hover{background:#e7f8f1;border-color:#087a58}.reviewBtn.modify{color:#9a6100;border-color:#e2c45d}.reviewBtn.modify:hover{background:#fff8df;border-color:#9a6100}.reviewBtn.delete{color:#ba3d3d;border-color:#efb7b4}.reviewBtn.delete:hover{background:#fff0ef;border-color:#ba3d3d}.formulationPoaPanel{border-radius:14px}.formulationPoaHead{padding:20px 22px 16px}.formulationPoaHead .panelTitle{font-size:13px;font-weight:700;color:var(--green);margin-bottom:12px}.reviewFilterBar{display:flex;gap:8px;flex-wrap:wrap}.reviewFilter{border:1px solid #d3dee8;background:#fff;color:#405575;border-radius:999px;padding:8px 14px;font-size:10px;font-weight:700;text-decoration:none}.reviewFilter.active{background:var(--green);border-color:var(--green);color:#fff}.formulationTableWrap{max-height:680px;overflow:auto}.formulationTable{table-layout:fixed;font-size:10px}.formulationTable th{height:38px;background:#f7f9fb;color:#203a5d;font-size:9.5px}.formulationTable th:nth-child(1),.formulationTable td:nth-child(1){width:4%}.formulationTable th:nth-child(2),.formulationTable td:nth-child(2){width:18%}.formulationTable th:nth-child(3),.formulationTable td:nth-child(3){width:18%}.formulationTable th:nth-child(4),.formulationTable td:nth-child(4){width:12%}.formulationTable th:nth-child(5),.formulationTable td:nth-child(5){width:27%}.formulationTable th:nth-child(6),.formulationTable td:nth-child(6){width:9%}.formulationTable th:nth-child(7),.formulationTable td:nth-child(7){width:12%}.formulationTable td{padding:14px 10px;vertical-align:top;line-height:1.35}.formulationTable .row-approved td{background:#eefaf5!important}.formulationTable .row-modified td{background:#fff7e8!important}.formulationTable .row-deleted td{background:#fff0ef!important}.reviewDataGroup{display:grid;gap:8px}.reviewDataItem{font-size:9.4px}.reviewDataLabel{display:block;font-size:8.4px;font-weight:700;color:#73849d;text-transform:uppercase;letter-spacing:.25px;margin-bottom:4px}.reviewDataValue{display:block;color:#17304d;overflow-wrap:anywhere}.reviewDataItem+.reviewDataItem{padding-top:8px;border-top:1px dashed #dfe8ee}.formulationTable .pill{font-size:10px;padding:8px 12px;border-radius:999px}.reviewActions{display:flex;flex-direction:column;gap:7px;align-items:flex-start}.reviewActions form{margin:0}.reviewBtn{border:1px solid #d4dee6;background:#fff;border-radius:7px;padding:8px 12px;font-size:10px;font-weight:700;cursor:pointer;white-space:nowrap}.reviewBtn.approve.active,.reviewBtn.approve:hover{background:#e7f8f1;border-color:#8dd3bb;color:#087a58}.reviewBtn.modify.active,.reviewBtn.modify:hover{background:#fff1d9;border-color:#e7bd71;color:#9a6100}.reviewBtn.delete.active,.reviewBtn.delete:hover{background:#ffe4e2;border-color:#e8a09a;color:#ba3d3d}

/* Modal de seguimiento */
.modalCard.wideFollowup{width:min(900px,96vw);max-width:900px;transition: width 0.3s ease}.followupModal{display:block}.followInfoGrid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:20px;align-items:stretch}.followInfoCard{border:1px solid #dbe5ec;background:#fbfdfe;border-radius:9px;padding:16px;min-height:132px;display:flex;flex-direction:column}.followInfoCard span,.followBlock h4{display:block;font-size:9.5px;font-weight:700;color:#6b7c95;text-transform:uppercase;letter-spacing:.35px;margin:0 0 10px}.followInfoCard p{margin:0;color:#0c2341;font-size:12px;line-height:1.55;white-space:pre-wrap;flex:1}.followSectionGrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.followBlock p{font-size:10px;color:#687a92;line-height:1.45;margin:0 0 10px}.followBlock .officialNote{color:#00634f;font-weight:600}.scoreMetaRow{display:grid;grid-template-columns:1fr;gap:12px;align-items:end}.scoreMetaRow label span,.expectedBox span{display:block;font-size:9.5px;font-weight:700;color:#7a8aa2;text-transform:uppercase;margin-bottom:6px}.scoreMetaRow input{height:42px;border:1px solid #ccd8e1;border-radius:8px;padding:0 12px;font-size:12px}.expectedBox{display:none}.followupModal .formField label{color:#6b7c95}.followupModal textarea{min-height:88px}.followupModal .full{grid-column:1/-1}.followupModal .proposalHint{font-size:9.5px;color:#718096;margin-top:7px}.followupModal .obsCounter{text-align:right;font-size:9.5px;color:#718096;margin-top:4px}

/* Diseño original KPI / POA */
.kpiExecutive{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:14px}.kpiExecutive .kpi{min-height:112px}.kpiExecutive .kpiValue{font-size:25px}.kpiExecutive .kpiSub{line-height:1.35}.poaKpiIcon{width:28px;height:28px;border-radius:7px;display:grid;place-items:center;font-size:13px;font-weight:700;line-height:1;flex:0 0 28px}.poaKpiIcon.iconActivities{background:#edf3ff;border:1px solid #c8d7ff;color:#2f5cce}.poaKpiIcon.iconCompliance{background:#e7f8f1;border:1px solid #aee5d2;color:#087a58}.poaKpiIcon.iconBudget{background:#fff8df;border:1px solid #edd38a;color:#8a6800}.poaKpiIcon.iconExecution{background:#eaf6f3;border:1px solid #c7e0d9;color:var(--green)}.poaKpiIcon.iconUnitsPoa{background:#f1ecfb;border:1px solid #d8cbed;color:#65439e}.kpiFilterBar{display:grid;grid-template-columns:1.2fr 2fr auto;gap:10px;align-items:center;margin-bottom:14px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;box-shadow:var(--shadow)}.kpiMegaGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.kpiMini{background:#fff;border:1px solid var(--line);border-radius:11px;padding:13px 14px;box-shadow:var(--shadow);min-height:92px}.kpiMini .label{font-size:9px;font-weight:600;color:#718096;letter-spacing:.4px}.kpiMini .value{font-size:22px;font-weight:700;color:#17263b;margin:7px 0 3px}.kpiMini .sub{font-size:9px;color:#7b8a9f;line-height:1.35}.kpiSectionTitle{font-size:10px;font-weight:700;letter-spacing:.8px;color:#74849a;margin:18px 2px 9px;text-transform:uppercase}.kpiPerformanceGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.kpiPerformanceGrid>.panel{min-width:0}.kpiCharts2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.chartBox{min-height:290px}.donutWrap{display:flex;align-items:center;gap:25px;justify-content:center;min-height:190px}.kpiPerformanceGrid .donutWrap{flex-direction:column;gap:12px}.donut{width:146px;height:146px;border-radius:50%;position:relative}.donut:after{content:"";position:absolute;inset:25px;background:#fff;border-radius:50%}.bigDonut{width:176px;height:176px;flex-shrink:0}.bigDonut:after{inset:31px}.donutCenter{position:absolute;inset:0;display:grid;place-items:center;align-content:center;justify-items:center;z-index:2;text-align:center;font-weight:600;font-size:20px;padding-top:4px}.donutCenter .centerValue{display:block;font-size:22px;line-height:1.05}.donutCenter .centerLabel{display:block;margin-top:16px;font-size:9px;line-height:1;color:#718096;font-weight:600;letter-spacing:.2px}.legend{font-size:10px;line-height:2}.legend span{display:inline-block;width:8px;height:8px;border-radius:3px;margin-right:7px}.kpiBarList{display:flex;flex-direction:column;gap:14px}.kpiBarRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 9px;align-items:center}.kpiBarRow .name{font-size:9.5px;color:#46586f;white-space:normal;overflow:hidden;text-overflow:ellipsis}.kpiBarRow .num{grid-column:2;grid-row:1;text-align:right;font-size:9.5px;font-weight:600;white-space:nowrap}.kpiBarRow .rail{grid-column:1/-1;grid-row:2;height:11px;background:#edf1f4;border-radius:8px;overflow:hidden}.kpiBarRow .bar{height:100%;border-radius:8px;background:var(--green)}.kpiBarRow .goldBar{background:var(--gold)}.autoInsight{margin-top:14px;border-top:1px solid #e4ebf0;padding-top:10px;font-size:10px;line-height:1.45;color:#506178}.autoInsight b{color:#045149}.rankTable{width:100%;border-collapse:collapse;font-size:10px}.rankTable th,.rankTable td{padding:9px 8px;border-bottom:1px solid #e7edf1;text-align:left}.rankTable th{font-size:9px;color:#65758a;background:#f7f9fb;position:sticky;top:0}.rankNum{width:28px;font-weight:600;color:var(--green)}.rankProgress{min-width:120px}.rankTrack{height:9px;background:#edf1f4;border-radius:9px;overflow:hidden}.rankFill{height:100%;border-radius:9px}.rankPct{display:block;margin-top:4px;font-size:9px;font-weight:600;color:#314258}.rankFill.red{background:#dd4b4b}.rankFill.ok{background:#1f9d72}.rankStatus{text-align:center;font-weight:700}.rankStatus.red{color:#ba3d3d}.rankStatus.ok{color:#087a58}.insightGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.insight{padding:13px;border:1px solid var(--line);border-radius:10px;background:#fbfcfd}.insight b{display:block;font-size:17px;color:#203248;margin-bottom:4px}.insight span{font-size:9.5px;color:#718096;line-height:1.4}.progress,.track{height:9px;background:#edf1f4;border-radius:10px;overflow:hidden}.progress>span,.fill{display:block;height:100%;border-radius:10px;background:var(--green)}.pill{display:inline-block;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:700}.pill.ok{background:#e7f8f1;color:#087a58}.pill.pending{background:#f1f4f7;color:#6e7d90}.pill.mod{background:#fff1d9;color:#9a6100}.pill.del{background:#ffe4e2;color:#ba3d3d}.muted{color:#7b8a9f}.sectionCard{border:1px solid var(--line);border-radius:8px;padding:8px;margin-bottom:8px}.formGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.formGrid .full{grid-column:1/-1}.formField{margin-bottom:8px}.formField label{display:block;font-size:9px;font-weight:700;text-transform:uppercase;color:#6f7f95;margin-bottom:5px}.formField input,.formField textarea,.formField select{width:100%;border:1px solid #ccd8e1;border-radius:7px;padding:7px 9px;font-size:10px;color:#25354a;outline:none}.formField textarea{min-height:68px;resize:vertical;line-height:1.4}.modalActions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.close{border:0;background:#eef3f5;width:26px;height:26px;border-radius:50%;cursor:pointer}
@media(max-width:1350px){.kpiExecutive{grid-template-columns:repeat(3,1fr)}.insightGrid{grid-template-columns:1fr 1fr}}@media(max-width:1000px){.sidebar{transform:translateX(-100%);transition:.2s;width:238px}.sidebar.open{transform:none;box-shadow:10px 0 30px rgba(0,0,0,.12)}.main{margin-left:0}.brand{width:auto}.topActions{width:auto}.topTitle,.siteTitle{font-size:11px}.mobileMenu{display:inline-grid;place-items:center;width:30px;height:30px;border:0;border-radius:6px;margin-left:8px;background:rgba(255,255,255,.12);color:#fff}.kpis{grid-template-columns:1fr 1fr}.filters{grid-template-columns:1fr 1fr}.content{padding:18px 24px 30px}}@media(max-width:900px){.kpiExecutive,.kpiFilterBar,.kpiMegaGrid,.kpiPerformanceGrid,.kpiCharts2,.insightGrid{grid-template-columns:1fr}}/* Contador de caracteres */
.charCounter{font-size:9px;font-weight:700;color:#718096;text-align:right;margin-top:4px;display:block}
.charCounter.warn{color:#d99320}
.charCounter.limit{color:#dd4b4b}

/* Propuestas - Trazabilidad */
.proposalsRegistryTable{table-layout:auto;width:100%}
.proposalsRegistryTable th:nth-child(1),.proposalsRegistryTable td:nth-child(1){width:3%}
.proposalsRegistryTable th:nth-child(2),.proposalsRegistryTable td:nth-child(2){width:3%}
.proposalsRegistryTable th:nth-child(3),.proposalsRegistryTable td:nth-child(3){width:11%}
.proposalsRegistryTable th:nth-child(4),.proposalsRegistryTable td:nth-child(4){width:17%}
.proposalsRegistryTable th:nth-child(5),.proposalsRegistryTable td:nth-child(5){width:8%}
.proposalsRegistryTable th:nth-child(6),.proposalsRegistryTable td:nth-child(6){width:22%}
.proposalsRegistryTable th:nth-child(7),.proposalsRegistryTable td:nth-child(7){width:22%}
.proposalsRegistryTable th:nth-child(8),.proposalsRegistryTable td:nth-child(8){width:7%}
.proposalsRegistryTable th:nth-child(9),.proposalsRegistryTable td:nth-child(9){width:5%}
.proposalsRegistryTable td{white-space:normal;overflow:visible;text-overflow:unset;max-width:none;vertical-align:middle}
.proposalsRegistryTable td:nth-child(6),.proposalsRegistryTable td:nth-child(7){white-space:normal;display:table-cell;-webkit-line-clamp:unset;-webkit-box-orient:unset;overflow:visible;max-height:none;line-height:1.4}
.proposalsRegistryTable th{white-space:normal;overflow-wrap:normal;word-break:normal}
.proposalsTableWrap{max-height:520px;overflow:auto}

/* Responsive tweaks for login background */
@media (max-width:1100px){
	.loginWrap::before{background-size:cover}
}
@media (max-width:700px){
	.loginWrap::before{background-image:none}
}

@media(max-width:700px){.main{margin-left:0}.brand{width:auto}.topTitle,.siteTitle{display:none}.topActions{width:auto;margin-left:auto}.content{padding:12px}.kpis,.formGrid,.filters{grid-template-columns:1fr}.formGrid .full{grid-column:auto}.topActions .session{display:none}.reviewQuickList{padding:12px}.reviewQuickCard .rqcBody{grid-template-columns:1fr}.rqcActions{flex-direction:column}.rqcActions .reviewBtn{width:100%;text-align:center}}

/* ===== Estilo institucional global para pantallas del responsable ===== */
body.role-responsable{background:#f3f7fa;--green:#00645b;--line:#dce7ed}
body.role-responsable .topbar{background:#fff;border-bottom:0;color:#17324d}
body.role-responsable .brand{height:62px;background:#004d49;color:#fff;border-bottom:2px solid #d4aa32;font-weight:600;letter-spacing:.2px}
body.role-responsable .topTitle{color:#17324d}
body.role-responsable .session{border-color:#d7e4e8;color:#476276}
body.role-responsable .session i{background:#17a673}
body.role-responsable .topDiamond{color:#0b6259}
body.role-responsable .sidebar{background:linear-gradient(180deg,#00453f 0%,#003531 100%);border-right:0;color:#fff;backdrop-filter:saturate(125%) blur(2px)}
body.role-responsable .sectionLabel{color:#b8d6d2;letter-spacing:1.35px}
body.role-responsable .navItem{color:#e4f1ef;font-weight:500;letter-spacing:.25px}
body.role-responsable .navItem:hover{background:rgba(255,255,255,.09)}
body.role-responsable .navItem.active{background:#f8df91;border-color:#e7bc43;box-shadow:inset 4px 0 #d6a800;color:#075b53}
body.role-responsable .navIcon{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.22);color:#e8f4f2}
body.role-responsable .navItem.active .navIcon{background:#fff;color:#b18400;border-color:#ead38a}
.sidebarUnitMenu{position:relative;z-index:1;margin:2px 4px 8px 17px;padding:3px 0 3px 10px;border-left:1px solid rgba(184,214,210,.32);display:grid;gap:2px}.sidebarUnitLink{display:flex;align-items:center;gap:6px;min-width:0;padding:7px 8px;border-radius:6px;color:#b8d6d2;text-decoration:none;font-size:10px;font-weight:650;line-height:1.2;transition:background .15s,color .15s}.sidebarUnitLink span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebarUnitLink:hover{background:rgba(255,255,255,.08);color:#fff}.sidebarUnitLink.active{background:rgba(248,223,145,.18);color:#ffeaa8}.sidebarUnitDot{font-size:14px;line-height:8px;color:#d8b638;flex:0 0 auto}
.sidebarUnitMenuRoot{margin-left:0;margin-right:0}
body.role-responsable .content{padding:0 3% 34px 5%;max-width:1600px}
body.role-responsable .breadcrumb{margin-bottom:10px;color:#73869b}
body.role-responsable .hero{position:relative;min-height:92px;margin-bottom:12px;padding:18px;border-radius:12px;background:linear-gradient(105deg,#fff 0%,#fff 67%,#f2f8fa 100%);overflow:hidden}
body.role-responsable .hero:after{content:"";position:absolute;right:0;top:0;width:34%;height:100%;background:linear-gradient(145deg,transparent 18%,rgba(0,100,91,.08) 18%,rgba(0,100,91,.08) 48%,transparent 48%),linear-gradient(35deg,transparent 48%,rgba(220,178,55,.42) 48%,rgba(220,178,55,.42) 52%,transparent 52%);clip-path:polygon(35% 0,100% 0,100% 100%,0 100%);pointer-events:none}
body.role-responsable .hero>div{position:relative;z-index:1}
body.role-responsable .hero h1{font-size:22px;color:#073b4a;letter-spacing:-.2px}
body.role-responsable .hero p{font-size:12px;color:#61758c}
body.role-responsable .panel{box-shadow:0 4px 14px rgba(31,65,82,.05)}
@media(max-width:700px){body.role-responsable .content{padding:12px}body.role-responsable .hero h1{font-size:21px}}

/* Modal administrativo de seguimiento: misma jerarquía visual que el registro del responsable. */
#modal .modalCard.wideFollowup{width:min(1040px,96vw);max-width:1040px;max-height:92vh;padding:0;border-radius:14px}
.followupModal{background:#fff;color:#17304d}
.adminFollowIntro{padding:22px 24px 8px}
.adminFollowTitle{display:flex;align-items:center;gap:14px;padding-bottom:18px;border-bottom:1px solid #dce7ed}
.adminFollowTitleIcon{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:11px;background:#eef2fa;color:#5368a4;font-size:20px}
.adminFollowTitle h2{margin:0;color:#08234a;font-size:21px;font-weight:700}
.adminFollowTitle p{margin:4px 0 0;color:#61758c;font-size:12px}
.adminFollowGrid3,.adminFollowGrid2{display:grid;gap:14px;margin-top:16px}
.adminFollowGrid3{grid-template-columns:repeat(3,minmax(0,1fr))}
.adminFollowGrid2{grid-template-columns:1fr 1fr}
.adminFollowCard{display:flex;gap:11px;align-items:flex-start;min-height:72px;padding:13px 14px;border:1px solid #dce5ec;border-radius:10px;background:#fff}
.adminFollowCard h4{margin:1px 0 5px;color:#10294a;font-size:12px;font-weight:600}
.adminFollowCard p{margin:0;color:#476078;font-size:11px;line-height:1.45;overflow-wrap:anywhere}
.adminFollowIcon{width:34px;height:34px;display:flex;align-items:center;justify-content:center;flex:none;border-radius:8px;background:#eff6ff;color:#3b82f6;font-size:18px}
.adminFollowIcon.indicator{background:#ecfdf5;color:#10b981}.adminFollowIcon.goal{background:#f5f3ff;color:#8b5cf6}
.adminFollowIcon.evidenceIcon{background:#fef3c7;color:#d97706}
.adminFollowIcon.targetIcon{background:#e0efff;color:#2563eb}
.adminFollowPeriod{margin:10px 24px 18px;padding:0 0 2px;border:1px solid #dce5ec;border-radius:12px;background:#fff;overflow:hidden}
.adminPlanBanner{display:flex;align-items:center;gap:14px;padding:14px 18px;background:#eef7ff;border-bottom:1px solid #cfe4fb}
.adminPlanIcon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:4px solid #bfdbfe;border-left-color:#3b82f6;border-radius:50%;color:#1e40af;font-size:22px;flex:none}
.adminPlanBanner span{display:block;color:#2d69aa;font-size:10px;font-weight:700;letter-spacing:.4px;text-transform:uppercase}
.adminPlanBanner strong{display:block;margin:2px 0;color:#092a5d;font-size:24px;line-height:1.1}.adminPlanBanner p{margin:0;color:#61758c;font-size:10px}
.adminFollowColumns{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:14px 14px 0}
.adminRoleBlock{margin:0!important;padding:0!important;border:1px solid #dce5ec!important;border-radius:10px!important;overflow:hidden;background:#fff}
.adminRoleBlock.responsible{} .adminRoleBlock.reviewer{order:initial}
.adminRoleHead{display:flex;align-items:center;gap:9px;padding:11px 13px;border-bottom:1px solid #e3ebef;background:#f7f9fb}
.adminRoleIcon{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#f1f5f9;color:#64748b;font-size:15px}
.adminRoleHead h4{margin:0;color:#17304d;font-size:11px;font-weight:700}.adminRoleHead p{margin:3px 0 0;color:#64748b;font-size:10px}.adminRoleBody{padding:13px}
.adminRoleBody .formField{margin-bottom:9px}.adminRoleBody .formField label,.adminEvidenceRow .formField label{display:block;margin-bottom:5px;color:#17304d;font-size:10px;font-weight:600}
.adminRoleBody textarea{min-height:70px;width:100%;box-sizing:border-box}.adminEvidenceRow{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:12px 14px 14px}.adminEvidenceRow .formField{margin:0}.adminEvidenceRow input,.adminEvidenceRow select{width:100%;box-sizing:border-box}.adminEvidenceRow a{margin-left:10px;color:#07594f;font-weight:600;text-decoration:underline}.adminFollowPeriod .scoreMetaRow{display:grid;grid-template-columns:1fr 104px;gap:8px;align-items:end}.adminFollowPeriod .expectedBox{min-height:42px;padding:8px 10px;border:1px solid #cfe1f6;border-radius:7px;background:#eef7ff}.adminFollowPeriod .expectedBox p{margin:0;color:#476078;font-size:10px}.adminFollowPeriod .expectedBox b{display:block;color:#315f91;font-size:9px;text-transform:uppercase}.adminFollowPeriod .unitConversionBox{margin-top:10px;padding:10px;border:1px solid #dce5ec;border-radius:8px;background:#fff}.adminFollowPeriod .unitConversionBox>b{display:block;margin-bottom:7px;color:#526b86;font-size:10px}.adminFollowPeriod .unitConversionFields{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:end}.adminFollowPeriod .unitConversionFields label{color:#526b86;font-size:9px;font-weight:600}.adminFollowPeriod .unitConversionFields input{width:100%;box-sizing:border-box;margin-top:4px}.adminFollowPeriod .conversionArrow{padding-bottom:8px;color:#94a3b8;font-size:18px}
.adminBudgetCard{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding:10px 11px;border:1px solid #cfe5d9;border-radius:8px;background:#f1fbf5}.adminBudgetCard>div{display:flex;align-items:center;gap:8px}.adminBudgetCard>div>span{display:flex;align-items:center;justify-content:center;width:27px;height:27px;border-radius:7px;background:#d8f4e4;font-size:14px}.adminBudgetCard b{display:block;color:#176447;font-size:10px}.adminBudgetCard small{display:block;margin-top:2px;color:#688477;font-size:9px}.adminBudgetCard>strong{color:#087a58;font-size:14px;white-space:nowrap}
.adminBudgetInput{display:flex;align-items:center;min-width:118px;border:1px solid #a7d9bc;border-radius:7px;overflow:hidden;background:#fff}.adminBudgetInput>span{padding:7px 8px;color:#087a58;font-size:12px;font-weight:700;background:#e6f8ed;border-right:1px solid #cfe5d9}.adminBudgetInput input{width:100%;min-width:0;padding:7px 8px;border:0;background:#fff;color:#087a58;font-size:12px;font-weight:600;text-align:right;outline:none}
.adminBudgetTotal{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 24px 4px;padding:13px 16px;border:1px solid #9ed9bd;border-radius:10px;background:linear-gradient(90deg,#effbf4,#e5f7ee)}.adminBudgetTotal>div{display:flex;align-items:center;gap:10px}.adminBudgetTotal>div>span{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:#c9f0d9;color:#087a58;font-size:20px;font-weight:700}.adminBudgetTotal b{display:block;color:#075b45;font-size:12px}.adminBudgetTotal small{display:block;margin-top:3px;color:#638276;font-size:9px}.adminBudgetTotal>strong{color:#047857;font-size:18px;white-space:nowrap}.adminBudgetTotal output{font:inherit;color:inherit}
.adminFollowPeriod .modalActions{padding:0 14px 14px}
@media(max-width:760px){#modal .modalCard.wideFollowup{width:96vw}.adminFollowIntro{padding:16px}.adminFollowGrid3,.adminFollowGrid2,.adminFollowColumns,.adminEvidenceRow{grid-template-columns:1fr}.adminFollowPeriod{margin-left:16px;margin-right:16px}.adminPlanBanner strong{font-size:21px}.adminFollowPeriod .scoreMetaRow{grid-template-columns:1fr}.adminFollowPeriod .expectedBox{min-height:auto}}

/* ===== Portal del Responsable ===== */
.respDashWaiting{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:40px 32px;text-align:center;margin-bottom:18px}.respDashWaiting .waitingIcon{font-size:42px;margin-bottom:14px}.respDashWaiting h2{font-size:18px;color:#0f1f33;margin:0 0 10px}.respDashWaiting p{color:#718096;font-size:12px;max-width:520px;margin:0 auto 6px;line-height:1.6}
.respDashKpis{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:14px}
.respDashSkeletonGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:14px}.skeletonCard{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:18px 16px;min-height:93px}.skeletonLine{border-radius:6px;background:linear-gradient(90deg,#e8eef2 25%,#f4f7fa 50%,#e8eef2 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.skeletonLine.short{height:9px;width:55%;margin-bottom:12px}.skeletonLine.big{height:24px;width:75%;margin-bottom:10px}.skeletonLine.tiny{height:8px;width:45%}.skeletonTable{display:flex;flex-direction:column;gap:10px}.skeletonRow{display:grid;grid-template-columns:1fr 4fr 2.5fr 2.5fr;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #f0f4f7}.skeletonCell{border-radius:5px;height:10px;background:linear-gradient(90deg,#e8eef2 25%,#f4f7fa 50%,#e8eef2 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.skeletonCell.s{max-width:28px}@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
.motivationalBanner{background:linear-gradient(135deg,#f0faf6 0%,#e8f4fd 100%);border:1px solid #c7e0d9;border-radius:18px;box-shadow:var(--shadow);padding:48px 40px;text-align:center;max-width:720px;margin:0 auto 20px}.motivationalIcon{font-size:52px;margin-bottom:16px}.motivationalBanner h2{font-size:22px;color:#034d44;margin:0 0 14px;font-weight:700}.motivationalSub{color:#52737a;font-size:13px;line-height:1.65;margin:0 auto 10px;max-width:560px;display:block}.motivationalUnit{font-size:12px;color:#718096;margin:6px 0 18px}.motivationalQuote{font-size:11.5px;color:#5a7a82;font-style:italic;border-left:3px solid var(--green);padding:10px 16px;background:#fff;border-radius:8px;margin:18px auto 22px;max-width:500px;text-align:left;line-height:1.6}.motivationalActions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.poaAprobadoPanel{border-radius:14px}.poaAprobadoHead{padding:16px 20px}.poaAprobadoWrap{max-height:680px;overflow:auto}.poaAprobadoTable{table-layout:fixed;width:100%;font-size:9.8px;border-collapse:collapse}.poaAprobadoTable th{position:sticky;top:0;z-index:5;background:#f7f9fb;text-align:left;color:#203a5d;font-size:9px;letter-spacing:.1px;padding:9px 7px;border-bottom:1px solid #ccd8e1}.poaAprobadoTable thead .groupCumplimiento{text-align:center;background:#edf7f4;color:var(--green)}.poaAprobadoTable thead .subHead th{top:38px;z-index:9;text-align:center;font-size:8.5px;background:#f9fbfc}.poaAprobadoTable td{padding:10px 7px;border-bottom:1px solid #e6edf2;vertical-align:top;line-height:1.38}.poaAprobadoTable tr:hover td{background:#fbfcfd}.obsNote{display:inline-block;cursor:pointer;font-size:11px;margin-left:3px;vertical-align:middle}
.poaAprobadoTable .scorePair{display:grid;gap:3px;text-align:left}.poaAprobadoTable .scorePairLine{display:flex;align-items:center;justify-content:space-between;gap:4px;white-space:nowrap;font-size:8px;color:#60758d}.poaAprobadoTable .scorePairLine b{font-size:10px;color:#087a58}.poaAprobadoTable .scorePairLine.reviewer{padding-top:3px;border-top:1px solid #dce8e4;color:#476b63}.poaAprobadoTable .scorePairLine.reviewer b{color:#0b5d55}
.poaConsolidadoTable .scorePair{display:grid;gap:3px;text-align:left}.poaConsolidadoTable .scorePairLine{display:flex;align-items:center;justify-content:space-between;gap:4px;white-space:nowrap;font-size:8px;color:#60758d}.poaConsolidadoTable .scorePairLine.reviewer{padding-top:3px;border-top:1px solid #dce8e4;color:#476b63}.poaConsolidadoTable .scorePairLine .scoreBadge{min-width:50px!important;height:20px;font-size:10px}
.poaConsolidadoTable col:nth-child(1){width:3%}.poaConsolidadoTable col:nth-child(2){width:26%}.poaConsolidadoTable col:nth-child(3){width:21%}.poaConsolidadoTable col:nth-child(4),.poaConsolidadoTable col:nth-child(5){width:10%}.poaConsolidadoTable col:nth-child(6){width:8%}.poaConsolidadoTable col:nth-child(7),.poaConsolidadoTable col:nth-child(8){width:8%}.poaConsolidadoTable col:nth-child(9){width:6%}.poaConsolidadoTable .budgetGroup{background:#f7fbf9;color:#087a58}
.poaConsolidadoTable col:nth-child(1){width:2.8%}.poaConsolidadoTable col:nth-child(2){width:22%}.poaConsolidadoTable col:nth-child(3){width:16%}.poaConsolidadoTable col:nth-child(4),.poaConsolidadoTable col:nth-child(5){width:6.5%}.poaConsolidadoTable col:nth-child(6){width:8%}.poaConsolidadoTable col:nth-child(7),.poaConsolidadoTable col:nth-child(8){width:8%}.poaConsolidadoTable col:nth-child(9){width:7%}.poaConsolidadoTable col:nth-child(10),.poaConsolidadoTable col:nth-child(11){width:6.5%}.poaConsolidadoTable col:nth-child(12){width:6.5%}
.scoreLegendCard{margin:0 16px 12px;padding:11px 14px;border:1px solid #cfe4ed;border-radius:9px;background:#f8fcfe}.scoreLegendTitle{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:#174c61}.scoreLegendTitle span{font-size:14px;color:#087a58}.scoreLegendItems{display:flex;gap:18px;flex-wrap:wrap;margin-top:8px}.scoreLegendItems>div{display:flex;align-items:baseline;gap:5px;font-size:10px;color:#64778d}.scoreLegendItems b{font-size:10px;color:#0b5d55}.scoreLegendExample{padding-left:18px;border-left:1px solid #d8e7ec}.scoreLegendExample strong{color:#087a58}@media(max-width:650px){.scoreLegendItems{gap:7px;display:grid}.scoreLegendExample{padding:7px 0 0;border-left:0;border-top:1px solid #d8e7ec}}
.poaApprovedKpis{margin-bottom:14px}.poaApprovedKpis .kpi{min-height:112px}
.settingsToggleRow{display:flex;align-items:center;gap:18px;background:#f7fbf9;border:1px solid #c7e0d9;border-radius:12px;padding:18px 20px;margin:16px 0}.settingsToggle{position:relative;flex:0 0 52px;height:28px;cursor:pointer;display:block}.settingsToggle input{position:absolute;opacity:0;width:0;height:0}.settingsToggleTrack{position:absolute;inset:0;border-radius:14px;background:#ccd8e1;transition:.25s;display:block}.settingsToggle input:checked+.settingsToggleTrack{background:var(--green)}.settingsToggleTrack::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 5px rgba(0,0,0,.18);transition:.25s}.settingsToggle input:checked+.settingsToggleTrack::after{transform:translateX(24px)}.settingsToggleLabel b{display:block;font-size:12px;color:#0f1f33;margin-bottom:5px}.settingsToggleLabel p{margin:0;color:#718096;font-size:11px;line-height:1.55}

/* ===== Configuración ===== */
.masterCard{border-radius:14px;overflow:hidden}.masterCardIcon{width:36px;height:36px;border-radius:10px;background:#eaf6f3;border:1px solid #c7e0d9;color:var(--green);display:grid;place-items:center;font-size:16px;flex:0 0 36px}
.masterDatesGrid{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center;margin-bottom:18px}.masterDateCard{background:#f7fbf9;border:1px solid #d1e8e2;border-radius:12px;padding:18px 20px}.masterDateLabel{font-size:12px;font-weight:700;color:#034d44;margin-bottom:4px}.masterDateHint{font-size:10px;color:#718096;line-height:1.5}.masterDateInput{height:38px;font-size:12px;border-radius:8px;margin-top:10px}.masterDateBadge{margin-top:8px;display:inline-block;background:#e7f8f1;border:1px solid #aee5d2;color:#087a58;border-radius:6px;padding:4px 10px;font-size:10px;font-weight:700}.masterDateSep{font-size:22px;color:#b0c4cc;font-weight:700;text-align:center}
.usersFilterBar{grid-template-columns:minmax(0,1.6fr) minmax(0,.8fr) minmax(220px,1fr) auto}.usersFilterBar .ts-wrapper{width:100%;min-width:0}.usersFilterBar .ts-control{min-height:43px;border-radius:9px;border-color:#ccd8e1;padding:10px 12px;font-size:12px}.usersFilterBar .ts-wrapper.focus .ts-control{border-color:#75a89f;box-shadow:0 0 0 2px rgba(4,81,73,.08)}.ts-dropdown{z-index:120}
.rankTable tbody tr.rankClickable{cursor:pointer}.rankTable tbody tr.rankClickable:hover td{background:#eef8f5}.rankTable tbody tr.rankClickable td:nth-child(2){color:#07594f;font-weight:600}
.masterPeriodBar{background:#f7fbf9;border:1px solid #d1e8e2;border-radius:10px;padding:14px 16px;margin-top:4px}
.masterToggle{position:relative;width:44px;height:24px;cursor:pointer;display:block;flex:0 0 44px}.masterToggle input{position:absolute;opacity:0;width:0;height:0}.masterToggleTrack{position:absolute;inset:0;border-radius:12px;background:#cbd5e1;transition:.25s;display:block}.masterToggle input:checked+.masterToggleTrack{background:#10b981}.masterToggleTrack::after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.15);transition:.25s}.masterToggle input:checked+.masterToggleTrack::after{transform:translateX(20px)}
@media(max-width:800px){.masterDatesGrid{grid-template-columns:1fr}.masterDateSep{display:none}}

/* ===== Config Maestra: Informes y Responsables ===== */
.masterInformesGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.masterInformeCard{background:#fff;border:1px solid #dce5ea;border-radius:10px;padding:18px 20px;display:flex;flex-direction:column;gap:4px}
.masterInformeUnified{display:grid;grid-template-columns:1.25fr 1.25fr .8fr;gap:0;padding:0}.masterInformeSection{padding:20px}.masterInformeSection+.masterInformeSection{border-left:1px solid #e2e9ed}.masterReportDate{display:block;font-size:10px;font-weight:600;color:#43566b;margin-top:7px}.masterReportDate .masterDateInput{width:100%;margin-top:4px}
.masterPeriodDates{display:grid;grid-template-columns:1fr;gap:8px;margin:8px 0 5px}.masterPeriodDates label{font-size:10px;font-weight:600;color:#43566b}.masterPeriodDates .masterDateInput{width:100%;margin-top:4px}
.masterInformeIcon{font-size:20px;margin-bottom:4px}.masterInformeTitle{font-size:12px;font-weight:700;color:#0f1f33;margin-bottom:2px}.masterInformeHint{font-size:10px;color:#718096;line-height:1.45;margin-bottom:6px}
.masterInformeStatus{margin-top:8px;font-size:10px;font-weight:600;padding:4px 10px;border-radius:6px;display:inline-block}.masterInformeStatus.past{background:#e7f8f1;color:#087a58;border:1px solid #aee5d2}.masterInformeStatus.future{background:#fff8df;color:#8a6800;border:1px solid #edd38a}
.masterRespGrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.masterRespCard{display:flex;align-items:flex-start;gap:14px;background:#fff;border:1px solid #dce5ea;border-radius:10px;padding:18px 20px}
.masterRespAvatar{width:42px;height:42px;border-radius:50%;border:1px solid #c7d6dc;background:#f4f7f8;color:#0b5d55;display:grid;place-items:center;font-size:18px;font-weight:700;flex:0 0 42px}
.masterRespRole{font-size:12px;font-weight:700;color:#0f1f33;margin-bottom:3px}.masterRespHint{font-size:10px;color:#718096;line-height:1.45}
.formulationUnitLabel{font-size:11px;font-weight:600;color:#43566b;white-space:nowrap}
.formulationPoaActions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.formulationPoaActions form{margin:0}.formulationUnitSwitch{height:36px;min-width:220px;max-width:340px;font-size:11px}
.formulationPoaPanel + .panel{display:none}
.formulationAssignedUnit{display:flex;align-items:center;gap:9px;margin:0 0 14px;padding:10px 14px;background:#fff;border:1px solid #dce5ea;border-radius:8px;font-size:11px;color:#53677e}.formulationAssignedUnit span{font-weight:600;color:#53677e;text-transform:uppercase;font-size:10px;letter-spacing:.03em}.formulationAssignedUnit b{font-size:12px;color:#0b5d55}.formulationAssignedUnit small{color:#718096}
.poaUnitChooser{margin:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;background:#f8fbfc;border:1px solid #dce5ea;border-radius:8px}.poaUnitChooser b{display:block;font-size:11px;color:#17304d}.poaUnitChooser span{display:block;margin-top:3px;font-size:10px;color:#718096}.poaUnitChooser form{margin:0;min-width:270px}.poaUnitChooser .field{width:100%;height:36px;font-size:11px}@media(max-width:650px){.poaUnitChooser{align-items:stretch;flex-direction:column}.poaUnitChooser form{min-width:0}}
.poaParticipationMessage{margin:12px 16px;padding:14px 16px;background:#f8fbfc;border-left:3px solid #0b5d55;border-radius:0 8px 8px 0}.poaParticipationMessage b{font-size:12px;color:#0b5d55}.poaParticipationMessage p{margin:5px 0 0;font-size:11px;line-height:1.6;color:#53677e}
@media(max-width:900px){.masterInformesGrid{grid-template-columns:1fr}.masterRespGrid{grid-template-columns:1fr}.masterInformeUnified{grid-template-columns:1fr}.masterInformeSection+.masterInformeSection{border-left:0;border-top:1px solid #e2e9ed}}

/* ===== Banner estado POA en formulación ===== */
.formStatusBanner{padding:12px 16px;border-radius:10px;font-size:11px;margin-bottom:14px;line-height:1.5}
.formStatusBanner.draft{background:#fff8df;border:1px solid #e8c94e;color:#7a6200}
.formStatusBanner.vigente{background:#e7f8f1;border:1px solid #aee5d2;color:#045149}

/* Diferenciar campos: responsable vs revisor */
.respField{background:#f0fbff;border-color:#cfeefb}
.respField[disabled]{background:#f3f5f7;color:#6b7c95}
.revField{background:#f6fff7;border-color:#dff5e8}
.revField[disabled]{background:#f3f5f7;color:#6b7c95}
.readonlyField{background:#f3f6f8!important;color:#728096!important;cursor:not-allowed;min-height:42px!important;height:42px!important;resize:none;overflow:hidden}
.modificationForm{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}.modificationForm .sectionCard,.modificationForm .modalActions{grid-column:1/-1}.modificationForm .formField{margin:0}.modificationForm .formField textarea{min-height:58px}.modificationForm .modalActions{margin-top:4px}@media(max-width:650px){.modificationForm{grid-template-columns:1fr}}
.modificationForm .formField{grid-column:1/-1}.modificationForm .formField:has([name="semester1"]),.modificationForm .formField:has([name="semester2"]),.modificationForm .formField:has([name="start_date"]),.modificationForm .formField:has([name="end_date"]){grid-column:auto}
.modificationForm .formField:has([name="strategic_objective"]),.modificationForm .formField:has([name="operational_objective"]),.modificationForm .formField:has([name="program_project"]),.modificationForm .formField:has([name="management_indicator"]),.modificationForm .formField:has([name="management_goal"]),.modificationForm .formField:has([name="start_date"]),.modificationForm .formField:has([name="end_date"]),.modificationForm .formField:has([name="reason"]){display:none!important}

/* Mostrar la programación cargada junto a la calificación del seguimiento. */
.scoreMetaRow{grid-template-columns:minmax(0,1fr) minmax(130px,.7fr)!important;align-items:stretch!important}
.scoreMetaRow .expectedBox{display:flex!important;align-items:center;justify-content:center;min-height:72px;padding:12px;border:1px solid #b6dcf9;border-radius:8px;background:#eaf4fc;order:1}
.scoreMetaRow .expectedBox p{margin:0;color:#0c2341;font-size:11px;text-align:center}
.scoreMetaRow>label{order:2}
@media(max-width:700px){.scoreMetaRow{grid-template-columns:1fr!important}.scoreMetaRow .expectedBox,.scoreMetaRow>label{order:initial}}

.plannedMetaBanner{grid-column:1/-1;display:flex;align-items:center;gap:22px;margin:4px 0 12px;padding:18px 28px;border:1px solid #a9d8ff;border-radius:10px;background:linear-gradient(100deg,#eaf5ff,#f6fbff);color:#17345b}
.plannedMetaIcon{display:flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:50%;background:#d9ecff;color:#2d5ca8;font-size:46px;line-height:1;font-weight:700}
.plannedMetaBanner span{display:block;margin-bottom:4px;color:#6b7c95;font-size:11px;font-weight:700;letter-spacing:.35px;text-transform:uppercase}
.plannedMetaBanner strong{display:block;color:#102c55;font-size:34px;line-height:1.05}
.plannedMetaBanner p{margin:6px 0 0;color:#7084a0;font-size:12px}
.followupModal .expectedBox{display:none!important}
@media(max-width:700px){.plannedMetaBanner{padding:14px 16px;gap:14px}.plannedMetaIcon{width:52px;height:52px;font-size:32px}.plannedMetaBanner strong{font-size:28px}}

/* Ocultar textos informativos redundantes del registro de seguimiento. */
.followupModal .followBlock>p:not(.officialNote),
.followupModal .followBlock>.officialNote{display:none}

.measureSwitch{display:flex;align-items:center;gap:5px;margin-bottom:8px;color:#526b86;font-size:9px;font-weight:700}.measureModeBtn{border:1px solid #dc3545;border-radius:5px;background:#fff;color:#dc3545;padding:4px 8px;font-size:9px;cursor:pointer}.measureModeBtn.active{background:#0b806c;border-color:#0b806c;color:#fff}
.unitConversionBox{margin-top:10px;padding:12px;border:1px solid #b9ded8;border-radius:7px;background:#f4fbf9;color:#153c3a;font-size:12px}
.unitConversionBox>b{display:block;margin-bottom:9px;font-size:12px}
.unitConversionFields{display:grid;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);align-items:end;gap:7px}
.unitConversionFields label{display:block;color:#5f7187;font-size:11px;font-weight:700}
.unitConversionFields input{display:block;width:100%;box-sizing:border-box;height:34px;margin-top:4px;padding:0 9px;border:1px solid #c8d8df;border-radius:6px;background:#fff;color:#16304f;font-size:12px}
.unitConversionFields .calculatedPercentage{background:#eaf4fc;border-color:#9dcdf3;font-weight:600;text-align:center}
.conversionArrow{align-self:center;color:#07594f;font-size:19px;font-weight:600;text-align:center}
.followupModal .followBlock.responsible:has(.unitConversionBox) .scoreMetaRow>label{display:none}
@media(max-width:700px){.unitConversionFields{grid-template-columns:1fr}.conversionArrow{display:none}}
/* Semáforo de cumplimiento en rankings: verde >=90, amarillo 75-89.9, rojo <75. */
.rankFill.green{background:#16a34a}.rankFill.yellow{background:#eab308}.rankFill.partial{background:#2563eb}.rankFill.low{background:#f97316}.rankFill.critical{background:#dc2626}.rankFill.zero{background:#7f1d1d}.rankStatus.green{color:#15803d}.rankStatus.yellow{color:#a16207}.rankStatus.partial{color:#1d4ed8}.rankStatus.low{color:#c2410c}.rankStatus.critical{color:#b91c1c}.rankStatus.zero{color:#7f1d1d}
.trafficLegend{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:-2px 0 10px;padding:9px 12px;background:#fff;border:1px solid var(--line);border-radius:9px;font-size:9px;color:#53647a}.trafficLegendTitle{font-weight:700;color:#203a5d}.trafficItem{display:inline-flex;align-items:center;gap:5px}.trafficItem i{width:10px;height:10px;border-radius:50%;display:inline-block}.trafficItem.green i{background:#1f9d72}.trafficItem.yellow i{background:#e5a928}.trafficItem.red i{background:#dd4b4b}.trafficItem.green b{color:#087a58}.trafficItem.yellow b{color:#a87500}.trafficItem.red b{color:#ba3d3d}
.kpiFilterBar{grid-template-columns:1.1fr 1.2fr 2fr auto}
.kpiBarRow .bar.green{background:#1f9d72}.kpiBarRow .bar.yellow{background:#e5a928}.kpiBarRow .bar.red{background:#dd4b4b}
.trafficChartLegend{font-size:9px;line-height:1.8}.trafficChartLegend>div{display:flex;align-items:center;gap:6px;white-space:nowrap}.trafficDot{display:inline-block;width:9px;height:9px;border-radius:3px;flex:0 0 9px}.trafficDot.green{background:#16a34a}.trafficDot.yellow{background:#eab308}.trafficDot.partial{background:#2563eb}.trafficDot.low{background:#f97316}.trafficDot.critical{background:#dc2626}.trafficDot.zero{background:#7f1d1d}
.kpiBarRow .bar.yellow{background:#eab308}.kpiBarRow .bar.partial{background:#2563eb}.kpiBarRow .bar.low{background:#f97316}.kpiBarRow .bar.critical{background:#dc2626}.kpiBarRow .bar.zero{background:#7f1d1d}

/* Dashboard ejecutivo: composición inspirada en el panel de referencia. */
body:has(.kpiFilterBar){background:#f1f6f9}
body:has(.kpiFilterBar) .sidebar{transform:translateX(-100%);box-shadow:none}
body:has(.kpiFilterBar) .sidebar.open{transform:none;box-shadow:8px 0 24px rgba(12,42,66,.18)}
body:has(.kpiFilterBar) .main{margin-left:0;padding-top:62px}
body:has(.kpiFilterBar) .topbar{height:62px;background:rgba(255,255,255,.96);border-bottom:1px solid #dce8ef;color:#0b2345;box-shadow:0 2px 12px rgba(24,57,83,.06)}
body:has(.kpiFilterBar) .mobileMenu{display:grid;place-items:center;width:42px;height:42px;margin-left:8px;border:0;border-radius:9px;background:transparent;color:#294765;font-size:20px}
body:has(.kpiFilterBar) .brand{display:none}
body:has(.kpiFilterBar) .topTitle{flex:1;text-align:left;font-size:18px;font-weight:700;letter-spacing:-.35px;color:#10294d;padding-left:4px}
body:has(.kpiFilterBar) .topTitle::after{content:'Monitoreo y gestión del Plan Operativo Anual';display:block;margin-top:2px;font-size:11px;font-weight:500;letter-spacing:0;color:#71839a}
body:has(.kpiFilterBar) .topActions{width:auto;gap:17px;padding-right:17px}
body:has(.kpiFilterBar) .session{padding:8px 14px;background:#fff;box-shadow:0 2px 8px rgba(26,66,91,.08)}
body:has(.kpiFilterBar) .content{max-width:none;padding:9px 10px 34px}
body:has(.kpiFilterBar) .breadcrumb,body:has(.kpiFilterBar) .hero{display:none}
body:has(.kpiFilterBar) .kpiFilterBar{grid-template-columns:1.05fr 1.05fr 1.55fr auto;gap:10px;margin:0 0 15px;padding:10px 18px;background:#fff;border:0;border-radius:11px;box-shadow:0 4px 18px rgba(26,66,91,.07)}
body:has(.kpiFilterBar) .kpiFilterBar .field{height:36px;border-color:#d6e1ea;color:#3f5874;background:#fff}
body:has(.kpiFilterBar) .kpiFilterBar .btn{height:36px;padding:0 18px;background:#056255;color:#fff;border-color:#056255;font-weight:600}
body:has(.kpiFilterBar) .kpiExecutive{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:15px}
body:has(.kpiFilterBar) .kpiExecutive .kpi{position:relative;min-height:111px;padding:16px 18px 14px 76px;border:1px solid #edf2f5;border-radius:12px;box-shadow:0 4px 16px rgba(25,62,83,.07);overflow:hidden}
body:has(.kpiFilterBar) .kpiExecutive .kpi::before{content:'▤';position:absolute;left:18px;top:16px;width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#d9f7ec;color:#11a77c;font-size:22px;font-weight:700}
body:has(.kpiFilterBar) .kpiExecutive .kpi:nth-child(2)::before{content:'◎';background:#deecff;color:#2d82dd}
body:has(.kpiFilterBar) .kpiExecutive .kpi:nth-child(3)::before{content:'◉';background:#fff0c9;color:#e3a916}
body:has(.kpiFilterBar) .kpiExecutive .kpi:nth-child(4)::before{content:'◔';background:#eee2ff;color:#8650d7}
body:has(.kpiFilterBar) .kpiExecutive .kpi:nth-child(5)::before{content:'▰';background:#ffe1e5;color:#ec5361}
body:has(.kpiFilterBar) .kpiExecutive .kpiTop{padding:0}
body:has(.kpiFilterBar) .kpiExecutive .kpiTop .tag{display:none}
body:has(.kpiFilterBar) .kpiExecutive .kpiTop::after{content:'↗';position:absolute;right:17px;top:17px;color:#19aa80;font-size:20px;font-weight:700}
body:has(.kpiFilterBar) .kpiExecutive .kpi:nth-child(2) .kpiTop::after{color:#1ca47a}
body:has(.kpiFilterBar) .kpiExecutive .kpi:nth-child(3) .kpiTop::after{color:#efb01d}
body:has(.kpiFilterBar) .kpiExecutive .kpi:nth-child(4) .kpiTop::after{color:#8d52dc}
body:has(.kpiFilterBar) .kpiExecutive .kpi:nth-child(5) .kpiTop::after{color:#ec5361}
body:has(.kpiFilterBar) .kpiExecutive .kpiLabel{font-size:10px;color:#49627e}
body:has(.kpiFilterBar) .kpiExecutive .kpiValue{margin-top:8px;font-size:26px;line-height:1;color:#10294d}
body:has(.kpiFilterBar) .kpiExecutive .kpiSub{font-size:10px;color:#71839a;margin-top:8px;white-space:nowrap}
body:has(.kpiFilterBar) .kpis{grid-template-columns:repeat(8,minmax(0,1fr));gap:11px;margin-bottom:16px}
body:has(.kpiFilterBar) .kpis .kpi{min-height:91px;padding:14px 12px;border:1px solid #edf2f5;border-radius:11px;box-shadow:0 3px 14px rgba(25,62,83,.06)}
body:has(.kpiFilterBar) .kpis .kpi::before{content:'●';display:grid;place-items:center;float:left;width:29px;height:29px;margin:0 8px 12px 0;border-radius:9px;background:#e1efff;color:#167ad8;font-size:15px}
body:has(.kpiFilterBar) .kpis .kpi:nth-child(2)::before{content:'⚑';background:#e9edff;color:#3e65dc}.kpis .kpi:nth-child(3)::before{content:'◎';background:#dcf8f4;color:#159e91}.kpis .kpi:nth-child(4)::before{content:'▥';background:#ddf6ef;color:#159c7b}.kpis .kpi:nth-child(5)::before{content:'♜';background:#e5f8e9;color:#1a9e71}.kpis .kpi:nth-child(6)::before{content:'×';background:#ffe2e5;color:#e6505b}.kpis .kpi:nth-child(7)::before{content:'●';background:#fff0ce;color:#dfa613}.kpis .kpi:nth-child(8)::before{content:'▣';background:#dff3f7;color:#1591a6}
body:has(.kpiFilterBar) .kpis .kpiLabel{font-size:9px;color:#526b87;line-height:1.3}
body:has(.kpiFilterBar) .kpis .kpiValue{clear:both;margin-top:5px;font-size:22px;color:#10294d}
body:has(.kpiFilterBar) .kpis .kpiSub{font-size:9px;line-height:1.25;color:#76879c}
body:has(.kpiFilterBar) .kpiSectionTitle{display:none}
body:has(.kpiFilterBar) .kpiPerformanceGrid{grid-template-columns:1.05fr 1.08fr 1fr;gap:13px;margin-bottom:16px}
body:has(.kpiFilterBar) .kpiPerformanceGrid>.panel{min-height:290px;border:1px solid #edf2f5;border-radius:12px;box-shadow:0 4px 16px rgba(25,62,83,.07)}
body:has(.kpiFilterBar) .panelHead{padding:14px 17px;border-bottom:1px solid #edf2f5}
body:has(.kpiFilterBar) .panelTitle{font-size:14px;color:#13294a}
body:has(.kpiFilterBar) .panelHead .tag{background:#fff;border-color:#dbe5ec;color:#46617d;font-size:9px}
body:has(.kpiFilterBar) .donutWrap{flex-direction:row!important;gap:18px;min-height:226px}
body:has(.kpiFilterBar) .bigDonut{width:200px;height:200px}
body:has(.kpiFilterBar) .bigDonut:after{inset:37px}
body:has(.kpiFilterBar) .donutCenter .centerValue{font-size:24px}
body:has(.kpiFilterBar) .trafficChartLegend{line-height:2.35;font-size:10px}
body:has(.kpiFilterBar) .kpiCharts2{grid-template-columns:1fr 1fr;gap:13px}
body:has(.kpiFilterBar) .kpiCharts2 .panel{border-radius:12px;box-shadow:0 4px 16px rgba(25,62,83,.07)}
body:has(.kpiFilterBar) .rankTable{font-size:10px}
body:has(.kpiFilterBar) .rankTable th{background:#f7fafc;color:#62758d;padding:8px}
body:has(.kpiFilterBar) .rankTable td{padding:8px;border-bottom-color:#edf2f5}
body:has(.kpiFilterBar) .trafficLegend,body:has(.kpiFilterBar) .autoInsight,body:has(.kpiFilterBar) .content>.panel:not(.kpiPerformanceGrid .panel){border-radius:11px}
@media(max-width:1200px){body:has(.kpiFilterBar) .kpis{grid-template-columns:repeat(4,1fr)}body:has(.kpiFilterBar) .kpiPerformanceGrid{grid-template-columns:1fr 1fr}body:has(.kpiFilterBar) .kpiPerformanceGrid>.panel:first-child{grid-column:1/-1}}
@media(max-width:800px){body:has(.kpiFilterBar) .topTitle{font-size:14px}body:has(.kpiFilterBar) .topTitle::after{font-size:9px}body:has(.kpiFilterBar) .kpiFilterBar{grid-template-columns:1fr 1fr}body:has(.kpiFilterBar) .kpiFilterBar .btn{grid-column:1/-1}body:has(.kpiFilterBar) .kpiExecutive{grid-template-columns:1fr 1fr}body:has(.kpiFilterBar) .kpiPerformanceGrid,body:has(.kpiFilterBar) .kpiCharts2{grid-template-columns:1fr}body:has(.kpiFilterBar) .kpiPerformanceGrid>.panel:first-child{grid-column:auto}}
@media(max-width:520px){body:has(.kpiFilterBar) .topActions .session,body:has(.kpiFilterBar) .topDiamond{display:none}body:has(.kpiFilterBar) .kpis{grid-template-columns:1fr 1fr}body:has(.kpiFilterBar) .kpiExecutive .kpi{padding-left:64px}body:has(.kpiFilterBar) .donutWrap{flex-direction:column!important}.bigDonut{width:165px;height:165px}}

/* El dashboard conserva el sidebar institucional visible. */
body:has(.kpiFilterBar) .sidebar{transform:none}
body:has(.kpiFilterBar) .main{margin-left:238px}
@media(max-width:1000px){body:has(.kpiFilterBar) .sidebar{transform:translateX(-100%)}body:has(.kpiFilterBar) .sidebar.open{transform:none}body:has(.kpiFilterBar) .main{margin-left:0}}
body:has(.kpiFilterBar) .brand{display:flex}
body:has(.kpiFilterBar) .mobileMenu{display:none}
body:has(.kpiFilterBar) .topTitle{text-align:center}
body:has(.kpiFilterBar) .topbar{border-bottom:0}
body:has(.kpiFilterBar) .content{padding-left:28px;padding-right:28px}
@media(max-width:1000px){body:has(.kpiFilterBar) .mobileMenu{display:grid}body:has(.kpiFilterBar) .topTitle{text-align:left}}
@media(max-width:700px){body:has(.kpiFilterBar) .content{padding-left:12px;padding-right:12px}}

/* Ajustes de fidelidad para la composición de referencia del dashboard. */
body:has(.kpiFilterBar) .kpis .kpi:nth-child(1)::before{content:'♟';background:#dcecff;color:#167bd8}
body:has(.kpiFilterBar) .kpis .kpi:nth-child(2)::before{content:'⚑';background:#e9edff;color:#3f65dc}
body:has(.kpiFilterBar) .kpis .kpi:nth-child(3)::before{content:'◎';background:#dff7f3;color:#129b8e}
body:has(.kpiFilterBar) .kpis .kpi:nth-child(4)::before{content:'▥';background:#def7ee;color:#159c7b}
body:has(.kpiFilterBar) .kpis .kpi:nth-child(5)::before{content:'♜';background:#e1f7e9;color:#169b70}
body:has(.kpiFilterBar) .kpis .kpi:nth-child(6)::before{content:'×';background:#ffe1e5;color:#e6505b;font-weight:700}
body:has(.kpiFilterBar) .kpis .kpi:nth-child(7)::before{content:'●';background:#fff0ca;color:#dfa613}
body:has(.kpiFilterBar) .kpis .kpi:nth-child(8)::before{content:'▣';background:#dff3f7;color:#1591a6}
body:has(.kpiFilterBar) .kpiPerformanceGrid .panel:nth-child(1) .panelTitle::first-letter{color:#13a47a}
body:has(.kpiFilterBar) .kpiPerformanceGrid .panel:nth-child(2) .panelHead .tag{font-size:0}
body:has(.kpiFilterBar) .kpiPerformanceGrid .panel:nth-child(2) .panelHead .tag::after{content:'Ver todas';font-size:9px}
body:has(.kpiFilterBar) .kpiPerformanceGrid .panel:nth-child(2) .kpiBarList{counter-reset:ranking;gap:10px}
body:has(.kpiFilterBar) .kpiPerformanceGrid .panel:nth-child(2) .kpiBarRow{counter-increment:ranking;grid-template-columns:32px minmax(0,1fr) auto;gap:5px 9px}
body:has(.kpiFilterBar) .kpiPerformanceGrid .panel:nth-child(2) .kpiBarRow::before{content:counter(ranking);grid-row:1 / span 2;width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:#e5f7ef;color:#087b62;font-size:15px;font-weight:700}
body:has(.kpiFilterBar) .kpiPerformanceGrid .panel:nth-child(2) .kpiBarRow .name{grid-column:2;grid-row:1;font-size:10px;color:#35506c}
body:has(.kpiFilterBar) .kpiPerformanceGrid .panel:nth-child(2) .kpiBarRow .num{grid-column:3;grid-row:1;font-size:9px;color:#314661}
body:has(.kpiFilterBar) .kpiPerformanceGrid .panel:nth-child(2) .kpiBarRow .rail{grid-column:2 / 4;grid-row:2;height:9px}
body:has(.kpiFilterBar) .kpiPerformanceGrid .panel:nth-child(3) .kpiBarList{gap:12px!important}
body:has(.kpiFilterBar) .kpiPerformanceGrid .panel:nth-child(3) .kpiBarList>div{position:relative;padding-left:42px;min-height:38px}
body:has(.kpiFilterBar) .kpiPerformanceGrid .panel:nth-child(3) .kpiBarList>div::before{content:'◆';position:absolute;left:0;top:0;width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#eee9ff;color:#5f51bd;font-size:14px}
body:has(.kpiFilterBar) .kpiPerformanceGrid .panel:nth-child(3) .kpiBarList>div:nth-child(2)::before{content:'⚙';background:#edf0ff;color:#4f5cb6}
body:has(.kpiFilterBar) .kpiPerformanceGrid .panel:nth-child(3) .kpiBarList>div:nth-child(3)::before{content:'⚗';background:#f0e9ff;color:#734ac0}
body:has(.kpiFilterBar) .kpiPerformanceGrid .panel:nth-child(3) .kpiBarList>div:nth-child(4)::before{content:'♣';background:#ffe8ee;color:#dd5666}
body:has(.kpiFilterBar) .kpiPerformanceGrid .panel:nth-child(3) .kpiBarList>div>div:nth-child(2){display:flex;justify-content:space-between;align-items:baseline}
body:has(.kpiFilterBar) .kpiPerformanceGrid .panel:nth-child(3) .kpiBarList>div>div:nth-child(2) span{font-size:8px!important}
body:has(.kpiFilterBar) .kpiPerformanceGrid .panel:nth-child(3) .kpiBarList>div>div:nth-child(2) b{font-size:10px!important}
body:has(.kpiFilterBar) .kpiPerformanceGrid .panel:nth-child(3) .kpiBarList>div>div:nth-child(3){margin-top:3px}
body:has(.kpiFilterBar) .kpiPerformanceGrid{margin-left:14px;margin-right:14px}
body:has(.kpiFilterBar) .kpiPerformanceGrid .panel:first-child .donutWrap{flex-direction:column!important;gap:10px;justify-content:center}
body:has(.kpiFilterBar) .kpiPerformanceGrid .panel:first-child .trafficChartLegend{width:100%;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:7px 16px;line-height:1.45}
body:has(.kpiFilterBar) .kpiPerformanceGrid .panel:first-child .trafficChartLegend>div{white-space:nowrap}
body:has(.kpiFilterBar) .kpiExecutive .kpi{min-width:0}
body:has(.kpiFilterBar) .kpiExecutive .kpiValue{font-size:clamp(19px,1.7vw,26px);white-space:nowrap;letter-spacing:-.45px;max-width:100%;overflow:hidden}
body:has(.kpiFilterBar) .kpiExecutive .kpi:nth-child(3) .kpiValue{font-size:clamp(16px,1.4vw,23px);letter-spacing:-.8px}
@media(max-width:700px){body:has(.kpiFilterBar) .kpiPerformanceGrid{margin-left:0;margin-right:0}}

/* Tarjetas KPI de Construir POA: mismo lenguaje visual del dashboard ejecutivo. */
body:not(:has(.kpiFilterBar)) .kpiExecutive{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:24px}
body:not(:has(.kpiFilterBar)) .kpiExecutive .kpi{position:relative;min-width:0;min-height:154px;padding:21px 18px;background:linear-gradient(145deg,#fff 0%,#fbfdfe 100%);border:1px solid #dbe6ed;border-radius:13px;box-shadow:0 5px 17px rgba(29,65,87,.08);overflow:hidden}

/* Profundidad visual del menú lateral. */
.sidebar{box-shadow:8px 0 18px rgba(0,0,0,.18)}
.sidebar::before{opacity:.24}
.sidebar::after{width:7px;background:linear-gradient(90deg,rgba(0,0,0,0),rgba(0,0,0,.22))}
body:not(:has(.kpiFilterBar)) .kpiExecutive .kpiTop{min-height:30px}
body:not(:has(.kpiFilterBar)) .kpiExecutive .kpiLabel{font-size:10px;letter-spacing:.45px;color:#526985}
body:not(:has(.kpiFilterBar)) .kpiExecutive .kpiValue{margin-top:13px;font-size:29px;line-height:1;color:#10294d;letter-spacing:-.4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body:not(:has(.kpiFilterBar)) .kpiExecutive .kpiSub{margin-top:9px;font-size:10px;line-height:1.35;color:#70839a}
body:not(:has(.kpiFilterBar)) .kpiExecutive .poaKpiIcon{width:31px;height:31px;border-radius:8px;font-size:13px}
body:not(:has(.kpiFilterBar)) .kpiExecutive .kpi:nth-child(3) .kpiValue{font-size:clamp(18px,2vw,27px);letter-spacing:-.8px}
@media(max-width:1200px){body:not(:has(.kpiFilterBar)) .kpiExecutive{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){body:not(:has(.kpiFilterBar)) .kpiExecutive{grid-template-columns:1fr 1fr}body:not(:has(.kpiFilterBar)) .kpiExecutive .kpi{min-height:132px;padding:16px}body:not(:has(.kpiFilterBar)) .kpiExecutive .kpiValue{font-size:24px}}
/* Login institucional UTB */
.loginWrap{min-height:100vh;display:grid;grid-template-columns:minmax(52%,1fr) minmax(440px,48%);place-items:stretch;padding:0;background:#f7fafb;overflow:hidden;position:relative}
.loginWrap::before,.loginWrap::after{display:none}
.loginBrandPanel{position:relative;isolation:isolate;padding:56px 7vw 42px 5.2vw;color:#fff;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;background:#03594f}
.loginBrandPanel::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,66,59,.98) 0%,rgba(0,82,73,.87) 46%,rgba(0,77,67,.62) 100%),url('../../imagenes/imagen utb.png') center/cover;z-index:-2}
.loginBrandPanel::after{content:"";position:absolute;inset:-12% -8% -8% 43%;border:1px solid rgba(255,255,255,.18);border-radius:42% 0 0 0;transform:rotate(-24deg);z-index:-1;box-shadow:-18px 0 0 rgba(241,204,103,.18)}
.loginBrandTop{display:flex;align-items:center;gap:15px;font-size:20px;font-weight:600;line-height:1.05;letter-spacing:.2px}.loginBrandTop img{width:72px;height:72px;border-radius:50%;object-fit:contain;background:#fff;padding:5px}.loginBrandTop span{font-weight:700}
.loginBrandCopy{margin-top:auto;margin-bottom:auto;padding-top:50px}.loginRule{display:block;width:60px;height:4px;border-radius:4px;background:#f4c94f;margin-bottom:25px}.loginBrandCopy h1{margin:0;color:#fff;font-size:clamp(28px,3.1vw,47px);font-weight:400;line-height:1.15;letter-spacing:-.6px}.loginBrandCopy h1 strong{color:#f5c84d;font-weight:600}.loginBrandCopy>p{margin:17px 0 40px;color:rgba(255,255,255,.75);font-size:17px;letter-spacing:.1px}
.loginBenefits{display:grid;gap:19px}.loginBenefits>div{display:flex;align-items:center;gap:17px}.loginBenefitIcon{width:52px;height:52px;border:1px solid rgba(255,255,255,.72);border-radius:10px;display:grid;place-items:center;font-size:24px;color:#fff}.loginBenefits p{margin:0;display:flex;flex-direction:column;gap:5px;font-size:15px}.loginBenefits small{font-size:12px;color:rgba(255,255,255,.6)}
.loginQuote{padding-top:25px}.loginQuote .loginRule{margin-bottom:19px;width:46px;height:3px}.loginQuote em{display:block;font-size:18px;line-height:1.35;color:rgba(255,255,255,.78)}.loginQuote small{display:block;margin-top:23px;color:rgba(255,255,255,.45);font-size:10px;letter-spacing:3px}
.loginAside{position:relative;display:flex;align-items:center;justify-content:center;padding:85px 5vw 30px;background:linear-gradient(135deg,#fbfdfe,#edf3f4)}.loginRequest{position:absolute;top:23px;right:5vw;color:#70859b;font-size:12px}.loginRequest a{display:inline-flex;align-items:center;margin-left:17px;padding:10px 16px;border:1px solid #70a69e;border-radius:9px;color:#07594f;text-decoration:none;font-weight:600;background:#fff}
.loginCard{width:min(520px,100%);max-width:520px;padding:31px 50px 28px;background:rgba(255,255,255,.96);border-radius:16px;box-shadow:0 12px 32px rgba(24,62,75,.08);border:1px solid #e8eff1}.loginLogo{margin-bottom:10px}.loginLogo img{width:76px;height:76px;border:0;box-shadow:none;padding:0}.loginSystemTitle{font-size:15px;line-height:1.12;color:#17304a;margin:0 auto 18px;font-weight:700;letter-spacing:.1px}.cardHead{margin-bottom:17px}.cardHead h2{font-size:23px;line-height:1.15;color:#10294d;margin:0 0 9px}.loginCardLead{margin:0;color:#8192a7;font-size:13px}.loginForm{text-align:left;margin-top:0}
.fieldLabel{text-transform:none;font-size:12px;color:#30465f;margin:17px 0 7px}.inputWrap input{height:43px;padding:0 42px;border-radius:8px;background:#fff;border-color:#d6e1e8;font-size:12px}.inputIcon{left:13px;color:#71869a}.eyeBtn{right:11px;color:#70879c}.formRow{margin-top:13px;justify-content:space-between}.checkbox{font-size:12px;color:#40536b}.checkbox input{accent-color:#056255}.forgot{font-size:12px;color:#08746a;font-weight:600}.btn.large{height:44px;margin-top:18px;border-radius:8px;font-size:14px;box-shadow:none}.btn.large span{font-size:23px;vertical-align:-2px;margin-right:8px}.loginDivider{display:flex;align-items:center;gap:10px;color:#91a0ae;font-size:12px;margin:18px 0}.loginDivider::before,.loginDivider::after{content:"";height:1px;background:#e6ecef;flex:1}.loginGoogle{height:43px;width:100%;border:1px solid #d8e2e8;border-radius:8px;background:#fff;color:#50657a;font-size:12px;font-weight:600;cursor:pointer}.loginGoogle b{font-size:20px;font-family:Arial;color:#4285f4;vertical-align:-2px;margin-right:9px}.loginNote{margin-top:17px;padding:13px 15px;background:#e7f7f2;border-radius:11px;color:#176a60;font-size:11px;line-height:1.35;align-items:center}.loginNote b{display:block;font-size:11px}.loginNote small{display:block;margin-top:3px;color:#6f8b8c;font-size:9px}.noteIcon{font-size:22px;background:none;padding:0}
@media(max-width:900px){.loginWrap{grid-template-columns:1fr}.loginBrandPanel{display:none}.loginAside{padding:80px 20px 30px;min-height:100vh}.loginRequest{right:20px}}@media(max-width:520px){.loginCard{padding:26px 22px}.loginRequest{font-size:10px}.loginRequest a{margin-left:7px;padding:8px 11px}.loginAside{padding-left:14px;padding-right:14px}}

/* Variante sobria: contraste oscuro institucional y formulario sobre blanco. */
.loginBrandPanel::before{background:linear-gradient(90deg,rgba(0,37,43,.98) 0%,rgba(0,58,57,.93) 48%,rgba(0,54,53,.78) 100%),url('../../imagenes/imagen utb.png') center/cover}
.loginBrandPanel::after{border-color:rgba(255,255,255,.13);box-shadow:-18px 0 0 rgba(241,204,103,.12)}
.loginAside{background:#fff}
.loginCard{background:transparent;border:0;box-shadow:none}
.loginCard{width:min(475px,100%);max-width:475px;padding-left:0;padding-right:0}
.loginAside .loginCard{transform:translateY(-28px)}
.loginCard .cardHead h2{font-size:18px;line-height:1.16;letter-spacing:-.25px;font-weight:500}
.loginCard .loginCardLead{font-size:12px}
.loginCard .loginLogo img{width:105px;height:105px}
.loginCard .fieldLabel{font-size:13px}
.loginCard .inputWrap input{height:50px}
.loginCard .btn.large{height:52px}
.loginWrap{grid-template-columns:minmax(0,60%) minmax(0,40%)}
.loginAside{padding-left:3vw;padding-right:3vw}
.loginWatermark{position:absolute;width:min(38vw,480px);height:min(38vw,480px);object-fit:contain;right:-5%;top:22%;opacity:.055;filter:grayscale(1) brightness(2);pointer-events:none;z-index:-1}
.loginShadow{position:absolute;right:0;bottom:0;width:46%;max-width:520px;height:auto;opacity:.08;filter:brightness(0);pointer-events:none;z-index:-1}
.loginBrandPanel .loginShadow{display:none}
.loginBrandPanel{box-shadow:inset 0 0 115px rgba(0,19,25,.62)}
.loginBrandPanel::before{background:radial-gradient(ellipse at center,rgba(0,55,54,.08) 25%,rgba(0,20,27,.5) 100%),linear-gradient(90deg,rgba(0,28,34,.98) 0%,rgba(0,61,59,.88) 48%,rgba(0,28,34,.75) 100%),url('../../imagenes/imagen utb.png') center/cover}
.loginBenefitIcon{width:12px;height:12px;flex:0 0 12px;border:0;border-radius:50%;font-size:0;background:#f5c84d;box-shadow:0 0 0 3px rgba(245,200,77,.12)}
.loginBenefitIcon::before{content:""}
.loginWrap{width:100%;max-width:100vw;overflow:hidden}
.loginBrandCopy .loginRule{display:none}
@media(max-width:900px){.loginWatermark{display:none}}

/* Aumento de altura de campos para login */
.loginCard .fieldLabel { font-size: 14px; margin: 20px 0 8px; font-weight: 600; color: #17304a; }
.loginCard .inputWrap input { height: 56px; font-size: 15px; border-radius: 10px; padding: 0 46px; }
.loginCard .inputIcon { font-size: 18px; left: 16px; }
.loginCard .eyeBtn { font-size: 18px; right: 16px; }
.loginCard .btn.large { height: 56px; font-size: 16px; border-radius: 10px; margin-top: 24px; }
.loginCard .formRow { margin-top: 18px; }
.loginCard .checkbox, .loginCard .forgot { font-size: 13px; }

/* Aumento de 25% al logo y titulo */
.loginCard .loginLogo img { width: 132px; height: 132px; }
.loginCard .loginSystemTitle { font-size: 19px; line-height: 1.2; }

/* Texto dorado degradado */
.loginBrandCopy h1 strong { background: linear-gradient(90deg, #d8a011 0%, #ffde7a 45%, #d8a011 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }


/* Alejar la curva decorativa para que no pise el texto */
.loginBrandPanel::after { inset: -12% -8% -8% 58% !important; }

/* Aplicar el encabezado grande (estilo Dashboard) también a POA y Construir POA */
body:has(.poaFilterBar) .brand{display:flex}
body:has(.poaFilterBar) .mobileMenu{display:none}
body:has(.poaFilterBar) .topTitle{flex:1;text-align:center;font-size:18px;font-weight:700;letter-spacing:-.35px;color:#10294d;padding-left:4px}
body:has(.poaFilterBar) .topTitle::after{content:'Monitoreo y gestión del Plan Operativo Anual';display:block;margin-top:2px;font-size:11px;font-weight:500;letter-spacing:0;color:#71839a}
body:has(.poaFilterBar) .topActions{width:auto;gap:17px;padding-right:17px}
body:has(.poaFilterBar) .session{padding:8px 14px;background:#fff;box-shadow:0 2px 8px rgba(26,66,91,.08)}
body:has(.poaFilterBar) .topbar{border-bottom:0}
body:has(.poaFilterBar) .content{padding-left:28px;padding-right:28px}
@media(max-width:1000px){body:has(.poaFilterBar) .mobileMenu{display:grid}body:has(.poaFilterBar) .topTitle{text-align:left}body:has(.poaFilterBar) .brand{display:none}}
@media(max-width:700px){body:has(.poaFilterBar) .content{padding-left:12px;padding-right:12px}}
@media(max-width:520px){body:has(.poaFilterBar) .topActions .session,body:has(.poaFilterBar) .topDiamond{display:none}}

/* Reducir altura de KPIs un 15% para POA / Construir POA */
body:has(.poaFilterBar) .kpiExecutive .kpi{min-height:130px !important; padding:16px 18px !important;}
body:has(.poaFilterBar) .kpiExecutive .kpiValue{margin-top:8px;font-size:26px}

/* Invertir orden de los iconos en los KPIs */
body:has(.poaFilterBar) .kpiExecutive .kpiTop{justify-content:flex-start !important; gap:8px !important;}
body:has(.poaFilterBar) .kpiExecutive .kpiLabel{order:2 !important;}
body:has(.poaFilterBar) .kpiExecutive .poaKpiIcon{order:1 !important;}

/* Quitar negrita de Resp. y Revi. en las tablas de POA */
.poaConsolidadoTable .scorePairLine span:first-child, .poaAprobadoTable .scorePairLine span:first-child { font-weight: 400 !important; opacity: 0.85; }
.poaConsolidadoTable thead .groupProgramacion{background:#eef5fb;color:#315f87;text-align:center;border-left:1px solid #d5e3ee;border-right:1px solid #d5e3ee}.poaConsolidadoTable thead .programHead{background:#f5f9fc}.poaConsolidadoTable .planCell{text-align:center;color:#315f87;font-weight:700;background:#fbfdff;vertical-align:middle}
.poaConsolidadoTable col:nth-child(1){width:2.8%}.poaConsolidadoTable col:nth-child(2){width:22%}.poaConsolidadoTable col:nth-child(3){width:16%}.poaConsolidadoTable col:nth-child(4),.poaConsolidadoTable col:nth-child(5){width:6.5%}.poaConsolidadoTable col:nth-child(6){width:8%}.poaConsolidadoTable col:nth-child(7),.poaConsolidadoTable col:nth-child(8){width:8%}.poaConsolidadoTable col:nth-child(9){width:7%}.poaConsolidadoTable col:nth-child(10),.poaConsolidadoTable col:nth-child(11){width:6.5%}.poaConsolidadoTable col:nth-child(12){width:6.5%}


/* Reducir altura de tarjetas en Units */
.unitsKpis .kpi{min-height:auto !important; padding:12px 16px !important;}
.unitsKpis .kpiValue{margin-top:4px !important; font-size:20px !important;}
.unitKpiTop{min-height:28px;}

/* Rediseño del Hero (Cabecera de página) corporativo */
body:not(.role-responsable) .hero { background: transparent !important; border: none !important; box-shadow: none !important; padding: 5px 0 15px 0 !important; margin-bottom: 20px !important; border-bottom: 1px solid #dcdfe4 !important; border-radius: 0 !important; }
body:not(.role-responsable) .hero h1 { font-size: 24px !important; font-weight: 500 !important; color: #172b4d !important; }
body:not(.role-responsable) .hero h1 .tag { background: #ebecf0 !important; color: #42526e !important; border: none !important; border-radius: 4px !important; font-size: 12px !important; font-weight: 600 !important; text-transform: uppercase; letter-spacing: 0.5px; padding: 4px 8px !important; transform: none !important; }
body:not(.role-responsable) .hero p { font-size: 13px !important; color: #5e6c84 !important; margin-top: 6px !important; }

/* Ajustar mrgenes laterales del contenido hacia adentro (aprox 10%) */
@media (min-width: 1000px) {
    .content { padding-left: 5% !important; padding-right: 5% !important; max-width: 1600px !important; }
}

/* Mejora profesional tabla usuarios */
.userDot { background: var(--green) !important; color: #fff !important; border-radius: 50% !important; width: 32px !important; height: 32px !important; font-weight: 600 !important; border: 1px solid rgba(255,255,255,0.2) !important; box-shadow: 0 2px 5px rgba(4,81,73,0.15) !important; }
.usersRegistryTable .pill { background: transparent !important; border: none !important; padding: 0 !important; color: #475569 !important; font-weight: 500 !important; display: inline-flex !important; align-items: center !important; gap: 6px !important; }
.usersRegistryTable .pill::before { content: ""; display: inline-block; width: 6px; height: 6px; border-radius: 50%; }
.usersRegistryTable .pill.ok::before { background: #10b981 !important; }
.usersRegistryTable .pill.pending::before { background: #94a3b8 !important; }
.iconBtn { border: none !important; }

.editBtn { color: #0284c7 !important; background: #f0f9ff !important; } .editBtn:hover { background: #e0f2fe !important; color: #0369a1 !important; }
.toggleBtn { color: var(--gold) !important; background: #fffcf0 !important; } .toggleBtn:hover { background: #fffae0 !important; color: #b48600 !important; }
.deleteBtn { color: #dc2626 !important; background: #fef2f2 !important; } .deleteBtn:hover { background: #fee2e2 !important; color: #b91c1c !important; }
.usersRegistryTable td { padding: 8px 10px !important; height: 48px !important; }


/* Quitar colores de las cajas en Seguimiento */
.plannedMetaBanner { background: #f8fafc !important; border-color: #e2e8f0 !important; color: #334155 !important; }
.plannedMetaIcon { background: #f1f5f9 !important; color: #64748b !important; }
.plannedMetaBanner strong { color: #0f172a !important; }
.adminBudgetCard { background: #f8fafc !important; border-color: #e2e8f0 !important; }
.adminBudgetCard > div > span { background: #f1f5f9 !important; color: #64748b !important; }
.adminBudgetCard b { color: #334155 !important; }
.adminBudgetInput { border-color: #cbd5e1 !important; }
.adminBudgetInput > span { background: #f8fafc !important; border-color: #cbd5e1 !important; color: #475569 !important; }
.adminBudgetInput input { color: #334155 !important; }
.adminBudgetTotal { background: #f8fafc !important; border-color: #e2e8f0 !important; }
.adminBudgetTotal > div > span { background: #f1f5f9 !important; color: #64748b !important; }
.adminBudgetTotal b { color: #334155 !important; }
.adminBudgetTotal > strong { color: #0f172a !important; }
.unitConversionBox { background: #f8fafc !important; border-color: #e2e8f0 !important; color: #334155 !important; }

/* Quitar colores de los iconos del Seguimiento */
.adminFollowIcon { background: #f8fafc !important; border: 1px solid #e2e8f0 !important; }
.adminFollowIcon.indicator, .adminFollowIcon.goal, .adminFollowIcon.evidenceIcon, .adminFollowIcon.targetIcon { background: #f8fafc !important; }

/* Quitar colores de los inputs del Revisor y Responsable */
.respField:not([disabled]), .revField:not([disabled]) { background: #ffffff !important; border-color: #cbd5e1 !important; }
.respField:focus, .revField:focus { border-color: #94a3b8 !important; outline: none; }


/* Refinar cabecera del modal Seguimiento */
.adminFollowTitleIcon { background: transparent !important; color: var(--green) !important; padding: 0 !important; margin-right: -4px !important; }
.adminFollowTitle h2 { font-weight: 500 !important; font-size: 22px !important; color: #1e293b !important; letter-spacing: -0.3px !important; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important; }
.adminFollowTitle p { font-size: 13px !important; color: #64748b !important; }

/* Encabezados de columnas de roles en Verde Institucional */
.adminRoleHead h4 { color: var(--green) !important; }
.adminRoleIcon { color: var(--green) !important; }

/* Hacer el texto ingresado más negrito para diferenciarlo de los placeholders */
.respField, .revField, .formField input, .formField textarea {
    font-weight: 600 !important;
    color: #0f172a !important;
}

/* El texto deshabilitado también un poco más oscuro pero sin perder su aspecto readonly */
.readonlyField, .revField[disabled], .respField[disabled] {
    color: #475569 !important;
    font-weight: 600 !important;
}

/* Asegurar que los placeholders sigan siendo delgados y claros */
.respField::placeholder, .revField::placeholder, .formField input::placeholder, .formField textarea::placeholder {
    font-weight: 400 !important;
    color: #94a3b8 !important;
}

/* Columna para asociar nombres alternativos con una unidad canónica. */
.unitsDetectedTable th:nth-child(10),.unitsDetectedTable td:nth-child(10){width:18%}.unitsDetectedTable td:nth-child(10) .unitTom{min-width:150px}.unitsDetectedTable td:nth-child(10) .tomMenu{min-width:260px}

/* Tarjetas compactas del resumen de Unidades. */
.unitsKpis .kpi{height:116px;min-height:116px;padding:7px 18px 8px;overflow:hidden}
.unitsKpis .unitKpiIcon{width:26px;height:26px;flex-basis:26px}
.unitsKpis .kpiValue{margin-top:3px;font-size:21px}
.unitsKpis .kpiSub{margin-top:2px;line-height:1.1;white-space:nowrap}
.unitsPanelHead{padding:10px 18px}
.unitsFilterBar{padding:10px 18px}
.unitsDetectedTable thead,.unitsDetectedTable thead tr{height:38px!important;min-height:0!important}
.unitsDetectedTable thead th{height:38px!important;min-height:0!important;padding:6px 7px!important;line-height:1.15}
.unitsDetectedTable tbody td{height:52px!important;padding:8px 10px}
.unitsTableWrap{height:auto!important;min-height:0!important}
.unitsDetectedTable{height:auto!important}
.unitsDetectedTable thead,.unitsDetectedTable tbody{height:auto!important}
.unitsDetectedTable thead tr,.unitsDetectedTable tbody tr{height:auto!important;min-height:0!important}
.unitsDetectedTable th,.unitsDetectedTable td{vertical-align:middle!important}
.unitsDetectedTable thead{display:block!important;height:40px!important;overflow:hidden}
.unitsDetectedTable thead tr{display:table!important;width:100%!important;height:40px!important}
.unitsDetectedTable thead th{height:40px!important;max-height:40px!important;overflow:hidden!important;white-space:nowrap}
.unitsDetectedTable tbody{display:block!important}
.unitsDetectedTable tbody tr{display:table!important;width:100%!important;table-layout:fixed}

/* Controles del POA consolidado: botones dentro de sus columnas permanentes. */
.poaConsolidadoTable .planCell{text-align:center;vertical-align:middle;background:#fbfdff;color:#315f87;font-weight:700}
.poaConsolidadoTable .planCell .poaActionIcon{display:block;margin:6px auto 0;width:30px;height:30px;background:#fff}
.poaConsolidadoTable .responsible strong{display:inline-block;background:#fff1df;color:#c46800;border-radius:6px;padding:3px 10px;font-weight:700}
.poaConsolidadoTable .actionGroup{white-space:nowrap}

/* POA aprobado: estilo propio para sincronización aditiva, distinto de la carga inicial. */
#modal .modalCard.poaIncrementalUpdateModal{width:min(640px,94vw);max-width:640px;border:1px solid #cfe1dc;border-radius:16px;overflow:hidden;box-shadow:0 24px 70px rgba(4,48,44,.2)}
#modal .poaIncrementalUpdateModal .modalHead{padding:15px 20px;background:linear-gradient(110deg,#edf6f3,#fff 75%);border-bottom:1px solid #dce9e5}
#modal .poaIncrementalUpdateModal .modalHead h3{color:#064f49;font-size:15px}
#modal .poaIncrementalUpdateModal .modalBody{padding:18px 20px 20px}
.poaUpdateIntro{display:flex;align-items:center;gap:11px;padding:12px 14px;border:1px solid #cfe4dc;border-radius:11px;background:linear-gradient(110deg,#f0f8f5,#fff)}
.poaUpdateIcon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:11px;background:#e2f1ec;color:var(--green);font-size:21px;font-weight:700}
.poaUpdateIntro>div{display:grid;gap:3px;min-width:0}
.poaUpdateIntro b{color:#07584f;font-size:12px}
.poaUpdateIntro small{color:#687f7c;font-size:10px;line-height:1.35}
.poaUpdateBadge{margin-left:auto;padding:5px 8px;border-radius:999px;background:#e7f8f1;color:#087a58;font-size:8px;font-weight:800;letter-spacing:.35px;white-space:nowrap}
.poaUpdateYear{display:flex;justify-content:space-between;align-items:center;margin:13px 0;padding:10px 12px;border:1px solid #dce9e5;border-radius:9px;background:#f8fbfa}
.poaUpdateYear span{color:#71809a;font-size:9px;font-weight:800;letter-spacing:.45px}
.poaUpdateYear strong{color:var(--green);font-size:13px}
.poaUpdateVersionField{display:grid;gap:6px;margin-top:13px}
.poaUpdateVersionField>label{color:#667796;font-size:9px;font-weight:800;letter-spacing:.4px}
.poaUpdateVersionField>small{color:#7786a0;font-size:9px}
.poaUpdateVersionField select{width:100%;height:40px;padding:0 11px;border:1px solid #cbdcd7;border-radius:8px;background:#fff;color:#315b56;font:inherit;font-size:11px;outline:none}
.poaUpdateVersionField select:focus{border-color:var(--green2);box-shadow:0 0 0 3px rgba(4,81,73,.1)}
.poaUpdateFileCard{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:3px 11px;padding:14px;border:1.5px dashed #9abfb4;border-radius:11px;background:#f8fbfa;cursor:pointer;transition:.15s}
.poaUpdateFileCard:hover{border-color:var(--green2);background:#f0f7f4}
.poaUpdateUploadIcon{grid-row:span 2;display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#e4f1ed;color:var(--green);font-size:21px;font-weight:700}
.poaUpdateFileCard b{color:#14574f;font-size:11px}
.poaUpdateFileCard small{color:#7b89a5;font-size:9px}
.poaUpdateFileCard input[type=file]{grid-column:2;width:100%;margin-top:7px;color:#61708b;font-size:10px}
.poaUpdateFileCard input[type=file]::file-selector-button{margin-right:9px;padding:6px 10px;border:1px solid #cbdcd7;border-radius:7px;background:#fff;color:var(--green);font-size:10px;font-weight:700;cursor:pointer}
.poaUpdateRules{margin-top:12px;padding:11px 13px;border-left:3px solid var(--gold);border-radius:7px;background:#f7faf9;color:#526b67}
.poaUpdateRules>b{display:block;margin-bottom:5px;color:#14574f;font-size:10px}
.poaUpdateRules ul{margin:0;padding-left:17px;font-size:9.5px;line-height:1.55}
.poaUpdateProgress{min-height:0;margin-top:8px;color:#52617e;font-size:10px;line-height:1.4}
.poaUpdateActions{margin-top:12px;padding-top:12px;border-top:1px solid #e8ecf5}
.poaUpdateSubmit{background:var(--green)!important;border-color:var(--green)!important}.poaUpdateSubmit:hover{background:var(--green2)!important;border-color:var(--green2)!important}
@media(max-width:600px){#modal .modalCard.poaIncrementalUpdateModal{width:96vw}#modal .poaIncrementalUpdateModal .modalHead{padding:12px 14px}#modal .poaIncrementalUpdateModal .modalBody{padding:13px}.poaUpdateIntro{padding:10px}.poaUpdateBadge{font-size:7px}}

.unitTom.is-assigned .field { background: #e7f8f1; border-color: #aee5d2; color: #087a58; font-weight: 500; }
