:root{--ink:#172d42;--muted:#798da1;--navy:#0b1b31;--navy-2:#10283f;--cyan:#079aba;--cyan-light:#e9f8fb;--line:#e2eaf0;--bg:#f3f6fa;--white:#fff;--shadow:0 6px 27px rgba(24,51,74,.045);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin:0}button:disabled{opacity:.5;cursor:not-allowed}[hidden]{display:none!important}label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:700;color:#566f83}input:not([type=file]),select{background:#fff;border:1px solid #d5e0e9;min-width:0;width:100%;outline-color:#23a1b6;border-radius:9px;padding:11px 13px;color:#1e394e;font-size:13px;min-height:42px}input:focus,select:focus{border-color:#13a2bf}h1{font-size:32px;letter-spacing:-.045em}h2{font-size:20px;letter-spacing:-.025em}h3{font-size:16px}.muted{font-size:13px;color:var(--muted);line-height:1.65}.eyebrow{letter-spacing:.13em;font-size:10px;color:var(--cyan);font-weight:800}.btn{border:1px solid transparent;border-radius:9px;padding:10px 16px;background:#fff;font-size:12px;font-weight:750;display:inline-flex;justify-content:center;align-items:center;gap:13px;min-height:39px;transition:background .15s,border-color .15s;text-decoration:none;white-space:nowrap}.btn-primary{background:#0789a9;color:white}.btn-primary:hover{background:#08718e}.btn-outline{border-color:#d6e2e9;color:#2d596e;background:#fff}.btn-outline:hover{border-color:#71bdcc;background:#f4fcff}.btn-text{background:transparent;color:#6b8194;padding:8px 5px}.btn-text:hover{color:#096a82}.btn-small{padding:8px 12px;min-height:33px}.btn-full{width:100%;margin-top:17px}.btn-light{background:#fff;color:#164965}.btn-ghost-light{background:transparent;color:#eafaff;border-color:#416a80}.btn-ghost-light:hover{background:#244b64}.brand-mark{background:linear-gradient(145deg,#03a2c4,#77d8e7);height:37px;width:37px;border-radius:11px;display:grid;place-items:center;font-weight:900;font-size:22px;color:#06223a;flex:0 0 auto}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 20% 5%,#1d4965,#0c1c31 58%)}.auth-box{max-width:450px;width:100%;padding:42px;background:white;border-radius:18px;box-shadow:0 35px 90px #001c2b66}.auth-box .brand{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:850;margin-bottom:40px}.auth-box .brand b{color:#159db5}.login-eyebrow{font-size:10px;letter-spacing:.15em;font-weight:800;color:#0b96b4;margin-bottom:10px}.auth-box h1{font-size:29px;margin-bottom:12px}.auth-box .muted{margin-bottom:26px}.stack{display:grid;gap:17px}.stack .btn{margin-top:5px;height:45px}.auth-footer{font-size:11px;color:#9badba;text-align:center;margin-top:28px}.error{font-size:12px;color:#bb4444;margin-top:12px}
.app-shell{display:flex;min-height:100vh}.sidebar{width:242px;flex:0 0 242px;background:var(--navy);color:#eff9ff;display:flex;flex-direction:column;padding:27px 13px 20px;min-height:100vh}.sidebar-brand{display:flex;align-items:center;gap:11px;margin:0 9px 52px}.sidebar-brand strong{font-size:13px;white-space:nowrap;letter-spacing:-.025em}.sidebar-brand em{color:#69cce0;font-style:normal}.sidebar-brand small{display:block;color:#96b0c4;letter-spacing:.18em;font-size:9px;margin-top:4px;font-weight:700}.sidebar-caption{color:#607d92;font-size:9px;font-weight:850;letter-spacing:.16em;margin:0 15px 13px}.nav-list{display:flex;flex-direction:column;gap:5px}.nav-link{width:100%;border:0;border-radius:10px;display:flex;align-items:center;gap:12px;text-align:left;color:#a7bdd0;padding:13px 12px;background:transparent;font-size:12px;font-weight:700}.nav-link:hover{background:#142d44;color:#f9feff}.nav-link.active{background:#18374f;color:#fff;box-shadow:inset 3px 0 #25b4d4}.nav-icon{font-size:19px;font-weight:400;color:#7eb4c8;width:22px;display:inline-grid;place-items:center}.nav-link.active .nav-icon{color:#6fd4ea}.nav-arrow{margin-left:auto;opacity:.6;font-size:19px}.sidebar-bottom{margin-top:auto;padding:15px 10px 0}.sidebar-info{display:flex;gap:10px;align-items:center;padding:14px 11px;background:#132c42;border:1px solid #22435a;border-radius:11px}.info-dot{width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:#29c89c;box-shadow:0 0 0 3px #29c89c1b}.sidebar-info strong{display:block;color:#d7ebf5;font-size:11px}.sidebar-info small{display:block;color:#7799b0;font-size:10px;margin-top:4px}.sidebar-version{display:flex;justify-content:space-between;align-items:center;gap:8px;color:#688ba3;font-size:10px;margin-top:20px}.sidebar-version span{border:1px solid #28465b;border-radius:10px;padding:4px 7px;color:#94b3c8}.main-area{flex:1;min-width:0;display:flex;flex-direction:column}.app-header{height:73px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;gap:15px}.header-breadcrumb{display:flex;align-items:center;gap:13px;font-size:12px;color:#8a9aab}.header-breadcrumb strong{color:#294457}.crumb-separator{color:#bdccd5}.header-right{display:flex;align-items:center;gap:12px}.system-status{font-size:11px;font-weight:700;color:#4e7181;display:flex;align-items:center;gap:8px;margin-right:15px}.user-circle{width:33px;height:33px;display:grid;place-items:center;border-radius:50%;background:#e7f6fb;color:#097c9a;font-size:11px;font-weight:800}.user-label strong{display:block;font-size:11px}.user-label small{display:block;color:#9cafba;font-size:10px;margin-top:3px}.main-content{width:100%;max-width:1640px;margin:0 auto;padding:36px 34px 40px;flex:1}.page-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:30px}.page-intro .eyebrow{margin-bottom:9px}.page-intro h1{margin-bottom:8px}.version-chip{color:#5b7587;background:#e5edf4;border:1px solid #d8e5ed;border-radius:20px;padding:7px 12px;font-size:10px;font-weight:800;letter-spacing:.08em;white-space:nowrap}.page-view{min-width:0}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:19px}.metric,.panel{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.metric{padding:20px 22px}.metric-label{display:block;font-size:11px;color:#6a8193;font-weight:700}.metric strong{font-size:30px;display:block;margin:11px 0;font-weight:800;letter-spacing:-.04em}.metric-foot{font-size:10px;color:#90a2ae}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,1fr);gap:17px;margin-bottom:29px}.hero-panel{min-height:264px;background:linear-gradient(115deg,#0d2943,#14435e 76%,#0d2b43);color:white;position:relative;overflow:hidden;display:flex;justify-content:space-between;padding:31px}.hero-content{position:relative;z-index:2}.hero-flag{font-size:9px;letter-spacing:.14em;color:#89dcec;font-weight:850}.hero-panel h2{font-size:28px;line-height:1.13;margin:16px 0 11px;letter-spacing:-.04em}.hero-panel p{color:#b2ccdb;font-size:12px;line-height:1.6;max-width:370px}.action-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.hero-art{width:170px;flex-shrink:0;align-self:center;position:relative;opacity:.8}.hero-paper{background:#effbff;border-radius:12px;padding:26px 21px;width:125px;height:161px;transform:rotate(9deg);box-shadow:0 14px 35px #071a3266}.hero-paper div{height:7px;margin-bottom:12px;background:#bedde7;border-radius:7px}.hero-paper div:nth-child(2){width:74%}.hero-paper div:nth-child(3){width:90%}.hero-paper div:nth-child(4){width:65%}.hero-paper span{background:#0ba88e;color:white;position:absolute;right:-18px;bottom:12px;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;font-size:23px}.hero-line{position:absolute;right:-15px;top:4px;font-size:85px;opacity:.10}.monetary-panel{padding:26px}.panel-heading-row{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.panel-heading-row h2{margin:7px 0}.micro-tag{border-radius:6px;background:#edf8fb;color:#1688a2;padding:7px 9px;font-size:10px;font-weight:750;white-space:nowrap}.monetary-line{margin-top:26px;display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #eef2f6;padding-bottom:17px}.monetary-line span{font-size:12px;color:#7f94a1}.monetary-line strong{font-size:19px;letter-spacing:-.04em}.small-note{font-size:11px;line-height:1.6;color:#90a0ad;margin-top:18px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:16px}.section-heading h2{margin-top:8px}.section-heading .muted{margin-top:7px}.panel{padding:25px}.table-panel{padding:0;overflow:hidden}.table-panel>.panel-heading-row{padding:26px 25px 9px}.table-panel>.filters{padding-left:25px;padding-right:25px}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:740px;text-align:left}thead{background:#f6f9fc}th{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#8b9cac;text-align:left;padding:15px 20px;font-weight:800}td{border-top:1px solid #edf1f5;padding:17px 20px;font-size:12px;color:#456174;vertical-align:middle}td strong{color:#203a4f}.text-right{text-align:right}.table-empty{text-align:center;padding:35px 12px;color:#8b9eac}.status{display:inline-flex;align-items:center;border-radius:20px;padding:6px 10px;font-size:10px;font-weight:800;white-space:nowrap;background:#eef2f6;color:#657d8d}.status-confirmada{background:#e2f7ee;color:#168457}.status-borrador{background:#fff4dc;color:#9e6928}.status-procesando,.status-en_cola{background:#e7f5ff;color:#137ba7}.status-duplicada,.status-error{background:#fee8e7;color:#ae4941}.app-footer{text-align:center;color:#9aabb8;font-size:10px;padding:0 12px 21px}
.stepper{display:flex;align-items:center;gap:15px;margin-bottom:19px}.step{font-size:11px;color:#9aafbb;display:flex;align-items:center;gap:8px}.step b{font-weight:750}.step.on{color:#1587a6}.step-divider{height:1px;width:34px;background:#bfd0db}.capture-grid,.batch-grid,.reports-grid{display:grid;grid-template-columns:minmax(320px,.86fr) minmax(0,1.14fr);gap:18px}.batch-grid{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);margin-bottom:30px}.reports-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-heading{display:flex;align-items:center;gap:13px;margin-bottom:25px}.panel-heading h2{font-size:18px}.panel-heading p{color:#93a5b1;font-size:12px;margin-top:6px}.heading-icon{display:grid;place-items:center;width:38px;height:38px;flex:0 0 auto;border-radius:10px;background:#e5f7fa;color:#0d8caa;font-size:22px}.dropzone{border:1.5px dashed #adc8d7;background:#f7fafc;border-radius:12px;min-height:200px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;cursor:pointer;padding:22px;text-align:center}.dropzone:hover{border-color:#119ab8;background:#f0fcff}.dropzone strong{font-size:14px;color:#31546b}.dropzone span:not(.drop-symbol){font-size:11px;color:#8da2af;font-weight:550}.dropzone input{max-width:230px;font-size:11px;color:#7b96a5}.drop-symbol{font-size:30px;width:54px;height:54px;border-radius:15px;background:#e4f5fa;display:grid;place-items:center;color:#078cad}.preview-image{display:block;width:100%;max-height:270px;object-fit:contain;margin-top:15px;background:#f7fafc;border-radius:9px;border:1px solid var(--line)}.file-selected{color:#5f899c;font-size:11px;margin-top:15px;overflow-wrap:anywhere}.tip{margin-top:22px;background:#f7fafc;padding:17px;border-radius:9px;border-left:3px solid #79bed2}.tip strong{font-size:11px;color:#376075}.tip p{font-size:11px;color:#7a94a5;line-height:1.65;margin-top:7px}.review-empty{text-align:center;display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:320px}.review-empty-icon{font-size:40px;background:#f0f7fa;color:#9ab5c5;border-radius:15px;padding:9px 17px;margin-bottom:17px}.review-empty p{max-width:300px;font-size:12px;color:#97aabb;line-height:1.65;margin-top:10px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.form-grid .wide{grid-column:span 2}.warning-list{font-size:11px;color:#946a31;background:#fff8ea;padding:13px;border:1px solid #f2d7ac;border-radius:9px;margin-bottom:14px;line-height:1.7}.text-link{color:#088ba7;font-size:11px;font-weight:800;text-decoration:underline;background:none;border:0;margin-bottom:18px;padding:0}.review-actions{display:flex;gap:12px;margin-top:23px}.review-actions button{flex:1}.batch-drop{margin-top:18px}.workflow-list{display:grid;gap:27px;margin-top:32px}.workflow-list>div{display:flex;gap:15px;align-items:flex-start}.workflow-list>div>span{font-size:12px;font-weight:850;color:#0d8fa9;background:#e6f8fb;border-radius:9px;display:grid;place-items:center;height:35px;width:35px;flex:0 0 auto}.workflow-list p{display:grid;gap:7px}.workflow-list strong{font-size:13px}.workflow-list small{font-size:11px;color:#8ca0ad;line-height:1.6}.inline-warning{margin-top:27px;background:#fff8ec;border:1px solid #f4e3c1;border-radius:8px;font-size:11px;line-height:1.7;color:#986b31;padding:13px}.batches-panel{padding:12px 24px}.batch-list{display:grid}.batch-item{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(130px,.6fr) minmax(0,1fr) auto;align-items:center;gap:18px;padding:18px 0;border-bottom:1px solid #edf1f5}.batch-item:last-child{border-bottom:0}.batch-name{font-weight:800;font-size:13px;display:block}.batch-sub{font-size:10px;color:#9aadb9;display:block;margin-top:7px}.batch-numbers{font-size:11px;color:#607e90}.batch-numbers strong{display:block;font-size:17px;color:#213b50;margin-bottom:5px}.progress-track{height:7px;border-radius:12px;background:#e6eff4;overflow:hidden}.progress-fill{height:100%;border-radius:12px;background:#18a6c1}.progress-caption{display:flex;justify-content:space-between;font-size:10px;color:#88a0ae;margin-top:7px}.batch-actions{display:flex;gap:8px;flex-wrap:wrap}.empty-block{text-align:center;padding:36px;color:#99a8b7;font-size:12px}.filters{display:flex;align-items:flex-end;gap:11px;flex-wrap:wrap;margin:18px 0 23px}.filters label{min-width:130px}.filters .search-label{min-width:230px;flex:1}.filter-notice{background:#e9f7fb;color:#207b98;padding:10px 14px;margin:17px 25px 0;border-radius:8px;display:flex;justify-content:space-between;align-items:center;font-size:11px}.table-footer{border-top:1px solid #ecf1f4;padding:15px 23px;display:flex;align-items:center;justify-content:space-between;gap:13px}.table-footer small{font-size:11px;color:#93a5b2}.table-footer>div{display:flex;align-items:center;gap:12px}.table-footer span{font-size:11px;color:#607a8c}.link-button{background:none;border:0;color:#0b91b0;font-size:11px;text-decoration:underline;font-weight:750;padding:2px 4px}.report-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:22px}.reports-info ul{font-size:12px;color:#6e8494;line-height:2.3;padding-left:18px;margin:18px 0}.reports-info h2{margin-top:9px;line-height:1.4}.image-dialog{padding:21px;max-width:min(92vw,860px);max-height:90vh;border:0;border-radius:15px;box-shadow:0 25px 90px #0004}.image-dialog::backdrop{background:#0c2136ba}.dialog-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px;gap:30px}.image-dialog img{max-width:100%;max-height:75vh;display:block;object-fit:contain}.toast{position:fixed;bottom:25px;right:25px;padding:17px 20px;color:#fff;background:#102c42;border-radius:12px;box-shadow:0 15px 40px #06253e33;max-width:410px;font-size:12px;line-height:1.6;z-index:50}
@media(max-width:1200px){.sidebar{width:210px;flex-basis:210px}.sidebar-brand strong{font-size:11px}.main-content{padding:28px 24px}.app-header{padding:0 24px}.dashboard-grid{grid-template-columns:1.2fr 1fr}.hero-art{width:115px}.metric{padding:18px}}
@media(max-width:980px){.metrics-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.capture-grid,.batch-grid,.reports-grid{grid-template-columns:1fr}.hero-art{width:145px}.sidebar{width:76px;flex-basis:76px;padding-left:8px;padding-right:8px}.sidebar-brand{margin:0 auto 48px}.sidebar-brand>div,.sidebar-caption,.nav-link:not(.active) .nav-arrow,.nav-arrow,.sidebar-bottom,.nav-link{font-size:0}.nav-link{justify-content:center;padding:14px 6px}.nav-icon{font-size:22px;width:auto}.nav-list{gap:10px}}
@media(max-width:650px){.app-header{height:60px;padding:0 14px}.main-content{padding:22px 13px}.sidebar{width:56px;flex-basis:56px}.sidebar-brand .brand-mark{width:32px;height:32px;font-size:19px}.sidebar-brand{margin-bottom:35px}.nav-icon{font-size:19px}.page-intro{align-items:flex-start}.page-intro h1{font-size:25px}.page-intro .version-chip{display:none}.metrics-grid{gap:9px}.metric{padding:15px}.metric strong{font-size:25px}.metric-label{font-size:10px}.hero-panel{padding:22px}.hero-panel h2{font-size:25px}.hero-art{display:none}.panel{padding:18px}.table-panel{padding:0}.table-panel>.panel-heading-row{padding:18px}.table-panel>.filters{padding:0 18px}.panel-heading-row{flex-wrap:wrap}.filters label{flex:1}.filters .search-label{flex-basis:100%}.stepper{gap:7px}.step b{font-size:10px}.step-divider{width:10px}.header-right .system-status,.header-right .user-label{display:none}.batch-item{grid-template-columns:1fr 1fr;gap:10px}.batch-actions{grid-column:span 2}.review-actions{flex-wrap:wrap}.review-actions button{flex:1 1 100%}}

.progress-meter{appearance:none;-webkit-appearance:none;display:block;width:100%;height:8px;border:0;border-radius:15px;background:#e6eff4;overflow:hidden}.progress-meter::-webkit-progress-bar{background:#e6eff4;border-radius:15px}.progress-meter::-webkit-progress-value{background:#18a6c1;border-radius:15px}.progress-meter::-moz-progress-bar{background:#18a6c1;border-radius:15px}

.archive-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;align-items:end;margin-top:18px}.archive-filters label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:#29465a}.archive-filters input,.archive-filters select{width:100%}#archiveRows td{vertical-align:middle}#archiveRows td:last-child{white-space:nowrap}#archiveRows td:last-child button{margin:3px 0}