body { font-family: system-ui, sans-serif; margin: 0; background: #f4f6f8; color: #172c3e; }
main { max-width: 30rem; margin: 3rem auto; padding: 2rem; background: white; border-radius: .5rem; }
label, input, button { display: block; margin-top: 1rem; }
input { box-sizing: border-box; width: 100%; padding: .75rem; }
button { padding: .75rem 1.25rem; cursor: pointer; }
[role="alert"] { color: #9c1c1c; }
:focus-visible { outline: 3px solid #075985; outline-offset: 2px; }
select, textarea { box-sizing: border-box; display: block; width: 100%; margin-top: 1rem; padding: .75rem; }
textarea { min-height: 5rem; }
input:not([type="checkbox"]) { box-sizing: border-box; }
input[type="checkbox"] { display: inline-block; width: auto; margin-right: .5rem; vertical-align: middle; }

.declaration { border-top: 1px solid #ccd5dc; margin-top: 1.5rem; padding-top: .5rem; overflow-wrap: anywhere; }
dd { margin-left: 0; }

.operational { max-width: 90rem; margin: 1.5rem auto; padding: 1.5rem; overflow-wrap: anywhere; }
.operational.detail { max-width: 68rem; }
.operational h1 { margin-bottom: .5rem; }
.operational section { border-top: 1px solid #ccd5dc; margin-top: 2rem; padding-top: 1rem; scroll-margin-top: 1rem; }
.operational a { color: #075985; }
.operational-filters { margin: 1.5rem 0; }
.search-controls { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; align-items: end; }
.filter-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; padding: .75rem 0; }
.operational-filters label { margin: 0; }
.operational-filters input, .operational-filters select { margin-top: .4rem; }
.operational-list { width: 100%; border-collapse: collapse; table-layout: fixed; margin-top: 1.5rem; }
.operational-list caption { text-align: left; margin-bottom: 1rem; }
.operational-list th, .operational-list td { text-align: left; vertical-align: top; padding: 1rem .6rem; border-bottom: 1px solid #ccd5dc; }
.operational-list th { background: #f4f6f8; }
.secondary { display: block; font-size: .9rem; margin-top: .5rem; }
.leg { border-left: 3px solid #ccd5dc; padding: .25rem 1rem; margin: 1rem 0; }
.selected-etas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.section-links, .pagination { display: flex; flex-wrap: wrap; gap: 1rem; margin: 1.5rem 0; }
summary { cursor: pointer; padding: .5rem 0; }
.admin-action { margin-top: .75rem; }
.information-history li { padding: .75rem 0; }
@media (max-width: 700px) {
  .operational { margin: .5rem; padding: 1rem; }
  .search-controls, .filter-fields, .selected-etas { grid-template-columns: 1fr; }
  .operational-list caption { display: block; width: auto; }
  .operational-list, .operational-list tbody, .operational-list tr, .operational-list td { display: block; width: auto; }
  .operational-list thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .operational-list tr { border: 1px solid #ccd5dc; border-radius: .5rem; margin: 1rem 0; padding: .5rem; }
  .operational-list td { border: 0; padding: .5rem; }
  .operational-list td[data-label]::before { content: attr(data-label); display: block; font-weight: 600; margin-bottom: .25rem; }
  .leg { padding-left: .75rem; }
}

/* Executive reading hierarchy; existing focus and typography remain shared. */
.executive-kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: 2rem 0; }
.executive-kpis article, .executive-agenda article { border: 1px solid #cbd5e1; border-radius: .4rem; padding: 1rem; overflow-wrap: anywhere; }
.executive-kpis h2 { font-size: 1.1rem; }
.kpi-value { font-size: 2rem; font-weight: 700; margin: .5rem 0; }
.executive-agenda { padding: 0; list-style: none; display: grid; gap: .75rem; }
.executive-agenda h4 { margin: 0 0 .5rem; }
.executive section { margin-bottom: 1.5rem; }
.coverage-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.monthly-chart { display: grid; gap: .75rem; margin-bottom: 1rem; }
.monthly-chart meter { display: block; width: 100%; height: 1.5rem; }
.monthly-table { width: 100%; table-layout: fixed; overflow-wrap: anywhere; }
.executive fieldset { min-width: 0; }
@media (max-width: 700px) { .executive-kpis, .coverage-grid { grid-template-columns: 1fr; } .monthly-table th, .monthly-table td { padding: .4rem; } }
