/* v4.8 · Base visual común. Cada módulo conserva sus componentes y sus datos. */
:root{--bg:#f4f6fa;--card:#fff;--text:#1d2b40;--muted:#65758c;--line:#e0e7ef;--primary:#245db3;--pba-border:#dfe7f0;--pba-muted:#65758c}
body.app-ui{background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
.app-ui .app-main{max-width:1560px;min-width:0;padding:28px 28px 38px}
.app-ui .card{border:1px solid #dfe7f0;box-shadow:0 3px 12px #152d4e04;border-radius:16px}
.app-ui h1{font-weight:750;letter-spacing:-.035em;line-height:1.2}
.app-ui h2{font-weight:700;letter-spacing:-.02em;line-height:1.3}
.app-ui .muted,.app-ui .pba-heading p,.app-ui .pba-results-heading p{color:#65758c;line-height:1.55}
.app-ui .section-head,.app-ui .pba-heading{gap:16px;margin-bottom:22px;flex-wrap:wrap}
.app-ui .pba-heading p{max-width:90ch}.app-ui .pba-eyebrow,.app-ui .eyebrow{color:#416998}
.app-ui .pba-heading h1{margin:7px 0 9px}.app-ui .pba-heading p{margin:0}
.app-ui .button{min-height:40px;justify-content:center;font-family:inherit;font-size:13px;font-weight:650;line-height:1.35;border-radius:9px;box-shadow:none;transition:background .15s,border-color .15s}
.app-ui .button.secondary{color:#34506e;border-color:#d4dfec;background:#fff}
.app-ui .button.secondary:hover{background:#f3f7fc;border-color:#a8bfdc}
.app-ui .button:focus-visible,.app-ui .pba-btn:focus-visible,.app-ui .app-section-nav a:focus-visible{outline:3px solid #89b2e8;outline-offset:3px}
.app-ui .button:disabled{cursor:not-allowed}
.app-ui .field label{font-weight:650;color:#40536c;line-height:1.4}
.app-ui .field input,.app-ui .field select,.app-ui .field textarea{border-color:#cfdbea;border-radius:9px;min-height:42px;color:#1d2b40}
.app-ui .field input:focus-visible,.app-ui .field select:focus-visible,.app-ui .field textarea:focus-visible{outline:2px solid #7ca8e1;outline-offset:1px;border-color:#6e9bd8}
.app-ui .alert{font-size:13px;font-weight:600;line-height:1.6;padding:13px 16px;border-radius:10px}
.app-ui .pba-table-scroll,.app-ui .table-wrap{max-width:100%;overflow:auto;border:1px solid #dfe7f0;border-radius:12px;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.app-ui .pba-table-scroll:focus-visible,.app-ui .table-wrap:focus-visible{outline:3px solid #89b2e8;outline-offset:3px}
.app-ui .pba-table{background:#fff}.app-ui .pba-table th{font-size:11px;font-weight:700;letter-spacing:.025em}
.app-ui .pba-table td{line-height:1.5}.app-ui .pba-table tbody tr:hover{background:#f7faff}
.app-ui .pba-results-heading{gap:16px;flex-wrap:wrap}.app-ui .pba-results-heading h2{margin:0;font-size:19px}
.app-ui .pba-filter-fields{gap:14px}.app-ui .pba-filters{padding:18px;border-color:#dfe7f0;background:#f8fafc}
.app-ui .pba-detail-grid>div{gap:16px;padding:14px;line-height:1.5}
.app-ui .mv-wrap,.app-ui .zi-wrap,.app-ui .mp-wrap{max-width:none}
.app-ui .mv-selector-note,.app-ui .mv-dialog-foot,.app-ui .pba-gap-note{line-height:1.6}
.app-ui .ci-table,.app-ui .zi-table{min-width:700px}
.app-ui.app-page-settings .table-wrap table{min-width:0}
.app-ui .ci-bar,.app-ui .ci-apply{gap:14px;line-height:1.5}
.app-ui .app-section-nav{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:0 0 23px;padding:0 0 14px;border-bottom:1px solid #dde5ef}
.app-ui .app-section-nav a{display:inline-flex;align-items:center;min-height:38px;padding:9px 14px;border:1px solid transparent;border-radius:8px;color:#5c718c;font-size:13px;font-weight:600;text-decoration:none;line-height:1.3}
.app-ui .app-section-nav a:hover{background:#eaf0f8;color:#244e82}.app-ui .app-section-nav a[aria-current="page"]{background:#fff;color:#214f88;border-color:#ccdcef;box-shadow:0 1px 3px #1f477a08}
.app-ui .app-footer{display:flex;justify-content:space-between;gap:14px;max-width:1504px;margin:0 auto;padding:19px 0 30px;border-top:1px solid #e0e7ef;text-align:left;color:#8190a5;font-size:11px;line-height:1.5}
.app-ui .app-footer>span:first-child{font-weight:700;color:#5e718c;white-space:nowrap}
.app-ui .login-shell{width:calc(100% - 24px)}
@media(max-width:1560px){.app-ui .app-footer{margin-left:28px;margin-right:28px}}
@media(max-width:900px){.app-ui .app-main{padding:22px 18px 30px}.app-ui .app-footer{margin-left:18px;margin-right:18px}}
@media(max-width:700px){
 .app-ui .zi-table{min-width:0}
 .app-ui .zi-table td{overflow-wrap:anywhere}
 .app-ui .zi-table .zi-resolve select{min-width:0;max-width:100%;width:100%}
 .app-ui .zi-table td:nth-child(5)::before,.app-ui .zi-table td:nth-child(6)::before{font-weight:500;color:#65758c}
 .app-ui .zi-table td:nth-child(5)::before{content:"Padrón: "}
 .app-ui .zi-table td:nth-child(6)::before{content:"Pautas: "}
}
@media(max-width:600px){
 .app-ui .app-main{padding:18px 12px 26px}.app-ui .card{padding:17px 14px;border-radius:13px}.app-ui .section-head,.app-ui .pba-heading{gap:12px;margin-bottom:19px}
 .app-ui h1,.app-ui .dashboard-titlebar h1,.app-ui .content-manager-titlebar h1{font-size:26px}
 .app-ui .app-section-nav{gap:4px;margin-bottom:18px;padding-bottom:12px}.app-ui .app-section-nav a{font-size:12px;padding:8px 10px}
 .app-ui .app-footer{flex-direction:column;gap:4px;margin-left:12px;margin-right:12px;padding-top:16px}
 .app-ui .field input,.app-ui .field select,.app-ui .field textarea{font-size:16px}
 .app-ui .pba-filters{padding:14px}.app-ui .ci-bar label{min-width:0;max-width:100%}.app-ui .ci-bar select{max-width:100%}
}
@media(prefers-reduced-motion:reduce){.app-ui .button{transition:none}}
