/* ===================== BASE: reset, zmienne, typografia ===================== */

:root {
    /* Paleta LvtTrayApp — grafit + niebieski akcent */
    --bg-app: #1E1E1E;
    --bg-panel: #2D2D2D;
    --bg-elev: #3C3C3C;
    --bg-elev-hover: #4A4A4A;
    --border: #4A4A4A;
    --border-strong: #5A5A5A;

    --text-primary: #E0E0E0;
    --text-secondary: #A0A0A0;
    --text-muted: #707070;

    --accent: #0D99FF;
    --accent-hover: #3DB8FF;
    --accent-active: #0A7ACC;
    --accent-subtle: rgba(13, 153, 255, 0.12);

    --success: #4CAF50;
    --success-hover: #66BB6A;
    --warning: #FFC107;
    --warning-hover: #FFCA28;
    --danger: #E74C3C;
    --danger-hover: #EC5F4F;

    --radius-sm: 4px;
    --radius: 6px;
    --radius-lg: 10px;

    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
    --shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
    --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.5);

    --sidebar-width: 240px;
    --sidebar-collapsed-width: 60px;
    --topbar-height: 56px;
    --transition: 0.15s ease;

    --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --font-mono: "SF Mono", Menlo, Consolas, "Roboto Mono", monospace;
}

/* Reset */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { height: 100%; -webkit-text-size-adjust: 100%; }
body {
    font-family: var(--font-sans);
    background: var(--bg-app);
    color: var(--text-primary);
    font-size: 14px;
    line-height: 1.5;
    min-height: 100vh;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

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

h1, h2, h3, h4, h5, h6 { font-weight: 600; color: var(--text-primary); }
h1 { font-size: 22px; }
h2 { font-size: 18px; }
h3 { font-size: 16px; }
h4 { font-size: 14px; }

hr { border: none; border-top: 1px solid var(--border); margin: 20px 0; }

::selection { background: var(--accent); color: white; }

/* Focus visible dla dostępności */
:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
}

/* Scrollbar dark */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--bg-app); }
::-webkit-scrollbar-thumb { background: var(--border); border-radius: 5px; }
::-webkit-scrollbar-thumb:hover { background: var(--border-strong); }
