/* © Элвис · Telegram: @ElvisOnlyDev · ofdev.net */
.flex { display: flex; gap: var(--space-3); align-items: center; }
.flex.wrap { flex-wrap: wrap; }
.flex.col { flex-direction: column; align-items: stretch; }
.flex.tight { gap: var(--space-2); }
.between { justify-content: space-between; }
.center { justify-content: center; }
.end { justify-content: flex-end; }
.items-start { align-items: flex-start; }
.grow { flex: 1; min-width: 0; }

.grid { display: grid; gap: var(--space-3); }

.stack > * + * { margin-top: var(--space-4); }
.stack-sm > * + * { margin-top: var(--space-2); }

.muted { color: var(--text-muted); }
.secondary { color: var(--text-secondary); }
.mono { font-family: var(--font-mono); }
.nowrap { white-space: nowrap; }
.truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tiny { font-size: 11px; }
.small { font-size: 12px; }
.strong { font-weight: 650; }
.right { text-align: right; }
.tabnum { font-variant-numeric: tabular-nums; }
.accent-text { color: var(--accent); }

.mt-0 { margin-top: 0; } .mb-0 { margin-bottom: 0; }
.mt-2 { margin-top: var(--space-2); } .mt-3 { margin-top: var(--space-3); } .mt-4 { margin-top: var(--space-4); }
.mb-2 { margin-bottom: var(--space-2); } .mb-3 { margin-bottom: var(--space-3); } .mb-4 { margin-bottom: var(--space-4); }

.hidden { display: none !important; }
.divider { height: 1px; background: var(--border); margin: var(--space-2) 0; }

.w-narrow { max-width: 90px; } .w-mid { max-width: 160px; }

.icon-inline { display: inline-flex; vertical-align: -2px; }
.icon-inline svg { width: 15px; height: 15px; }

.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
