/* Слой «стойка с индикаторами» поверх shell.css.
   Принцип: цвет означает только состояние (зелёный / янтарь / красный), всё остальное — сталь и графит.
   Формы прямые, радиусы 2–4 px, блоки разделены линиями, а не тенями. */

body{font-stretch:88%}                       /* Martian Mono широкий — сужаем по оси ширины; Plex Sans ось не имеет */
@media (min-width:761px){.content{padding:24px 28px 56px}}
.view{gap:16px}

/* карточки: тонкая рамка, почти прямые углы */
.card,.table-card,.stats,.hero-pill,.attn-bar,.rail-status,.pal-box,a.pcard{border-radius:4px}
.card h2,.card h3,.card-head h2{font-family:var(--mono);font-size:13px;font-weight:500;letter-spacing:-.01em;color:var(--text)}
.card-head{margin-bottom:12px}
.card-head .muted{font-family:var(--mono);font-size:11px}

/* меню */
.brand-mark{border-radius:3px;width:26px;height:26px}
.brand b{font-family:var(--mono);font-weight:600;letter-spacing:-.02em}
.rail-nav>a{border-radius:3px;min-height:38px}
.rail-nav>a.active{background:var(--panel2);box-shadow:inset 2px 0 0 var(--text)}
.rail-sub a{border-radius:3px}
.rail-search{border-radius:3px}
.sdot{width:6px;height:6px;border-radius:1px}
.cnt{font-size:11px}

/* кнопки, плашки, поля */
.btn,.btn.small,.filters button{border-radius:3px}
.chip{border-radius:2px;font-family:var(--mono);font-size:11px;padding:2px 8px}
.kbd,.rail-search kbd{border-radius:2px}

/* заголовок обзора: вывод одной строкой, моноширинный */
.view-title{font-family:var(--mono);font-size:22px;font-weight:500;letter-spacing:-.03em}
.eyebrow{font-family:var(--mono);font-size:11px}
.headline{font-family:var(--mono);font-size:22px;font-weight:500;letter-spacing:-.035em;line-height:1.3}
.hl-sub{font-size:13px;font-weight:400;letter-spacing:0}
.hero-pill{padding:8px 12px;min-width:96px}
.hero-pill .hp-v{font-size:20px}

/* цифры */
.stat-value,.pk-value,.money-value{font-weight:500;letter-spacing:-.03em}
.stat-value{font-size:24px}
.stat-label,.pk-label{font-family:var(--mono);font-size:11px}
.stats{gap:1px}
.ptable th,#srvTable th,.plist .ph{font-family:var(--mono);font-size:11px;font-weight:400;color:var(--muted)}
.ptable .num,#srvTable td,.plist .mono{font-size:12.5px}

/* лента парка: ячейки на общих линиях, индикатор-линейка по CPU */
.fleet-card{padding:0;overflow:hidden}
.fleet-card .card-head{padding:14px 18px 12px;margin:0;border-bottom:1px solid var(--line)}
.fleet-card .role-row{display:grid;grid-template-columns:84px 1fr;gap:0;align-items:stretch;margin:0;border-bottom:1px solid var(--line)}
.fleet-card .role-row:last-child{border-bottom:none}
.fleet-card .role-row>.muted{font-family:var(--mono);font-size:11px;padding:12px 0 0 18px}
.fleet{display:grid;grid-template-columns:repeat(auto-fill,minmax(124px,1fr));border-left:1px solid var(--line);align-content:start}
.fc{display:flex;flex-direction:column;gap:7px;padding:10px 11px 9px;min-width:0;border-right:1px solid var(--line);
  color:var(--text2);text-decoration:none;position:relative}
.fc:hover{background:var(--panel2);color:var(--text)}
.fleet{background:none}
.fc:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.fc-name{font-size:12px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}
.fc-meter{display:grid;grid-template-columns:repeat(20,1fr);gap:2px;height:8px}
.fc-meter i{background:color-mix(in srgb,var(--text) 9%,transparent)}
.fc-meter i.on{background:var(--accent)}
.fc-val{display:flex;justify-content:space-between;gap:6px;font-size:10.5px;color:var(--muted);white-space:nowrap}
.fc-val b{font-weight:500;color:var(--warn-fg)}
.fc.hot .fc-meter i.on{background:var(--warn)}
.fc.warn{box-shadow:inset 2px 0 0 var(--warn)}.fc.warn .fc-val{color:var(--warn-fg)}
.fc.bad{box-shadow:inset 2px 0 0 var(--bad);background:color-mix(in srgb,var(--bad) 9%,transparent)}
.fc.bad .fc-meter i.on{background:var(--bad)}.fc.bad .fc-val{color:var(--bad-fg)}.fc.bad .fc-name{color:var(--bad-fg)}

/* замечания и задачи: квадратные маркеры, ряды на линиях */
.ins-dot{width:8px;height:8px;border-radius:1px;margin-top:6px}
.ins-top b{font-weight:500}
.attn-bar,.issue{border-radius:3px}

/* столбцы трафика — ровные, тонкие, без цвета (цвет только «нет связи») */
.tr-bar{height:6px;border-radius:0;background:color-mix(in srgb,var(--text) 8%,transparent)}
.tr-bar i{border-radius:0}
.tr-row{border-radius:2px}

/* таблицы и сетки */
.tl,.tl-mark{border-radius:2px}
.matrix .mc{border-radius:2px}
.heat a,.legend i{border-radius:2px}
.pcard-empty{border-radius:3px}
.pj-tip,.drawer{border-radius:3px}
.table-card{border-radius:4px}
#srvTable tr.grp td{font-family:var(--mono);letter-spacing:0;text-transform:none;font-size:11px}

@media (max-width:760px){
  .headline{font-size:18px}
  .fleet-card .role-row{grid-template-columns:1fr}
  .fleet-card .role-row>.muted{padding:10px 18px 0}
  .fleet{border-left:none}
}

/* таблица серверов: статус — прямоугольная метка, полосы без скруглений */
.status{border-radius:2px;font-family:var(--mono);font-size:10.5px;padding:2px 7px}
.disk-track,.disk-fill{border-radius:0}
.disk-track{height:4px}
table{border-radius:4px}
.edit-input,.iface-tip:hover::after{border-radius:3px}

/* список проектов: ячейки тянутся на всю высоту ряда, иначе их линии не сходятся с линиями соседей
   (пустая ячейка заголовка была ниже остальных, у графика была фиксированная высота) */
.plist .ph{align-self:stretch}
.plist .pspark{height:auto;min-height:44px}

/* ссылки в шапках карточек: без стандартного фиолетового подчёркивания */
.card-head>a,.card-head>a:visited{font-family:var(--mono);font-size:11px;color:var(--text2);text-decoration:none;
  border-bottom:1px solid var(--line);padding-bottom:1px}
.card-head>a:hover{color:var(--text);border-bottom-color:var(--accent)}
.card-head>a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* столбец из нескольких карточек в сетке обзора */
.stack{display:flex;flex-direction:column;gap:16px;min-width:0}
.stack>:last-child{flex:1 1 auto}   /* последняя карточка столбца тянется до низа соседней — нижние края ровные */
