/* Главная хаба и экран доступов (этап 6, вариант А). Токены — из app.css. */
.hub-page{padding:36px 44px 60px;max-width:1180px;box-sizing:border-box}
.hub-page a{color:var(--accent)}
.hub-page a:hover{color:var(--ink)}
.hub-page h1{font-size:26px;font-weight:650;letter-spacing:-.02em;margin:0 0 22px}
.hub-page h2{font-size:16px;font-weight:600;margin:0}
.hub-head{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.hub-head h1{margin:0}
.hub-head .primary,.hub-head a{margin-left:auto}
.hub-lede{font-size:14px;color:var(--muted);max-width:820px;line-height:1.5;margin:0 0 18px}

/* инструменты — строками, не карточками; кнопки одного нейтрального стиля */
.hub-tools{border-top:1px solid var(--line);margin-bottom:34px}
.hub-tool{display:grid;grid-template-columns:44px minmax(0,1fr) 300px 170px;gap:18px;align-items:center;
  padding:20px 4px;border-bottom:1px solid var(--line)}
.hub-ico{width:40px;height:40px;border-radius:9px;background:var(--accent-soft);color:var(--accent);
  display:flex;align-items:center;justify-content:center}
.hub-tool .t{font-size:17px;font-weight:600}
.hub-tool .d{font-size:14px;color:var(--muted);line-height:1.45;margin-top:3px}
.hub-tool .lvl{font-size:12px;color:var(--muted);margin-top:4px}
.hub-tool .last{font-size:13px;color:var(--muted);line-height:1.5}
.hub-tool .last b{font-weight:400;color:var(--ink)}
.hub-tool .last a{text-decoration:none}
.hub-tool .last a:hover{text-decoration:underline}
.hub-tool .go{justify-self:end;text-decoration:none;font-size:14px;font-weight:550;padding:10px 16px;border-radius:8px;
  border:1px solid var(--line);background:var(--panel);color:var(--ink);white-space:nowrap}
.hub-tool .go:hover{border-color:var(--muted)}
.hub-tool.soon{color:var(--muted)}
.hub-tool.soon .hub-ico{background:var(--line);color:var(--muted)}
.hub-tool.soon .t{color:var(--muted)}

.hub-journal .hub-head{align-items:baseline;gap:10px;margin-bottom:6px}
.hub-jrow{display:grid;grid-template-columns:120px 160px minmax(0,1fr) 150px;gap:0 12px;font-size:13.5px;
  padding:9px 0;border-bottom:1px solid var(--line);align-items:baseline}
.hub-jrow a{text-decoration:none}
.hub-jrow a:hover{text-decoration:underline}
.hub-jrow .w,.hub-jrow .who{color:var(--muted)}
.hub-empty{font-size:13.5px;color:var(--muted);padding:10px 0}

/* вход */
.hub-login{max-width:380px;margin:9vh 0 0 max(44px,calc(50% - 400px))}
.hub-login-brand{display:flex;align-items:baseline;gap:8px;margin-bottom:26px}
.hub-login-brand svg{align-self:center}
.hub-login-brand b{font-size:16px;font-weight:650}
.hub-login-brand span{font-size:12px;color:var(--muted)}
.hub-login h1{margin:0 0 6px}
/* ошибка строкой: цвет ошибки, не серый .help */
.hub-err{font-size:13px;line-height:1.45;color:var(--err);margin-top:6px}
.hub-err:empty{display:none}

/* доступы */
.hub-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px;margin-bottom:6px}
.hub-check{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:13.5px;color:var(--ink)}
#accForm h2{margin-bottom:4px}
.hub-tablecard{padding:0;overflow:auto}
#accTbl th,#accTbl td{padding:10px 14px}
#accTbl td input[type=text]{padding:5px 8px;font-size:13px;min-width:150px}
#accTbl td select{padding:5px 8px;font-size:13px;width:auto;background:var(--panel)}
#accTbl select.none{color:var(--muted)}
#accTbl tr.off td{color:var(--muted)}
#accTbl .login{font-size:12px;color:var(--muted);margin-top:2px}
#accTbl td.small{white-space:nowrap}
#accTbl .warn{color:var(--warn);font-size:12.5px;white-space:nowrap;margin-top:2px}
#accTbl td.hub-empty{padding:14px}
.hub-mean{font-size:12.5px;line-height:1.45;color:var(--muted);margin-top:5px}
#accNo a{font-size:14px}
.hub-legend{margin-top:26px}
.hub-legend h2{margin-bottom:8px}
.hub-lgrid{display:grid;grid-template-columns:150px repeat(var(--cols),minmax(0,1fr));font-size:13.5px;line-height:1.45;
  border-top:1px solid var(--line)}
.hub-lgrid>div{padding:10px 16px 10px 0;border-bottom:1px solid var(--line)}
.hub-lgrid .h{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.hub-lgrid .l{font-weight:600}
.hub-lgrid .m{color:var(--muted)}
/* «Кто что менял»: строками, как журнал на главной; ярлык области - нейтральный */
.hub-changes .hub-head{align-items:baseline;gap:10px;margin-bottom:6px}
.hub-crow{display:grid;grid-template-columns:110px 150px minmax(0,1fr) 90px;gap:0 12px;font-size:13.5px;line-height:1.45;
  padding:9px 0;border-bottom:1px solid var(--line);align-items:baseline}
.hub-crow .w,.hub-crow .who{color:var(--muted)}
.hub-crow>div:last-child{justify-self:end}
.hub-tag{display:inline-block;font-size:11.5px;line-height:1.4;padding:1px 7px;border-radius:5px;
  border:1px solid var(--line);color:var(--muted);white-space:nowrap}
.hub-tool .last a.waiting{display:block;margin-top:4px;color:var(--warn)}

@media (max-width:1000px){
  .hub-tool{grid-template-columns:44px minmax(0,1fr);gap:10px 16px}
  .hub-tool .last,.hub-tool .go{grid-column:2;justify-self:start}
  .hub-jrow{grid-template-columns:100px minmax(0,1fr)}
  .hub-jrow .tool,.hub-jrow .who{display:none}
  .hub-crow{grid-template-columns:90px minmax(0,1fr) auto}
  .hub-crow .who{display:none}
  .hub-form{grid-template-columns:minmax(0,1fr)}
  .hub-page{padding:24px 16px 40px}
}

/* лимит записей за раз под уровнем (25.09.2026) */
#accTbl .lim{display:flex;align-items:center;gap:5px;margin:5px 0 0;font-size:11.5px;color:var(--muted);white-space:nowrap}
#accTbl .lim input{width:64px;padding:2px 6px;font-size:12px}
