/* «Где есть бензин» — стили виджета. Все классы с префиксом fw-, цвета можно переопределить переменными:
   .fw{--fw-accent:#c40303;--fw-radius:16px;--fw-font:inherit} */
.fw{--fw-accent:var(--accent,#c40303);--fw-text:#15161c;--fw-muted:#6b6e7c;--fw-line:#e8e8ee;--fw-bg:#f5f5f8;--fw-radius:16px;--fw-font:inherit;
  font-family:var(--fw-font);color:var(--fw-text);display:flex;flex-direction:column;gap:16px;-webkit-font-smoothing:antialiased}
.fw *{box-sizing:border-box}
.fw button{font:inherit;cursor:pointer;color:inherit}
.fw-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}
.fw-title{margin:0;font-size:clamp(22px,2.6vw,32px);font-weight:800;letter-spacing:-.025em;line-height:1.15}
.fw-upd{margin-top:6px;font-size:13.5px;color:var(--fw-muted)}
.fw-refresh{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 14px;border-radius:10px;border:1px solid var(--fw-line);background:#fff;font-size:13.5px;font-weight:700}
.fw-refresh:hover{border-color:var(--fw-accent);color:var(--fw-accent)}
.fw.is-busy .fw-refresh svg{animation:fw-spin 1s linear infinite}
@keyframes fw-spin{to{transform:rotate(360deg)}}

/* сводка */
.fw-sum{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.fw-stat{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;border-radius:12px;background:var(--fw-bg);border:1.5px solid transparent;text-align:left;transition:.15s}
.fw-stat b{font-size:24px;font-weight:800;line-height:1.1;letter-spacing:-.03em}
.fw-stat span{font-size:12.5px;font-weight:600;color:var(--fw-muted)}
.fw-stat:hover{border-color:var(--fw-line);background:#fff}
.fw-stat.is-on{background:#fff;border-color:var(--fw-text)}

/* фильтры */
.fw-filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.fw-chips{display:flex;gap:6px;flex-wrap:wrap;flex:1}
.fw-chip{height:34px;padding:0 13px;border-radius:9px;border:1px solid var(--fw-line);background:#fff;font-size:13.5px;font-weight:600;white-space:nowrap}
.fw-chip:hover{border-color:var(--fw-text)}
.fw-chip.is-on{background:var(--fw-text);border-color:var(--fw-text);color:#fff}
.fw-search{height:38px;min-width:220px;padding:0 14px;border-radius:10px;border:1px solid var(--fw-line);font:inherit;font-size:14px;outline:none;background:var(--fw-bg)}
.fw-search:focus{border-color:var(--fw-accent);background:#fff}
.fw-tabs{display:none}

/* карта + список */
.fw-body{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:16px;align-items:start}
.fw-map{height:640px;border-radius:var(--fw-radius);overflow:hidden;background:var(--fw-bg);position:sticky;top:90px;z-index:0}
.fw-list{display:flex;flex-direction:column;gap:10px;max-height:640px;overflow-y:auto;padding-right:4px;scrollbar-width:thin}
.fw-card{background:#fff;border:1px solid var(--fw-line);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:10px;transition:border-color .15s}
.fw-card:hover{border-color:#c9c9d3}
.fw-card__top{display:flex;align-items:flex-start;gap:10px}
.fw-dot{width:10px;height:10px;border-radius:50%;margin-top:6px;flex-shrink:0}
.fw-card__t{flex:1;min-width:0}
.fw-card__t b{display:block;font-size:15.5px;font-weight:700;line-height:1.3}
.fw-card__t span{display:block;font-size:13px;color:var(--fw-muted);margin-top:2px}
.fw-badge{flex-shrink:0;font-size:11.5px;font-weight:800;padding:4px 8px;border-radius:7px;color:var(--c);background:color-mix(in srgb,var(--c) 12%,#fff);white-space:nowrap}
.fw-fuels{display:flex;flex-wrap:wrap;gap:5px}
.fw-fuel,.fw-tag{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 9px;border-radius:7px;font-size:12.5px;font-weight:700;border:1px solid transparent}
.fw-fuel small{font-weight:600;opacity:.75}
.fw-f-available{background:#e8f7ee;color:#11803a}
.fw-f-queue,.fw-f-limited{background:#fff4e0;color:#b45309}
.fw-f-empty,.fw-f-closed{background:#fdecec;color:#b91c1c;text-decoration:line-through;text-decoration-thickness:1.5px}
.fw-f-unknown{background:var(--fw-bg);color:var(--fw-muted)}
.fw-tag{background:var(--fw-bg);color:var(--fw-text);font-weight:600}
.fw-card__foot{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--fw-muted)}
.fw-acts{display:flex;gap:6px}
.fw-link{height:30px;padding:0 11px;border-radius:8px;border:1px solid var(--fw-line);background:#fff;display:inline-flex;align-items:center;font-size:12.5px;font-weight:700;color:var(--fw-text);text-decoration:none}
.fw-link:hover{border-color:var(--fw-accent);color:var(--fw-accent)}
.fw-empty{padding:32px 16px;text-align:center;color:var(--fw-muted);background:var(--fw-bg);border-radius:14px;font-size:14.5px}
.fw-loading{display:flex;justify-content:center;gap:6px;padding:40px}
.fw-loading i{width:9px;height:9px;border-radius:50%;background:var(--fw-accent);animation:fw-dot 1s infinite ease-in-out}
.fw-loading i:nth-child(2){animation-delay:.15s}.fw-loading i:nth-child(3){animation-delay:.3s}
@keyframes fw-dot{0%,80%,100%{transform:scale(.5);opacity:.4}40%{transform:none;opacity:1}}

/* карточка во всплывающем окне карты */
.fw .leaflet-popup-content{margin:0;width:auto!important}
.fw .leaflet-popup-content-wrapper{border-radius:14px;padding:0}
.fw-card--pop{border:0;padding:14px}

/* подвал */
.fw-foot{border-top:1px solid var(--fw-line);padding-top:14px;font-size:12.5px;color:var(--fw-muted);line-height:1.55}
.fw-foot p{margin:8px 0 0}
.fw-src{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.fw-src a{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 9px;border-radius:7px;background:var(--fw-bg);color:var(--fw-text);font-weight:600;text-decoration:none}
.fw-src a::before{content:"";width:7px;height:7px;border-radius:50%;background:#16a34a}
.fw-src a.is-bad::before{background:#dc2626}
.fw-src a:hover{color:var(--fw-accent)}

@media (max-width:1000px){
  .fw-body{grid-template-columns:1fr}
  .fw-tabs{display:flex;background:var(--fw-bg);border-radius:11px;padding:3px;gap:3px}
  .fw-tabs button{flex:1;height:38px;border:0;border-radius:9px;background:transparent;font-weight:700;font-size:14px;color:var(--fw-muted)}
  .fw-tabs button.is-on{background:#fff;color:var(--fw-text);box-shadow:0 1px 3px rgba(0,0,0,.08)}
  .fw-body.is-list .fw-map{display:none}
  .fw-body.is-map .fw-list{display:none}
  .fw-map{position:relative;top:0;height:70vh;min-height:420px}
  .fw-list{max-height:none;overflow:visible;padding:0}
}
@media (max-width:640px){
  .fw-sum{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fw-sum .fw-stat:first-child{display:none}
  .fw-stat{padding:10px}
  .fw-stat b{font-size:20px}
  .fw-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:0 16px}
  .fw-chips::-webkit-scrollbar{display:none}
  .fw-search{min-width:0;width:100%}
  .fw-card__top{flex-wrap:wrap}
}
