*{box-sizing:border-box}body{margin:0;background:#f4f6f8;color:#263343;font:14px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}header{height:68px;background:white;border-bottom:1px solid #e4e9ee;display:flex;align-items:center;justify-content:space-between;padding:0 24px}header strong{font-size:19px;display:block}small{display:block;color:#82909d;font-size:12px}button,input,select{font:inherit}button{cursor:pointer;border:1px solid #dce3e9;background:white;border-radius:8px;padding:9px 12px;color:#344456}button:hover{background:#f1f5f8}.quiet{border:0;background:transparent}.primary{background:#336b94;color:white;border-color:#336b94}.primary:hover{background:#25597f}main{padding:16px 20px}.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.stat{background:white;border:1px solid #e6ebef;border-radius:12px;padding:12px 16px}.stat b{display:block;font-size:24px}.stat span{color:#7a8794;font-size:12px}.workspace{display:grid;grid-template-columns:minmax(410px,48%) minmax(400px,52%);height:calc(100vh - 188px);background:white;border:1px solid #e2e8ed;border-radius:12px;overflow:hidden}.left{display:flex;flex-direction:column;min-height:0;border-right:1px solid #e4e8ed;padding:16px}.search input{width:100%;padding:12px;border:1px solid #d8e0e8;border-radius:9px;outline-color:#5a8aab}.filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0}.filters select,.filters input{min-width:0;width:100%;border:1px solid #dce3e9;background:white;border-radius:7px;padding:9px;color:#536170}.toolbar,.pager{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 0}.toolbar{border-bottom:1px solid #e8edf1}.toolbar>div{display:flex;gap:5px}.toolbar span{color:#718090}.records{overflow:auto;flex:1;min-height:0;padding:10px 2px}.record{border:1px solid #e5eaef;border-left:3px solid #8eacbf;border-radius:9px;padding:12px;margin-bottom:9px;transition:background .18s,border-color .18s}.record:hover{background:#f8fafc;border-left-color:#346f9c}.recordhead{display:flex;justify-content:space-between;gap:8px}.recordhead b{font-size:14px}.recordhead span{font-size:12px;color:#758391}.meta{color:#6e7d8b;font-size:12px;margin:4px 0 9px}.docs{display:flex;flex-wrap:wrap;gap:5px}.docs button{padding:5px 8px;font-size:12px;color:#386b91;border:1px solid #d8e5ee;background:#f5f9fc}.docs button:hover{background:#e5f1fa}.details{margin-top:9px;font-size:12px}.details summary{cursor:pointer;color:#4e7795}.details dl{display:grid;grid-template-columns:40% 60%;gap:5px;max-height:220px;overflow:auto}.details dt{color:#71808f}.details dd{margin:0;overflow-wrap:anywhere}.right{display:flex;flex-direction:column;min-height:0;background:#f0f2f4}.viewerbar{display:flex;justify-content:space-between;align-items:center;gap:12px;background:white;padding:13px 16px;border-bottom:1px solid #e3e8ec}.viewerbar a{color:#326d99;margin-right:10px;text-decoration:none}#viewer{flex:1;min-height:0;background:#303235;display:flex;align-items:center;justify-content:center}#viewer iframe{border:0;width:100%;height:100%}.empty{text-align:center;color:#bac4cb}.empty span{font-size:44px;display:block}.empty strong{display:block;color:white}.notice{font-size:11px;color:#7c8893;background:white;padding:9px 14px}.pager{border-top:1px solid #e5ebef}.pager button:disabled{opacity:.4;cursor:default}.login{display:grid;place-items:center;min-height:100vh}.loginbox{width:min(420px,94vw);padding:32px;background:white;border:1px solid #e2e8ed;border-radius:14px;box-shadow:0 12px 40px #24344512}.loginbox .logo{font-size:34px;color:#356c94}.loginbox h1{font-size:23px}.loginbox p{color:#768491}.loginbox label{display:block;margin:18px 0 7px}.loginbox input{width:100%;padding:12px;border:1px solid #cdd8e0;border-radius:8px}.loginbox button{width:100%;margin:14px 0}.error{color:#a92e36;background:#fff1f1;padding:10px;border-radius:7px}@media(max-width:900px){.workspace{grid-template-columns:1fr;height:auto}.left{height:650px;border-right:0}.right{height:550px}.summary{grid-template-columns:repeat(2,1fr)}}@media(max-width:500px){main{padding:9px}.filters{grid-template-columns:repeat(2,1fr)}header{padding:0 12px}.toolbar{flex-wrap:wrap}.viewerbar{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}
/* V2.1: lectura prioritaria de registros */
.workspace{grid-template-columns:minmax(570px,65%) minmax(300px,35%);height:calc(100vh - 170px);min-height:550px}
.left{padding:14px 18px}.records{min-height:0}.record{padding:13px 15px}.recordhead b{font-size:16px}.record .meta{font-size:13px}.search input{font-size:16px}
.initials{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:10px 0}.initials label{font-weight:600}.initials select{padding:7px;border:1px solid #dce3e9;border-radius:7px}.letters{display:flex;flex-wrap:wrap;gap:3px;flex:1}.letters .letter{padding:5px 8px;min-width:28px;font-size:12px;border-radius:6px}.letters .selected{background:#336b94;color:white;border-color:#336b94}.filterbox{margin-bottom:8px;border:1px solid #e2e8ed;border-radius:8px;padding:8px 10px}.filterbox>summary{cursor:pointer;font-weight:600;color:#50667a}.filterbox .filters{margin-bottom:0}
@media(max-width:950px){.workspace{display:flex;flex-direction:column;height:auto;overflow:visible}.left{min-height:560px}.right{min-height:520px}.summary{grid-template-columns:repeat(2,1fr)}}

/* V2.2: interfaz espaciosa, tonos neutros con acentos de color */
:root{--accent:#176b99;--left-pct:60%;--line:#dce7ef}body{background:#edf3f8;color:#20344a}header{border-bottom:3px solid #2e9dcb;background:#fff}header strong{color:#153f60}.summary{gap:10px;margin-bottom:10px}.stat{border-color:#dce8f0;border-top:3px solid #3c91c0;box-shadow:0 2px 9px #183e5b08;padding:9px 15px}.stat:nth-child(2){border-top-color:#26987b}.stat:nth-child(3){border-top-color:#c99142}.stat:nth-child(4){border-top-color:#7468b3}.stat b{font-size:23px;color:#173f5b}.workspace{display:flex;grid-template-columns:none;height:calc(100vh - 169px);min-height:540px;border-color:#d9e6ef;box-shadow:0 5px 20px #2549670c}.left{flex:0 0 calc(var(--left-pct) - 4px);min-width:0;padding:12px 14px;border-right:0}.right{flex:1;min-width:0}.splitter{flex:0 0 8px;cursor:col-resize;background:#d9e8f2;position:relative;touch-action:none;border-left:1px solid #cbdde9;border-right:1px solid #cbdde9}.splitter:after{content:'⋮';position:absolute;top:50%;left:0;width:100%;text-align:center;color:#43718f;font-size:18px}.splitter:hover,.splitter:focus{background:#8dc4e4;outline:0}.resizing,.resizing *{cursor:col-resize!important;user-select:none!important}.search input{padding:10px 12px;border-color:#cadfea}.initials{margin:7px 0}.letters .letter{padding:4px 7px;min-width:27px}.filterbox{margin-bottom:4px;padding:6px 10px}.toolbar{padding:6px 0}.records{padding:7px 2px}.record{padding:9px 12px;margin-bottom:7px;border-left:4px solid #b3c4d1;box-shadow:0 1px 3px #23465d08}.record.has-docs{border-left-color:#24a282}.recordhead b{font-size:16px;color:#163e5b}.recordhead span{font-size:11px;text-align:right;max-width:42%}.record .meta{margin:3px 0 5px}.docs button{background:#eaf5fc;color:#145c8a;border-color:#bcdff3}.docs button:hover{background:#d5ecfa}.viewerbar{padding:9px 12px;flex-wrap:wrap;gap:7px}.viewerbar>div:last-child{display:flex;align-items:center;flex-wrap:wrap;gap:3px}.viewerbar .quiet{padding:5px 7px}.zoomlabel{font-size:12px;min-width:37px;text-align:center;font-weight:700;color:#245777}#viewer{display:block;overflow:auto;position:relative}#viewer iframe{display:block;width:100%;height:100%;min-height:100%;background:#303235}.empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.notice{padding:6px 12px}.primary{background:#176b99;border-color:#176b99}.primary:hover{background:#11567b}
@media(max-width:950px){.workspace{display:flex;flex-direction:column;height:auto;overflow:visible}.left{flex:auto;min-height:560px}.right{flex:auto;min-height:540px;height:540px}.splitter{display:none}.summary{grid-template-columns:repeat(2,1fr)}}

/* V2.3: KPI interactivos y filtros combinables */
.summary .stat{cursor:pointer;text-align:left;font:inherit;transition:transform .15s ease,border-color .15s ease,background .15s ease}
.summary .stat:hover{transform:translateY(-2px);border-color:#70a8c7;background:#edf7fd}
.summary .stat.stat-active{border:2px solid #2475a5;background:#e5f3fc}
.summary .stat:focus-visible,.chip:focus-visible{outline:3px solid #f3bf50;outline-offset:2px}
.activefilters{display:flex;flex-wrap:wrap;gap:6px;padding:4px 0}
.activefilters:empty{display:none}
.chip{background:#e6f3fb;border:1px solid #9bc9e4;border-radius:20px;color:#185b83;padding:5px 10px;cursor:pointer;font-size:12px}
.chip:hover{background:#d1eafb}

/* V2.4: selector en una fila y alfabeto debajo, más compacto. */
.initials-stacked{display:flex;flex-direction:column;align-items:stretch;gap:5px;margin:5px 0 7px}.initials-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.initials-top label{font-size:12px}.initials-top select{font-size:12px;padding:5px 8px}.initials-top #clearletter{margin-left:auto;padding:5px 8px;font-size:12px}.initials-stacked .letters{display:flex;flex-wrap:wrap;gap:3px;flex:none}.initials-stacked .letter{padding:4px 7px;min-width:27px}

/* V2.5: tema accesible, usuarios y pie de página discreto */
.header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.back-link{display:inline-block;padding:7px 10px;text-decoration:none;border-radius:8px;color:#176b99;background:#e8f4fb;font-weight:600}.app-footer{text-align:center;font-size:11px;color:#637c90;padding:7px 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-footer a{color:#176b99;text-decoration:none}.app-footer a:hover{text-decoration:underline}.workspace{height:calc(100vh - 198px)}.password-field{display:flex;position:relative}.password-field input{width:100%;padding-right:54px!important}.eye-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%);border:0;background:transparent!important;padding:7px 10px;color:#59738a}.admin-main{max-width:1200px;margin:auto}.admin-main h1{font-size:22px}.muted{color:#718090}.admin-grid{display:grid;grid-template-columns:minmax(260px,380px) minmax(400px,1fr);gap:16px}.admin-card{background:#fff;border:1px solid #dce7ef;border-radius:12px;padding:18px}.admin-card h2{font-size:17px}.admin-card label{display:block;margin:12px 0 5px}.admin-card input,.admin-card select{width:100%;padding:9px;border:1px solid #cdd8e0;border-radius:7px;background:#fff;color:#263343}.admin-card form>button{margin-top:12px}.user-item{border-top:1px solid #e2e8ed;padding:12px 0}.user-item small{display:block}.user-actions{display:grid;grid-template-columns:1fr 1.5fr;gap:8px;margin-top:8px}.user-actions form{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.user-actions form input{min-width:110px;flex:1}.user-actions form .password-field{flex:1;min-width:145px}.success{padding:12px;background:#e4f6ef;color:#146b4a;border-radius:8px;margin:12px 0}
html[data-theme="dark"] body{background:#101923;color:#e5edf5}html[data-theme="dark"] header,html[data-theme="dark"] .left,html[data-theme="dark"] .viewerbar,html[data-theme="dark"] .notice,html[data-theme="dark"] .loginbox,html[data-theme="dark"] .admin-card,html[data-theme="dark"] .stat{background:#1b2937;color:#e5edf5;border-color:#34495b}html[data-theme="dark"] header strong,html[data-theme="dark"] .recordhead b,html[data-theme="dark"] .stat b{color:#e7f5ff}html[data-theme="dark"] .workspace{background:#1b2937;border-color:#34495b}html[data-theme="dark"] .right{background:#182532}html[data-theme="dark"] .record{border-color:#34495b;background:#223345}html[data-theme="dark"] .record:hover{background:#2c4154}html[data-theme="dark"] .filterbox,html[data-theme="dark"] .toolbar,html[data-theme="dark"] .pager{border-color:#34495b}html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] button:not(.primary),html[data-theme="dark"] .admin-card input,html[data-theme="dark"] .admin-card select{background:#243547;color:#e6f0f7;border-color:#41576b}html[data-theme="dark"] .quiet{background:transparent!important}html[data-theme="dark"] .docs button,html[data-theme="dark"] .chip,html[data-theme="dark"] .back-link{background:#234967;color:#c6eaff;border-color:#3c6a88}html[data-theme="dark"] .stat.stat-active{background:#24465e}html[data-theme="dark"] .stat:hover{background:#2b4457}html[data-theme="dark"] .meta,html[data-theme="dark"] small,html[data-theme="dark"] .muted,html[data-theme="dark"] .app-footer{color:#adbdcc}html[data-theme="dark"] .app-footer a{color:#8dc8f2}html[data-theme="dark"] .splitter{background:#3d5669}html[data-theme="dark"] .empty{color:#cad6e0}
@media(max-width:850px){.admin-grid{grid-template-columns:1fr}.app-footer{white-space:normal}.workspace{height:auto}}@media(max-width:540px){header{height:auto;min-height:68px;gap:8px;padding:10px 12px}.header-actions{gap:4px}.user-actions{grid-template-columns:1fr}}

.doc-review{display:inline-flex;align-items:center;gap:5px;margin:3px 6px 3px 0;flex-wrap:wrap}.review-label{display:inline-flex;align-items:center;gap:4px;font-size:11px;cursor:pointer}.review-label input{accent-color:#138a67;width:15px;height:15px}.doc-review button{margin:0}

/* V2.7 */
.cut-filter{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;background:var(--panel,#edf5fb);border:1px solid #b7d6ee;border-radius:12px;margin:8px 0}.cut-filter label{font-size:13px;font-weight:700}.cut-filter select{max-width:290px;flex:1;min-width:180px}.review-summary{font-size:12px;font-weight:650;color:#226a92;background:rgba(52,145,193,.08);border-radius:8px;padding:8px;margin-top:8px}.notes-box{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap;margin:8px 0 12px}.notes-input{flex:1;min-width:180px;resize:vertical;min-height:46px;padding:8px;border-radius:8px;border:1px solid #b6c5d1;background:var(--surface,#fff);color:inherit}.notes-box small{flex-basis:100%;opacity:.7}.notes-box button{white-space:nowrap}

/* V2.8: diseño compacto, sin modificar datos ni controles de revisión */
header{min-height:45px;height:auto;padding:5px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px}
header>div:first-child{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}header>div:first-child small{display:inline;font-size:11px}
.summary{margin-bottom:5px;gap:7px}.summary .stat{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:6px 10px;min-height:43px}.summary .stat span{font-size:11px;line-height:1.2}.summary .stat b{font-size:19px;white-space:nowrap}
.workspace{height:calc(100vh - 131px);min-height:520px}.left{padding:8px 11px}.search-actions{display:flex;gap:5px;align-items:center;flex-wrap:wrap;margin:0 0 5px}.search-actions input{flex:1 1 250px;min-width:130px;padding:7px 9px;font-size:13px}.search-actions button{font-size:11px;padding:7px 8px;white-space:nowrap}
.initials-stacked{margin:3px 0 5px;gap:3px}.initials-top{gap:6px}.initials-stacked .letters{gap:2px}.initials-stacked .letter{padding:3px 5px;min-width:23px;font-size:11px}
.cut-filter{padding:6px 9px;margin:4px 0;gap:8px}.cut-filter label{font-size:11px}.cut-filter select{padding:5px 7px;font-size:12px}
.filterbox{padding:4px 8px;margin-bottom:3px}.filterbox>summary{font-size:12px}.filterbox .filters{gap:5px;grid-template-columns:repeat(3,minmax(0,1fr))}.filterbox .filters select,.filterbox .filters input{min-width:0;padding:6px 7px;font-size:12px}.age-pair{display:flex;gap:5px;min-width:0}.age-pair input{width:50%;min-width:0}.toolbar{padding:3px 0;font-size:12px}.activefilters{gap:3px;padding:2px 0}.chip{font-size:10px;padding:3px 6px}
@media(max-width:1200px){.search-actions input{flex-basis:100%}.search-actions button{flex:1 0 auto}}
@media(max-width:950px){.workspace{height:auto}.summary .stat{flex-wrap:wrap}.filterbox .filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.filterbox .filters{grid-template-columns:1fr}.search-actions button{flex:1 1 40%}}

/* V2.9: cambios visuales incrementales, sin alterar el diseño móvil. */
.summary .stat{min-width:0;gap:6px}.summary .stat .stat-label{font-size:11px;white-space:normal}.summary .stat b{font-size:17px;white-space:nowrap}.summary .stat:nth-child(4){border-top-color:#239d7d}.summary .stat.stat-active{border-color:#2475a5}.search-actions{position:relative}.export-menu{position:relative;flex:none}.export-menu>summary{cursor:pointer;list-style:none;border:1px solid #c9dce9;border-radius:7px;padding:7px 9px;font-size:12px;white-space:nowrap;background:#f2f8fc;color:#205b80}.export-menu>summary::-webkit-details-marker{display:none}.export-options{position:absolute;z-index:40;right:0;top:calc(100% + 5px);min-width:160px;background:#fff;border:1px solid #c9dce9;box-shadow:0 8px 20px #102e4c22;border-radius:8px;padding:5px;display:flex;flex-direction:column}.export-options button{text-align:left;font-size:12px;border:0;background:transparent;padding:9px}.export-options button:hover{background:#eaf4fb}.initial-cut-row{display:flex;align-items:center;gap:9px;min-width:0;margin:4px 0}.initial-cut-row .initials-stacked{flex:1;min-width:0;margin:0}.initial-cut-row .initials-top{display:flex;align-items:center}.initial-cut-row .initials-top #clearletter{margin-left:0}.initial-cut-row .letters{display:flex;gap:2px;flex-wrap:wrap}.initial-cut-row .letter{padding:2px 4px;min-width:21px;font-size:10px}.initial-cut-row .cut-filter{flex:0 0 auto;margin:0;padding:4px 6px;gap:4px;background:transparent;border-color:#d6e5ef}.initial-cut-row .cut-filter label{font-size:10px}.initial-cut-row .cut-filter select{min-width:140px;max-width:180px;font-size:11px;padding:4px}.note-save{background:#ba3843;color:#fff;border:1px solid #a92e3a;font-weight:650}.note-save:hover{background:#a62e39}.note-save.saved{background:#168451;border-color:#168451;color:#fff}html[data-theme="dark"] .export-options{background:#233547;border-color:#41576b}html[data-theme="dark"] .export-menu>summary{background:#233547;color:#e5edf5;border-color:#41576b}html[data-theme="dark"] .note-save:not(.saved){background:#a92e3a;color:#fff}html[data-theme="dark"] .note-save.saved{background:#168451;color:#fff}@media(max-width:1250px){.initial-cut-row{flex-wrap:wrap}.initial-cut-row .initials-stacked{flex-basis:100%}.initial-cut-row .cut-filter{margin-left:auto}}@media(max-width:950px){.initial-cut-row{display:block}.initial-cut-row .cut-filter{margin-top:5px}.summary .stat b{font-size:15px}}

/* V3.0 - ficha completa modal: únicamente presentación */
.detail-open{margin-top:6px;border:0;background:transparent;color:#176b99;font-size:12px;font-weight:600;padding:5px 0;cursor:pointer;text-align:left}.detail-open:hover{text-decoration:underline}
.detail-modal[hidden]{display:none!important}.detail-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:18px}.detail-backdrop{position:absolute;inset:0;background:rgba(8,22,36,.72)}.detail-dialog{position:relative;z-index:1;display:flex;flex-direction:column;width:min(1160px,100%);height:min(92vh,950px);background:#fff;color:#20344a;border-radius:13px;box-shadow:0 20px 70px #0005;overflow:hidden}.detail-head{height:auto;min-height:60px;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 18px;border-bottom:1px solid #dce7ef;background:#f7fafc}.detail-head h2{font-size:18px;margin:0 0 3px}.detail-head small{display:block}.detail-head button,.detail-foot button{border:1px solid #c9dce9;border-radius:7px;padding:7px 12px;background:#fff;color:#245474;cursor:pointer}.detail-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:12px 18px}.detail-controls>input{flex:1;min-width:190px;padding:10px;border:1px solid #c9dce9;border-radius:7px}.detail-empty-label{font-size:12px;display:flex;gap:6px;align-items:center}.detail-controls #detail-count{font-size:12px;color:#62788c}.detail-tabs{display:flex;gap:6px;flex-wrap:wrap;padding:0 18px 10px;border-bottom:1px solid #dce7ef}.detail-tabs button{border:1px solid #cbdce7;background:#f2f7fb;border-radius:7px;padding:7px 11px;color:#245474;cursor:pointer;font-size:12px}.detail-tabs button.selected{background:#176b99;color:#fff;border-color:#176b99}.detail-content{flex:1;min-height:0;overflow:auto;padding:8px 18px 16px}.detail-table{border-collapse:collapse;width:100%;font-size:13px}.detail-table tr{border-bottom:1px solid #e4edf3}.detail-table tr:nth-child(even){background:#f6f9fc}.detail-table th,.detail-table td{padding:10px 12px;vertical-align:top;text-align:left;overflow-wrap:anywhere}.detail-table th{width:36%;font-weight:650;color:#345773}.detail-table td{white-space:pre-wrap}.detail-table a{color:#176b99}.detail-muted{color:#8797a5}.detail-no-results{padding:25px;text-align:center;color:#637c90}.detail-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 18px;border-top:1px solid #dce7ef}.detail-foot small{color:#637c90}.detail-modal-open{overflow:hidden}
html[data-theme="dark"] .detail-dialog{background:#1b2937;color:#e5edf5}html[data-theme="dark"] .detail-head,html[data-theme="dark"] .detail-foot{background:#223345;border-color:#41576b}html[data-theme="dark"] .detail-tabs,html[data-theme="dark"] .detail-table tr{border-color:#41576b}html[data-theme="dark"] .detail-table tr:nth-child(even){background:#223345}html[data-theme="dark"] .detail-table th{color:#b8d8ec}html[data-theme="dark"] .detail-tabs button:not(.selected),html[data-theme="dark"] .detail-head button,html[data-theme="dark"] .detail-foot button{background:#243547;color:#e5edf5;border-color:#41576b}html[data-theme="dark"] .detail-table a,html[data-theme="dark"] .detail-open{color:#91cef4}
@media(max-width:650px){.detail-modal{padding:0}.detail-dialog{height:100dvh;width:100%;border-radius:0}.detail-head{padding:10px}.detail-head h2{font-size:15px}.detail-controls,.detail-tabs{padding:9px 10px}.detail-content{padding:4px 8px}.detail-table th,.detail-table td{padding:9px 6px}.detail-table th{width:42%}.detail-foot{padding:9px 10px}}

/* V3.1: compactación segura; conservar select de carrera para compatibilidad JS */
.filterbox .filters #carrera[hidden]{display:none!important}
.filterbox .filters{grid-template-columns:repeat(3,minmax(0,1fr))}
.filterbox .filters .age-pair{grid-column:auto;display:flex;gap:5px;min-width:0}
.filterbox .filters .age-pair input{flex:1 1 0;width:50%;min-width:0}
.filter-count{display:inline-flex;align-items:center;justify-content:center;margin-left:6px;min-width:18px;height:18px;padding:0 5px;border-radius:12px;background:#176b99;color:white;font-size:10px;font-weight:700}
.filter-count[hidden]{display:none!important}
.filter-hint{font-weight:400;opacity:.75}
html[data-theme="dark"] .filter-count{background:#2d8ebc;color:#fff}
@media(max-width:950px){.filterbox .filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.filterbox .filters{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-hint{display:none}}

/* V3.2: cinco indicadores compactos, sin modificar el resto del diseño. */
.summary{grid-template-columns:repeat(5,minmax(0,1fr))}
.summary .stat{min-width:0}
.summary .stat-label{overflow-wrap:anywhere}
@media(max-width:1050px){.summary{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.summary{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* V3.3: avance compacto del corte en el KPI existente. */
.summary .stat-progress{display:flex;flex-direction:column;justify-content:center;gap:3px;min-height:54px}
.summary .stat-progress-track{height:3px;background:#dbe8ee;border-radius:999px;overflow:hidden;width:100%}
.summary .stat-progress-fill{display:block;height:100%;background:#159c77;border-radius:999px}
.summary .stat-progress-footer{display:flex;justify-content:space-between;gap:5px;font-size:10px;line-height:1.15;color:#597182;white-space:nowrap}
html[data-theme="dark"] .summary .stat-progress-track{background:#3c4b58}
html[data-theme="dark"] .summary .stat-progress-footer{color:#b0c4d3}
@media(max-width:650px){.summary .stat-progress-footer{font-size:9px}}

/* V3.4: KPI de avance en dos filas y experiencia adaptable, sin cambios de datos. */
.summary .stat-progress{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-content:center;align-items:center;column-gap:7px;row-gap:6px;min-height:0}
.summary .stat-progress .stat-label{grid-column:1;grid-row:1;min-width:0}
.summary .stat-progress b{grid-column:2;grid-row:1;text-align:right}
.summary .stat-progress-row{grid-column:1/-1;grid-row:2;display:flex;align-items:center;gap:7px;min-width:0}
.summary .stat-progress-track{display:block;flex:1 1 auto;min-width:0;height:4px}
.summary .stat-progress-percent{font-size:10px;white-space:nowrap;color:#597182;font-variant-numeric:tabular-nums}
html[data-theme="dark"] .summary .stat-progress-percent{color:#b0c4d3}
@media(max-width:950px){
 .workspace{height:auto;min-height:0;overflow:visible;display:flex;flex-direction:column}
 .left{flex:none;width:100%;height:auto;min-height:0;padding:10px}
 .records{height:min(58vh,620px);min-height:290px;flex:none;overflow:auto}
 .right{flex:none;width:100%;height:auto;min-height:0}
 #viewer{height:min(65vh,580px);min-height:340px;flex:none}
 .splitter{display:none}
 .viewerbar{gap:8px}
}
@media(max-width:600px){
 main{padding:8px}
 .summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:8px}
 .summary .stat{padding:9px 10px;min-height:68px;display:flex;flex-direction:column;justify-content:center;gap:4px;min-width:0}
 .summary .stat b{font-size:17px;white-space:normal;line-height:1.2}
 .summary .stat .stat-label{font-size:11px;line-height:1.25}
 .summary .stat-progress{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;min-height:66px}
 .summary .stat-progress b{white-space:nowrap}
 .initial-cut-row{display:flex;flex-direction:column;align-items:stretch;gap:5px}
 .initial-cut-row .initials-stacked{width:100%;flex-basis:auto}
 .initial-cut-row .cut-filter{margin:0;width:100%;display:flex;justify-content:space-between;align-items:center}
 .initial-cut-row .cut-filter select{min-width:0;max-width:none;flex:1}
 .initial-cut-row .letters{gap:3px}
 .initial-cut-row .letter{min-width:26px;min-height:28px}
 .search-actions{display:flex;flex-wrap:wrap}
 .search-actions input{flex:1 0 100%;min-width:0}
 .search-actions button,.export-menu{flex:1 1 auto}
 .export-menu>summary{text-align:center}
 .filterbox .filters{grid-template-columns:repeat(2,minmax(0,1fr))}
 .record{padding:10px 9px}
 .recordhead{align-items:flex-start}
 .recordhead b{font-size:14px;overflow-wrap:anywhere}
 .docs{gap:7px}
 .doc-review{max-width:100%;flex-wrap:wrap}
 .review-label{min-height:32px;display:inline-flex;align-items:center;gap:4px}
 .review-label input{width:17px;height:17px}
 .notes-box{flex-wrap:wrap}
 .notes-input{width:100%;min-width:0}
 .note-save{min-height:38px}
 .viewerbar{align-items:flex-start}
 .viewerbar>div:last-child{gap:4px}
 .viewerbar .quiet{min-height:32px}
 #viewer{height:55vh;min-height:300px}
 .detail-open{min-height:38px}
 .app-footer{white-space:normal}
}
@media(max-width:360px){.summary .stat b{font-size:15px}.summary .stat .stat-label{font-size:10px}.filterbox .filters{grid-template-columns:1fr}}

/* STEAM: enlaces externos y cortes administrables */
.link-edit{font-size:11px;padding:5px 8px;border:1px solid var(--line,#d6dee8);border-radius:6px;background:transparent;cursor:pointer}
.cut-filter #groups-config{font-size:12px;white-space:nowrap;margin-top:5px}
@media(max-width:680px){.cut-filter{min-width:0;width:100%}.cut-filter select{max-width:100%;width:100%}.doc-review{max-width:100%;flex-wrap:wrap}.link-edit{min-height:34px}#viewer iframe{width:100%;max-width:100%}}

/* STEAM 2026: estado visual de documentos y carga remota sin porcentaje ficticio */
.docs .doc-review.doc-present>button:first-child{background:#d4f8e6!important;color:#075d3e!important;border:1px solid #31a675!important;font-weight:700}
.docs .doc-review.doc-present>button:first-child:hover{background:#b5efd2!important}
.docs .doc-review.doc-missing>button:first-child{background:#ffe6e8!important;color:#9a2637!important;border:1px solid #ed9ba5!important;opacity:1}
.docs .doc-review.doc-present .review-label{color:#12644b}
.docs .doc-review.doc-missing .review-label{color:#8d5260}
#viewer{isolation:isolate}
#viewer .document-preview-pdf{display:block;width:100%;height:100%;min-height:100%;border:0;background:#34383c}
#viewer .document-preview-image{display:block;max-width:100%;max-height:100%;object-fit:contain;margin:auto}
.document-loading{position:absolute;z-index:4;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center;color:#f4faff;background:#263440f2}
.document-loading strong{font-size:17px}.document-loading p{max-width:360px;margin:0;color:#cbdbe5;font-size:13px}.document-loading-icon{font-size:32px;color:#74c9f5}
.document-loading-track{height:7px;width:min(310px,90%);overflow:hidden;border-radius:999px;background:#526779}
.document-loading-indicator{height:100%;width:35%;border-radius:999px;background:#4ab6ef;animation:steam-load 1.5s ease-in-out infinite alternate}
@keyframes steam-load{from{transform:translateX(-100%)}to{transform:translateX(290%)}}
.document-loading-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.document-loading-actions a,.document-preview-help a{color:#a8e3ff;font-weight:700}
.document-preview-help{position:absolute;bottom:0;left:0;right:0;background:#172431e8;color:#e6f2f8;padding:6px 12px;text-align:center;font-size:11px;z-index:3}
@media(max-width:680px){.document-loading{padding:12px}.document-preview-help{font-size:11px}.docs .doc-review>button:first-child{white-space:normal;text-align:left}}
@media(prefers-reduced-motion:reduce){.document-loading-indicator{animation:none;width:100%}}
