
:root{--blue:#2a79b7;--blue2:#1d67a3;--blue3:#0f4f82;--line:#a8b9c8;--line2:#d3dde6;--bg:#eef2f5;--head:#e9eef2;--text:#2c3e50;--ok:#2d7e43;--warn:#9b7500;--bad:#a93232}
*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:Arial,Helvetica,sans-serif;font-size:12px;color:var(--text);background:var(--bg)}
a{color:#064f94;text-decoration:underline}button,input,select,textarea{font:inherit}
.login-bg{min-height:100vh;display:grid;place-items:center;background:#e8edf1}
.login-card{width:min(460px,92vw);background:#fff;border:1px solid #8fa5b7;box-shadow:0 5px 18px rgba(0,0,0,.12);padding:24px}
.login-card h1{color:#155f9a;margin:10px 0 4px}.sim-badge{background:#f5edbd;border:1px solid #c6b85e;padding:7px;text-align:center;font-weight:bold}.login-card label{display:block;font-weight:bold;margin-top:12px}.login-card input{width:100%;padding:9px;border:1px solid #9cadbc}.demo{font-size:11px;color:#667;margin-top:14px}.full{width:100%}

.app-header{background:white;border-bottom:1px solid #9fb0bf}.identity{height:74px;display:flex;align-items:center;justify-content:space-between;padding:8px 16px}
.product{display:flex;align-items:center;gap:14px}.sigfe-mark{font-size:31px;font-weight:bold;color:#287cb9;letter-spacing:-2px}.sigfe-mark span{color:#e24b4a}.product-title{font-size:18px;color:#31526d;font-weight:bold}.product-sub{font-size:11px;color:#667b8d;margin-top:2px}.userbox{text-align:right;line-height:1.45}
.noff{display:inline-block;background:#fff3c4;border:1px solid #d5c066;padding:3px 7px;color:#66520a;font-weight:bold}
.topnav{display:flex;background:linear-gradient(#3c8ac3,#1f6ea9);border-top:1px solid #4b8dbb;border-bottom:1px solid #0e517f;min-height:32px;flex-wrap:wrap}
.topnav a{color:#fff;text-decoration:none;padding:8px 11px;border-right:1px solid rgba(255,255,255,.3);font-weight:bold;font-size:11px}
.topnav a:hover,.topnav a.active{background:#174f79}
.contextbar{background:#f2f5f7;border-bottom:1px solid #b7c4cf;padding:6px 14px;display:flex;gap:18px;align-items:center;flex-wrap:wrap}.contextbar select{padding:3px;border:1px solid #a7b4bf}

.shell{max-width:1480px;margin:0 auto;padding:12px}.breadcrumbs{background:white;border:1px solid var(--line);padding:7px 9px;margin-bottom:8px;color:#5a6f82}.content{background:white;border:1px solid var(--line);min-height:560px;padding:9px}
.page-title{font-size:15px;background:linear-gradient(#438ec7,#2575b1);color:#fff;padding:8px 10px;margin:-1px -1px 8px;border:1px solid #1d6297;display:flex;justify-content:space-between;align-items:center}
.subnav{display:flex;gap:1px;margin-bottom:8px}.subnav a{background:#dce9f3;border:1px solid #9bb4c8;color:#244d6f;text-decoration:none;padding:6px 9px}.subnav a.active{background:#fff;border-bottom-color:#fff;font-weight:bold}

.panel{border:1px solid #a6bacb;margin:8px 0;background:#fff}.panel-h{background:#d6e6f2;border-bottom:1px solid #9eb5c8;color:#214e70;font-weight:bold;padding:6px 8px}.panel-b{padding:8px}
.notice{border:1px solid #d3c266;background:#fff9da;padding:8px;margin:8px 0}.info{border:1px solid #a8c3d7;background:#eef7fd;padding:8px;margin:8px 0}.error{border:1px solid #d5a1a1;background:#fff1f1;color:#7f2020;padding:8px;margin:8px 0}.ok{border:1px solid #9fc7aa;background:#eff8f1;color:#245f32;padding:8px;margin:8px 0}
.grid{width:100%;border-collapse:collapse;table-layout:auto}.grid th{background:#2d7fba;color:white;padding:6px;border:1px solid #88a9c1;white-space:nowrap}.grid td{padding:5px 6px;border:1px solid #c9d4dd;vertical-align:top}.grid tbody tr:nth-child(even){background:#f7f9fb}.grid tbody tr:hover{background:#eef6fb}.num{text-align:right}.center{text-align:center}.nowrap{white-space:nowrap}
.filters,.formgrid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:8px}.formgrid.two{grid-template-columns:repeat(2,minmax(180px,1fr))}.fg label{display:block;font-weight:bold;margin-bottom:3px}.fg input,.fg select,.fg textarea{width:100%;border:1px solid #aab7c2;padding:6px;background:#fff}.fg.full{grid-column:1/-1}
.actions{display:flex;gap:6px;justify-content:flex-end;margin-top:8px;flex-wrap:wrap}.btn{display:inline-block;border:1px solid #9aa9b5;background:#eef1f3;color:#273f52;padding:5px 9px;text-decoration:none;cursor:pointer}.btn.primary{background:#2b78b3;color:#fff;border-color:#1c6093}.btn.good{background:#3b874f;color:#fff;border-color:#286939}.btn.danger{background:#a84949;color:#fff;border-color:#843232}.btn.small{padding:3px 6px;font-size:11px}
.state{font-weight:bold}.state.Approved,.state.Aprobado{color:#236c38}.state.Digitado{color:#875f00}.state.Reversado{color:#9a3030}
.kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:8px 0}.kpi{border:1px solid #aebdca;background:#f7f9fa;padding:9px}.kpi .v{font-size:18px;color:#1f5f91;font-weight:bold;margin-top:4px}.kpi .l{font-size:11px;color:#65798a}
.progress{height:12px;background:#e7edf2;border:1px solid #b3c0cb}.progress>span{display:block;height:100%;background:#4c93c7}
.footer{padding:12px;text-align:center;color:#6c7c8a;font-size:11px}.audit{font-family:Consolas,monospace;font-size:11px}
.badge{display:inline-block;padding:2px 5px;border:1px solid #9eb0bf;background:#edf2f5}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.35);display:none;align-items:center;justify-content:center;z-index:20}.modal.show{display:flex}.modal-card{background:#fff;border:1px solid #526d84;min-width:min(720px,92vw);max-width:92vw;max-height:90vh;overflow:auto}.modal-title{background:#2c79b3;color:#fff;padding:7px 9px;font-weight:bold;display:flex;justify-content:space-between}.modal-body{padding:10px}
@media(max-width:950px){.filters,.formgrid,.kpis{grid-template-columns:1fr 1fr}.identity{height:auto;align-items:flex-start}.userbox{font-size:10px}}
@media(max-width:620px){.filters,.formgrid,.kpis{grid-template-columns:1fr}.topnav{display:block}.topnav a{display:inline-block}.identity{display:block}.userbox{text-align:left;margin-top:8px}.shell{padding:5px}.content{overflow:auto}}
@media print{.topnav,.contextbar,.actions,.btn,.footer,.breadcrumbs{display:none!important}.content{border:0}.shell{max-width:none;padding:0}}

/* v4 fidelidad visual clásica */
.topnav{background:#067cb9;border-bottom-color:#07547e}.topnav a{font-size:11px;padding:8px 12px}
.classic-title{font-family:"Times New Roman",serif;color:#1674ad;font-size:21px;margin:6px 2px 12px}
.searchbox{border:1px solid #74add2;background:#fff;margin:8px 0}.searchbox .search-head{font-family:"Times New Roman",serif;font-size:20px;color:#1b78b2;padding:8px 10px 2px}.searchbox .search-sub{color:#1a75ae;font-weight:bold;padding:0 10px 5px}.search-fields{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #e3e8ec}.search-fields .fg{padding:7px 10px;background:#f1f3f4;border-right:1px solid white;border-bottom:1px solid white}.btn.search{background:#56a902;border-color:#3c8500;color:white;font-weight:bold}.status-flow{display:flex;gap:6px;align-items:center;margin:6px 0}.status-flow span{padding:3px 7px;border:1px solid #afbdc8;background:#f4f6f7}.status-flow .on{background:#d8edf9;border-color:#72aaca;font-weight:bold;color:#155c89}
@media(max-width:800px){.search-fields{grid-template-columns:1fr 1fr}}

.ai-float{position:fixed;right:18px;bottom:18px;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#0d669e;color:#fff!important;text-decoration:none!important;font-weight:bold;border:2px solid #fff;box-shadow:0 2px 9px rgba(0,0,0,.28);z-index:30}
.ai-hero{display:flex;justify-content:space-between;align-items:center;background:#e7f2f9;border:1px solid #83acc8;padding:12px;margin-bottom:9px;font-size:13px}.ai-hero b{font-size:18px;color:#155e8e}
.ai-form{border:1px solid #93afc2;background:#f7f9fa;padding:10px;margin-bottom:10px}.ai-answer{border:1px solid #8fb4cc;background:#eff8fd;padding:12px;margin:10px 0}.ai-answer.warn{border-color:#d2b05f;background:#fff8dd}.ai-answer h3{margin:0 0 7px;color:#155d8b}.ai-answer li{margin:4px 0}.ai-basis{border-top:1px solid #c8d8e3;margin-top:10px;padding-top:7px;font-size:11px;color:#556d7d}
.validation-ok{color:#216b35;font-weight:bold}

/* v6 máxima fidelidad documental sin suplantación institucional */
.identity{min-height:70px}.sigfe-mark{font-family:Arial Black,Arial,sans-serif;text-transform:lowercase}.topnav{overflow-x:auto;white-space:nowrap;flex-wrap:nowrap}.topnav a{font-size:10px;letter-spacing:.05px}.contextbar{font-size:11px}.grid{font-size:11px}.grid th{background:#2d7fb9}.panel-h{background:#d9e8f3}.noff{position:relative}.noff:after{content:' · SIN CONEXIÓN OFICIAL';font-weight:normal}.grid-accept{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.v6-watermark{position:fixed;right:12px;bottom:8px;z-index:1;opacity:.28;font-size:10px;pointer-events:none}.classic-actions{display:flex;gap:4px;flex-wrap:wrap}.status-traffic{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:4px;background:#7ca3bf}.state.Aprobado .status-traffic{background:#3a974e}@media(max-width:900px){.grid-accept{grid-template-columns:1fr}}
