.ops-emergency-key { margin: -2px 10px 10px 48px; display: flex; flex-wrap: wrap; gap: 7px 11px; color: #718992; font-size: 8.5px; }
.ops-emergency-key span { display: inline-flex; align-items: center; gap: 5px; }
.ops-emergency-key i { width: 17px; height: 7px; display: inline-block; border-radius: 2px; }
.ops-emergency-key .perimeter { border: 1.5px solid #ff786c; background: repeating-linear-gradient(135deg,rgba(255,120,108,.26) 0 2px,transparent 2px 5px); }
.ops-emergency-key .smoke { background: linear-gradient(90deg,rgba(246,195,94,.16),#eb873d); box-shadow: 0 0 8px rgba(235,135,61,.24); }

.ops-emergency-status { width: 326px; max-height: calc(100% - 165px); overflow-y: auto; scrollbar-width: thin; scrollbar-color: #4b302a transparent; }
.fire-road-impact-summary { margin-top: 9px; padding-top: 9px; border-top: 1px solid rgba(255,139,95,.14); }
.fire-road-impact-kpis { display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid rgba(255,139,95,.13); border-radius: 7px; background: rgba(255,116,70,.035); overflow: hidden; }
.fire-road-impact-kpis article { min-width: 0; min-height: 51px; padding: 7px 8px; border-right: 1px solid rgba(255,139,95,.1); }
.fire-road-impact-kpis article:last-child { border-right: 0; }
.fire-road-impact-kpis small,.fire-road-impact-kpis strong,.fire-road-impact-kpis span { display: block; }
.fire-road-impact-kpis small { min-height: 19px; color: #866b63; font-size: 7.5px; line-height: 1.2; }
.fire-road-impact-kpis strong { margin-top: 2px; color: #f0e1dd; font-size: 14px; }
.fire-road-impact-kpis span { margin-top: 2px; color: #765f59; font-size: 7.5px; }
.fire-road-impact-key { min-height: 28px; display: flex; gap: 11px; align-items: center; color: #806d67; font-size: 8px; }
.fire-road-impact-key span { display: inline-flex; gap: 5px; align-items: center; }
.fire-road-impact-key i { width: 16px; height: 3px; border-radius: 3px; }
.fire-road-impact-key .direct i { background: #ff4f5f; box-shadow: 0 0 6px rgba(255,79,95,.4); }
.fire-road-impact-key .watch i { background: #f1a34c; }
.fire-road-impact-list { max-height: 146px; overflow-y: auto; border: 1px solid rgba(166,195,204,.09); border-radius: 7px; background: rgba(6,17,24,.58); scrollbar-width: thin; scrollbar-color: #3c302e transparent; }
.fire-road-impact-list > p { margin: 0; padding: 10px; color: #71838a; font-size: 8.5px; line-height: 1.45; }
.fire-road-impact-list > p.connector { color: #a48a72; }
.fire-road-impact-list button { width: 100%; min-height: 38px; padding: 5px 7px; display: grid; grid-template-columns: 4px minmax(0,1fr) 20px; gap: 7px; align-items: center; border: 0; border-bottom: 1px solid rgba(166,195,204,.07); color: inherit; background: transparent; text-align: left; cursor: pointer; }
.fire-road-impact-list button:last-child { border-bottom: 0; }
.fire-road-impact-list button:hover,.fire-road-impact-list button:focus-visible { background: rgba(255,139,95,.07); outline: 0; }
.fire-road-impact-list button > i { width: 4px; height: 24px; border-radius: 3px; background: #f1a34c; }
.fire-road-impact-list button > i.direct { background: #ff4f5f; }
.fire-road-impact-list button strong,.fire-road-impact-list button small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fire-road-impact-list button strong { color: #b7c3c5; font-size: 8.5px; }
.fire-road-impact-list button small { margin-top: 3px; color: #687b82; font-size: 7.5px; }
.fire-road-impact-list button b { color: #ffb08e; font-size: 9px; text-align: right; }

.infrastructure-detail section { max-height: 310px; overflow-y: auto; }

@media (max-width: 760px) {
  .ops-emergency-status { width: 270px; }
}

/* UC11 · explotación y continuidad de la red viaria ante incendios */
.fire-management-heading { border-bottom-color: rgba(239,89,107,.18); }
.fire-management-heading .congestion-title > span { border-color: rgba(239,89,107,.42); color: #ff9d9d; background: rgba(239,89,107,.09); }
.fire-management-heading > button { min-height: 38px; padding: 0 14px; border: 1px solid rgba(101,214,170,.34); border-radius: 7px; color: #a8e9d3; background: rgba(101,214,170,.08); font: 700 9.5px Roboto,Arial,sans-serif; letter-spacing: .04em; cursor: pointer; }
.fire-management-scope { min-height: 45px; margin: 12px 0 10px; padding: 9px 12px; display: flex; align-items: center; gap: 12px; border: 1px solid rgba(239,89,107,.18); border-left: 3px solid #ef596b; border-radius: 8px; background: linear-gradient(90deg,rgba(239,89,107,.07),rgba(239,89,107,.015)); }
.fire-management-scope b { flex: 0 0 auto; color: #ff9d9d; font-size: 10px; letter-spacing: .055em; }
.fire-management-scope span { color: #96a9ae; font-size: 11px; line-height: 1.45; }
.fire-management-query { min-height: 74px; padding: 10px; display: grid; grid-template-columns: minmax(150px,1.15fr) minmax(90px,.65fr) minmax(130px,.8fr) minmax(130px,.8fr) minmax(190px,1fr); gap: 8px; align-items: stretch; border: 1px solid rgba(166,195,204,.11); border-radius: 9px; background: #0a1922; }
.fire-management-query label { min-width: 0; padding: 7px 9px; border: 1px solid rgba(166,195,204,.1); border-radius: 7px; background: rgba(5,16,23,.56); }
.fire-management-query label > span,.fire-management-query label > small { display: block; }
.fire-management-query label > span { color: #6f858d; font-size: 8.5px; font-weight: 700; letter-spacing: .055em; }
.fire-management-query label > small { margin-top: 2px; color: #526b74; font-size: 8.5px; }
.fire-management-query input,.fire-management-query select { width: 100%; min-height: 28px; padding: 0; border: 0; outline: 0; color: #d7e2e4; background: transparent; font: 500 11px Roboto,Arial,sans-serif; color-scheme: dark; }
.fire-management-query button { min-width: 0; border: 1px solid rgba(239,89,107,.42); border-radius: 7px; color: #ffd0ca; background: rgba(239,89,107,.11); font: 700 9.5px Roboto,Arial,sans-serif; letter-spacing: .045em; cursor: pointer; }
.fire-management-query button:disabled { opacity: .55; cursor: progress; }
.fire-management-notice { min-height: 61px; margin-top: 10px; padding: 11px 13px; display: grid; grid-template-columns: auto 1fr; gap: 3px 13px; border: 1px solid rgba(238,178,84,.25); border-radius: 8px; background: rgba(238,178,84,.055); }
.fire-management-notice[hidden] { display: none; }
.fire-management-notice strong { grid-row: 1/3; align-self: center; color: #efc175; font-size: 11px; }
.fire-management-notice span { color: #a79577; font-size: 10.5px; line-height: 1.4; }
.fire-management-notice small { color: #756c5e; font-size: 9px; }
.fire-management-kpis { margin-top: 10px; display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); border: 1px solid rgba(166,195,204,.11); border-radius: 9px; overflow: hidden; background: #091821; }
.fire-management-kpis article { min-width: 0; min-height: 78px; padding: 11px 12px; border-right: 1px solid rgba(166,195,204,.09); border-top: 2px solid #e8a44f; }
.fire-management-kpis article:nth-child(2) { border-top-color: #ef596b; }
.fire-management-kpis article:last-child { border-right: 0; }
.fire-management-kpis small,.fire-management-kpis strong,.fire-management-kpis span { display: block; }
.fire-management-kpis small { min-height: 22px; color: #6d838b; font-size: 8.5px; font-weight: 700; line-height: 1.25; letter-spacing: .035em; }
.fire-management-kpis strong { margin-top: 3px; color: #e7eff0; font-size: 19px; line-height: 1; }
.fire-management-kpis span { margin-top: 5px; color: #60747c; font-size: 8.5px; line-height: 1.25; }
.fire-management-main { margin-top: 10px; display: grid; grid-template-columns: minmax(0,1.55fr) minmax(300px,.8fr); gap: 10px; }
.fire-management-map-card,.fire-management-ranking-card,.fire-management-detail { margin: 0; border: 1px solid rgba(166,195,204,.11); border-radius: 9px; background: #091821; overflow: hidden; }
.fire-management-map-card > header,.fire-management-ranking-card > header,.fire-management-detail > header { min-height: 56px; padding: 9px 12px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid rgba(166,195,204,.09); }
.fire-management-map-card header small,.fire-management-ranking-card header small,.fire-management-detail header small { display: block; color: #647b84; font-size: 8.5px; font-weight: 700; letter-spacing: .055em; }
.fire-management-map-card header h3,.fire-management-ranking-card header h3,.fire-management-detail header h3 { margin: 4px 0 0; color: #dbe6e7; font-size: 12px; font-weight: 600; }
.fire-management-map-card header > span { display: flex; align-items: center; gap: 6px; color: #71858d; font-size: 9px; }
.fire-management-map-card header > span i { width: 18px; height: 4px; display: inline-block; border-radius: 3px; }
.fire-management-map-card header > span i.direct { background: #ef596b; }
.fire-management-map-card header > span i.watch { margin-left: 5px; background: #e8a44f; }
#fire-management-map { height: 430px; background: #07131b; }
.fire-management-map-card > footer,.fire-management-ranking-card > footer { min-height: 37px; padding: 8px 11px; color: #64777f; background: rgba(5,15,22,.48); font-size: 9px; line-height: 1.4; }
.fire-management-ranking-card > header > span { color: #9a7478; font-size: 9px; font-weight: 700; }
#fire-management-ranking { height: 430px; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #4c3035 transparent; }
#fire-management-ranking button { width: 100%; min-height: 67px; padding: 8px 10px; display: grid; grid-template-columns: 26px minmax(0,1fr) 35px; gap: 9px; align-items: center; border: 0; border-bottom: 1px solid rgba(166,195,204,.075); color: inherit; background: transparent; text-align: left; cursor: pointer; }
#fire-management-ranking button:hover,#fire-management-ranking button:focus-visible,#fire-management-ranking button.active { background: linear-gradient(90deg,rgba(239,89,107,.09),rgba(239,89,107,.018)); outline: 0; }
#fire-management-ranking button.active { box-shadow: inset 3px 0 #ef596b; }
#fire-management-ranking button > b { width: 25px; height: 25px; display: grid; place-items: center; border: 1px solid rgba(166,195,204,.14); border-radius: 50%; color: #82969d; font-size: 9px; }
#fire-management-ranking button span,#fire-management-ranking button strong,#fire-management-ranking button small,#fire-management-ranking button em { min-width: 0; display: block; }
#fire-management-ranking button strong { color: #cbd7d9; font-size: 10.5px; }
#fire-management-ranking button strong i { margin-left: 5px; padding: 2px 5px; border-radius: 4px; color: #e7b475; background: rgba(232,164,79,.09); font-size: 7.5px; font-style: normal; font-weight: 700; }
#fire-management-ranking button strong i.direct { color: #ff9ba2; background: rgba(239,89,107,.1); }
#fire-management-ranking button small { margin-top: 4px; overflow: hidden; color: #667b83; font-size: 8.5px; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
#fire-management-ranking button em { margin-top: 4px; color: #87989e; font-size: 8.5px; font-style: normal; }
#fire-management-ranking button mark { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid rgba(239,89,107,.26); border-radius: 8px; color: #ffadb0; background: rgba(239,89,107,.07); font: 700 11px Roboto,Arial,sans-serif; }
.fire-management-empty,.fire-management-detail-empty { min-height: 180px; padding: 30px 22px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.fire-management-empty strong,.fire-management-detail-empty strong { color: #9caeb2; font-size: 12px; }
.fire-management-empty span,.fire-management-detail-empty span { max-width: 420px; margin-top: 7px; color: #6c8188; font-size: 10px; line-height: 1.5; }
.fire-management-detail { margin-top: 10px; }
.fire-management-detail > header h3 { font-size: 14px; }
.fire-management-detail > header p { margin: 5px 0 0; color: #72868d; font-size: 9.5px; }
.fire-management-detail > header > span { flex: 0 0 auto; padding: 6px 8px; border: 1px solid rgba(232,164,79,.26); border-radius: 6px; color: #edbd79; background: rgba(232,164,79,.07); font-size: 8.5px; font-weight: 700; }
.fire-management-detail > header > span.direct { border-color: rgba(239,89,107,.3); color: #ff9ba2; background: rgba(239,89,107,.08); }
.fire-management-detail-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
.fire-management-detail-grid > section { min-width: 0; padding: 12px; border-right: 1px solid rgba(166,195,204,.08); }
.fire-management-detail-grid > section:last-child { border-right: 0; }
.fire-management-detail h4 { margin: 0 0 8px; color: #9eb0b4; font-size: 10px; font-weight: 600; }
.fire-management-detail dl { margin: 0; }
.fire-management-detail dl div { min-height: 30px; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 9px; align-items: center; border-top: 1px solid rgba(166,195,204,.065); }
.fire-management-detail dt { color: #667b83; font-size: 9px; }
.fire-management-detail dd { margin: 0; color: #b5c3c6; font-size: 9px; font-weight: 600; text-align: right; }
.fire-management-detail .loading { min-height: 150px; margin: 0; display: grid; place-items: center; color: #789097; font-size: 10px; }
.fire-management-detail > footer { min-height: 38px; padding: 9px 12px; border-top: 1px solid rgba(239,89,107,.1); color: #806e70; background: rgba(239,89,107,.02); font-size: 9px; line-height: 1.4; }
.fire-manager-popup small,.fire-manager-popup strong,.fire-manager-popup span,.fire-manager-popup em { display: block; }
.fire-manager-popup small { color: #df836f; font-size: 8px; font-weight: 700; letter-spacing: .05em; }
.fire-manager-popup strong { margin-top: 4px; color: #1c343d; font-size: 11px; }
.fire-manager-popup span { margin-top: 4px; color: #526b74; font-size: 9.5px; }
.fire-manager-popup em { margin-top: 5px; color: #74868c; font-size: 8.5px; font-style: normal; }

@media (max-width: 1180px) {
  .fire-management-query { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .fire-management-query button { min-height: 40px; grid-column: 1/-1; }
  .fire-management-kpis { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .fire-management-kpis article:nth-child(3) { border-right: 0; }
  .fire-management-main { grid-template-columns: 1fr; }
  #fire-management-ranking { height: 310px; }
  .fire-management-detail-grid { grid-template-columns: 1fr 1fr; }
  .fire-management-detail-grid > section:nth-child(2) { border-right: 0; }
  .fire-management-detail-grid > section:last-child { grid-column: 1/-1; border-top: 1px solid rgba(166,195,204,.08); }
}

@media (max-width: 720px) {
  .fire-management-heading { align-items: flex-start; flex-direction: column; }
  .fire-management-heading > button { width: 100%; }
  .fire-management-scope { align-items: flex-start; flex-direction: column; gap: 5px; }
  .fire-management-query { grid-template-columns: 1fr 1fr; }
  .fire-management-query button { grid-column: 1/-1; min-height: 40px; }
  .fire-management-kpis { grid-template-columns: 1fr 1fr; }
  .fire-management-kpis article { border-bottom: 1px solid rgba(166,195,204,.08); }
  .fire-management-kpis article:nth-child(even) { border-right: 0; }
  #fire-management-map { height: 330px; }
  .fire-management-detail-grid { grid-template-columns: 1fr; }
  .fire-management-detail-grid > section { border-right: 0; border-top: 1px solid rgba(166,195,204,.08); }
}

@media print {
  .fire-management-query,.fire-management-heading > button { display: none !important; }
  .fire-management-kpis { grid-template-columns: repeat(3,1fr) !important; }
  .fire-management-main { grid-template-columns: 1.4fr .8fr !important; }
  #fire-management-map,#fire-management-ranking { height: 95mm !important; }
  .fire-management-detail-grid { grid-template-columns: repeat(3,1fr) !important; }
}
