:root{--nav:#112c48;--blue:#1e5991;--red:#b7262e;--bg:#f4f7fa;--text:#252d34;--muted:#6a747e;--line:#d8dfe6;--green:#268052;--amber:#b87e1a;--danger:#b83d43;--white:#fff}
*{box-sizing:border-box}body{margin:0;font-family:Inter,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--text)}a{color:inherit}.topbar{height:78px;background:var(--nav);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:5;border-top:4px solid var(--red)}.brand{display:flex;gap:13px;align-items:center}.mark{width:8px;height:42px;background:var(--red);border-radius:3px}.brand strong{display:block;letter-spacing:.3px}.brand small{display:block;color:#cdd9e5;margin-top:4px}.userbox{font-size:13px}.userbox span{background:#294866;padding:4px 8px;border-radius:12px;margin:0 8px}.userbox a{color:#fff;text-decoration:none}.layout{display:grid;grid-template-columns:240px 1fr;min-height:calc(100vh - 112px)}.sidebar{background:#1c2736;color:#c7d0da;padding:22px 14px;display:flex;flex-direction:column;justify-content:space-between}.sidebar nav a{display:block;text-decoration:none;padding:13px 15px;border-radius:8px;margin-bottom:4px;font-size:14px}.sidebar nav a:hover,.sidebar nav a.active{background:#2a4058;color:#fff}.navlabel{font-size:11px;color:#8392a1;margin:22px 15px 8px;font-weight:700}.sidefoot{font-size:11px;color:#82909e;padding:15px}.content{padding:30px;max-width:1500px;width:100%;margin:0 auto}.pagehead{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px}.pagehead h1{margin:0;color:var(--nav);font-size:28px}.pagehead p{color:var(--muted);margin:7px 0 0}.cards{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:16px;margin:18px 0}.card,.panel{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 2px 8px rgba(17,44,72,.04)}.card{padding:20px}.card label{font-size:11px;color:var(--muted);font-weight:700;display:block}.card b{font-size:30px;color:var(--nav);display:block;margin-top:8px}.card b.green{color:var(--green)}.card b.amber{color:var(--amber)}.panel{padding:20px;margin-bottom:18px}.panel h2{font-size:18px;color:var(--nav);margin:0 0 16px}.filters{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin-bottom:18px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:12px;color:var(--muted);font-weight:600}.field input,.field select,.field textarea{border:1px solid #cbd4dd;border-radius:7px;padding:10px 11px;background:#fff;min-width:170px}.field textarea{min-height:90px}.btn{border:0;border-radius:7px;padding:10px 15px;background:var(--blue);color:white;text-decoration:none;cursor:pointer;font-weight:600;font-size:13px;display:inline-block}.btn.secondary{background:#eef3f7;color:var(--nav);border:1px solid var(--line)}.btn.danger{background:var(--danger)}.btn.green{background:var(--green)}table{width:100%;border-collapse:collapse;font-size:13px}th{color:var(--muted);font-size:11px;text-transform:uppercase;text-align:left;border-bottom:1px solid var(--line);padding:11px 9px}td{border-bottom:1px solid #edf1f4;padding:11px 9px;vertical-align:middle}.badge{padding:5px 8px;border-radius:14px;font-size:11px;font-weight:700;display:inline-block}.badge.success{background:#e5f4eb;color:#1e7448}.badge.warning{background:#fff3db;color:#94620b}.badge.danger{background:#fde8ea;color:#a52d34}.badge.neutral{background:#edf1f4;color:#59636d}.notice{padding:12px 14px;border-radius:8px;margin:12px 0}.notice.ok{background:#e7f5ec;color:#226d45}.notice.err{background:#fdeaea;color:#9d3036}.notice.info{background:#e8f1f8;color:#245985}.loginwrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#102a44,#183d62)}.loginbox{width:390px;background:#fff;border-radius:14px;padding:32px;box-shadow:0 20px 70px rgba(0,0,0,.25);border-top:6px solid var(--red)}.loginbox h1{color:var(--nav);font-size:22px;margin:0}.loginbox p{color:var(--muted);font-size:13px;margin-bottom:22px}.loginbox .field input{width:100%;min-width:0}.loginbox .btn{width:100%;margin-top:8px}.footer{text-align:center;font-size:11px;color:#7a8692;padding:10px}.evidence-grid{display:grid;grid-template-columns:repeat(3,minmax(230px,1fr));gap:15px}.evidence-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:15px}.evidence-card h3{font-size:15px;margin:0 0 5px;color:var(--nav)}audio,video{width:100%;margin-top:10px;max-height:230px}.uploadbox{border:2px dashed #c8d2dc;background:#fafcfd;border-radius:12px;padding:22px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.small{font-size:12px;color:var(--muted)}@media(max-width:900px){.layout{grid-template-columns:1fr}.sidebar{display:none}.cards{grid-template-columns:1fr 1fr}.content{padding:18px}.grid2{grid-template-columns:1fr}.evidence-grid{grid-template-columns:1fr}.topbar{padding:0 14px}.userbox span{display:none}}@media(max-width:520px){.cards{grid-template-columns:1fr}.brand small{display:none}}

.result-count{margin:4px 0 14px;color:var(--muted);font-size:13px}.result-count b{color:var(--nav);font-size:18px;margin-right:5px}
.evidence-cell audio{width:260px;max-width:100%;margin:0;vertical-align:middle;height:36px}.download-arrow{display:inline-flex;width:34px;height:34px;border-radius:7px;background:var(--blue);color:#fff;text-decoration:none;align-items:center;justify-content:center;font-size:22px;font-weight:700;margin-left:7px;vertical-align:middle}
.evidence-upload{display:flex;gap:7px;align-items:center;min-width:330px}.evidence-upload input[type=file]{max-width:190px;font-size:11px}
details summary{cursor:pointer;color:var(--blue);font-weight:700;white-space:nowrap}.detail-list{min-width:390px;max-height:360px;overflow:auto;margin-top:10px;border:1px solid var(--line);border-radius:8px;background:#fafcfd}.detail-row{display:grid;grid-template-columns:100px 80px minmax(150px,1fr) 38px;gap:8px;align-items:center;padding:8px;border-bottom:1px solid #e8edf1}.detail-row:last-child{border-bottom:0}.detail-row audio{margin:0;height:34px}
.user-actions{display:flex;gap:6px;margin-top:7px}.user-actions form{margin:0}.user-edit{margin-bottom:6px}.edit-form{display:grid;gap:7px;min-width:260px;margin:8px 0;padding:10px;background:#f7f9fb;border:1px solid var(--line);border-radius:8px}.edit-form input,.edit-form select{padding:8px;border:1px solid #cbd4dd;border-radius:6px}

.audio-panel .uploadbox{min-height:315px}.upload-limits{margin-top:14px;padding-top:10px;border-top:1px solid var(--line)}
.manual-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px;align-items:end}.manual-button{align-self:end}
.mapping-example{display:grid;grid-template-columns:1fr 50px 1.4fr 50px 1fr;gap:8px;align-items:center;background:#f7f9fb;border:1px solid var(--line);border-radius:10px;padding:16px}.mapping-example>div:not(.map-arrow){background:white;border:1px solid var(--line);border-radius:8px;padding:12px}.mapping-example span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;font-weight:700;margin-bottom:5px}.mapping-example b{color:var(--nav);font-size:13px}.map-arrow{text-align:center;font-size:24px;color:var(--blue);font-weight:700}
@media(max-width:900px){.manual-grid{grid-template-columns:1fr}.mapping-example{grid-template-columns:1fr}.map-arrow{transform:rotate(90deg)}}

/* V1.6 - Consolidado interactivo */
.consolidated-filters{align-items:end;gap:12px}.smart-search-field{min-width:300px;flex:1}.smart-search-field input{width:100%}
.consolidated-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0;flex-wrap:wrap}.selection-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.smallbtn{padding:8px 11px}.selected-counter{font-size:12px;color:var(--muted);padding:0 4px}.selected-counter b{color:var(--nav);font-size:15px}
.consolidated-tree{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}.tree-result{border-bottom:1px solid var(--line)}.tree-result:last-child{border-bottom:0}.tree-result[hidden]{display:none!important}
.tree-root{display:grid;grid-template-columns:42px minmax(155px,1fr) minmax(240px,1.7fr) 95px 145px;align-items:center;gap:10px;padding:13px 14px;background:#fff}.tree-root:hover{background:#f8fafc}.tree-check{display:flex;justify-content:center;align-items:center}.tree-check input{width:18px;height:18px;cursor:pointer}
.tree-toggle{display:flex;align-items:center;gap:8px;border:0;background:transparent;padding:5px 0;cursor:pointer;text-align:left;color:var(--nav);font:inherit}.tree-caret{font-size:11px;color:var(--blue);width:14px}.tree-region{font-weight:800}.tree-maininfo{display:flex;flex-direction:column;gap:3px}.tree-maininfo b{color:var(--nav)}.tree-maininfo span{font-size:12px;color:var(--muted)}.tree-emissions{display:flex;align-items:center;gap:6px}.tree-emissions small,.tree-range small{display:block;color:var(--muted);font-size:10px}.tree-range{font-size:12px;color:var(--nav)}
.tree-children{padding:0 14px 12px 55px;background:#fbfcfd;border-top:1px dashed #dfe6ec}.date-node{border-left:2px solid #c9d8e6;margin-top:9px;padding-left:12px}.date-node summary{display:flex;align-items:center;gap:8px;padding:7px 4px;cursor:pointer;color:var(--nav)}.date-branch{color:#8aa3b8;font-family:monospace}.date-count{font-size:11px;color:var(--muted);background:#eef3f7;border-radius:12px;padding:3px 8px}.date-emissions{margin:2px 0 8px 18px}.emission-line{display:grid;grid-template-columns:85px minmax(220px,1fr) 38px;gap:8px;align-items:center;padding:6px 8px;border-top:1px solid #edf1f4}.emission-line:first-child{border-top:0}.time-mark{font-weight:700;color:var(--nav);font-variant-numeric:tabular-nums}.emission-line audio{height:34px;width:280px;max-width:100%;margin:0}.no-audio{grid-column:2/4}.empty-state{padding:25px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:8px}
@media(max-width:1000px){.tree-root{grid-template-columns:36px 1fr 1.5fr 80px}.tree-range{grid-column:2/5}.smart-search-field{min-width:220px}}@media(max-width:700px){.tree-root{grid-template-columns:34px 1fr}.tree-maininfo,.tree-emissions,.tree-range{grid-column:2}.tree-children{padding-left:30px}.emission-line{grid-template-columns:70px 1fr 34px}.consolidated-toolbar{align-items:flex-start}.selection-tools{width:100%}}

/* ===== Consolidado institucional V1.7 ===== */
.consolidate-head{margin-bottom:18px}
.consolidate-head h1{margin-bottom:4px}
.con-filter-card{background:#fff;border:1px solid #dce5ed;border-radius:14px;padding:22px 24px;box-shadow:0 4px 18px rgba(16,43,68,.045);margin-bottom:18px}
.con-section-title{display:flex;align-items:center;gap:12px;padding-bottom:17px;margin-bottom:18px;border-bottom:1px solid #edf1f4}
.con-section-title .con-step{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;background:#edf5fb;color:#1e5e96;font-size:12px;font-weight:800}
.con-section-title b{display:block;color:#173650;font-size:14px}
.con-section-title small{display:block;color:#738394;font-size:12px;margin-top:2px}
.con-date-form{display:grid;grid-template-columns:210px 210px auto 1fr;gap:12px;align-items:end;margin-bottom:20px}
.con-date-form .field{margin:0}.con-date-form input{height:42px}
.con-update{height:42px;white-space:nowrap}
.con-search-block{max-width:760px}
.con-search-block>label{display:block;font-size:12px;font-weight:700;color:#506275;margin-bottom:7px}
.con-search-block>small{display:block;margin-top:6px;color:#8795a3;font-size:11px}
.con-search-wrap{height:46px;position:relative;display:flex;align-items:center}
.con-search-wrap input{width:100%;height:46px;border:1px solid #cbd7e1;border-radius:9px;padding:0 42px;font-size:13px;background:#fbfcfd;outline:none;transition:.18s}
.con-search-wrap input:focus{background:#fff;border-color:#3678ad;box-shadow:0 0 0 3px rgba(54,120,173,.1)}
.con-search-icon{position:absolute;left:14px;font-size:22px;color:#70869a;z-index:1;transform:rotate(-20deg)}
.con-clear{position:absolute;right:8px;width:30px;height:30px;border:0;background:transparent;border-radius:6px;color:#8493a0;font-size:21px;cursor:pointer}
.con-clear:hover{background:#eef3f7;color:#173650}
.con-results-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 14px;padding:0 4px}
.con-results-count{display:flex;align-items:center;gap:10px;color:#6d7e8e}
.con-results-count>span{font-size:25px;font-weight:800;color:#173650}
.con-results-count b{display:block;font-size:12px;color:#344c61}.con-results-count small{display:block;font-size:11px;color:#8795a3;margin-top:1px}
.con-selection-actions{display:flex;align-items:center;gap:8px}
.con-btn-light{height:38px;padding:0 13px;border:1px solid #d5e0e8;background:#fff;border-radius:8px;color:#3e566a;font-weight:700;font-size:11px;cursor:pointer}
.con-btn-light:hover{background:#f4f8fa;border-color:#bdccd8}
.con-selected-counter{padding:0 7px;color:#778797;font-size:11px;white-space:nowrap}.con-selected-counter b{color:#173650;font-size:15px;margin-right:3px}
.con-download{height:40px;white-space:nowrap}.con-download:disabled{opacity:.45;cursor:not-allowed}
.con-result-list{display:flex;flex-direction:column;gap:12px}
.con-result-card{background:#fff;border:1px solid #dce5ed;border-radius:13px;overflow:hidden;box-shadow:0 3px 14px rgba(16,43,68,.035);transition:border-color .18s,box-shadow .18s}
.con-result-card:hover{border-color:#c6d5e0;box-shadow:0 5px 18px rgba(16,43,68,.06)}
.con-result-card.selected{border-color:#8fb6d5;box-shadow:0 0 0 2px rgba(39,106,159,.08)}
.con-result-card.expanded{border-color:#bdcfdd}
.con-result-summary{min-height:88px;display:grid;grid-template-columns:42px 135px minmax(260px,1fr) 245px 105px;align-items:center;padding:0 22px;gap:12px}
.con-check-wrap{display:flex;align-items:center;justify-content:center;cursor:pointer}.con-check-wrap input{position:absolute;opacity:0;pointer-events:none}
.con-custom-check{width:20px;height:20px;border:1.5px solid #aebdca;border-radius:5px;background:#fff;position:relative;transition:.15s}
.con-check-wrap input:checked+.con-custom-check{background:#21679e;border-color:#21679e}
.con-check-wrap input:checked+.con-custom-check:after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}
.con-expand-btn{height:42px;border:0;background:transparent;display:flex;align-items:center;gap:8px;padding:0;cursor:pointer;text-align:left}
.con-chevron,.con-date-chevron{display:inline-flex;align-items:center;justify-content:center;color:#2c6899;font-size:25px;font-weight:400;transition:transform .18s}
.con-expand-btn[aria-expanded=true] .con-chevron,.con-date-toggle[aria-expanded=true] .con-date-chevron{transform:rotate(90deg)}
.con-region{font-size:13px;font-weight:800;color:#173650;letter-spacing:.3px}
.con-main-info{min-width:0}.con-media{font-size:14px;font-weight:800;color:#18364f;margin-bottom:5px}.con-spot{font-size:12px;color:#718191;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.con-period{padding-left:20px;border-left:1px solid #e8edf1}.con-period small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.35px;color:#8a98a5;margin-bottom:5px}.con-period b{font-size:12px;color:#435a6e}
.con-emissions{text-align:center;border-left:1px solid #e8edf1}.con-emissions span{display:block;font-size:22px;line-height:1;font-weight:800;color:#17754d}.con-emissions small{display:block;font-size:10px;color:#7e8c98;margin-top:5px}
.con-tree{background:#f8fafc;border-top:1px solid #e4ebf0;padding:20px 28px 22px 76px}
.con-tree-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.con-tree-head b{display:block;font-size:12px;color:#29465e;text-transform:uppercase;letter-spacing:.35px}.con-tree-head small{display:block;font-size:11px;color:#8493a0;margin-top:3px}.con-tree-head>span{background:#e9f1f7;color:#356989;border-radius:20px;padding:5px 10px;font-size:10px;font-weight:700}
.con-date-list{background:#fff;border:1px solid #e1e8ee;border-radius:10px;overflow:hidden}
.con-date-node+.con-date-node{border-top:1px solid #e8edf1}
.con-date-toggle{width:100%;height:48px;border:0;background:#fff;display:flex;align-items:center;gap:10px;padding:0 16px;cursor:pointer;text-align:left}
.con-date-toggle:hover{background:#f9fbfc}.con-date-node.open>.con-date-toggle{background:#f4f8fb}
.con-date-chevron{font-size:20px}.con-date-value{font-size:12px;font-weight:800;color:#29465e;min-width:90px}.con-date-line{height:1px;background:#e4eaf0;flex:1}.con-date-total{font-size:10px;font-weight:700;color:#668094;background:#f0f4f7;padding:5px 9px;border-radius:15px}
.con-emission-list{background:#fbfcfd;border-top:1px solid #e8edf1;padding:5px 16px}
.con-emission-row{min-height:52px;display:grid;grid-template-columns:105px minmax(240px,1fr) 38px;gap:12px;align-items:center;padding:7px 4px;border-bottom:1px solid #edf1f4}.con-emission-row:last-child{border-bottom:0}
.con-time span{display:block;color:#8a98a5;font-size:9px;text-transform:uppercase}.con-time b{font-size:12px;color:#334e63}
.con-audio audio{height:34px;width:300px;max-width:100%;margin:0}.con-audio-download{display:flex;width:32px;height:32px;align-items:center;justify-content:center;border-radius:7px;background:#eaf2f8;color:#226497;text-decoration:none;font-size:19px;font-weight:800}.con-audio-download:hover{background:#21679e;color:#fff}
.con-no-audio{font-size:11px;color:#9aa6b0;font-style:italic}.con-empty{background:#fff;border:1px dashed #cad6df;border-radius:12px;padding:30px;text-align:center;color:#758696;font-size:13px}
@media(max-width:1100px){
 .con-result-summary{grid-template-columns:38px 115px 1fr 180px 90px;padding:0 15px}
 .con-selection-actions{flex-wrap:wrap;justify-content:flex-end}
}
@media(max-width:820px){
 .con-date-form{grid-template-columns:1fr 1fr}.con-update{grid-column:1/-1}
 .con-results-toolbar{align-items:flex-start;flex-direction:column}.con-selection-actions{justify-content:flex-start}
 .con-result-summary{grid-template-columns:36px 1fr 85px;padding:13px 14px;min-height:auto}
 .con-expand-btn{grid-column:2}.con-main-info{grid-column:2}.con-period{grid-column:2;border-left:0;padding-left:0}.con-emissions{grid-column:3;grid-row:1/4}
 .con-check-wrap{grid-row:1/4}.con-tree{padding:16px}.con-emission-row{grid-template-columns:80px 1fr 34px}
}

/* ===== Reporte diario: selección individual V1.8 ===== */
.daily-download-actions{display:flex;flex-direction:column;gap:8px;align-items:stretch;min-width:170px}
.daily-download-actions .btn{text-align:center;justify-content:center}
.daily-download-actions .btn:disabled{opacity:.45;cursor:not-allowed}
.daily-check-col{width:34px!important;min-width:34px!important;text-align:center!important;padding-left:8px!important;padding-right:8px!important}
.daily-check-col input{width:17px;height:17px;accent-color:#21679e;cursor:pointer}
.daily-selected-row td{background:#f3f8fc}
.daily-selected-row td:first-child{box-shadow:inset 3px 0 0 #21679e}
@media(max-width:820px){.daily-download-actions{width:100%;min-width:0}.daily-download-actions .btn{width:100%}}
