/* ТАКТ operational typography and responsive scale. Loaded last on every shell. */
:root {
  --ui-font: Inter, "Segoe UI", Arial, sans-serif;
  --ui-text: 14px;
  --ui-meta: 12px;
  --ui-item: 15px;
  --ui-section: 18px;
  --ui-title: clamp(30px, 3.1vw, 44px);
  --ui-leading: 1.45;
}
html { font-family: var(--ui-font); font-size: 16px; text-size-adjust: 100%; -webkit-text-size-adjust: 100%; }
body { font-family: var(--ui-font); font-size: var(--ui-text); line-height: var(--ui-leading); }
button,input,select,textarea { font-family: inherit; }
.eyebrow { font-size: var(--ui-meta); line-height: 1.35; }
.admin-header h1,body:has(#app-shell:not([hidden])) .workspace-header h1 { font-size: var(--ui-title); line-height: 1.08; }
.admin-header-actions span,.sync-label,.record-count { font-size: var(--ui-meta); }
.structure-head h2,.users-head h2,.positions-head h2,.register-head h2 { font-size: var(--ui-section); line-height: 1.3; }
.structure-head p:last-child,.users-head p:last-child,.positions-head p:last-child,.register-head p { font-size: var(--ui-text); line-height: 1.5; }
.admin-filters label,.document-filters label,.document-form label { font-size: var(--ui-meta); }
.admin-filters input,.admin-filters select,.document-filters input,.document-filters select,.document-form input,.document-form select,.document-form textarea { font-size: var(--ui-text); }
.chain-position-head h2,.user-inspector>h2,.position-inspector>h2 { font-size: clamp(24px,2.3vw,32px); line-height:1.15; overflow-wrap:break-word; word-break:normal; }
.chain-section>header h3,#document-editor h2,.doc-detail h2 { font-size:var(--ui-section); line-height:1.3; }
.chain-duty-copy strong,.chain-person strong,.user-duty-copy strong { font-size:13px; }
.chain-duty-copy small,.chain-person small,.user-duty-copy small,.doc-row small,.doc-meta { font-size:var(--ui-meta); }
.positions-layout,.duties-layout { grid-template-columns:minmax(500px,.85fr) minmax(0,1.15fr); }
.users-layout { grid-template-columns:minmax(440px,.78fr) minmax(0,1.22fr); }
.document-layout,.doc-layout { grid-template-columns:minmax(500px,.9fr) minmax(0,1.1fr); }
.positions-list,.users-list,#document-list { min-width:0; overflow:auto; scrollbar-gutter:stable; }

@media (max-width:1280px) {
  .positions-layout,.duties-layout,.users-layout,.document-layout,.doc-layout { grid-template-columns:1fr; }
  .positions-list,.users-list,#document-list { max-height:min(56dvh,620px); }
}
@media (max-width:820px) {
  :root { --ui-title:32px; }
  .admin-header h1,body:has(#app-shell:not([hidden])) .workspace-header h1 { font-size:var(--ui-title); }
  .chain-position-head h2,.user-inspector>h2,.position-inspector>h2 { font-size:24px; }
}
