/* ═══ Reset + základná typografia ═══ */
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }

html { -webkit-text-size-adjust: 100%; }

body {
    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1.5;
    color: var(--text);
    background: var(--bg);
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4 {
    font-family: var(--font-head);
    font-weight: 600;
    line-height: 1.1;
    color: var(--text-strong);
    letter-spacing: .01em;
}

a { color: var(--accent); text-decoration: none; }
a:hover { color: var(--accent-hover); }

img { max-width: 100%; display: block; }

button, input, select, textarea { font: inherit; color: inherit; }

table { border-collapse: collapse; width: 100%; }

[hidden] { display: none !important; }

::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--bg); }
::-webkit-scrollbar-thumb { background: #242E3A; border-radius: 6px; }

:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

/* Pomocné */
.u-mono { font-variant-numeric: tabular-nums; }
.u-dim { color: var(--text-dim); }
.u-muted { color: var(--text-muted); }
.u-right { text-align: right; }
.u-nowrap { white-space: nowrap; }
.u-hide { display: none; }

.num {
    font-family: var(--font-head);
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

/* Farby stavov (text) */
.c-success { color: var(--success); }
.c-warning { color: var(--warning); }
.c-danger  { color: var(--danger); }
.c-info    { color: var(--info); }
.c-accent  { color: var(--accent); }
