/* =====================================================================
   Theme: moderni — barevné gradient ikony v menu, jemné animace,
   bottom-nav na mobilu. Přiřadí ke každé sekci odlišný akcent,
   takže menu je barevně oddělené i v tmavém sidebaru.
   ===================================================================== */

body.theme-moderni .nav-icon {
    border-radius: 8px;
    width: 30px; height: 30px;
    display: inline-flex; align-items: center; justify-content: center;
    color: #fff; flex-shrink: 0;
    box-shadow: 0 4px 10px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.18);
    transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}
body.theme-moderni .nav-icon svg { width: 16px; height: 16px; }
body.theme-moderni .nav-link:hover .nav-icon { transform: scale(1.08); }

/* Pojmenované gradienty — laděné s primárním akcentem */
body.theme-moderni .nav-icon-blue   { background: linear-gradient(135deg, #3b82f6, #1d4ed8); box-shadow: 0 4px 12px rgba(59,130,246,.45), inset 0 1px 0 rgba(255,255,255,.2); }
body.theme-moderni .nav-icon-purple { background: linear-gradient(135deg, #8b5cf6, #6d28d9); box-shadow: 0 4px 12px rgba(139,92,246,.4), inset 0 1px 0 rgba(255,255,255,.2); }
body.theme-moderni .nav-icon-green  { background: linear-gradient(135deg, #10b981, #047857); box-shadow: 0 4px 12px rgba(16,185,129,.4), inset 0 1px 0 rgba(255,255,255,.2); }
body.theme-moderni .nav-icon-orange { background: linear-gradient(135deg, #f97316, #c2410c); box-shadow: 0 4px 12px rgba(249,115,22,.4), inset 0 1px 0 rgba(255,255,255,.2); }
body.theme-moderni .nav-icon-red    { background: linear-gradient(135deg, #ef4444, #b91c1c); box-shadow: 0 4px 12px rgba(239,68,68,.4), inset 0 1px 0 rgba(255,255,255,.2); }
body.theme-moderni .nav-icon-pink   { background: linear-gradient(135deg, #ec4899, #be185d); box-shadow: 0 4px 12px rgba(236,72,153,.4), inset 0 1px 0 rgba(255,255,255,.2); }
body.theme-moderni .nav-icon-teal   { background: linear-gradient(135deg, #14b8a6, #0f766e); box-shadow: 0 4px 12px rgba(20,184,166,.4), inset 0 1px 0 rgba(255,255,255,.2); }
body.theme-moderni .nav-icon-gray   { background: linear-gradient(135deg, #64748b, #334155); box-shadow: 0 4px 12px rgba(100,116,139,.4), inset 0 1px 0 rgba(255,255,255,.2); }

/* Aktivní položka — ikona má průhledné pozadí na bílém pruhu */
body.theme-moderni .nav-link.active .nav-icon {
    background: rgba(255,255,255,.22);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.18);
}

/* Profil tiles — alternativní gradienty, aby se vizuálně odlišily */
body.theme-moderni .profil-tile-icon { background: linear-gradient(135deg, #3b82f6, #1d4ed8); }
body.theme-moderni .profil-tile:nth-child(2n) .profil-tile-icon { background: linear-gradient(135deg, #8b5cf6, #6d28d9); box-shadow: 0 8px 18px rgba(139,92,246,.32), inset 0 1px 0 rgba(255,255,255,.2); }
body.theme-moderni .profil-tile:nth-child(3n) .profil-tile-icon { background: linear-gradient(135deg, #10b981, #047857); box-shadow: 0 8px 18px rgba(16,185,129,.32), inset 0 1px 0 rgba(255,255,255,.2); }
body.theme-moderni .profil-tile:nth-child(4n) .profil-tile-icon { background: linear-gradient(135deg, #f97316, #c2410c); box-shadow: 0 8px 18px rgba(249,115,22,.32), inset 0 1px 0 rgba(255,255,255,.2); }
body.theme-moderni .profil-tile:nth-child(5n) .profil-tile-icon { background: linear-gradient(135deg, #ec4899, #be185d); box-shadow: 0 8px 18px rgba(236,72,153,.32), inset 0 1px 0 rgba(255,255,255,.2); }

/* === Bottom nav (mobile) — glassy === */
@media (max-width: 1024px) {
    body.theme-moderni .bottom-nav {
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        position: fixed; bottom: 0; left: 0; right: 0;
        height: var(--bottom-nav-height);
        background: color-mix(in srgb, var(--surface-2) 88%, transparent);
        -webkit-backdrop-filter: saturate(180%) blur(14px);
        backdrop-filter: saturate(180%) blur(14px);
        border-top: 1px solid var(--border);
        z-index: 30;
        padding-bottom: env(safe-area-inset-bottom, 0);
        box-shadow: 0 -4px 18px rgba(0,0,0,.06);
    }
    body.theme-moderni .bottom-nav-item {
        display: flex; flex-direction: column; align-items: center; justify-content: center;
        gap: 3px; text-decoration: none; color: var(--text-muted); font-size: .68rem;
        font-weight: 600; transition: color var(--transition-fast);
        position: relative;
    }
    body.theme-moderni .bottom-nav-item.active { color: var(--brand-700); }
    :root[data-theme="dark"] body.theme-moderni .bottom-nav-item.active { color: var(--brand-300); }
    body.theme-moderni .bottom-nav-item.active::before {
        content: ''; position: absolute; top: 6px;
        width: 28px; height: 3px; border-radius: 0 0 4px 4px;
        background: linear-gradient(90deg, var(--brand-500), var(--brand-700));
    }
    body.theme-moderni .bottom-nav-item.ghost { visibility: hidden; }
    body.theme-moderni .app-main { padding-bottom: var(--bottom-nav-height); }
}

/* === Drobné animace na karty === */
body.theme-moderni .card { transition: box-shadow var(--transition), transform var(--transition), border-color var(--transition); }
body.theme-moderni .card:hover { box-shadow: var(--shadow-sm); }

body.theme-moderni .stat-card { transition: transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast); }
body.theme-moderni .stat-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-md);
    border-color: var(--brand-500);
}
