.button-row{display:flex;gap:.65rem;flex-wrap:wrap}.pilot-note{background:#fff8e8;border:1px solid #f1d69a;border-radius:12px;padding:.85rem 1rem;margin-bottom:1rem;color:#78520b}.pilot-badge{background:#e8f2ff;color:#2563eb;padding:.35rem .65rem;border-radius:20px;font-size:.76rem;font-weight:800}.profile-panel{background:#fff;border:1px solid #dce4ef;border-radius:18px;padding:1.25rem;margin-bottom:1rem}.profile-panel small{color:#64748b}.profile-row{display:grid;grid-template-columns:minmax(210px,.8fr) 2fr;gap:1rem;align-items:center;padding:.7rem 0}.profile-row b,.profile-row small{display:block}.profile-row small{margin-top:.2rem}.level-bar{display:flex;height:18px;border-radius:9px;overflow:hidden;background:#edf2f7}.level-bar span{height:100%}.level-bar .l1,.legend .l1:before{background:#dc4c4c}.level-bar .l2,.legend .l2:before{background:#f1a532}.level-bar .l3,.legend .l3:before{background:#4b8edb}.level-bar .l4,.legend .l4:before{background:#24956d}.legend{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.7rem;color:#64748b;font-size:.78rem}.legend span{display:flex;align-items:center;gap:.35rem}.legend span:before{content:"";width:9px;height:9px;border-radius:50%}@media(max-width:720px){.profile-row{grid-template-columns:1fr}}

.management-group>summary{background:#eaf2fa;border-left:6px solid #195180;padding:20px;cursor:pointer;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}.management-group .card-grid{padding:18px}.pilot-dialog{width:min(1200px,94vw);max-height:90vh;overflow:auto;border:0;border-radius:16px;padding:24px}.pilot-dialog select{max-width:100%;min-width:180px}.pilot-dialog td{max-width:550px}.pilot-dialog::backdrop{background:#102a4580}
.pmi-objective{margin-bottom:18px}.pmi-link,.pmi-priority{border-top:1px solid #d2deea;margin-top:16px;padding:16px 0}.pmi-inner{padding:18px}.pilot-dialog label{display:block;margin:12px 0}.pilot-dialog textarea{width:100%;min-height:85px}.pilot-dialog input[type=date],.pilot-dialog select{padding:9px;border:1px solid #9eb5ca;border-radius:6px}.pilot-dialog input[type=checkbox]{width:auto}.uti-inputs{display:flex;gap:16px}.uti-inputs input{width:65px}.pilot-dialog pre{white-space:pre-wrap;overflow-wrap:anywhere}.pmi-error{color:#a52222}.pmi-source{margin:12px 0}.pmi-confirm{padding:16px;background:#fff6da}.pmi-inner [hidden],.pmi-priority [hidden]{display:none}

/* v1.7 · trazabilidad Autoevaluación → UTI → PMI → Seguimiento */
.cycle-stack{display:grid;gap:1rem}.cycle-overview{padding:1.25rem}.metric-link{border:0;background:transparent;color:var(--muted);font:inherit;cursor:pointer;padding:0}.metric-link b{color:var(--ink)}.cycle-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.summary-tile{border:1px solid #d7e4f1;background:#f8fbff;border-radius:14px;padding:1rem;text-align:left;display:grid;gap:.35rem;cursor:pointer;color:var(--ink)}.summary-tile:hover{border-color:#8fb6df;background:#f2f8ff}.summary-tile b{font-size:.95rem}.summary-tile small{color:var(--muted);line-height:1.35}.summary-icon{display:inline-grid;place-items:center;width:42px;height:30px;border-radius:9px;background:#e4effb;color:var(--blue-strong);font-size:.76rem;font-weight:900}.route-actions button{border:0;background:#e8eef6;color:var(--muted);padding:.8rem;border-radius:10px;text-align:center;font-size:.84rem;font-weight:800;cursor:pointer}.route-actions button.done{background:#dbeafe;color:var(--blue-strong)}.trace-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin-bottom:1rem}.trace-kpis article{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1rem;display:grid;gap:.2rem}.trace-kpis span,.trace-kpis small{color:var(--muted)}.trace-kpis strong{font-size:1.8rem}.trace-section{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.15rem}.uti-trace-list{display:grid;gap:.9rem;padding:1rem}.uti-trace-card{border:1px solid #dbe5ef;border-radius:14px;padding:1rem;background:#fff}.uti-trace-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.uti-trace-head h4{margin:.45rem 0 .2rem}.uti-trace-head small,.muted{color:var(--muted)}.priority-pill{display:inline-flex;border-radius:999px;padding:.28rem .58rem;font-size:.74rem;font-weight:900;background:#edf2f7;color:#475569}.priority-pill.high{background:#fff2db;color:#9a6107}.priority-pill.critical{background:#fee9e9;color:#ac2e2e}.priority-pill.medium{background:#e8f2ff;color:#0a57ad}.priority-pill.low{background:#e2f6ee;color:#157152}.uti-score{display:flex;gap:.35rem;flex-wrap:wrap}.uti-score b{background:#eff5fb;border-radius:8px;padding:.35rem .5rem;font-size:.78rem}.trace-link{margin-top:.8rem;padding:.8rem 1rem;border-radius:11px;display:grid;gap:.3rem}.trace-link.linked{background:#eef8f3;border-left:4px solid #24956d}.trace-link.pending{background:#fff8e8;border-left:4px solid #e1a52d}.trace-link span,.trace-link small{color:var(--muted)}.trace-link p{margin:.25rem 0}.plan-trace-card{border:1px solid #dbe5ef;border-radius:16px;margin-top:1rem;overflow:hidden}.plan-trace-head{padding:1rem 1.1rem;background:#f8fbff;display:flex;justify-content:space-between;gap:1rem;align-items:center}.plan-trace-head h3{margin:.2rem 0}.plan-progress{text-align:right;display:grid}.plan-progress strong{font-size:1.5rem;color:var(--blue-strong)}.plan-progress span{color:var(--muted);font-size:.82rem}.objective-trace-list{padding:.8rem}.objective-trace{border:1px solid #e1e8f0;border-radius:12px;margin:.6rem 0;background:#fff}.objective-trace summary{cursor:pointer;padding:.85rem 1rem;display:flex;justify-content:space-between;gap:1rem}.objective-trace summary span:last-child{color:var(--muted);white-space:nowrap}.objective-trace-body{padding:0 1rem 1rem;border-top:1px solid #edf2f7}.objective-trace-body p{margin:.65rem 0}.mini-progress{display:grid;grid-template-columns:1fr auto;gap:.7rem;align-items:center}.follow-grid{display:grid;gap:1rem}.follow-card{border:1px solid #dbe5ef;border-radius:14px;padding:1rem;display:flex;gap:1rem;align-items:center}.follow-card h3,.follow-card p{margin:.2rem 0}.follow-ring{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:#e8f2ff;color:var(--blue-strong);flex:0 0 auto}.follow-ring strong{font-size:1.1rem}@media(max-width:900px){.cycle-summary-grid,.trace-kpis{grid-template-columns:1fr 1fr}}@media(max-width:620px){.cycle-summary-grid,.trace-kpis{grid-template-columns:1fr}.uti-trace-head,.plan-trace-head,.objective-trace summary{display:grid}.plan-progress{text-align:left}.route-actions{grid-template-columns:1fr 1fr}}
.danger-link{color:#b42318}

/* v1.7.4 — jerarquía del flujo: la ruta superior navega; los KPI informan */
.summary-tile.summary-static{cursor:default;text-align:left}
.summary-tile.summary-static:hover{transform:none;box-shadow:none}
.workflow-help{margin:10px 4px 0;color:#64748b;font-size:.84rem}
.follow-start{display:grid;grid-template-columns:110px 1fr;gap:22px;align-items:center;padding:22px;border:1px solid #dbe5f0;border-radius:16px;background:#fff}
.follow-start h3{margin:0 0 8px}
.follow-start p{margin:6px 0 12px;color:#475569;line-height:1.5}
.follow-empty .follow-ring{width:92px;height:92px}
@media (max-width:760px){.follow-start{grid-template-columns:1fr}.follow-empty .follow-ring{margin:auto}}


/* v1.7.5 · matriz horizontal del PMI */
.plan-matrix-card{padding:1rem 1rem 1.2rem;margin-top:1rem}
.matrix-group{margin-top:1rem}
.matrix-group-head{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.25rem .1rem .55rem}
.pmi-matrix-wrap{overflow:auto;border:1px solid #dbe5ef;border-radius:14px;background:#fff}
.pmi-matrix-table{width:100%;border-collapse:separate;border-spacing:0;min-width:1600px}
.pmi-matrix-table th,.pmi-matrix-table td{padding:.8rem .75rem;border-bottom:1px solid #e8eef5;vertical-align:top;text-align:left}
.pmi-matrix-table thead th{position:sticky;top:0;background:#f6f9fc;z-index:1;font-size:.78rem;color:#475569}
.pmi-matrix-table tbody tr:nth-child(even){background:#fbfdff}
.cell-long{min-width:220px;display:grid;gap:.35rem;line-height:1.45}
.pmi-link-badges{display:flex;flex-wrap:wrap;gap:.4rem;min-width:180px}
.pill{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.32rem .58rem;font-size:.73rem;font-weight:800;border:1px solid transparent}
.pill.linked{background:#eef8f3;color:#157152}.pill.pending{background:#fff6da;color:#8a5a06}.pill.info{background:#e8f2ff;color:#0a57ad}.pill.muted{background:#edf2f7;color:#475569}
.matrix-stack{display:grid;gap:.45rem;min-width:220px}
.matrix-details summary{cursor:pointer;color:#2563eb;font-weight:700}
.inner-wrap{margin-top:.5rem}
.inner-table{width:100%;border-collapse:collapse;min-width:620px}
.inner-table th,.inner-table td{border:1px solid #e6edf5;padding:.55rem .6rem;vertical-align:top;text-align:left}
.inner-table th{background:#f8fbff;font-size:.76rem}
.readiness{display:grid;gap:.35rem;min-width:200px;padding:.7rem .8rem;border-radius:12px;border-left:4px solid}.readiness.ready{background:#eef8f3;border-color:#24956d}.readiness.blocked{background:#fff8e8;border-color:#e1a52d}.readiness small{color:#64748b;line-height:1.4}
.matrix-actions{display:grid;gap:.45rem;min-width:190px}.compact{padding:.45rem .6rem;font-size:.82rem}
.matrix-link-actions{display:grid;gap:.6rem;margin-top:.5rem}.matrix-link-row{border:1px solid #e7edf5;border-radius:10px;padding:.55rem .65rem;background:#fff;display:grid;gap:.45rem}
.pmi-prep-kpis{margin-top:1rem}
@media(max-width:900px){.matrix-group-head{display:grid}.pmi-matrix-table{min-width:1300px}}

/* v1.7.6 · rediseño visual: matriz jerárquica, compacta y expandible */
.pmi-topline{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.85rem 1rem;margin-bottom:.9rem;background:#f8fbff;border:1px solid #dbe7f3;border-radius:14px}
.pmi-topline>div{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.pmi-topline b{font-size:.9rem}.pmi-topline small{color:#64748b;text-align:right;max-width:520px;line-height:1.35}.phase-badge{display:inline-flex;align-items:center;padding:.32rem .55rem;border-radius:999px;background:#e8f2ff;color:#0a57ad;font-size:.7rem;font-weight:900;letter-spacing:.04em}
.pmi-compact-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin-bottom:.9rem}.pmi-compact-kpis article{background:#fff;border:1px solid #dbe5ef;border-radius:14px;padding:.8rem .95rem;display:grid;gap:.12rem}.pmi-compact-kpis span,.pmi-compact-kpis small{color:#64748b}.pmi-compact-kpis strong{font-size:1.45rem;line-height:1.1}
.pmi-toolbar{display:flex;justify-content:space-between;gap:.8rem;align-items:center;padding:.7rem .8rem;margin-bottom:.9rem;background:#fff;border:1px solid #dbe5ef;border-radius:14px;position:sticky;top:0;z-index:8;box-shadow:0 4px 14px rgba(15,39,64,.05)}
.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.toolbar-left{flex:1}.search-box{display:flex;align-items:center;gap:.45rem;min-width:310px;max-width:520px;flex:1;border:1px solid #cbd8e6;border-radius:10px;padding:.5rem .7rem;background:#fbfdff}.search-box input{border:0!important;outline:0;background:transparent;width:100%;font:inherit}.pmi-toolbar select{border:1px solid #cbd8e6;border-radius:10px;padding:.52rem .7rem;background:#fff;color:#243b53;max-width:260px}.plan-select{min-width:260px}.result-count{font-size:.78rem;color:#64748b;white-space:nowrap}
.pmi-area-section{background:#fff;border:1px solid #dbe5ef;border-radius:16px;overflow:hidden;margin-bottom:.95rem}.pmi-area-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1rem;background:linear-gradient(180deg,#f8fbff,#f3f7fb);border-bottom:1px solid #dbe5ef}.pmi-area-head h3{margin:0;font-size:1rem}.pmi-area-head small{color:#64748b}.ghost-small{border:0;background:transparent;color:#2563eb;font-weight:700;cursor:pointer;font-size:.78rem}
.pmi-clean-wrap{overflow:auto;max-width:100%;background:#fff}.pmi-clean-table{width:100%;min-width:1240px;border-collapse:separate;border-spacing:0;table-layout:fixed}.pmi-clean-table th,.pmi-clean-table td{padding:.72rem .65rem;border-bottom:1px solid #e8eef5;vertical-align:top;text-align:left}.pmi-clean-table thead th{position:sticky;top:0;background:#f7fafc;z-index:3;color:#475569;font-size:.68rem;letter-spacing:.04em;text-transform:uppercase}.pmi-clean-table tbody .pmi-main-row:nth-of-type(4n+1){background:#fbfdff}.pmi-clean-table tbody .pmi-main-row:hover{background:#f2f7fc}.pmi-clean-table th:nth-child(1),.pmi-clean-table td:nth-child(1){width:92px}.pmi-clean-table th:nth-child(2),.pmi-clean-table td:nth-child(2){width:170px}.pmi-clean-table th:nth-child(3),.pmi-clean-table td:nth-child(3){width:300px}.pmi-clean-table th:nth-child(4),.pmi-clean-table td:nth-child(4){width:255px}.pmi-clean-table th:nth-child(5),.pmi-clean-table td:nth-child(5){width:220px}.pmi-clean-table th:nth-child(6),.pmi-clean-table td:nth-child(6){width:150px}.pmi-clean-table th:nth-child(7),.pmi-clean-table td:nth-child(7){width:140px}.pmi-clean-table th:nth-child(8),.pmi-clean-table td:nth-child(8){width:54px}
.sticky-code{position:sticky;left:0;background:inherit;z-index:2}.sticky-aspect{position:sticky;left:92px;background:inherit;z-index:2;box-shadow:8px 0 12px -12px rgba(18,45,72,.55)}.pmi-clean-table thead .sticky-code,.pmi-clean-table thead .sticky-aspect{z-index:5;background:#f7fafc}.obj-code{color:#175a9c;font-size:.78rem;letter-spacing:.02em}.sticky-aspect b{font-size:.8rem;display:block;line-height:1.25}.sticky-aspect small{display:block;color:#7b8ba1;font-size:.7rem;margin-top:.25rem;line-height:1.25}
.row-text{font-size:.79rem;line-height:1.38;color:#243b53}.row-text b{font-weight:700}.state-chip{display:inline-flex;align-items:center;border-radius:999px;padding:.32rem .5rem;font-size:.69rem;font-weight:800;line-height:1.2}.state-chip.amber{background:#fff3d6;color:#8b5d00}.state-chip.blue{background:#e8f2ff;color:#0a57ad}.state-chip.green{background:#e8f7ef;color:#156b4e}
.prep-cell{display:grid;grid-template-columns:1fr auto;gap:.35rem .45rem;align-items:center}.prep-cell small{grid-column:1/-1;color:#7b8ba1;font-size:.68rem}.prep-bar{height:7px;background:#e8eef5;border-radius:999px;overflow:hidden}.prep-bar span{display:block;height:100%;background:linear-gradient(90deg,#2f80ed,#53a0fd);border-radius:999px}.prep-cell b{font-size:.72rem;color:#334e68}.row-action{text-align:center!important}.icon-button{width:30px;height:30px;border-radius:8px;border:1px solid #cbd8e6;background:#fff;color:#2563eb;font-weight:900;cursor:pointer}.icon-button:hover{background:#eef5fd}
.pmi-detail-row td{padding:0!important;background:#f7fafc}.pmi-detail-grid{display:grid;grid-template-columns:1.05fr 1.45fr 1.45fr .9fr;gap:.7rem;padding:.8rem .9rem .95rem}.detail-panel{background:#fff;border:1px solid #dbe5ef;border-radius:12px;padding:.75rem}.detail-panel.detail-wide{min-width:0}.detail-panel.detail-actions{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:1rem}.detail-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:#64748b;font-weight:900;margin-bottom:.55rem}.detail-chip{display:grid;gap:.18rem;padding:.5rem .6rem;border-radius:10px;background:#eef8f3;border-left:3px solid #24956d;margin-bottom:.45rem}.detail-chip b{font-size:.78rem}.detail-chip span,.detail-chip small{font-size:.68rem;color:#567066}.detail-action-list{display:grid;gap:.45rem}.detail-action{display:grid;grid-template-columns:24px 1fr;gap:.5rem;align-items:flex-start}.action-index{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#e8f2ff;color:#0a57ad;font-size:.65rem;font-weight:900}.detail-action b{display:block;font-size:.76rem;line-height:1.35}.detail-action small{display:block;margin-top:.1rem;color:#64748b;font-size:.68rem;line-height:1.3}.detail-note{margin:.55rem 0 0;color:#7b8ba1;font-size:.67rem;line-height:1.35}.evidence-list{display:grid;gap:.35rem}.evidence-list>div{display:grid;grid-template-columns:16px 1fr;gap:.35rem;align-items:flex-start}.evidence-list span{color:#d79a00}.evidence-list p{margin:0;font-size:.72rem;line-height:1.3}.prep-large{display:grid;grid-template-columns:auto 1fr;gap:.35rem .5rem;align-items:center}.prep-large strong{font-size:1rem}.prep-large small{grid-column:1/-1;color:#64748b;font-size:.68rem}.check-list{list-style:none;margin:.55rem 0 0;padding:0;display:grid;gap:.22rem}.check-list li{font-size:.7rem;color:#8a98a9}.check-list li:before{content:'○';margin-right:.35rem;color:#c69a32}.check-list li.ok{color:#335f50}.check-list li.ok:before{content:'✓';color:#24956d}.pmi-no-results{text-align:center;padding:2rem;background:#fff;border:1px dashed #cbd8e6;border-radius:14px}.pmi-no-results p{color:#64748b}
@media(max-width:1120px){.pmi-detail-grid{grid-template-columns:1fr 1fr}.detail-panel.detail-actions{grid-column:1/-1}.pmi-toolbar{align-items:flex-start}.toolbar-right{justify-content:flex-start}.plan-select{min-width:220px}}
@media(max-width:760px){.pmi-topline,.pmi-toolbar{display:grid}.pmi-topline small{text-align:left}.pmi-compact-kpis{grid-template-columns:1fr}.search-box{min-width:0}.pmi-detail-grid{grid-template-columns:1fr}.detail-panel.detail-actions{display:grid}.sticky-code,.sticky-aspect{position:static!important}.pmi-clean-table{min-width:1120px}}

/* v1.7.7 · acciones operativas del PMI */
.operational-action-list{display:grid;gap:.8rem;margin-top:.45rem}
.operational-action{border:1px solid #e2e8f0;border-left:4px solid #d69e2e;border-radius:12px;padding:.85rem;background:#fff}
.operational-action.is-ready{border-left-color:#24956d;background:#fbfffd}
.op-action-head{display:flex;justify-content:space-between;gap:.75rem;align-items:center;margin-bottom:.45rem}
.operational-action h4{margin:.2rem 0 .5rem;font-size:.94rem;line-height:1.4}
.operational-action p{margin:.32rem 0;color:#475569;line-height:1.4}
.op-evidence{margin:.65rem 0;padding:.7rem .8rem;border-radius:10px;background:#f8fbff;border:1px solid #dce8f4}
.op-evidence p{margin:.25rem 0}.op-evidence small{color:#64748b}
.empty-inline{padding:1rem;border:1px dashed #bfd0e0;border-radius:12px;background:#f9fcff}.empty-inline p{color:#64748b}
.action-validation-summary{display:flex;gap:.5rem;align-items:baseline;margin-top:.7rem}.action-validation-summary b{font-size:1.6rem;color:#195180}.action-validation-summary span{color:#64748b}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.pilot-dialog input[type=text],.pilot-dialog input:not([type]){width:100%;padding:9px;border:1px solid #9eb5ca;border-radius:6px}
.state-chip.green{background:#e7f6ef;color:#157152}
@media(max-width:720px){.two-col{grid-template-columns:1fr}.op-action-head{align-items:flex-start;flex-direction:column}}

/* v1.7.8 · consolidación de acciones operativas */
.consolidated-detail{grid-template-columns:.9fr 1.7fr 1.15fr}
.trace-panel{min-width:0}.actions-panel{min-width:0}.readiness-panel{min-width:0}
.compact-list{gap:.55rem}
.compact-action{padding:0;overflow:hidden;background:#fff}
.compact-action>summary{list-style:none;cursor:pointer}.compact-action>summary::-webkit-details-marker{display:none}
.op-action-summary{display:flex;justify-content:space-between;gap:.8rem;align-items:flex-start;padding:.72rem .78rem}
.op-action-summary:after{content:'⌄';color:#64748b;font-weight:900;margin-top:.1rem}.compact-action[open] .op-action-summary:after{content:'⌃'}
.op-action-main{display:grid;grid-template-columns:auto 1fr;gap:.18rem .55rem;min-width:0;flex:1}
.op-action-main b{font-size:.8rem;line-height:1.35}.op-action-main small{grid-column:2;color:#64748b;font-size:.68rem;line-height:1.25}
.action-code-pill{grid-row:1/3;align-self:start;background:#e8f2ff;color:#0a57ad;border-radius:8px;padding:.28rem .42rem;font-size:.63rem;font-weight:900;white-space:nowrap}
.op-action-summary .state-chip{white-space:nowrap}
.op-action-body{padding:.75rem .8rem .85rem;border-top:1px solid #edf2f7;background:#fbfdff}
.op-meta-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:.55rem;margin-bottom:.55rem}
.op-meta-grid>div{display:grid;gap:.12rem;padding:.5rem .55rem;border:1px solid #e5edf5;border-radius:9px;background:#fff}
.op-meta-grid span{font-size:.63rem;text-transform:uppercase;letter-spacing:.03em;color:#7b8ba1;font-weight:800}.op-meta-grid b{font-size:.72rem;line-height:1.3;color:#334e68}
.source-compare{margin-top:.7rem}
.readiness-panel .prep-header{display:grid;grid-template-columns:auto 1fr;gap:.55rem;align-items:center}.readiness-panel .prep-header strong{font-size:1.35rem;color:#195180}
.readiness-panel p{font-size:.75rem;line-height:1.45;color:#475569}
.consolidated-detail .detail-actions{grid-column:1/-1}
@media(max-width:1120px){.consolidated-detail{grid-template-columns:1fr 1.6fr}.readiness-panel{grid-column:1/-1}.op-meta-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.consolidated-detail{grid-template-columns:1fr}.readiness-panel{grid-column:auto}.op-meta-grid{grid-template-columns:1fr}.op-action-summary{display:grid}.op-action-main{grid-template-columns:1fr}.action-code-pill{grid-row:auto}.op-action-main small{grid-column:auto}}

/* v1.7.9 · estructuración masiva segura de acciones */
.bulk-preview-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:.7rem;margin:1rem 0}
.bulk-preview-grid>div{border:1px solid #dbe5ef;border-radius:12px;padding:.75rem .85rem;background:#f8fbff;display:grid;gap:.2rem}
.bulk-preview-grid span{font-size:.76rem;color:#64748b}.bulk-preview-grid strong{font-size:1.35rem;color:#0f2740}
.bulk-detail{margin:.75rem 0 1rem}.bulk-detail summary{cursor:pointer;color:#2563eb;font-weight:800}
.bulk-objective-list{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:.55rem;margin-top:.7rem;max-height:280px;overflow:auto}
.bulk-objective-list>div{border:1px solid #e4ebf3;border-radius:10px;padding:.6rem .7rem;background:#fff;display:grid;gap:.15rem}
.bulk-objective-list span{font-size:.82rem}.bulk-objective-list small{color:#64748b}
@media(max-width:800px){.bulk-preview-grid{grid-template-columns:1fr 1fr}.bulk-objective-list{grid-template-columns:1fr}}


/* v1.8.3 · múltiples UTI por objetivo */
.uti-linked-stack{display:grid;gap:.65rem}.uti-add-more{display:grid;gap:.55rem;padding-top:.2rem}.uti-add-more small{color:#64748b;line-height:1.4}.uti-multi-fieldset{border:1px solid #dbe5ef;border-radius:12px;padding:12px;margin:14px 0}.uti-multi-fieldset legend{font-weight:800;padding:0 6px}.uti-multi-list{display:grid;gap:8px;max-height:360px;overflow:auto}.uti-multi-option{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;border:1px solid #e3ebf3;border-radius:10px;padding:10px;background:#fff;cursor:pointer}.uti-multi-option.same-area{background:#f4f9ff;border-color:#b9d5f1}.uti-multi-option input{width:auto;margin-top:3px}.uti-multi-option span{display:grid;gap:3px}.uti-multi-option small{color:#64748b}.uti-multi-option em{font-style:normal;color:#475569;line-height:1.35}

/* v1.9.0 · evidencias y seguimiento operativo */
.tracking-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}.tracking-card{border:1px solid #dce6f3;border-radius:12px;padding:12px;background:#f8fbff}.tracking-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.tracking-head>b{font-size:13px}.tracking-head>span{font-weight:800;color:#1f5fbf}.tracking-card p{margin:5px 0}.tracking-card>small,.mini-history small,.evidence-item small{display:block;color:#667892;margin-top:4px;line-height:1.35}.progress-mini{font-weight:800;color:#1f5fbf;font-size:12px}.action-summary-status{display:flex;align-items:center;gap:8px}.mini-history{margin-top:8px;border-top:1px dashed #d2deed;padding-top:8px}.mini-history summary{cursor:pointer;color:#1f5fbf;font-weight:700;font-size:12px}.mini-history>div{padding:8px 0;border-bottom:1px solid #edf2f7}.evidence-list{display:grid;gap:8px;margin:8px 0}.evidence-item{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:9px;border:1px solid #e1e9f2;border-radius:9px;background:#fff}.evidence-item>div:last-child{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.state-chip.red{background:#fdeaea;color:#a72b2b}.muted{color:#6a7a90}@media(max-width:900px){.tracking-grid{grid-template-columns:1fr}.evidence-item{flex-direction:column}.evidence-item>div:last-child{align-items:flex-start}}

/* v1.9.1 · depuración estructural */
.followup-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0}.followup-kpis article{background:#fff;border:1px solid #dbe5f1;border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:4px}.followup-kpis span{font-size:13px;color:#61718a}.followup-kpis strong{font-size:28px;color:#10213d}.followup-kpis small{color:#718096}.structural-note{display:flex;gap:12px;align-items:flex-start;background:#eef5ff;border:1px solid #cfe0fa;border-radius:12px;padding:12px 14px;margin:12px 0 16px}.structural-note b{white-space:nowrap;color:#174ea6}.structural-note span{color:#52647c}.followup-table td{vertical-align:top}.follow-gateway .follow-start{align-items:center}@media(max-width:900px){.followup-kpis{grid-template-columns:1fr 1fr}.structural-note{flex-direction:column}}

/* v1.10.0 · Procesos institucionales / Infraestructura */
.process-hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.process-hub-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.35rem;display:grid;gap:1rem;box-shadow:0 5px 18px rgba(15,45,82,.04)}.process-hub-card.featured{grid-row:span 2;border-top:4px solid var(--blue)}.process-hub-card h3{margin:.25rem 0;font-size:1.2rem}.process-hub-card p{margin:0;color:var(--muted);line-height:1.55}.process-hub-meta{display:grid;gap:.5rem}.process-hub-meta span{padding:.7rem .8rem;background:#f4f8fd;border-radius:10px;font-size:.88rem}.muted-card{background:#f8fafc;box-shadow:none}.infra-source-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.5rem;max-width:900px}.infra-source-card h3{margin:.2rem 0 .6rem}.infra-source-card p{color:var(--muted);line-height:1.55}.infra-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.infra-kpis article{background:#fff;border:1px solid var(--line);border-radius:15px;padding:1rem}.infra-kpis span,.infra-kpis small{display:block;color:var(--muted)}.infra-kpis strong{font-size:1.7rem;display:block;margin:.35rem 0}.infra-kpis .infra-kpi-text{font-size:1rem;line-height:1.25}.infra-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}.infra-tabs button{border:1px solid var(--line);background:#fff;color:var(--muted);padding:.7rem 1rem;border-radius:10px;font-weight:800;cursor:pointer}.infra-tabs button.active{background:#e8f2ff;color:var(--blue-strong);border-color:#bdd7f6}.infra-toolbar{display:flex;gap:.8rem;align-items:end;flex-wrap:wrap;margin-bottom:1rem}.infra-filter-label,.infra-search{display:grid;gap:.35rem;font-weight:750;color:var(--ink)}.infra-toolbar select,.infra-toolbar input,.infra-form input,.infra-form select,.infra-form textarea{border:1px solid #cbd8e6;border-radius:10px;padding:.7rem .8rem;background:#fff;min-width:190px}.infra-download{text-decoration:none;display:inline-flex;align-items:center}.infra-note{background:#eef5ff;border-left:4px solid var(--blue);padding:.8rem 1rem;border-radius:10px;margin-bottom:1rem;color:#42536a}.infra-note.compact{margin:0;flex:1}.infra-table td:nth-child(2){min-width:420px;line-height:1.45}.infra-table small{color:var(--muted)}.infra-dialog{width:min(880px,calc(100% - 2rem));max-height:88vh;overflow:auto}.infra-dialog-body{padding:1.6rem}.infra-form{display:grid;grid-template-columns:1fr 1fr;gap:.9rem 1rem;margin-top:1rem}.infra-form label{display:grid;gap:.4rem;font-weight:750}.infra-form .full,.infra-form .modal-actions,.infra-form .form-error,.infra-form .infra-source-preview,.infra-form .infra-date-grid{grid-column:1/-1}.infra-form textarea{min-height:90px;resize:vertical}.infra-source-preview{background:#f4f8fd;border-radius:12px;padding:1rem}.infra-source-preview b,.infra-source-preview span{display:block}.infra-source-preview span{color:var(--muted);font-size:.85rem;margin:.2rem 0}.infra-source-preview p{margin:.6rem 0 0;line-height:1.5}.infra-date-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem}.infra-date-grid input{min-width:0}.infra-approval-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:1rem}.infra-approval-data{background:#f7f9fc;border-radius:12px;padding:1rem;margin:1rem 0}.infra-approval-data p{margin:.45rem 0}.status.red{background:#fee9e9;color:#ac2e2e}
@media(max-width:900px){.process-hub-grid,.infra-kpis,.infra-approval-grid{grid-template-columns:1fr}.process-hub-card.featured{grid-row:auto}.infra-form{grid-template-columns:1fr}.infra-date-grid{grid-template-columns:1fr 1fr}}

.infra-auto-note{margin:-4px 0 2px;color:#5f6f86;font-size:12px;line-height:1.45}.infra-auto-note::before{content:'↻ ';color:#2f78ff;font-weight:800}

/* v1.11.0 · Gestión financiera SaaS */
.finance-card{border-top:4px solid #2f75b5}
.finance-empty{background:#fff;border:1px solid var(--line,#dfe5ec);border-radius:18px;padding:28px;box-shadow:0 6px 22px rgba(10,49,107,.06)}
.finance-empty h3{font-size:1.35rem;margin:8px 0}.finance-empty p{max-width:850px;color:#5f6f82}
.finance-onboarding-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}.finance-onboarding-grid article{padding:16px;border:1px solid #dfe7f0;border-radius:12px;background:#f8fbff;display:grid;gap:5px}.finance-onboarding-grid span{font-size:.86rem;color:#647181}.button-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.finance-actions{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:14px 0}.finance-actions label,.finance-filterbar label{display:grid;gap:5px;font-size:.76rem;font-weight:700;color:#5d6c7e;text-transform:uppercase;letter-spacing:.02em}.finance-actions select,.finance-filterbar select,.finance-filterbar input{height:40px;border:1px solid #c8d4e0;border-radius:9px;background:#fff;padding:0 10px;min-width:130px;color:#17212b}
.finance-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin:14px 0}.finance-kpis article{background:#fff;border:1px solid #dfe5ec;border-top:4px solid #2f75b5;border-radius:12px;padding:14px;min-height:92px}.finance-kpis article:nth-child(2){border-top-color:#3a7d44}.finance-kpis article:nth-child(3){border-top-color:#f4b942}.finance-kpis article:nth-child(4){border-top-color:#163a5f}.finance-kpis article:nth-child(5){border-top-color:#697586}.finance-kpis article:nth-child(6){border-top-color:#246b78}.finance-kpis span{font-size:.74rem;color:#647181;text-transform:uppercase;font-weight:700}.finance-kpis strong{display:block;margin-top:10px;font-size:1.22rem}
.finance-filterbar{display:grid;grid-template-columns:130px 1.2fr 1.4fr 1.4fr 1.2fr auto;gap:10px;align-items:end;background:#fff;border:1px solid #dfe5ec;border-radius:14px;padding:14px;margin-bottom:14px}.finance-filterbar select,.finance-filterbar input{width:100%;min-width:0}
.finance-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.fin-chart{height:280px;display:flex;align-items:stretch;gap:7px;padding:12px 6px 0;border-bottom:1px solid #cad4df}.fin-month{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:center}.fin-bars{height:235px;width:100%;display:flex;gap:3px;align-items:flex-end;justify-content:center}.fin-bar{display:block;width:38%;min-height:0;border-radius:5px 5px 0 0}.fin-bar.contract{background:#2f75b5}.fin-bar.paid{background:#3a7d44}.fin-month small{height:28px;padding-top:7px;color:#647181}.fin-legend{display:flex;gap:20px;font-size:.8rem;color:#647181;margin-top:10px}.fin-rubros{display:grid;gap:11px}.fin-rubros>div>div:first-child{display:flex;justify-content:space-between;gap:12px;font-size:.78rem}.fin-track{height:11px;background:#edf1f5;border-radius:8px;overflow:hidden;margin-top:4px}.fin-track i{display:block;height:100%;background:#3a7d44}.finance-detail{margin-top:0}.finance-detail table{min-width:1150px}.finance-detail td.num{text-align:right;font-variant-numeric:tabular-nums}.finance-note{margin-top:12px;border-left:4px solid #f4b942;background:#fff8df;padding:10px 12px;border-radius:7px;font-size:.82rem;color:#55450d}
.finance-dialog{width:min(1000px,94vw)}.finance-preview-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0}.finance-preview-kpis article{padding:12px;border:1px solid #dfe5ec;border-radius:10px;background:#f8fbff}.finance-preview-kpis span{display:block;font-size:.72rem;color:#647181;text-transform:uppercase;font-weight:700}.finance-preview-kpis strong{font-size:1.35rem}.finance-preview-table{max-height:300px}.finance-warning{border:1px solid #f0d080;background:#fff9e8;border-radius:10px;padding:10px;margin:10px 0}.finance-warning summary{cursor:pointer;font-weight:700}.finance-warning ul{margin:8px 0 0 18px}.finance-ok{padding:10px 12px;background:#edf8f1;border:1px solid #c7e7d1;border-radius:9px;color:#27613a;margin:10px 0}.finance-mode{border:1px solid #dfe5ec;border-radius:10px;margin:14px 0;padding:12px}.finance-mode label{display:flex;align-items:flex-start;gap:8px;margin:8px 0;text-transform:none;font-size:.9rem;color:#17212b}.finance-mode small{display:block;color:#647181;margin-left:5px}.fin-source-list{display:grid;gap:10px}.fin-source-list label{display:grid;grid-template-columns:80px 1fr auto;gap:10px;align-items:center}.fin-source-list input{height:40px;border:1px solid #c8d4e0;border-radius:8px;padding:0 10px}
@media(max-width:1100px){.finance-kpis{grid-template-columns:repeat(3,1fr)}.finance-filterbar{grid-template-columns:repeat(3,1fr)}.finance-grid{grid-template-columns:1fr}}
@media(max-width:700px){.finance-onboarding-grid,.finance-kpis,.finance-preview-kpis,.finance-filterbar{grid-template-columns:1fr}.fin-chart{overflow-x:auto}.fin-month{min-width:42px}.fin-source-list label{grid-template-columns:1fr}}

/* v1.10.3 · Infraestructura agrupada por componente */
.infra-view-switch{display:flex;border:1px solid #cbd8e6;border-radius:10px;overflow:hidden;background:#fff;height:42px}
.infra-view-switch button{border:0;background:#fff;color:#5f6f82;padding:0 .9rem;font-weight:800;cursor:pointer}
.infra-view-switch button+button{border-left:1px solid #dbe4ed}.infra-view-switch button.active{background:#e8f2ff;color:#1d62c7}
.infra-component-list{display:grid;gap:.75rem}.infra-component-card{background:#fff;border:1px solid #dce5ef;border-radius:14px;overflow:hidden;box-shadow:0 3px 12px rgba(15,45,82,.03)}
.infra-component-card[open]{border-color:#bdd7f6;box-shadow:0 6px 18px rgba(15,45,82,.06)}
.infra-component-card>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(230px,1.4fr) minmax(180px,.8fr) minmax(260px,1fr) 24px;gap:1rem;align-items:center;padding:1rem 1.1rem;background:#fff}
.infra-component-card>summary::-webkit-details-marker{display:none}.infra-component-card[open]>summary{background:#f7fbff;border-bottom:1px solid #e0e9f3}
.infra-component-title{display:grid;gap:.25rem}.infra-component-title strong{font-size:.98rem}.infra-component-title span{font-size:.78rem;color:#647181}
.infra-component-progress{display:flex;align-items:center;gap:.65rem}.infra-component-progress>div{height:9px;background:#edf2f7;border-radius:999px;overflow:hidden;flex:1}.infra-component-progress i{display:block;height:100%;background:#3a7d44;border-radius:999px}.infra-component-progress b{font-size:.82rem;color:#42536a;min-width:36px;text-align:right}
.infra-component-badges{display:flex;gap:.35rem;flex-wrap:wrap}.infra-mini{font-size:.7rem;font-weight:800;color:#526171;background:#eef2f6;border-radius:999px;padding:.28rem .48rem;white-space:nowrap}.infra-mini.green{background:#e7f6ec;color:#26713c}.infra-mini.amber{background:#fff2d9;color:#8a5a00}.infra-mini.blue{background:#e8f2ff;color:#1d62c7}
.infra-chevron{font-size:1.25rem;color:#5f6f82;transition:transform .2s}.infra-component-card[open] .infra-chevron{transform:rotate(180deg)}
.infra-component-body{padding:.8rem 1rem 1rem}.infra-table.compact td:nth-child(1){min-width:110px}.infra-table.compact td:nth-child(2){min-width:360px}
@media(max-width:1050px){.infra-component-card>summary{grid-template-columns:1fr auto}.infra-component-badges{grid-column:1/-1}.infra-component-progress{min-width:180px}.infra-chevron{display:none}}
@media(max-width:700px){.infra-component-card>summary{grid-template-columns:1fr}.infra-component-progress{min-width:0}.infra-component-badges{grid-column:auto}.infra-view-switch{width:100%}.infra-view-switch button{flex:1}}
/* v1.12.0 SaaS multiinstitución */
.institution-switch-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tenant-switcher{border:1px solid #d7e2ef;border-radius:8px;background:#fff;padding:5px 9px;font-size:.78rem;color:#173a67;max-width:260px}.saas-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:16px 0}.saas-kpis article{background:#fff;border:1px solid #dfe8f2;border-radius:14px;padding:16px;box-shadow:0 3px 14px rgba(18,50,86,.04)}.saas-kpis span,.saas-kpis small{display:block;color:#6a7b90}.saas-kpis strong{display:block;font-size:1.55rem;margin:7px 0;color:#12294a}.saas-kpi-text{font-size:1rem!important}.saas-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.saas-card{background:#fff;border:1px solid #dfe8f2;border-radius:14px;padding:18px}.saas-card-head{display:flex;justify-content:space-between;gap:16px}.saas-card h3{margin:7px 0 4px}.saas-card p{margin:0;color:#66778b}.saas-card-meta{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0}.saas-card-meta span{background:#f4f7fb;border-radius:8px;padding:7px 9px;font-size:.8rem}.saas-dialog{width:min(900px,94vw)}.saas-module-checks{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;padding:12px;border:1px solid #dfe8f2;border-radius:10px}.saas-module-checks>b{grid-column:1/-1}.saas-module-checks label{display:flex;gap:7px;align-items:center}.saas-module-list{display:grid;gap:8px;margin:10px 0 18px}.saas-module-list>label{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px;border:1px solid #dfe8f2;border-radius:10px}.saas-module-list small{display:block;color:#6f7f91;margin-top:3px}.saas-module-list input{width:20px;height:20px}.nav-item.hidden,.tenant-switcher.hidden{display:none!important}@media(max-width:900px){.saas-kpis,.saas-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.saas-kpis,.saas-grid,.saas-module-checks{grid-template-columns:1fr}}

/* v1.12.3 · infraestructura recurrente */
.infra-campus-copy{border:1px solid #d8e2ee;border-radius:12px;padding:12px 14px}.infra-campus-copy legend{font-weight:800;padding:0 6px}.infra-campus-copy>div{display:flex;flex-wrap:wrap;gap:8px 18px;margin:8px 0}.infra-campus-copy label,.infra-check{display:flex!important;align-items:center;gap:8px}.infra-campus-copy input,.infra-check input{width:auto!important;height:auto!important}.infra-download{white-space:nowrap}.infra-auto-note{background:#f5f8fc;border-left:3px solid #3b82f6;padding:10px 12px;border-radius:8px}

/* v1.12.6 - replicación multisede visible */
.infra-row-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.infra-campus-copy.prominent{border:1px solid #b9d1ff;background:#f7faff;border-radius:12px;padding:14px}.infra-campus-copy.prominent legend{font-weight:800;color:#153a72;padding:0 6px}.infra-campus-copy.prominent>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin-top:10px}.infra-campus-copy.prominent label{display:flex;align-items:center;gap:8px}

/* v1.12.10 · Tablero visual de infraestructura */
.infra-dashboard-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;background:#fff;border:1px solid #dfe8f2;border-radius:16px;padding:18px 20px;margin-bottom:14px}.infra-dashboard-head h3{margin:5px 0 4px;font-size:1.25rem}.infra-dashboard-head p{margin:0;max-width:900px;color:#65758a;line-height:1.45}.infra-dash-filter{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.infra-dash-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:14px 0}.infra-dash-kpis article{background:#fff;border:1px solid #dfe8f2;border-top:4px solid #2f78ff;border-radius:13px;padding:14px;min-height:96px}.infra-dash-kpis article.warn{border-top-color:#d97706}.infra-dash-kpis span,.infra-dash-kpis small{display:block;color:#6a7b90}.infra-dash-kpis span{font-size:.72rem;text-transform:uppercase;font-weight:800}.infra-dash-kpis strong{display:block;font-size:1.55rem;margin:7px 0;color:#12294a}.infra-dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.infra-dash-card{background:#fff;border:1px solid #dfe8f2;border-radius:15px;padding:17px;box-shadow:0 3px 14px rgba(18,50,86,.04)}.infra-dash-card.full{grid-column:1/-1}.infra-dash-title{display:flex;justify-content:space-between;gap:12px;align-items:start;margin-bottom:14px}.infra-dash-title span{font-size:.72rem;text-transform:uppercase;color:#6c7b8d;font-weight:800}.infra-dash-title h4{margin:4px 0 0;font-size:1rem}.infra-dash-title>b{font-size:1.2rem;color:#163a67}.infra-big-progress,.infra-stat-track,.infra-bars>div>div,.infra-component-stats>div>div{height:12px;background:#edf2f7;border-radius:999px;overflow:hidden}.infra-big-progress{height:18px}.infra-big-progress i,.infra-stat-track i,.infra-bars i,.infra-component-stats i{display:block;height:100%;background:#3a7d44;border-radius:999px}.infra-dash-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px;color:#647181;font-size:.78rem}.infra-bars,.infra-component-stats{display:grid;gap:11px}.infra-bars label,.infra-component-stats label{display:flex;justify-content:space-between;gap:12px;font-size:.8rem;margin-bottom:4px}.infra-bars i{background:#2f78ff}.infra-bars>div>div{height:10px}.infra-campus-stats{display:grid;gap:11px}.infra-campus-stat{display:grid;grid-template-columns:minmax(180px,1.1fr) minmax(240px,2fr) 56px;gap:12px;align-items:center}.infra-campus-stat>div:first-child{display:grid}.infra-campus-stat small{color:#6a7b90;margin-top:2px}.infra-campus-stat>strong{text-align:right}.infra-component-stats>div>div{height:9px}.infra-component-stats small{display:block;color:#77869a;font-size:.7rem;margin-top:3px}.infra-next-list{display:grid;gap:7px}.infra-next-list>div{display:grid;grid-template-columns:88px 1fr auto;gap:10px;align-items:center;padding:9px 10px;border:1px solid #e3eaf1;border-radius:10px}.infra-next-list>div.late{border-color:#f1c99f;background:#fff8f0}.infra-next-list time{font-weight:800;color:#18395f;font-size:.8rem}.infra-next-list p{display:grid;margin:0;min-width:0}.infra-next-list p b{font-size:.76rem}.infra-next-list p span{font-size:.76rem;color:#65758a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.infra-next-list small{font-size:.7rem;color:#6a7b90}.infra-next-list .late small{color:#a85300;font-weight:800}
@media(max-width:1100px){.infra-dash-kpis{grid-template-columns:repeat(3,1fr)}.infra-dash-grid{grid-template-columns:1fr}.infra-dash-card.full{grid-column:auto}.infra-dashboard-head{align-items:stretch;flex-direction:column}.infra-campus-stat{grid-template-columns:1fr 1.5fr 48px}}
@media(max-width:700px){.infra-dash-kpis{grid-template-columns:1fr 1fr}.infra-campus-stat{grid-template-columns:1fr}.infra-campus-stat>strong{text-align:left}.infra-next-list>div{grid-template-columns:78px 1fr}.infra-next-list>div small{grid-column:2}.infra-dashboard-head{padding:14px}}

/* v1.12.11 - lectura ejecutiva simplificada del tablero de infraestructura */
.infra-dash-summary{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:8px 0 12px;padding:10px 13px;background:#f7faff;border:1px solid #dfe8f2;border-radius:11px;color:#52667f}.infra-dash-summary b{color:#18395f}.infra-dash-kpis.six{grid-template-columns:repeat(6,minmax(0,1fr))}.infra-external-note{margin-top:12px;padding-top:10px;border-top:1px solid #e5ebf2;color:#65758a;font-size:.76rem;line-height:1.4}.infra-external-note b{color:#18395f}
@media(max-width:1300px){.infra-dash-kpis.six{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.infra-dash-kpis.six{grid-template-columns:1fr 1fr}}

/* v1.12.12 - Agenda semanal de infraestructura */
.infra-week-agenda{border-top:4px solid #2f78ff}.infra-week-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 14px}.infra-week-summary>div{background:#f7faff;border:1px solid #dfe8f2;border-radius:11px;padding:11px 12px;display:grid;gap:2px}.infra-week-summary strong{font-size:1.25rem;color:#173a66}.infra-week-summary span{font-size:.73rem;color:#68788d}.infra-week-summary>div.late{background:#fff8f0;border-color:#f1c99f}.infra-week-summary>div.late strong{color:#a85300}.infra-agenda-table-wrap{overflow:auto;border:1px solid #e1e8f0;border-radius:12px}.infra-agenda-table{width:100%;border-collapse:collapse;min-width:880px}.infra-agenda-table th{font-size:.7rem;text-transform:uppercase;letter-spacing:.02em;color:#69798d;background:#f8fafc;padding:9px 10px;text-align:left}.infra-agenda-table td{padding:10px;border-top:1px solid #e7edf3;font-size:.78rem;vertical-align:top}.infra-agenda-table tr.today td{background:#f3f8ff}.infra-agenda-table td:first-child{white-space:nowrap}.infra-agenda-table td:first-child small{display:block;color:#2f78ff;font-weight:900;font-size:.62rem;margin-top:2px}.infra-agenda-mode{display:inline-block;background:#eef4ff;border:1px solid #d8e5ff;border-radius:999px;padding:3px 7px;color:#315a91;font-size:.68rem;white-space:nowrap}.infra-agenda-empty{padding:18px;border:1px dashed #cbd8e6;border-radius:11px;background:#fbfdff;display:grid;gap:4px;color:#52667f}.infra-agenda-empty b{color:#173a66}.infra-next-week{margin-top:11px;padding:9px 11px;border-radius:9px;background:#f7f9fc;color:#68788d;font-size:.75rem}.infra-next-week b{color:#173a66}
@media(max-width:900px){.infra-week-summary{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.infra-week-summary{grid-template-columns:1fr}.infra-week-agenda{padding:13px}}
.infra-exec-btn{white-space:nowrap;padding:7px 10px;font-size:.72rem}.infra-agenda-table th:last-child,.infra-agenda-table td:last-child{white-space:nowrap}

/* v1.13.0 · Roles y permisos institucionales */
.access-role-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:0 0 18px}.access-role-card{border:1px solid var(--border,#dbe3ef);border-radius:14px;padding:14px;background:#fff}.access-role-card p{margin:6px 0 10px;color:#607087;font-size:.9rem}.access-role-card small{color:#34506f}.access-matrix{display:grid;gap:8px;border:1px solid #dbe3ef;border-radius:14px;padding:12px;background:#f8fafc}.access-matrix-head,.access-matrix label{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,260px);gap:14px;align-items:center}.access-matrix-head{padding:0 8px 6px;color:#52657d;font-size:.82rem}.access-matrix label{padding:8px;border-radius:9px;background:#fff}.access-matrix label span{font-weight:600;color:#263c58}.access-help{padding:10px 12px;border-radius:10px;background:#eef5ff;color:#34506f;font-size:.88rem}.access-role-editor{display:grid;gap:10px}.access-role-edit{border:1px solid #dbe3ef;border-radius:12px;background:#fff}.access-role-edit>summary{display:flex;justify-content:space-between;gap:15px;padding:13px 15px;cursor:pointer}.access-role-edit>summary span{font-size:.85rem;color:#607087}.access-role-edit form{padding:0 14px 14px}.compact{padding:8px 12px;margin-top:10px}@media(max-width:720px){.access-matrix-head,.access-matrix label{grid-template-columns:1fr}.access-role-edit>summary{flex-direction:column}}
/* v1.13.2 · seguridad de contraseña y permisos */
.password-field{display:flex;align-items:center;gap:6px}.password-field input{flex:1}.password-toggle{border:1px solid #d5deeb;background:#fff;border-radius:8px;min-width:40px;height:40px;cursor:pointer;color:#3a4b65}.password-toggle:hover{background:#f4f7fb}.readonly-note{padding:10px 12px;border-radius:10px;background:#f6f8fc;color:#526176;font-size:.9rem}.permission-note{padding:10px 12px;border-left:3px solid #2d76f8;background:#f3f7ff;border-radius:8px;color:#41526c}

/* v1.13.5 · usuarios centrados en personas, no en historial */
.user-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}.user-summary article{background:#fff;border:1px solid #dfe7f1;border-radius:14px;padding:15px}.user-summary span{display:block;color:#61708a;font-size:12px}.user-summary strong{font-size:24px}.access-role-filter{cursor:pointer;text-align:left}.access-role-filter:hover{border-color:#8db8ff;box-shadow:0 4px 16px rgba(31,92,180,.08)}.user-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 260px auto;gap:10px;margin:16px 0}.user-toolbar input,.user-toolbar select{width:100%;padding:11px 12px;border:1px solid #d6dfeb;border-radius:10px;background:#fff}.user-card-list{display:grid;gap:10px}.user-access-card{display:grid;grid-template-columns:minmax(250px,1.25fr) minmax(170px,.75fr) minmax(320px,1.45fr) minmax(190px,.75fr);gap:18px;align-items:center;background:#fff;border:1px solid #dde6f1;border-radius:14px;padding:15px 16px}.user-access-main{display:flex;align-items:center;gap:12px}.user-access-main h3{margin:0;font-size:15px}.user-access-main p{margin:3px 0;color:#4d5f78;font-size:12px}.user-avatar-sm{width:38px;height:38px;border-radius:12px;background:#eaf2ff;color:#2267d8;display:grid;place-items:center;font-weight:800}.user-access-role span{display:block;color:#718096;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.user-access-role b{display:block;margin:3px 0}.user-access-modules{display:flex;gap:6px;flex-wrap:wrap}.permission-chip{font-size:11px;padding:5px 8px;border-radius:999px;background:#eef5ff;color:#245da8;border:1px solid #d9e8ff}.permission-chip.muted{background:#f4f6f8;color:#687386;border-color:#e6e9ee}.user-access-meta{display:flex;flex-direction:column;gap:8px;align-items:flex-end;text-align:right}.compact{padding:8px 10px;font-size:12px}@media(max-width:1050px){.user-access-card{grid-template-columns:1fr 1fr}.user-access-modules,.user-access-meta{grid-column:1/-1;align-items:flex-start;text-align:left}.user-toolbar{grid-template-columns:1fr}.user-summary{grid-template-columns:1fr}}

/* v1.14.0 · Consejos y Comités */
.committee-onboarding{background:#fff;border:1px solid #dbe5f1;border-radius:18px;padding:24px;box-shadow:0 8px 24px rgba(26,49,78,.05)}
.committee-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin:18px 0}.committee-choice{display:flex;gap:12px;align-items:flex-start;border:1px solid #dbe5f1;border-radius:14px;padding:14px;background:#f9fbfe}.committee-choice input{margin-top:4px}.committee-choice span{display:flex;flex-direction:column;gap:4px}.committee-choice small{color:#66758a}
.committee-kpis,.meeting-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:14px 0 18px}.committee-kpis article,.meeting-summary article{background:#fff;border:1px solid #dbe5f1;border-radius:14px;padding:16px}.committee-kpis span,.meeting-summary span{display:block;color:#66758a;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.committee-kpis strong,.meeting-summary strong{display:block;margin-top:8px;font-size:24px;color:#0d2038}.meeting-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.meeting-summary strong{font-size:16px}
.committee-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.committee-card{background:#fff;border:1px solid #dbe5f1;border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:14px;box-shadow:0 8px 24px rgba(26,49,78,.04)}.committee-card h3{margin:4px 0}.committee-card p{margin:0;color:#66758a}.committee-card-meta{display:flex;gap:8px;flex-wrap:wrap}.committee-card-meta span{background:#eef5ff;border-radius:999px;padding:6px 9px;font-size:12px;color:#214f8a}.committee-card>small{color:#66758a}
.committee-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 16px}.committee-tabs button{border:1px solid #cfdbeb;background:#fff;border-radius:10px;padding:10px 14px;font-weight:700;color:#31445f}.committee-tabs button.active{background:#eaf3ff;border-color:#8fb8ff;color:#1761c9}.committee-tab-body{min-height:220px}.committee-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.committee-profile-grid .panel p{white-space:pre-wrap}.section-action{display:flex;justify-content:flex-end;margin-bottom:12px}.meeting-item{padding:12px 0;border-bottom:1px solid #edf1f6}.meeting-item:last-child{border-bottom:0}.meeting-item small{color:#66758a}.meeting-item p{margin:4px 0;white-space:pre-wrap}.committee-dialog textarea{min-height:100px}.checkbox-label{display:flex!important;align-items:center;gap:8px}.checkbox-label input{width:auto!important}
@media(max-width:900px){.committee-kpis,.meeting-summary,.committee-profile-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.committee-kpis,.meeting-summary,.committee-profile-grid{grid-template-columns:1fr}}
/* v1.14.9 - Actas con espacio de trabajo y contenido enriquecido */
.meeting-workspace{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:16px;align-items:stretch;margin-bottom:16px}.meeting-scroll-panel{min-width:0;max-height:68vh;overflow:hidden;display:flex;flex-direction:column}.meeting-scroll-panel>.panel-head{flex:0 0 auto}.meeting-act-content,.meeting-agreements-scroll{overflow-y:auto;overscroll-behavior:contain;padding-right:8px;scrollbar-gutter:stable;min-height:0}.meeting-act-content{padding-bottom:10px}.meeting-act-content p{white-space:pre-wrap}.meeting-agreements-scroll{flex:1}.meeting-rich-blocks{border-top:1px solid #e7edf5;margin-top:16px;padding-top:14px}.meeting-rich-blocks h4{margin:0 0 10px}.meeting-block-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px}.meeting-figure{margin:14px 0;padding:12px;border:1px solid #dbe5f1;border-radius:12px;background:#fbfdff}.meeting-figure img{display:block;max-width:100%;height:auto;max-height:520px;object-fit:contain;margin:0 auto;border-radius:8px}.meeting-figure figcaption,.meeting-caption{display:block;color:#66758a;font-size:12px;line-height:1.4;margin-top:8px}.meeting-table-block{margin:14px 0;padding:12px;border:1px solid #dbe5f1;border-radius:12px;background:#fff}.meeting-table-block .table-wrap{max-width:100%;overflow:auto}.meeting-table-block table{min-width:520px}.action-link.danger{color:#b42318}.committee-dialog input[type=file]{padding:10px;background:#fff;border:1px dashed #b9c9dc;border-radius:9px}
@media(max-width:980px){.meeting-workspace{grid-template-columns:1fr}.meeting-scroll-panel{max-height:none}.meeting-act-content,.meeting-agreements-scroll{overflow:visible;padding-right:0}}

.meeting-item-actions{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.meeting-item-actions span{display:flex;gap:10px;white-space:nowrap}.compact-actions{flex-wrap:wrap;gap:8px}
.finance-mode-tabs{margin:12px 0 16px}.budget-kpis article:nth-child(1){border-top-color:#163a5f}.budget-kpis article:nth-child(2){border-top-color:#4f7cac}.budget-kpis article:nth-child(3){border-top-color:#2f75b5}.budget-kpis article:nth-child(4){border-top-color:#7b8ea3}.budget-kpis article:nth-child(5){border-top-color:#3a7d44}.budget-kpis article:nth-child(6){border-top-color:#f4b942}.budget-funnel{display:grid;gap:13px}.budget-stage>div:first-child{display:flex;justify-content:space-between;gap:12px}.budget-stage span{font-weight:700;color:#344457}.budget-stage b{font-variant-numeric:tabular-nums}.fin-track.large{height:16px;margin:14px 0 6px}.budget-income-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.budget-income-kpis>div{padding:12px;border:1px solid #e0e6ee;border-radius:10px;background:#f9fbfd}.budget-income-kpis span{display:block;font-size:.72rem;text-transform:uppercase;color:#647181;font-weight:700}.budget-income-kpis b{display:block;margin-top:7px}.budget-alerts{display:grid;gap:9px}.budget-alert{display:grid;grid-template-columns:1.2fr 2fr auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid #f0d080;background:#fff9e8;border-radius:9px}.budget-alert span{color:#647181}.budget-alert strong{font-variant-numeric:tabular-nums}.finance-preview-totals{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}.finance-preview-totals span{padding:9px;border:1px solid #dfe5ec;border-radius:8px;background:#f8fbff}.finance-warnings{display:grid;gap:6px;max-height:180px;overflow:auto}.finance-warnings>div{display:flex;justify-content:space-between;gap:10px;padding:8px;border-bottom:1px solid #edf1f5}.finance-warnings span{color:#9a6400;font-size:.76rem}@media(max-width:900px){.budget-income-kpis,.finance-preview-totals{grid-template-columns:1fr}.budget-alert{grid-template-columns:1fr}}

/* v1.16.0 · Panel rectoral ejecutivo y seguimiento transversal */
.executive-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0 18px}.executive-kpis article{background:#fff;border:1px solid #dce5ef;border-radius:15px;padding:16px;display:grid;gap:4px}.executive-kpis span{font-size:12px;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.executive-kpis strong{font-size:28px;color:#10213d}.executive-kpis small{color:#718096}.executive-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:16px;margin-bottom:16px}.executive-agenda-list{display:grid;gap:8px}.executive-agenda-item{display:grid;grid-template-columns:110px 1fr auto;gap:12px;align-items:center;width:100%;border:1px solid #e0e7f0;background:#fff;border-radius:11px;padding:10px 12px;text-align:left;cursor:pointer}.executive-agenda-item:hover{border-color:#9ec2ef;background:#f8fbff}.executive-agenda-item time{font-size:12px;font-weight:800;color:#2d5f9d}.executive-agenda-item span{display:grid;gap:2px;min-width:0}.executive-agenda-item b{font-size:13px;color:#1f334d}.executive-agenda-item small{color:#6b7b90;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.executive-agenda-item i{font-style:normal;color:#2f6dc2;font-weight:900}.executive-alerts{display:grid;align-content:start;gap:9px}.executive-alert{display:grid;gap:4px;border:1px solid #e1e7ef;border-radius:11px;padding:11px 12px;background:#fff;text-align:left}.executive-alert button,.executive-alert{font:inherit}.executive-alert.red{border-left:4px solid #c53b32;background:#fff7f6}.executive-alert.amber{border-left:4px solid #d49a1f;background:#fffaf0}.executive-alert.green{border-left:4px solid #2c8a4b;background:#f5fbf7}.executive-alert span{font-size:12px;color:#64748b}.executive-alert[data-go]{cursor:pointer}.executive-module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.exec-module-card{border:1px solid #dce5ef;border-radius:13px;padding:14px;background:#fbfdff;display:grid;gap:4px}.exec-module-card>span{font-size:12px;color:#64748b}.exec-module-card strong{font-size:24px;color:#143b68}.exec-module-card small{color:#68778b;min-height:32px}.exec-module-card .action-link{justify-self:start}.empty-mini{padding:16px;color:#6d7c8f;background:#f8fafc;border:1px dashed #d7e0ea;border-radius:10px}.follow-objective-stack{display:grid;gap:10px;margin:14px 0 18px}.follow-objective-card{border:1px solid #dce5ef;border-radius:14px;background:#fff;overflow:hidden}.follow-objective-card>summary{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 16px;cursor:pointer;list-style:none}.follow-objective-card>summary::-webkit-details-marker{display:none}.follow-objective-main{display:flex;gap:11px;align-items:flex-start;min-width:0}.follow-objective-main>div{display:grid;gap:3px}.follow-objective-main b{font-size:13px;color:#20364f}.follow-objective-main small{color:#6c7a8e}.follow-objective-status{display:flex;gap:10px;align-items:center;white-space:nowrap}.follow-objective-status strong{font-size:18px;color:#184f8c}.follow-objective-body{border-top:1px solid #edf1f5;background:#fbfdff;padding:8px 14px}.follow-action-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:10px 2px;border-bottom:1px solid #edf1f5}.follow-action-line:last-child{border-bottom:0}.follow-action-line>div:first-child{display:grid;gap:3px}.follow-action-line b{font-size:12px;color:#1c4f86}.follow-action-line span{font-size:13px;color:#263b54}.follow-action-line small{font-size:11px;color:#6f7d90}.follow-action-metrics{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.follow-action-metrics>span:first-child{font-weight:900;color:#1f5fbf}.row-overdue td{background:#fff8f7}.transversal-followup{margin-top:18px}.state-chip.green{background:#e8f6ed;color:#247043}.state-chip.amber{background:#fff3d9;color:#96680f}
@media(max-width:980px){.executive-kpis{grid-template-columns:1fr 1fr}.executive-grid{grid-template-columns:1fr}.executive-agenda-item{grid-template-columns:90px 1fr auto}.follow-objective-card>summary{align-items:flex-start}.follow-action-line{grid-template-columns:1fr}.follow-action-metrics{justify-content:flex-start}}
@media(max-width:640px){.executive-kpis{grid-template-columns:1fr}.executive-agenda-item{grid-template-columns:1fr auto}.executive-agenda-item time{grid-column:1/-1}.follow-objective-card>summary{display:grid}.follow-objective-status{justify-content:space-between}}

/* v1.17.0 · consolidación previa a Gestión Documental */
.mini-progress{height:6px;background:#e8eef7;border-radius:999px;overflow:hidden;margin-top:6px;min-width:90px}.mini-progress span{display:block;height:100%;background:#2f7df6;border-radius:999px}.indicator-kpis{margin-bottom:16px}.evidence-file-link{color:#1769e0;font-weight:700;text-decoration:none}.evidence-file-link:hover{text-decoration:underline}.infra-form input[type=file],#pmi-evidence-form input[type=file]{padding:10px;background:#f8fbff;border:1px dashed #aac5ee;border-radius:10px}.muted{color:#718096;font-weight:400}
/* v1.18.0 · Gestión Documental Institucional */
.document-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0 0 16px}.document-kpis article{background:#fff;border:1px solid #dce6f3;border-radius:16px;padding:16px}.document-kpis span,.document-kpis small{display:block;color:#66758a}.document-kpis strong{display:block;font-size:27px;color:#0c4ca3;margin:5px 0}.doc-toolbar{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px;background:#fff;border:1px solid #dce6f3;border-radius:15px;padding:12px;margin:14px 0}.doc-toolbar input,.doc-toolbar select{width:100%}.document-stack{display:grid;gap:10px}.document-card{display:flex;justify-content:space-between;gap:18px;align-items:center;background:#fff;border:1px solid #dce6f3;border-radius:16px;padding:16px 18px}.document-card-main{display:flex;gap:14px;align-items:flex-start;min-width:0}.document-card-main h3{margin:0 0 5px;font-size:16px}.document-card-main p{margin:0 0 5px;color:#53657d}.document-card-main small{color:#73839a}.doc-code{font-weight:800;color:#1458bd;background:#edf5ff;border-radius:9px;padding:6px 9px;white-space:nowrap}.document-card-meta{display:grid;justify-items:end;gap:5px;min-width:250px}.doc-state{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800;background:#edf2f8;color:#3d4d63}.doc-state.vigente{background:#e6f8ef;color:#157347}.doc-state.en_revision{background:#fff3d7;color:#8a5a00}.doc-state.historico{background:#eef0f3;color:#68717d}.doc-state.borrador{background:#eaf3ff;color:#1458bd}.document-dialog{width:min(1080px,94vw);max-height:92vh}.document-dialog-body{padding:4px}.doc-detail-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:8px 0 18px}.doc-detail-head p{color:#69798e}.doc-detail-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:14px}.doc-detail-grid>section,.doc-versions,.doc-audit{border:1px solid #dce6f3;border-radius:15px;padding:16px;background:#fff}.doc-detail-grid h3,.doc-versions h3{margin-top:0}.doc-detail-grid dl{display:grid;grid-template-columns:145px 1fr;gap:8px;margin:0}.doc-detail-grid dt{font-weight:700;color:#53657d}.doc-detail-grid dd{margin:0}.doc-description{margin-top:14px;padding-top:12px;border-top:1px solid #e7edf5}.doc-flow{display:grid;gap:8px;margin:8px 0 15px}.doc-flow span{padding:10px 12px;border-radius:10px;background:#f3f6fa;color:#708097}.doc-flow span.active{background:#e9f3ff;color:#1359bd;font-weight:700}.doc-flow-actions{display:flex;gap:8px;flex-wrap:wrap}.doc-versions{margin-top:14px}.current-version{color:#157347;font-weight:800}.doc-audit{margin-top:14px}.doc-audit summary{cursor:pointer;font-weight:800}.doc-audit>div{display:grid;grid-template-columns:150px 1fr auto;gap:10px;border-top:1px solid #edf1f6;padding:9px 0}.danger-soft{color:#a73535;border-color:#efc6c6!important;background:#fff7f7!important}@media(max-width:900px){.document-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.doc-toolbar,.doc-detail-grid{grid-template-columns:1fr}.document-card{align-items:flex-start;flex-direction:column}.document-card-meta{justify-items:start;min-width:0}.doc-audit>div{grid-template-columns:1fr}.document-dialog{width:96vw}}

/* v1.18.2 · permisos finos y trazabilidad */
.access-special{display:grid;gap:.55rem;padding:.9rem 1rem;border:1px solid #dbe5f2;border-radius:12px;background:#f8fbff}.access-special>b{color:#10233f}.access-special small{color:#66758b}.committee-audit-list{display:grid;gap:.65rem}.doc-audit-row{display:grid;gap:.18rem;padding:.8rem .9rem;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.doc-audit-row span{color:#334155}.doc-audit-row small{color:#64748b}

/* v1.19.1 · Superadministración territorial más clara */
.territory-stack{display:grid;gap:16px}.territory-card{border:1px solid #dbe5f2;border-radius:18px;background:#f8fbff;padding:16px}.territory-card-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.territory-card-head h3{margin:4px 0 3px;font-size:18px}.territory-card-head p{margin:0;color:#64748b}.territory-card-summary{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:14px 0}.territory-card-summary>span{padding:7px 10px;border-radius:999px;background:#fff;border:1px solid #dce5ef;color:#52667f;font-size:12px}.territory-card-summary b{color:#173a66}.territory-institutions{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:12px}.saas-card.nested{box-shadow:none;border-color:#e1e8f1;background:#fff}.saas-card.nested .saas-card-head h3{font-size:15px}.saas-card .button-row{align-items:center;flex-wrap:wrap}.panel-card .section-head p.muted{max-width:920px;margin:.35rem 0 0}.status.green{white-space:nowrap}
@media(max-width:720px){.territory-card-head{display:grid}.territory-card-summary{align-items:stretch}.territory-card-summary .secondary{width:100%}.territory-institutions{grid-template-columns:1fr}}

/* v1.20.0 · Territorial y superadministración */
.admin-overview-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;margin-top:16px}.admin-status-list{display:grid;gap:10px}.admin-status-list>div{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px 0;border-bottom:1px solid #edf2f7}.admin-status-list>div:last-child{border-bottom:0}.admin-status-list span{color:#6a7b90}.quick-actions{display:grid;gap:10px}.quick-actions button{width:100%;justify-content:flex-start}.territory-list-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:16px}.territory-admin-card{background:#fff;border:1px solid #dfe8f2;border-radius:16px;padding:18px}.linked-ie-list{display:grid;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid #e8eef6}.linked-ie-list>div{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:8px 10px;background:#f8fbff;border-radius:9px}.linked-ie-list small{color:#6c7c90}.admin-filter-row{display:grid;grid-template-columns:1fr minmax(260px,.45fr);gap:12px;margin-bottom:14px}.admin-filter-row input,.admin-filter-row select{width:100%;padding:10px 12px;border:1px solid #d7e2ef;border-radius:10px;background:#fff}.table-actions{display:flex;gap:8px;flex-wrap:wrap}.macro-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:16px 0}.macro-card{border:1px solid #dce6f2;background:#fff;border-radius:14px;padding:16px;text-align:left;cursor:pointer;transition:.18s ease;min-height:96px}.macro-card:hover{transform:translateY(-1px);box-shadow:0 7px 20px rgba(26,72,120,.08);border-color:#b7cdf0}.macro-card b{display:block;color:#153a66;margin-bottom:6px}.macro-card span{display:block;color:#6b7d91;font-size:.84rem;line-height:1.35}.metric-money{font-size:1.15rem!important;line-height:1.25}.territory-subnav,.saas-subnav{padding-left:26px!important;font-size:.9rem}.info-note{background:#f7fbff;border:1px solid #d9e9fa;border-left:4px solid #3b82f6;border-radius:10px;padding:12px 14px;margin:0 0 14px;color:#496078}.full{grid-column:1/-1}
@media(max-width:900px){.admin-overview-grid{grid-template-columns:1fr}.admin-filter-row{grid-template-columns:1fr}.territory-list-cards{grid-template-columns:1fr}}

/* v1.20.1 - administración SaaS y territorial más legible */
.admin-metrics article{min-height:118px}.admin-metrics article span{font-size:.78rem;letter-spacing:.02em}.admin-metrics article b{font-size:1.9rem;line-height:1.1}.admin-metrics article small{margin-top:6px}.modal-toolbar{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:14px;flex-wrap:wrap}.institution-detail-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:16px;margin-bottom:16px}.institution-detail-grid>section{background:#f8fbff;border:1px solid #e0e8f2;border-radius:14px;padding:16px}.detail-list{display:grid;gap:8px}.detail-list>div{background:#fff;border:1px solid #e4ebf3;border-radius:9px;padding:9px 11px}.panel-card.embedded{box-shadow:none;margin-top:0}.territory-admin-card .saas-card-meta span{display:inline-flex;gap:5px;align-items:center}.territory-admin-card .linked-ie-list>div>span:last-child{font-size:.78rem;color:#66778b;white-space:nowrap}.table-wrap table th{white-space:nowrap}.table-wrap table td{vertical-align:top}.table-actions .action-link{white-space:nowrap}.readonly-note{background:#f8fafc;border:1px dashed #ccd8e6;border-radius:10px;padding:10px 12px;color:#5d6f83}.permission-note{background:#f7fbff;border:1px solid #dbeafb;border-radius:10px;padding:12px 14px;color:#415b78}@media(max-width:800px){.institution-detail-grid{grid-template-columns:1fr}.territory-admin-card .linked-ie-list>div{align-items:flex-start;flex-direction:column}}

/* v1.20.2 - corrección visual urgente del resumen SaaS */
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:16px 0 18px}
.metric-grid>article{display:flex;flex-direction:column;justify-content:center;min-height:112px;background:#fff;border:1px solid #dce6f2;border-radius:16px;padding:16px 18px;box-shadow:0 2px 8px rgba(25,55,90,.025)}
.metric-grid>article span{display:block;color:#6b7d91;font-size:.78rem;font-weight:700;letter-spacing:.02em;margin-bottom:5px}
.metric-grid>article b{display:block;color:#12365f;font-size:1.9rem;line-height:1.05;margin:1px 0 5px}
.metric-grid>article small{display:block;color:#7a899b;font-size:.78rem;line-height:1.3}
.admin-metrics{margin-top:18px;margin-bottom:20px}
.admin-metrics>article{min-height:108px}
.admin-overview-grid{align-items:stretch}
.admin-overview-grid>.panel-card{margin:0}
.admin-status-list>div strong{font-size:1rem;color:#143a66;min-width:72px;text-align:right}
.quick-actions button{min-height:42px}
@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.metric-grid{grid-template-columns:1fr}.admin-overview-grid{grid-template-columns:1fr}}
