:root{--bg:#f5f7fa;--panel:#fff;--text:#16202a;--muted:#667085;--line:#d9e0e7;--primary:#1d5f46;--primary2:#164937;--soft:#eaf3ef;--danger:#a52a2a}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}a{color:var(--primary);text-decoration:none}.top{background:#fff;border-bottom:1px solid var(--line);padding:14px 24px;display:flex;justify-content:space-between;gap:20px;align-items:center;position:sticky;top:0;z-index:20}.top>div{display:flex;gap:12px;align-items:center}.top strong{font-size:22px}.top span{color:var(--muted);font-size:13px}.nav{display:flex;gap:14px;flex-wrap:wrap}.nav a{font-size:14px;font-weight:650}.container{max-width:1400px;margin:24px auto;padding:0 20px}footer{text-align:center;padding:30px;color:var(--muted);font-size:13px}.lead{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:20px 0}.card,.panel,.login-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 2px 8px rgba(16,24,40,.04)}.card{padding:18px}.card small{display:block;color:var(--muted);margin-bottom:8px}.card strong{font-size:24px}.panel{padding:20px;margin:18px 0;overflow:auto}.split{display:grid;grid-template-columns:2fr 1fr;gap:18px;align-items:start}.login-card{max-width:440px;margin:70px auto;padding:28px}h1{margin-top:0}h2{margin-top:6px}label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:14px;margin-bottom:12px}input,select,textarea{width:100%;padding:10px 11px;border:1px solid #cbd5df;border-radius:8px;background:white;color:var(--text);font:inherit}textarea{resize:vertical}button,.btn{display:inline-block;border:0;border-radius:8px;padding:10px 14px;background:var(--primary);color:white;font-weight:700;cursor:pointer}.btn.secondary{background:#eef2f6;color:var(--text);border:1px solid var(--line)}button:hover{background:var(--primary2)}.grid-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.grid-form .full{grid-column:1/-1}.inline-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.inline-form label{min-width:260px;margin:0}.alert{padding:12px 14px;border-radius:8px;margin:12px 0}.alert.ok{background:#e9f7ef;color:#125337}.alert.error{background:#fdecec;color:#8b1d1d}table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:#f8fafc}.tag{font-size:11px;padding:3px 6px;background:#f1e7e7;border-radius:99px;color:#7b2020}.bar-row{display:grid;grid-template-columns:190px 1fr 150px;gap:12px;align-items:center;margin:10px 0}.bar-track{height:12px;background:#e8edf1;border-radius:99px;overflow:hidden}.bar-fill{height:100%;background:var(--primary);border-radius:99px;min-width:2px}.bar-value{text-align:right;font-variant-numeric:tabular-nums}.title-actions,.act-toolbar{display:flex;justify-content:space-between;gap:10px;align-items:center}.act-toolbar{margin-bottom:14px}.act{background:white;border:1px solid var(--line);max-width:1050px;margin:0 auto;padding:34px}.act>header{display:flex;justify-content:space-between;border-bottom:2px solid #222;padding-bottom:14px}.act>h1{text-align:center;font-size:22px;margin:26px 0}.act h2{font-size:17px;margin-top:24px;border-bottom:1px solid #444;padding-bottom:5px}.act-table th{background:#f2f2f2}.act-box{min-height:80px;border:1px solid #999;padding:12px;white-space:normal}.note{font-size:12px;color:#555}.signatures{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:60px;text-align:center}.sign-line{border-top:1px solid #333;margin-bottom:7px}.act-footer{text-align:center;color:#666;font-size:11px;margin-top:40px}.print-only{display:none}@media(max-width:900px){.top{display:block}.nav{margin-top:10px}.split,.grid-form{grid-template-columns:1fr}.bar-row{grid-template-columns:1fr}.bar-value{text-align:left}.signatures{grid-template-columns:1fr}.act{padding:18px}.act>header{display:block}.grid-form .full{grid-column:auto}}@media print{body{background:#fff}.top,footer,.no-print,.alert{display:none!important}.container{max-width:none;margin:0;padding:0}.act{border:0;padding:0;max-width:none}.print-only{display:block}.act-table{font-size:11px}.act h1{font-size:18px}.act h2{font-size:14px}a{color:#000}}
.dashboard-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.dashboard-filter{display:flex;gap:10px;align-items:end;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px}.dashboard-filter label{margin:0;min-width:190px}.dashboard-cards .card span{display:block;margin-top:7px;color:var(--muted);font-size:12px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(320px,1fr);gap:18px;align-items:start}.map-panel{overflow:visible}.panel-title{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.panel-title h2{margin-bottom:4px}.panel-title .lead{margin:0}.data-badge{white-space:nowrap;border:1px solid var(--line);background:var(--soft);padding:6px 9px;border-radius:99px;font-size:12px;font-weight:700}.heat-map{height:520px;border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-top:14px}.map-legend{display:flex;align-items:center;gap:9px;margin-top:10px;color:var(--muted);font-size:12px}.heat-gradient{width:180px;height:10px;border-radius:99px;background:linear-gradient(90deg,#2c7bb6,#abd9e9,#ffffbf,#fdae61,#d7191c)}.data-warning{font-size:13px;background:#fff8e6;border:1px solid #efd799;padding:10px 12px;border-radius:8px}.metric-row{margin:16px 0}.metric-row>div:first-child{display:flex;justify-content:space-between;gap:8px}.metric-row small{color:var(--muted)}.metric-track{height:9px;background:#e8edf1;border-radius:99px;overflow:hidden;margin-top:7px}.metric-fill{height:100%;background:var(--primary);border-radius:99px;min-width:2px}.bar-label small{display:block;color:var(--muted);font-size:11px;margin-top:3px}
@media(max-width:1050px){.dashboard-head{display:block}.dashboard-filter{margin-top:12px}.dashboard-grid{grid-template-columns:1fr}.heat-map{height:430px}}
@media(max-width:640px){.dashboard-filter{display:grid;grid-template-columns:1fr;width:100%}.dashboard-filter label{min-width:0}.heat-map{height:360px}.panel-title{display:block}.data-badge{display:inline-block;margin-top:8px}}

/* SIGEDAR 1.1 · captura en campo, hogares y agro rural */
.gps-box{display:flex;align-items:end;gap:14px;flex-wrap:wrap;padding:14px;border:1px dashed #a8b8c7;border-radius:10px;background:#f8fbfa}.gps-fields{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:12px;flex:1}.gps-fields label{margin:0}.gps-status{font-size:13px;color:var(--muted);min-width:260px}.gps-status.ok{color:#12633f;font-weight:650}.gps-status.error{color:#9a2626;font-weight:650}.household-unit{border:1px solid var(--line);border-radius:10px;padding:16px;margin:12px 0;background:#fbfcfd}.subhead{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px}.subhead small{display:block;color:var(--muted);font-weight:400;margin-top:3px}.subhead h3,.subhead h4{margin:0}.grid-form.compact{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:10px}.members{display:grid;gap:9px;margin:10px 0}.member-row,.repeater-row{display:grid;grid-template-columns:2fr 1.2fr 1.2fr .7fr 1.5fr auto;gap:9px;align-items:end;padding:10px;border:1px solid #e3e8ee;border-radius:9px;background:#fff}.member-row label,.repeater-row label{margin:0}.repeater{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}.repeater-row{grid-template-columns:repeat(4,minmax(120px,1fr));margin:9px 0}.btn.small,button.small{padding:8px 10px;font-size:12px}.btn.danger{background:#fff1f1;color:#8a2424;border:1px solid #ecc5c5}.btn.danger:hover{background:#fde6e6}.rural-section{border:2px solid #dbe9e2;border-radius:12px;padding:18px;background:#fbfefd}.draft-banner{padding:12px 14px;background:#fff8df;border:1px solid #e6d29a;border-radius:8px;color:#6f5500}.status-pill{display:inline-block;padding:5px 9px;border-radius:99px;background:#e7eef5;font-size:12px;font-weight:800}.status-pill.draft{background:#fff1b8;color:#6d5100}.act{position:relative}.draft-watermark{position:absolute;right:28px;top:95px;transform:rotate(-12deg);font-size:48px;font-weight:900;color:rgba(150,110,0,.13);letter-spacing:4px;pointer-events:none}.act-draft{border-style:dashed}
@media(max-width:1100px){.member-row,.repeater-row{grid-template-columns:repeat(2,minmax(0,1fr))}.gps-fields,.grid-form.compact{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.member-row,.repeater-row,.gps-fields,.grid-form.compact{grid-template-columns:1fr}.gps-status{min-width:0}.subhead{align-items:flex-start;flex-direction:column}}
@media print{.draft-watermark{font-size:42px}.status-pill{border:1px solid #777;background:transparent!important;color:#000!important}}

/* SIGEDAR 1.2.0 · censo, salud, infraestructura, exportaciones */
.workflow-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:16px 0}.workflow-steps span{padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--muted);font-size:13px;font-weight:750;text-align:center}.workflow-steps span.done{background:#eaf6ef;color:#145a3e;border-color:#bfdccc}.workflow-steps span.active{background:#fff5cf;color:#6e5600;border-color:#e6d28e}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.summary-grid>div{border:1px solid var(--line);border-radius:9px;padding:11px;background:#fbfcfd}.summary-grid strong{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}.summary-grid span{font-weight:700}.rural-summary{margin-top:12px;padding:11px 13px;border-radius:9px;background:#eef8f2;border:1px solid #cfe5d8}.form-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.action-attention{font-weight:800;text-decoration:underline}.census-summary .panel-title{align-items:center}@media(max-width:800px){.workflow-steps,.summary-grid{grid-template-columns:1fr 1fr}.title-actions{align-items:flex-start;flex-direction:column}}@media(max-width:520px){.workflow-steps,.summary-grid{grid-template-columns:1fr}}

/* SIGEDAR 1.2.0 */
.construction-checklist{display:grid;gap:14px}.construction-checklist fieldset{border:1px solid var(--line);border-radius:10px;padding:14px}.construction-checklist legend{font-weight:800;padding:0 6px}.check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.check-card{display:flex;flex-direction:row;align-items:center;gap:8px;margin:0;padding:9px 10px;border:1px solid #e0e6ec;border-radius:8px;background:#fff;font-weight:550}.check-card input{width:auto;margin:0}.loss-grid{display:grid;gap:8px}.loss-item{display:grid;grid-template-columns:1.5fr .6fr .9fr 1.5fr;gap:9px;align-items:end;border:1px solid #e3e8ee;border-radius:9px;padding:10px;background:#fff}.loss-item label{margin:0}.loss-check{display:flex;flex-direction:row;align-items:center!important;gap:8px}.loss-check input{width:auto}.member-row{grid-template-columns:repeat(4,minmax(150px,1fr))}.member-row .wide{grid-column:span 2}.member-row>button{align-self:end}.head-check{display:flex!important;flex-direction:row!important;align-items:center;justify-content:space-between;padding:10px;border:1px solid #dce3e9;border-radius:8px}.head-check input{width:auto}.export-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.section-note{background:#f8fafc;border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:13px;color:var(--muted)}
@media(max-width:1100px){.check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.loss-item,.member-row{grid-template-columns:repeat(2,minmax(0,1fr))}.member-row .wide{grid-column:auto}}
@media(max-width:640px){.check-grid,.loss-item,.member-row{grid-template-columns:1fr}}

/* SIGEDAR 1.3.0 · evidencias móviles y dictado por voz */
.evidence-panel{scroll-margin-top:16px}.evidence-upload{margin-top:14px;border-top:1px solid var(--line);padding-top:14px}.evidence-file-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.file-capture-card{display:flex;flex-direction:column;gap:7px;border:1px dashed #9eafbd;border-radius:12px;padding:14px;background:#f8fbfc;font-weight:800;cursor:pointer}.file-capture-card input[type=file]{padding:9px;background:#fff}.file-capture-card small{font-weight:500;color:var(--muted)}.evidence-preview{display:grid;gap:6px;margin:10px 0}.evidence-preview-item{font-size:12px;padding:7px 9px;border:1px solid var(--line);border-radius:7px;background:#fff}.evidence-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}.evidence-gallery-global{grid-template-columns:repeat(4,minmax(0,1fr))}.evidence-card{position:relative;border:1px solid var(--line);border-radius:11px;overflow:hidden;background:#fff}.evidence-media{aspect-ratio:4/3;background:#e9eef2;display:flex;align-items:center;justify-content:center;overflow:hidden}.evidence-media img,.evidence-media video{width:100%;height:100%;object-fit:cover}.evidence-meta{display:grid;gap:5px;padding:11px}.evidence-meta small{color:var(--muted);font-size:11px}.evidence-meta p{margin:4px 0;font-size:13px}.evidence-delete{padding:0 11px 11px}.dictation-controls{display:flex;align-items:center;gap:9px;margin-top:7px;flex-wrap:wrap}.dictation-status{font-size:12px;color:var(--muted)}.dictation-button.recording{background:#8f1f1f;color:#fff;border-color:#8f1f1f}.act-evidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.act-evidence-item{border:1px solid #bbb;padding:7px}.act-evidence-item img{width:100%;max-height:230px;object-fit:contain;background:#f3f3f3}.act-evidence-item small{display:block;margin-top:5px}.act-evidence-item p{font-size:11px;margin:5px 0}.act-video-placeholder{min-height:120px;background:#eee;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:800;text-align:center;padding:8px}.evidence-panel .grid-form.compact{margin-top:12px}
@media(max-width:1050px){.evidence-gallery-global{grid-template-columns:repeat(3,minmax(0,1fr))}.evidence-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.evidence-file-grid,.evidence-gallery,.evidence-gallery-global,.act-evidence-grid{grid-template-columns:1fr}.file-capture-card{padding:12px}.evidence-media{aspect-ratio:16/10}.evidence-upload .form-actions{align-items:stretch}.evidence-upload .form-actions .btn,.evidence-upload .form-actions button{width:100%}.dictation-controls{align-items:flex-start;flex-direction:column}.dictation-button{width:100%}.container{padding-left:10px;padding-right:10px}.panel{padding-left:14px;padding-right:14px}}
@media print{.act-evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr));page-break-inside:auto}.act-evidence-item{break-inside:avoid}.act-evidence-item img{max-height:190px}}

/* SIGEDAR 1.4.0 · formularios compactos por pestañas */
.compact-form-tabs{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden;margin-top:8px}
.compact-tab-nav{display:flex;gap:4px;padding:8px;background:#f3f6f8;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:thin;position:relative;top:auto;z-index:2}
.compact-tab-button{flex:0 0 auto;background:transparent;color:#344054;border:1px solid transparent;border-radius:8px;padding:9px 12px;font-size:13px;font-weight:800;white-space:nowrap}
.compact-tab-button:hover{background:#e8efec;color:var(--primary)}
.compact-tab-button.active{background:var(--primary);color:#fff;border-color:var(--primary)}
.compact-tab-button[hidden]{display:none!important}
.compact-tab-panels{padding:14px}
.form-tab-panel{margin:0!important;gap:10px!important}
.form-tab-panel[hidden]{display:none!important}
.form-tab-panel>label{margin-bottom:0}
.form-tab-panel h3{margin:2px 0 4px;font-size:16px}
.form-tab-panel .lead{margin:0 0 4px;font-size:12px}
.compact-form-tabs input,.compact-form-tabs select,.compact-form-tabs textarea{padding:8px 9px}
.compact-form-tabs label{font-size:13px;gap:4px}
.grid-form>.form-actions{position:relative;bottom:auto;z-index:2;background:#fff;border-top:1px solid var(--line);padding:10px 0;margin-top:8px}

/* Construcción: acordeones compactos y checkbox junto al texto */
.construction-checklist{gap:8px!important}
.construction-group{border:1px solid var(--line);border-radius:9px;background:#fbfcfd;overflow:hidden}
.construction-group summary{cursor:pointer;list-style:none;padding:10px 12px;font-weight:800;font-size:13px;background:#f5f7f9;display:flex;align-items:center;justify-content:space-between}
.construction-group summary::-webkit-details-marker{display:none}
.construction-group summary::after{content:'+';font-size:18px;line-height:1;color:var(--primary)}
.construction-group[open] summary::after{content:'−'}
.construction-group .check-grid{padding:10px;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.construction-group .check-card{display:flex!important;flex-direction:row!important;justify-content:flex-start!important;align-items:center!important;min-height:38px;padding:7px 9px!important;gap:7px!important;margin:0!important;border:1px solid #e2e7ec;border-radius:7px;background:#fff;font-size:12px;font-weight:650}
.construction-group .check-card input[type=checkbox]{width:16px!important;height:16px!important;min-width:16px!important;flex:0 0 16px!important;margin:0!important;padding:0!important}
.construction-group .check-card span{line-height:1.2}
.construction-notes{margin:0!important}
.construction-notes textarea{min-height:58px}

/* Enseres: una línea por bien; detalles solo cuando está seleccionado */
.loss-grid{gap:5px!important}
.loss-item{display:grid!important;grid-template-columns:minmax(190px,.9fr) minmax(0,2.6fr)!important;gap:8px!important;align-items:center!important;padding:6px 8px!important;border-radius:8px!important;background:#fbfcfd!important;min-height:42px}
.loss-item .loss-check{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:7px!important;margin:0!important;font-weight:750!important}
.loss-item .loss-check input[type=checkbox]{width:16px!important;height:16px!important;min-width:16px!important;flex:0 0 16px!important;margin:0!important;padding:0!important}
.loss-fields{display:none;grid-template-columns:90px 140px minmax(160px,1fr);gap:7px;align-items:end}
.loss-item.active{background:#f2f8f5!important;border-color:#bed8cb!important}
.loss-item.active .loss-fields{display:grid}
.loss-fields label{margin:0!important;font-size:11px!important;font-weight:700!important}
.loss-fields label span{display:block;margin-bottom:3px;color:var(--muted)}
.loss-fields input{padding:7px 8px!important;font-size:12px!important}
.loss-note{min-width:0}

/* Hogares: tarjetas más densas */
.form-tab-panel[data-tab-panel="households"] .household-unit{padding:11px;margin:7px 0}
.form-tab-panel[data-tab-panel="households"] .member-row{padding:8px;gap:7px}
.form-tab-panel[data-tab-panel="households"] .members{gap:7px;margin:7px 0}
.form-tab-panel[data-tab-panel="households"] .subhead{margin-bottom:7px}

/* Agro dentro de su propia pestaña */
.form-tab-panel[data-tab-panel="rural"]>.rural-section{grid-column:1/-1;margin:0;padding:12px;border-width:1px}
.form-tab-panel[data-tab-panel="rural"] .repeater{margin-top:10px;padding-top:10px}
.form-tab-panel[data-tab-panel="rural"] .repeater-row{padding:8px;gap:7px}

@media(max-width:1100px){
  .construction-group .check-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .loss-item{grid-template-columns:minmax(180px,.8fr) minmax(0,2.2fr)!important}
}
@media(max-width:820px){
  .compact-tab-nav{top:auto}
  .construction-group .check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .loss-item{grid-template-columns:1fr!important}
  .loss-fields{grid-template-columns:80px 130px minmax(130px,1fr)}
}
@media(max-width:560px){
  .compact-tab-panels{padding:10px}
  .compact-tab-button{padding:8px 10px;font-size:12px}
  .construction-group .check-grid{grid-template-columns:1fr}
  .loss-fields{grid-template-columns:1fr 1fr}
  .loss-note{grid-column:1/-1}
  .grid-form>.form-actions{margin-left:-4px;margin-right:-4px;padding:8px 4px}
  .grid-form>.form-actions button,.grid-form>.form-actions .btn{flex:1 1 100%}
}

/* SIGEDAR v1.5.0 - usuarios, superusuario y portal ciudadano */
.nav-user{font-size:.78rem;opacity:.75;padding:.4rem .55rem;white-space:nowrap}
.admin-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr);gap:1rem;align-items:start}
.role-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.18rem .55rem;background:#e8eef2;font-size:.78rem;font-weight:700;white-space:nowrap}
.role-badge.super{background:#ffe9b6;color:#714d00}
.check-inline{display:flex!important;flex-direction:row!important;align-items:center;gap:.55rem}
.check-inline input{width:auto!important}
.superuser-act-panel{border:2px solid #d7a52d;background:#fffaf0;display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.5fr);gap:1rem;align-items:start}
.superuser-act-panel h2{margin:.35rem 0 .3rem}.superuser-act-panel p{margin:.25rem 0;color:#5c5547}
.superuser-actions textarea{min-height:70px}.superuser-actions .danger{background:#a52a2a;border-color:#a52a2a;color:#fff}
.public-body{background:#f4f7f9}.public-container{max-width:1500px}.public-top{position:relative}
.public-hero{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.4rem 0 .75rem}.public-hero h1{margin:.2rem 0;font-size:clamp(1.65rem,3vw,2.55rem)}.public-hero p{max-width:850px;color:#52606d}.public-kicker{text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:800;color:#176b50}
.public-filter{padding:.85rem 1rem}.public-stats{grid-template-columns:repeat(4,minmax(150px,1fr))}.public-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:1rem}.public-map{min-height:520px}.login-public-link{text-align:center;margin-top:1rem}.login-public-link a{font-weight:700}
@media(max-width:1000px){.admin-grid,.public-grid,.superuser-act-panel{grid-template-columns:1fr}.public-stats{grid-template-columns:repeat(2,minmax(130px,1fr))}.public-map{min-height:380px}.nav-user{display:none}}
@media(max-width:600px){.public-hero{align-items:flex-start;flex-direction:column}.public-stats{grid-template-columns:1fr 1fr}.public-map{min-height:320px}}

/* SIGEDAR v1.5.1 · corrección de pestañas que ocultaban la primera fila */
.compact-form-tabs{isolation:isolate}
.compact-tab-nav{transform:none!important}
.compact-tab-panels{position:relative;z-index:1}
.form-tab-panel{padding-top:2px}

/* SIGEDAR v1.6.0 · identidad institucional ASOMUR y municipios */
.top-brand{display:flex;align-items:center;gap:10px;min-width:290px}
.top-brand-logo{width:112px;height:48px;object-fit:contain;object-position:left center;display:block}
.top-brand>div{display:flex;flex-direction:column;gap:1px;min-width:0}
.top-brand>div strong{font-size:16px;line-height:1.1}
.top-brand>div span{font-size:11px;line-height:1.25;max-width:360px}
.institution-brand{display:grid;grid-template-columns:minmax(180px,1fr) auto minmax(180px,1fr);align-items:center;gap:18px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin:0 0 18px;min-height:92px}
.institution-logo{display:flex;align-items:center;gap:10px;min-width:0}
.institution-logo img{display:block;width:92px;height:64px;object-fit:contain;background:#fff;border-radius:6px}
.institution-logo span{font-size:11px;color:var(--muted);font-weight:700;line-height:1.25}
.institution-logo.municipal{justify-self:end;justify-content:flex-end;text-align:right}
.institution-logo.municipal img{width:76px;height:68px}
.institution-logo.placeholder{visibility:hidden}
.institution-brand-title{text-align:center;display:flex;flex-direction:column;gap:2px;white-space:nowrap}
.institution-brand-title strong{font-size:22px;letter-spacing:.02em;color:var(--primary)}
.institution-brand-title span{font-size:12px;color:var(--muted);font-weight:700}
.act>.institution-brand{border:0;border-bottom:2px solid #222;border-radius:0;padding:0 0 12px;margin-bottom:16px;box-shadow:none}
.public-container>.institution-brand{margin-top:4px}
@media(max-width:1050px){
  .top-brand{min-width:0}.top-brand-logo{width:96px;height:42px}.top-brand>div span{max-width:260px}
  .institution-brand{grid-template-columns:1fr auto 1fr;gap:10px}.institution-logo span{display:none}
}
@media(max-width:700px){
  .top-brand{width:100%}.top-brand-logo{width:88px;height:38px}.top-brand>div strong{font-size:14px}.top-brand>div span{font-size:10px;max-width:none}
  .institution-brand{grid-template-columns:1fr 1fr;grid-template-areas:"asomur municipal" "title title";padding:10px;min-height:0}
  .institution-logo.asomur{grid-area:asomur}.institution-logo.municipal{grid-area:municipal}.institution-logo.placeholder{grid-area:municipal}
  .institution-brand-title{grid-area:title;border-top:1px solid var(--line);padding-top:8px;white-space:normal}
  .institution-logo img{width:78px;height:54px}.institution-logo.municipal img{width:62px;height:56px}
}
@media print{
  .institution-brand{display:grid!important;grid-template-columns:1fr auto 1fr!important;border:0!important;border-bottom:2px solid #222!important;border-radius:0!important;padding:0 0 10px!important;margin:0 0 14px!important;min-height:78px!important;break-inside:avoid}
  .institution-logo span{display:block!important;font-size:9px!important}.institution-logo img{width:78px!important;height:56px!important}.institution-logo.municipal img{width:64px!important;height:58px!important}.institution-brand-title strong{font-size:18px!important}.institution-brand-title span{font-size:10px!important}
}
.nav .nav-offline{background:#eef7f2;border-radius:7px;padding:5px 7px;color:#0d6142}.nav .nav-offline:hover{background:#dcefe5}


/* SIGEDAR 2.1 · Reporte ciudadano */
.nav-alert-badge{display:inline-flex;min-width:20px;height:20px;padding:0 6px;align-items:center;justify-content:center;border-radius:999px;background:#c62828;color:#fff;font-size:.72rem;font-weight:800;margin-left:3px}.citizen-dashboard-alert{display:flex;align-items:center;justify-content:space-between;gap:20px;border-left:6px solid #d97706;background:linear-gradient(90deg,#fff8eb,#fff)}.citizen-dashboard-alert h2{margin:.25rem 0}.citizen-official-warning,.citizen-validation-warning{padding:14px 16px;border-radius:12px;background:#fff4df;border:1px solid #f0c36d;margin:12px 0}.citizen-pending-row{background:#fffaf0}.citizen-report-panel{max-width:1100px;margin-inline:auto}.citizen-report-form .form-section{padding:10px 0 18px;border-bottom:1px solid #e7ece9}.citizen-report-form .form-section:last-of-type{border-bottom:0}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.span-2{grid-column:span 2}.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}.declaration-box{display:flex!important;gap:10px;align-items:flex-start;background:#eef7f2;border:1px solid #bdd9ca;padding:14px;border-radius:12px;margin:15px 0}.declaration-box input{width:auto!important;margin-top:3px}.citizen-submit{font-size:1.05rem;padding:14px 24px}.community-repeat-row{display:grid;grid-template-columns:1.4fr .8fr 1.6fr 42px;gap:8px;margin:8px 0}.community-animal-list .community-repeat-row{grid-template-columns:1.4fr .8fr .8fr 42px}.remove-row{background:#f4eeee;color:#a00;border:0;border-radius:8px;font-size:1.2rem}.citizen-track-card{max-width:900px;margin-inline:auto}.tracking-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0}.tracking-steps>div{padding:16px;border-radius:12px;background:#f1f3f2;color:#68726d;text-align:center}.tracking-steps>div.done{background:#e6f4ec;color:#175c3e;font-weight:700}.citizen-status{white-space:nowrap}.citizen-hero{margin-bottom:14px}
@media(max-width:850px){.grid-3,.grid-2{grid-template-columns:1fr}.span-2{grid-column:auto}.community-repeat-row,.community-animal-list .community-repeat-row{grid-template-columns:1fr 1fr}.community-repeat-row .remove-row{grid-column:2}.citizen-dashboard-alert{align-items:flex-start;flex-direction:column}.tracking-steps{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.tracking-steps{grid-template-columns:1fr}.community-repeat-row,.community-animal-list .community-repeat-row{grid-template-columns:1fr}.community-repeat-row .remove-row{grid-column:auto}}

/* SIGEDAR 2.3.0 · Analítica, exportación selectiva y validación ciudadana */
.analytics-filter{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));gap:10px;align-items:end}.analytics-filter label{min-width:0}.analytics-filter button,.analytics-filter .btn{min-height:42px}
.analytics-cards{margin:12px 0 16px}.analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.chart-panel{min-width:0}.chart-wrap{position:relative;min-height:340px;height:340px}.chart-wrap.chart-small{min-height:300px;height:300px}.mini-table-wrap{max-height:360px;overflow:auto;margin-top:12px;border-top:1px solid var(--line)}.mini-table-wrap table{margin:0}.mini-table-wrap thead{position:sticky;top:0;background:#fff;z-index:1}.public-chart-grid{margin-top:1rem}.public-zone-chart{grid-column:1/-1}.public-community-stats{margin-top:10px;grid-template-columns:repeat(3,minmax(160px,1fr))}
.export-builder{display:grid;gap:16px}.export-filter-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:10px}.export-dataset-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.export-dataset-head h2{margin:0 0 3px}.export-dataset-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:8px}.dataset-option{display:flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important;border:1px solid var(--line);border-radius:9px;background:#fbfcfd;padding:10px 11px!important;font-weight:700!important;cursor:pointer}.dataset-option input{width:17px!important;height:17px!important;min-width:17px!important;margin:0!important}.export-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.official-dwelling-details{margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fbfcfd}.official-dwelling-details h3{margin:14px 0 6px}.official-dwelling-details h3:first-child{margin-top:0}.duplicate-panel{border-left:5px solid #d97706}.duplicate-panel .table-wrap{margin-top:8px}
@media(max-width:1200px){.analytics-filter{grid-template-columns:repeat(3,minmax(160px,1fr))}.export-filter-grid{grid-template-columns:repeat(3,minmax(160px,1fr))}.export-dataset-grid{grid-template-columns:repeat(3,minmax(170px,1fr))}}
@media(max-width:900px){.analytics-grid{grid-template-columns:1fr}.chart-wrap{height:320px}.export-dataset-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}.public-community-stats{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.analytics-filter,.export-filter-grid{grid-template-columns:1fr}.export-dataset-head{align-items:flex-start;flex-direction:column}.export-dataset-grid{grid-template-columns:1fr}.chart-wrap,.chart-wrap.chart-small{height:290px;min-height:290px}.public-community-stats{grid-template-columns:1fr}}

/* SIGEDAR 2.3.4 · inspección ciudadana, calidad y duplicados */
.inspection-progress-badge{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:110px}.inspection-progress-badge strong{font-size:28px;line-height:1;color:var(--primary)}.inspection-progress-badge span{font-size:11px;color:#667085;font-weight:700}.citizen-inspection-form{gap:0}.inspection-tab-nav{display:flex;gap:5px;overflow-x:auto;padding:8px;background:#f3f6f8;border:1px solid var(--line);border-radius:12px 12px 0 0;scrollbar-width:thin}.inspection-tab-button{flex:0 0 auto;border:1px solid transparent;background:transparent;color:#344054;border-radius:8px;padding:9px 12px;font-size:13px;font-weight:800;white-space:nowrap}.inspection-tab-button.active{background:var(--primary);color:#fff}.inspection-tab-button[hidden]{display:none!important}.inspection-tab-panel{border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px;padding:14px;background:#fff}.inspection-tab-panel[hidden]{display:none!important}.inspection-tab-panel h3{margin-top:12px}.inspection-form-actions{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.quality-card{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fbfcfd}.quality-card.ready{border-color:#9ed5b8;background:#f5fbf7}.quality-card.pending{border-color:#e5c878;background:#fffaf0}.quality-score{display:flex;align-items:end;gap:10px}.quality-score strong{font-size:36px;line-height:1;color:var(--primary)}.quality-score span{font-size:13px;color:#667085;font-weight:700}.quality-meter{height:10px;background:#e8ecef;border-radius:20px;overflow:hidden;margin:10px 0 14px}.quality-meter i{display:block;height:100%;background:var(--primary);border-radius:inherit}.quality-errors,.quality-warnings{margin:6px 0 12px;padding-left:20px}.quality-errors li{color:#9b1c1c;margin:5px 0}.quality-warnings li{color:#725b00;margin:5px 0}.duplicate-action-form{min-width:260px}.duplicate-action-form>input[name="notes"]{width:100%;margin-bottom:7px}.duplicate-buttons{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:5px}.duplicate-history{margin-top:12px}.duplicate-history summary{cursor:pointer;font-weight:800;color:var(--primary)}.compact-list{margin:6px 0 12px;padding-left:20px}.btn.small{padding:6px 8px;font-size:11px}
@media(max-width:720px){.inspection-progress-badge{align-items:flex-start}.inspection-tab-panel{padding:10px}.inspection-form-actions{position:sticky;bottom:58px;background:#fff;padding:10px 0;z-index:3}.inspection-form-actions .btn{flex:1 1 100%;text-align:center}.duplicate-action-form{min-width:220px}}

/* SIGEDAR 2.3.5 · QR seguro de casos */
.title-action-buttons{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;justify-content:flex-end}
.case-scan-card{max-width:920px;margin-inline:auto}
.case-scan-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;border-bottom:1px solid #dce8e2;padding-bottom:1rem;margin-bottom:1rem}
.case-scan-head h1{margin:.35rem 0 .15rem;font-size:clamp(1.55rem,5vw,2.35rem)}
.case-scan-head p{margin:0;color:#60706a}
.case-scan-progress{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:1rem;background:#f5faf7;border:1px solid #d8e8df;border-radius:14px;padding:.85rem 1rem;margin-bottom:1rem}
.case-scan-progress>div:first-child{display:flex;align-items:baseline;gap:.4rem}.case-scan-progress strong{font-size:1.45rem}.case-scan-progress span{color:#60706a;font-size:.9rem}
.case-scan-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin:1rem 0}
.case-scan-grid>div{background:#f8fbfa;border:1px solid #e1ebe6;border-radius:12px;padding:.75rem;min-width:0}.case-scan-grid span{display:block;color:#687870;font-size:.78rem;margin-bottom:.2rem}.case-scan-grid strong{display:block;overflow-wrap:anywhere;font-size:.95rem}
.case-scan-actions{display:flex;gap:.55rem;flex-wrap:wrap;margin-top:1rem}
.case-qr-print{max-width:920px;margin:1rem auto}.case-qr-print-brand{border-bottom:1px solid #dde8e3;padding-bottom:.9rem;margin-bottom:1rem}.case-qr-print-body{display:grid;grid-template-columns:1fr 330px;gap:2rem;align-items:center}.case-qr-print-info h1{font-size:2.2rem;margin:.55rem 0}.case-qr-image{display:flex;justify-content:center}.case-qr-image img{width:min(100%,320px);height:auto;border:1px solid #d6e3dd;border-radius:16px;padding:10px;background:#fff}.case-qr-print-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.4rem}
@media(max-width:820px){.case-scan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.case-qr-print-body{grid-template-columns:1fr}.case-qr-image{order:-1}.case-qr-image img{width:min(78vw,320px)}}
@media(max-width:520px){.case-scan-head{flex-direction:column}.case-scan-grid{grid-template-columns:1fr}.case-scan-actions .btn{width:100%;text-align:center}.title-action-buttons{justify-content:flex-start}.case-scan-progress{grid-template-columns:1fr}}
@media print{.no-print,.top .nav,footer{display:none!important}.top{box-shadow:none;border-bottom:1px solid #bbb}.container{max-width:none!important;padding:0!important}.panel.case-qr-print{border:0!important;box-shadow:none!important;margin:0!important;padding:0!important}.case-qr-print-body{grid-template-columns:1fr 300px!important}.case-qr-image img{width:290px!important}.case-qr-print .institution-brand{break-inside:avoid}.case-qr-print{break-inside:avoid}}

/* SIGEDAR 2.4.0 · analítica avanzada, informes personalizados y portal público */
.analytics-filter-v240{grid-template-columns:repeat(5,minmax(145px,1fr))}
.analytics-cards-v240{grid-template-columns:repeat(4,minmax(170px,1fr))}
.heat-map-v240{min-height:470px}
.analytics-tab-nav{display:flex;gap:6px;overflow-x:auto;margin:14px 0 10px;padding:7px;background:#eef3f0;border:1px solid var(--line);border-radius:12px;scrollbar-width:thin}
.analytics-tab{flex:0 0 auto;border:0;background:transparent;color:#33433c;padding:9px 13px;border-radius:8px;font-weight:800;cursor:pointer;white-space:nowrap}
.analytics-tab.active{background:var(--primary);color:#fff;box-shadow:0 2px 8px rgba(20,107,74,.18)}
.analytics-grid-v240{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.analytics-grid-v240 .chart-wide{grid-column:1/-1}
.chart-panel-v240{padding:14px}
.chart-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:5px}
.chart-card-head h2{margin:0 0 3px;font-size:1.03rem}
.chart-card-head .section-note{margin:0;max-width:620px}
.chart-model-label{display:flex!important;flex-direction:row!important;align-items:center!important;gap:6px!important;font-size:.75rem!important;white-space:nowrap;color:#667085}
.chart-model-label select{width:auto!important;min-width:135px!important;padding:6px 28px 6px 8px!important;font-size:.77rem!important}
.analytics-grid-v240 .chart-wrap{height:300px;min-height:300px}
.analytics-detail-table{max-height:70vh;overflow:auto}.analytics-detail-table thead{position:sticky;top:0;z-index:2;background:#fff}.analytics-detail-table td{white-space:nowrap}
.export-filter-grid-v240{grid-template-columns:repeat(4,minmax(155px,1fr))}
.pdf-builder{padding:12px;border:1px solid var(--line);border-radius:12px;background:#f9fbfa}.pdf-section-grid{grid-template-columns:repeat(4,minmax(170px,1fr))}
.public-privacy-banner{margin:12px 0;padding:13px 16px;border:1px solid #c7ddd2;border-left:5px solid var(--primary);border-radius:12px;background:#f4faf7;color:#2e443b;line-height:1.45}
.public-stats-v240{grid-template-columns:repeat(4,minmax(150px,1fr))}.public-chart-grid-v240{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.public-data-note{margin:16px 0;padding:12px 14px;border-radius:10px;background:#f5f7f9;color:#5e6b65;font-size:.88rem;text-align:center}
@media(max-width:1180px){.analytics-filter-v240{grid-template-columns:repeat(3,minmax(150px,1fr))}.analytics-cards-v240{grid-template-columns:repeat(3,minmax(160px,1fr))}.export-filter-grid-v240,.pdf-section-grid{grid-template-columns:repeat(3,minmax(160px,1fr))}}
@media(max-width:850px){.analytics-grid-v240{grid-template-columns:1fr}.analytics-grid-v240 .chart-wide{grid-column:auto}.analytics-cards-v240,.public-stats-v240{grid-template-columns:repeat(2,minmax(140px,1fr))}.public-chart-grid-v240{grid-template-columns:1fr}.chart-card-head{flex-direction:column}.chart-model-label{width:100%;justify-content:space-between}.chart-model-label select{flex:1}.heat-map-v240{min-height:390px}.pdf-section-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}}
@media(max-width:620px){.analytics-filter-v240,.export-filter-grid-v240,.pdf-section-grid{grid-template-columns:1fr}.analytics-cards-v240,.public-stats-v240{grid-template-columns:1fr 1fr}.analytics-grid-v240 .chart-wrap{height:280px;min-height:280px}.analytics-tab-nav{margin-inline:-4px}.public-privacy-banner{font-size:.86rem}}
@media(max-width:430px){.analytics-cards-v240,.public-stats-v240{grid-template-columns:1fr}.heat-map-v240{min-height:340px}}

/* SIGEDAR 2.5.0 · necesidades, ayudas humanitarias, bodegas e inventario */
.module-tabs{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:1rem;padding-top:.8rem;border-top:1px solid #dfe9e4}.module-tabs a{display:inline-flex;align-items:center;padding:.5rem .75rem;border:1px solid #d9e6df;border-radius:999px;text-decoration:none;background:#fff;color:#254d3e;font-size:.88rem;font-weight:650}.module-tabs a.active{background:#146b4a;color:#fff;border-color:#146b4a}.compact-panel details>summary{cursor:pointer;padding:.25rem 0;font-size:1.05rem}.relief-form{margin-top:1rem}.need-status-form{display:grid;grid-template-columns:minmax(130px,1fr) minmax(150px,1fr);gap:.35rem;min-width:300px}.need-status-form input,.need-status-form select{font-size:.82rem;padding:.45rem}.need-status-form .btn{grid-column:1/-1}.small-link{display:inline-block;margin-top:.35rem;font-size:.8rem}.priority-pill{display:inline-flex;align-items:center;padding:.3rem .55rem;border-radius:999px;font-size:.78rem;font-weight:750;white-space:nowrap}.priority-inmediata{background:#ffe1e1;color:#8b1616}.priority-alta{background:#fff0d6;color:#8a4c00}.priority-media{background:#fff8d8;color:#745f00}.priority-baja{background:#e6f5eb;color:#17653d}.aid-transaction-form{margin-top:.75rem}.aid-item-row{display:grid;grid-template-columns:minmax(200px,2fr) minmax(100px,.7fr) minmax(110px,.8fr) minmax(100px,.8fr) minmax(130px,.9fr) auto;gap:.45rem;margin:.45rem 0;align-items:end}.aid-delivery-item{grid-template-columns:minmax(230px,2fr) minmax(110px,.7fr) auto}.aid-item-row .remove-row{width:38px;min-width:38px;padding:.55rem;background:#fff;border:1px solid #e3b5b5;color:#8d2727}.stock-low{background:#fff4e5!important}.stock-low td{border-color:#f0d7ad}.activity-row{display:grid;grid-template-columns:1fr auto;gap:.15rem .6rem;padding:.65rem 0;border-bottom:1px solid #edf2ef}.activity-row small{grid-column:1/-1;color:#66766f}.relief-dashboard-alert{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-left:5px solid #cf7c16}.public-relief-stats{margin-top:.8rem}.public-relief-stats>div{min-width:150px}.aid-transaction-form [data-duplicate-warning]{margin:0}.aid-transaction-form h3{margin:.2rem 0}.aid-transaction-form .panel-title{margin-bottom:.2rem}
@media(max-width:900px){.aid-item-row,.aid-delivery-item{grid-template-columns:1fr 1fr}.aid-item-row select{grid-column:1/-1}.aid-item-row .remove-row{grid-column:2;justify-self:end}.need-status-form{min-width:230px}.relief-dashboard-alert{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.module-tabs{display:grid;grid-template-columns:1fr 1fr}.module-tabs a{justify-content:center;border-radius:10px}.aid-item-row,.aid-delivery-item{grid-template-columns:1fr}.aid-item-row>*{grid-column:1!important}.aid-item-row .remove-row{justify-self:end}.need-status-form{display:flex;flex-direction:column;min-width:190px}.public-relief-stats{grid-template-columns:1fr 1fr}}

.household-need-links{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0 1rem}

/* SIGEDAR 2.6.0 · albergues, brigadas, tareas y centro de operaciones */
.operations-hero{border-top:4px solid var(--primary)}
.operations-kpis{grid-template-columns:repeat(5,minmax(150px,1fr))}.operations-kpis .card span{display:block;margin-top:.4rem;color:var(--muted);font-size:.78rem}
.operations-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(330px,1fr);gap:18px;align-items:start}.operations-map{height:520px;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-top:12px}
.operations-form{margin-top:1rem}.service-checks{display:flex;gap:.65rem;flex-wrap:wrap;padding:.7rem;border:1px solid var(--line);border-radius:10px;background:#f8faf9}.service-checks label{display:flex;flex-direction:row;align-items:center;gap:.35rem;margin:0;font-weight:650}.service-checks input{width:auto}
.shelter-occupancy-row{display:grid;grid-template-columns:minmax(150px,1.4fr) minmax(120px,1fr) auto;gap:.7rem;align-items:center;padding:.7rem 0;border-bottom:1px solid #edf2ef}.shelter-occupancy-row small{display:block;color:var(--muted);margin-top:.15rem}.shelter-meter{height:10px;border-radius:999px;background:#e8eeeb;overflow:hidden}.shelter-meter span{display:block;height:100%;background:var(--primary);border-radius:999px;min-width:2px}
.brigade-members{padding:.7rem;border:1px solid var(--line);border-radius:10px;background:#fafcfb}.brigade-members h3{margin:.1rem 0 .6rem}.brigade-member-row{display:grid;grid-template-columns:1.4fr 1fr .8fr;gap:.45rem;margin:.4rem 0}.brigade-member-row input{margin:0}
.stay-close-form,.task-status-form{display:grid;gap:.35rem;min-width:260px}.stay-close-form{grid-template-columns:1fr 1fr}.stay-close-form input:last-of-type,.stay-close-form .btn{grid-column:1/-1}.task-status-form{grid-template-columns:1fr 1fr}.task-status-form input,.task-status-form .btn{grid-column:1/-1}
.operations-dashboard-alert{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-left:5px solid #2f75b5}.operations-dashboard-alert h2{margin:.3rem 0}.operations-dashboard-alert p{margin:0;color:var(--muted)}
@media(max-width:1100px){.operations-kpis{grid-template-columns:repeat(3,minmax(150px,1fr))}.operations-grid{grid-template-columns:1fr}.operations-map{height:440px}}
@media(max-width:700px){.operations-kpis{grid-template-columns:1fr 1fr}.brigade-member-row{grid-template-columns:1fr}.shelter-occupancy-row{grid-template-columns:1fr auto}.shelter-meter{grid-column:1/-1}.stay-close-form,.task-status-form{grid-template-columns:1fr}.stay-close-form>* ,.task-status-form>*{grid-column:1!important}.operations-dashboard-alert{align-items:flex-start;flex-direction:column}}
@media(max-width:440px){.operations-kpis{grid-template-columns:1fr}.operations-map{height:360px}}

/* SIGEDAR 3.0.0 · EDAN/RUD, reportes institucionales y auditoría avanzada */
.alert.info{background:#edf6ff;color:#164e73;border:1px solid #c9e4f8}
.alert.warning{background:#fff7e6;color:#7a4a00;border:1px solid #f0d7a4}
.institutional-hero{overflow:visible}
.institutional-kpis{margin-top:12px}
.compact-form{display:grid;grid-template-columns:minmax(220px,320px) 1fr auto;gap:12px;align-items:end}
.compact-form label{margin:0}.compact-form button{margin-bottom:0}
.institutional-hero .module-tabs{margin-top:14px}
.institutional-hero code,.panel code{font-size:12px;word-break:break-all}
@media(max-width:900px){.compact-form{grid-template-columns:1fr}.institutional-hero .filterbar{grid-template-columns:1fr}}

/* SIGEDAR 3.0 · Recuperación y reconstrucción */
.recovery-kpis .card strong{font-size:1.45rem}.recovery-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.5fr);gap:1rem}.recovery-progress{height:9px;background:#e7ece9;border-radius:999px;overflow:hidden;min-width:120px}.recovery-progress span{display:block;height:100%;background:linear-gradient(90deg,#17724f,#22a36f);border-radius:inherit}.recovery-progress.large{height:14px}.recovery-main-progress{display:grid;grid-template-columns:auto minmax(180px,1fr) auto;gap:1rem;align-items:center;margin:1rem 0}.recovery-main-progress>div:first-child,.recovery-main-progress>div:last-child{display:flex;flex-direction:column;gap:.15rem}.recovery-main-progress span{font-size:.82rem;color:#64746c}.late-cell{background:#fff1ee;color:#9f2b20}.late-cell strong{font-size:.72rem}.timeline{display:flex;flex-direction:column;gap:.7rem}.timeline-item{border-left:4px solid #1c7c58;background:#f7faf8;padding:.75rem 1rem;border-radius:0 10px 10px 0}.timeline-item strong,.timeline-item span,.timeline-item small{display:block}.timeline-item span,.timeline-item small{color:#63736b}.timeline-item p{margin:.4rem 0}.recovery-form .full{grid-column:1/-1}
@media(max-width:900px){.recovery-grid{grid-template-columns:1fr}.recovery-main-progress{grid-template-columns:1fr}.recovery-main-progress>div:last-child{text-align:left}}
