/* Shared tab geometry and tab primitives. */ .tabs { display: grid; grid-template-columns: repeat(2, 1fr); border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 12px; padding: 4px; background: rgba(255, 255, 255, 0.02); } .tab-btn { border: 0; background: transparent; border-radius: 9px; padding: 8px; color: var(--text-muted); cursor: pointer; } .tab-btn.active { background: rgba(83, 216, 251, 0.16); color: var(--text); } /* ===== Shared primary topbar + upper tabs geometry (2026-08-22) ===== * «Связи» теперь монтируют header в общий topbar-slot, как остальные основные экраны. * Верхние переключатели используют один ритм и не меняют вертикальную позицию между страницами. */ :root { --app-primary-tabs-top-gap: 14px; --app-primary-tabs-gap: 8px; --app-primary-tab-min-height: 28px; } /* Общий контейнер верхних кнопок-вкладок. */ .app-top-tabs { min-height: var(--app-primary-tab-min-height); display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: var(--app-primary-tabs-gap); margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; }