/* Extra services UI */
.lg-toolbar{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-top:1rem}
.lg-select,.lg-label{font:inherit}
.lg-select{background:var(--lg-bg-elev);color:var(--lg-text);border:1px solid var(--lg-border);border-radius:10px;padding:.55rem .75rem}
.lg-muted{color:var(--lg-muted);font-size:.9rem}
.lg-fineprint{color:var(--lg-muted);font-size:.8rem;margin-top:1.5rem;max-width:70ch}
.lg-hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.25rem}
.lg-panel{background:var(--lg-card);border:1px solid var(--lg-border);border-radius:var(--lg-radius);padding:1rem 1.05rem;min-height:140px}
.lg-panel--wide{grid-column:1/-1}
.lg-panel h2{margin:0 0 .75rem;font-size:.95rem;letter-spacing:.06em;text-transform:uppercase;color:var(--lg-muted);font-family:var(--lg-mono)}
.lg-panel__body{font-size:.95rem}
.lg-stat-row{display:flex;flex-wrap:wrap;gap:.6rem}
.lg-stat{flex:1 1 120px;background:rgba(255,255,255,.03);border:1px solid var(--lg-border);border-radius:12px;padding:.7rem .8rem}
.lg-stat b{display:block;font-size:1.25rem;letter-spacing:-.02em}
.lg-stat span{color:var(--lg-muted);font-size:.78rem}
.lg-table{width:100%;border-collapse:collapse;font-size:.9rem}
.lg-table th,.lg-table td{padding:.55rem .4rem;border-bottom:1px solid rgba(42,43,45,.85);text-align:left;vertical-align:top}
.lg-table th{color:var(--lg-muted);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}
.lg-pill{display:inline-flex;align-items:center;padding:.15rem .5rem;border-radius:999px;font-size:.72rem;font-weight:700}
.lg-pill--ok{background:rgba(61,220,151,.15);color:#3DDC97}
.lg-pill--mid{background:rgba(242,233,78,.15);color:#F2E94E}
.lg-pill--bad{background:rgba(255,107,107,.15);color:#FF6B6B}
.lg-alert-row{display:flex;flex-direction:column;gap:.5rem;margin:1rem 0}
.lg-alert{border-left:3px solid var(--lg-signal);background:rgba(242,233,78,.08);padding:.7rem .9rem;border-radius:0 10px 10px 0}
.lg-alert--high{border-left-color:#FF6B6B;background:rgba(255,107,107,.1)}
.lg-alert--medium{border-left-color:#FFB020}
.lg-list-clean{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}
.lg-list-clean a{color:var(--lg-text);font-weight:600}
.lg-list-clean a:hover{color:var(--lg-signal)}
.lg-skeleton{color:var(--lg-muted)}

/* Liveblog */
.lg-timeline{list-style:none;margin:0;padding:0;border-left:2px solid var(--lg-border);margin-left:.6rem}
.lg-timeline__item{position:relative;padding:0 0 1.25rem 1.25rem}
.lg-timeline__item::before{content:'';position:absolute;left:-.45rem;top:.35rem;width:.7rem;height:.7rem;border-radius:50%;background:var(--lg-signal);box-shadow:0 0 0 3px rgba(242,233,78,.15)}
.lg-timeline__item.is-alert::before{background:#FF6B6B}
.lg-timeline__meta{font-size:.75rem;color:var(--lg-muted);font-family:var(--lg-mono);margin-bottom:.25rem}
.lg-timeline__title{margin:0 0 .25rem;font-size:1.05rem}
.lg-timeline__text{margin:0;color:var(--lg-muted)}

/* Map */
.lg-map-layout{display:grid;grid-template-columns:1.4fr .8fr;gap:1rem;min-height:520px}
.lg-map{min-height:520px;border-radius:var(--lg-radius);border:1px solid var(--lg-border);background:#0d1016;z-index:1}
.lg-map-list{max-height:320px;overflow:auto;font-size:.88rem}
.lg-legend{list-style:none;margin:0 0 1rem;padding:0}
.lg-legend li{display:flex;gap:.5rem;align-items:center;margin:.35rem 0;color:var(--lg-muted);font-size:.9rem}
.lg-legend i{width:12px;height:12px;border-radius:50%;display:inline-block}

/* Traffic cards */
.lg-route-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.85rem}
.lg-route{background:var(--lg-card);border:1px solid var(--lg-border);border-radius:var(--lg-radius);padding:1rem}
.lg-route h3{margin:0 0 .5rem;font-size:1rem}
.lg-route .big{font-size:1.8rem;font-weight:800;letter-spacing:-.03em}

/* Sports */
.lg-match{display:grid;grid-template-columns:1fr auto 1fr;gap:.5rem;align-items:center;padding:.65rem 0;border-bottom:1px solid rgba(42,43,45,.8)}
.lg-match:last-child{border-bottom:0}
.lg-match__team{font-weight:700}
.lg-match__team--away{text-align:right}
.lg-match__score{font-family:var(--lg-mono);font-weight:800;color:var(--lg-signal)}
.lg-match__meta{grid-column:1/-1;font-size:.75rem;color:var(--lg-muted)}

@media (max-width:900px){
  .lg-hub-grid,.lg-map-layout{grid-template-columns:1fr}
  .lg-map{min-height:360px}
}
