.jd-traffic-module{padding:18px}.jd-traffic-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.jd-traffic-head h3{margin:0 0 8px}.jd-traffic-help{opacity:.9;margin:0;line-height:1.55}.jd-traffic-meta{flex-wrap:wrap;gap:10px;display:flex}.jd-traffic-meta-item{background:color-mix(in oklab, var(--card,#fff) 92%, var(--brand,#10b981) 8%);border:1px solid color-mix(in oklab, var(--border,#0000001f) 88%, var(--brand,#10b981) 12%);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:16px;min-width:145px;padding:10px 12px}.jd-traffic-meta-label{opacity:.75;margin-bottom:4px;font-size:.8rem;display:block}.jd-traffic-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;display:flex}.jd-traffic-control{background:color-mix(in oklab, var(--card,#fff) 96%, var(--brand,#10b981) 4%);border:1px solid color-mix(in oklab, var(--border,#00000024) 84%, var(--brand,#10b981) 16%);border-radius:14px;align-items:center;gap:8px;padding:10px 12px;display:inline-flex;box-shadow:0 1px 3px #0000000a}.jd-traffic-select{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;outline:none}.jd-traffic-filters{flex-wrap:wrap;flex:auto;gap:8px;display:flex}.jd-traffic-filter,.jd-traffic-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid color-mix(in oklab, var(--border,#00000024) 82%, var(--brand,#10b981) 18%);background:color-mix(in oklab, var(--card,#fff) 96%, var(--brand,#10b981) 4%);color:inherit;font:inherit;cursor:pointer;border-radius:999px;padding:10px 14px;line-height:1;transition:all .18s;box-shadow:0 1px 3px #0000000a}.jd-traffic-filter:hover,.jd-traffic-btn:hover{background:color-mix(in oklab, var(--card,#fff) 90%, var(--brand,#10b981) 10%);border-color:color-mix(in oklab, var(--border,#00000024) 66%, var(--brand,#10b981) 34%);transform:translateY(-1px)}.jd-traffic-filter.is-active{background:var(--brand,#6366f1cc);border-color:var(--brand,#6366f1cc);color:#fff;box-shadow:0 2px 8px color-mix(in oklab, var(--brand,#10b981) 24%, transparent)}.jd-traffic-map{border:1px solid color-mix(in oklab, var(--border,#00000024) 84%, var(--brand,#10b981) 16%);border-radius:22px;width:100%;height:520px;overflow:hidden;box-shadow:0 10px 28px #0000002e}.jd-traffic-legend{flex-wrap:wrap;gap:12px;margin-top:12px;display:flex}.jd-traffic-legend-item{background:color-mix(in oklab, var(--card,#fff) 94%, var(--brand,#10b981) 6%);border:1px solid color-mix(in oklab, var(--border,#00000024) 86%, var(--brand,#10b981) 14%);border-radius:999px;align-items:center;gap:8px;padding:8px 11px;font-size:.92rem;display:inline-flex}.jd-traffic-dot{border-radius:50%;width:10px;height:10px;display:inline-block}.jd-traffic-summary{background:color-mix(in oklab, var(--card,#fff) 95%, var(--brand,#10b981) 5%);border:1px solid color-mix(in oklab, var(--border,#00000024) 86%, var(--brand,#10b981) 14%);border-radius:18px;margin-top:14px;padding:14px 16px;line-height:1.55}.jd-traffic-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px;display:grid}.jd-traffic-card{background:color-mix(in oklab, var(--card,#fff) 97%, var(--brand,#10b981) 3%);border:1px solid color-mix(in oklab, var(--border,#00000024) 88%, var(--brand,#10b981) 12%);border-radius:20px;padding:16px;box-shadow:0 8px 24px #00000014}.jd-traffic-card-top{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.jd-traffic-card h4{margin:0;font-size:1rem;line-height:1.35}.jd-traffic-badges{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.jd-traffic-badge{border:1px solid color-mix(in oklab, var(--border,#00000024) 82%, var(--brand,#10b981) 18%);background:color-mix(in oklab, var(--card,#fff) 95%, var(--brand,#10b981) 5%);border-radius:999px;align-items:center;padding:6px 10px;font-size:.82rem;line-height:1;display:inline-flex}.jd-traffic-badge.is-distance{font-weight:700}.jd-traffic-road{opacity:.95;font-weight:700}.jd-traffic-desc{opacity:.92;margin:10px 0;line-height:1.55}.jd-traffic-card-meta{opacity:.84;gap:6px;font-size:.92rem;display:grid}.jd-traffic-empty{background:color-mix(in oklab, var(--card,#fff) 95%, var(--brand,#10b981) 5%);border:1px solid color-mix(in oklab, var(--border,#00000024) 86%, var(--brand,#10b981) 14%);text-align:center;border-radius:20px;padding:22px 18px;line-height:1.6}.jd-traffic-popup{min-width:220px}.jd-traffic-popup h5{margin:0 0 8px;font-size:1rem}.jd-traffic-popup p{margin:6px 0;line-height:1.45}.jd-traffic-popup .mini{opacity:.85;font-size:.9rem}.jd-traffic-marker{border:2px solid #ffffffeb;border-radius:50%;width:18px;height:18px;box-shadow:0 2px 10px #00000047}.jd-traffic-marker--station{background:#111827;border:3px solid #fff;border-radius:50%;width:20px;height:20px;box-shadow:0 2px 10px #00000047}.jd-traffic-card-top .jd-traffic-badge{white-space:nowrap}:root[data-theme=dark] .jd-traffic-meta-item,html[data-theme=dark] .jd-traffic-meta-item,html.dark .jd-traffic-meta-item,body.dark .jd-traffic-meta-item,:root[data-theme=dark] .jd-traffic-control,html[data-theme=dark] .jd-traffic-control,html.dark .jd-traffic-control,body.dark .jd-traffic-control,:root[data-theme=dark] .jd-traffic-filter,html[data-theme=dark] .jd-traffic-filter,html.dark .jd-traffic-filter,body.dark .jd-traffic-filter,:root[data-theme=dark] .jd-traffic-btn,html[data-theme=dark] .jd-traffic-btn,html.dark .jd-traffic-btn,body.dark .jd-traffic-btn,:root[data-theme=dark] .jd-traffic-legend-item,html[data-theme=dark] .jd-traffic-legend-item,html.dark .jd-traffic-legend-item,body.dark .jd-traffic-legend-item,:root[data-theme=dark] .jd-traffic-summary,html[data-theme=dark] .jd-traffic-summary,html.dark .jd-traffic-summary,body.dark .jd-traffic-summary,:root[data-theme=dark] .jd-traffic-card,html[data-theme=dark] .jd-traffic-card,html.dark .jd-traffic-card,body.dark .jd-traffic-card,:root[data-theme=dark] .jd-traffic-empty,html[data-theme=dark] .jd-traffic-empty,html.dark .jd-traffic-empty,body.dark .jd-traffic-empty,:root[data-theme=dark] .jd-traffic-badge,html[data-theme=dark] .jd-traffic-badge,html.dark .jd-traffic-badge,body.dark .jd-traffic-badge,:root[data-theme=dark] .jd-traffic-map,html[data-theme=dark] .jd-traffic-map,html.dark .jd-traffic-map,body.dark .jd-traffic-map{border-color:#ffffff1a}:root[data-theme=dark] .jd-traffic-filter,html[data-theme=dark] .jd-traffic-filter,html.dark .jd-traffic-filter,body.dark .jd-traffic-filter,:root[data-theme=dark] .jd-traffic-btn,html[data-theme=dark] .jd-traffic-btn,html.dark .jd-traffic-btn,body.dark .jd-traffic-btn,:root[data-theme=dark] .jd-traffic-control,html[data-theme=dark] .jd-traffic-control,html.dark .jd-traffic-control,body.dark .jd-traffic-control{box-shadow:none;background:#ffffff0d}:root[data-theme=dark] .jd-traffic-filter:hover,html[data-theme=dark] .jd-traffic-filter:hover,html.dark .jd-traffic-filter:hover,body.dark .jd-traffic-filter:hover,:root[data-theme=dark] .jd-traffic-btn:hover,html[data-theme=dark] .jd-traffic-btn:hover,html.dark .jd-traffic-btn:hover,body.dark .jd-traffic-btn:hover{background:#ffffff17}@media (prefers-color-scheme:dark){:root:not([data-theme]) .jd-traffic-meta-item,:root:not([data-theme]) .jd-traffic-control,:root:not([data-theme]) .jd-traffic-filter,:root:not([data-theme]) .jd-traffic-btn,:root:not([data-theme]) .jd-traffic-legend-item,:root:not([data-theme]) .jd-traffic-summary,:root:not([data-theme]) .jd-traffic-card,:root:not([data-theme]) .jd-traffic-empty,:root:not([data-theme]) .jd-traffic-badge,:root:not([data-theme]) .jd-traffic-map{border-color:#ffffff1a}:root:not([data-theme]) .jd-traffic-filter,:root:not([data-theme]) .jd-traffic-btn,:root:not([data-theme]) .jd-traffic-control{box-shadow:none;background:#ffffff0d}:root:not([data-theme]) .jd-traffic-filter:hover,:root:not([data-theme]) .jd-traffic-btn:hover{background:#ffffff17}}@media (max-width:900px){.jd-traffic-list{grid-template-columns:1fr}.jd-traffic-map{height:430px}}@media (max-width:640px){.jd-traffic-module{padding:14px}.jd-traffic-map{border-radius:18px;height:360px}.jd-traffic-toolbar{align-items:stretch}.jd-traffic-control,.jd-traffic-btn{justify-content:space-between;width:100%}.jd-traffic-filters{width:100%}.jd-traffic-filter{text-align:center;flex:calc(50% - 8px)}}.jd-traffic-map-marker{background:radial-gradient(circle at 35% 25%, #fffffff5, #ffffff52 34%, transparent 60%), var(--traffic-color,#10b981);width:26px;height:26px;box-shadow:0 7px 16px #0f172a3d, 0 0 0 2px color-mix(in oklab, var(--traffic-color,#10b981) 24%, transparent), inset 0 -3px 7px #0f172a1f;opacity:.92;border:1.5px solid #fffffff5;border-radius:999px;place-items:center;display:grid}.jd-traffic-map-marker:before{color:#fff;text-shadow:0 1px 4px #0f172a57;font-size:14px;font-weight:950;line-height:1;transform:translateY(-1px)}.jd-traffic-map-marker.retencion:before{content:"≡";font-size:16px}.jd-traffic-map-marker.station{opacity:.96;background:radial-gradient(circle at 35% 25%,#fff,#ffffffb8 42%,#ffffffeb 70%),#fff;border:1.5px solid #0f172ad1;width:30px;height:30px;box-shadow:0 8px 18px #0f172a3d,0 0 0 2px #0f172a1f,inset 0 -3px 7px #0f172a14}@media (max-width:760px){.jd-traffic-map-marker{opacity:.88;width:22px;height:22px;box-shadow:0 6px 14px #0f172a38, 0 0 0 2px color-mix(in oklab, var(--traffic-color,#10b981) 20%, transparent), inset 0 -3px 6px #0f172a1a}.jd-traffic-map-marker:before{font-size:12px}.jd-traffic-map-marker.accident:before,.jd-traffic-map-marker.retencion:before{font-size:14px}.jd-traffic-map-marker.obras:before,.jd-traffic-map-marker.meteo:before{font-size:11px}.jd-traffic-map-marker.station{width:26px;height:26px}.jd-traffic-map-marker.station:before{font-size:13px}}.jd-traffic-map-marker{background:radial-gradient(circle at 34% 24%, #fffffffa, #ffffff57 34%, transparent 60%), var(--traffic-color,#10b981);width:28px;height:28px;box-shadow:0 7px 16px #0f172a3d, 0 0 0 2px color-mix(in oklab, var(--traffic-color,#10b981) 24%, transparent), inset 0 -3px 7px #0f172a1f;opacity:.94;border:1.6px solid #fffffff5;border-radius:999px;place-items:center;display:grid;position:relative}.jd-traffic-map-marker.accident{border-radius:9px;transform:rotate(45deg)}.jd-traffic-map-marker.accident:before{content:"!";font-size:17px;transform:rotate(-45deg)translateY(-1px)}.jd-traffic-map-marker.obras{border-radius:9px}@media (max-width:760px){.jd-traffic-map-marker{opacity:.9;width:24px;height:24px;box-shadow:0 6px 14px #0f172a38, 0 0 0 2px color-mix(in oklab, var(--traffic-color,#10b981) 20%, transparent), inset 0 -3px 6px #0f172a1a}.jd-traffic-map-marker.accident{border-radius:8px}.jd-traffic-map-marker.accident:before{font-size:15px}.jd-traffic-map-marker.retencion:before{font-size:17px}.jd-traffic-map-marker.obras:before{font-size:11px}.jd-traffic-map-marker.meteo:before{font-size:13px}.jd-traffic-map-marker.station{width:26px;height:26px}.jd-traffic-map-marker.station:before{font-size:13px}}.jd-traffic-radius-circle{filter:drop-shadow(0 2px 8px #0f172a1a)}.jd-traffic-map-marker{background:radial-gradient(circle at 34% 24%, #fffffffa, #ffffff57 34%, transparent 60%), var(--traffic-color,#10b981)!important;width:24px!important;height:24px!important;box-shadow:0 7px 16px #0f172a38, 0 0 0 2px color-mix(in oklab, var(--traffic-color,#10b981) 22%, transparent), inset 0 -3px 7px #0f172a1a!important;opacity:.92!important;border:1.5px solid #fffffff5!important;border-radius:999px!important;place-items:center!important;display:grid!important;position:relative!important;transform:none!important}.jd-traffic-map-marker:before{color:#fff!important;text-shadow:0 1px 4px #0f172a5c!important;font-weight:950!important;line-height:1!important;transform:translateY(-1px)!important}.jd-traffic-map-marker.accident:before{content:"!"!important;font-size:16px!important}.jd-traffic-map-marker.retencion:before{content:"≡"!important;letter-spacing:-1px!important;font-size:17px!important}.jd-traffic-map-marker.obras:before{content:"◆"!important;font-size:12px!important}.jd-traffic-map-marker.meteo:before{content:"☂"!important;font-size:13px!important}.jd-traffic-map-marker.other:before{content:"•"!important;font-size:20px!important}.jd-traffic-map-marker.station{opacity:.96!important;background:radial-gradient(circle at 35% 25%,#fff,#ffffffb8 42%,#ffffffeb 70%),#fff!important;border:1.5px solid #0f172ad1!important;border-radius:999px!important;width:26px!important;height:26px!important;box-shadow:0 8px 18px #0f172a38,0 0 0 2px #0f172a1f,inset 0 -3px 7px #0f172a14!important}.jd-traffic-map-marker.station:before{content:"⌂"!important;color:#111827!important;text-shadow:none!important;font-size:13px!important}.jd-traffic-marker,.jd-traffic-marker--station{display:none!important}@media (max-width:760px){.jd-traffic-map-marker{opacity:.89!important;width:22px!important;height:22px!important;box-shadow:0 6px 14px #0f172a33, 0 0 0 2px color-mix(in oklab, var(--traffic-color,#10b981) 20%, transparent), inset 0 -3px 6px #0f172a1a!important}.jd-traffic-map-marker.accident:before{font-size:14px!important}.jd-traffic-map-marker.retencion:before{font-size:15px!important}.jd-traffic-map-marker.obras:before,.jd-traffic-map-marker.meteo:before{font-size:11px!important}.jd-traffic-map-marker.station{width:24px!important;height:24px!important}.jd-traffic-map-marker.station:before{font-size:12px!important}}