.rav-app{--rav-primary:#ff8300;--rav-secondary:#00ce7c;--rav-ink:#172033;--rav-muted:#667085;--rav-border:#e4e7ec;--rav-bg:#f7f8fa;--rav-danger:#d92d20;--rav-warning:#f79009;--rav-radius:18px;color:var(--rav-ink);font-family:inherit;line-height:1.5;margin:24px 0;max-width:100%;isolation:isolate}.rav-app *{box-sizing:border-box}.rav-app button,.rav-app select{font:inherit}.rav-kicker{display:block;color:var(--rav-secondary);font-size:12px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;margin-bottom:7px}.rav-filters{background:#fff;border:1px solid var(--rav-border);border-radius:var(--rav-radius);box-shadow:0 5px 22px rgba(16,24,40,.06);padding:20px;margin-bottom:14px}.rav-filter-label,.rav-select-wrap span{display:block;font-size:12px;font-weight:800;color:#475467;text-transform:uppercase;letter-spacing:.04em;margin-bottom:7px}.rav-day-tabs{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:17px}.rav-day-tab{border:1px solid var(--rav-border);border-radius:999px;background:#fff;color:#344054;cursor:pointer;padding:8px 13px;min-width:48px;font-weight:700;transition:.2s ease}.rav-day-tab:hover{border-color:var(--rav-primary);color:#8a4800}.rav-day-tab.is-active{background:var(--rav-primary);border-color:var(--rav-primary);color:#fff;box-shadow:0 4px 10px color-mix(in srgb,var(--rav-primary) 30%,transparent)}.rav-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr)) auto;gap:12px;align-items:end}.rav-select-wrap select{width:100%;height:45px;border:1px solid #d0d5dd;border-radius:10px;background:#fff;color:#344054;padding:0 34px 0 12px}.rav-select-wrap select:focus,.rav-day-tab:focus-visible,.rav-reset:focus-visible,.rav-view-switch button:focus-visible,.rav-card-action:focus-visible{outline:3px solid color-mix(in srgb,var(--rav-primary) 32%,transparent);outline-offset:2px}.rav-reset{height:45px;border:0;border-radius:10px;background:#f2f4f7;color:#344054;cursor:pointer;font-weight:750;padding:0 16px}.rav-reset:hover{background:#e4e7ec}.rav-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:13px 2px}.rav-summary{display:flex;align-items:center;gap:8px;color:#475467;font-size:14px;flex-wrap:wrap}.rav-summary__dot{width:9px;height:9px;border-radius:50%;background:var(--rav-secondary);box-shadow:0 0 0 5px color-mix(in srgb,var(--rav-secondary) 18%,transparent)}.rav-summary [data-updated]{color:#98a2b3;font-size:12px}.rav-view-switch{display:flex;background:#eef0f3;border-radius:10px;padding:3px}.rav-view-switch button{border:0;background:transparent;border-radius:8px;color:#475467;cursor:pointer;font-size:13px;font-weight:750;padding:7px 12px}.rav-view-switch button[aria-pressed=true]{background:#fff;color:#101828;box-shadow:0 1px 3px rgba(16,24,40,.12)}.rav-content{display:grid;grid-template-columns:minmax(380px,.95fr) minmax(420px,1.35fr);gap:16px;align-items:start}.rav-list-panel,.rav-map-panel{min-width:0}.rav-alert-list{display:flex;flex-direction:column;gap:12px}.rav-alert-card{display:grid;grid-template-columns:54px 1fr;background:#fff;border:1px solid var(--rav-border);border-radius:16px;overflow:hidden;box-shadow:0 3px 14px rgba(16,24,40,.045);transition:transform .18s ease,box-shadow .18s ease}.rav-alert-card:hover{transform:translateY(-1px);box-shadow:0 8px 23px rgba(16,24,40,.08)}.rav-alert-card.is-featured{border-color:color-mix(in srgb,var(--rav-primary) 55%,#fff);box-shadow:0 8px 26px color-mix(in srgb,var(--rav-primary) 13%,transparent)}.rav-alert-card__rail{display:flex;align-items:flex-start;justify-content:center;padding-top:19px;background:#fff7ed;border-right:1px solid #ffddb5}.rav-alert-card__rail span{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:var(--rav-primary);color:#fff;font-weight:900;font-size:17px}.rav-alert-card--critica .rav-alert-card__rail{background:#fff0ee;border-color:#ffccc7}.rav-alert-card--critica .rav-alert-card__rail span,.rav-alert-card--alta .rav-alert-card__rail span{background:#d92d20}.rav-alert-card--informativa .rav-alert-card__rail{background:#eef7ff;border-color:#c7e4ff}.rav-alert-card--informativa .rav-alert-card__rail span{background:#1570ef}.rav-alert-card--baja .rav-alert-card__rail{background:#ecfdf3;border-color:#c4efd4}.rav-alert-card--baja .rav-alert-card__rail span{background:#039855}.rav-alert-card__body{padding:17px 18px 18px}.rav-alert-card__top{display:flex;justify-content:space-between;align-items:center;gap:9px;flex-wrap:wrap}.rav-status,.rav-type,.rav-featured{display:inline-flex;align-items:center;border-radius:999px;font-size:11px;font-weight:800;line-height:1;padding:6px 8px;text-transform:uppercase;letter-spacing:.03em}.rav-status{margin-right:5px}.rav-status--active{background:#fee4e2;color:#b42318}.rav-status--scheduled{background:#fef0c7;color:#93370d}.rav-status--resolved{background:#dcfae6;color:#067647}.rav-type{background:#f2f4f7;color:#475467}.rav-featured{background:var(--rav-primary);color:#fff}.rav-alert-card h3{font-size:20px;line-height:1.25;margin:10px 0 5px;color:#101828}.rav-road{font-weight:800;color:#344054;margin-bottom:9px}.rav-meta{display:flex;flex-wrap:wrap;gap:6px;margin:9px 0}.rav-meta-pill{display:inline-block;background:#f8fafc;border:1px solid #eaecf0;border-radius:8px;color:#475467;font-size:12px;padding:5px 8px}.rav-location{font-size:13px;color:#475467;padding-left:18px;position:relative;margin:8px 0}.rav-location:before{content:"⌖";position:absolute;left:0;color:var(--rav-primary);font-weight:900}.rav-alert-card__description{color:#475467;font-size:14px;margin-top:10px}.rav-alert-card__description p{margin:0 0 8px}.rav-recommendation,.rav-alternate{border-left:3px solid var(--rav-primary);background:#fffaf3;color:#475467;font-size:13px;margin-top:10px;padding:9px 11px}.rav-alternate{border-color:var(--rav-secondary);background:#f2fcf7}.rav-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.rav-card-action{appearance:none;border:1px solid #d0d5dd;border-radius:9px;background:#fff;color:#344054;cursor:pointer;text-decoration:none;font-size:12px;font-weight:800;padding:8px 11px}.rav-card-action:hover{border-color:var(--rav-primary);color:#8a4800}.rav-map-panel{position:sticky;top:20px}.rav-map{height:var(--rav-map-height,650px);min-height:420px;border-radius:16px;border:1px solid var(--rav-border);overflow:hidden;background:#e9edf2;box-shadow:0 4px 18px rgba(16,24,40,.08)}.rav-map-note{font-size:11px;color:#667085;text-align:center;padding:7px 12px}.rav-map-marker-wrap{background:transparent;border:0}.rav-map-marker{display:grid;place-items:center;width:38px;height:38px;border:3px solid #fff;border-radius:50%;background:var(--rav-primary);box-shadow:0 3px 12px rgba(16,24,40,.35);color:#fff;font-size:17px;font-weight:900}.rav-map-marker--critica,.rav-map-marker--alta{background:#d92d20}.rav-map-marker--media{background:#f79009}.rav-map-marker--baja{background:#039855}.rav-map-marker--informativa{background:#1570ef}.rav-popup-content{font-family:inherit;min-width:220px}.rav-popup-content h3{font-size:16px;line-height:1.25;margin:8px 0 5px}.rav-popup-content p{margin:5px 0}.rav-popup-content a{display:inline-block;margin-top:6px;color:#b85e00;font-weight:800}.rav-empty,.rav-error{background:#fff;border:1px dashed #d0d5dd;border-radius:16px;text-align:center;padding:38px 20px;color:#667085}.rav-empty span{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 10px;border-radius:50%;background:#dcfae6;color:#067647;font-size:25px;font-weight:900}.rav-empty h3{color:#344054;margin:0 0 4px}.rav-empty p{margin:0}.rav-error{border-style:solid;background:#fff7ed;color:#7a2e0e}.rav-skeleton{height:210px;border-radius:16px;background:linear-gradient(90deg,#f2f4f7 25%,#fff 50%,#f2f4f7 75%);background-size:200% 100%;animation:ravShimmer 1.3s infinite}.rav-app--view-list .rav-content{grid-template-columns:1fr}.rav-app--view-list .rav-map-panel{display:none}.rav-app--view-list .rav-alert-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.rav-app--view-map .rav-content{grid-template-columns:1fr}.rav-app--view-map .rav-list-panel{display:none}.rav-app--view-map .rav-map-panel{position:relative;top:auto}@keyframes ravShimmer{to{background-position:-200% 0}}@media(max-width:1080px){.rav-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rav-reset{grid-column:1/-1}.rav-content{grid-template-columns:minmax(340px,.9fr) minmax(380px,1.1fr)}}@media(max-width:820px){.rav-content{grid-template-columns:1fr}.rav-map-panel{position:relative;top:auto}.rav-map{height:500px;min-height:380px}.rav-app--view-split .rav-content{display:flex;flex-direction:column}.rav-app--view-split .rav-map-panel{order:-1;width:100%}.rav-app--view-list .rav-alert-list{grid-template-columns:1fr}}@media(max-width:560px){.rav-app{margin:14px 0}.rav-filters{padding:15px;border-radius:14px}.rav-filter-grid{grid-template-columns:1fr}.rav-reset{grid-column:auto}.rav-day-tabs{display:grid;grid-template-columns:repeat(5,1fr)}.rav-day-tab{min-width:0;padding:8px 5px}.rav-toolbar{align-items:flex-start;flex-direction:column}.rav-view-switch{width:100%}.rav-view-switch button{flex:1}.rav-alert-card{grid-template-columns:44px 1fr}.rav-alert-card__rail span{width:28px;height:28px}.rav-alert-card__body{padding:15px 14px}.rav-alert-card h3{font-size:18px}.rav-map{height:430px}.rav-summary [data-updated]{display:block;width:100%;margin-left:17px}}

.rav-map-wrap{position:relative}.rav-map .leaflet-tile{max-width:none!important;max-height:none!important}.rav-map-status{position:absolute;z-index:1000;left:18px;right:18px;bottom:18px;background:rgba(255,255,255,.96);border:1px solid #f5c2a0;border-radius:10px;box-shadow:0 4px 16px rgba(16,24,40,.18);color:#7a2e0e;font-size:13px;font-weight:700;padding:10px 13px;text-align:center}.rav-map-status[hidden]{display:none!important}

/* REANL Alertas Viales 1.1.0: selector de mapa y agrupación dinámica de pines */
.rav-basemap-switch{position:absolute;z-index:1000;top:12px;right:12px;display:flex;padding:4px;border:1px solid rgba(16,24,40,.12);border-radius:11px;background:rgba(255,255,255,.94);box-shadow:0 3px 12px rgba(16,24,40,.18);backdrop-filter:blur(6px)}
.rav-basemap-switch button{min-height:34px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:#475467;font-size:12px;font-weight:800;cursor:pointer}
.rav-basemap-switch button:hover{color:#101828;background:#f2f4f7}
.rav-basemap-switch button.is-active,.rav-basemap-switch button[aria-pressed=true]{background:#101828;color:#fff;box-shadow:0 1px 3px rgba(16,24,40,.2)}
.rav-basemap-switch button:focus-visible{outline:3px solid color-mix(in srgb,var(--rav-primary) 35%,transparent);outline-offset:2px}
.rav-map-cluster-wrap{background:transparent!important;border:0!important}
.rav-map-cluster{display:flex;flex-direction:column;align-items:center;justify-content:center;width:54px;height:54px;border:4px solid rgba(255,255,255,.96);border-radius:50%;background:#1570ef;box-shadow:0 4px 16px rgba(16,24,40,.4);color:#fff;line-height:1;text-align:center;transition:transform .18s ease}
.rav-map-cluster:hover{transform:scale(1.06)}
.rav-map-cluster strong{font-size:18px;font-weight:900;letter-spacing:-.03em}
.rav-map-cluster small{margin-top:2px;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.rav-map-cluster--critica,.rav-map-cluster--alta{background:#d92d20}
.rav-map-cluster--media{background:#f79009}
.rav-map-cluster--baja{background:#039855}
.rav-map-cluster--informativa{background:#1570ef}
.rav-popup-cluster-content .rav-cluster-heading{display:block;color:#101828;font-size:15px;font-weight:900;margin-bottom:4px}
.rav-popup-cluster-content>p{color:#667085;font-size:12px;margin:0 0 8px}
.rav-popup-cluster-content ul{max-height:220px;overflow:auto;list-style:none;margin:0;padding:0}
.rav-popup-cluster-content li{display:flex;flex-direction:column;gap:2px;padding:8px 0;border-top:1px solid #eaecf0}
.rav-popup-cluster-content li strong{color:#101828;font-size:13px}
.rav-popup-cluster-content li span{color:#667085;font-size:11px}
.rav-map.leaflet-container{isolation:isolate}
@media(max-width:560px){.rav-basemap-switch{top:9px;right:9px}.rav-basemap-switch button{min-height:32px;padding:0 9px;font-size:11px}.rav-map-cluster{width:48px;height:48px}.rav-map-cluster strong{font-size:16px}}

/* REANL Alertas Viales 1.3.1: hero interno retirado; app y filtros intactos */
.rav-day-filter{background:#fff;border:1px solid var(--rav-border);border-radius:var(--rav-radius);box-shadow:0 5px 22px rgba(16,24,40,.06);padding:17px 20px 1px;margin-bottom:14px}
.rav-day-filter .rav-day-tabs{margin-bottom:16px}
.rav-toolbar__controls{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}
.rav-card-mode-switch{display:flex;background:#eef0f3;border-radius:10px;padding:3px}
.rav-card-mode-switch button{border:0;background:transparent;border-radius:8px;color:#475467;cursor:pointer;font-size:13px;font-weight:750;padding:7px 12px}
.rav-card-mode-switch button[aria-pressed=true]{background:#fff;color:#101828;box-shadow:0 1px 3px rgba(16,24,40,.12)}
.rav-card-mode-switch button:focus-visible,.rav-check-option input:focus-visible{outline:3px solid color-mix(in srgb,var(--rav-primary) 32%,transparent);outline-offset:2px}
.rav-workspace{display:grid;grid-template-columns:minmax(225px,265px) minmax(0,1fr);gap:16px;align-items:start}
.rav-workspace--no-filters{grid-template-columns:minmax(0,1fr)}
.rav-workspace>.rav-content{min-width:0}
.rav-filter-sidebar{position:sticky;top:20px;max-height:calc(100vh - 40px);overflow:auto;background:#fff;border:1px solid var(--rav-border);border-radius:16px;box-shadow:0 4px 18px rgba(16,24,40,.055);padding:18px 16px}
.rav-filter-sidebar__header{padding:0 2px 12px;border-bottom:1px solid #eaecf0;margin-bottom:4px}
.rav-filter-sidebar__header .rav-kicker{color:#8a4800;margin-bottom:2px}
.rav-filter-sidebar__header h3{color:#101828;font-size:21px;line-height:1.15;margin:0}
.rav-filter-sidebar__hint{display:block;color:#667085;font-size:11px;line-height:1.35;margin-top:7px}
.rav-check-group{min-width:0;border:0;border-bottom:1px solid #eaecf0;margin:0;padding:15px 1px}
.rav-check-group:last-child{border-bottom:0;padding-bottom:2px}
.rav-check-group legend{display:block;width:100%;color:#101828;font-size:13px;font-weight:900;letter-spacing:.035em;text-transform:uppercase;margin:0 0 8px;padding:0}
.rav-check-options{display:flex;flex-direction:column;gap:3px}
.rav-check-option{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:9px;border-radius:9px;color:#344054;cursor:pointer;font-size:13px;line-height:1.25;padding:7px 7px;transition:background .16s ease,color .16s ease}
.rav-check-option:hover{background:#f8fafc;color:#101828}
.rav-check-option:has(input:checked){background:color-mix(in srgb,var(--rav-primary) 9%,#fff);color:#6f3900}
.rav-check-option input{appearance:none;width:17px;height:17px;margin:0;border:1.5px solid #98a2b3;border-radius:4px;background:#fff;cursor:pointer;position:relative}
.rav-check-option input:checked{border-color:var(--rav-primary);background:var(--rav-primary)}
.rav-check-option input:checked:after{content:"";position:absolute;left:4px;top:1px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.rav-check-option span{min-width:0}
.rav-check-option strong{font-weight:850}
.rav-check-option small{display:block;color:#667085;font-size:10.5px;line-height:1.28;margin-top:2px}
.rav-check-option--all{margin-top:4px;border-top:1px dashed #d0d5dd;border-radius:0;padding-top:10px}
.rav-workspace .rav-content{grid-template-columns:minmax(320px,.9fr) minmax(360px,1.15fr)}
.rav-app--view-list .rav-workspace .rav-content,.rav-app--view-map .rav-workspace .rav-content{grid-template-columns:1fr}
.rav-app--cards-compact .rav-alert-card__body{padding-top:14px;padding-bottom:14px}
.rav-app--cards-compact .rav-alert-card h3{margin-top:8px}
.rav-app--cards-compact .rav-card-actions{margin-top:10px}
.rav-app--cards-compact .rav-alert-card{min-height:0}
@media(max-width:1280px){.rav-workspace .rav-content{grid-template-columns:1fr}.rav-workspace .rav-map-panel{position:relative;top:auto}.rav-app--view-split .rav-workspace .rav-content{display:flex;flex-direction:column}.rav-app--view-split .rav-workspace .rav-map-panel{order:-1;width:100%}.rav-map{height:min(var(--rav-map-height,650px),520px)}}
@media(max-width:900px){.rav-workspace{grid-template-columns:1fr}.rav-filter-sidebar{position:relative;top:auto;max-height:none;overflow:visible}.rav-filter-sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.rav-filter-sidebar__header{grid-column:1/-1}.rav-check-group:nth-of-type(odd){border-right:1px solid #eaecf0;padding-right:14px}.rav-check-group:nth-of-type(even){padding-left:2px}.rav-toolbar{align-items:flex-start;flex-direction:column}.rav-toolbar__controls{justify-content:flex-start;width:100%}}
@media(max-width:620px){.rav-day-filter{padding:15px 14px 1px}.rav-day-filter .rav-day-tabs{display:grid;grid-template-columns:repeat(5,1fr)}.rav-filter-sidebar{display:block}.rav-check-group:nth-of-type(odd){border-right:0;padding-right:1px}.rav-check-group:nth-of-type(even){padding-left:1px}.rav-toolbar__controls{display:grid;grid-template-columns:1fr;width:100%}.rav-card-mode-switch,.rav-view-switch{width:100%}.rav-card-mode-switch button,.rav-view-switch button{flex:1}.rav-check-option{font-size:13.5px}.rav-app--view-list .rav-alert-list{grid-template-columns:1fr}}

/* REANL Alertas Viales 1.4.0: fichas horizontales y paginación */
.rav-alert-list,
.rav-app--view-list .rav-alert-list,
.rav-app--view-split .rav-alert-list{
  display:flex;
  flex-direction:column;
  grid-template-columns:none;
  width:100%;
  gap:18px;
}
.rav-alert-card{
  width:100%;
  max-width:none;
  box-shadow:0 5px 18px rgba(16,24,40,.065);
}
.rav-pagination{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  width:100%;
  margin-top:22px;
  padding:18px 16px;
  border:1px solid var(--rav-border);
  border-radius:14px;
  background:#fff;
  box-shadow:0 3px 14px rgba(16,24,40,.045);
}
.rav-pagination[hidden]{display:none!important}
.rav-pagination__summary{
  color:#667085;
  font-size:13px;
  font-weight:700;
  text-align:center;
}
.rav-pagination__controls,
.rav-pagination__numbers{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:7px;
}
.rav-pagination button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:40px;
  height:40px;
  border:1px solid #d0d5dd;
  border-radius:10px;
  background:#fff;
  color:#344054;
  cursor:pointer;
  font-size:13px;
  font-weight:800;
  line-height:1;
  padding:0 12px;
  transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease;
}
.rav-pagination button:hover:not(:disabled){
  border-color:var(--rav-primary);
  color:#8a4800;
  transform:translateY(-1px);
}
.rav-pagination button:focus-visible{
  outline:3px solid color-mix(in srgb,var(--rav-primary) 32%,transparent);
  outline-offset:2px;
}
.rav-pagination button:disabled{
  cursor:not-allowed;
  opacity:.42;
}
.rav-pagination__page.is-active{
  border-color:var(--rav-primary);
  background:var(--rav-primary);
  color:#fff;
  box-shadow:0 4px 10px color-mix(in srgb,var(--rav-primary) 27%,transparent);
}
.rav-pagination__ellipsis{
  display:inline-grid;
  place-items:center;
  width:24px;
  height:40px;
  color:#98a2b3;
  font-weight:900;
}
@media(max-width:560px){
  .rav-alert-list,
  .rav-app--view-list .rav-alert-list,
  .rav-app--view-split .rav-alert-list{gap:14px}
  .rav-pagination{padding:15px 10px}
  .rav-pagination__controls{gap:5px}
  .rav-pagination__nav span:not([aria-hidden=true]){display:none}
  .rav-pagination__nav{padding:0!important;min-width:40px!important}
  .rav-pagination button{min-width:36px;height:38px;padding:0 9px}
  .rav-pagination__ellipsis{width:15px;height:38px}
}
