:root{--gob-green:#35bd2f;--gob-green-dark:#1f811b;--gob-green-light:#eaf8e9;--gob-blue:#075a9c;--gob-action:#1672ff;--gob-cyan:#19c2d8;--gob-amber:#ffbf17;--gob-red:#e5384f;--gob-charcoal:#23292f;--gob-bg:#f3f6fa;--gob-white:#fff;--gob-primary:var(--gob-blue);--gob-dark:var(--gob-blue);--gob-gold:var(--gob-amber);--gob-border:#dfe5ec;--gob-text:var(--gob-charcoal);--gob-muted:#66717d;--gob-green-emphasis:var(--gob-green-dark);--gob-green-subtle:var(--gob-green-light);--gob-green-border:#a9dfa5;--pending:var(--gob-amber);--locked:#94a3b8;--ok:var(--gob-green);--gob-blue-hover:#064a80;--gob-blue-active:#053b66;--gob-action-hover:#0f5fcc;--gob-action-active:#0c4fa9;--gob-green-hover:#196a16;--gob-green-active:#145512;--gob-cyan-hover:#12a8bc;--gob-cyan-active:#0f8e9f;--gob-amber-hover:#e2a800;--gob-amber-active:#c59100;--gob-red-hover:#c92a40;--gob-red-active:#aa2235;--gob-charcoal-hover:#171c21;--gob-charcoal-active:#0f1317;}
body{background:var(--gob-bg);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--gob-text);}.topbar{background:linear-gradient(135deg,var(--gob-dark),var(--gob-primary));color:white;padding:1.25rem 0;border-bottom:5px solid var(--gob-gold);}.page-title{font-weight:800}.subtitle{color:#dbeafe;font-size:.95rem}.module-shell{max-width:1500px;margin:auto;}.card-gob{border:1px solid var(--gob-border);border-radius:18px;box-shadow:0 8px 20px rgba(20,20,20,.05);overflow:hidden;background:white;}.card-gob .card-header{background:#fff;border-bottom:1px solid var(--gob-border);padding:1rem 1.25rem;}.section-title{font-weight:800;color:var(--gob-primary);margin:0;font-size:1.03rem}.section-title i{color:var(--gob-gold);margin-right:.45rem;}.form-label{font-weight:700;color:#495057;font-size:.88rem}.form-control,.form-select{border-radius:12px;border:1px solid #d9dee7;}.info-box{background:#f9fafc;border:1px solid #e3e8ef;border-radius:14px;padding:.85rem;height:100%;}.info-label{font-size:.74rem;color:var(--gob-muted);text-transform:uppercase;font-weight:800;margin-bottom:.15rem;}.info-value{font-size:.94rem;font-weight:700;color:#212529;word-break:break-word;}.uuid-box{background:#fff7e1;border:1px dashed var(--gob-gold);border-radius:14px;padding:.85rem;}.badge-gold{background:#fff7e1;color:#7a5d1f;border:1px solid #ead7a8;border-radius:999px;padding:.45rem .75rem;font-weight:800;}.btn-gob{background:var(--gob-primary);border-color:var(--gob-primary);color:#fff;border-radius:14px;font-weight:800;padding:.8rem 1rem;}.btn-gob:hover{background:var(--gob-dark);border-color:var(--gob-dark);color:#fff;}.btn-outline-gob{border-color:var(--gob-primary);color:var(--gob-primary);border-radius:14px;font-weight:800;padding:.8rem 1rem;}.btn-outline-gob:hover{background:var(--gob-primary);color:#fff;}.table-cfdi th{font-size:.78rem;text-transform:uppercase;color:#6c757d;background:#f8f9fb}.table-cfdi td{vertical-align:middle;font-size:.9rem;font-weight:600;}.benef-card{border:1px solid #dbe4ef;border-radius:18px;padding:1rem;background:#fbfdff;margin-bottom:1rem}.doc-grid{display:grid;grid-template-columns:1.4fr .6fr 1.2fr;gap:.75rem;align-items:center}.flow-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:24px;overflow:hidden;}.flow-header{padding:1.2rem 1.5rem;border-bottom:1px solid #dde4ec;display:flex;align-items:center;gap:.75rem;color:#2563eb;font-weight:900;font-size:1.2rem;}.flow-body{padding:1.5rem}.flow-step{position:relative;padding-left:4rem;padding-bottom:1.8rem}.flow-step:last-child{padding-bottom:0}.flow-step::after{content:'';position:absolute;left:21px;top:42px;width:5px;height:calc(100% - 38px);background:#d3dae2;border-radius:999px}.flow-step:last-child::after{display:none}.flow-icon{position:absolute;left:0;top:0;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;border:4px solid #f8fafc;z-index:2;background:var(--locked);color:white}.flow-title{font-size:1.05rem;font-weight:900;color:#334155;margin-bottom:.2rem}.flow-desc{color:#8b939e;font-size:.9rem;line-height:1.35}.flow-badge{display:inline-block;margin-top:.45rem;border-radius:999px;padding:.22rem .7rem;font-size:.72rem;font-weight:900;background:#e2e8f0;color:#475569}.flow-step.pendiente .flow-icon{background:var(--pending)}.flow-step.pendiente .flow-badge{background:#fef3c7;color:#92400e}
.topbar .btn-inicio-panel{display:inline-flex;align-items:center;justify-content:center;min-height:3.225rem;padding:.8rem 1rem}

/* Patrón común de cabecera y métricas para los paneles principales. */
.panel-dashboard-topbar{background:transparent;padding-top:1.5rem}
.panel-dashboard-header{background:var(--gob-white);border-top:4px solid var(--gob-blue);border-radius:18px;box-shadow:0 10px 25px rgba(35,41,47,.07);padding:1rem 1.25rem}
.panel-dashboard-title{color:var(--gob-blue);font-weight:800}
.panel-dashboard-subtitle{color:var(--gob-muted);font-size:.95rem}
.panel-dashboard-actions{display:flex;gap:.5rem;flex-wrap:wrap}
.panel-dashboard-actions .btn{display:inline-flex;align-items:center;justify-content:center;min-height:3rem}
.panel-metrics-grid{--panel-metric-count:5;display:grid;grid-template-columns:repeat(var(--panel-metric-count),minmax(0,1fr));gap:clamp(.35rem,1vw,1rem)}
.panel-metric-card{--panel-metric-color:var(--gob-blue);--panel-metric-icon-color:#fff;--panel-metric-icon-size:clamp(34px,4vw,60px);border:0;border-top:4px solid var(--panel-metric-color);border-radius:clamp(12px,1.5vw,18px);background:#fff;padding:clamp(.5rem,1vw,1.25rem);height:100%;min-width:0;box-shadow:0 10px 25px rgba(35,41,47,.07);display:flex;align-items:center;gap:clamp(.35rem,.8vw,1rem)}
.panel-metric-card--blue{--panel-metric-color:var(--gob-action)}
.panel-metric-card--cyan{--panel-metric-color:var(--gob-cyan)}
.panel-metric-card--green{--panel-metric-color:var(--gob-green)}
.panel-metric-card--amber{--panel-metric-color:var(--gob-amber);--panel-metric-icon-color:var(--gob-charcoal)}
.panel-metric-card--red{--panel-metric-color:var(--gob-red)}
.panel-metric-card--charcoal{--panel-metric-color:var(--gob-charcoal)}
.panel-metric-icon{width:var(--panel-metric-icon-size);height:var(--panel-metric-icon-size);flex:0 0 var(--panel-metric-icon-size);border-radius:clamp(7px,1vw,10px);background:var(--panel-metric-color);color:var(--panel-metric-icon-color);display:flex;align-items:center;justify-content:center;font-size:clamp(1rem,2vw,1.6rem)}
.panel-metric-content{min-width:0}
.panel-metric-label{font-size:clamp(.62rem,.75vw,.78rem);color:var(--gob-charcoal);text-transform:uppercase;font-weight:800;letter-spacing:.02em;line-height:1.15;overflow-wrap:anywhere}
.panel-metric-value{font-size:clamp(1.1rem,2vw,1.65rem);line-height:1.15;font-weight:900;color:var(--panel-metric-color)}
@media(max-width:700px){.panel-metric-card{flex-direction:column;justify-content:center;text-align:center}.panel-metric-content{width:100%}}
@media(max-width:575.98px){.panel-dashboard-actions{width:100%}.panel-dashboard-actions .btn{flex:1 1 auto}}

/* Patrón institucional compartido para cabeceras y resúmenes de pantallas de captura. */
.topbar{background:transparent!important;color:var(--gob-text)!important;padding:1.5rem 0 0!important;border-bottom:0!important}
.topbar>.container-fluid>.module-shell{background:var(--gob-white);border-top:4px solid var(--gob-blue);border-radius:18px;box-shadow:0 10px 25px rgba(35,41,47,.07);padding:1rem 1.25rem}
.topbar .page-title,.topbar h1{color:var(--gob-blue)!important;font-weight:800}
.topbar .subtitle{color:var(--gob-muted)!important}
.topbar .btn-light,.topbar .btn-outline-light,.topbar .btn-gob{background:#fff!important;border:1px solid var(--gob-blue)!important;color:var(--gob-blue)!important;border-radius:999px;font-weight:800}
.topbar .btn-light:hover,.topbar .btn-outline-light:hover,.topbar .btn-gob:hover{background:var(--gob-blue)!important;color:#fff!important}

.row:has(> [class*="col"] > .fact),
.row:has(> [class*="col"] > .summary-card),
.row:has(> [class*="col"] > .cfdi-summary-card),
.row:has(> [class*="col"] > .info-box){display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:clamp(.35rem,1vw,1rem);margin-right:0;margin-left:0}
.row:has(> [class*="col"] > .fact)>[class*="col"],
.row:has(> [class*="col"] > .summary-card)>[class*="col"],
.row:has(> [class*="col"] > .cfdi-summary-card)>[class*="col"],
.row:has(> [class*="col"] > .info-box)>[class*="col"]{width:auto;max-width:none;padding:0;min-width:0}
.row>[class*="col"]:nth-child(6n+1)>:is(.fact,.summary-card,.cfdi-summary-card,.info-box){--capture-card-color:var(--gob-action)}
.row>[class*="col"]:nth-child(6n+2)>:is(.fact,.summary-card,.cfdi-summary-card,.info-box){--capture-card-color:var(--gob-cyan)}
.row>[class*="col"]:nth-child(6n+3)>:is(.fact,.summary-card,.cfdi-summary-card,.info-box){--capture-card-color:var(--gob-green)}
.row>[class*="col"]:nth-child(6n+4)>:is(.fact,.summary-card,.cfdi-summary-card,.info-box){--capture-card-color:var(--gob-charcoal)}
.row>[class*="col"]:nth-child(6n+5)>:is(.fact,.summary-card,.cfdi-summary-card,.info-box){--capture-card-color:var(--gob-amber);--capture-card-icon-color:var(--gob-charcoal)}
.row>[class*="col"]:nth-child(6n)>:is(.fact,.summary-card,.cfdi-summary-card,.info-box){--capture-card-color:var(--gob-red)}
.row>[class*="col"]>:is(.fact,.summary-card,.cfdi-summary-card,.info-box){--capture-card-color:var(--gob-action);--capture-card-icon-color:#fff;--capture-card-icon-size:clamp(28px,3vw,44px);border:0!important;border-top:4px solid var(--capture-card-color)!important;border-radius:clamp(12px,1.5vw,18px)!important;background:#fff!important;padding:clamp(.4rem,.75vw,.85rem)!important;min-width:0;min-height:76px!important;box-shadow:0 10px 25px rgba(35,41,47,.07)!important}
.row>[class*="col"]>:is(.fact,.summary-card,.cfdi-summary-card,.info-box):not(:has(.summary-icon)){display:grid;grid-template-columns:var(--capture-card-icon-size) minmax(0,1fr);grid-auto-rows:auto;align-content:center;align-items:center;column-gap:clamp(.35rem,.8vw,1rem);text-align:left!important}
.row>[class*="col"]>:is(.fact,.summary-card,.cfdi-summary-card,.info-box):not(:has(.summary-icon))::before{content:"\f431";font-family:"bootstrap-icons";font-style:normal;font-weight:400;grid-column:1;grid-row:1/span 5;width:var(--capture-card-icon-size);height:var(--capture-card-icon-size);border-radius:clamp(7px,1vw,10px);background:var(--capture-card-color);color:var(--capture-card-icon-color);display:flex;align-items:center;justify-content:center;font-size:clamp(1rem,2vw,1.6rem)}
.row>[class*="col"]>:is(.fact,.summary-card,.cfdi-summary-card,.info-box):not(:has(.summary-icon))>*{grid-column:2;min-width:0}
.row>[class*="col"]>:is(.fact,.summary-card,.cfdi-summary-card,.info-box) :is(.label,.summary-label,.info-label){font-size:clamp(.56rem,.65vw,.72rem)!important;color:var(--gob-charcoal)!important;font-weight:800!important;line-height:1.12;overflow-wrap:anywhere}
.row>[class*="col"]>:is(.fact,.summary-card,.cfdi-summary-card,.info-box) :is(.value,.summary-value,.info-value){font-size:clamp(.68rem,.9vw,.98rem)!important;color:var(--gob-charcoal)!important;font-weight:900!important;line-height:1.12;overflow-wrap:anywhere;word-break:break-word}
.row:has(> :nth-child(6)>:is(.fact,.summary-card,.cfdi-summary-card,.info-box))>[class*="col"]>:is(.fact,.summary-card,.cfdi-summary-card,.info-box){--capture-card-icon-size:24px;padding:.35rem!important}
.row:has(> :nth-child(6)>:is(.fact,.summary-card,.cfdi-summary-card,.info-box))>[class*="col"]>:is(.fact,.summary-card,.cfdi-summary-card,.info-box):not(:has(.summary-icon)){column-gap:.25rem}
.row:has(> :nth-child(6)>:is(.fact,.summary-card,.cfdi-summary-card,.info-box))>[class*="col"]>:is(.fact,.summary-card,.cfdi-summary-card,.info-box) :is(.label,.summary-label,.info-label){font-size:clamp(.5rem,.58vw,.62rem)!important}
.row:has(> :nth-child(6)>:is(.fact,.summary-card,.cfdi-summary-card,.info-box))>[class*="col"]>:is(.fact,.summary-card,.cfdi-summary-card,.info-box) :is(.value,.summary-value,.info-value){font-size:clamp(.62rem,.72vw,.78rem)!important}
@media(max-width:700px){.row>[class*="col"]>:is(.fact,.summary-card,.cfdi-summary-card,.info-box){--capture-card-icon-size:clamp(27px,6vw,38px);padding:.4rem!important}.row>[class*="col"]>:is(.fact,.summary-card,.cfdi-summary-card,.info-box):not(:has(.summary-icon)){grid-template-columns:var(--capture-card-icon-size) minmax(0,1fr);column-gap:.3rem}.row>[class*="col"]>:is(.fact,.summary-card,.cfdi-summary-card,.info-box):not(:has(.summary-icon))::before{font-size:clamp(.82rem,3vw,1.1rem)}}
@media(max-width:575.98px){.topbar>.container-fluid>.module-shell{padding:.85rem 1rem}.topbar .btn{min-height:2.7rem}}

/* Patrón común de listados tabulares basado en el Panel de Archivo. */
.panel-table-card{background:#fff;border:1px solid #e5eaf0;border-radius:18px;box-shadow:0 10px 26px rgba(15,23,42,.06);overflow:hidden}
.panel-table-card .card-header,.panel-table-header{background:#fff;border-bottom:1px solid #e2e8f0;padding:1.25rem 1.4rem}
.panel-table-card .card-body,.panel-table-body{padding:1.3rem}
.panel-table-card .filtros-panel{background:#fff;border:0;border-radius:0;padding:0;margin-bottom:1.25rem}
.panel-table-standard,.table-solicitudes,.table-suficiencia,.table-contratos{--bs-table-bg:transparent;margin-bottom:0;border-collapse:collapse}
.panel-table-standard>thead>tr>th,.table-solicitudes>thead>tr>th,.table-suficiencia>thead>tr>th,.table-contratos>thead>tr>th{background:#f8fafc!important;color:#52637a;font-size:.73rem;text-transform:uppercase;white-space:nowrap;font-weight:800;border-top:1px solid #e2e8f0!important;border-right:0!important;border-bottom:1px solid #d7dee8!important;border-left:0!important;padding:.75rem .65rem;vertical-align:middle}
.panel-table-standard>tbody>tr>td,.table-solicitudes>tbody>tr>td,.table-suficiencia>tbody>tr>td,.table-contratos>tbody>tr>td{border-top:0!important;border-right:0!important;border-bottom:1px solid #d7dee8!important;border-left:0!important;padding:.8rem .65rem;vertical-align:middle}
.panel-table-standard>tbody>tr:last-child>td,.table-solicitudes>tbody>tr:last-child>td,.table-suficiencia>tbody>tr:last-child>td,.table-contratos>tbody>tr:last-child>td{border-bottom:0!important}
.panel-table-standard.table-hover>tbody>tr:hover>*,.table-solicitudes>tbody>tr:hover>*,.table-suficiencia>tbody>tr:hover>*,.table-contratos>tbody>tr:hover>*{--bs-table-bg-state:#f1f5f9}
.card-gob .filtros-panel{background:#fff!important;border:0!important;border-radius:0!important;padding:0!important;margin-bottom:1.25rem!important}
