/* ==================================================================
   Стил „Waze“ за mygpx - зарежда се последен (inc/gs2_theme.php).
   Закръглен тежък шрифт, фирмено синьо, хапчета с „натискане“, кръгли
   плаващи копчета, балончета на картата и пастелна карта. Логото,
   името и иконите на Waze не се ползват - това е визия, не копие.
   ================================================================== */
:root{
  --wz-blue:#33ccff;          /* основното синьо */
  --wz-blue-2:#1fb8ee;        /* при посочване */
  --wz-blue-deep:#0a9fd6;     /* сянката под бутоните */
  --wz-blue-soft:#e3f8ff;
  --wz-ink:#1b2a33;           /* тъмен текст върху синьо и бяло */
  --wz-ink-2:#3d4f59;
  --wz-ink-3:#5b6c75;         /* дребен текст - контраст ≥ 4.5 */
  --wz-paper:#fff;
  --wz-wash:#f1f6f8;
  --wz-edge:#e1ebf0;
  --wz-yellow:#ffc800;        /* сигнали */
  --wz-green:#1ec27a;
  --wz-red:#ff4f5e;
  --wz-shadow:0 6px 22px rgba(27,42,51,.13);
  --wz-shadow-lg:0 14px 44px rgba(27,42,51,.18);
  --wz-press:0 2px 0 var(--wz-blue-deep);
  --wz-round:'Nunito','Nunito Sans',system-ui,sans-serif;

  --sans:var(--wz-round);
  --accent:#0087b8;
  --accent-soft:var(--wz-blue-soft);
  --friendly-sky:var(--wz-blue);
  --friendly-ink:var(--wz-ink);
  --ink:var(--wz-ink);--ink-2:var(--wz-ink-2);--ink-3:var(--wz-ink-3);--ink-4:#5f707a;--ink-5:#6b7c85;
  --ground:#eef4f7;--surface:#fff;--surface-2:var(--wz-wash);
  --line:var(--wz-edge);--line-2:#edf3f6;--line-3:#d3e2e9;
}

/* ---------- шрифт и заглавия ---------- */
body.gs2{font-family:var(--wz-round);color:var(--wz-ink)}
body.gs2 h1,body.gs2 h2,body.gs2 h3,.portal-brand,.side-title h1,.hist-top h1,.detail-id h2{font-family:var(--wz-round);font-weight:900;letter-spacing:-.4px}
body.gs2 .mono,body.gs2 code{font-family:var(--mono)}

/* ---------- бутони: хапчета, които се „натискат“ ---------- */
body.gs2 .btn{border-radius:999px;font-family:var(--wz-round);font-weight:800;transition:transform .08s ease,box-shadow .08s ease,background .15s}
body.gs2 .btn-primary,body.gs2.gs2-tracking .detail-foot .btn-primary{background:var(--wz-blue);color:var(--wz-ink);border:0;box-shadow:var(--wz-press)}
body.gs2 .btn-primary:hover{background:var(--wz-blue-2)}
body.gs2 .btn-primary:active{transform:translateY(1px);box-shadow:0 1px 0 var(--wz-blue-deep)}
body.gs2 .btn-line{background:#fff;border:2px solid var(--wz-edge);color:var(--wz-ink);box-shadow:none}
body.gs2 .btn-line:hover{border-color:var(--wz-blue);background:var(--wz-blue-soft)}
body.gs2 .btn-danger{border-radius:999px}
body.gs2 .btn-solid-danger{background:var(--wz-red);color:#fff;border:0;box-shadow:none}
body.gs2 .chip{border-radius:999px;font-weight:800;height:34px}
body.gs2 .chip[aria-pressed="true"]{background:var(--wz-blue);color:var(--wz-ink);box-shadow:none}

/* ---------- лява релса ---------- */
.portal-brand{font-weight:900}
.portal-brand b{color:var(--wz-blue)}
.rail-btn{border-radius:20px;font-weight:800}
.rail-btn[aria-current]{background:var(--wz-blue)!important;color:var(--wz-ink)!important;box-shadow:none}
.rail-btn:hover{background:var(--wz-blue-soft)}
.rail-toggle[aria-pressed="true"]{background:var(--wz-blue-soft);color:var(--wz-ink)}
.portal-workspace{border-radius:22px}

/* ---------- телефон: долна лента ---------- */
@media (max-width:767px){
  .tabbar{border-radius:26px 26px 0 0;box-shadow:0 -6px 24px rgba(27,42,51,.1);border-top:0}
  .tabbar-btn{font-weight:800}
  .tabbar-btn[aria-current] svg{background:var(--wz-blue);border-radius:14px;padding:5px 12px;width:46px;height:30px;stroke:var(--wz-ink);box-sizing:border-box}
}

/* ---------- карта: пастелни плочки, кръгли копчета ---------- */
/* само OSM/Релеф/собствените - Google е в отделен слой и не се пипа */
.gs2-tracking .leaflet-tile-pane,.gs2 .hist-map .leaflet-tile-pane,.gs2-places .leaflet-tile-pane,#gs2plmap .leaflet-tile-pane{filter:saturate(.55) brightness(1.07) contrast(.96)}
body.gs2 .leaflet-bar{border:0;border-radius:999px;box-shadow:var(--wz-shadow);overflow:hidden}
body.gs2 .leaflet-bar a{width:46px!important;height:46px!important;line-height:46px!important;font-size:22px;font-weight:900;color:var(--wz-ink);border-bottom:1px solid var(--wz-edge)}
body.gs2 .leaflet-bar a:last-child{border-bottom:0}
body.gs2 .leaflet-bar a:hover{background:var(--wz-blue-soft)}
body.gs2 .m-fab{width:52px;height:52px;border-radius:50%;box-shadow:var(--wz-shadow)}
body.gs2 .m-fab svg{stroke:var(--wz-ink)}
body.gs2 .pill,body.gs2 .back{border-radius:999px;font-weight:800;box-shadow:var(--wz-shadow)}
body.gs2 .follow[aria-pressed="true"]{background:var(--wz-blue);color:var(--wz-ink);box-shadow:var(--wz-shadow)}

/* ---------- маркери: кръгъл знак с дебела бяла рамка ---------- */
body.gs2.gs2-tracking .gs2-pin .gs2-dot{width:38px;height:38px;border-radius:50%;border:4px solid #fff;box-shadow:0 4px 12px rgba(27,42,51,.3)}
body.gs2.gs2-tracking .gs2-pin[data-sel="1"] .gs2-dot{width:48px;height:48px;background:var(--wz-blue)!important;border:5px solid #fff;box-shadow:0 0 0 10px rgba(51,204,255,.28),0 6px 16px rgba(27,42,51,.3)}
body.gs2.gs2-tracking .gs2-pin[data-sel="1"] .gs2-dot svg{fill:var(--wz-ink);stroke:var(--wz-ink)}
body.gs2.gs2-tracking .gs2-pin[data-alarm="1"] .gs2-dot{animation:wzPulse 1.8s ease-out infinite}
@keyframes wzPulse{0%{box-shadow:0 0 0 0 rgba(255,79,94,.45),0 4px 12px rgba(27,42,51,.3)}100%{box-shadow:0 0 0 16px rgba(255,79,94,0),0 4px 12px rgba(27,42,51,.3)}}
@media (prefers-reduced-motion:reduce){body.gs2.gs2-tracking .gs2-pin[data-alarm="1"] .gs2-dot{animation:none}}
/* надписът - балонче с опашка */
body.gs2.gs2-tracking .gs2-label{position:relative;margin-left:10px;height:32px;padding:0 13px;border:0;border-radius:16px;background:#fff;
  font-family:var(--wz-round);font-weight:800;font-size:13px;color:var(--wz-ink);box-shadow:0 4px 14px rgba(27,42,51,.2)}
body.gs2.gs2-tracking .gs2-label:before{content:"";position:absolute;left:-6px;top:50%;margin-top:-6px;border:6px solid transparent;border-left:0;border-right-color:#fff}
body.gs2.gs2-tracking .gs2-label .mono{font-family:var(--wz-round);font-weight:900}
/* групите - синьо кръгче */
body.gs2 .gs2-cluster{background:var(--wz-blue);color:var(--wz-ink);border:4px solid #fff;font-family:var(--wz-round);font-weight:900;box-shadow:0 4px 14px rgba(27,42,51,.28)}
body.gs2 .gs2-cluster i{background:var(--wz-green);color:#fff;border:2px solid #fff;font-style:normal;font-weight:900}
/* етикетите на местата */
body.gs2 .place-label{border-radius:14px;font-family:var(--wz-round);font-weight:800;padding:3px 9px;box-shadow:0 3px 10px rgba(27,42,51,.18)}

/* балончетата на Leaflet */
body.gs2 .leaflet-popup-content-wrapper{border-radius:22px;box-shadow:var(--wz-shadow-lg);font-family:var(--wz-round)}
body.gs2 .leaflet-popup-tip{box-shadow:none}

/* ---------- списъкът „Автопарк“ ---------- */
body.gs2.gs2-tracking .side{border-radius:32px;box-shadow:var(--wz-shadow-lg)}
body.gs2.gs2-tracking .side-head .search{height:54px;border-radius:999px;border:0;background:var(--wz-wash);box-shadow:inset 0 0 0 2px transparent}
body.gs2.gs2-tracking .side-head .search:focus-within{box-shadow:inset 0 0 0 2px var(--wz-blue);outline:0}
body.gs2.gs2-tracking .side-head .search input{font-family:var(--wz-round);font-weight:800;font-size:17px}
body.gs2 .row{border-radius:20px;margin:2px 8px;width:calc(100% - 16px)}
body.gs2 .row:hover{background:var(--wz-blue-soft)}
body.gs2 .row[aria-selected="true"]{background:var(--wz-blue-soft);box-shadow:inset 4px 0 0 var(--wz-blue)}
body.gs2 .row-name{font-weight:800}
body.gs2 .row-speed{font-family:var(--wz-round);font-weight:900}

/* ---------- детайл на обект: скоростомер ---------- */
body.gs2.gs2-tracking .detail{border-radius:32px;box-shadow:var(--wz-shadow-lg)}
body.gs2.gs2-tracking .detail-head{background:#fff}
body.gs2 .tiles{background:transparent;padding:6px 0;gap:10px}
body.gs2 .tile{background:var(--wz-wash);border-radius:22px;padding:10px 14px}
body.gs2 .tile .k{font-weight:800;color:var(--wz-ink-3)}
body.gs2 .tile .v{font-family:var(--wz-round);font-weight:900;color:var(--wz-ink)}
/* Equal metric cards: the first metric can be battery for a pet. */
body.gs2.gs2-tracking .tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
body.gs2.gs2-tracking .tiles .tile{width:auto;min-width:0;min-height:76px;height:auto;border-radius:20px;padding:12px;box-shadow:none;align-items:flex-start;text-align:left}
body.gs2.gs2-tracking .tiles .tile .v{font-size:27px;line-height:1.2;overflow-wrap:anywhere}
body.gs2 .tabs .tab[aria-selected="true"]{color:var(--wz-ink);border-bottom-color:var(--wz-blue)}
body.gs2 .lbl{color:var(--wz-ink-3)}

/* ---------- карти, модали, известия ---------- */
body.gs2 .card,body.gs2 .cp-card,body.gs2 .rep-card{border-radius:28px;border:0;box-shadow:0 3px 14px rgba(27,42,51,.07)}
body.gs2 .modal{background:rgba(27,42,51,.4)}
body.gs2 .modal-card{border-radius:30px;box-shadow:var(--wz-shadow-lg)}
body.gs2 .confirm-acts .btn{height:48px;padding:0 22px}
body.gs2 .toast{border-radius:999px;background:var(--wz-ink);font-family:var(--wz-round);font-weight:800;padding:13px 22px;box-shadow:var(--wz-shadow-lg)}
body.gs2 .toast.err{background:var(--wz-red)}
body.gs2 .alert-card{border-radius:24px;border:0;box-shadow:var(--wz-shadow-lg);border-left:6px solid var(--wz-yellow)}
body.gs2 .note{border-radius:18px}
body.gs2 .nav-badge{background:var(--wz-red);font-family:var(--wz-round);font-weight:900}

/* ---------- полета и превключватели ---------- */
body.gs2 .inp,body.gs2 .cp-ta,body.gs2 .search{border-radius:16px}
body.gs2 .inp:focus-within,body.gs2 .cp-ta:focus{border-color:var(--wz-blue);box-shadow:0 0 0 3px rgba(51,204,255,.3)}
body.gs2 .cp-switch[aria-checked="true"] .sw,body.gs2 .menu-switch[aria-checked="true"] .sw,body.gs2 .cp-mini-sw[aria-checked="true"] .sw{background:var(--wz-blue)}
body.gs2 input[type="checkbox"],body.gs2 input[type="radio"]{accent-color:var(--wz-blue-deep)}

/* ---------- менюта и навигация по разделите ---------- */
body.gs2 .places-menu,body.gs2 .menu{border-radius:24px;box-shadow:var(--wz-shadow-lg)}
body.gs2 .menu-item{border-radius:14px;font-weight:700}
body.gs2 .rep-nav button[aria-current="true"],body.gs2 .st-nav button[aria-current="true"]{background:var(--wz-blue);color:var(--wz-ink);font-weight:800;box-shadow:none}
body.gs2 .cp-secs button[aria-selected="true"]{color:var(--wz-ink);border-color:var(--wz-blue)}

/* ---------- вход ---------- */
body.gs2-auth .auth-body h1{font-weight:900}
body.gs2-auth .btn-primary{height:52px;font-size:16px}

/* ==================================================================
   Едно и също ляво меню на всички страници - като на картата:
   плаваща бяла карта 84 px, иконата над надписа, без картата на профила.
   (map-first.css и navigation-style.css го правеха само за .gs2-tracking)
   ================================================================== */
@media (min-width:768px){
  body.gs2:not(.gs2-auth){--portal-nav:120px}
  body.gs2:not(.gs2-auth):not(.gs2-tracking) #gs2app{padding-left:var(--portal-nav);background:var(--ground)}
  body.gs2:not(.gs2-auth) .rail{position:absolute;left:18px;top:24px;bottom:24px;width:84px;height:auto;max-height:820px;
    background:#fff;border:0;border-radius:30px;padding:20px 7px 14px;gap:18px;box-shadow:var(--wz-shadow);z-index:1100}
  body.gs2:not(.gs2-auth) .portal-brand{font-size:23px;letter-spacing:-1.5px;padding:0;text-align:center}
  body.gs2:not(.gs2-auth) .portal-brand b{color:#0083aa}
  body.gs2:not(.gs2-auth) .portal-brand small,body.gs2:not(.gs2-auth) .portal-workspace{display:none}
  body.gs2:not(.gs2-auth) .rail-nav{gap:4px}
  body.gs2:not(.gs2-auth) .rail-btn{height:61px;flex-direction:column;justify-content:center;gap:6px;padding:6px 0;border-radius:20px;color:var(--wz-ink)}
  body.gs2:not(.gs2-auth) .rail-btn:after{display:block;font-size:10px;font-weight:800;line-height:1.2;letter-spacing:-.2px}
  body.gs2:not(.gs2-auth) .rail-btn svg{width:25px;height:25px;stroke-width:2}
  body.gs2:not(.gs2-auth) .rail>.avatar{margin:0 auto;background:var(--wz-ink);color:#fff;width:40px;height:40px}
}
@media (min-width:768px) and (max-height:760px){
  body.gs2:not(.gs2-auth) .rail{top:16px;bottom:16px;gap:12px;padding-top:16px}
  body.gs2:not(.gs2-auth) .rail-btn{height:48px;gap:3px}
  body.gs2:not(.gs2-auth) .rail-btn svg{width:22px;height:22px}
  body.gs2:not(.gs2-auth) .rail-nav{gap:2px}
}

/* история: горната лента в един ред на широк екран, без хоризонтален скрол в отсечките */
body.gs2 .legs{overflow-x:hidden}
@media (min-width:1200px){
  body.gs2 .hist .hist-top{flex-wrap:wrap;gap:8px;padding:14px 20px;min-height:68px}
  body.gs2 .hist .hist-top h1{font-size:21px;white-space:nowrap}
  body.gs2 .hist .hist-top .ctl{height:40px;flex-shrink:0}
  body.gs2 .hist .hist-top .vsep{display:none}
}
@media (min-width:1200px){
  /* „← Карта“ повтаря бутона в лявото меню */
  body.gs2 .hist .hist-top > a.ctl[href="map"]{display:none}
}
@media (min-width:1200px) and (max-width:1599px){
  /* заглавието се вижда и от активния бутон в менюто - иначе лентата не се побира */
  body.gs2 .hist .hist-top h1{display:block}
}

/* основните бутони в заглавните ленти (Покажи, + Ново правило) са с inline
   тъмен фон от първата визия - тук стават сини хапчета */
body.gs2 #gs2new,body.gs2 #gs2load{background:var(--wz-blue)!important;color:var(--wz-ink)!important;border-radius:999px;font-weight:800;box-shadow:none}
/* редовете в списъците с отстъп отстрани не бива да излизат вдясно */
body.gs2 .pl-row{width:calc(100% - 16px)}

/* Refinement: shared readable surfaces, complete navigation, narrow layouts. */
body.gs2 .hist-top h1{line-height:1.2;letter-spacing:-.5px}
body.gs2 .hist-top{flex-shrink:0;row-gap:10px}
body.gs2 .cp-secs,body.gs2 .ev-tabs,body.gs2 .st-tabs{min-width:0;overflow-x:auto;scrollbar-width:thin}
body.gs2 .cp-secs button,body.gs2 .ev-tabs button,body.gs2 .st-tabs .tab{flex-shrink:0;white-space:nowrap}
body.gs2 .cp-search,body.gs2 .search{background:var(--wz-wash);border:1px solid var(--wz-edge);box-shadow:none}
body.gs2 .inp{background:var(--wz-wash);border:1px solid var(--wz-edge);min-width:0}
body.gs2 .inp input,body.gs2 .inp select,body.gs2 .inp textarea{min-width:0;max-width:100%}
body.gs2 :is(.btn,.ctl,.menu-item):focus-visible{outline:2px solid var(--accent);outline-offset:3px}
body.gs2 button:disabled{cursor:default;opacity:.55;box-shadow:none}
body.gs2 .card,body.gs2 .rep-card{background:var(--wz-paper);border:1px solid var(--wz-edge);border-radius:24px;box-shadow:none}
body.gs2 .cp-card{box-shadow:none}
body.gs2 .cp-table td{padding:14px 16px}
body.gs2 .cp-name{font-size:15px;line-height:1.4}
body.gs2 .cp-sub{margin-top:3px;line-height:1.5}
body.gs2 .st-row,body.gs2 .ev-row{padding:13px 14px}
body.gs2 .pl-row{padding:12px 14px;margin:3px 8px}
body.gs2 .st-name,body.gs2 .ev-row .n{line-height:1.4}
body.gs2 .rep-nav,body.gs2 .st-nav{overflow-y:auto;scrollbar-width:thin}
body.gs2 .rep-empty,body.gs2 .empty{color:var(--wz-ink-3);line-height:1.6}
body.gs2 .leg{border:1px solid var(--wz-edge);border-radius:18px}
body.gs2 .stat{background:var(--wz-wash)}
body.gs2 .modal-card{max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain}
body.gs2 .toast{max-width:calc(100vw - 32px);white-space:normal;overflow-wrap:anywhere;border-radius:20px}
body.gs2 .toast.err{background:#ac263b}
body.gs2 .btn-solid-danger{background:#ba2940;box-shadow:none}
body.gs2 .profile-card{overflow-y:auto;overscroll-behavior:contain}
body.gs2-auth{overflow-y:auto}
body.gs2-auth .auth{min-height:100dvh;height:auto}
body.gs2-auth .auth-inp{border:1px solid var(--wz-edge);border-radius:18px;background:var(--wz-wash)}
body.gs2-auth .auth-inp input{font-size:16px}
body.gs2-auth .auth-submit{background:var(--wz-blue);color:var(--wz-ink);border-radius:999px;font-weight:800;box-shadow:var(--wz-press)}
body.gs2-auth .auth-submit:hover{background:var(--wz-blue-2)}
body.gs2-auth .auth-foot{color:var(--wz-ink-3)}
@media(min-width:768px){
 body.gs2:not(.gs2-auth) .rail-nav{min-height:0;overflow-y:auto;overflow-x:hidden;flex-shrink:1;width:100%;scrollbar-width:thin;overscroll-behavior:contain}
 body.gs2:not(.gs2-auth) .rail-btn{flex-shrink:0}
 body.gs2:not(.gs2-auth) .rail>.avatar,body.gs2:not(.gs2-auth) .portal-brand{flex-shrink:0}
 body.gs2.gs2-tracking .side-head{background:var(--wz-paper);gap:12px;padding:16px 18px 12px}
 body.gs2.gs2-tracking .side-head .search{height:48px}
 body.gs2.gs2-tracking .row{padding:11px 12px;gap:5px;border-radius:16px}
}
@media(max-width:767px){
 body.gs2 .hist-top{padding:14px 16px;gap:10px}
 body.gs2 .hist-top h1{font-size:23px}
 body.gs2 .hist-top .ctl{max-width:100%;min-height:44px}
 body.gs2 .cp-secs{max-width:100%}
 body.gs2 .cp-table td{padding:0}
 body.gs2 .modal-card{max-height:calc(100dvh - 24px);padding:20px;border-radius:24px 24px 0 0}
 body.gs2 .confirm-acts{flex-wrap:wrap;gap:10px}
 body.gs2 .toast{bottom:76px}
 body.gs2 .inp input,body.gs2 .inp select,body.gs2 .inp textarea{font-size:16px}
 body.gs2 .btn,body.gs2 .menu-item{min-height:44px}
 body.gs2-auth .auth-form{padding:28px 22px}
 body.gs2-auth .auth-body{padding:30px 0;gap:24px}
}
@media(prefers-reduced-motion:reduce){
 body.gs2 .btn,body.gs2 .pill,body.gs2 .m-fab{transition:none}
 body.gs2 .btn:active,body.gs2 .pill:active,body.gs2 .m-fab:active{transform:none}
}

/* Compact object card. Native checkbox controls expansion without JavaScript. */
body.gs2.gs2-tracking .detail{left:auto;right:24px;top:auto;bottom:24px;transform:none;height:auto;max-height:calc(100dvh - 130px);border-radius:24px;overflow:hidden}
body.gs2.gs2-tracking .detail:not([data-open]){display:none}
body.gs2.gs2-tracking .detail[data-open]{width:400px}
body.gs2.gs2-tracking .detail-inner{width:100%;height:auto;max-height:calc(100dvh - 130px)}
body.gs2.gs2-tracking .detail-head{display:flex;flex-direction:column;align-items:stretch;padding:16px 18px 10px;gap:12px}
body.gs2.gs2-tracking .detail-id{gap:10px}
body.gs2.gs2-tracking .detail-id h2{font-size:20px;line-height:1.25;letter-spacing:-.4px}
body.gs2.gs2-tracking .veh-ico{width:38px;height:38px;border-radius:14px;border:0}
body.gs2.gs2-tracking .veh-ico img{width:28px;height:28px}
body.gs2.gs2-tracking .detail .status-line{gap:7px;flex-wrap:wrap}
body.gs2.gs2-tracking .detail .tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:0;background:transparent}
body.gs2.gs2-tracking .detail .tiles .tile{min-height:58px;padding:8px 7px;border:0;border-radius:12px;gap:3px}
body.gs2.gs2-tracking .detail .tile .v{font-size:21px;letter-spacing:-.5px}
body.gs2.gs2-tracking .detail .tile .v small{font-size:10px}
body.gs2.gs2-tracking .detail .tile .k{font-size:10px;line-height:1.25;letter-spacing:0}
body.gs2.gs2-tracking .detail .pane{min-height:0;max-height:100px;overflow-y:auto}
body.gs2.gs2-tracking .detail .sect{padding:8px 18px 12px;gap:6px}
body.gs2.gs2-tracking .detail .addr{font-size:13px;line-height:1.4}
body.gs2.gs2-tracking .detail .facts{gap:8px}
body.gs2.gs2-tracking .detail .fact{flex-direction:row;align-items:baseline;gap:6px}
body.gs2.gs2-tracking .detail .fact .k,body.gs2.gs2-tracking .detail .fact .v{font-size:11px}
body.gs2.gs2-tracking .detail-foot{padding:10px 112px 12px 18px;background:var(--wz-paper);border-top:1px solid var(--wz-edge);gap:6px;flex-shrink:0}
body.gs2.gs2-tracking .detail-foot .btn{height:40px;min-height:40px;font-size:13px;box-shadow:none}
body.gs2.gs2-tracking .detail-foot .btn-primary{background:var(--wz-blue);color:var(--wz-ink)}
body.gs2.gs2-tracking .detail-expand{position:absolute;bottom:14px;right:20px;width:82px;height:38px;margin:0;opacity:0;z-index:3;cursor:pointer}
body.gs2.gs2-tracking .detail-expand-label{position:absolute;bottom:13px;right:18px;width:86px;height:40px;border-radius:22px;display:flex;align-items:center;justify-content:center;background:var(--wz-wash);font-size:13px;font-weight:800;cursor:pointer}
body.gs2.gs2-tracking .detail-expand:focus-visible~.detail-expand-label{outline:2px solid var(--accent);outline-offset:2px}
body.gs2.gs2-tracking .collapse-caption{display:none}
body.gs2.gs2-tracking .detail-expand:checked~.detail-expand-label .collapse-caption{display:inline}
body.gs2.gs2-tracking .detail-expand:checked~.detail-expand-label .expand-caption{display:none}
body.gs2.gs2-tracking .detail-expand:not(:checked)~.detail-inner .tabs,
body.gs2.gs2-tracking .detail-expand:not(:checked)~.detail-inner .detail-foot .btn-ghost,
body.gs2.gs2-tracking .detail-expand:not(:checked)~.detail-inner .detail-foot .menu{display:none}
body.gs2.gs2-tracking .detail-expand:not(:checked)~.detail-inner .pane[aria-labelledby="gs2tab-overview"] .sect:not(:first-child),
body.gs2.gs2-tracking .detail-expand:not(:checked)~.detail-inner .pane[aria-labelledby="gs2tab-overview"] .sect>.lbl,
body.gs2.gs2-tracking .detail-expand:not(:checked)~.detail-inner .pane[aria-labelledby="gs2tab-overview"] .fact:first-child,
body.gs2.gs2-tracking .detail-expand:not(:checked)~.detail-inner .pane[aria-labelledby="gs2tab-overview"] .kv{display:none}
body.gs2.gs2-tracking .detail-expand:checked~.detail-inner .pane{max-height:260px}
body.gs2.gs2-tracking .detail-expand:checked~.detail-inner .tabs{padding:0 18px;gap:18px}
body.gs2.gs2-tracking .detail-expand:checked~.detail-inner .tab{font-size:12px;min-height:40px}
body.gs2.gs2-tracking .detail-expand:checked~.detail-inner .detail-foot .btn-ghost{width:36px;flex-shrink:0}
@media(max-width:767px){
 body.gs2.gs2-tracking .detail,body.gs2.gs2-tracking .detail[data-open]{left:0;right:0;bottom:57px;top:auto;width:100%;max-height:calc(100dvh - 160px);border-radius:24px 24px 0 0}
 body.gs2.gs2-tracking .detail-inner{max-height:calc(100dvh - 160px)}
 body.gs2.gs2-tracking .detail-head{padding:12px 16px 8px;gap:10px}
 body.gs2.gs2-tracking .detail .pane{max-height:85px}
 body.gs2.gs2-tracking .detail-expand:checked~.detail-inner .pane{max-height:200px}
 body.gs2.gs2-tracking .detail .tile .v{font-size:19px}
 body.gs2.gs2-tracking .detail-foot{padding-left:16px}
 body.gs2.gs2-tracking .detail-expand,body.gs2.gs2-tracking .detail-expand-label{height:44px;bottom:10px}
}

/* The history card stays inside the map, above the separate playback controls. */
body.gs2 .history-object-card{position:absolute;right:18px;bottom:18px;z-index:800;width:min(400px,calc(100% - 36px));max-height:calc(100% - 36px);overflow-y:auto;overscroll-behavior:contain;background:var(--wz-paper);color:var(--wz-ink);border-radius:24px;box-shadow:var(--wz-shadow-lg);padding:16px 18px;font-family:var(--wz-round)}
body.gs2 .history-object-card[hidden]{display:none}
.history-object-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
body.gs2 .history-object-card h2{margin:0;font-size:20px;line-height:1.25;overflow-wrap:anywhere}
.history-object-card .hc-meta{font-size:11px;color:var(--wz-ink-3);margin-top:4px}
.history-object-card .hc-close{width:36px;height:36px;flex-shrink:0;border-radius:50%;background:var(--wz-wash);font-size:24px}
.history-object-card .hc-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:12px}
.history-object-card .hc-metrics>div{border-radius:14px;background:var(--wz-wash);padding:9px 10px;min-width:0}
.history-object-card .hc-metrics span{display:block;font-size:11px;color:var(--wz-ink-3)}
.history-object-card .hc-metrics strong{display:block;font-size:22px;overflow-wrap:anywhere}
.history-object-card .hc-metrics small{font-size:10px;font-weight:700}
.history-object-card .hc-time{font-size:12px;margin:12px 0 5px}
.history-object-card .hc-location{font-size:11px;color:var(--wz-ink-3);margin:0 0 12px;font-variant-numeric:tabular-nums}
.history-object-card summary{cursor:pointer;border-radius:22px;background:var(--wz-wash);padding:10px 18px;width:max-content;margin-left:auto;font-size:13px;font-weight:800}
.history-object-card .hc-less,.history-object-card details[open] .hc-more{display:none}
.history-object-card details[open] .hc-less{display:inline}
.history-object-card .hc-extra{border-top:1px solid var(--wz-edge);margin-top:12px;padding-top:4px;font-size:12px}
.history-object-card dl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px 12px}
.history-object-card dt,.history-object-card dd{margin:0;overflow-wrap:anywhere}
.history-object-card dd{font-weight:800}
@media(max-width:767px){body.gs2 .history-object-card{bottom:8px;right:8px;width:calc(100% - 16px);max-height:calc(100% - 16px);padding:12px 14px;border-radius:20px}}

/* Events: a balanced inbox and a clear selection state. */
body.gs2 .ev .ev-body{gap:20px;padding:20px;min-height:0}
body.gs2 .ev .ev-list{width:clamp(380px,34vw,520px);flex-shrink:0;margin:0;border:1px solid var(--wz-edge);border-radius:24px;overflow:hidden;background:var(--wz-paper)}
body.gs2 .ev .ev-tabs{padding:10px 16px;gap:8px;background:var(--wz-paper)}
body.gs2 .ev .ev-tabs button{padding:10px 16px;border:0;border-radius:16px;font-weight:800}
body.gs2 .ev .ev-tabs button[aria-selected="true"]{background:var(--wz-blue);color:var(--wz-ink)}
body.gs2 .ev .ev-chips{padding:12px 16px;display:flex;gap:6px;flex-wrap:wrap;background:var(--wz-paper)}
body.gs2 .ev .ev-chips[hidden]{display:none}
body.gs2 .ev .ev-chips .chip{font-size:12px;box-shadow:none;min-height:34px}
body.gs2 .ev .ev-scroll{padding:0 10px 12px;scrollbar-width:thin;background:var(--wz-paper)}
body.gs2 .ev .ev-day{background:transparent;padding:14px 8px 8px;font-size:11px;font-weight:800;color:var(--wz-ink-3)}
body.gs2 .ev .ev-row{width:100%;margin:0 0 8px;padding:15px 12px;gap:12px;border:1px solid var(--wz-edge);border-left-width:3px;border-radius:18px;align-items:flex-start;background:var(--wz-paper)}
body.gs2 .ev .ev-row:hover{background:var(--wz-wash)}
body.gs2 .ev .ev-row[aria-selected="true"]{background:var(--wz-blue-soft);box-shadow:inset 0 0 0 1px var(--wz-blue);border-color:var(--wz-blue)}
body.gs2 .ev .ev-row .n{font-size:15px;line-height:1.4;overflow-wrap:anywhere}
body.gs2 .ev .ev-row[data-new] .n{font-weight:800}
body.gs2 .ev .ev-row .s{font-size:12px;line-height:1.5}
body.gs2 .ev .ev-row .t{font-size:11px;color:var(--wz-ink-3);padding-top:3px}
body.gs2 .ev .ev-ico{width:38px;height:38px;border-radius:14px}
body.gs2 .ev .ev-main{padding:0;scrollbar-width:thin}
body.gs2 .ev .ev-form{max-width:900px;gap:16px;margin:0 auto;width:100%}
body.gs2 .ev .ev-welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:280px;padding:32px 24px;background:var(--wz-paper)}
body.gs2 .ev .ev-welcome-symbol{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:22px;background:var(--wz-blue-soft);color:var(--accent);font-size:38px;margin-bottom:16px}
body.gs2 .ev .ev-welcome h3{font-size:23px;margin:0 0 10px}
body.gs2 .ev .ev-welcome .hint{max-width:380px;line-height:1.6;margin:0;font-size:14px}
body.gs2 .ev .ev-telegram{padding:20px 24px;background:var(--wz-wash);box-shadow:none}
body.gs2 .ev .ev-telegram h3{font-size:17px;margin:0 0 8px}
body.gs2 .ev .ev-telegram .hint{line-height:1.6;margin:0;font-size:13px}
@media(min-width:768px) and (max-width:1100px){body.gs2 .ev .ev-body{padding:14px;gap:14px}body.gs2 .ev .ev-list{width:340px}body.gs2 .ev .ev-row{gap:8px;padding:12px 10px}body.gs2 .ev .ev-welcome{padding:24px 16px}}
@media(max-width:767px){
 body.gs2 .ev .ev-body{padding:0;display:block;height:auto;flex:1;min-height:0}
 body.gs2 .ev .ev-list{width:100%;height:100%;border:0;border-radius:0}
 body.gs2 .ev .ev-tabs{display:flex}
 body.gs2 .ev #gs2new{display:inline-flex;align-items:center;min-height:40px;padding:0 12px}
 body.gs2 .ev .hist-top{height:auto;min-height:64px}
 body.gs2 .ev .ev-main{padding:14px}
 body.gs2 .ev .ev-row{gap:8px;padding:13px 10px}
 body.gs2 .ev .ev-welcome{min-height:200px}
}

/* Events header aligns with the content's outer gutter. */
@media(min-width:768px){
 body.gs2 .ev>.hist-top{margin:20px 20px 0;width:auto;border-radius:24px;padding:16px 22px;background:var(--wz-paper);border:1px solid var(--wz-edge);min-height:68px}
}
@media(min-width:768px) and (max-width:1100px){
 body.gs2 .ev>.hist-top{margin:14px 14px 0;padding:14px 18px}
}
@media(max-width:767px){
 body.gs2 .ev>.hist-top{margin:10px 10px 0;border-radius:20px;padding:12px 14px;border:1px solid var(--wz-edge)}
 body.gs2 .ev .ev-body{margin:10px 10px 0;border-radius:20px;overflow:hidden}
}

/* Logbook header uses the same gutter as every tab's content. */
body.gs2 .lb{--lb-gutter:24px}
body.gs2 .lb>.lb-top{margin:20px var(--lb-gutter) 0;width:auto;border-radius:24px;padding:16px 22px;background:var(--wz-paper);border:1px solid var(--wz-edge);min-height:68px;height:auto;flex-wrap:wrap;gap:14px}
body.gs2 .lb>.lb-body{padding:20px var(--lb-gutter)}
body.gs2 .lb>.lb-top .cp-secs{max-width:100%;min-width:0;overflow-x:auto}
@media(min-width:768px) and (max-width:1100px){body.gs2 .lb{--lb-gutter:20px}}
@media(max-width:767px){
 body.gs2 .lb{--lb-gutter:14px}
 body.gs2 .lb>.lb-top{margin-top:10px;border-radius:20px;padding:12px 14px;gap:8px}
 body.gs2 .lb>.lb-body{padding-top:14px;padding-bottom:14px}
}

/* Shared section headers: one gutter and radius across the portal. */
body.gs2 :is(.hist,.rep,.pl,.stg,.cp,.ev,.lb){--section-gutter:20px;--section-radius:24px}
body.gs2 :is(.hist,.rep,.pl,.stg,.cp,.ev,.lb)>.hist-top{margin:var(--section-gutter) var(--section-gutter) 0;width:auto;min-height:68px;height:auto;flex-shrink:0;flex-wrap:wrap;gap:12px;padding:16px 22px;border:1px solid var(--wz-edge);border-radius:var(--section-radius);background:var(--wz-paper)}
body.gs2 :is(.hist,.rep,.pl,.stg,.cp,.ev,.lb)>.hist-top h1{display:block;font-size:25px;line-height:1.2}
body.gs2 :is(.hist,.rep,.pl,.stg) > :is(.hist-body,.rep-body,.pl-body,.st-body){margin:var(--section-gutter);border-radius:var(--section-radius);min-height:0}
body.gs2 :is(.cp,.lb) > :is(.cp-body,.lb-body){padding:var(--section-gutter)}
body.gs2 .ev>.ev-body{padding:var(--section-gutter);margin:0}
body.gs2 :is(.hist,.rep,.pl,.stg,.cp,.ev,.lb)>.hist-top .cp-secs{min-width:0;max-width:100%;overflow-x:auto}
@media(min-width:768px) and (max-width:1100px){body.gs2 :is(.hist,.rep,.pl,.stg,.cp,.ev,.lb){--section-gutter:14px}}
@media(max-width:767px){
 body.gs2 :is(.hist,.rep,.pl,.stg,.cp,.ev,.lb){--section-gutter:10px;--section-radius:20px}
 body.gs2 :is(.hist,.rep,.pl,.stg,.cp,.ev,.lb)>.hist-top{padding:12px 14px;gap:8px;min-height:64px}
 body.gs2 :is(.hist,.rep,.pl,.stg,.cp,.ev,.lb)>.hist-top h1{font-size:23px}
 body.gs2 .ev>.ev-body{margin:var(--section-gutter);padding:0}
}

/* Logbook RFID group filters: equal sizes and shared selected state. */
body.gs2 .lb .lb-bar .rep-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-width:100%}
body.gs2 .lb .lb-bar .rep-presets .sbtn[data-g]{display:flex;align-items:center;justify-content:center;min-width:104px;height:42px;padding:0 14px;border:1px solid var(--wz-edge);border-radius:22px;background:var(--wz-wash);color:var(--wz-ink-2);font:800 13px var(--wz-round);box-shadow:none;white-space:nowrap}
body.gs2 .lb .lb-bar .rep-presets .sbtn[data-g][aria-pressed="true"]{background:var(--wz-blue);border-color:var(--wz-blue);color:var(--wz-ink)}
body.gs2 .lb .lb-bar .rep-presets .sbtn[data-g]:hover{border-color:var(--accent)}
body.gs2 .lb .lb-bar .rep-presets .sbtn[data-g]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media(max-width:767px){
 body.gs2 .lb .lb-bar .rep-presets{width:100%}
 body.gs2 .lb .lb-bar .rep-presets .sbtn[data-g]{min-width:0;height:44px;padding:0 6px;font-size:12px}
}

/* A subtle pressed edge belongs only to primary actions. */
body.gs2 .btn-primary,body.gs2.gs2-tracking .detail-foot .btn-primary,body.gs2 .auth-submit,body.gs2 #gs2new,body.gs2 #gs2load{box-shadow:var(--wz-press)}
body.gs2 .btn-primary:active,body.gs2.gs2-tracking .detail-foot .btn-primary:active,body.gs2 .auth-submit:active,body.gs2 #gs2new:active,body.gs2 #gs2load:active{box-shadow:0 1px 0 var(--wz-blue-deep)}
body.gs2 .btn-primary:disabled,body.gs2 .auth-submit:disabled,body.gs2 #gs2new:disabled,body.gs2 #gs2load:disabled{box-shadow:none}
