@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Inter:wght@400;500;600&display=swap');

  :root{
    --bg:#1B1E22;
    --panel:#22262B;
    --panel-2:#292E34;
    --line:#383D44;
    --text:#F1EEE7;
    --muted:#9BA2AC;
    --amber:#E8A33D;
    --diesel:#5C9BD1;
    --lpg:#7CB88A;
    --danger:#D9765A;
    --violet:#A98BDB;
    --vodopad:#4FB8C4;
    --hrad:#9C8465;
    --plaz:#E0C068;
    --jeskyne:#6B5B95;
    --svatyne:#D4AF6A;
    --pamatka:#B87F8C;
    --hranice:#7A8B99;
    --servis:#E0693F;
    --prusmyk:#8C9CAA;
    --vrchol:#8FA888;
    --nav-bg:rgba(27,30,34,0.92);
    --bg-gradient-start:#262b31;
  }
  [data-theme="light"]{
    --bg:#F7F5F0;
    --panel:#FFFFFF;
    --panel-2:#F0EAE0;
    --line:#E2DDD1;
    --text:#221F1A;
    --muted:#736B5E;
    --amber:#C6791E;
    --diesel:#2E6CA3;
    --lpg:#3D7C4C;
    --danger:#B84F35;
    --violet:#8A5FC2;
    --vodopad:#2C8A94;
    --hrad:#7A6449;
    --plaz:#B8944A;
    --jeskyne:#544674;
    --svatyne:#A6824A;
    --pamatka:#96586A;
    --hranice:#5A6B78;
    --servis:#BC4E28;
    --prusmyk:#68767F;
    --vrchol:#6E8A66;
    --nav-bg:rgba(247,245,240,0.92);
    --bg-gradient-start:#FFFFFF;
  }
  *{box-sizing:border-box;}
  html,body{margin:0;padding:0;}
  body{
    background:radial-gradient(1200px 600px at 50% -200px, var(--bg-gradient-start) 0%, var(--bg) 60%);
    color:var(--text);
    font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
    min-height:100vh;
    padding-bottom:40px;
  }
  header{
    padding:28px 18px 18px;
  }
  h1{
    font-family:'Space Grotesk',sans-serif;
    font-size:1.5rem;
    font-weight:700;
    margin:0 0 4px;
    letter-spacing:-0.01em;
  }
  .subtitle{
    color:var(--text);
    font-size:0.85rem;
    margin:0;
    line-height:1.4;
  }
  .seo-intro{
    color:var(--text);
    font-size:0.72rem;
    margin:6px 0 0;
    line-height:1.5;
  }
  .meta-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-top:14px;
    gap:10px;
  }
  .updated-pill{
    font-size:0.72rem;
    color:var(--muted);
    background:var(--panel);
    border:1px solid var(--line);
    border-radius:99px;
    padding:5px 12px;
    white-space:nowrap;
  }
  #refreshBtn{
    font-size:0.72rem;
    color:var(--bg);
    background:var(--amber);
    border:none;
    border-radius:99px;
    padding:6px 14px;
    font-weight:600;
    cursor:pointer;
  }
  .theme-toggle{
    width:32px;height:32px;flex:0 0 auto;
    border-radius:50%;
    background:var(--panel);
    border:1px solid var(--line);
    color:var(--text);
    cursor:pointer;
    font-size:0.9rem;
    display:flex;align-items:center;justify-content:center;
    padding:0;
  }
  main{padding:0 18px;}

  /* Na malých displejích zabírá úvodní text zbytečně moc místa nad obsahem —
     zmenšíme nadpis a skryjeme delší SEO odstavec (ten zůstává jen v HTML pro
     vyhledávače, viditelně se ale nezobrazuje). */
  @media (max-width: 420px){
    .page-hero{ padding:14px 18px 4px; }
    h1{ font-size:1.2rem; }
    .subtitle{ font-size:0.78rem; }
    .seo-intro{ display:none; }
  }

  ul.list{list-style:none;margin:0;padding:0;}

  /* Na širších displejích (tablet/desktop) se obsah vycentruje a nezůstane
     namačkaný vlevo; seznam zemí přejde z jednoho sloupce do mřížky. */
  @media (min-width: 700px){
    .page-hero, main{
      max-width:1400px;
      margin-left:auto;
      margin-right:auto;
      width:100%;
    }
    .nav-bar, .mobile-menu{ max-width:1400px; margin-left:auto; margin-right:auto; }
    .page-hero{ padding-left:32px; padding-right:32px; }
    main{ padding-left:32px; padding-right:32px; }
    .stat-strip{ max-width:700px; margin-left:auto; margin-right:auto; }
    ul.list{
      display:grid;
      grid-template-columns:repeat(auto-fill, minmax(360px, 1fr));
      gap:10px;
    }
    li.row, li.toll-card{ margin-bottom:0; }
    #news-list{
      display:grid;
      grid-template-columns:repeat(auto-fill, minmax(380px, 1fr));
      gap:10px;
    }
    .news-item{ margin-bottom:0; }
  }

  .controls{
    display:flex;
    gap:8px;
    margin:14px 0 16px;
  }
  #search{
    flex:1;
    background:var(--panel);
    border:1px solid var(--line);
    color:var(--text);
    border-radius:12px;
    padding:11px 14px;
    font-size:0.95rem;
    font-family:inherit;
  }
  #search:focus{outline:none;border-color:var(--amber);}
  .sort-select{
    background:var(--panel);
    border:1px solid var(--line);
    color:var(--text);
    border-radius:12px;
    padding:11px 10px;
    font-size:0.85rem;
    font-family:inherit;
  }

  .fuel-tabs{
    display:flex;
    gap:6px;
    margin-bottom:16px;
  }
  .fuel-tab{
    flex:1;
    text-align:center;
    padding:8px 0;
    border-radius:10px;
    font-size:0.8rem;
    font-weight:600;
    background:var(--panel);
    border:1px solid var(--line);
    color:var(--muted);
    cursor:pointer;
  }
  .fuel-tab.active[data-fuel="benzin"]{background:rgba(232,163,61,0.18);color:var(--amber);border-color:var(--amber);}
  .fuel-tab.active[data-fuel="diesel"]{background:rgba(92,155,209,0.18);color:var(--diesel);border-color:var(--diesel);}
  .fuel-tab.active[data-fuel="lpg"]{background:rgba(124,184,138,0.18);color:var(--lpg);border-color:var(--lpg);}

  .stat-strip{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:10px;
    margin-bottom:18px;
  }
  .stat-card{
    background:var(--panel);
    border:1px solid var(--line);
    border-radius:14px;
    padding:12px 10px;
    text-align:center;
  }
  .stat-label{font-size:0.68rem;color:var(--muted);margin-bottom:4px;}
  .stat-value{font-family:'Space Grotesk',sans-serif;font-size:1.15rem;font-weight:700;}
  .stat-value.up{color:var(--danger);}
  .stat-value.down{color:var(--lpg);}

  li.row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    background:var(--panel);
    border:1px solid var(--line);
    border-radius:14px;
    padding:13px 15px;
    margin-bottom:8px;
    gap:10px;
    cursor:pointer;
    transition:background 0.15s;
  }
  li.row:active{background:var(--panel-2);}
  .row-top{display:flex;justify-content:space-between;align-items:center;gap:8px;min-width:0;}
  .row-left{flex:1;min-width:0;}
  .country-name{font-size:0.95rem;font-weight:500;overflow-wrap:break-word;word-break:break-word;}
  .country-sub{font-size:0.72rem;color:var(--text);margin-top:2px;}
  .mini-charts{display:flex;gap:6px;flex:0 0 auto;}
  .mini-chart{flex:0 0 auto;}
  .price-block{text-align:right;flex:0 0 auto;min-width:64px;max-width:96px;}
  .price-eur{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.05rem;white-space:nowrap;}
  .price-local{font-size:0.64rem;color:var(--muted);margin-top:3px;line-height:1.3;overflow-wrap:break-word;}

  /* Na opravdu úzkých displejích (Galaxy S23 a podobné, ~360–384px) se cena
     + oba mini grafy + dlouhý název země prostě nevejdou vedle sebe —
     schováme oba mini grafy, ať má název i cena dost místa. */
  @media (max-width:420px){
    .mini-charts{ display:none; }
  }
  .bar-track{
    height:4px;
    background:var(--line);
    border-radius:99px;
    margin-top:8px;
    overflow:hidden;
  }
  .bar-fill{height:100%;border-radius:99px;}
  .bar-fill.benzin{background:var(--amber);}
  .bar-fill.diesel{background:var(--diesel);}
  .bar-fill.lpg{background:var(--lpg);}

  /* ==================== NAVIGACE ====================
     Logo vlevo (= odkaz domů), na širokém displeji odkazy vpravo v řádku,
     na mobilu hamburger se svislým menu. Žádné emoji ikonky v odkazech. */
  .site-header{
    position:sticky;top:0;z-index:20;
    background:var(--nav-bg);
    backdrop-filter:blur(8px);
    border-bottom:1px solid var(--line);
    margin:0 0 16px;
  }
  .nav-bar{
    display:flex;align-items:center;justify-content:space-between;
    padding:14px 18px;
  }
  .logo{
    font-family:'Space Grotesk',sans-serif;
    font-size:1.1rem;font-weight:700;
    color:var(--text);text-decoration:none;
    letter-spacing:-0.01em;
  }
  .nav-links{display:none;gap:26px;}
  .nav-links a{
    color:var(--muted);text-decoration:none;font-size:0.86rem;font-weight:500;
    padding:6px 0;border-bottom:2px solid transparent;
  }
  .nav-links a:hover, .nav-links a.active{ color:var(--text); border-bottom-color:var(--amber); }

  .nav-right{display:flex;align-items:center;gap:10px;}
  .hamburger{
    width:36px;height:36px;border-radius:8px;
    background:transparent;border:1px solid var(--line);
    cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
    padding:0;
  }
  .hamburger span{width:16px;height:2px;background:var(--text);border-radius:2px;transition:0.2s;}
  .hamburger.open span:nth-child(1){transform:translateY(6px) rotate(45deg);}
  .hamburger.open span:nth-child(2){opacity:0;}
  .hamburger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

  .mobile-menu{display:none;flex-direction:column;padding:4px 18px 16px;}
  .mobile-menu.open{display:flex;}
  .mobile-menu a{
    color:var(--text);text-decoration:none;font-size:0.95rem;font-weight:500;
    padding:12px 4px;border-bottom:1px solid var(--line);
  }
  .mobile-menu a:last-child{border-bottom:none;}
  .mobile-menu a.active{color:var(--amber);}

  @media (min-width:700px){
    .nav-links{display:flex;}
    .hamburger{display:none;}
  }

  .toll-card{
    background:var(--panel);
    border:1px solid var(--line);
    border-radius:14px;
    padding:14px 16px;
    margin-bottom:8px;
  }
  .toll-card-head{display:flex;align-items:center;flex-wrap:wrap;}
  .toll-badge{
    display:inline-block;
    font-size:0.64rem;
    font-weight:600;
    padding:3px 9px;
    border-radius:99px;
    margin-left:8px;
    vertical-align:middle;
  }
  .toll-badge.viněta{background:rgba(232,163,61,0.18);color:var(--amber);}
  .toll-badge.mýtné{background:rgba(92,155,209,0.18);color:var(--diesel);}
  .toll-badge.zdarma{background:rgba(124,184,138,0.18);color:var(--lpg);}
  .toll-badge.camping-povoleno{background:rgba(124,184,138,0.18);color:var(--lpg);}
  .toll-badge.camping-tolerováno{background:rgba(232,163,61,0.18);color:var(--amber);}
  .toll-badge.camping-zakázáno{background:rgba(217,118,90,0.18);color:var(--danger);}
  .toll-badge.camping-ověř{background:rgba(155,162,172,0.18);color:var(--muted);}

  .equip-heading{font-size:0.72rem;color:var(--muted);margin-top:10px;margin-bottom:4px;font-weight:600;}
  .equip-list{
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    flex-wrap:wrap;
    gap:6px;
  }
  .equip-list li{
    background:var(--panel-2);
    border:1px solid var(--line);
    border-radius:99px;
    padding:4px 10px;
    font-size:0.72rem;
    color:var(--text);
  }
  .toll-prices{
    display:flex;
    flex-wrap:wrap;
    gap:6px 14px;
    margin-top:10px;
  }
  .toll-price-item{font-size:0.78rem;color:var(--text);}
  .toll-price-item .lbl{color:var(--muted);font-size:0.68rem;display:block;}
  .toll-note{font-size:0.72rem;color:var(--text);margin-top:8px;line-height:1.4;}
  .toll-link{
    display:inline-block;
    margin-top:10px;
    font-size:0.75rem;
    color:var(--amber);
    text-decoration:none;
    font-weight:600;
  }
  .tolls-legend{
    display:flex;
    flex-direction:column;
    gap:6px;
    font-size:0.7rem;
    color:var(--muted);
    background:var(--panel);
    border:1px solid var(--line);
    border-radius:12px;
    padding:10px 14px;
    margin-top:16px;
  }
  .toll-speeds{
    border-top:1px dashed var(--line);
    padding-top:10px;
  }
  .tolls-disclaimer{
    font-size:0.7rem;
    color:var(--text);
    margin-top:16px;
    line-height:1.5;
    text-align:center;
  }

  .modal-overlay{
    position:fixed;inset:0;
    background:rgba(10,11,13,0.72);
    backdrop-filter:blur(3px);
    display:none;
    align-items:flex-end;
    justify-content:center;
    z-index:100;
  }
  .modal-overlay.open{display:flex;}
  .modal-sheet{
    width:100%;
    background:var(--panel);
    border:1px solid var(--line);
    border-radius:20px 20px 0 0;
    padding:22px 20px 28px;
    animation:slideUp 0.2s ease-out;
    box-sizing:border-box;
  }
  @keyframes slideUp{from{transform:translateY(24px);opacity:0;}to{transform:translateY(0);opacity:1;}}
  .modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px;}
  .modal-title{font-family:'Space Grotesk',sans-serif;font-size:1.2rem;font-weight:700;}
  .modal-close{
    background:var(--panel-2);border:1px solid var(--line);color:var(--muted);
    width:30px;height:30px;border-radius:50%;font-size:1rem;cursor:pointer;
    display:flex;align-items:center;justify-content:center;flex:0 0 auto;
  }
  .modal-legend{display:flex;gap:14px;margin-top:16px;flex-wrap:wrap;}
  #modalChart{cursor:pointer;}
  .modal-section-title{font-size:0.78rem;color:var(--muted);margin-bottom:8px;font-weight:500;}
  #trendChartWrap{position:relative;}
  #trendChartWrap svg{cursor:crosshair; touch-action:pan-y;}
  .chart-tooltip{
    position:absolute;
    display:none;
    pointer-events:none;
    background:var(--panel-2);
    border:1px solid var(--line);
    border-radius:10px;
    padding:8px 11px;
    font-size:0.75rem;
    line-height:1.5;
    white-space:nowrap;
    z-index:10;
    transform:translate(-50%, -110%);
    box-shadow:0 4px 14px rgba(0,0,0,0.35);
  }
  .chart-tooltip .tt-date{font-weight:700;color:var(--text);margin-bottom:2px;}
  .chart-tooltip .tt-row{display:flex;align-items:center;gap:6px;}
  .chart-tooltip .tt-dot{width:7px;height:7px;border-radius:50%;flex:0 0 auto;}
  .legend-item{display:flex;align-items:center;gap:6px;font-size:0.78rem;color:var(--muted);}
  .legend-dot{width:9px;height:9px;border-radius:50%;}
  .legend-dot.benzin{background:var(--amber);}
  .legend-dot.diesel{background:var(--diesel);}
  .legend-dot.lpg{background:var(--lpg);}

  .no-data{color:var(--text);font-size:0.72rem;}

  .site-footer{
    text-align:center;
    padding:28px 18px 18px;
    font-size:0.72rem;
    color:var(--muted);
  }
  .site-footer a{color:var(--amber);text-decoration:none;font-weight:600;}
  .legal-links{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-bottom:8px;}
  .legal-links a{color:var(--muted);font-weight:500;}
  .legal-links a:hover{color:var(--text);}

  .cookie-consent{
    display:none;
    background:var(--panel);border-bottom:1px solid var(--line);
    padding:14px 18px;
    gap:14px;align-items:center;flex-wrap:wrap;justify-content:center;
  }
  .cookie-consent.show{display:flex;}
  .cookie-consent p{margin:0;font-size:0.78rem;color:var(--text);max-width:560px;line-height:1.5;}
  .cookie-consent a{color:var(--amber);}
  .cookie-consent-actions{display:flex;gap:8px;flex:0 0 auto;position:relative;z-index:1;}
  .cookie-consent-actions button{width:auto;margin-top:0;padding:9px 16px;font-size:0.82rem;white-space:nowrap;cursor:pointer;}
  @media (max-width:480px){
    .cookie-consent{flex-direction:column;align-items:stretch;text-align:center;}
    .cookie-consent-actions{justify-content:center;}
  }

  .sync-row{
    font-size:0.68rem;
    color:var(--muted);
    margin-top:8px;
  }

  .section-head{
    display:flex;
    justify-content:space-between;
    align-items:baseline;
    margin:28px 0 12px;
    flex-wrap:wrap;
    gap:6px;
  }
  .section-heading{
    font-family:'Space Grotesk',sans-serif;
    font-size:1.05rem;
    font-weight:700;
    margin:0;
  }
  .news-updated{
    font-size:0.68rem;
    color:var(--muted);
  }
  ul.news-list{list-style:none;margin:0;padding:0;}
  .news-item{
    display:block;
    background:var(--panel);
    border:1px solid var(--line);
    border-radius:14px;
    padding:13px 15px;
    margin-bottom:8px;
    text-decoration:none;
    color:inherit;
  }
  .news-item:active{background:var(--panel-2);}
  .news-title{
    font-size:0.9rem;
    font-weight:500;
    line-height:1.35;
  }
  .news-meta{
    font-size:0.7rem;
    color:var(--muted);
    margin-top:6px;
  }

  /* ---------------------------------------------------------------------
     Sdílené komponenty pro "Autopolis klub" (přihlášení, registrace, platba,
     slevy) — ať tyhle stránky vypadají stejně jako zbytek webu, ne jako
     samostatný produkt s vlastním designem.
  --------------------------------------------------------------------- */

  .account-row{
    display:flex;justify-content:space-between;align-items:center;
    margin-top:12px;font-size:0.75rem;color:var(--muted);
  }
  .account-row a{color:var(--amber);text-decoration:none;font-weight:600;}

  .auth-box{max-width:380px;margin:40px auto;padding:0 18px;}
  .auth-box p.hint{color:var(--text);font-size:0.82rem;margin-bottom:20px;line-height:1.5;}
  .auth-box label{display:block;font-size:0.78rem;color:var(--muted);margin:14px 0 6px;}
  .auth-box input{
    width:100%;padding:11px 14px;border-radius:12px;background:var(--panel);
    border:1px solid var(--line);color:var(--text);font-size:0.95rem;font-family:inherit;
    box-sizing:border-box;
  }
  .auth-box input:focus{outline:none;border-color:var(--amber);}
  .auth-box button, .btn-primary{
    width:100%;margin-top:22px;padding:12px;border-radius:12px;border:none;
    background:var(--amber);color:var(--bg);font-weight:700;font-size:0.95rem;cursor:pointer;
    font-family:inherit;text-decoration:none;text-align:center;display:block;box-sizing:border-box;
  }
  .btn-secondary{
    width:100%;margin-top:8px;padding:12px;border-radius:12px;
    background:transparent;border:1px solid var(--line);color:var(--text);
    font-weight:600;font-size:0.92rem;text-decoration:none;text-align:center;display:block;box-sizing:border-box;
  }
  .auth-box .error{background:rgba(217,118,90,0.15);color:var(--danger);padding:10px 14px;border-radius:10px;font-size:0.82rem;margin-top:14px;}
  .auth-box .switch{text-align:center;margin-top:18px;font-size:0.82rem;color:var(--muted);}
  .auth-box .switch a{color:var(--amber);text-decoration:none;font-weight:600;}

  .page-hero{padding:20px 18px 4px;}
  .page-hero h1{font-family:'Space Grotesk',sans-serif;font-size:1.35rem;font-weight:700;margin:0 0 4px;}
  .page-hero .subtitle{color:var(--text);font-size:0.85rem;line-height:1.5;margin:0;}
  .page-hero .seo-intro{color:var(--text);font-size:0.72rem;margin:6px 0 0;line-height:1.5;}

  .club-switch{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap;padding:0 18px 0;max-width:900px;}
  .club-switch a{
    flex:0 1 auto;text-align:center;padding:9px 14px;border-radius:12px;font-size:0.82rem;font-weight:600;
    background:var(--panel);border:1px solid var(--line);color:var(--muted);text-decoration:none;white-space:nowrap;
  }
  .club-switch a.active{background:rgba(232,163,61,0.15);color:var(--amber);border-color:var(--amber);}

  .teaser-wrap{position:relative;margin:0 18px;border-radius:18px;overflow:hidden;min-height:52vh;}
  .teaser-map{position:absolute;inset:0;background:radial-gradient(circle at 30% 30%, var(--panel-2), var(--bg) 70%);filter:blur(6px);z-index:0;}
  .teaser-dot{position:absolute;width:14px;height:14px;border-radius:50%;filter:blur(4px);opacity:0.85;}
  .teaser-overlay{position:relative;z-index:1;min-height:52vh;display:flex;align-items:center;justify-content:center;background:rgba(27,30,34,0.55);padding:24px 0;}
  .teaser-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:26px 24px;text-align:center;max-width:320px;box-shadow:0 12px 40px rgba(0,0,0,0.4);}
  .teaser-card h2{font-family:'Space Grotesk',sans-serif;font-size:1.1rem;margin:0 0 8px;}
  .teaser-card p{color:var(--text);font-size:0.82rem;line-height:1.5;margin:0 0 16px;}
  .teaser-price{font-family:'Space Grotesk',sans-serif;font-size:1.6rem;font-weight:700;margin-bottom:4px;}
  .teaser-price span{font-size:0.85rem;color:var(--muted);font-weight:500;}
  .teaser-counts{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:18px 0 0;}
  .teaser-count{font-size:0.72rem;color:var(--muted);}
  .teaser-count b{color:var(--text);display:block;font-size:1rem;}
  .teaser-simple{padding:40px 18px;text-align:center;}
  .teaser-simple .teaser-card{margin:0 auto;max-width:340px;}

  .pay-box{max-width:420px;margin:20px auto;padding:0 18px;text-align:center;}
  .pay-box h1{font-family:'Space Grotesk',sans-serif;font-size:1.3rem;margin-bottom:6px;}
  .pay-box p.hint{color:var(--text);font-size:0.85rem;line-height:1.5;margin-bottom:20px;}
  #qrcode{display:inline-block;background:#fff;padding:16px;border-radius:16px;margin:10px 0 20px;}
  .pay-details{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px 18px;text-align:left;font-size:0.85rem;line-height:2;}
  .pay-details b{color:var(--text);}
  .pay-status{margin-top:18px;font-size:0.82rem;color:var(--text);display:flex;align-items:center;justify-content:center;gap:8px;}
  .spinner{width:14px;height:14px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--amber);animation:spin 0.8s linear infinite;}
  @keyframes spin{to{transform:rotate(360deg);}}
  .manual-note{margin-top:22px;font-size:0.72rem;color:var(--text);line-height:1.5;}

  .partner-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px 20px;margin-bottom:12px;}
  .partner-card h2{font-family:'Space Grotesk',sans-serif;font-size:1.05rem;margin:0 0 6px;}
  .discount-badge{display:inline-block;background:rgba(124,184,138,0.15);color:var(--lpg);font-weight:700;font-size:0.85rem;padding:5px 12px;border-radius:99px;margin-bottom:10px;}
  .code-box{background:var(--panel-2);border:1px dashed var(--line);border-radius:8px;padding:8px 12px;font-family:monospace;font-size:0.9rem;display:inline-block;margin-bottom:10px;}
  .partner-link{display:inline-block;color:var(--amber);text-decoration:none;font-weight:600;font-size:0.85rem;}

  .admin-grid{display:grid;grid-template-columns:1fr;gap:10px;padding:16px 18px 40px;max-width:640px;margin:0 auto;}
  .admin-card{display:flex;align-items:center;gap:14px;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px 20px;text-decoration:none;color:var(--text);}
  .admin-card:active{background:var(--panel-2);}
  .admin-card .icon{font-size:1.6rem;flex:0 0 auto;}
  .admin-card h2{font-family:'Space Grotesk',sans-serif;font-size:1rem;margin:0 0 3px;}
  .admin-card p{font-size:0.78rem;color:var(--muted);margin:0;}
  .stat-row{display:flex;gap:10px;padding:16px 18px 0;max-width:640px;margin:0 auto;flex-wrap:wrap;}
  .stat-box{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px 18px;flex:1;min-width:120px;}
  .stat-box .n{font-family:'Space Grotesk',sans-serif;font-size:1.5rem;font-weight:700;}
  .stat-box .lbl{font-size:0.7rem;color:var(--muted);margin-top:2px;}

  /* --- Mapa / filtry / seznam bodů (Autopolis klub — mapa tipů) --- */
  .filters{display:flex;gap:6px;flex-wrap:wrap;padding:0 18px 14px;}
  .filter-chip{display:flex;align-items:center;gap:6px;padding:7px 12px;border-radius:99px;font-size:0.76rem;font-weight:600;background:var(--panel);border:1px solid var(--line);color:var(--muted);cursor:pointer;user-select:none;}
  .filter-chip .dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto;}
  .filter-chip.active{color:var(--text);}

  #map{width:100%;height:58vh;min-height:380px;background:var(--panel);}
  @media (max-width:480px){
    #map{height:65vh;min-height:420px;}
  }
  .leaflet-popup-content-wrapper{background:var(--panel-2);color:var(--text);border-radius:12px;}
  .leaflet-popup-tip{background:var(--panel-2);}
  .leaflet-popup-content{font-family:'Inter',sans-serif;font-size:0.85rem;margin:10px 12px;}

  li.spot-row{display:flex;align-items:flex-start;gap:10px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin-bottom:8px;cursor:pointer;}
  .spot-dot{width:10px;height:10px;border-radius:50%;margin-top:5px;flex:0 0 auto;}
  .spot-name{font-size:0.88rem;line-height:1.4;}
  .spot-cat{font-size:0.68rem;color:var(--muted);margin-top:3px;}
  .spot-coords{font-size:0.68rem;color:var(--muted);margin-top:2px;}
  .count-line{font-size:0.72rem;color:var(--muted);margin-bottom:10px;}
