/* fh-theme-4.2.2.css — оболочка варианта А. Только токены из fh-tokens.css. */
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--fh-cloud);color:var(--fh-ink);font:var(--fh-body);
  -webkit-text-size-adjust:100%;overflow-x:hidden}
a{color:var(--fh-signal-blue)}
a:hover{color:var(--fh-deep-blue)}
button{font:var(--fh-button);cursor:pointer}
[hidden]{display:none!important}

.fh-app{display:flex;flex-direction:column;min-height:100vh;background:var(--fh-cloud)}

/* ---------- шапка: адрес проекта слева, шестерёнка справа ---------- */
.fh-header{background:var(--fh-white);border-bottom:1px solid var(--fh-hairline);
  position:sticky;top:0;z-index:5}
.fh-header__top{display:flex;align-items:flex-start;justify-content:space-between;
  gap:var(--fh-space-2);padding:var(--fh-space-1) var(--fh-space-2) var(--fh-space-1) var(--fh-space-4)}
.fh-header__id{display:flex;align-items:flex-start;gap:10px;min-width:0;padding-top:var(--fh-space-2)}
.fh-header__mark{height:18px;width:auto;flex:none;align-self:flex-start;object-fit:contain;
  aspect-ratio:347 / 122;
  filter:brightness(0) saturate(100%) invert(9%) sepia(58%) saturate(3552%) hue-rotate(238deg) brightness(70%) contrast(108%)}
.fh-header__titles{min-width:0}
.fh-header__room{font:var(--fh-h3)}
.fh-header__address{display:inline-flex;align-items:center;min-height:var(--fh-touch-text);
  font:var(--fh-body-s);color:var(--fh-signal-blue);background:none;border:0;padding:0;text-align:left;
  text-wrap:pretty}
.fh-gear{width:var(--fh-touch);height:var(--fh-touch);flex:none;display:flex;align-items:center;
  justify-content:center;border:0;background:none;border-radius:var(--fh-radius-m)}
.fh-gear:focus-visible,.fh-header__address:focus-visible{outline:3px solid var(--fh-signal-blue);outline-offset:2px}
/* при 200% шапка встаёт в столбик */
html[data-fh-text-scale="200"] .fh-header__top{align-items:flex-start}
html[data-fh-text-scale="200"] .fh-header__id{flex-direction:column;gap:var(--fh-space-1)}
html[data-fh-text-scale="200"] .fh-header__mark{height:24px}
html[data-fh-text-scale="200"] .fh-gear{width:60px;height:60px}

/* ---------- одна глобальная навигация: верхние вкладки ---------- */
.fh-tabs{display:flex;gap:var(--fh-space-1);overflow-x:auto;scrollbar-width:none}
.fh-tabs::-webkit-scrollbar{display:none}
.fh-tab{border:0;background:var(--fh-white);color:var(--fh-ink-55);
  padding:10px var(--fh-space-3);white-space:nowrap;min-height:var(--fh-tabbar);font:600 14px/20px var(--fh-font-ui)}
.fh-tab:first-child{padding-left:var(--fh-space-4)}
.fh-tab[aria-selected="true"]{color:var(--fh-ink);border-bottom:2px solid var(--fh-signal-blue);
  padding-bottom:8px;min-height:var(--fh-tabbar);position:sticky;left:0;box-shadow:2px 0 6px rgba(255,255,255,.9)}

/* ---------- строка региона покупок ---------- */
.fh-region{display:flex;align-items:center;justify-content:space-between;gap:var(--fh-space-2);
  flex-wrap:wrap;background:var(--fh-cloud);border-bottom:1px solid var(--fh-hairline);
  padding:10px var(--fh-space-5);font:var(--fh-body-s);color:var(--fh-ink-72)}
.fh-region b{color:var(--fh-ink)}
.fh-region--mismatch{background:var(--fh-attention-bg);border-bottom-color:var(--fh-attention-line);color:var(--fh-attention-ink)}
.fh-link{background:none;border:0;padding:0;min-height:var(--fh-touch-text);display:inline-flex;
  align-items:center;font:600 13px/18px var(--fh-font-ui);color:var(--fh-signal-blue);white-space:nowrap}

/* ---------- экраны и карточки ---------- */
.fh-screen{flex:1;padding:var(--fh-space-4) var(--fh-gutter) var(--fh-space-6)}
.fh-screen--dark{background:var(--fh-deep-blue);color:var(--fh-white)}
.fh-card{background:var(--fh-white);border:1px solid var(--fh-hairline);border-radius:var(--fh-radius-xl);
  padding:var(--fh-space-4);margin-bottom:var(--fh-gap)}
.fh-card--selected{border:var(--fh-icon-stroke) solid var(--fh-signal-blue)}
.fh-card--dark{background:var(--fh-deep-blue);color:var(--fh-white);border:0}
.fh-label{font:var(--fh-label);letter-spacing:var(--fh-label-spacing);color:var(--fh-signal-blue)}
.fh-card--dark .fh-label{color:var(--fh-mist)}
.fh-h2{font:var(--fh-h2);letter-spacing:-.02em;margin:0 0 var(--fh-space-2)}
.fh-p{font:var(--fh-body-s);color:var(--fh-ink-72);margin:0}
.fh-num{font:var(--fh-num)}
.fh-num--l{font:var(--fh-num-l)}
.fh-metrics{display:flex;gap:var(--fh-space-2);margin-bottom:var(--fh-gap)}
.fh-metrics>div{flex:1;background:var(--fh-white);border:1px solid var(--fh-hairline);
  border-radius:var(--fh-radius-m);padding:10px var(--fh-space-3)}
.fh-metrics small{display:block;font:var(--fh-caption);color:var(--fh-ink-62)}

/* ---------- кнопки ---------- */
.fh-btn{min-height:var(--fh-touch);display:flex;align-items:center;justify-content:center;
  gap:var(--fh-space-2);padding:0 var(--fh-space-4);border-radius:var(--fh-radius-m);
  border:1px solid var(--fh-border);background:var(--fh-white);color:var(--fh-ink);text-decoration:none}
.fh-btn--primary{background:var(--fh-signal-blue);border-color:var(--fh-signal-blue);color:var(--fh-white)}
.fh-btn--cta{min-height:var(--fh-cta);border-radius:var(--fh-radius-l)}
.fh-btn--ghost-dark{background:none;border-color:rgba(183,201,255,.5);color:var(--fh-white)}
.fh-btn:focus-visible{outline:3px solid var(--fh-signal-blue);outline-offset:2px}
.fh-row{display:flex;gap:var(--fh-space-2)}
.fh-row>*{flex:1}
.fh-col{display:flex;flex-direction:column;gap:var(--fh-space-2)}
html[data-fh-text-scale="200"] .fh-row{flex-direction:column}

/* ---------- список выбора способа ---------- */
.fh-option{display:flex;align-items:center;gap:var(--fh-space-3);width:100%;text-align:left;
  background:var(--fh-white);border:1px solid rgba(8,9,15,.14);border-radius:var(--fh-radius-l);
  padding:var(--fh-space-3);min-height:64px;margin-bottom:10px;color:var(--fh-ink)}
.fh-option--primary{border:var(--fh-icon-stroke) solid var(--fh-signal-blue)}
.fh-option__icon{width:36px;height:36px;flex:none;border-radius:10px;display:flex;align-items:center;justify-content:center}
.fh-option__t{display:block;font:600 15px/20px var(--fh-font-ui)}
.fh-option__s{display:block;font:var(--fh-caption);color:var(--fh-ink-62)}

/* ---------- поля ---------- */
.fh-field{margin-bottom:var(--fh-space-3)}
.fh-field label{display:block;font:var(--fh-caption);color:var(--fh-ink-62);margin-bottom:var(--fh-space-1)}
.fh-field input{width:100%;min-height:var(--fh-cta);border:1px solid var(--fh-border);
  border-radius:var(--fh-radius-m);padding:0 14px;font:var(--fh-body);background:var(--fh-white);color:var(--fh-ink)}
.fh-field input:focus{outline:0;border:var(--fh-icon-stroke) solid var(--fh-signal-blue)}

/* ---------- статусы: значок + текст ---------- */
.fh-note{border-radius:var(--fh-radius-m);padding:10px var(--fh-space-3);font:var(--fh-caption);
  display:flex;gap:var(--fh-space-2);align-items:flex-start}
.fh-note--info{background:var(--fh-cloud);border:1px solid var(--fh-hairline);color:var(--fh-ink-72)}
.fh-note--demo{background:var(--fh-attention-bg);border:1px solid var(--fh-attention-line);color:var(--fh-attention-ink)}
.fh-note--unknown{background:var(--fh-cloud);border:1px dashed rgba(8,9,15,.30);color:var(--fh-ink-72)}
.fh-badge{width:22px;height:22px;flex:none;border-radius:5px;display:flex;align-items:center;
  justify-content:center;font:600 11px/1 var(--fh-font-ui);background:var(--fh-cloud);border:1px solid rgba(8,9,15,.15)}
.fh-badge--manual{background:var(--fh-attention-bg);border-color:var(--fh-attention-line);color:var(--fh-attention-ink)}
.fh-badge--stale{background:var(--fh-attention-bg);border-color:var(--fh-attention-line);color:var(--fh-attention-ink)}
.fh-badge--unknown{background:var(--fh-cloud);border:1px dashed rgba(8,9,15,.40)}
.fh-badge--legacy{background:var(--fh-critical-bg);border-color:var(--fh-critical-line);color:var(--fh-critical-ink)}

/* ---------- строки списков ---------- */
.fh-line{display:flex;justify-content:space-between;gap:var(--fh-space-3);align-items:flex-start;
  padding:10px var(--fh-space-5);border-bottom:1px solid rgba(8,9,15,.08);min-height:56px;background:var(--fh-white)}
.fh-line__main{display:flex;gap:10px;min-width:0}
.fh-line__t{font:600 14px/19px var(--fh-font-ui)}
.fh-line__s{font:var(--fh-caption);color:var(--fh-ink-62)}
.fh-line__s--attention{color:var(--fh-attention-ink)}
.fh-line__v{font:500 14px/19px var(--fh-font-mono);white-space:nowrap}
.fh-line__v--muted{font:var(--fh-caption);color:var(--fh-ink-62)}

/* ---------- паспорт цены ---------- */
.fh-passport{background:var(--fh-white);border:1px solid rgba(8,9,15,.14);border-radius:var(--fh-radius-m);
  padding:var(--fh-space-3);margin-top:10px}
.fh-passport dl{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;margin:0;font:var(--fh-caption);color:var(--fh-ink-72)}
.fh-passport dt{color:var(--fh-ink-55)}
.fh-passport dd{margin:0}
details.fh-details{background:var(--fh-white);border:1px solid rgba(8,9,15,.14);border-radius:10px;margin-top:10px}
details.fh-details>summary{min-height:var(--fh-touch);display:flex;align-items:center;padding:0 var(--fh-space-3);
  font:600 13px/18px var(--fh-font-ui);list-style:none;cursor:pointer}
details.fh-details>summary::-webkit-details-marker{display:none}
details.fh-details>div{padding:0 var(--fh-space-3) var(--fh-space-3);font:var(--fh-caption);color:var(--fh-ink-72)}

/* Заставка и главное меню — принятый вариант №3 «Пространственная сцена»,
   стили в css/fh-spatial-03.css (fh-sp-*). Прежнее управление знаком/логотипом
   этой заставки (.fh-splash / .fh-splash__mark / .fh-splash__logo, 4.2.3) удалено
   как конкурирующее — см. BUILD-REPORT, раздел «Было → исправлено». */

/* ---------- демонстрационная карта ---------- */
/* Схема .fh-map/.fh-map__* (рисованные кварталы демо-карты, js/fh-demo-map-4.2.2.js)
   удалена вместе с файлом: экран «Выбор точки на карте» теперь использует настоящий
   Leaflet 1.9.4 (css/fh-leaflet.css, js/fh-leaflet-adapter.js) — см. BUILD-REPORT-4.4. */

/* ---------- панель проверки (только для разработчика, не часть UI) ---------- */
.fh-devbar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;gap:var(--fh-space-2);
  flex-wrap:wrap;align-items:center;background:var(--fh-ink);color:var(--fh-white);
  padding:var(--fh-space-2) var(--fh-space-3);font:var(--fh-caption)}
.fh-devbar button{min-height:36px;padding:0 10px;border-radius:var(--fh-radius-s);
  border:1px solid rgba(255,255,255,.35);background:none;color:var(--fh-white);font:600 12px/1 var(--fh-font-ui)}
.fh-devbar button[aria-pressed="true"]{background:var(--fh-signal-blue);border-color:var(--fh-signal-blue)}
