/* Локальные шрифты сегодняшнего макета (без CDN) */
@font-face{font-family:'Inter Tight';font-weight:400;font-display:swap;src:url('/static/fonts/auto/inter-tight-400-cyrillic.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-04B1,U+2116}
@font-face{font-family:'Inter Tight';font-weight:400;font-display:swap;src:url('/static/fonts/auto/inter-tight-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter Tight';font-weight:500;font-display:swap;src:url('/static/fonts/auto/inter-tight-500-cyrillic.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-04B1,U+2116}
@font-face{font-family:'Inter Tight';font-weight:500;font-display:swap;src:url('/static/fonts/auto/inter-tight-500-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter Tight';font-weight:700;font-display:swap;src:url('/static/fonts/auto/inter-tight-700-cyrillic.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-04B1,U+2116}
@font-face{font-family:'Inter Tight';font-weight:700;font-display:swap;src:url('/static/fonts/auto/inter-tight-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'JetBrains Mono';font-weight:400;font-display:swap;src:url('/static/fonts/auto/jetbrains-mono-400-cyrillic.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-04B1,U+2116}
@font-face{font-family:'JetBrains Mono';font-weight:400;font-display:swap;src:url('/static/fonts/auto/jetbrains-mono-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'JetBrains Mono';font-weight:700;font-display:swap;src:url('/static/fonts/auto/jetbrains-mono-700-cyrillic.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-04B1,U+2116}
@font-face{font-family:'JetBrains Mono';font-weight:700;font-display:swap;src:url('/static/fonts/auto/jetbrains-mono-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* ==========================================================================
   GazTormoz · новый дизайн 28.10.2026
   Перенос сегодняшнего макета (demo_home_rail + stock) на портал.
   Слой включается только для владельца (cookie gt_design), старый вид —
   по умолчанию. Это отдельный слой: старые прототипы panel/auto удалены.
   ========================================================================== */
body.gt{
  --pd-paper:#f4f4f6; --pd-card:#fff; --pd-ink:#111114; --pd-ink2:#4b4b55; --pd-ink3:#74747e;
  --pd-line:#e9e9ee; --pd-line-soft:#f1f1f4; --pd-red:#d5001c; --pd-red-h:#b60018;
  --pd-green:#0f8f66; --pd-r:18px; --pd-r-sm:14px; --pd-r-xs:10px;
  --pd-ease:cubic-bezier(.22,1,.36,1);
  --pd-shadow:0 1px 2px rgba(17,17,20,.04),0 14px 34px -26px rgba(17,17,20,.32);
  --pd-rail:84px; --pd-top:64px;
  --pd-mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --bg:var(--pd-paper); --surface:#fff; --card:#fff; --border:var(--pd-line);
  --accent:var(--pd-red); --red:var(--pd-red); --red-bright:#e43348;
  --green:var(--pd-green); --blue:#2563eb; --amber:#c2740a;
  --text:var(--pd-ink); --text-dim:var(--pd-ink2); --text-muted:var(--pd-ink3);
  padding-left:var(--pd-rail);
  font-family:'Inter Tight','Product Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:14px; line-height:1.45; letter-spacing:-.005em;
  color:var(--pd-ink); background:var(--pd-paper);
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
body.gt h1,body.gt h2,body.gt h3,body.gt h4{letter-spacing:-.025em;font-weight:600;color:var(--pd-ink)}
body.gt a{text-decoration:none;color:inherit}
/* Ссылки-текст больше не красятся системным синим: в макете они цвета
   основного текста, акцент даёт ховер и красный у служебных. */
body.gt a:hover{color:var(--pd-ink)}
body.gt .main a:hover{text-decoration:none}
body.gt b,body.gt strong{font-weight:600}
body.gt ::selection{background:rgba(213,0,28,.15)}
body.gt :focus-visible{outline:2px solid var(--pd-red);outline-offset:2px;border-radius:8px}
body.gt *{scrollbar-width:thin;scrollbar-color:#cfcfd4 transparent}
body.gt ::-webkit-scrollbar{width:9px;height:9px}
body.gt ::-webkit-scrollbar-thumb{background:#d4d4d9;border-radius:8px;border:2px solid var(--pd-paper)}

/* ── Левый rail: белый, 84px, как в сегодняшнем макете ── */
body.gt .gt-nav{
  position:fixed;inset:0 auto 0 0;width:var(--pd-rail);z-index:60;
  background:#fff;border-right:1px solid var(--pd-line);
  display:flex;flex-direction:column;align-items:center;padding:16px 0 14px;
}
body.gt .gt-nav .brand{
  width:40px;height:40px;border-radius:13px;flex:0 0 auto;
  background:linear-gradient(160deg,#2a2a30,#0c0c0e);color:#fff;
  display:grid;place-items:center;font-weight:700;font-size:17px;letter-spacing:-.02em;
  position:relative;box-shadow:0 8px 18px -10px rgba(0,0,0,.55);
}
body.gt .gt-nav .brand i{
  position:absolute;right:7px;bottom:7px;width:5px;height:5px;border-radius:50%;
  background:var(--pd-red);
}
body.gt .gt-nav .rail-nav{
  display:flex;flex-direction:column;gap:4px;margin-top:22px;width:100%;align-items:center;
}
body.gt .gt-nav .ri{
  width:66px;padding:9px 2px 7px;border-radius:14px;
  display:flex;flex-direction:column;align-items:center;gap:6px;
  color:var(--pd-ink3);font-size:9.5px;font-weight:600;letter-spacing:.055em;
  text-transform:uppercase;position:relative;transition:background .16s,color .16s;
  background:none;border:0;cursor:pointer;
}
body.gt .gt-nav .ri .ic{width:21px;height:21px}
/* «Склад» открывается самой кнопкой, меню — уголком-стрелкой (28.10.2026). */
body.gt .gt-nav a.ri{text-decoration:none}
body.gt .gt-nav .ri-expand{
  position:absolute;top:3px;right:3px;width:15px;height:15px;border-radius:5px;
  display:grid;place-items:center;color:var(--pd-ink3);opacity:.55;
  transition:background .14s,opacity .14s;
}
body.gt .gt-nav .ri-expand .ic{width:9px;height:9px;transform:rotate(90deg)}
/* Зона нажатия шире самого уголка: пальцем попасть проще. */
body.gt .gt-nav .ri-expand::before{content:"";position:absolute;inset:-6px;border-radius:8px}

body.gt .gt-nav .ri-expand:hover{opacity:1;background:#e9e9ee}
body.gt .gt-nav .ri:hover,body.gt .gt-nav .ri[aria-expanded="true"]{background:#f5f5f7;color:var(--pd-ink2)}
body.gt .gt-nav .ri.is-on{color:var(--pd-ink);background:#f5f5f7}
body.gt .gt-nav .ri.is-on::before{
  content:"";position:absolute;left:-9px;top:50%;transform:translateY(-50%);
  width:3px;height:22px;border-radius:0 3px 3px 0;background:var(--pd-red);
}
body.gt .gt-nav .rail-foot{
  margin-top:auto;display:flex;flex-direction:column;align-items:center;gap:10px;
}
body.gt .gt-nav .rail-user{
  width:34px;height:34px;border-radius:50%;background:#f1f1f4;color:var(--pd-ink2);
  font-size:11px;font-weight:700;display:grid;place-items:center;border:1px solid var(--pd-line);
  cursor:default;
}
body.gt .gt-nav .rail-user img{width:100%;height:100%;object-fit:cover;border-radius:50%}
body.gt .gt-nav .rail-exit{
  width:32px;height:32px;border-radius:10px;display:grid;place-items:center;color:var(--pd-ink3);
}
body.gt .gt-nav .rail-exit:hover{background:#f5f5f7;color:var(--pd-ink)}
body.gt .gt-nav .rail-exit .ic{width:16px;height:16px}

/* ── Выпадающие меню групп ── */
body.gt .fly{
  position:fixed;left:calc(var(--pd-rail) + 8px);top:80px;width:342px;
  background:#fff;border:1px solid var(--pd-line);border-radius:18px;
  box-shadow:0 24px 64px -28px rgba(17,17,20,.4),0 2px 6px rgba(17,17,20,.05);
  padding:10px;z-index:70;opacity:0;visibility:hidden;transform:translateX(-6px);
  transition:opacity .16s var(--pd-ease),transform .16s var(--pd-ease),visibility .16s;
}
body.gt .fly.is-open{opacity:1;visibility:visible;transform:none}
body.gt .fly-head{padding:8px 10px 10px}
body.gt .fly-title{font-size:13.5px;font-weight:700;letter-spacing:-.01em}
body.gt .fly-sub{font-size:11.5px;color:var(--pd-ink3);margin-top:2px}
body.gt .fly-row{
  display:grid;grid-template-columns:34px 1fr 14px;align-items:center;gap:10px;
  padding:8px 10px;border-radius:12px;transition:background .13s;
}
body.gt .fly-row:hover{background:#f6f6f8}
body.gt .fly-ic{
  width:34px;height:34px;border-radius:10px;background:#f5f5f7;display:grid;place-items:center;
  color:var(--pd-ink2);transition:.13s;
}
body.gt .fly-ic .ic{width:17px;height:17px}
body.gt .fly-row:hover .fly-ic{background:#fff;color:var(--pd-red);box-shadow:inset 0 0 0 1px var(--pd-line)}
body.gt .fly-t b{display:block;font-size:13.5px;font-weight:600;letter-spacing:-.005em}
body.gt .fly-t i{
  display:block;font-style:normal;font-size:11.5px;color:var(--pd-ink3);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px;
}
body.gt .fly-arr{color:#c3c3cb;opacity:0;transform:translateX(-3px);transition:.13s}
body.gt .fly-row:hover .fly-arr{opacity:1;transform:none}
body.gt .fly-arr .ic{width:14px;height:14px}

/* ── Верхняя панель: 64px, без старого логотипа в шапке ── */
body.gt .topbar{
  position:sticky;top:0;z-index:50;height:var(--pd-top);min-height:var(--pd-top);
  padding:0 32px;gap:16px;display:flex;align-items:center;justify-content:space-between;
  flex-wrap:nowrap;background:rgba(244,244,246,.84);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(233,233,238,.75);
}
body.gt .topbar-left{display:flex;align-items:center;gap:14px;min-width:0;flex:1}
body.gt .pd-headwrap{display:flex;align-items:center;min-width:0;flex:0 0 auto}
body.gt .topbar .brand{display:none}
body.gt .gt-title{gap:9px}
body.gt .gt-title h1{
  font-size:15px;line-height:1.2;font-weight:600;letter-spacing:-.02em;
  color:var(--pd-ink);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
body.gt .gt-title .gt-count{
  font-family:var(--pd-mono);font-size:9.5px;color:var(--pd-ink3);letter-spacing:-.02em;
}
body.gt .psearch{margin:0 0 0 auto;width:min(340px,34vw);flex:0 1 auto;min-width:150px}
body.gt .psearch-field{
  height:38px;border:1px solid var(--pd-line);border-radius:11px;background:#fff;
  box-shadow:none;transition:border-color .16s,box-shadow .16s;
}
body.gt .psearch-field:hover{border-color:#d8d8df;box-shadow:0 1px 2px rgba(17,17,20,.04)}
body.gt .psearch-field:focus-within{border-color:#c9c9d1;box-shadow:0 0 0 3px rgba(17,17,20,.04)}
body.gt .psearch-input,body.gt .psearch-field input{font-size:12.5px;color:var(--pd-ink)}
body.gt .topbar-right{gap:14px;flex-wrap:nowrap;min-width:0;flex:0 0 auto}
body.gt .race-slot{margin:0}
body.gt .btn-race{
  height:32px;padding:0 12px;border-radius:9px;background:#101318;color:#fff;
  font-size:10.5px;font-weight:700;letter-spacing:.09em;display:inline-flex;align-items:center;
}
body.gt .btn-race:hover{background:var(--pd-red);border-color:var(--pd-red);color:#fff}
body.gt .sync-badge,body.gt .topbar-date{
  font-family:var(--pd-mono);font-size:10px !important;font-weight:400 !important;
  letter-spacing:-.01em;color:var(--pd-ink3);font-variant-numeric:tabular-nums;
}
body.gt .sync-badge span{font-weight:400 !important}
body.gt #ratesAt{font-size:9px !important;color:var(--pd-ink3)}
body.gt .user-chip{font-size:12px;gap:8px;padding:0 2px;color:var(--pd-ink2)}
body.gt .user-chip b{font-size:12.5px;font-weight:600;color:var(--pd-ink)}
body.gt .user-chip .role{
  border-radius:999px;padding:2px 8px;font-size:9px;font-family:var(--pd-mono);
  letter-spacing:.02em;text-transform:uppercase;color:var(--pd-ink3);border-color:var(--pd-line);
}
body.gt .user-chip a{color:var(--pd-red);font-size:11.5px;font-weight:500}
body.gt .chip-avatar{width:28px;height:28px;border-color:var(--pd-line)}

/* ── Широкая рабочая область ── */
body.gt .main{max-width:none;margin:0;padding:26px 32px 90px}
body.gt .hub{max-width:none}
body.gt .gt-hero{margin:0 0 20px;padding:0 2px}
body.gt .gt-hero h1{
  margin:0;font-size:26px;line-height:1.2;font-weight:600;letter-spacing:-.028em;color:var(--pd-ink);
}
body.gt .gt-hero p{margin-top:7px;font-size:13px;color:var(--pd-ink3);max-width:660px}
body.gt .hub-hero{display:none}
body.gt .hub-personal{display:none}

/* ── Главная: ключевые цифры как в макете ── */
body.gt .hub-kpi-head{padding:0 2px 11px;gap:6px 12px;align-items:center}
body.gt .hub-kpi-head h3{
  font-family:var(--pd-mono);font-size:9px;font-weight:500;letter-spacing:.16em;
  text-transform:uppercase;color:var(--pd-ink3);
}
body.gt .hub-kpi-head span{font-family:var(--pd-mono);font-size:9.5px;color:var(--pd-ink3)}
body.gt .hub-kpi{gap:12px;margin-bottom:18px}
body.gt .hub-kpi-card{
  border-radius:var(--pd-r);padding:15px 17px 14px;border:1px solid var(--pd-line);
  box-shadow:none;transition:border-color .16s,transform .16s,box-shadow .16s;
}
body.gt .hub-kpi-card::before{display:none}
body.gt .hub-kpi-card.clickable:hover{
  border-color:#dcdce3;transform:translateY(-1px);box-shadow:var(--pd-shadow);
}
body.gt .hub-kpi-card .k{
  font-family:inherit;font-size:12px;font-weight:400;letter-spacing:-.005em;
  text-transform:none;color:var(--pd-ink3);line-height:1.45;
}
body.gt .hub-kpi-card .v{
  font-size:29px;font-weight:700;letter-spacing:-.03em;line-height:1.1;margin-top:8px;
  color:var(--pd-ink);font-variant-numeric:tabular-nums;
}
body.gt .hub-kpi-card .s{font-size:11.5px;color:var(--pd-ink3);margin-top:5px;line-height:1.35}
body.gt .hub-kpi-card .s b{color:var(--pd-ink2)}
body.gt .hub-kpi-card .ic{display:none}

/* Секции переехали в левый rail — карточку-дубль на главной убираем. */
body.gt .hub-card-sections{display:none}
body.gt .hub-cols{grid-template-columns:1fr;gap:18px}
body.gt .hub-card{
  border-radius:var(--pd-r);padding:18px 20px;box-shadow:var(--pd-shadow);
  border:1px solid var(--pd-line);
}
body.gt .hub-card h3{font-size:15px;font-weight:600;letter-spacing:-.02em}

/* Новости на главной: не одна бесконечная колонка, а компактная панель. */
body.gt .hub-news-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  max-height:540px;overflow:auto;overscroll-behavior:contain;
}
@media (max-width:1100px){
  body.gt .hub-news-grid{grid-template-columns:1fr;max-height:440px}
}

body.gt .hub-cols{display:none}
body.gt .gt-home{margin-top:2px}
body.gt .gt-home .dash-bar{margin-bottom:10px}

/* ── Разделы: сегодняшние поверхности и типографика ───────────────────── */
body.gt :is(.filters,.kpi,.chart-box,.tbl,.ct-card,.team-card,.rm-card,
  .am-card,.am-intro,.am-list,.am-tg-feat,.an-subbar,.st-subbar,.st-brand,
  .st-car,.st-fpop,.st-subbar,.kb-side,.kb-article,.kb-shot,.kb-link-card,
  .sch-wrap,.sch-picker,.ho-day,.ho-day-block,.car-card,.cls-filter,.cls-tab,
  .ml-bar,.ml-tab,.sp-stat,.weakspot-card) {
  border:1px solid var(--pd-line); border-radius:var(--pd-r);
  background:#fff; box-shadow:var(--pd-shadow);
}
body.gt .ct-card{border-left:1px solid var(--pd-line)}
body.gt .btn{
  border-radius:9px; border-color:var(--pd-line); background:#fff;
  color:var(--pd-ink); font-size:12px; font-weight:500; padding:7px 13px;
}
body.gt .btn:hover{background:#f7f7f8; border-color:#d3d3d9; color:var(--pd-ink)}
body.gt .btn-accent{background:var(--pd-ink); border-color:var(--pd-ink); color:#fff}
body.gt .btn-accent:hover{background:var(--pd-red); border-color:var(--pd-red); color:#fff}
body.gt .quick{border-radius:9px; border-color:var(--pd-line); background:#fff}
body.gt .quick:hover{border-color:#d3d3d9; background:#f7f7f8}
body.gt input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]),
body.gt select,body.gt textarea{
  border:1px solid var(--pd-line); border-radius:9px; background:#fff; color:var(--pd-ink);
}
body.gt input:focus,body.gt select:focus,body.gt textarea:focus{
  border-color:#c9c9d1; box-shadow:0 0 0 3px rgba(17,17,20,.05);
}
body.gt :is(.an-sub,.st-sub,.ml-tab,.cls-tab,.seg-btn,.ac-segbtn,.ac-msegbtn){
  border-radius:9px; border:1px solid transparent; color:var(--pd-ink3);
}
body.gt :is(.an-sub,.st-sub,.ml-tab,.cls-tab,.seg-btn,.ac-segbtn,.ac-msegbtn):hover{
  background:#f7f7f8; color:var(--pd-ink);
}
body.gt :is(.an-sub,.st-sub,.ml-tab,.cls-tab,.seg-btn,.ac-segbtn,.ac-msegbtn).active{
  background:var(--pd-ink); color:#fff; border-color:var(--pd-ink);
}
body.gt th{
  color:var(--pd-ink3); border-bottom:1px solid var(--pd-line);
  font-size:10px; font-weight:600; letter-spacing:.04em;
}
body.gt td{border-bottom:1px solid var(--pd-line-soft); color:var(--pd-ink2)}
body.gt tbody tr:hover td{background:#fafafa}
body.gt .badge,body.gt .chip{border-radius:999px; font-weight:500}
body.gt .ct-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
body.gt .ct-stat{min-width:0}
body.gt .ct-stat b,body.gt .ct-stat span,body.gt .ct-delta{overflow:hidden;text-overflow:ellipsis}
body.gt .ct-delta{max-width:46%;white-space:nowrap}
body.gt .am-card a,body.gt .am-list a{overflow-wrap:anywhere}

/* ── Мобильный каркас: rail становится нижней панелью, как в макете ────── */
@media (max-width:980px){
  body.gt{padding-left:0;padding-bottom:64px}
  body.gt .gt-nav{
    top:auto;bottom:0;left:0;right:0;width:100%;height:64px;
    flex-direction:row;align-items:center;padding:0 4px;
    border-right:0;border-top:1px solid var(--pd-line);z-index:65;
  }
  body.gt .gt-nav .brand,body.gt .gt-nav .rail-foot{display:none}
  body.gt .gt-nav .rail-nav{
    flex-direction:row;align-items:stretch;justify-content:space-around;
    margin:0;width:100%;gap:0;overflow-x:auto;
  }
  body.gt .gt-nav .ri{
    width:auto;min-width:56px;flex:1 0 56px;padding:5px 1px 4px;
    font-size:8px;gap:3px;border-radius:10px;letter-spacing:.03em;
  }
  body.gt .gt-nav .ri .ic{width:19px;height:19px}
  body.gt .gt-nav .ri.is-on{background:#f5f5f7}
  body.gt .gt-nav .ri.is-on::before{left:50%;top:auto;bottom:-1px;transform:translateX(-50%);width:18px;height:3px;border-radius:3px 3px 0 0}
  body.gt .fly{
    left:8px;right:8px;width:auto;top:auto !important;bottom:70px;
    max-height:58vh;overflow:auto;
  }
  body.gt .main{padding:16px 14px 84px}
  body.gt .topbar{height:56px;min-height:56px;padding:0 14px;gap:8px;flex-wrap:nowrap}
  body.gt .gt-title h1{font-size:14px}
  body.gt .psearch{width:38px;min-width:38px;margin-left:auto}
  body.gt .psearch-field{height:38px;width:38px;padding:0;justify-content:center}
  body.gt .psearch-field input{display:none}
  body.gt .psearch-field .psearch-ic{margin:0}
  body.gt .psearch-field .psearch-clear,body.gt .psearch-field .psearch-close{display:none}
  body.gt .sync-badge,body.gt .topbar-date{display:none}
  body.gt .user-chip .role{display:none}
  body.gt .user-chip b{display:none}
  body.gt .race-slot{display:none}
}
@media (max-width:600px){
  body.gt .gt-nav .ri{font-size:7.4px;min-width:52px;flex-basis:52px}
  body.gt .gt-nav .ri .ic{width:18px;height:18px}
  body.gt .hub-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.gt .hub-kpi-card .v{font-size:24px}
  body.gt .gt-home .dash-bar{flex-wrap:wrap;gap:8px}
  body.gt .gt-home .dash-actions{width:100%;overflow-x:auto}
}
body.gt .fly-row{min-width:0}
body.gt .fly-t{min-width:0;overflow:hidden}
body.gt .fly-t b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:980px){
  body.gt .fly{display:none}
  body.gt .fly.is-open{display:block}
}
body.gt .hub-kpi-head{display:none}
body.gt .user-chip .role{display:none}
/* Курс валют в шапке (29.10.2026): на десктопе — строка рядом с датой,
   на телефоне — отдельная полоса под заголовком (в одну строку с поиском
   и сотрудником цифры не помещаются: заголовок «Панель управления»
   съедает половину ширины). */
body.gt .sync-badge{display:flex;align-items:center;gap:6px;white-space:nowrap}
/* Заголовок не сжимаем: при нехватке места уступает поиск (минимум 150 px). */
body.gt .gt-title{flex:0 0 auto;min-width:0}
/* Узкий десктоп (1024–1360): у курса оставляем цифры без «обновлено» —
   полное время видно в подсказке при наведении, иначе шапка наезжает на поиск. */
@media (min-width:981px) and (max-width:1360px){
  body.gt #ratesAt{display:none}
}
/* До 1260 px дата в шапке уступает место курсу и поиску. */
@media (max-width:1260px){
  body.gt .topbar-date{display:none}
}
/* Длинное имя сотрудника не раздвигает шапку: уступает многоточию,
   а на узком десктопе остаётся один аватар (имя есть в rail). */
body.gt .user-chip{min-width:0}
body.gt .user-chip b{min-width:0;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:1050px){
  body.gt .user-chip b{display:none}
}
/* Полоса курса на телефоне — в gt-mobile.css: там же высота шапки в две строки. */
@media (max-width:980px){
  body.gt .psearch.open .psearch-field{
    width:auto;height:46px;padding:0 9px 0 12px;justify-content:flex-start;
  }
  body.gt .psearch.open .psearch-field input{display:block}
  body.gt .psearch.open .psearch-field .psearch-close{display:inline-flex}
  body.gt .psearch.open .psearch-field .psearch-clear{display:none}
  body.gt .psearch.open .psearch-field .psearch-clear:where(.psearch.has-q *){display:inline-flex}
}
@media (max-width:980px){
  body.gt .psearch.open{width:auto;min-width:0;max-width:none;margin:0}
}
/* Мини-апп открывает раздел в iframe (?embed=1): свой каркас не нужен. */
body.gt.embed{padding-left:0;padding-bottom:0}
body.gt.embed .gt-nav,body.gt.embed .fly{display:none !important}
/* Своя шапка у мини-аппа (tga.html) — шапку портала в iframe не дублируем:
   иначе поверх раздела висят заголовок, поиск и полоса курса (29.10.2026). */
body.gt.embed .topbar{display:none}
body.gt.embed .main{padding:12px 14px 40px}

/* Верхние четыре карточки — на 30% компактнее, как в сегодняшнем макете. */
body.gt .hub-kpi{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:10px}
body.gt .hub-kpi-card{padding:8px 13px 7px;border-radius:16px}
body.gt .hub-kpi-card .k{font-size:11px;line-height:1.35}
body.gt .hub-kpi-card .v{font-size:21px;margin-top:4px;line-height:1.05}
body.gt .hub-kpi-card .s{font-size:10.5px;margin-top:3px;line-height:1.3}
body.gt .hub-kpi-card .kpi-dyn{margin-top:3px;font-size:9px}
@media (max-width:600px){
  body.gt .hub-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}
}
body.gt .hub-kpi-card{min-height:0}
body.gt .hub-kpi-card.hub-approvals-card{display:none !important}

/* Настоящий логотип в верхней точке rail вместо заглушки «G» */
body.gt .gt-nav .brand.gt-logo{
  width:68px;height:34px;border-radius:0;background:none;box-shadow:none;
  display:flex;align-items:center;justify-content:center;overflow:visible;
}
body.gt .gt-nav .brand.gt-logo img{display:block;width:68px;height:auto;max-height:34px;object-fit:contain}
