/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* ===== Layout + Design Tokens ===== */
.cf-layout[b-lltbxtvawm] {
    /* --- Sötétkék / Navy alap --- */
    --cf-navy: #0b1a33;
    --cf-navy-light: #132844;
    --cf-navy-medium: #1a3558;
    --cf-navy-hover: #1e3d6b;

    /* --- Felület --- */
    --cf-bg: #f0f2f5;
    --cf-surface: #ffffff;
    --cf-surface-hover: #f7f8fa;
    --cf-border: #dce1e8;
    --cf-border-light: #e8ecf1;

    /* --- Szöveg --- */
    --cf-text: #1e293b;
    --cf-text-secondary: #64748b;
    --cf-text-sidebar: #8fa3bf;
    --cf-text-sidebar-hover: #ffffff;

    /* --- Akcentus --- */
    --cf-success: #16a34a;
    --cf-success-light: #dcfce7;
    --cf-danger: #dc2626;
    --cf-danger-light: #fee2e2;

    /* --- Általános --- */
    --cf-radius: 8px;
    --cf-radius-sm: 6px;
    --cf-radius-lg: 12px;
    --cf-shadow-sm: 0 1px 2px rgba(11,26,51,.06);
    --cf-shadow: 0 2px 8px rgba(11,26,51,.08), 0 1px 2px rgba(11,26,51,.04);
    --cf-shadow-md: 0 4px 16px rgba(11,26,51,.1), 0 2px 4px rgba(11,26,51,.06);
    --cf-shadow-lg: 0 12px 40px rgba(11,26,51,.14), 0 4px 12px rgba(11,26,51,.08);
    --cf-ease: cubic-bezier(.4,0,.2,1);
    --cf-font: 'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif;
    --cf-sidebar-width-expanded: 248px;
    --cf-sidebar-width-collapsed: 68px;
    --cf-topbar-height: 60px;

    font-family: var(--cf-font);
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: var(--cf-bg);
    -webkit-font-smoothing: antialiased;
}

/* ===== Felső sáv (Navy) ===== */
.cf-topbar[b-lltbxtvawm] {
    height: var(--cf-topbar-height);
    background: var(--cf-navy);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 24px;
    position: sticky;
    top: 0;
    z-index: 100;
    box-shadow: 0 2px 12px rgba(11,26,51,.25);
}

.cf-topbar-left[b-lltbxtvawm] {
    display: flex;
    align-items: center;
    gap: 16px;
}

.cf-sidebar-toggle[b-lltbxtvawm] {
    background: none;
    border: none;
    color: var(--cf-text-sidebar);
    font-size: 1.1rem;
    cursor: pointer;
    width: 38px;
    height: 38px;
    border-radius: var(--cf-radius-sm);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .2s var(--cf-ease);
}

.cf-sidebar-toggle:hover[b-lltbxtvawm] {
    background: var(--cf-navy-hover);
    color: #ffffff;
}

.cf-brand[b-lltbxtvawm] {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    line-height: 1;
}

/* Szöveges brand a sötét navy topbaron — fehér "Alion" + zöld akcentusú "OS",
   hogy ne kelljen fehér hátterű logó képet használni. */
.cf-brand-text[b-lltbxtvawm] {
    font-size: 1.45rem;
    font-weight: 700;
    letter-spacing: 0.5px;
    color: #ffffff;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    transition: transform .25s ease;
    user-select: none;
}

.cf-brand-text-accent[b-lltbxtvawm] {
    background: linear-gradient(135deg, #10b981 0%, #34d399 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

    .cf-brand:hover .cf-brand-text[b-lltbxtvawm] {
        transform: scale(1.04);
    }

.cf-topbar-right[b-lltbxtvawm] {
    display: flex;
    align-items: center;
    gap: 12px;
}

/* ===== Aktuális cég neve középen ===== */
.cf-topbar-center[b-lltbxtvawm] {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.4rem 1rem;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: var(--cf-radius);
    color: #ffffff;
    font-size: 0.95rem;
    font-weight: 600;
    max-width: 40%;
    pointer-events: none;
}

.cf-topbar-center i[b-lltbxtvawm] {
    color: var(--cf-success);
    font-size: 0.95rem;
}

.cf-current-company[b-lltbxtvawm] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ===== Session visszaszámláló a topbar-on (JS frissíti) ===== */
.cf-session-timer[b-lltbxtvawm] {
    display: inline-flex;
    align-items: center;
    padding: 0.35rem 0.7rem;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: var(--cf-radius);
    color: #ffffff;
    font-size: 0.82rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.5px;
    transition: all 0.25s ease;
}

.cf-session-timer[b-lltbxtvawm]::before {
    content: "\f017"; /* fa-clock */
    font-family: "Font Awesome 6 Pro", "Font Awesome 5 Pro", "FontAwesome";
    font-weight: 900;
    margin-right: 0.4rem;
    color: var(--cf-success);
    font-size: 0.78rem;
}

.cf-session-timer-critical[b-lltbxtvawm] {
    background: rgba(220, 38, 38, 0.25);
    border-color: rgba(220, 38, 38, 0.5);
    animation: cf-session-pulse-b-lltbxtvawm 1.5s ease-in-out infinite;
}

.cf-session-timer-critical[b-lltbxtvawm]::before {
    color: #fca5a5;
}

@keyframes cf-session-pulse-b-lltbxtvawm {
    0%, 100% { box-shadow: 0 0 0 0 rgba(220, 38, 38, 0); }
    50% { box-shadow: 0 0 0 4px rgba(220, 38, 38, 0.25); }
}

@media (max-width: 600px) {
    .cf-session-timer[b-lltbxtvawm] {
        font-size: 0.75rem;
        padding: 0.3rem 0.55rem;
    }
}

/* ===== Felhasználó név a topbar dropdown gombjában ===== */
.cf-user-name[b-lltbxtvawm] {
    color: #ffffff;
    font-size: 0.88rem;
    font-weight: 600;
    max-width: 180px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 900px) {
    .cf-topbar-center[b-lltbxtvawm] {
        max-width: 30%;
        font-size: 0.82rem;
    }

    .cf-user-name[b-lltbxtvawm] {
        display: none;
    }
}

@media (max-width: 600px) {
    .cf-topbar-center[b-lltbxtvawm] {
        display: none;
    }
}

/* ===== Felhasználó menü ===== */
.cf-user-menu[b-lltbxtvawm] {
    position: relative;
}

.cf-user-btn[b-lltbxtvawm] {
    display: flex;
    align-items: center;
    gap: 10px;
    background: var(--cf-navy-light);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: var(--cf-radius);
    padding: 6px 14px 6px 6px;
    cursor: pointer;
    transition: all .2s var(--cf-ease);
}

.cf-user-btn:hover[b-lltbxtvawm] {
    background: var(--cf-navy-hover);
    border-color: rgba(255,255,255,.2);
    box-shadow: 0 2px 8px rgba(0,0,0,.2);
}

.cf-avatar[b-lltbxtvawm] {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: var(--cf-success);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: .8rem;
    font-weight: 700;
    box-shadow: 0 2px 6px rgba(22,163,74,.3);
}

.cf-chevron[b-lltbxtvawm] {
    font-size: .6rem;
    color: var(--cf-text-sidebar);
    transition: transform .2s var(--cf-ease);
}

.cf-chevron.open[b-lltbxtvawm] {
    transform: rotate(180deg);
}

/* ===== Dropdown ===== */
.cf-dropdown[b-lltbxtvawm] {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    min-width: 200px;
    /* A leghosszabb menüpontnál se törjön sortörés (pl. "NAV Online Számla" + lakat) */
    width: max-content;
    background: var(--cf-surface);
    border: 1px solid var(--cf-border);
    border-radius: var(--cf-radius-lg);
    box-shadow: var(--cf-shadow-lg);
    padding: 6px;
    z-index: 200;
    animation: dropdownIn-b-lltbxtvawm .18s var(--cf-ease);
}

@keyframes dropdownIn-b-lltbxtvawm {
    from { opacity: 0; transform: translateY(-8px) scale(.97); }
    to   { opacity: 1; transform: translateY(0) scale(1); }
}

.cf-dropdown-item[b-lltbxtvawm] {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 10px 14px;
    border: none;
    background: none;
    border-radius: var(--cf-radius-sm);
    font-size: .875rem;
    font-weight: 500;
    color: var(--cf-text);
    cursor: pointer;
    transition: all .15s var(--cf-ease);
    /* A menüpont szövege (és a mellette álló lakat) ne törjön külön sorba */
    white-space: nowrap;
    text-align: left;
}

.cf-dropdown-item > span[b-lltbxtvawm] {
    /* Ha valamiért mégis szűk lenne a hely, akkor szöveget ne törjön sorba */
    white-space: nowrap;
    flex: 1 1 auto;
}

.cf-dropdown-item > i[b-lltbxtvawm] {
    /* Az ikonok (kuka, lakat, stb.) sose zsugorodjanak, mert akkor a szöveg eltolódhat */
    flex: 0 0 auto;
}

.cf-dropdown-item:hover[b-lltbxtvawm] {
    background: var(--cf-surface-hover);
}

.cf-dropdown-item.cf-logout[b-lltbxtvawm] {
    color: var(--cf-danger);
}

.cf-dropdown-item.cf-logout:hover[b-lltbxtvawm] {
    background: var(--cf-danger-light);
}

.cf-dropdown-divider[b-lltbxtvawm] {
    height: 1px;
    background: var(--cf-border-light);
    margin: 4px 8px;
}

/* ===== Tartalom wrapper ===== */
.cf-content-wrapper[b-lltbxtvawm] {
    display: flex;
    flex: 1;
    min-height: calc(100vh - var(--cf-topbar-height));
}

/* ===== Oldalsáv (Navy) ===== */
.cf-sidebar[b-lltbxtvawm] {
    background: var(--cf-navy);
    display: flex;
    flex-direction: column;
    transition: width .25s var(--cf-ease);
    overflow: hidden;
    position: sticky;
    top: var(--cf-topbar-height);
    height: calc(100vh - var(--cf-topbar-height));
    z-index: 50;
    box-shadow: 2px 0 12px rgba(11,26,51,.15);
}

.cf-sidebar.expanded[b-lltbxtvawm] {
    width: var(--cf-sidebar-width-expanded);
}

.cf-sidebar.collapsed[b-lltbxtvawm] {
    width: var(--cf-sidebar-width-collapsed);
}

/* Collapsed állapotban hover-re kinyílik */
.cf-sidebar.collapsed:hover[b-lltbxtvawm] {
    width: var(--cf-sidebar-width-expanded);
}

/* Label szövegek — collapsed-ben rejtve, expanded-ben vagy hover-nél látható */
.cf-nav-label[b-lltbxtvawm] {
    overflow: hidden;
    white-space: nowrap;
    opacity: 1;
    transition: opacity .2s var(--cf-ease);
}

.cf-sidebar.collapsed .cf-nav-label[b-lltbxtvawm] {
    opacity: 0;
    width: 0;
    pointer-events: none;
}

.cf-sidebar.collapsed:hover .cf-nav-label[b-lltbxtvawm] {
    opacity: 1;
    width: auto;
    pointer-events: auto;
}

/* Almenü elemek — collapsed-ben rejtve, hover-re megjelennek */
.cf-sidebar.collapsed .cf-nav-sub[b-lltbxtvawm] {
    display: none;
}

.cf-sidebar.collapsed:hover .cf-nav-sub[b-lltbxtvawm] {
    display: flex;
}

/* ===== Navigáció ===== */
.cf-nav[b-lltbxtvawm] {
    display: flex;
    flex-direction: column;
    padding: 16px 10px;
    gap: 2px;
}

.cf-nav-item[b-lltbxtvawm] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 11px 14px;
    border: none;
    background: none;
    border-radius: var(--cf-radius);
    color: var(--cf-text-sidebar);
    font-size: .875rem;
    font-weight: 500;
    cursor: pointer;
    transition: all .2s var(--cf-ease);
    white-space: nowrap;
    text-align: left;
    width: 100%;
    position: relative;
}

.cf-nav-item i[b-lltbxtvawm] {
    font-size: 1.1rem;
    width: 24px;
    text-align: center;
    flex-shrink: 0;
}

.cf-nav-item:hover[b-lltbxtvawm] {
    background: var(--cf-navy-hover);
    color: var(--cf-text-sidebar-hover);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.05);
}

.cf-nav-item.active[b-lltbxtvawm] {
    background: var(--cf-navy-medium);
    color: #ffffff;
    box-shadow: inset 3px 0 0 0 var(--cf-success);
}

/* --- Almenü elemek --- */
.cf-nav-sub[b-lltbxtvawm] {
    padding-left: 52px;
    font-size: .825rem;
}

.cf-nav-sub i[b-lltbxtvawm] {
    font-size: .95rem;
}

/* --- Zárolt menüpont (nem elérhető a jelenlegi csomagban) --- */
.cf-nav-item.cf-nav-locked[b-lltbxtvawm] {
    opacity: .55;
    position: relative;
}

.cf-nav-item.cf-nav-locked:hover[b-lltbxtvawm] {
    background: rgba(220, 38, 38, .08);
    color: var(--cf-text-sidebar-hover);
    opacity: .75;
}

.cf-nav-lock[b-lltbxtvawm] {
    margin-left: auto;
    font-size: .85rem !important;
    color: #f59e0b;
    opacity: .9;
}

.cf-nav-divider[b-lltbxtvawm] {
    height: 1px;
    background: rgba(255,255,255,.06);
    margin: 10px 14px;
}

/* ===== Fő tartalom ===== */
.cf-main[b-lltbxtvawm] {
    flex: 1;
    padding: 28px;
    min-width: 0;
    overflow-y: auto;
}

/* ===== Reszponzív ===== */
@media (max-width: 768px) {
    .cf-sidebar[b-lltbxtvawm] {
        position: fixed;
        top: var(--cf-topbar-height);
        left: 0;
        height: calc(100vh - var(--cf-topbar-height));
        z-index: 90;
    }

    .cf-sidebar.collapsed[b-lltbxtvawm] {
        width: 0;
    }

    .cf-sidebar.expanded[b-lltbxtvawm] {
        width: var(--cf-sidebar-width-expanded);
        box-shadow: 4px 0 24px rgba(11,26,51,.3);
    }

    .cf-main[b-lltbxtvawm] {
        padding: 16px;
    }

    .cf-topbar[b-lltbxtvawm] {
        padding: 0 16px;
    }
}

/* ===== Megszemélyesítés figyelmeztető sáv ===== */
.cf-impersonation-bar[b-lltbxtvawm] {
    background: linear-gradient(90deg, #dc2626 0%, #b91c1c 100%);
    color: #ffffff;
    padding: 0;
    z-index: 1100;
    box-shadow: 0 2px 8px rgba(185, 28, 28, 0.3);
}

.cf-impersonation-inner[b-lltbxtvawm] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 8px 20px;
    font-size: 0.88rem;
    font-weight: 500;
}

.cf-impersonation-inner i:first-child[b-lltbxtvawm] {
    font-size: 1.2rem;
}

.cf-impersonation-stop[b-lltbxtvawm] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 14px;
    margin-left: 12px;
    background: rgba(255, 255, 255, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.4);
    border-radius: 6px;
    color: #ffffff;
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s;
}

.cf-impersonation-stop:hover[b-lltbxtvawm] {
    background: rgba(255, 255, 255, 0.35);
}

/* ===== Session timeout figyelmeztetés modal ===== */
.cf-session-warning-overlay[b-lltbxtvawm] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.6);
    backdrop-filter: blur(4px);
    z-index: 3000;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: cf-warning-fade-b-lltbxtvawm 0.2s ease-out;
}

@keyframes cf-warning-fade-b-lltbxtvawm {
    from { opacity: 0; }
    to { opacity: 1; }
}

.cf-session-warning-modal[b-lltbxtvawm] {
    background: #ffffff;
    border-radius: 16px;
    padding: 32px;
    max-width: 420px;
    width: 90%;
    text-align: center;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.3);
}

.cf-session-warning-icon[b-lltbxtvawm] {
    margin-bottom: 16px;
}

.cf-session-warning-icon i[b-lltbxtvawm] {
    font-size: 3rem;
    color: #d97706;
}

.cf-session-warning-title[b-lltbxtvawm] {
    margin: 0 0 8px 0;
    font-size: 1.25rem;
    font-weight: 700;
    color: #0f172a;
}

.cf-session-warning-text[b-lltbxtvawm] {
    margin: 0 0 24px 0;
    color: #64748b;
    font-size: 0.92rem;
    line-height: 1.5;
}

.cf-session-warning-actions[b-lltbxtvawm] {
    display: flex;
    gap: 12px;
    justify-content: center;
}

.cf-session-warning-btn[b-lltbxtvawm] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    border-radius: 8px;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    border: none;
    transition: background 0.15s, transform 0.1s;
}

.cf-session-warning-btn:active[b-lltbxtvawm] {
    transform: translateY(1px);
}

.cf-session-warning-btn-extend[b-lltbxtvawm] {
    background: linear-gradient(135deg, #1e3a8a, #0f172a);
    color: #ffffff;
    box-shadow: 0 2px 8px rgba(30, 58, 138, 0.25);
}

.cf-session-warning-btn-extend:hover[b-lltbxtvawm] {
    background: linear-gradient(135deg, #1e40af, #1e3a8a);
}

.cf-session-warning-btn-logout[b-lltbxtvawm] {
    background: #f1f5f9;
    color: #334155;
    border: 1px solid #cbd5e1;
}

.cf-session-warning-btn-logout:hover[b-lltbxtvawm] {
    background: #e2e8f0;
    color: #0f172a;
}
/* /Components/Pages/Account/AccountComponent.razor.rz.scp.css */
/* ===== Account oldal ===== */
.acc-container[b-a85dfdfskh] { padding: 0; }

.acc-header[b-a85dfdfskh] { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.5rem; }
.acc-header-left[b-a85dfdfskh] { display: flex; align-items: center; gap: 0.6rem; }
.acc-header-left i[b-a85dfdfskh] { font-size: 1.5rem; color: #1a3558; }
.acc-title[b-a85dfdfskh] { margin: 0; font-size: 1.3rem; font-weight: 800; color: #0b1a33; }

/* Grid */
.acc-grid[b-a85dfdfskh] { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.25rem; }

/* Kártyák */
.acc-card[b-a85dfdfskh] { background: #fff; border: 1px solid #e2e8f0; border-radius: 14px; overflow: hidden; box-shadow: 0 2px 8px rgba(11,26,51,0.06); }
.acc-card-header[b-a85dfdfskh] { display: flex; align-items: center; gap: 0.5rem; padding: 1rem 1.25rem; background: #f8fafc; border-bottom: 1px solid #e2e8f0; font-size: 0.9rem; font-weight: 700; color: #1e293b; }
.acc-card-header i[b-a85dfdfskh] { font-size: 1.15rem; color: #1a3558; }

/* Csomag kártya */
.acc-plan-card[b-a85dfdfskh] { border-color: #1a3558; border-width: 2px; }
.acc-plan-body[b-a85dfdfskh] { display: flex; align-items: center; justify-content: space-between; padding: 1.25rem 1.25rem 0.75rem; }
.acc-plan-name[b-a85dfdfskh] { font-size: 1.8rem; font-weight: 900; color: #0b1a33; }
.acc-plan-badge[b-a85dfdfskh] { display: inline-flex; align-items: center; padding: 0.3rem 0.85rem; border-radius: 20px; font-size: 0.75rem; font-weight: 700; color: #fff; text-transform: uppercase; letter-spacing: 0.5px; }

.acc-plan-details[b-a85dfdfskh] { padding: 0 1.25rem 1rem; display: flex; flex-direction: column; gap: 0.5rem; }

.acc-upgrade-btn[b-a85dfdfskh] { display: flex; align-items: center; justify-content: center; gap: 0.45rem; width: calc(100% - 2.5rem); margin: 0 1.25rem 1.25rem; padding: 0.65rem 1rem; border: none; border-radius: 8px; background: linear-gradient(135deg, #0b1a33 0%, #1a3558 100%); color: #fff; font-size: 0.88rem; font-weight: 700; cursor: pointer; transition: all 0.2s ease; box-shadow: 0 2px 8px rgba(11,26,51,0.2); }
.acc-upgrade-btn:hover[b-a85dfdfskh] { box-shadow: 0 4px 16px rgba(11,26,51,0.3); transform: translateY(-1px); }

/* Részlet sorok */
.acc-detail-row[b-a85dfdfskh] { display: flex; align-items: center; justify-content: space-between; padding: 0.5rem 0; }
.acc-detail-label[b-a85dfdfskh] { font-size: 0.8rem; font-weight: 600; color: #64748b; }
.acc-detail-value[b-a85dfdfskh] { font-size: 0.85rem; font-weight: 600; color: #1e293b; }

/* Limitek */
.acc-limits[b-a85dfdfskh] { padding: 1rem 1.25rem; display: flex; flex-direction: column; gap: 0.35rem; }
.acc-limit-row[b-a85dfdfskh] { display: flex; align-items: center; justify-content: space-between; padding: 0.4rem 0; }
.acc-limit-label[b-a85dfdfskh] { font-size: 0.8rem; color: #475569; }
.acc-limit-value[b-a85dfdfskh] { font-size: 0.82rem; font-weight: 700; color: #1e293b; }
.acc-limit-divider[b-a85dfdfskh] { height: 1px; background: #e2e8f0; margin: 0.5rem 0; }

/* Feature sorok */
.acc-feature-row[b-a85dfdfskh] { display: flex; align-items: center; gap: 0.5rem; padding: 0.3rem 0; font-size: 0.8rem; color: #475569; }
.acc-feat-on[b-a85dfdfskh] { color: #16a34a; }
.acc-feat-off[b-a85dfdfskh] { color: #cbd5e1; }

/* Számlázás */
.acc-billing[b-a85dfdfskh] { padding: 1rem 1.25rem; display: flex; flex-direction: column; gap: 0.65rem; }
.acc-billing-display[b-a85dfdfskh] { display: flex; align-items: center; gap: 0.5rem; }
.acc-billing-edit-btn[b-a85dfdfskh] { display: flex; align-items: center; justify-content: center; width: 26px; height: 26px; border: none; border-radius: 6px; background: transparent; color: #94a3b8; cursor: pointer; font-size: 0.8rem; }
.acc-billing-edit-btn:hover[b-a85dfdfskh] { background: #f1f5f9; color: #1a3558; }
.acc-billing-edit[b-a85dfdfskh] { display: flex; align-items: center; gap: 0.4rem; }
.acc-billing-input[b-a85dfdfskh] { padding: 0.35rem 0.6rem; border: 1px solid #cbd5e1; border-radius: 6px; font-size: 0.82rem; outline: none; min-width: 200px; }
.acc-billing-input:focus[b-a85dfdfskh] { border-color: #1a3558; box-shadow: 0 0 0 2px rgba(26,53,88,0.1); }
.acc-billing-save[b-a85dfdfskh] { display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; border: none; border-radius: 6px; background: #16a34a; color: #fff; cursor: pointer; font-size: 0.8rem; }
.acc-billing-cancel[b-a85dfdfskh] { display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; border: 1px solid #cbd5e1; border-radius: 6px; background: #fff; color: #64748b; cursor: pointer; font-size: 0.8rem; }

.acc-coming-soon[b-a85dfdfskh] { color: #94a3b8 !important; font-style: italic; display: flex; align-items: center; gap: 0.3rem; font-weight: 500 !important; }
.acc-coming-soon i[b-a85dfdfskh] { font-size: 0.85rem; }

/* Fizetés placeholder */
.acc-payment-card[b-a85dfdfskh] { }
.acc-payment-placeholder[b-a85dfdfskh] { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 2rem 1.25rem; }
.acc-payment-icon[b-a85dfdfskh] { width: 64px; height: 64px; border-radius: 16px; background: #f0f4f8; display: flex; align-items: center; justify-content: center; margin-bottom: 1rem; }
.acc-payment-icon i[b-a85dfdfskh] { font-size: 2rem; color: #94a3b8; }
.acc-payment-placeholder h4[b-a85dfdfskh] { margin: 0 0 0.5rem; font-size: 1rem; font-weight: 700; color: #1e293b; }
.acc-payment-placeholder p[b-a85dfdfskh] { margin: 0 0 1.25rem; font-size: 0.82rem; color: #64748b; max-width: 280px; }
.acc-payment-badges[b-a85dfdfskh] { display: flex; gap: 0.5rem; flex-wrap: wrap; justify-content: center; }
.acc-payment-badge[b-a85dfdfskh] { display: flex; align-items: center; gap: 0.3rem; padding: 0.35rem 0.7rem; border-radius: 6px; background: #f0f4f8; border: 1px solid #e2e8f0; font-size: 0.72rem; font-weight: 600; color: #475569; }

/* Loading */
.acc-loading[b-a85dfdfskh] { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1rem; padding: 4rem; }

/* Reszponzív */
@media (max-width: 900px) {
    .acc-grid[b-a85dfdfskh] { grid-template-columns: 1fr; }
}
/* /Components/Pages/Admin/SubscriptionPlanAdminComponent.razor.rz.scp.css */
/* Admin felület: előfizetési csomag konfiguráció — navy/fehér enterprise megjelenés */

.sp-container[b-am1awu7bor] {
    max-width: 1400px;
    margin: 0 auto;
    padding: 24px;
}

.sp-header[b-am1awu7bor] {
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 2px solid #e5e7eb;
}

.sp-title[b-am1awu7bor] {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 1.5rem;
    font-weight: 600;
    color: #0f172a;
    margin: 0 0 6px 0;
}

.sp-title i[b-am1awu7bor] {
    color: #1e3a8a;
    font-size: 1.6rem;
}

.sp-subtitle[b-am1awu7bor] {
    color: #64748b;
    margin: 0;
    font-size: 0.95rem;
}

.sp-no-access[b-am1awu7bor] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 48px;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 8px;
    color: #991b1b;
}

.sp-no-access i[b-am1awu7bor] {
    font-size: 2.5rem;
}

.sp-loading[b-am1awu7bor] {
    display: flex;
    justify-content: center;
    padding: 64px;
}

.sp-empty[b-am1awu7bor] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 48px;
    color: #64748b;
}

.sp-empty i[b-am1awu7bor] {
    font-size: 2.5rem;
}

/* Kártyák (csomagok) */
.sp-cards[b-am1awu7bor] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(420px, 1fr));
    gap: 24px;
}

.sp-card[b-am1awu7bor] {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.04), 0 8px 16px rgba(15, 23, 42, 0.06);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.sp-card-header[b-am1awu7bor] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18px 20px;
    background: linear-gradient(135deg, #1e3a8a 0%, #0f172a 100%);
    color: #ffffff;
}

.sp-card-title-block[b-am1awu7bor] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.sp-card-icon[b-am1awu7bor] {
    font-size: 1.6rem;
    color: #cbd5f5;
}

.sp-card-title[b-am1awu7bor] {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 600;
}

.sp-card-code[b-am1awu7bor] {
    font-size: 0.8rem;
    color: #cbd5f5;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.sp-badge[b-am1awu7bor] {
    padding: 4px 10px;
    border-radius: 12px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
}

.sp-badge-active[b-am1awu7bor] {
    background: #dcfce7;
    color: #166534;
}

.sp-badge-inactive[b-am1awu7bor] {
    background: #fee2e2;
    color: #991b1b;
}

.sp-card-body[b-am1awu7bor] {
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.sp-section[b-am1awu7bor] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.sp-section-title[b-am1awu7bor] {
    font-size: 0.95rem;
    font-weight: 600;
    color: #1e3a8a;
    margin: 0;
    padding-bottom: 6px;
    border-bottom: 1px solid #e5e7eb;
}

.sp-section-hint[b-am1awu7bor] {
    font-size: 0.8rem;
    color: #64748b;
    margin: 0;
    font-style: italic;
}

.sp-form-grid[b-am1awu7bor] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 12px;
}

.sp-form-field[b-am1awu7bor] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.sp-form-field label[b-am1awu7bor] {
    font-size: 0.8rem;
    font-weight: 500;
    color: #334155;
}

.sp-input[b-am1awu7bor] {
    padding: 8px 10px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    font-size: 0.9rem;
    background: #ffffff;
    color: #0f172a;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.sp-input:focus[b-am1awu7bor] {
    outline: none;
    border-color: #1e3a8a;
    box-shadow: 0 0 0 3px rgba(30, 58, 138, 0.15);
}

.sp-form-field-toggle[b-am1awu7bor] {
    justify-content: flex-end;
}

.sp-toggle-label[b-am1awu7bor] {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-size: 0.9rem;
    color: #0f172a;
    padding: 6px 0;
}

.sp-toggle-label input[type="checkbox"][b-am1awu7bor] {
    width: 18px;
    height: 18px;
    accent-color: #1e3a8a;
    cursor: pointer;
}

.sp-form-field-highlight label[b-am1awu7bor] {
    color: #1e3a8a;
    font-weight: 700;
}

.sp-form-field-highlight input[b-am1awu7bor] {
    border-color: #1e3a8a;
    background: #eff6ff;
}

.sp-features-grid[b-am1awu7bor] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 8px;
}

.sp-feature[b-am1awu7bor] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 8px;
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.88rem;
    color: #0f172a;
    transition: background 0.15s;
}

.sp-feature:hover[b-am1awu7bor] {
    background: #f1f5f9;
}

.sp-feature input[type="checkbox"][b-am1awu7bor] {
    width: 16px;
    height: 16px;
    accent-color: #16a34a;
    cursor: pointer;
}

.sp-card-footer[b-am1awu7bor] {
    padding: 16px 20px;
    background: #f8fafc;
    border-top: 1px solid #e5e7eb;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

.sp-btn[b-am1awu7bor] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 6px;
    font-size: 0.9rem;
    font-weight: 500;
    cursor: pointer;
    border: none;
    transition: background 0.15s, transform 0.1s;
}

.sp-btn-primary[b-am1awu7bor] {
    background: #1e3a8a;
    color: #ffffff;
}

.sp-btn-primary:hover:not(:disabled)[b-am1awu7bor] {
    background: #1e40af;
}

.sp-btn-primary:active:not(:disabled)[b-am1awu7bor] {
    transform: translateY(1px);
}

.sp-btn:disabled[b-am1awu7bor] {
    opacity: 0.6;
    cursor: not-allowed;
}

/* ===== Fülek ===== */
.sp-tabs[b-am1awu7bor] {
    display: flex;
    gap: 4px;
    border-bottom: 2px solid #e2e8f0;
    margin-bottom: 20px;
    overflow-x: auto;
}

.sp-tab[b-am1awu7bor] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 18px;
    border: none;
    background: transparent;
    color: #475569;
    font-size: 0.95rem;
    font-weight: 500;
    cursor: pointer;
    border-bottom: 3px solid transparent;
    margin-bottom: -2px;
    transition: color 0.15s, border-color 0.15s, background 0.15s;
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
}

.sp-tab:hover[b-am1awu7bor] {
    background: #f1f5f9;
    color: #1e3a8a;
}

.sp-tab-active[b-am1awu7bor] {
    color: #1e3a8a;
    border-bottom-color: #1e3a8a;
    background: #f8fafc;
    font-weight: 600;
}

.sp-tab i[b-am1awu7bor] {
    font-size: 1.05rem;
}

.sp-tab-badge[b-am1awu7bor] {
    background: #1e3a8a;
    color: #ffffff;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 10px;
    min-width: 20px;
    text-align: center;
}

/* ===== Belépett felhasználók összesítő ===== */
.sp-au-summary[b-am1awu7bor] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
    flex-wrap: wrap;
}

.sp-au-summary-card[b-am1awu7bor] {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 20px;
    background: linear-gradient(135deg, #1e3a8a 0%, #0f172a 100%);
    color: #ffffff;
    border-radius: 10px;
    box-shadow: 0 4px 10px rgba(15, 23, 42, 0.08);
    min-width: 260px;
}

.sp-au-summary-card i[b-am1awu7bor] {
    font-size: 2rem;
    color: #cbd5f5;
}

.sp-au-summary-card > div[b-am1awu7bor] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.sp-au-summary-label[b-am1awu7bor] {
    font-size: 0.8rem;
    color: #cbd5f5;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.sp-au-summary-value[b-am1awu7bor] {
    font-size: 1.75rem;
    font-weight: 700;
    line-height: 1;
}

.sp-btn-secondary[b-am1awu7bor] {
    background: #ffffff;
    color: #1e3a8a;
    border: 1px solid #cbd5e1;
}

.sp-btn-secondary:hover:not(:disabled)[b-am1awu7bor] {
    background: #f1f5f9;
    border-color: #1e3a8a;
}

/* ===== Belépett felhasználók táblázat ===== */
.sp-au-table-wrapper[b-am1awu7bor] {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    overflow-x: auto;
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.04);
}

.sp-au-table[b-am1awu7bor] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
}

.sp-au-table thead[b-am1awu7bor] {
    background: #f8fafc;
    border-bottom: 2px solid #e2e8f0;
}

.sp-au-table thead th[b-am1awu7bor] {
    padding: 12px 16px;
    text-align: left;
    font-weight: 600;
    color: #1e3a8a;
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.04em;
}

.sp-au-table tbody tr[b-am1awu7bor] {
    border-bottom: 1px solid #f1f5f9;
    transition: background 0.15s;
}

.sp-au-table tbody tr:hover[b-am1awu7bor] {
    background: #f8fafc;
}

.sp-au-table tbody td[b-am1awu7bor] {
    padding: 12px 16px;
    color: #0f172a;
    vertical-align: middle;
}

.sp-au-name[b-am1awu7bor] {
    font-weight: 600;
    color: #0f172a;
}

.sp-au-username[b-am1awu7bor] {
    margin-left: 6px;
    color: #64748b;
    font-size: 0.82rem;
}

.sp-au-empty[b-am1awu7bor] {
    color: #94a3b8;
    font-style: italic;
}

/* Admin menüpont kiemelt stílus a jobb felső dropdown-ban */
[b-am1awu7bor] .cf-dropdown-admin {
    border-left: 3px solid #1e3a8a !important;
    background: rgba(30, 58, 138, 0.04) !important;
}

[b-am1awu7bor] .cf-dropdown-admin i {
    color: #1e3a8a !important;
}

/* ===== Megszemélyesítés fül ===== */

.sp-imp-header[b-am1awu7bor] {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-bottom: 18px;
}

.sp-imp-info[b-am1awu7bor] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    color: #1e3a8a;
    font-size: 0.88rem;
}

.sp-imp-info i[b-am1awu7bor] {
    font-size: 1.2rem;
    flex-shrink: 0;
}

.sp-imp-search-row[b-am1awu7bor] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.sp-imp-search[b-am1awu7bor] {
    flex: 1;
    position: relative;
    display: flex;
    align-items: center;
}

.sp-imp-search > i[b-am1awu7bor] {
    position: absolute;
    left: 12px;
    color: #94a3b8;
    font-size: 1rem;
    pointer-events: none;
}

.sp-imp-search-input[b-am1awu7bor] {
    padding-left: 36px !important;
    width: 100%;
}

.sp-btn-impersonate[b-am1awu7bor] {
    background: #1e3a8a;
    color: #ffffff;
    font-size: 0.82rem;
    padding: 6px 14px;
}

.sp-btn-impersonate:hover:not(:disabled)[b-am1awu7bor] {
    background: #1e40af;
}

.sp-btn-impersonate:disabled[b-am1awu7bor] {
    opacity: 0.5;
    cursor: not-allowed;
}

.sp-imp-row-self[b-am1awu7bor] {
    background: #f8fafc;
}

.sp-imp-self-label[b-am1awu7bor] {
    font-size: 0.8rem;
    font-weight: 600;
    color: #64748b;
    font-style: italic;
}

/* Email megerősítés állapot jelzők */

.sp-email-confirmed[b-am1awu7bor] {
    color: #16a34a;
    font-size: 1.2rem;
}

.sp-email-not-confirmed[b-am1awu7bor] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #d97706;
    font-size: 1.1rem;
}

.sp-btn-resend-email[b-am1awu7bor] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 6px;
    color: #1e3a8a;
    font-size: 0.85rem;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s;
}

.sp-btn-resend-email:hover[b-am1awu7bor] {
    background: #dbeafe;
    border-color: #1e3a8a;
}

/* ===== Force Logout gomb ===== */

.sp-btn-force-logout[b-am1awu7bor] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 6px;
    color: #dc2626;
    font-size: 0.95rem;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s, color 0.15s;
}

.sp-btn-force-logout:hover[b-am1awu7bor] {
    background: #fee2e2;
    border-color: #dc2626;
    color: #991b1b;
}

/* ===== Audit log szűrő sor ===== */

.sp-audit-filter-row[b-am1awu7bor] {
    display: flex;
    align-items: flex-end;
    gap: 14px;
    margin-bottom: 18px;
    flex-wrap: wrap;
    padding: 16px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
}

.sp-audit-filter-row .sp-form-field[b-am1awu7bor] {
    min-width: 160px;
}

.sp-audit-filter-actions[b-am1awu7bor] {
    display: flex;
    gap: 8px;
    align-items: flex-end;
    padding-bottom: 2px;
}

/* Audit log akció badge */

.sp-audit-action-badge[b-am1awu7bor] {
    display: inline-block;
    padding: 3px 10px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 12px;
    font-size: 0.78rem;
    font-weight: 600;
    color: #1e3a8a;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

/* Audit log IP cím */

.sp-audit-ip[b-am1awu7bor] {
    font-family: 'Consolas', 'Courier New', monospace;
    font-size: 0.82rem;
    color: #64748b;
}

/* ===== Szűrő chipek ===== */

.sp-imp-filter-row[b-am1awu7bor] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.sp-chip-group[b-am1awu7bor] {
    display: flex;
    gap: 6px;
}

.sp-chip[b-am1awu7bor] {
    display: inline-flex;
    align-items: center;
    padding: 6px 14px;
    border-radius: 16px;
    font-size: 0.82rem;
    font-weight: 500;
    cursor: pointer;
    border: 1px solid #cbd5e1;
    background: #ffffff;
    color: #475569;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
}

.sp-chip:hover[b-am1awu7bor] {
    background: #f1f5f9;
    border-color: #1e3a8a;
    color: #1e3a8a;
}

.sp-chip-active[b-am1awu7bor] {
    background: #1e3a8a;
    color: #ffffff;
    border-color: #1e3a8a;
}

.sp-chip-active:hover[b-am1awu7bor] {
    background: #1e40af;
    color: #ffffff;
    border-color: #1e40af;
}

/* ===== Rendezhető oszlopfejléc ===== */

.sp-sort-header[b-am1awu7bor] {
    cursor: pointer;
    user-select: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.sp-sort-header:hover[b-am1awu7bor] {
    color: #1e40af;
}

.sp-sort-header i[b-am1awu7bor] {
    font-size: 0.85rem;
}
/* /Components/Pages/Alerts/AlertsComponent.razor.rz.scp.css */
/* ===== Container ===== */
.al-container[b-cxdh6t5u58] {
    max-width: 1200px;
    margin: 0 auto;
    padding: 24px;
}

/* ===== Fejléc ===== */
.al-header[b-cxdh6t5u58] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 24px;
}

.al-header-left[b-cxdh6t5u58] {
    flex: 1;
}

.al-title[b-cxdh6t5u58] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 6px 0;
    font-size: 22px;
    color: #0f2444;
    font-weight: 700;
}

.al-title i[b-cxdh6t5u58] {
    color: #0f2444;
    font-size: 24px;
}

.al-subtitle[b-cxdh6t5u58] {
    margin: 0;
    color: #64748b;
    font-size: 13px;
}

.al-mark-all-btn[b-cxdh6t5u58] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    background: #fff;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    color: #0f2444;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.15s, border-color 0.15s;
}

.al-mark-all-btn:hover[b-cxdh6t5u58] {
    background: #0f2444;
    border-color: #0f2444;
    color: #fff;
}

/* ===== Loading ===== */
.al-loading[b-cxdh6t5u58] {
    display: flex;
    justify-content: center;
    padding: 80px 0;
}

/* ===== Szűrők ===== */
.al-filter-row[b-cxdh6t5u58] {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    padding: 16px 20px;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    margin-bottom: 16px;
}

.al-filter-group[b-cxdh6t5u58] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.al-filter-label[b-cxdh6t5u58] {
    font-size: 11px;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    font-weight: 600;
}

.al-chip-group[b-cxdh6t5u58] {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 6px;
}

.al-chip[b-cxdh6t5u58] {
    padding: 6px 12px;
    background: #f1f5f9;
    border: 1px solid transparent;
    border-radius: 16px;
    color: #475569;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.15s, border-color 0.15s, color 0.15s;
}

.al-chip:hover[b-cxdh6t5u58] {
    background: #e2e8f0;
}

.al-chip.active[b-cxdh6t5u58] {
    background: #0f2444;
    color: #fff;
    border-color: #0f2444;
}

.al-chip.al-chip-critical.active[b-cxdh6t5u58] {
    background: #dc2626;
    border-color: #dc2626;
}

.al-chip.al-chip-warning.active[b-cxdh6t5u58] {
    background: #f59e0b;
    border-color: #f59e0b;
    color: #1f2937;
}

.al-chip.al-chip-info.active[b-cxdh6t5u58] {
    background: #10b981;
    border-color: #10b981;
}

/* ===== Empty state ===== */
.al-empty[b-cxdh6t5u58] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 80px 20px;
    background: #fff;
    border: 1px dashed #cbd5e1;
    border-radius: 12px;
    text-align: center;
    color: #94a3b8;
}

.al-empty i[b-cxdh6t5u58] {
    font-size: 48px;
    color: #cbd5e1;
    margin-bottom: 16px;
}

.al-empty h3[b-cxdh6t5u58] {
    margin: 0 0 6px 0;
    color: #475569;
    font-size: 16px;
}

.al-empty p[b-cxdh6t5u58] {
    margin: 0;
    font-size: 13px;
    max-width: 400px;
}

/* ===== Riasztás kártya lista ===== */
.al-list[b-cxdh6t5u58] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.al-item[b-cxdh6t5u58] {
    display: flex;
    align-items: stretch;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(15, 36, 68, 0.04);
    transition: box-shadow 0.15s, border-color 0.15s;
}

.al-item:hover[b-cxdh6t5u58] {
    box-shadow: 0 4px 12px rgba(15, 36, 68, 0.08);
}

.al-item.unread[b-cxdh6t5u58] {
    border-color: #fbbf24;
    background: #fffbeb;
}

.al-item.dismissed[b-cxdh6t5u58] {
    opacity: 0.65;
}

.al-item-marker[b-cxdh6t5u58] {
    width: 6px;
    flex-shrink: 0;
}

.al-item.al-severity-critical .al-item-marker[b-cxdh6t5u58] {
    background: #dc2626;
}

.al-item.al-severity-warning .al-item-marker[b-cxdh6t5u58] {
    background: #f59e0b;
}

.al-item.al-severity-info .al-item-marker[b-cxdh6t5u58] {
    background: #10b981;
}

.al-item-main[b-cxdh6t5u58] {
    flex: 1;
    padding: 16px 20px;
    min-width: 0;
}

.al-item-head[b-cxdh6t5u58] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
    flex-wrap: wrap;
}

.al-item-severity[b-cxdh6t5u58] {
    padding: 2px 10px;
    background: #f1f5f9;
    color: #475569;
    font-size: 11px;
    font-weight: 600;
    border-radius: 12px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.al-item.al-severity-critical .al-item-severity[b-cxdh6t5u58] {
    background: #fee2e2;
    color: #991b1b;
}

.al-item.al-severity-warning .al-item-severity[b-cxdh6t5u58] {
    background: #fef3c7;
    color: #92400e;
}

.al-item.al-severity-info .al-item-severity[b-cxdh6t5u58] {
    background: #d1fae5;
    color: #065f46;
}

.al-item-type[b-cxdh6t5u58] {
    font-size: 12px;
    color: #64748b;
    font-weight: 500;
}

.al-item-time[b-cxdh6t5u58] {
    margin-left: auto;
    font-size: 12px;
    color: #94a3b8;
}

.al-item-title[b-cxdh6t5u58] {
    margin: 0 0 4px 0;
    font-size: 15px;
    color: #0f2444;
    font-weight: 600;
    line-height: 1.4;
}

.al-item-body[b-cxdh6t5u58] {
    color: #475569;
    font-size: 13px;
    line-height: 1.5;
    margin-bottom: 8px;
}

.al-item-foot[b-cxdh6t5u58] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
}

.al-item-state[b-cxdh6t5u58] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    font-weight: 500;
    padding: 3px 8px;
    border-radius: 8px;
}

.al-item-state i[b-cxdh6t5u58] {
    font-size: 12px;
}

.al-item-state-unread[b-cxdh6t5u58] {
    background: #fef3c7;
    color: #92400e;
}

.al-item-state-seen[b-cxdh6t5u58] {
    background: #e0e7ff;
    color: #3730a3;
}

.al-item-state-dismissed[b-cxdh6t5u58] {
    background: #f1f5f9;
    color: #64748b;
}

/* ===== Akciók ===== */
.al-item-actions[b-cxdh6t5u58] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 16px 16px 16px 0;
    flex-shrink: 0;
    min-width: 140px;
}

.al-action-btn[b-cxdh6t5u58] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 7px 12px;
    border: 1px solid transparent;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    background: #fff;
    transition: background-color 0.15s, border-color 0.15s, color 0.15s;
}

.al-action-btn i[b-cxdh6t5u58] {
    font-size: 14px;
}

.al-action-primary[b-cxdh6t5u58] {
    background: #0f2444;
    color: #fff;
    border-color: #0f2444;
}

.al-action-primary:hover[b-cxdh6t5u58] {
    background: #1e3a5f;
}

.al-action-secondary[b-cxdh6t5u58] {
    border-color: #cbd5e1;
    color: #475569;
}

.al-action-secondary:hover[b-cxdh6t5u58] {
    background: #f1f5f9;
    color: #0f2444;
}

.al-action-danger[b-cxdh6t5u58] {
    border-color: #fecaca;
    color: #b91c1c;
}

.al-action-danger:hover[b-cxdh6t5u58] {
    background: #fee2e2;
}

/* ===== Mobil reszponzív ===== */
@media (max-width: 720px) {
    .al-item[b-cxdh6t5u58] {
        flex-direction: column;
    }

    .al-item-marker[b-cxdh6t5u58] {
        width: 100%;
        height: 4px;
    }

    .al-item-actions[b-cxdh6t5u58] {
        flex-direction: row;
        flex-wrap: wrap;
        padding: 0 20px 16px 20px;
    }

    .al-filter-row[b-cxdh6t5u58] {
        flex-direction: column;
        gap: 12px;
    }
}
/* /Components/Pages/BankReconciliation/BankReconciliationComponent.razor.rz.scp.css */
/* ==================== Banki illesztés oldal stílusok ====================
   Fő szín: navy (#1e3a5f), kiegészítő: világos szürke / fehér
   Akcentus: zöld (pozitív), piros (negatív)
   Enterprise hatás — finom árnyékok, lekerekített sarkok */

[b-9cwlynah8o] .brc-container {
    padding: 24px;
    max-width: 1600px;
    margin: 0 auto;
    color: #1f2937;
}

/* ===== Fejléc ===== */
[b-9cwlynah8o] .brc-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
    flex-wrap: wrap;
    gap: 16px;
}

[b-9cwlynah8o] .brc-title {
    color: #1e3a5f;
    font-size: 1.6rem;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

[b-9cwlynah8o] .brc-title i {
    color: #1e3a5f;
}

[b-9cwlynah8o] .brc-controls {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

/* ===== Gombok ===== */
[b-9cwlynah8o] .brc-primary-btn,
[b-9cwlynah8o] .brc-secondary-btn,
[b-9cwlynah8o] .brc-import-btn {
    padding: 9px 16px;
    border-radius: 6px;
    border: none;
    cursor: pointer;
    font-size: 0.92rem;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: background-color 0.15s ease, box-shadow 0.15s ease;
}

[b-9cwlynah8o] .brc-primary-btn {
    background-color: #1e3a5f;
    color: #fff;
    box-shadow: 0 1px 3px rgba(30, 58, 95, 0.2);
}

[b-9cwlynah8o] .brc-primary-btn:hover:not(:disabled) {
    background-color: #15273f;
    box-shadow: 0 2px 6px rgba(30, 58, 95, 0.3);
}

[b-9cwlynah8o] .brc-primary-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

[b-9cwlynah8o] .brc-secondary-btn {
    background-color: #e5e7eb;
    color: #1f2937;
}

[b-9cwlynah8o] .brc-secondary-btn:hover:not(:disabled) {
    background-color: #d1d5db;
}

[b-9cwlynah8o] .brc-import-btn {
    background-color: #2e7d32;
    color: #fff;
    box-shadow: 0 1px 3px rgba(46, 125, 50, 0.2);
}

[b-9cwlynah8o] .brc-import-btn:hover {
    background-color: #1f5d24;
}

[b-9cwlynah8o] .brc-close-btn {
    background: transparent;
    border: none;
    color: #6b7280;
    cursor: pointer;
    font-size: 1.2rem;
    padding: 4px 8px;
    border-radius: 4px;
}

[b-9cwlynah8o] .brc-close-btn:hover {
    background-color: #f3f4f6;
    color: #1f2937;
}

/* ===== Loading ===== */
[b-9cwlynah8o] .brc-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
    gap: 12px;
    color: #6b7280;
}

/* ===== Empty state ===== */
[b-9cwlynah8o] .brc-empty-state {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 24px;
    background-color: #f9fafb;
    border: 1px dashed #d1d5db;
    border-radius: 6px;
    color: #6b7280;
}

[b-9cwlynah8o] .brc-empty-state i {
    font-size: 1.3rem;
}

/* ===== Section title ===== */
[b-9cwlynah8o] .brc-section-title {
    color: #1e3a5f;
    font-size: 1.15rem;
    font-weight: 600;
    margin: 0 0 12px 0;
    padding-bottom: 8px;
    border-bottom: 2px solid #e5e7eb;
}

/* ===== Bankszámla tabok ===== */
[b-9cwlynah8o] .brc-accounts-section {
    margin-bottom: 24px;
}

[b-9cwlynah8o] .brc-account-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

[b-9cwlynah8o] .brc-account-tab {
    background-color: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    padding: 12px 16px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 12px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
    text-align: left;
    min-width: 240px;
}

[b-9cwlynah8o] .brc-account-tab:hover {
    border-color: #1e3a5f;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}

[b-9cwlynah8o] .brc-account-tab.active {
    border-color: #1e3a5f;
    background-color: #eef2f7;
    box-shadow: 0 2px 6px rgba(30, 58, 95, 0.15);
}

[b-9cwlynah8o] .brc-account-tab i {
    font-size: 1.4rem;
    color: #1e3a5f;
}

[b-9cwlynah8o] .brc-account-tab-text {
    display: flex;
    flex-direction: column;
    flex: 1;
}

[b-9cwlynah8o] .brc-account-name {
    font-weight: 600;
    color: #1f2937;
}

[b-9cwlynah8o] .brc-account-meta {
    font-size: 0.78rem;
    color: #6b7280;
    margin-top: 2px;
}

[b-9cwlynah8o] .brc-account-actions {
    display: flex;
    gap: 6px;
    margin-left: 8px;
}

[b-9cwlynah8o] .brc-account-actions i {
    font-size: 1rem;
    color: #6b7280;
    cursor: pointer;
    padding: 4px;
    border-radius: 4px;
}

[b-9cwlynah8o] .brc-account-actions i:hover {
    background-color: #fff;
    color: #1e3a5f;
}

[b-9cwlynah8o] .brc-account-actions i.ti-trash:hover {
    color: #c62828;
}

/* ===== Import panel ===== */
[b-9cwlynah8o] .brc-import-panel {
    background-color: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 24px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

[b-9cwlynah8o] .brc-import-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid #e5e7eb;
}

[b-9cwlynah8o] .brc-import-header h3 {
    margin: 0;
    color: #1e3a5f;
    font-size: 1.1rem;
}

[b-9cwlynah8o] .brc-import-dropzone {
    border: 2px dashed #d1d5db;
    border-radius: 8px;
    padding: 40px 20px;
    text-align: center;
    color: #6b7280;
    background-color: #f9fafb;
    cursor: pointer;
    transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}

[b-9cwlynah8o] .brc-import-dropzone:hover,
[b-9cwlynah8o] .brc-dropzone-active {
    border-color: #1e3a5f;
    background-color: #eef2f7;
    box-shadow: 0 0 0 4px rgba(30, 58, 95, 0.08);
}

[b-9cwlynah8o] .brc-import-dropzone-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    /* A gyermek elemekre ne lőjjön a kattintás — a dropzone div fogadja a click-et */
    pointer-events: none;
}

[b-9cwlynah8o] .brc-import-dropzone i {
    font-size: 2.5rem;
    color: #1e3a5f;
    margin-bottom: 6px;
}

[b-9cwlynah8o] .brc-import-dropzone p {
    margin: 4px 0;
}

[b-9cwlynah8o] .brc-import-hint {
    font-size: 0.85rem;
    color: #9ca3af;
}

/* ===== Preview összesítő + tábla ===== */
[b-9cwlynah8o] .brc-preview-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    padding: 12px 16px;
    background-color: #eef2f7;
    border-radius: 6px;
    margin-bottom: 12px;
    font-size: 0.92rem;
    color: #1e3a5f;
}

[b-9cwlynah8o] .brc-preview-table-wrapper,
[b-9cwlynah8o] .brc-transactions-table-wrapper {
    max-height: 500px;
    overflow: auto;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    background-color: #fff;
}

[b-9cwlynah8o] .brc-preview-table,
[b-9cwlynah8o] .brc-transactions-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.88rem;
}

[b-9cwlynah8o] .brc-preview-table thead,
[b-9cwlynah8o] .brc-transactions-table thead {
    background-color: #1e3a5f;
    color: #fff;
    position: sticky;
    top: 0;
    z-index: 1;
}

[b-9cwlynah8o] .brc-preview-table th,
[b-9cwlynah8o] .brc-transactions-table th {
    padding: 10px 12px;
    text-align: left;
    font-weight: 500;
    font-size: 0.85rem;
}

[b-9cwlynah8o] .brc-preview-table td,
[b-9cwlynah8o] .brc-transactions-table td {
    padding: 8px 12px;
    border-top: 1px solid #f3f4f6;
}

[b-9cwlynah8o] .brc-preview-table tbody tr:hover,
[b-9cwlynah8o] .brc-transactions-table tbody tr:hover {
    background-color: #f9fafb;
}

[b-9cwlynah8o] .brc-row-skip {
    opacity: 0.55;
    background-color: #fef2f2;
}

[b-9cwlynah8o] .brc-row-skip:hover {
    background-color: #fee2e2 !important;
}

[b-9cwlynah8o] .brc-col-skip {
    width: 60px;
    text-align: center;
}

[b-9cwlynah8o] .brc-col-note {
    max-width: 220px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

[b-9cwlynah8o] .brc-amount-pos {
    color: #2e7d32;
    font-weight: 600;
    text-align: right;
    white-space: nowrap;
}

[b-9cwlynah8o] .brc-amount-neg {
    color: #c62828;
    font-weight: 600;
    text-align: right;
    white-space: nowrap;
}

[b-9cwlynah8o] .brc-match {
    display: inline-flex;
    flex-direction: column;
    padding: 3px 8px;
    border-radius: 4px;
    font-size: 0.82rem;
    font-weight: 500;
}

[b-9cwlynah8o] .brc-match-exact,
[b-9cwlynah8o] .brc-match-high {
    background-color: #dcfce7;
    color: #166534;
}

[b-9cwlynah8o] .brc-match-medium {
    background-color: #fef3c7;
    color: #92400e;
}

[b-9cwlynah8o] .brc-match-low {
    background-color: #f3f4f6;
    color: #4b5563;
}

[b-9cwlynah8o] .brc-match-reason {
    font-size: 0.74rem;
    color: inherit;
    opacity: 0.75;
    font-weight: 400;
}

[b-9cwlynah8o] .brc-no-match {
    color: #9ca3af;
    font-style: italic;
    font-size: 0.85rem;
}

[b-9cwlynah8o] .brc-duplicate-badge {
    background-color: #fee2e2;
    color: #991b1b;
    padding: 3px 8px;
    border-radius: 4px;
    font-size: 0.82rem;
    font-weight: 500;
}

[b-9cwlynah8o] .brc-import-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 16px;
    padding-top: 12px;
    border-top: 1px solid #e5e7eb;
}

/* ===== Tranzakciók szekció ===== */
[b-9cwlynah8o] .brc-transactions-section {
    margin-top: 24px;
}

/* ===== Modal ===== */
[b-9cwlynah8o] .brc-modal-backdrop {
    position: fixed;
    inset: 0;
    background-color: rgba(15, 23, 42, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

[b-9cwlynah8o] .brc-modal {
    background-color: #fff;
    border-radius: 10px;
    width: 100%;
    max-width: 480px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    overflow: hidden;
}

[b-9cwlynah8o] .brc-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px;
    border-bottom: 1px solid #e5e7eb;
    background-color: #1e3a5f;
    color: #fff;
}

[b-9cwlynah8o] .brc-modal-header h3 {
    margin: 0;
    font-size: 1.1rem;
}

[b-9cwlynah8o] .brc-modal-header .brc-close-btn {
    color: #fff;
}

[b-9cwlynah8o] .brc-modal-header .brc-close-btn:hover {
    background-color: rgba(255, 255, 255, 0.1);
    color: #fff;
}

[b-9cwlynah8o] .brc-modal-body {
    padding: 20px;
}

[b-9cwlynah8o] .brc-modal-footer {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 14px 20px;
    border-top: 1px solid #e5e7eb;
    background-color: #f9fafb;
}

/* ===== Form sorok ===== */
[b-9cwlynah8o] .brc-form-row {
    margin-bottom: 14px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

[b-9cwlynah8o] .brc-form-row label {
    font-size: 0.88rem;
    color: #1f2937;
    font-weight: 500;
}

[b-9cwlynah8o] .brc-form-row input[type="text"],
[b-9cwlynah8o] .brc-form-row select {
    padding: 8px 10px;
    border: 1px solid #d1d5db;
    border-radius: 5px;
    font-size: 0.95rem;
    background-color: #fff;
    color: #1f2937;
}

[b-9cwlynah8o] .brc-form-row input:focus,
[b-9cwlynah8o] .brc-form-row select:focus {
    outline: none;
    border-color: #1e3a5f;
    box-shadow: 0 0 0 3px rgba(30, 58, 95, 0.15);
}

[b-9cwlynah8o] .brc-form-row-checkbox label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}

[b-9cwlynah8o] .brc-form-row-checkbox input[type="checkbox"] {
    width: 16px;
    height: 16px;
    cursor: pointer;
}

[b-9cwlynah8o] .brc-input-error {
    border-color: #c62828 !important;
    background-color: #fef2f2;
}

[b-9cwlynah8o] .brc-required {
    color: #c62828;
    margin-left: 2px;
}

/* ==================== Salt Edge szekció ==================== */

[b-9cwlynah8o] .brc-saltedge-section {
    margin-top: 24px;
    padding: 16px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    background: #f9fafb;
}

[b-9cwlynah8o] .brc-saltedge-title {
    color: #1e3a5f;
    font-size: 1rem;
    margin: 0 0 6px 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

[b-9cwlynah8o] .brc-saltedge-hint {
    color: #6b7280;
    font-size: 0.85rem;
    margin: 0 0 12px 0;
}

[b-9cwlynah8o] .brc-input-with-action {
    display: flex;
    gap: 8px;
    align-items: stretch;
}

    [b-9cwlynah8o] .brc-input-with-action input {
        flex: 1;
    }

[b-9cwlynah8o] .brc-small-btn {
    padding: 6px 12px !important;
    font-size: 0.85rem;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

[b-9cwlynah8o] .brc-saltedge-suggestions {
    margin: 12px 0;
    padding: 10px;
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
}

[b-9cwlynah8o] .brc-saltedge-suggestions-label {
    display: block;
    font-size: 0.85rem;
    color: #374151;
    margin-bottom: 8px;
    font-weight: 600;
}

[b-9cwlynah8o] .brc-saltedge-suggestion {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    padding: 10px 12px;
    margin-bottom: 6px;
    background: #f3f4f6;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.15s;
    text-align: left;
}

    [b-9cwlynah8o] .brc-saltedge-suggestion:hover {
        background: #e0e7ff;
        border-color: #6366f1;
    }

    [b-9cwlynah8o] .brc-saltedge-suggestion.selected {
        background: #dbeafe;
        border-color: #1e3a5f;
        box-shadow: 0 0 0 2px rgba(30, 58, 95, 0.2);
    }

    [b-9cwlynah8o] .brc-saltedge-suggestion strong {
        color: #1e3a5f;
        font-size: 0.95rem;
    }

    [b-9cwlynah8o] .brc-saltedge-suggestion span {
        color: #6b7280;
        font-size: 0.85rem;
        margin-top: 2px;
    }

    [b-9cwlynah8o] .brc-saltedge-suggestion small {
        color: #9ca3af;
        font-size: 0.75rem;
        margin-top: 4px;
        font-family: monospace;
    }

[b-9cwlynah8o] .brc-saltedge-status {
    margin-top: 12px;
    padding: 8px 12px;
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    font-size: 0.85rem;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

    [b-9cwlynah8o] .brc-saltedge-status small {
        color: #6b7280;
        font-size: 0.8rem;
    }

[b-9cwlynah8o] .brc-saltedge-status-ok {
    color: #166534;
    background: #dcfce7;
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 0.75rem;
    font-weight: 600;
    align-self: flex-start;
}

[b-9cwlynah8o] .brc-saltedge-status-error {
    color: #991b1b;
    background: #fee2e2;
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 0.75rem;
    font-weight: 600;
    align-self: flex-start;
}

[b-9cwlynah8o] .brc-saltedge-badge {
    display: inline-flex;
    align-items: center;
    margin-left: 8px;
    color: #1e3a5f;
    font-size: 0.85rem;
}

[b-9cwlynah8o] .brc-account-sync {
    color: #6b7280;
    font-size: 0.75rem;
    font-style: italic;
}

@keyframes brc-spin-b-9cwlynah8o {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

[b-9cwlynah8o] .brc-spin {
    animation: brc-spin-b-9cwlynah8o 1s linear infinite;
    display: inline-block;
}

/* ===== AI feldolgozás újrapróbálás panel ===== */
/* A heurisztikus parser nem talált sort → ez a panel ajánl fel AI feldolgozást */
[b-9cwlynah8o] .brc-ai-retry-panel {
    margin-top: 16px;
    padding: 16px 20px;
    border: 1px solid #c7d2fe;
    border-radius: 8px;
    background: linear-gradient(135deg, #eef2ff 0%, #f5f3ff 100%);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    box-shadow: 0 1px 3px rgba(30, 58, 95, 0.08);
}

[b-9cwlynah8o] .brc-ai-retry-info {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    flex: 1;
    min-width: 0;
}

[b-9cwlynah8o] .brc-ai-retry-info > i {
    color: #6366f1;
    font-size: 1.6rem;
    margin-top: 2px;
}

[b-9cwlynah8o] .brc-ai-retry-info > div {
    flex: 1;
    min-width: 0;
}

[b-9cwlynah8o] .brc-ai-retry-info strong {
    color: #1e3a5f;
    font-size: 1rem;
    display: block;
    margin-bottom: 4px;
}

[b-9cwlynah8o] .brc-ai-retry-info p {
    margin: 0;
    color: #4b5563;
    font-size: 0.88rem;
    line-height: 1.4;
}
/* /Components/Pages/BudgetAnalysis/BudgetAnalysisComponent.razor.rz.scp.css */
/* ===== Budget Analysis page ===== */
.ba-container[b-mekw8xhusp] {
    padding: 1.5rem 2rem;
    max-width: 1500px;
    margin: 0 auto;
}

.ba-header[b-mekw8xhusp] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.5rem;
    flex-wrap: wrap;
}

.ba-header-left[b-mekw8xhusp] {
    flex: 1;
    min-width: 250px;
}

.ba-title[b-mekw8xhusp] {
    margin: 0 0 0.35rem 0;
    color: #0f2d52;
    font-size: 1.5rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.ba-title i[b-mekw8xhusp] {
    color: #1a3a5c;
}

.ba-subtitle[b-mekw8xhusp] {
    margin: 0;
    color: #64748b;
    font-size: 0.9rem;
}

.ba-header-right[b-mekw8xhusp] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.ba-year-selector[b-mekw8xhusp] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.3rem 0.5rem;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
}

.ba-year-btn[b-mekw8xhusp] {
    background: none;
    border: none;
    color: #475569;
    width: 28px;
    height: 28px;
    border-radius: 4px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ba-year-btn:hover[b-mekw8xhusp] {
    background: #f1f5f9;
    color: #0f2d52;
}

.ba-year-label[b-mekw8xhusp] {
    font-size: 1rem;
    font-weight: 700;
    color: #0f2d52;
    padding: 0 0.5rem;
    font-variant-numeric: tabular-nums;
}

.ba-ai-btn[b-mekw8xhusp] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.55rem 1.1rem;
    background: linear-gradient(135deg, #1a3a5c 0%, #0f2d52 100%);
    color: #ffffff;
    border: none;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.18s ease;
    box-shadow: 0 2px 6px rgba(15, 45, 82, 0.25);
}

.ba-ai-btn:hover[b-mekw8xhusp] {
    background: linear-gradient(135deg, #0f2d52 0%, #06182d 100%);
    box-shadow: 0 4px 12px rgba(15, 45, 82, 0.4);
}

.ba-ai-btn i[b-mekw8xhusp] {
    color: #fbbf24;
}

.ba-loading[b-mekw8xhusp],
.ba-loading-full[b-mekw8xhusp] {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 3rem;
    gap: 1rem;
}

.ba-empty[b-mekw8xhusp] {
    text-align: center;
    padding: 3rem;
    color: #94a3b8;
}

.ba-empty i[b-mekw8xhusp] {
    font-size: 3rem;
}

/* ===== Cég szintű összegző kártyák ===== */
.ba-summary-cards[b-mekw8xhusp] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 0.85rem;
    margin-bottom: 1.5rem;
}

.ba-summary-card[b-mekw8xhusp] {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-left: 4px solid #cbd5e1;
    border-radius: 10px;
    padding: 0.95rem 1.1rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}

.ba-summary-card i[b-mekw8xhusp] {
    font-size: 1.8rem;
    flex-shrink: 0;
}

.ba-summary-text[b-mekw8xhusp] {
    display: flex;
    flex-direction: column;
}

.ba-summary-value[b-mekw8xhusp] {
    font-size: 1.25rem;
    font-weight: 800;
    color: #0f2d52;
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
}

.ba-summary-label[b-mekw8xhusp] {
    font-size: 0.72rem;
    font-weight: 600;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    margin-top: 0.2rem;
}

.ba-summary-over[b-mekw8xhusp] { border-left-color: #dc2626; }
.ba-summary-over i[b-mekw8xhusp] { color: #dc2626; }
.ba-summary-warning[b-mekw8xhusp] { border-left-color: #f59e0b; }
.ba-summary-warning i[b-mekw8xhusp] { color: #f59e0b; }
.ba-summary-ok[b-mekw8xhusp] { border-left-color: #16a34a; }
.ba-summary-ok i[b-mekw8xhusp] { color: #16a34a; }
.ba-summary-budget[b-mekw8xhusp] { border-left-color: #1a3a5c; }
.ba-summary-budget i[b-mekw8xhusp] { color: #1a3a5c; }
.ba-summary-projected[b-mekw8xhusp] { border-left-color: #0ea5e9; }
.ba-summary-projected i[b-mekw8xhusp] { color: #0ea5e9; }
.ba-summary-projected-over[b-mekw8xhusp] { border-left-color: #dc2626; }
.ba-summary-projected-over i[b-mekw8xhusp] { color: #dc2626; }

/* ===== Kártyák ===== */
.ba-list[b-mekw8xhusp] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.ba-card[b-mekw8xhusp] {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-left: 4px solid #cbd5e1;
    border-radius: 12px;
    padding: 1.25rem 1.4rem;
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.06);
}

.ba-status-over[b-mekw8xhusp] { border-left-color: #dc2626; }
.ba-status-warning[b-mekw8xhusp] { border-left-color: #f59e0b; }
.ba-status-ok[b-mekw8xhusp] { border-left-color: #16a34a; }
.ba-status-nolimit[b-mekw8xhusp] { border-left-color: #94a3b8; opacity: 0.85; }

.ba-card-header[b-mekw8xhusp] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.85rem;
    flex-wrap: wrap;
}

.ba-card-name[b-mekw8xhusp] {
    margin: 0 0 0.25rem 0;
    font-size: 1.1rem;
    font-weight: 700;
    color: #0f2d52;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.ba-card-name i[b-mekw8xhusp] {
    color: #1a3a5c;
}

.ba-card-limit[b-mekw8xhusp] {
    font-size: 0.78rem;
    color: #64748b;
    font-weight: 600;
}

.ba-card-no-limit[b-mekw8xhusp] {
    font-size: 0.78rem;
    color: #94a3b8;
    font-style: italic;
}

.ba-card-status[b-mekw8xhusp] {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.45rem 0.85rem;
    border-radius: 20px;
    font-size: 0.78rem;
    font-weight: 700;
}

.ba-status-over .ba-card-status[b-mekw8xhusp] {
    background: rgba(220, 38, 38, 0.12);
    color: #991b1b;
}

.ba-status-warning .ba-card-status[b-mekw8xhusp] {
    background: rgba(245, 158, 11, 0.12);
    color: #92400e;
}

.ba-status-ok .ba-card-status[b-mekw8xhusp] {
    background: rgba(22, 163, 74, 0.12);
    color: #15803d;
}

.ba-status-nolimit .ba-card-status[b-mekw8xhusp] {
    background: rgba(148, 163, 184, 0.15);
    color: #475569;
}

/* ===== Progress bar ===== */
.ba-progress-block[b-mekw8xhusp] {
    margin-bottom: 0.85rem;
}

.ba-progress-label[b-mekw8xhusp] {
    display: flex;
    justify-content: space-between;
    font-size: 0.78rem;
    color: #475569;
    margin-bottom: 0.35rem;
    font-weight: 600;
}

.ba-progress-pct[b-mekw8xhusp] {
    font-variant-numeric: tabular-nums;
    color: #0f2d52;
}

.ba-progress-bar[b-mekw8xhusp] {
    height: 12px;
    background: #f1f5f9;
    border-radius: 6px;
    overflow: hidden;
    position: relative;
    display: flex;
}

.ba-progress-fill[b-mekw8xhusp] {
    background: linear-gradient(90deg, #16a34a 0%, #22c55e 100%);
    height: 100%;
    transition: width 0.3s ease;
}

.ba-status-warning .ba-progress-fill[b-mekw8xhusp] {
    background: linear-gradient(90deg, #f59e0b 0%, #fbbf24 100%);
}

.ba-status-over .ba-progress-fill[b-mekw8xhusp] {
    background: linear-gradient(90deg, #dc2626 0%, #ef4444 100%);
}

.ba-progress-overflow[b-mekw8xhusp] {
    background: repeating-linear-gradient(45deg, #991b1b, #991b1b 4px, #b91c1c 4px, #b91c1c 8px);
    height: 100%;
}

/* ===== Metrikák ===== */
.ba-card-metrics[b-mekw8xhusp] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 0.75rem;
    padding: 0.85rem 0;
    border-top: 1px solid #f1f5f9;
    border-bottom: 1px solid #f1f5f9;
    margin-bottom: 0.85rem;
}

.ba-metric[b-mekw8xhusp] {
    display: flex;
    flex-direction: column;
}

.ba-metric-label[b-mekw8xhusp] {
    font-size: 0.7rem;
    font-weight: 600;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: 0.2rem;
}

.ba-metric-value[b-mekw8xhusp] {
    font-size: 0.92rem;
    font-weight: 700;
    color: #1e293b;
    font-variant-numeric: tabular-nums;
}

.ba-positive[b-mekw8xhusp] { color: #16a34a; }
.ba-negative[b-mekw8xhusp] { color: #dc2626; }

/* ===== Recovery block ===== */
.ba-recovery-block[b-mekw8xhusp] {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    padding: 0.8rem 1rem;
    background: #fef2f2;
    border: 1px solid #fca5a5;
    border-radius: 8px;
    font-size: 0.85rem;
    color: #7f1d1d;
    margin-bottom: 0.85rem;
}

.ba-recovery-block i[b-mekw8xhusp] {
    color: #dc2626;
    font-size: 1.1rem;
    margin-top: 0.1rem;
}

.ba-recovery-text[b-mekw8xhusp] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    line-height: 1.45;
}

/* ===== Sparkline ===== */
.ba-sparkline[b-mekw8xhusp] {
    padding: 0.4rem;
    background: #f8fafc;
    border-radius: 6px;
    border: 1px solid #f1f5f9;
}

.ba-chart-tt[b-mekw8xhusp] {
    background: #1e293b;
    color: #ffffff;
    padding: 0.45rem 0.65rem;
    border-radius: 4px;
    font-size: 0.78rem;
    line-height: 1.4;
}

/* ===== AI elemzés modal ===== */
.ba-ai-overlay[b-mekw8xhusp] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1500;
    padding: 1rem;
    backdrop-filter: blur(2px);
}

.ba-ai-panel[b-mekw8xhusp] {
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 25px 60px rgba(15, 23, 42, 0.45);
    width: 100%;
    max-width: 720px;
    max-height: 92vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #e2e8f0;
}

.ba-ai-header[b-mekw8xhusp] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.1rem 1.4rem;
    background: linear-gradient(135deg, #0f2d52 0%, #1a3a5c 100%);
    color: #ffffff;
    cursor: move;
    user-select: none;
    border-bottom: 2px solid #fbbf24;
}

.ba-ai-title[b-mekw8xhusp] {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 700;
    color: #ffffff !important;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.ba-ai-title i[b-mekw8xhusp] { color: #fbbf24; }

.ba-ai-close-btn[b-mekw8xhusp] {
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.25);
    color: #ffffff;
    width: 32px;
    height: 32px;
    border-radius: 6px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ba-ai-close-btn:hover[b-mekw8xhusp] {
    background: rgba(220, 38, 38, 0.85);
    border-color: #dc2626;
}

.ba-ai-body[b-mekw8xhusp] {
    padding: 1.5rem;
    overflow-y: auto;
    flex: 1;
    background: #f8fafc;
}

.ba-ai-loading[b-mekw8xhusp] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    padding: 3rem 1rem;
    color: #64748b;
}

.ba-ai-section[b-mekw8xhusp] {
    margin-bottom: 1.25rem;
    padding: 1rem 1.1rem;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
}

.ba-ai-section h4[b-mekw8xhusp] {
    margin: 0 0 0.6rem 0;
    font-size: 0.85rem;
    font-weight: 700;
    color: #0f2d52;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.ba-ai-section p[b-mekw8xhusp] {
    margin: 0;
    font-size: 0.9rem;
    line-height: 1.55;
    color: #1e293b;
}

.ba-ai-section ul[b-mekw8xhusp],
.ba-ai-section ol[b-mekw8xhusp] {
    margin: 0;
    padding-left: 1.4rem;
}

.ba-ai-section li[b-mekw8xhusp] {
    font-size: 0.88rem;
    line-height: 1.55;
    color: #1e293b;
    margin-bottom: 0.45rem;
}

.ba-ai-footer[b-mekw8xhusp] {
    display: flex;
    justify-content: flex-end;
    padding: 0.9rem 1.4rem;
    background: #ffffff;
    border-top: 1px solid #e2e8f0;
}

.ba-ai-close-large-btn[b-mekw8xhusp] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.55rem 1.25rem;
    background: #1a3a5c;
    color: #ffffff;
    border: none;
    border-radius: 8px;
    font-size: 0.88rem;
    font-weight: 600;
    cursor: pointer;
}

.ba-ai-close-large-btn:hover[b-mekw8xhusp] {
    background: #0f2d52;
}

/* ==================== Nézet kapcsoló (lista / heatmap) ==================== */
.ba-view-toggle[b-mekw8xhusp] {
    display: inline-flex;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    padding: 2px;
    gap: 2px;
}

.ba-view-btn[b-mekw8xhusp] {
    background: transparent;
    border: none;
    color: #475569;
    padding: 0.4rem 0.75rem;
    border-radius: 6px;
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    transition: all 0.15s ease;
}

.ba-view-btn:hover[b-mekw8xhusp] {
    background: #f1f5f9;
    color: #0f2d52;
}

.ba-view-btn.ba-view-active[b-mekw8xhusp] {
    background: #0f2d52;
    color: #ffffff;
    box-shadow: 0 1px 3px rgba(15, 45, 82, 0.3);
}

/* ==================== Insights row (Top overrun + Pareto) ==================== */
.ba-insights-row[b-mekw8xhusp] {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) minmax(360px, 2fr);
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.ba-insight-card[b-mekw8xhusp] {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 1rem 1.2rem;
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.06);
}

.ba-insight-title[b-mekw8xhusp] {
    margin: 0 0 0.5rem 0;
    font-size: 1rem;
    font-weight: 700;
    color: #0f2d52;
    display: flex;
    align-items: center;
    gap: 0.45rem;
}

.ba-insight-title i[b-mekw8xhusp] {
    color: #dc2626;
}

.ba-insight-pareto .ba-insight-title i[b-mekw8xhusp] {
    color: #1a3a5c;
}

.ba-insight-subtitle[b-mekw8xhusp] {
    margin: 0 0 0.75rem 0;
    font-size: 0.82rem;
    color: #64748b;
}

.ba-overrun-list[b-mekw8xhusp] {
    list-style: none;
    counter-reset: overrun;
    padding: 0;
    margin: 0;
}

.ba-overrun-item[b-mekw8xhusp] {
    counter-increment: overrun;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.55rem 0.65rem;
    border-bottom: 1px solid #f1f5f9;
    gap: 0.5rem;
}

.ba-overrun-item:last-child[b-mekw8xhusp] {
    border-bottom: none;
}

.ba-overrun-item[b-mekw8xhusp]::before {
    content: counter(overrun);
    font-weight: 800;
    color: #dc2626;
    font-size: 1.05rem;
    width: 1.5rem;
    flex-shrink: 0;
}

.ba-overrun-name[b-mekw8xhusp] {
    flex: 1;
    font-weight: 600;
    color: #0f2d52;
    font-size: 0.9rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ba-overrun-numbers[b-mekw8xhusp] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.15rem;
}

.ba-overrun-amount[b-mekw8xhusp] {
    color: #991b1b;
    font-weight: 700;
    font-size: 0.88rem;
    font-variant-numeric: tabular-nums;
}

.ba-overrun-pct[b-mekw8xhusp] {
    color: #dc2626;
    font-size: 0.78rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

/* ==================== YoY badge ==================== */
.ba-yoy-badge[b-mekw8xhusp] {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0.18rem 0.5rem;
    border-radius: 12px;
    font-size: 0.72rem;
    font-weight: 700;
    margin-left: 0.5rem;
    font-variant-numeric: tabular-nums;
}

.ba-yoy-badge i[b-mekw8xhusp] {
    font-size: 0.85rem;
}

.ba-yoy-up[b-mekw8xhusp] {
    background: rgba(220, 38, 38, 0.12);
    color: #991b1b;
}

.ba-yoy-down[b-mekw8xhusp] {
    background: rgba(22, 163, 74, 0.12);
    color: #15803d;
}

.ba-yoy-neutral[b-mekw8xhusp] {
    background: rgba(100, 116, 139, 0.12);
    color: #475569;
}

.ba-card-prev-year[b-mekw8xhusp] {
    display: block;
    font-size: 0.74rem;
    color: #94a3b8;
    font-style: italic;
    margin-top: 0.2rem;
}

/* ==================== Drill-down toggle gomb ==================== */
.ba-card-status-block[b-mekw8xhusp] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.ba-detail-btn[b-mekw8xhusp] {
    background: #f8fafc;
    border: 1px solid #cbd5e1;
    color: #475569;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.15s ease;
}

.ba-detail-btn:hover[b-mekw8xhusp] {
    background: #1a3a5c;
    color: #ffffff;
    border-color: #1a3a5c;
}

/* ==================== Heatmap ==================== */
.ba-heatmap-wrapper[b-mekw8xhusp] {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 1rem;
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.06);
    overflow-x: auto;
}

.ba-heatmap-table[b-mekw8xhusp] {
    width: 100%;
    border-collapse: separate;
    border-spacing: 2px;
    font-size: 0.8rem;
}

.ba-heatmap-table thead th[b-mekw8xhusp] {
    text-align: center;
    font-weight: 700;
    color: #475569;
    padding: 0.4rem 0.3rem;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    background: #f1f5f9;
    border-radius: 4px;
}

.ba-heat-cat-th[b-mekw8xhusp] {
    text-align: left !important;
    min-width: 180px;
}

.ba-heat-month-th[b-mekw8xhusp] {
    width: 56px;
}

.ba-heat-cat[b-mekw8xhusp] {
    display: flex;
    flex-direction: column;
    padding: 0.4rem 0.5rem;
    background: #f8fafc;
    border-radius: 4px;
    border-left: 3px solid #1a3a5c;
}

.ba-heat-cat-name[b-mekw8xhusp] {
    font-weight: 700;
    color: #0f2d52;
    font-size: 0.85rem;
}

.ba-heat-cat-limit[b-mekw8xhusp] {
    font-size: 0.7rem;
    color: #64748b;
    margin-top: 0.15rem;
}

.ba-heat-cell[b-mekw8xhusp] {
    text-align: center;
    padding: 0.55rem 0.25rem;
    border-radius: 4px;
    font-weight: 700;
    font-size: 0.78rem;
    font-variant-numeric: tabular-nums;
    color: #0f2d52;
    cursor: help;
    transition: transform 0.1s ease;
}

.ba-heat-cell:hover[b-mekw8xhusp] {
    transform: scale(1.06);
    box-shadow: 0 0 0 2px rgba(15, 45, 82, 0.25);
}

.ba-heat-cell-value[b-mekw8xhusp] {
    display: block;
}

.ba-heat-empty[b-mekw8xhusp] {
    background: #f8fafc;
    color: #cbd5e1;
}

.ba-heat-nolimit[b-mekw8xhusp] {
    background: #e2e8f0;
    color: #475569;
}

.ba-heat-1[b-mekw8xhusp] {
    background: #dcfce7;
    color: #14532d;
}

.ba-heat-2[b-mekw8xhusp] {
    background: #fef9c3;
    color: #713f12;
}

.ba-heat-3[b-mekw8xhusp] {
    background: #fed7aa;
    color: #7c2d12;
}

.ba-heat-4[b-mekw8xhusp] {
    background: #fecaca;
    color: #7f1d1d;
}

.ba-heat-5[b-mekw8xhusp] {
    background: #ef4444;
    color: #ffffff;
}

.ba-heat-ytd[b-mekw8xhusp] {
    padding: 0.55rem 0.5rem;
    text-align: right;
    background: #f1f5f9;
    border-radius: 4px;
    font-weight: 700;
    color: #0f2d52;
    font-variant-numeric: tabular-nums;
    font-size: 0.85rem;
}

.ba-heat-legend[b-mekw8xhusp] {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    margin-top: 1rem;
    flex-wrap: wrap;
    padding-top: 0.85rem;
    border-top: 1px solid #f1f5f9;
}

.ba-heat-legend-label[b-mekw8xhusp] {
    font-size: 0.78rem;
    font-weight: 700;
    color: #475569;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.ba-heat-legend-item[b-mekw8xhusp] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.78rem;
    color: #475569;
}

.ba-heat-swatch[b-mekw8xhusp] {
    width: 16px;
    height: 16px;
    border-radius: 3px;
    display: inline-block;
}

/* ==================== What-if szimulátor ==================== */
.ba-whatif-block[b-mekw8xhusp] {
    padding: 0.8rem 1rem;
    background: #f8fafc;
    border: 1px dashed #cbd5e1;
    border-radius: 8px;
    margin-bottom: 0.85rem;
}

.ba-whatif-label[b-mekw8xhusp] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.78rem;
    font-weight: 700;
    color: #475569;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    margin-bottom: 0.45rem;
}

.ba-whatif-label i[b-mekw8xhusp] {
    color: #1a3a5c;
}

.ba-whatif-input-row[b-mekw8xhusp] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.ba-whatif-input[b-mekw8xhusp] {
    width: 160px;
}

.ba-whatif-unit[b-mekw8xhusp] {
    font-size: 0.85rem;
    color: #64748b;
    font-weight: 600;
}

.ba-whatif-reset[b-mekw8xhusp] {
    background: #fff7ed;
    border: 1px solid #fed7aa;
    color: #7c2d12;
    width: 30px;
    height: 30px;
    border-radius: 6px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ba-whatif-reset:hover[b-mekw8xhusp] {
    background: #fed7aa;
}

.ba-whatif-result[b-mekw8xhusp] {
    margin-top: 0.55rem;
    padding: 0.45rem 0.65rem;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    font-size: 0.85rem;
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
}

.ba-whatif-result-label[b-mekw8xhusp] {
    font-weight: 700;
    color: #475569;
}

.ba-whatif-result-hint[b-mekw8xhusp] {
    font-size: 0.72rem;
    color: #94a3b8;
    font-style: italic;
}

/* ==================== Drill-down ==================== */
.ba-drill-block[b-mekw8xhusp] {
    margin-top: 1rem;
    padding: 1rem 1.1rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
}

.ba-drill-loading[b-mekw8xhusp] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    padding: 1.5rem;
    color: #64748b;
}

.ba-drill-title[b-mekw8xhusp] {
    margin: 0 0 0.8rem 0;
    font-size: 0.95rem;
    font-weight: 700;
    color: #0f2d52;
    display: flex;
    align-items: center;
    gap: 0.45rem;
}

.ba-drill-title i[b-mekw8xhusp] {
    color: #1a3a5c;
}

.ba-drill-section[b-mekw8xhusp] {
    margin-bottom: 1rem;
}

.ba-drill-section:last-child[b-mekw8xhusp] {
    margin-bottom: 0;
}

.ba-drill-section h5[b-mekw8xhusp] {
    margin: 0 0 0.45rem 0;
    font-size: 0.78rem;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.ba-drill-table[b-mekw8xhusp] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.85rem;
    background: #ffffff;
    border-radius: 6px;
    overflow: hidden;
}

.ba-drill-table thead th[b-mekw8xhusp] {
    background: #1a3a5c;
    color: #ffffff;
    padding: 0.5rem 0.65rem;
    text-align: left;
    font-weight: 700;
    font-size: 0.78rem;
}

.ba-drill-table tbody td[b-mekw8xhusp] {
    padding: 0.45rem 0.65rem;
    border-bottom: 1px solid #f1f5f9;
    color: #1e293b;
}

.ba-drill-table tbody tr:last-child td[b-mekw8xhusp] {
    border-bottom: none;
}

.ba-drill-table tbody tr:hover[b-mekw8xhusp] {
    background: #f8fafc;
}

.ba-drill-right[b-mekw8xhusp] {
    text-align: right !important;
    font-variant-numeric: tabular-nums;
}

.ba-drill-months[b-mekw8xhusp] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 0.5rem;
}

.ba-drill-month[b-mekw8xhusp] {
    padding: 0.5rem 0.6rem;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.ba-drill-month-label[b-mekw8xhusp] {
    font-size: 0.72rem;
    font-weight: 700;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.ba-drill-month-amt[b-mekw8xhusp] {
    font-weight: 700;
    color: #0f2d52;
    font-variant-numeric: tabular-nums;
    font-size: 0.95rem;
}

.ba-drill-month-cnt[b-mekw8xhusp] {
    font-size: 0.72rem;
    color: #64748b;
}

/* ==================== AI modal tabs + limits ==================== */
.ba-ai-tabs[b-mekw8xhusp] {
    display: flex;
    background: #ffffff;
    border-bottom: 1px solid #e2e8f0;
    padding: 0 1.4rem;
}

.ba-ai-tab[b-mekw8xhusp] {
    background: transparent;
    border: none;
    padding: 0.75rem 1.1rem;
    font-size: 0.88rem;
    font-weight: 600;
    color: #64748b;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    border-bottom: 3px solid transparent;
    transition: all 0.15s ease;
}

.ba-ai-tab:hover[b-mekw8xhusp] {
    color: #0f2d52;
}

.ba-ai-tab.ba-ai-tab-active[b-mekw8xhusp] {
    color: #0f2d52;
    border-bottom-color: #fbbf24;
}

.ba-ai-limits-toolbar[b-mekw8xhusp] {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 0.65rem;
}

.ba-ai-apply-all-btn[b-mekw8xhusp] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.5rem 0.95rem;
    background: #16a34a;
    color: #ffffff;
    border: none;
    border-radius: 7px;
    font-size: 0.82rem;
    font-weight: 700;
    cursor: pointer;
}

.ba-ai-apply-all-btn:hover[b-mekw8xhusp] {
    background: #15803d;
}

.ba-ai-limits-table[b-mekw8xhusp] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.85rem;
    background: #ffffff;
    border-radius: 6px;
    overflow: hidden;
}

.ba-ai-limits-table thead th[b-mekw8xhusp] {
    background: #1a3a5c;
    color: #ffffff;
    padding: 0.5rem 0.65rem;
    text-align: left;
    font-weight: 700;
    font-size: 0.78rem;
}

.ba-ai-limits-table tbody td[b-mekw8xhusp] {
    padding: 0.5rem 0.65rem;
    border-bottom: 1px solid #f1f5f9;
    color: #1e293b;
    vertical-align: top;
}

.ba-ai-limits-table tbody tr:hover[b-mekw8xhusp] {
    background: #f8fafc;
}

.ba-ai-limits-suggested[b-mekw8xhusp] {
    color: #15803d;
    font-weight: 700;
}

.ba-ai-limits-rationale[b-mekw8xhusp] {
    font-size: 0.82rem;
    color: #475569;
    max-width: 280px;
}

.ba-ai-apply-btn[b-mekw8xhusp] {
    background: #fbbf24;
    border: none;
    color: #78350f;
    width: 30px;
    height: 30px;
    border-radius: 6px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.ba-ai-apply-btn:hover[b-mekw8xhusp] {
    background: #f59e0b;
    color: #ffffff;
}
/* /Components/Pages/CompanySettings/CompanySettingComponent.razor.rz.scp.css */
/* ===== Konténer ===== */
.cs-container[b-391qktht7d] {
    display: flex;
    flex-direction: column;
    padding: 2rem;
    max-width: 1100px;
    margin: 0 auto;
    width: 100%;
}

/* ===== Fejléc ===== */
.cs-header[b-391qktht7d] {
    margin-bottom: 2rem;
}

.cs-title[b-391qktht7d] {
    font-size: 1.75rem;
    font-weight: 700;
    color: #1e293b;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.5rem;
}

.cs-title i[b-391qktht7d] {
    color: #1a3a5c;
}

.cs-subtitle[b-391qktht7d] {
    font-size: 0.9rem;
    color: #64748b;
}

/* ===== Kártya ===== */
.cs-card[b-391qktht7d] {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 1.75rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.cs-card-header[b-391qktht7d] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-size: 1.1rem;
    font-weight: 600;
    color: #1a3a5c;
    margin-bottom: 1.5rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid #e2e8f0;
}

.cs-card-header i[b-391qktht7d] {
    font-size: 1rem;
}

/* ===== Mezők konténer ===== */
.cs-fields[b-391qktht7d] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

/* ===== Egy mező sor: label + input ===== */
.cs-field[b-391qktht7d] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

[b-391qktht7d] .cs-label {
    font-size: 0.9rem;
    color: #64748b;
    width: 180px;
    flex-shrink: 0;
}

[b-391qktht7d] .cs-input {
    flex: 1;
    min-width: 0;
}

/* ===== Kötelező mező jelölés ===== */
.cs-required[b-391qktht7d] {
    color: #dc2626;
    margin-left: 0.25rem;
    font-weight: 700;
}

/* ===== Validációs hiba az inputon ===== */
[b-391qktht7d] .cs-input-error {
    border-color: #dc2626 !important;
    box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.15);
}

/* ===== Elválasztó ===== */
.cs-divider[b-391qktht7d] {
    border: none;
    border-top: 1px solid #e2e8f0;
    margin: 1.25rem 0;
}

/* ===== Gombok ===== */
.cs-actions[b-391qktht7d] {
    display: flex;
    justify-content: center;
    gap: 1rem;
    padding-top: 1.5rem;
    margin-top: 1rem;
    border-top: 1px solid #f1f5f9;
}

/* ===== Betöltés ===== */
.cs-loading[b-391qktht7d] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100vh;
    width: 100%;
}

.cs-loading-text[b-391qktht7d] {
    margin-top: 1rem;
}

/* ===== Reszponzív ===== */
@media (max-width: 768px) {
    .cs-field[b-391qktht7d] {
        flex-direction: column;
        align-items: flex-start;
    }

    [b-391qktht7d] .cs-label {
        width: auto;
    }

    [b-391qktht7d] .cs-input {
        width: 100%;
    }
}

/* ===== NAV integráció blokk ===== */
.cs-card-desc[b-391qktht7d] {
    color: #64748b;
    font-size: 0.9rem;
    margin: 0 0 14px 0;
    padding-left: 4px;
}

.cs-saved-tag[b-391qktht7d] {
    background: #dcfce7;
    color: #166534;
    font-size: 0.7rem;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 10px;
    margin-left: 6px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.cs-checkbox[b-391qktht7d] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-size: 0.9rem;
    color: #0f172a;
    padding: 6px 0;
}

.cs-checkbox input[type="checkbox"][b-391qktht7d] {
    width: 18px;
    height: 18px;
    accent-color: #1e3a8a;
    cursor: pointer;
}

.cs-nav-status[b-391qktht7d] {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 12px 14px;
    margin: 12px 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 0.9rem;
    color: #0f172a;
}

.cs-nav-status i[b-391qktht7d] {
    color: #1e3a8a;
    margin-right: 6px;
}

.cs-nav-status-msg[b-391qktht7d] {
    font-size: 0.82rem;
    color: #64748b;
    padding-left: 24px;
    font-style: italic;
}

/* ===== Gombok ===== */
.cs-btn[b-391qktht7d] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 6px;
    font-size: 0.9rem;
    font-weight: 500;
    cursor: pointer;
    border: none;
    transition: background 0.15s, transform 0.1s;
}

.cs-btn-primary[b-391qktht7d] {
    background: #1e3a8a;
    color: #ffffff;
}

.cs-btn-primary:hover:not(:disabled)[b-391qktht7d] {
    background: #1e40af;
}

.cs-btn-secondary[b-391qktht7d] {
    background: #ffffff;
    color: #1e3a8a;
    border: 1px solid #cbd5e1;
}

.cs-btn-secondary:hover:not(:disabled)[b-391qktht7d] {
    background: #f1f5f9;
    border-color: #1e3a8a;
}

.cs-btn-success[b-391qktht7d] {
    background: #16a34a;
    color: #ffffff;
}

.cs-btn-success:hover:not(:disabled)[b-391qktht7d] {
    background: #15803d;
}

.cs-btn:disabled[b-391qktht7d] {
    opacity: 0.55;
    cursor: not-allowed;
}

.cs-btn:active:not(:disabled)[b-391qktht7d] {
    transform: translateY(1px);
}

/* ===== NAV invoices table ===== */
.cs-count-badge[b-391qktht7d] {
    background: #1e3a8a;
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 2px 10px;
    border-radius: 10px;
    margin-left: 10px;
}

.cs-nav-empty[b-391qktht7d] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 32px;
    color: #64748b;
}

.cs-nav-empty i[b-391qktht7d] {
    font-size: 2rem;
}

.cs-nav-table-wrapper[b-391qktht7d] {
    overflow-x: auto;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #ffffff;
}

.cs-nav-table[b-391qktht7d] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.88rem;
}

.cs-nav-table thead[b-391qktht7d] {
    background: #f8fafc;
    border-bottom: 2px solid #e2e8f0;
}

.cs-nav-table thead th[b-391qktht7d] {
    padding: 10px 12px;
    text-align: left;
    font-weight: 600;
    color: #1e3a8a;
    text-transform: uppercase;
    font-size: 0.72rem;
    letter-spacing: 0.04em;
    white-space: nowrap;
}

.cs-nav-table tbody tr[b-391qktht7d] {
    border-bottom: 1px solid #f1f5f9;
}

.cs-nav-table tbody tr:hover[b-391qktht7d] {
    background: #f8fafc;
}

.cs-nav-table tbody td[b-391qktht7d] {
    padding: 10px 12px;
    color: #0f172a;
    vertical-align: middle;
}

.cs-nav-col-num[b-391qktht7d] {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.cs-nav-dir[b-391qktht7d] {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.cs-nav-dir-in[b-391qktht7d] {
    background: #fee2e2;
    color: #991b1b;
}

.cs-nav-dir-out[b-391qktht7d] {
    background: #dcfce7;
    color: #166534;
}

/* ==================== Veszélyes zóna ==================== */

.cs-danger-card[b-391qktht7d] {
    margin-top: 24px;
    border: 2px solid #fecaca;
    background: #fef2f2;
}

.cs-danger-header[b-391qktht7d] {
    color: #991b1b !important;
    background: #fee2e2 !important;
    border-bottom: 1px solid #fecaca;
}

.cs-danger-body[b-391qktht7d] {
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.cs-danger-text[b-391qktht7d] {
    color: #1f2937;
    margin: 0;
    line-height: 1.5;
}

    .cs-danger-text strong[b-391qktht7d] {
        color: #991b1b;
        display: block;
        margin-bottom: 4px;
        font-size: 1rem;
    }

.cs-danger-btn[b-391qktht7d] {
    align-self: flex-start;
    padding: 10px 18px;
    background: white;
    color: #991b1b;
    border: 2px solid #991b1b;
    border-radius: 6px;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.15s;
}

    .cs-danger-btn:hover[b-391qktht7d] {
        background: #991b1b;
        color: white;
    }

/* ==================== Törlés megerősítő modal ==================== */

.cs-modal-backdrop[b-391qktht7d] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    backdrop-filter: blur(2px);
}

.cs-modal[b-391qktht7d] {
    background: white;
    border-radius: 10px;
    width: 90%;
    max-width: 560px;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    display: flex;
    flex-direction: column;
}

.cs-modal-danger[b-391qktht7d] {
    border-top: 6px solid #991b1b;
}

.cs-modal-header[b-391qktht7d] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px;
    border-bottom: 1px solid #e5e7eb;
}

    .cs-modal-header h3[b-391qktht7d] {
        margin: 0;
        color: #991b1b;
        font-size: 1.15rem;
        display: flex;
        align-items: center;
        gap: 10px;
    }

.cs-close-btn[b-391qktht7d] {
    background: transparent;
    border: none;
    cursor: pointer;
    color: #6b7280;
    font-size: 1.2rem;
    padding: 4px 8px;
    border-radius: 4px;
}

    .cs-close-btn:hover[b-391qktht7d] {
        background: #f3f4f6;
        color: #1f2937;
    }

.cs-modal-body[b-391qktht7d] {
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.cs-warning-box[b-391qktht7d] {
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 6px;
    padding: 14px 16px;
    color: #1f2937;
    font-size: 0.9rem;
}

    .cs-warning-box p[b-391qktht7d] {
        margin: 0 0 8px 0;
    }

    .cs-warning-box ul[b-391qktht7d] {
        margin: 8px 0 8px 20px;
        padding: 0;
        line-height: 1.6;
    }

    .cs-warning-box li[b-391qktht7d] {
        color: #4b5563;
    }

    .cs-warning-box .cs-warning-final[b-391qktht7d] {
        margin-top: 12px;
        font-weight: 700;
        color: #991b1b;
    }

.cs-form-row[b-391qktht7d] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

    .cs-form-row label[b-391qktht7d] {
        font-size: 0.9rem;
        color: #1f2937;
        font-weight: 500;
    }

.cs-checkbox-row label[b-391qktht7d] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
    font-weight: 400;
    color: #1f2937;
    line-height: 1.4;
}

    .cs-checkbox-row label input[type="checkbox"][b-391qktht7d] {
        width: 18px;
        height: 18px;
        cursor: pointer;
        margin-top: 2px;
        flex-shrink: 0;
        accent-color: #991b1b;
    }

.cs-typing-target[b-391qktht7d] {
    display: inline-block;
    margin-left: 6px;
    padding: 2px 8px;
    background: #fee2e2;
    color: #991b1b;
    border-radius: 4px;
    font-family: monospace;
    font-weight: 700;
    font-size: 0.85rem;
}

.cs-input[b-391qktht7d] {
    padding: 8px 12px;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-size: 0.95rem;
    background: white;
    transition: border-color 0.15s;
}

    .cs-input:focus[b-391qktht7d] {
        outline: none;
        border-color: #1e3a5f;
        box-shadow: 0 0 0 3px rgba(30, 58, 95, 0.1);
    }

.cs-input-error[b-391qktht7d] {
    border-color: #c62828 !important;
    background-color: #fef2f2;
}

.cs-modal-footer[b-391qktht7d] {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 14px 20px;
    border-top: 1px solid #e5e7eb;
    background: #f9fafb;
    border-radius: 0 0 10px 10px;
}

.cs-secondary-btn[b-391qktht7d] {
    padding: 9px 18px;
    background: white;
    color: #374151;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    cursor: pointer;
    font-weight: 500;
    transition: background 0.15s;
}

    .cs-secondary-btn:hover:not(:disabled)[b-391qktht7d] {
        background: #f3f4f6;
    }

    .cs-secondary-btn:disabled[b-391qktht7d] {
        opacity: 0.6;
        cursor: not-allowed;
    }

.cs-danger-btn-final[b-391qktht7d] {
    padding: 9px 20px;
    background: #991b1b;
    color: white;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: background 0.15s;
}

    .cs-danger-btn-final:hover:not(:disabled)[b-391qktht7d] {
        background: #7f1d1d;
    }

    .cs-danger-btn-final:disabled[b-391qktht7d] {
        opacity: 0.5;
        cursor: not-allowed;
        background: #9ca3af;
    }

/* ==================== Tab navigáció ==================== */
.cs-tabs[b-391qktht7d] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #e2e8f0;
}

.cs-tab[b-391qktht7d] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.55rem 0.85rem;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    font-size: 0.85rem;
    color: #475569;
    cursor: pointer;
    transition: all 0.15s;
}

    .cs-tab:hover[b-391qktht7d] {
        background: #e2e8f0;
    }

.cs-tab-active[b-391qktht7d] {
    background: #1a3a5c;
    color: #fff;
    border-color: #1a3a5c;
}

    .cs-tab-active:hover[b-391qktht7d] {
        background: #1a3a5c;
    }

.cs-tab-danger[b-391qktht7d] {
    background: #fef2f2;
    color: #dc2626;
    border-color: #fecaca;
}

    .cs-tab-danger:hover[b-391qktht7d] {
        background: #fee2e2;
    }

    .cs-tab-danger.cs-tab-active[b-391qktht7d] {
        background: #dc2626;
        color: #fff;
        border-color: #dc2626;
    }

.cs-help-text[b-391qktht7d] {
    color: #64748b;
    font-size: 0.85rem;
    margin: 0 0 0.75rem 0;
}

.cs-field-wide[b-391qktht7d] {
    flex: 1 1 100%;
}

/* ==================== Integrációk overview ==================== */
.cs-integration-grid[b-391qktht7d] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.cs-integration-card[b-391qktht7d] {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 1rem;
    border-radius: 10px;
    border: 1px solid #e2e8f0;
    background: #ffffff;
}

.cs-int-connected[b-391qktht7d] {
    border-color: #16a34a;
    background: #f0fdf4;
}

.cs-int-warning[b-391qktht7d] {
    border-color: #f59e0b;
    background: #fffbeb;
}

.cs-int-disconnected[b-391qktht7d] {
    border-color: #cbd5e1;
    background: #f8fafc;
    opacity: 0.85;
}

.cs-int-icon[b-391qktht7d] {
    font-size: 1.5rem;
    flex-shrink: 0;
}

.cs-int-connected .cs-int-icon[b-391qktht7d] {
    color: #16a34a;
}

.cs-int-warning .cs-int-icon[b-391qktht7d] {
    color: #f59e0b;
}

.cs-int-disconnected .cs-int-icon[b-391qktht7d] {
    color: #94a3b8;
}

.cs-int-info[b-391qktht7d] {
    flex: 1;
    min-width: 0;
}

.cs-int-name[b-391qktht7d] {
    font-weight: 600;
    color: #1a3a5c;
    margin-bottom: 0.2rem;
}

.cs-int-detail[b-391qktht7d] {
    font-size: 0.8rem;
    color: #64748b;
}

.cs-integration-connected[b-391qktht7d] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.9rem 1rem;
    background: #f0fdf4;
    border: 1px solid #86efac;
    border-radius: 8px;
    margin-bottom: 0.75rem;
}

.cs-int-since[b-391qktht7d] {
    color: #64748b;
    font-size: 0.85rem;
    margin-left: 0.5rem;
}

/* ==================== Költséghelyek ==================== */
.cs-add-btn[b-391qktht7d] {
    margin-left: auto;
    background: #1a3a5c;
    color: #fff;
    border: none;
    padding: 0.4rem 0.85rem;
    border-radius: 6px;
    font-size: 0.85rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}

    .cs-add-btn:hover[b-391qktht7d] {
        background: #0c2541;
    }

.cs-cc-edit[b-391qktht7d] {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 1rem;
    margin-bottom: 1rem;
}

.cs-cc-list[b-391qktht7d] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.cs-cc-item[b-391qktht7d] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
}

.cs-cc-inactive[b-391qktht7d] {
    opacity: 0.55;
    background: #f1f5f9;
}

.cs-cc-color[b-391qktht7d] {
    width: 16px;
    height: 16px;
    border-radius: 4px;
    flex-shrink: 0;
}

.cs-cc-info[b-391qktht7d] {
    flex: 1;
}

.cs-cc-name[b-391qktht7d] {
    font-weight: 600;
    color: #1e293b;
}

.cs-cc-code[b-391qktht7d] {
    font-size: 0.75rem;
    color: #64748b;
    background: #f1f5f9;
    padding: 1px 6px;
    border-radius: 4px;
    margin-left: 0.4rem;
    font-family: 'Courier New', monospace;
}

.cs-cc-status[b-391qktht7d] {
    font-size: 0.75rem;
    color: #94a3b8;
}

.cs-cc-actions[b-391qktht7d] {
    display: flex;
    gap: 0.25rem;
}

.cs-icon-btn[b-391qktht7d] {
    background: transparent;
    border: 1px solid #cbd5e1;
    color: #64748b;
    padding: 0.4rem;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.15s;
}

    .cs-icon-btn:hover[b-391qktht7d] {
        background: #f1f5f9;
        color: #1a3a5c;
    }

.cs-icon-btn-danger[b-391qktht7d] {
    color: #dc2626;
    border-color: #fecaca;
}

    .cs-icon-btn-danger:hover[b-391qktht7d] {
        background: #fef2f2;
        color: #dc2626;
    }

.cs-empty[b-391qktht7d] {
    padding: 1.5rem;
    text-align: center;
    color: #94a3b8;
    font-style: italic;
}

/* ==================== Logó panel ==================== */
.cs-logo-section[b-391qktht7d] {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    padding: 0.75rem 0;
}

.cs-logo-preview[b-391qktht7d] {
    max-width: 200px;
    max-height: 80px;
    object-fit: contain;
    background: #f8fafc;
    padding: 0.5rem;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
}

.cs-logo-placeholder[b-391qktht7d] {
    width: 200px;
    height: 80px;
    background: #f1f5f9;
    border: 2px dashed #cbd5e1;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #94a3b8;
    font-size: 2rem;
}

.cs-logo-upload-btn[b-391qktht7d] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.6rem 1rem;
    background: #1a3a5c;
    color: #fff;
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.9rem;
    transition: background 0.15s;
}

    .cs-logo-upload-btn:hover[b-391qktht7d] {
        background: #0c2541;
    }

    .cs-logo-upload-btn[b-391qktht7d]  input[type="file"] {
        display: none;
    }

/* Primer/szekunder gomb */
.cs-primary-btn[b-391qktht7d] {
    background: #1a3a5c;
    color: #fff;
    border: none;
    padding: 0.55rem 1rem;
    border-radius: 6px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.9rem;
}

    .cs-primary-btn:hover[b-391qktht7d] {
        background: #0c2541;
    }

/* ==================== Magyar állami ünnepek grid ==================== */
.cs-state-holidays-grid[b-391qktht7d] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 0.4rem;
    margin: 0.5rem 0 1rem 0;
}

.cs-state-holiday[b-391qktht7d] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.5rem 0.75rem;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 6px;
    font-size: 0.85rem;
}

.cs-sh-date[b-391qktht7d] {
    background: #1a3a5c;
    color: #fff;
    padding: 2px 8px;
    border-radius: 4px;
    font-family: 'Courier New', monospace;
    font-weight: 700;
    font-size: 0.8rem;
}

.cs-sh-name[b-391qktht7d] {
    color: #1e293b;
}

/* ============================================================
   Veszélyes zóna — Demo adatok törlése (WARNING szint, narancs)
   Kevésbé drasztikus mint a Cég törlése — visszaállítható, csak adatok érintettek.
   ============================================================ */
.cs-warning-body[b-391qktht7d] {
    padding: 20px 24px;
    background: rgba(245, 158, 11, 0.06);
    border: 1px solid rgba(245, 158, 11, 0.30);
    border-radius: 12px;
    margin-bottom: 20px;
}

.cs-warning-text[b-391qktht7d] {
    color: #78350f;
    margin: 0 0 16px;
    line-height: 1.55;
    font-size: 0.95rem;
}

.cs-warning-text strong[b-391qktht7d] {
    color: #b45309;
    font-weight: 700;
    font-size: 1.05rem;
}

.cs-warning-btn[b-391qktht7d] {
    background: linear-gradient(135deg, #f59e0b, #d97706);
    color: #ffffff;
    border: none;
    padding: 10px 20px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 0.92rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.2s;
    box-shadow: 0 4px 12px rgba(245, 158, 11, 0.25);
}

.cs-warning-btn:hover:not([disabled])[b-391qktht7d] {
    background: linear-gradient(135deg, #d97706, #b45309);
    box-shadow: 0 6px 16px rgba(245, 158, 11, 0.35);
    transform: translateY(-1px);
}

.cs-warning-btn[disabled][b-391qktht7d] {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Két gomb sorba (Törlés + Betöltés) — wrap kisebb szélességen */
.cs-warning-actions[b-391qktht7d] {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

/* Másodlagos verzió a betöltés gombhoz — kék/sötétkék tónus, hogy elváljon a törléstől */
.cs-warning-btn-secondary[b-391qktht7d] {
    background: linear-gradient(135deg, #1e3a8a, #1e40af);
    box-shadow: 0 4px 12px rgba(30, 58, 138, 0.25);
}

.cs-warning-btn-secondary:hover:not([disabled])[b-391qktht7d] {
    background: linear-gradient(135deg, #1e40af, #1d4ed8);
    box-shadow: 0 6px 16px rgba(30, 58, 138, 0.35);
}

/* Confirm modal warning verzió */
.cs-modal-warning .cs-modal-header[b-391qktht7d] {
    background: linear-gradient(135deg, #fef3c7, #fde68a);
    color: #78350f;
    border-bottom: 1px solid #fcd34d;
}

.cs-modal-warning .cs-modal-header h3[b-391qktht7d] {
    color: #78350f;
}

.cs-impact-list[b-391qktht7d] {
    margin: 10px 0;
    padding-left: 24px;
    color: #475569;
}

.cs-impact-list li[b-391qktht7d] {
    padding: 3px 0;
}

.cs-warning-btn-final[b-391qktht7d] {
    background: linear-gradient(135deg, #f59e0b, #d97706);
    color: #ffffff;
    border: none;
    padding: 12px 24px;
    border-radius: 8px;
    font-weight: 700;
    font-size: 0.95rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.2s;
}

.cs-warning-btn-final:hover:not([disabled])[b-391qktht7d] {
    background: linear-gradient(135deg, #d97706, #b45309);
    transform: translateY(-1px);
}

.cs-warning-btn-final[disabled][b-391qktht7d] {
    opacity: 0.6;
    cursor: not-allowed;
}
/* /Components/Pages/ConfirmEmail/ConfirmEmailComponent.razor.rz.scp.css */
.ce-container[b-k26vcvgobo] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    background: linear-gradient(135deg, #0f172a 0%, #1a3a5c 100%);
    padding: 2rem;
}

.ce-box[b-k26vcvgobo] {
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    padding: 3rem 2rem;
    width: 100%;
    max-width: 460px;
    text-align: center;
}

.ce-brand[b-k26vcvgobo] {
    display: inline-block;
    margin-bottom: 1.5rem;
}

.ce-brand-logo[b-k26vcvgobo] {
    max-width: 180px;
    height: auto;
}

.ce-icon[b-k26vcvgobo] {
    width: 80px;
    height: 80px;
    margin: 0 auto 1.25rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 2.5rem;
}

.ce-icon-success[b-k26vcvgobo] {
    background: linear-gradient(135deg, #059669 0%, #10b981 100%);
}

.ce-icon-error[b-k26vcvgobo] {
    background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%);
}

.ce-title[b-k26vcvgobo] {
    font-size: 1.5rem;
    color: #1a3a5c;
    margin: 0 0 0.5rem;
    font-weight: 700;
}

.ce-subtitle[b-k26vcvgobo] {
    color: #64748b;
    font-size: 0.95rem;
    margin: 0 0 1.5rem 0;
}

.ce-btn[b-k26vcvgobo] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.5rem;
    border: none;
    border-radius: 8px;
    font-size: 0.95rem;
    font-weight: 600;
    cursor: pointer;
}

.ce-btn-primary[b-k26vcvgobo] {
    background: linear-gradient(135deg, #1a3a5c 0%, #2563eb 100%);
    color: #fff;
}

    .ce-btn-primary:hover[b-k26vcvgobo] {
        background: linear-gradient(135deg, #0c2541 0%, #1d4ed8 100%);
    }
/* /Components/Pages/DashBoard/DashboardComponent.razor.rz.scp.css */
/* ===== Konténer ===== */
.db-container[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    padding: 2rem;
    gap: 1.5rem;
    width: 100%;
}

/* ===== Fejléc ===== */
.db-header[b-2opx8ttbpm] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
}

.db-title[b-2opx8ttbpm] {
    font-size: 1.75rem;
    font-weight: 700;
    color: #1e293b;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin: 0;
}

.db-title i[b-2opx8ttbpm] {
    color: #1a3a5c;
}

.db-controls[b-2opx8ttbpm] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.db-add-btn[b-2opx8ttbpm] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: #1a3a5c;
    color: #ffffff;
    border: none;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 2px 6px rgba(26, 58, 92, 0.2);
}

.db-add-btn:hover[b-2opx8ttbpm] {
    background: #0f2a44;
    box-shadow: 0 4px 12px rgba(26, 58, 92, 0.3);
}

/* Init import gomb — múltbeli könyvelés behangolása. Outline stílus, hogy ne vonja el a fókuszt a fő akciókról. */
.db-init-import-btn[b-2opx8ttbpm] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: #ffffff;
    color: #1a3a5c;
    border: 1.5px solid #1a3a5c;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 1px 4px rgba(26, 58, 92, 0.08);
}

.db-init-import-btn:hover[b-2opx8ttbpm] {
    background: #f1f5f9;
    border-color: #0f2a44;
    color: #0f2a44;
    box-shadow: 0 3px 10px rgba(26, 58, 92, 0.18);
}

.db-init-import-btn i[b-2opx8ttbpm] {
    font-size: 1rem;
}

.db-year-selector[b-2opx8ttbpm] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 0.35rem 0.5rem;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}

.db-year-btn[b-2opx8ttbpm] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: #1a3a5c;
    cursor: pointer;
    font-size: 0.85rem;
    transition: background 0.2s ease;
}

.db-year-btn:hover[b-2opx8ttbpm] {
    background: #f1f5f9;
}

.db-year-label[b-2opx8ttbpm] {
    font-size: 1.1rem;
    font-weight: 700;
    color: #1e293b;
    min-width: 50px;
    text-align: center;
}

/* ===== Widget rács ===== */
.db-grid[b-2opx8ttbpm] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
}

.db-widget-half[b-2opx8ttbpm] {
    grid-column: span 1;
}

.db-widget-full[b-2opx8ttbpm] {
    grid-column: span 2;
}

.db-widget[b-2opx8ttbpm] {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
    overflow: hidden;
    transition: box-shadow 0.2s ease;
}

.db-widget:hover[b-2opx8ttbpm] {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}

/* ===== Widget fejléc ===== */
.db-widget-header[b-2opx8ttbpm] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid #f1f5f9;
    background: #f8fafc;
}

.db-widget-title[b-2opx8ttbpm] {
    font-size: 0.85rem;
    font-weight: 600;
    color: #475569;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.db-widget-title i[b-2opx8ttbpm] {
    color: #1a3a5c;
}

.db-widget-remove[b-2opx8ttbpm] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: #94a3b8;
    cursor: pointer;
    font-size: 0.8rem;
    transition: all 0.15s ease;
    opacity: 0;
}

.db-widget:hover .db-widget-remove[b-2opx8ttbpm] {
    opacity: 1;
}

.db-widget-remove:hover[b-2opx8ttbpm] {
    background: #fee2e2;
    color: #dc2626;
}

/* ===== Widget tartalom ===== */
.db-widget-body[b-2opx8ttbpm] {
    padding: 1rem;
    min-height: 100px;
}

    /* Apex chart-ok teljes szélességet vegyenek fel a kártyán belül.
       Néhány esetben az ApexCharts default 95%-ot használ, ami "lebegő" hatást ad
       a kártyához képest — ezt felülírjuk minden chart canvason. */
    .db-widget-body .apexcharts-canvas[b-2opx8ttbpm],
    .db-widget-body .apexcharts-svg[b-2opx8ttbpm] {
        width: 100% !important;
        max-width: 100% !important;
    }

/* Top 10 partner — a horizontal bar chart magassága a partnerszámból auto-számolódik
   (40px/partner), így a hosszú nevek nem tömörülnek össze. A wrap div biztosítja
   a 100% szélességet és a kártya magasságához igazodik. */
.db-top-partners-wrap[b-2opx8ttbpm] {
    width: 100%;
    overflow-x: auto;
}

.db-widget-empty[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 200px;
    color: #94a3b8;
    gap: 0.5rem;
    font-size: 0.9rem;
}

.db-widget-empty i[b-2opx8ttbpm] {
    font-size: 2rem;
}

/* ===== Per-widget év navigáció (donut chart-ok belső lapozója) ===== */
.db-widget-with-year[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

/* ===== Donut chart wrapper — saját HTML legenddel a chart ALATT ===== */
/* A Radzen RadzenLegend ki van véve, mert sok elem esetén ráfedne a donutra. */
/* Helyette egy custom HTML legend van, ami soha nem ütközik a chart-tal. */
.db-donut-wrapper[b-2opx8ttbpm] {
    width: 100%;
    display: flex;
    flex-direction: column;
}

.db-donut-legend[b-2opx8ttbpm] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 0.35rem 0.6rem;
    padding: 0.85rem 0.5rem 0.5rem 0.5rem;
    margin-top: 0.5rem;
    border-top: 1px solid #f1f5f9;
    max-height: 180px;
    overflow-y: auto;
}

.db-donut-legend-item[b-2opx8ttbpm] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.78rem;
    color: #475569;
    line-height: 1.3;
    padding: 0.15rem 0;
}

.db-donut-legend-swatch[b-2opx8ttbpm] {
    flex-shrink: 0;
    width: 12px;
    height: 12px;
    border-radius: 3px;
    border: 1px solid rgba(0, 0, 0, 0.08);
}

.db-donut-legend-label[b-2opx8ttbpm] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 500;
}

/* Reszponzív — kisebb képernyőn 1 oszlop, hosszabb label-ek férnek el */
@media (max-width: 700px) {
    .db-donut-legend[b-2opx8ttbpm] {
        grid-template-columns: 1fr;
        max-height: 220px;
    }
}

/* ===== Donut chart oldalsó legenddel — chart bal, legend jobb oldalon ===== */
.db-donut-side-wrapper[b-2opx8ttbpm] {
    display: flex;
    align-items: center;
    gap: 1rem;
    width: 100%;
}

.db-donut-side-chart[b-2opx8ttbpm] {
    flex: 0 0 55%;
    min-width: 0;
}

.db-donut-side-legend[b-2opx8ttbpm] {
    flex: 1 1 45%;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    max-height: 280px;
    overflow-y: auto;
    padding: 0.25rem 0.5rem 0.25rem 0;
    min-width: 0;
}

.db-donut-side-legend .db-donut-legend-item[b-2opx8ttbpm] {
    font-size: 0.78rem;
    color: #475569;
    line-height: 1.3;
    padding: 0.15rem 0;
}

@media (max-width: 700px) {
    .db-donut-side-wrapper[b-2opx8ttbpm] {
        flex-direction: column;
        align-items: stretch;
    }

    .db-donut-side-chart[b-2opx8ttbpm] {
        flex: 0 0 auto;
    }

    .db-donut-side-legend[b-2opx8ttbpm] {
        flex: 0 0 auto;
        max-height: 180px;
    }
}

.db-widget-year-bar[b-2opx8ttbpm] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.25rem 0;
}

.db-widget-year-btn[b-2opx8ttbpm] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    background: #f1f5f9;
    color: #1a3a5c;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.15s ease;
}

.db-widget-year-btn:hover[b-2opx8ttbpm] {
    background: #1a3a5c;
    color: #ffffff;
    border-color: #1a3a5c;
}

.db-widget-year-btn i[b-2opx8ttbpm] {
    font-size: 0.8rem;
}

.db-widget-year-label[b-2opx8ttbpm] {
    font-size: 0.95rem;
    font-weight: 700;
    color: #1a3a5c;
    min-width: 50px;
    text-align: center;
}

/* ===== Chart tooltip stílus (1000-es tagolt formátum) ===== */
[b-2opx8ttbpm] .db-chart-tt {
    padding: 0.4rem 0.6rem;
    font-size: 0.85rem;
    line-height: 1.3;
    color: #1e293b;
    white-space: nowrap;
}

[b-2opx8ttbpm] .db-chart-tt strong {
    color: #1a3a5c;
    font-size: 0.8rem;
    display: block;
    margin-bottom: 0.2rem;
}

/* ===== Per-widget töltés állapot — minden widget cellában külön spinner ===== */
.db-widget-loading[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 200px;
    gap: 0.75rem;
    padding: 1.5rem;
}

.db-widget-loading-text[b-2opx8ttbpm] {
    font-size: 0.85rem;
    color: #64748b;
    text-align: center;
    max-width: 280px;
}

/* ===== KPI kártyák ===== */
.db-kpi-grid[b-2opx8ttbpm] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}

.db-kpi-card[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    padding: 1rem 1.25rem;
    border-radius: 10px;
    border: 1px solid #e2e8f0;
}

.db-kpi-revenue[b-2opx8ttbpm] {
    border-left: 4px solid #16a34a;
}

.db-kpi-expense[b-2opx8ttbpm] {
    border-left: 4px solid #dc2626;
}

.db-kpi-profit[b-2opx8ttbpm] {
    border-left: 4px solid #1a3a5c;
}

.db-kpi-growth[b-2opx8ttbpm] {
    border-left: 4px solid #f59e0b;
}

.db-kpi-label[b-2opx8ttbpm] {
    font-size: 0.75rem;
    color: #64748b;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.db-kpi-value[b-2opx8ttbpm] {
    font-size: 1.4rem;
    font-weight: 700;
    color: #1e293b;
}

.db-kpi-sub[b-2opx8ttbpm] {
    font-size: 0.8rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.db-kpi-pos[b-2opx8ttbpm] {
    color: #16a34a;
}

.db-kpi-neg[b-2opx8ttbpm] {
    color: #dc2626;
}

/* ===== Betöltés ===== */
.db-loading[b-2opx8ttbpm] {
    display: flex;
    justify-content: center;
    padding: 4rem;
}

.db-loading-full[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100vh;
    width: 100%;
}

.db-loading-text[b-2opx8ttbpm] {
    margin-top: 1rem;
}

/* ===== Katalógus overlay ===== */
.db-catalog-overlay[b-2opx8ttbpm] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(15, 23, 42, 0.5);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    backdrop-filter: blur(4px);
}

.db-catalog-panel[b-2opx8ttbpm] {
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
    width: 100%;
    max-width: 600px;
    max-height: 80vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.db-catalog-header[b-2opx8ttbpm] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
}

.db-catalog-title[b-2opx8ttbpm] {
    font-size: 1.15rem;
    font-weight: 700;
    color: #1e293b;
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin: 0;
}

.db-catalog-title i[b-2opx8ttbpm] {
    color: #1a3a5c;
}

.db-catalog-close[b-2opx8ttbpm] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 8px;
    background: transparent;
    color: #64748b;
    cursor: pointer;
    font-size: 1rem;
    transition: all 0.15s ease;
}

.db-catalog-close:hover[b-2opx8ttbpm] {
    background: #fee2e2;
    color: #dc2626;
}

.db-catalog-body[b-2opx8ttbpm] {
    padding: 1rem;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.db-catalog-item[b-2opx8ttbpm] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.85rem 1rem;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.15s ease;
}

.db-catalog-item:hover:not(.db-catalog-active)[b-2opx8ttbpm] {
    background: #f0f7ff;
    border-color: #1a3a5c;
    box-shadow: 0 2px 8px rgba(26, 58, 92, 0.1);
}

.db-catalog-active[b-2opx8ttbpm] {
    background: #f0fdf4;
    border-color: #16a34a;
    cursor: pointer;
}

.db-catalog-active:hover[b-2opx8ttbpm] {
    background: #fef2f2;
    border-color: #dc2626;
}

.db-catalog-icon[b-2opx8ttbpm] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 10px;
    background: #f1f5f9;
    color: #1a3a5c;
    font-size: 1.1rem;
    flex-shrink: 0;
}

.db-catalog-active .db-catalog-icon[b-2opx8ttbpm] {
    background: #dcfce7;
    color: #16a34a;
    transition: all 0.15s ease;
}

.db-catalog-active:hover .db-catalog-icon[b-2opx8ttbpm] {
    background: #fee2e2;
    color: #dc2626;
}

.db-catalog-info[b-2opx8ttbpm] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.db-catalog-item-title[b-2opx8ttbpm] {
    font-size: 0.9rem;
    font-weight: 600;
    color: #1e293b;
}

.db-catalog-item-desc[b-2opx8ttbpm] {
    font-size: 0.78rem;
    color: #64748b;
}

.db-catalog-badge[b-2opx8ttbpm] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #16a34a;
    color: #ffffff;
    font-size: 0.7rem;
    transition: all 0.15s ease;
}

.db-catalog-badge-x[b-2opx8ttbpm] { display: none; }

.db-catalog-active:hover .db-catalog-badge[b-2opx8ttbpm] {
    background: #dc2626;
}

.db-catalog-active:hover .db-catalog-badge-check[b-2opx8ttbpm] { display: none; }
.db-catalog-active:hover .db-catalog-badge-x[b-2opx8ttbpm] { display: block; }

.db-catalog-add[b-2opx8ttbpm] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #f1f5f9;
    color: #64748b;
    font-size: 0.75rem;
    transition: all 0.15s ease;
}

.db-catalog-item:hover:not(.db-catalog-active):not(.db-catalog-disabled) .db-catalog-add[b-2opx8ttbpm] {
    background: #1a3a5c;
    color: #ffffff;
}

/* Disabled állapot — limit elérve, új widget nem adható hozzá */
.db-catalog-disabled[b-2opx8ttbpm] {
    opacity: 0.55;
    cursor: not-allowed;
    background: #f8fafc;
}

    .db-catalog-disabled:hover[b-2opx8ttbpm] {
        background: #f1f5f9;
        transform: none;
    }

.db-catalog-add-disabled[b-2opx8ttbpm] {
    background: #fef2f2;
    color: #b91c1c;
    border: 1px solid #fecaca;
}

.db-catalog-item:hover .db-catalog-add-disabled[b-2opx8ttbpm] {
    background: #fef2f2;
    color: #b91c1c;
}

/* ===== Reszponzív ===== */
@media (max-width: 1024px) {
    .db-kpi-grid[b-2opx8ttbpm] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .db-grid[b-2opx8ttbpm] {
        grid-template-columns: 1fr;
    }

    .db-widget-half[b-2opx8ttbpm],
    .db-widget-full[b-2opx8ttbpm] {
        grid-column: span 1;
    }

    .db-header[b-2opx8ttbpm] {
        flex-direction: column;
        align-items: flex-start;
    }

    .db-kpi-grid[b-2opx8ttbpm] {
        grid-template-columns: 1fr;
    }

    .db-catalog-overlay[b-2opx8ttbpm] {
        padding: 0.5rem;
    }

    .db-yearly-forecast-summary[b-2opx8ttbpm] {
        grid-template-columns: 1fr;
    }
}

/* ===== Éves forecast widget ===== */
.db-yearly-forecast[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.db-yearly-forecast-summary[b-2opx8ttbpm] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.6rem;
    margin-top: 0.25rem;
}

.db-yearly-forecast-card[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding: 0.6rem 0.8rem;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
}

.db-yearly-forecast-low[b-2opx8ttbpm] {
    border-left: 4px solid #ef4444;
}

.db-yearly-forecast-mid[b-2opx8ttbpm] {
    border-left: 4px solid #f59e0b;
}

.db-yearly-forecast-high[b-2opx8ttbpm] {
    border-left: 4px solid #16a34a;
}

.db-yearly-forecast-label[b-2opx8ttbpm] {
    font-size: 0.7rem;
    color: #64748b;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.db-yearly-forecast-value[b-2opx8ttbpm] {
    font-size: 1.05rem;
    font-weight: 700;
    color: #1e293b;
}

.db-yearly-forecast-ytd[b-2opx8ttbpm] {
    font-size: 0.8rem;
    color: #475569;
    padding: 0.4rem 0.6rem;
    background: #f1f5f9;
    border-radius: 6px;
}

.db-yearly-forecast-ytd i[b-2opx8ttbpm] {
    color: #1a3a5c;
    margin-right: 0.3rem;
}

/* ===== Havi kumulatív bevétel/kiadás widget ===== */
.db-aggflow[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.db-aggflow-summary[b-2opx8ttbpm] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.75rem;
}

.db-aggflow-card[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    padding: 0.85rem 1.1rem;
    border-radius: 10px;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
}

.db-aggflow-revenue[b-2opx8ttbpm] {
    border-left: 4px solid #16a34a;
}

.db-aggflow-expense[b-2opx8ttbpm] {
    border-left: 4px solid #dc2626;
}

.db-aggflow-profit[b-2opx8ttbpm] {
    border-left: 4px solid #1a3a5c;
    background: rgba(22, 163, 74, 0.06);
}

.db-aggflow-loss[b-2opx8ttbpm] {
    border-left: 4px solid #dc2626;
    background: rgba(220, 38, 38, 0.06);
}

.db-aggflow-label[b-2opx8ttbpm] {
    font-size: 0.72rem;
    color: #64748b;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.db-aggflow-value[b-2opx8ttbpm] {
    font-size: 1.15rem;
    font-weight: 700;
    color: #1e293b;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.db-aggflow-profit .db-aggflow-value[b-2opx8ttbpm] {
    color: #15803d;
}

.db-aggflow-loss .db-aggflow-value[b-2opx8ttbpm] {
    color: #b91c1c;
}

@media (max-width: 700px) {
    .db-aggflow-summary[b-2opx8ttbpm] {
        grid-template-columns: 1fr;
    }
}

/* ===== AI cégelemzés widget ===== */
.db-ai-analysis[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.db-ai-header[b-2opx8ttbpm] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.db-ai-header-left[b-2opx8ttbpm] {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

.db-ai-icon[b-2opx8ttbpm] {
    font-size: 2rem;
    color: #1a3a5c;
    flex-shrink: 0;
}

.db-ai-title[b-2opx8ttbpm] {
    font-size: 1.1rem;
    font-weight: 700;
    color: #1a3a5c;
}

.db-ai-subtitle[b-2opx8ttbpm] {
    font-size: 0.78rem;
    color: #64748b;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin-top: 0.2rem;
}

.db-ai-cache-badge[b-2opx8ttbpm] {
    padding: 0.1rem 0.5rem;
    background: #e2e8f0;
    color: #475569;
    border-radius: 4px;
    font-size: 0.7rem;
    font-weight: 600;
}

.db-ai-confidence[b-2opx8ttbpm] {
    padding: 0.1rem 0.5rem;
    border-radius: 4px;
    font-size: 0.7rem;
    font-weight: 600;
}

.db-ai-confidence-high[b-2opx8ttbpm] {
    background: rgba(22, 163, 74, 0.12);
    color: #15803d;
}

.db-ai-confidence-medium[b-2opx8ttbpm] {
    background: rgba(245, 158, 11, 0.12);
    color: #b45309;
}

.db-ai-confidence-low[b-2opx8ttbpm] {
    background: rgba(239, 68, 68, 0.12);
    color: #b91c1c;
}

.db-ai-refresh-btn[b-2opx8ttbpm] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.5rem 0.9rem;
    background: #1a3a5c;
    color: #ffffff;
    border: none;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s ease, transform 0.2s ease;
}

.db-ai-refresh-btn:hover:not(:disabled)[b-2opx8ttbpm] {
    background: #16314f;
    transform: translateY(-1px);
}

.db-ai-refresh-btn:disabled[b-2opx8ttbpm] {
    background: #94a3b8;
    cursor: not-allowed;
}

.db-ai-loading[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 2.5rem 1rem;
    gap: 1rem;
}

.db-ai-loading-text[b-2opx8ttbpm] {
    font-size: 0.9rem;
    color: #64748b;
    text-align: center;
}

.db-ai-section[b-2opx8ttbpm] {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 1rem 1.25rem;
}

.db-ai-section-title[b-2opx8ttbpm] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.95rem;
    font-weight: 700;
    color: #1a3a5c;
    margin-bottom: 0.6rem;
}

.db-ai-section-title i[b-2opx8ttbpm] {
    font-size: 1rem;
}

.db-ai-summary[b-2opx8ttbpm] {
    border-left: 4px solid #1a3a5c;
}

.db-ai-summary-text[b-2opx8ttbpm] {
    margin: 0;
    font-size: 0.92rem;
    line-height: 1.5;
    color: #334155;
}

.db-ai-grid[b-2opx8ttbpm] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.db-ai-strengths[b-2opx8ttbpm] {
    border-left: 4px solid #16a34a;
}

.db-ai-strengths .db-ai-section-title[b-2opx8ttbpm] {
    color: #15803d;
}

.db-ai-strengths .db-ai-section-title i[b-2opx8ttbpm] {
    color: #16a34a;
}

.db-ai-weaknesses[b-2opx8ttbpm] {
    border-left: 4px solid #ef4444;
}

.db-ai-weaknesses .db-ai-section-title[b-2opx8ttbpm] {
    color: #b91c1c;
}

.db-ai-weaknesses .db-ai-section-title i[b-2opx8ttbpm] {
    color: #ef4444;
}

.db-ai-recommendations[b-2opx8ttbpm] {
    border-left: 4px solid #f59e0b;
}

.db-ai-recommendations .db-ai-section-title[b-2opx8ttbpm] {
    color: #b45309;
}

.db-ai-recommendations .db-ai-section-title i[b-2opx8ttbpm] {
    color: #f59e0b;
}

.db-ai-list[b-2opx8ttbpm] {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.db-ai-list li[b-2opx8ttbpm] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    font-size: 0.88rem;
    color: #334155;
    line-height: 1.4;
}

.db-ai-list li i[b-2opx8ttbpm] {
    flex-shrink: 0;
    margin-top: 0.15rem;
    font-size: 0.85rem;
}

.db-ai-strengths .db-ai-list li i[b-2opx8ttbpm] {
    color: #16a34a;
}

.db-ai-weaknesses .db-ai-list li i[b-2opx8ttbpm] {
    color: #ef4444;
}

.db-ai-list-numbered[b-2opx8ttbpm] {
    counter-reset: ai-rec;
}

.db-ai-list-numbered li[b-2opx8ttbpm] {
    align-items: flex-start;
}

.db-ai-num[b-2opx8ttbpm] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #f59e0b;
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 700;
    margin-top: 0.05rem;
}

@media (max-width: 900px) {
    .db-ai-grid[b-2opx8ttbpm] {
        grid-template-columns: 1fr;
    }

    .db-ai-header[b-2opx8ttbpm] {
        flex-direction: column;
    }

    .db-ai-refresh-btn[b-2opx8ttbpm] {
        width: 100%;
        justify-content: center;
    }
}

/* ===== Cash runway widget ===== */
.db-runway[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    padding: 0.75rem 0.25rem 0.25rem 0.25rem;
    border-radius: 8px;
    position: relative;
}

.db-runway-headline[b-2opx8ttbpm] {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 0.6rem;
    padding: 0.5rem 0;
}

.db-runway-number[b-2opx8ttbpm] {
    font-size: 3.6rem;
    font-weight: 800;
    line-height: 1;
    color: #0f2d52;
    text-shadow: 0 2px 4px rgba(15, 45, 82, 0.1);
}

.db-runway-number i[b-2opx8ttbpm] {
    font-size: 3.2rem;
}

.db-runway-unit[b-2opx8ttbpm] {
    font-size: 1.05rem;
    font-weight: 600;
    color: #475569;
}

.db-runway-enddate[b-2opx8ttbpm] {
    text-align: center;
    font-size: 0.85rem;
    color: #64748b;
    font-weight: 500;
    padding: 0.4rem 0.75rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
}

.db-runway-enddate i[b-2opx8ttbpm] {
    color: #94a3b8;
}

.db-runway-metrics[b-2opx8ttbpm] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.6rem;
}

.db-runway-metric[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    padding: 0.65rem 0.85rem;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
}

.db-runway-metric-label[b-2opx8ttbpm] {
    font-size: 0.7rem;
    font-weight: 600;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.db-runway-metric-value[b-2opx8ttbpm] {
    font-size: 1rem;
    font-weight: 700;
    color: #1e293b;
}

.db-runway-metric-negative[b-2opx8ttbpm] {
    color: #dc2626;
}

.db-runway-trend[b-2opx8ttbpm] {
    margin-top: 0.25rem;
    padding: 0.4rem 0.5rem 0 0.5rem;
    background: #f8fafc;
    border-radius: 6px;
    border: 1px solid #f1f5f9;
}

.db-runway-status-badge[b-2opx8ttbpm] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.6rem 0.85rem;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    text-align: center;
}

/* Státusz színkódok ----------------- */
.db-runway-healthy .db-runway-number[b-2opx8ttbpm] {
    color: #15803d;
}

.db-runway-healthy .db-runway-status-badge[b-2opx8ttbpm] {
    background: rgba(22, 163, 74, 0.1);
    color: #15803d;
    border: 1px solid rgba(22, 163, 74, 0.3);
}

.db-runway-healthy .db-runway-status-badge i[b-2opx8ttbpm] {
    color: #16a34a;
}

.db-runway-warning .db-runway-number[b-2opx8ttbpm] {
    color: #d97706;
}

.db-runway-warning .db-runway-status-badge[b-2opx8ttbpm] {
    background: rgba(217, 119, 6, 0.1);
    color: #b45309;
    border: 1px solid rgba(217, 119, 6, 0.3);
}

.db-runway-warning .db-runway-status-badge i[b-2opx8ttbpm] {
    color: #f59e0b;
}

.db-runway-critical .db-runway-number[b-2opx8ttbpm] {
    color: #b91c1c;
}

.db-runway-critical .db-runway-status-badge[b-2opx8ttbpm] {
    background: rgba(220, 38, 38, 0.1);
    color: #991b1b;
    border: 1px solid rgba(220, 38, 38, 0.3);
    animation: db-runway-pulse-b-2opx8ttbpm 2.5s ease-in-out infinite;
}

.db-runway-critical .db-runway-status-badge i[b-2opx8ttbpm] {
    color: #dc2626;
}

@keyframes db-runway-pulse-b-2opx8ttbpm {
    0%, 100% { box-shadow: 0 0 0 0 rgba(220, 38, 38, 0); }
    50% { box-shadow: 0 0 0 4px rgba(220, 38, 38, 0.15); }
}

@media (max-width: 640px) {
    .db-runway-metrics[b-2opx8ttbpm] {
        grid-template-columns: 1fr;
    }

    .db-runway-number[b-2opx8ttbpm] {
        font-size: 2.8rem;
    }
}

/* ==================== Insight riport widget ==================== */

.db-insight[b-2opx8ttbpm] { display: flex; flex-direction: column; gap: 1rem; }

/* Fejléc: időszak + állapot */
.db-insight-top[b-2opx8ttbpm] { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 0.5rem; }
.db-insight-period[b-2opx8ttbpm] { display: flex; align-items: center; gap: 0.45rem; font-size: 0.88rem; font-weight: 600; color: #1e293b; }
.db-insight-period i[b-2opx8ttbpm] { color: #1a3558; font-size: 1.1rem; }

.db-insight-health[b-2opx8ttbpm] { display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.3rem 0.75rem; border-radius: 20px; font-size: 0.78rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.3px; }
.db-insight-health-kivalo[b-2opx8ttbpm] { background: #dcfce7; color: #15803d; }
.db-insight-health-jo[b-2opx8ttbpm] { background: #dbeafe; color: #1d4ed8; }
.db-insight-health-figyelmezteto[b-2opx8ttbpm] { background: #fef3c7; color: #b45309; }
.db-insight-health-kritikus[b-2opx8ttbpm] { background: #fee2e2; color: #dc2626; }

/* KPI kártyák */
.db-insight-kpis[b-2opx8ttbpm] { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.75rem; }
.db-insight-kpi[b-2opx8ttbpm] { display: flex; flex-direction: column; gap: 0.2rem; padding: 0.75rem; background: #f8fafc; border-radius: 10px; border: 1px solid #e2e8f0; }
.db-insight-kpi-label[b-2opx8ttbpm] { font-size: 0.72rem; font-weight: 600; color: #64748b; text-transform: uppercase; letter-spacing: 0.3px; }
.db-insight-kpi-value[b-2opx8ttbpm] { font-size: 1.05rem; font-weight: 700; color: #1e293b; }
.db-insight-kpi-value.revenue[b-2opx8ttbpm] { color: #16a34a; }
.db-insight-kpi-value.expense[b-2opx8ttbpm] { color: #dc2626; }

/* Trend jelzők */
.db-insight-trends[b-2opx8ttbpm] { display: flex; flex-wrap: wrap; gap: 0.65rem; }
.db-insight-trend[b-2opx8ttbpm] { display: flex; align-items: center; gap: 0.5rem; padding: 0.45rem 0.85rem; background: #f8fafc; border-radius: 8px; border: 1px solid #e2e8f0; }
.db-insight-trend-label[b-2opx8ttbpm] { font-size: 0.75rem; color: #64748b; font-weight: 500; }
.db-insight-trend-value[b-2opx8ttbpm] { display: flex; align-items: center; gap: 0.25rem; font-size: 0.8rem; font-weight: 700; }
.db-insight-trend-novekvo[b-2opx8ttbpm] { color: #16a34a; }
.db-insight-trend-csokkeno[b-2opx8ttbpm] { color: #dc2626; }
.db-insight-trend-stagnalo[b-2opx8ttbpm] { color: #64748b; }

/* Mini chart */
.db-insight-chart[b-2opx8ttbpm] { border-radius: 10px; border: 1px solid #e2e8f0; padding: 0.5rem; background: #ffffff; }

/* Kiemelkedő hónapok */
.db-insight-extremes[b-2opx8ttbpm] { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.65rem; }
.db-insight-extreme[b-2opx8ttbpm] { display: flex; align-items: center; gap: 0.65rem; padding: 0.7rem 0.85rem; border-radius: 10px; border: 1px solid #e2e8f0; background: #f8fafc; }
.db-insight-extreme i[b-2opx8ttbpm] { font-size: 1.4rem; min-width: 28px; }
.db-insight-extreme.best i[b-2opx8ttbpm] { color: #16a34a; }
.db-insight-extreme.worst i[b-2opx8ttbpm] { color: #f59e0b; }
.db-insight-extreme.high-expense i[b-2opx8ttbpm] { color: #dc2626; }
.db-insight-extreme-label[b-2opx8ttbpm] { font-size: 0.7rem; font-weight: 600; color: #64748b; text-transform: uppercase; letter-spacing: 0.3px; display: block; }
.db-insight-extreme-value[b-2opx8ttbpm] { font-size: 0.82rem; font-weight: 700; color: #1e293b; display: block; }

/* Kiemelés / figyelmeztetés szekciók */
.db-insight-section[b-2opx8ttbpm] { padding: 0.85rem 1rem; border-radius: 10px; border: 1px solid #e2e8f0; }
.db-insight-section-title[b-2opx8ttbpm] { display: flex; align-items: center; gap: 0.4rem; font-size: 0.82rem; font-weight: 700; margin-bottom: 0.55rem; }
.db-insight-highlights[b-2opx8ttbpm] { background: #f0fdf4; border-color: #bbf7d0; }
.db-insight-highlights .db-insight-section-title[b-2opx8ttbpm] { color: #15803d; }
.db-insight-warnings[b-2opx8ttbpm] { background: #fffbeb; border-color: #fde68a; }
.db-insight-warnings .db-insight-section-title[b-2opx8ttbpm] { color: #b45309; }

.db-insight-list[b-2opx8ttbpm] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.4rem; }
.db-insight-list li[b-2opx8ttbpm] { display: flex; align-items: flex-start; gap: 0.45rem; font-size: 0.82rem; color: #334155; line-height: 1.45; }
.db-insight-list li i[b-2opx8ttbpm] { min-width: 18px; margin-top: 2px; }
.db-insight-highlights .db-insight-list li i[b-2opx8ttbpm] { color: #16a34a; }
.db-insight-warnings .db-insight-list li i[b-2opx8ttbpm] { color: #f59e0b; }

/* Reszponzív */
@media (max-width: 768px) {
    .db-insight-kpis[b-2opx8ttbpm] { grid-template-columns: repeat(2, 1fr); }
    .db-insight-extremes[b-2opx8ttbpm] { grid-template-columns: 1fr; }
    .db-insight-trends[b-2opx8ttbpm] { flex-direction: column; }
}

@media (max-width: 480px) {
    .db-insight-kpis[b-2opx8ttbpm] { grid-template-columns: 1fr; }
}

/* ==================== Decision Advisor widget ==================== */

.db-decision[b-2opx8ttbpm] { display: flex; flex-direction: column; gap: 1rem; }

/* KPI fejléc sáv */
.db-decision-kpis[b-2opx8ttbpm] { display: flex; flex-wrap: wrap; gap: 0.75rem; padding-bottom: 0.75rem; border-bottom: 1px solid #e2e8f0; }
.db-decision-kpi[b-2opx8ttbpm] { display: flex; align-items: center; gap: 0.55rem; padding: 0.55rem 0.85rem; background: #f8fafc; border-radius: 10px; border: 1px solid #e2e8f0; flex: 1; min-width: 140px; }
.db-decision-kpi i[b-2opx8ttbpm] { font-size: 1.3rem; color: #1a3558; }
.db-decision-kpi-value[b-2opx8ttbpm] { font-size: 0.95rem; font-weight: 700; color: #0b1a33; display: block; }
.db-decision-kpi-label[b-2opx8ttbpm] { font-size: 0.68rem; font-weight: 600; color: #64748b; text-transform: uppercase; letter-spacing: 0.3px; display: block; }

/* Tanács kártyák */
.db-decision-cards[b-2opx8ttbpm] { display: flex; flex-direction: column; gap: 0.6rem; }

.db-decision-card[b-2opx8ttbpm] { display: flex; align-items: flex-start; gap: 0.75rem; padding: 0.85rem 1rem; border-radius: 10px; border-left: 4px solid #e2e8f0; background: #ffffff; transition: all 0.15s ease; }
.db-decision-card:hover[b-2opx8ttbpm] { box-shadow: 0 2px 10px rgba(11, 26, 51, 0.06); }

/* Ikon */
.db-decision-card-icon[b-2opx8ttbpm] { display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; min-width: 38px; border-radius: 10px; font-size: 1.15rem; }

/* Tartalom */
.db-decision-card-content[b-2opx8ttbpm] { flex: 1; min-width: 0; }
.db-decision-card-text[b-2opx8ttbpm] { font-size: 0.88rem; font-weight: 700; color: #1e293b; line-height: 1.35; margin-bottom: 0.2rem; }
.db-decision-card-explanation[b-2opx8ttbpm] { font-size: 0.78rem; color: #64748b; line-height: 1.4; }

/* Impact színezés */
.db-decision-positive[b-2opx8ttbpm] { border-left-color: #16a34a; background: #f0fdf4; }
.db-decision-positive .db-decision-card-icon[b-2opx8ttbpm] { background: #dcfce7; color: #16a34a; }

.db-decision-negative[b-2opx8ttbpm] { border-left-color: #dc2626; background: #fef2f2; }
.db-decision-negative .db-decision-card-icon[b-2opx8ttbpm] { background: #fee2e2; color: #dc2626; }

.db-decision-warning[b-2opx8ttbpm] { border-left-color: #f59e0b; background: #fffbeb; }
.db-decision-warning .db-decision-card-icon[b-2opx8ttbpm] { background: #fef3c7; color: #b45309; }

.db-decision-neutral[b-2opx8ttbpm] { border-left-color: #94a3b8; background: #f8fafc; }
.db-decision-neutral .db-decision-card-icon[b-2opx8ttbpm] { background: #e2e8f0; color: #475569; }

/* Reszponzív */
@media (max-width: 640px) {
    .db-decision-kpis[b-2opx8ttbpm] { flex-direction: column; }
    .db-decision-kpi[b-2opx8ttbpm] { min-width: 100%; }
}

/* ==================== Bevétel cél (YtdSummary) ==================== */
.db-goal-row[b-2opx8ttbpm] { margin-top: 0.75rem; }
.db-goal-set-btn[b-2opx8ttbpm] { display: flex; align-items: center; gap: 0.4rem; width: 100%; padding: 0.5rem 1rem; border: 2px dashed #cbd5e1; border-radius: 8px; background: transparent; color: #64748b; font-size: 0.8rem; font-weight: 600; cursor: pointer; transition: all 0.15s ease; justify-content: center; }
.db-goal-set-btn:hover[b-2opx8ttbpm] { border-color: #1a3558; color: #1a3558; background: #f8fafc; }
.db-goal-edit[b-2opx8ttbpm] { display: flex; align-items: center; gap: 0.5rem; }
.db-goal-edit-label[b-2opx8ttbpm] { font-size: 0.78rem; font-weight: 600; color: #475569; white-space: nowrap; }
.db-goal-input[b-2opx8ttbpm] { flex: 1; padding: 0.35rem 0.6rem; border: 1px solid #cbd5e1; border-radius: 6px; font-size: 0.85rem; outline: none; }
.db-goal-input:focus[b-2opx8ttbpm] { border-color: #1a3558; box-shadow: 0 0 0 2px rgba(26,53,88,0.1); }
.db-goal-save[b-2opx8ttbpm] { display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; border: none; border-radius: 6px; background: #16a34a; color: #fff; cursor: pointer; }
.db-goal-cancel[b-2opx8ttbpm] { display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; border: 1px solid #cbd5e1; border-radius: 6px; background: #fff; color: #64748b; cursor: pointer; }
.db-goal-bar-wrap[b-2opx8ttbpm] { width: 100%; }
.db-goal-bar-header[b-2opx8ttbpm] { display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.35rem; }
.db-goal-bar-label[b-2opx8ttbpm] { font-size: 0.78rem; font-weight: 600; color: #475569; display: flex; align-items: center; gap: 0.3rem; flex: 1; }
.db-goal-bar-label i[b-2opx8ttbpm] { color: #1a3558; }
.db-goal-bar-pct[b-2opx8ttbpm] { font-size: 0.85rem; font-weight: 700; color: #1e293b; }
.db-goal-edit-btn[b-2opx8ttbpm] { display: flex; align-items: center; justify-content: center; width: 24px; height: 24px; border: none; border-radius: 4px; background: transparent; color: #94a3b8; cursor: pointer; font-size: 0.75rem; }
.db-goal-edit-btn:hover[b-2opx8ttbpm] { background: #f1f5f9; color: #1a3558; }
.db-goal-bar-track[b-2opx8ttbpm] { width: 100%; height: 8px; background: #e2e8f0; border-radius: 4px; overflow: hidden; }
.db-goal-bar-fill[b-2opx8ttbpm] { height: 100%; border-radius: 4px; background: #1a3558; transition: width 0.5s ease; }
.db-goal-bar-fill.goal-near[b-2opx8ttbpm] { background: #16a34a; }
.db-goal-bar-fill.goal-reached[b-2opx8ttbpm] { background: linear-gradient(90deg, #16a34a, #22c55e); }

/* ==================== Szezonalitás térkép ==================== */
.db-season[b-2opx8ttbpm] { overflow-x: auto; }
.db-season-legend[b-2opx8ttbpm] { display: flex; align-items: center; gap: 0.5rem; justify-content: center; margin-bottom: 0.75rem; }
.db-season-legend-label[b-2opx8ttbpm] { font-size: 0.7rem; color: #64748b; font-weight: 600; }
.db-season-legend-bar[b-2opx8ttbpm] { width: 120px; height: 10px; border-radius: 5px; background: linear-gradient(90deg, #fecaca, #fef3c7, #dcfce7, #16a34a); }
.db-season-table[b-2opx8ttbpm] { width: 100%; border-collapse: separate; border-spacing: 3px; }
.db-season-table th[b-2opx8ttbpm] { font-size: 0.68rem; font-weight: 600; color: #64748b; text-align: center; padding: 0.25rem; }
.db-season-year[b-2opx8ttbpm] { font-size: 0.75rem; font-weight: 700; color: #1e293b; padding-right: 0.5rem; text-align: right; }
.db-season-cell[b-2opx8ttbpm] { text-align: center; border-radius: 6px; padding: 0.4rem 0.15rem; min-width: 48px; cursor: default; transition: transform 0.1s ease; }
.db-season-cell:hover[b-2opx8ttbpm] { transform: scale(1.08); z-index: 1; }
.db-season-val[b-2opx8ttbpm] { font-size: 0.65rem; font-weight: 700; color: rgba(0,0,0,0.7); }
.db-season-empty[b-2opx8ttbpm] { background: #f8fafc; color: #cbd5e1; font-size: 0.7rem; }

/* ==================== Partner egészség ==================== */
.db-phealth[b-2opx8ttbpm] { display: flex; flex-direction: column; gap: 0.75rem; }
.db-phealth-summary[b-2opx8ttbpm] { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.db-phealth-stat[b-2opx8ttbpm] { display: flex; flex-direction: column; align-items: center; padding: 0.5rem 1rem; border-radius: 8px; flex: 1; min-width: 70px; cursor: pointer; transition: all 0.15s ease; border: 2px solid transparent; user-select: none; }
.db-phealth-stat:hover[b-2opx8ttbpm] { transform: translateY(-1px); box-shadow: 0 2px 8px rgba(0,0,0,0.08); }
.db-phealth-stat.active[b-2opx8ttbpm] { background: #dcfce7; }
.db-phealth-stat.declining[b-2opx8ttbpm] { background: #fef3c7; }
.db-phealth-stat.atrisk[b-2opx8ttbpm] { background: #ffedd5; }
.db-phealth-stat.lost[b-2opx8ttbpm] { background: #fee2e2; }
.db-phealth-stat.active.selected[b-2opx8ttbpm] { border-color: #16a34a; box-shadow: 0 0 0 2px rgba(22,163,74,0.2); }
.db-phealth-stat.declining.selected[b-2opx8ttbpm] { border-color: #f59e0b; box-shadow: 0 0 0 2px rgba(245,158,11,0.2); }
.db-phealth-stat.atrisk.selected[b-2opx8ttbpm] { border-color: #f97316; box-shadow: 0 0 0 2px rgba(249,115,22,0.2); }
.db-phealth-stat.lost.selected[b-2opx8ttbpm] { border-color: #dc2626; box-shadow: 0 0 0 2px rgba(220,38,38,0.2); }
.db-phealth-stat-num[b-2opx8ttbpm] { font-size: 1.3rem; font-weight: 800; color: #1e293b; }
.db-phealth-stat-label[b-2opx8ttbpm] { font-size: 0.68rem; font-weight: 600; color: #475569; }
.db-phealth-list[b-2opx8ttbpm] { display: flex; flex-direction: column; gap: 0.35rem; }
.db-phealth-row[b-2opx8ttbpm] { display: flex; align-items: center; gap: 0.6rem; padding: 0.55rem 0.75rem; border-radius: 8px; background: #f8fafc; border-left: 4px solid #e2e8f0; }
.db-phealth-row.db-phealth-active[b-2opx8ttbpm] { border-left-color: #16a34a; }
.db-phealth-row.db-phealth-declining[b-2opx8ttbpm] { border-left-color: #f59e0b; }
.db-phealth-row.db-phealth-at_risk[b-2opx8ttbpm] { border-left-color: #f97316; }
.db-phealth-row.db-phealth-lost[b-2opx8ttbpm] { border-left-color: #dc2626; }
.db-phealth-indicator[b-2opx8ttbpm] { width: 8px; height: 8px; border-radius: 50%; }
.db-phealth-active .db-phealth-indicator[b-2opx8ttbpm] { background: #16a34a; }
.db-phealth-declining .db-phealth-indicator[b-2opx8ttbpm] { background: #f59e0b; }
.db-phealth-at_risk .db-phealth-indicator[b-2opx8ttbpm] { background: #f97316; }
.db-phealth-lost .db-phealth-indicator[b-2opx8ttbpm] { background: #dc2626; }
.db-phealth-info[b-2opx8ttbpm] { flex: 1; min-width: 0; }
.db-phealth-name[b-2opx8ttbpm] { font-size: 0.82rem; font-weight: 700; color: #1e293b; display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.db-phealth-detail[b-2opx8ttbpm] { font-size: 0.7rem; color: #64748b; display: block; }
.db-phealth-amount[b-2opx8ttbpm] { font-size: 0.8rem; font-weight: 700; color: #1e293b; white-space: nowrap; }
.db-phealth-yoy[b-2opx8ttbpm] { font-size: 0.72rem; font-weight: 700; display: flex; align-items: center; gap: 0.15rem; white-space: nowrap; }
.db-phealth-yoy.pos[b-2opx8ttbpm] { color: #16a34a; }
.db-phealth-yoy.neg[b-2opx8ttbpm] { color: #dc2626; }

/* ==================== Költség vs büdzsé ==================== */
.db-budget[b-2opx8ttbpm] { display: flex; flex-direction: column; gap: 0.65rem; }
.db-budget-header[b-2opx8ttbpm] { display: flex; align-items: center; justify-content: space-between; }
.db-budget-month[b-2opx8ttbpm] { font-size: 0.85rem; font-weight: 700; color: #1e293b; }
.db-budget-alert[b-2opx8ttbpm] { font-size: 0.75rem; font-weight: 700; color: #dc2626; display: flex; align-items: center; gap: 0.25rem; }
.db-budget-list[b-2opx8ttbpm] { display: flex; flex-direction: column; gap: 0.5rem; }
.db-budget-item[b-2opx8ttbpm] { display: flex; flex-direction: column; gap: 0.25rem; }
.db-budget-item-header[b-2opx8ttbpm] { display: flex; align-items: center; justify-content: space-between; }
.db-budget-cat-name[b-2opx8ttbpm] { font-size: 0.78rem; font-weight: 600; color: #1e293b; }
.db-budget-cat-amount[b-2opx8ttbpm] { font-size: 0.72rem; color: #64748b; font-weight: 500; }
.db-budget-bar-track[b-2opx8ttbpm] { width: 100%; height: 6px; background: #e2e8f0; border-radius: 3px; overflow: hidden; }
.db-budget-bar-fill[b-2opx8ttbpm] { height: 100%; border-radius: 3px; transition: width 0.4s ease; }
.db-budget-bar-fill.db-budget-ok[b-2opx8ttbpm] { background: #16a34a; }
.db-budget-bar-fill.db-budget-warning[b-2opx8ttbpm] { background: #f59e0b; }
.db-budget-bar-fill.db-budget-over[b-2opx8ttbpm] { background: #dc2626; }
.db-budget-pct[b-2opx8ttbpm] { font-size: 0.68rem; font-weight: 700; text-align: right; }
.db-budget-pct.db-budget-ok[b-2opx8ttbpm] { color: #16a34a; }
.db-budget-pct.db-budget-warning[b-2opx8ttbpm] { color: #f59e0b; }
.db-budget-pct.db-budget-over[b-2opx8ttbpm] { color: #dc2626; }
.db-budget-pct.db-budget-noLimit[b-2opx8ttbpm] { color: #94a3b8; }

/* ==================== Likviditás naptár ==================== */
.db-liquidity[b-2opx8ttbpm] { display: flex; flex-direction: column; gap: 0.75rem; }
.db-liquidity-kpis[b-2opx8ttbpm] { display: flex; flex-wrap: wrap; gap: 0.65rem; }
.db-liquidity-kpi[b-2opx8ttbpm] { flex: 1; min-width: 120px; padding: 0.55rem 0.75rem; background: #f8fafc; border-radius: 8px; border: 1px solid #e2e8f0; }
.db-liquidity-kpi.warn[b-2opx8ttbpm] { border-color: #fde68a; background: #fffbeb; }
.db-liquidity-kpi-label[b-2opx8ttbpm] { font-size: 0.68rem; font-weight: 600; color: #64748b; text-transform: uppercase; letter-spacing: 0.3px; display: block; }
.db-liquidity-kpi-value[b-2opx8ttbpm] { font-size: 0.95rem; font-weight: 700; color: #1e293b; display: block; }
.db-liquidity-kpi-value.neg[b-2opx8ttbpm] { color: #dc2626; }
.db-liquidity-kpi-sub[b-2opx8ttbpm] { font-size: 0.7rem; color: #64748b; }
.db-liquidity-chart[b-2opx8ttbpm] { border-radius: 8px; border: 1px solid #e2e8f0; padding: 0.35rem; background: #fff; }
.db-liquidity-events[b-2opx8ttbpm] { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.db-liquidity-event[b-2opx8ttbpm] { display: flex; align-items: center; gap: 0.4rem; padding: 0.35rem 0.65rem; border-radius: 6px; font-size: 0.72rem; border: 1px solid #e2e8f0; background: #f8fafc; }
.db-liquidity-event-date[b-2opx8ttbpm] { font-weight: 700; color: #1e293b; }
.db-liquidity-event-note[b-2opx8ttbpm] { color: #475569; }
.db-liquidity-payroll[b-2opx8ttbpm] { border-color: #bfdbfe; background: #eff6ff; }
.db-liquidity-recurring[b-2opx8ttbpm] { border-color: #fde68a; background: #fffbeb; }

/* ==================== Szállító rangsor ==================== */
.db-supplier[b-2opx8ttbpm] { display: flex; flex-direction: column; }
.db-supplier-list[b-2opx8ttbpm] { display: flex; flex-direction: column; gap: 0.3rem; }
.db-supplier-row[b-2opx8ttbpm] { display: flex; align-items: center; gap: 0.5rem; padding: 0.5rem 0.65rem; border-radius: 8px; background: #f8fafc; }
.db-supplier-row:hover[b-2opx8ttbpm] { background: #f1f5f9; }
.db-supplier-rank[b-2opx8ttbpm] { width: 22px; height: 22px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #e2e8f0; font-size: 0.68rem; font-weight: 800; color: #475569; }
.db-supplier-row:nth-child(1) .db-supplier-rank[b-2opx8ttbpm] { background: #fbbf24; color: #fff; }
.db-supplier-row:nth-child(2) .db-supplier-rank[b-2opx8ttbpm] { background: #94a3b8; color: #fff; }
.db-supplier-row:nth-child(3) .db-supplier-rank[b-2opx8ttbpm] { background: #cd7f32; color: #fff; }
.db-supplier-info[b-2opx8ttbpm] { flex: 1; min-width: 0; }
.db-supplier-name[b-2opx8ttbpm] { font-size: 0.8rem; font-weight: 700; color: #1e293b; display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.db-supplier-cat[b-2opx8ttbpm] { font-size: 0.68rem; color: #64748b; display: block; }
.db-supplier-amount[b-2opx8ttbpm] { font-size: 0.8rem; font-weight: 700; color: #1e293b; white-space: nowrap; }
.db-supplier-yoy[b-2opx8ttbpm] { font-size: 0.7rem; font-weight: 700; white-space: nowrap; }
.db-supplier-yoy.pos[b-2opx8ttbpm] { color: #16a34a; }
.db-supplier-yoy.neg[b-2opx8ttbpm] { color: #dc2626; }
.db-supplier-share[b-2opx8ttbpm] { font-size: 0.68rem; font-weight: 600; color: #64748b; white-space: nowrap; }

/* ==================== ApexCharts wrapperek és drill-down panel ==================== */

.cf-apex-chart[b-2opx8ttbpm] {
    /* A wrapper div magasság a komponens Height paraméterén keresztül van állítva,
       a width: 100% kell, hogy a chart kitöltse a widget kártyát. */
    width: 100%;
}

.cf-apex-chart .apexcharts-toolbar[b-2opx8ttbpm] {
    /* A zoom/pan toolbar a sarokban — finom, hover-on válik láthatóbbá */
    opacity: 0.4;
    transition: opacity 0.2s ease;
}

.cf-apex-chart:hover .apexcharts-toolbar[b-2opx8ttbpm] {
    opacity: 1;
}

.cf-apex-donut .apexcharts-pie[b-2opx8ttbpm] {
    /* Donut szelet enyhe drop shadow — fintech érzet */
    filter: drop-shadow(0 4px 8px rgba(15, 23, 42, 0.08));
}

/* ===== Drill-down panel a partner donut alatt ===== */
.db-drilldown-panel[b-2opx8ttbpm] {
    margin-top: 12px;
    padding: 12px 16px;
    background: linear-gradient(135deg, #f8fafc 0%, #eef2f7 100%);
    border: 1px solid #e2e8f0;
    border-left: 3px solid #10b981;
    border-radius: 8px;
    animation: db-drilldown-slide-b-2opx8ttbpm 0.25s ease-out;
}

@keyframes db-drilldown-slide-b-2opx8ttbpm {
    from {
        opacity: 0;
        transform: translateY(-6px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.db-drilldown-header[b-2opx8ttbpm] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.85rem;
    color: #1e293b;
    margin-bottom: 8px;
}

    .db-drilldown-header > i[b-2opx8ttbpm] {
        font-size: 1rem;
        color: #10b981;
    }

    .db-drilldown-header span[b-2opx8ttbpm] {
        flex: 1;
    }

    .db-drilldown-header strong[b-2opx8ttbpm] {
        color: #0f172a;
    }

.db-drilldown-close[b-2opx8ttbpm] {
    background: transparent;
    border: none;
    color: #64748b;
    cursor: pointer;
    padding: 4px;
    border-radius: 4px;
    line-height: 0;
    transition: background 0.15s ease, color 0.15s ease;
}

    .db-drilldown-close:hover[b-2opx8ttbpm] {
        background: rgba(15, 23, 42, 0.06);
        color: #0f172a;
    }

.db-drilldown-body[b-2opx8ttbpm] {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
}

.db-drilldown-stat[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.db-drilldown-stat-label[b-2opx8ttbpm] {
    font-size: 0.7rem;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: 600;
}

.db-drilldown-stat-value[b-2opx8ttbpm] {
    font-size: 1.1rem;
    font-weight: 700;
    color: #0f172a;
}

/* ==================== Quick actions header ==================== */

.db-quick-actions[b-2opx8ttbpm] {
    display: flex;
    gap: 8px;
    align-items: center;
    margin-right: 8px;
}

.db-quick-btn[b-2opx8ttbpm] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    text-decoration: none;
    border: 1px solid #e2e8f0;
    background: #ffffff;
    color: #334155;
    transition: all 0.15s ease;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

    .db-quick-btn:hover[b-2opx8ttbpm] {
        border-color: #cbd5e1;
        transform: translateY(-1px);
        box-shadow: 0 2px 6px rgba(15, 23, 42, 0.08);
    }

    .db-quick-btn i[b-2opx8ttbpm] {
        font-size: 1rem;
    }

.db-quick-income[b-2opx8ttbpm] {
    color: #047857;
    border-color: #d1fae5;
    background: #ecfdf5;
}

    .db-quick-income:hover[b-2opx8ttbpm] {
        background: #d1fae5;
        color: #065f46;
    }

.db-quick-expense[b-2opx8ttbpm] {
    color: #b91c1c;
    border-color: #fee2e2;
    background: #fef2f2;
}

    .db-quick-expense:hover[b-2opx8ttbpm] {
        background: #fee2e2;
        color: #991b1b;
    }

.db-quick-imports[b-2opx8ttbpm] {
    color: #1a3a5c;
    border-color: #dbeafe;
    background: #eff6ff;
}

    .db-quick-imports:hover[b-2opx8ttbpm] {
        background: #dbeafe;
        color: #0c2541;
    }

/* ==================== Katalógus popup — kategóriák + keresés ==================== */

.db-catalog-count[b-2opx8ttbpm] {
    margin-left: 8px;
    font-size: 0.75rem;
    font-weight: 500;
    color: #64748b;
    background: rgba(15, 23, 42, 0.05);
    padding: 2px 8px;
    border-radius: 10px;
}

/* Felhasznált / max widget számláló — a katalógus headerben jelzi, hogy mennyi widget van használatban
   és mennyi a maximum. Ha elérte a limitet, piros figyelmeztető megjelenés. */
.db-catalog-usage[b-2opx8ttbpm] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-left: 8px;
    font-size: 0.75rem;
    font-weight: 600;
    color: #1a3a5c;
    background: #dbeafe;
    padding: 3px 10px;
    border-radius: 10px;
    border: 1px solid #bfdbfe;
}

    .db-catalog-usage i[b-2opx8ttbpm] {
        font-size: 0.85rem;
    }

    .db-catalog-usage.db-catalog-usage-full[b-2opx8ttbpm] {
        color: #b91c1c;
        background: #fee2e2;
        border-color: #fca5a5;
        animation: db-catalog-usage-pulse-b-2opx8ttbpm 1.6s ease-in-out infinite;
    }

@keyframes db-catalog-usage-pulse-b-2opx8ttbpm {
    0%, 100% { box-shadow: 0 0 0 0 rgba(185, 28, 28, 0.4); }
    50% { box-shadow: 0 0 0 4px rgba(185, 28, 28, 0); }
}

.db-catalog-search[b-2opx8ttbpm] {
    position: relative;
    padding: 12px 20px;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
}

.db-catalog-search-icon[b-2opx8ttbpm] {
    position: absolute;
    left: 32px;
    top: 50%;
    transform: translateY(-50%);
    color: #94a3b8;
    font-size: 1.05rem;
}

.db-catalog-search-input[b-2opx8ttbpm] {
    width: 100%;
    padding: 9px 36px 9px 36px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    font-size: 0.9rem;
    background: #ffffff;
    color: #0f172a;
    outline: none;
    transition: border-color 0.15s ease;
}

    .db-catalog-search-input:focus[b-2opx8ttbpm] {
        border-color: #1a3a5c;
    }

.db-catalog-search-clear[b-2opx8ttbpm] {
    position: absolute;
    right: 28px;
    top: 50%;
    transform: translateY(-50%);
    background: transparent;
    border: none;
    color: #94a3b8;
    cursor: pointer;
    padding: 4px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

    .db-catalog-search-clear:hover[b-2opx8ttbpm] {
        background: rgba(15, 23, 42, 0.06);
        color: #475569;
    }

.db-catalog-tabs[b-2opx8ttbpm] {
    display: flex;
    gap: 4px;
    padding: 12px 20px;
    border-bottom: 1px solid #e2e8f0;
    background: #ffffff;
    flex-wrap: wrap;
}

.db-catalog-tab[b-2opx8ttbpm] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 12px;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
    color: #475569;
    border-radius: 8px;
    cursor: pointer;
    font-size: 0.85rem;
    font-weight: 600;
    transition: all 0.15s ease;
}

    .db-catalog-tab:hover[b-2opx8ttbpm] {
        background: #f1f5f9;
        border-color: #cbd5e1;
    }

    .db-catalog-tab i[b-2opx8ttbpm] {
        font-size: 0.95rem;
    }

.db-catalog-tab-count[b-2opx8ttbpm] {
    font-size: 0.7rem;
    font-weight: 700;
    color: #94a3b8;
    background: #ffffff;
    padding: 1px 6px;
    border-radius: 8px;
    margin-left: 2px;
}

.db-catalog-tab-active[b-2opx8ttbpm] {
    background: #1a3a5c;
    border-color: #1a3a5c;
    color: #ffffff;
    box-shadow: 0 2px 6px rgba(26, 58, 92, 0.25);
}

    .db-catalog-tab-active .db-catalog-tab-count[b-2opx8ttbpm] {
        background: rgba(255, 255, 255, 0.2);
        color: #ffffff;
    }

.db-catalog-group[b-2opx8ttbpm] {
    margin-bottom: 16px;
}

.db-catalog-group-title[b-2opx8ttbpm] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 10px 0;
    padding: 6px 12px;
    font-size: 0.85rem;
    font-weight: 700;
    color: #334155;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    background: #f1f5f9;
    border-radius: 6px;
    border-left: 3px solid #1a3a5c;
}

.db-catalog-group-overview .db-catalog-group-title[b-2opx8ttbpm] {
    border-left-color: #6366f1;
}

.db-catalog-group-revenue .db-catalog-group-title[b-2opx8ttbpm] {
    border-left-color: #10b981;
}

.db-catalog-group-expense .db-catalog-group-title[b-2opx8ttbpm] {
    border-left-color: #f59e0b;
}

.db-catalog-group-cashflow .db-catalog-group-title[b-2opx8ttbpm] {
    border-left-color: #06b6d4;
}

.db-catalog-group-analytics .db-catalog-group-title[b-2opx8ttbpm] {
    border-left-color: #8b5cf6;
}

.db-catalog-group-count[b-2opx8ttbpm] {
    margin-left: auto;
    font-size: 0.7rem;
    font-weight: 600;
    color: #64748b;
    background: #ffffff;
    padding: 2px 8px;
    border-radius: 10px;
}

.db-catalog-group-items[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.db-catalog-empty[b-2opx8ttbpm] {
    text-align: center;
    padding: 40px 20px;
    color: #94a3b8;
}

    .db-catalog-empty i[b-2opx8ttbpm] {
        font-size: 2.5rem;
        margin-bottom: 12px;
        display: block;
    }

    .db-catalog-empty p[b-2opx8ttbpm] {
        margin: 0;
        font-size: 0.9rem;
    }

/* ==================== AR/AP aging widget ==================== */

.db-arap-grid[b-2opx8ttbpm] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

@media (max-width: 900px) {
    .db-arap-grid[b-2opx8ttbpm] {
        grid-template-columns: 1fr;
    }
}

.db-arap-section[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.db-arap-section-header[b-2opx8ttbpm] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 8px;
    border-bottom: 2px solid #e2e8f0;
}

    .db-arap-section-header h4[b-2opx8ttbpm] {
        margin: 0;
        font-size: 0.95rem;
        font-weight: 700;
        color: #0f172a;
        display: inline-flex;
        align-items: center;
        gap: 6px;
    }

.db-arap-receivable .db-arap-section-header h4 i[b-2opx8ttbpm] {
    color: #047857;
}

.db-arap-payable .db-arap-section-header h4 i[b-2opx8ttbpm] {
    color: #b91c1c;
}

.db-arap-total[b-2opx8ttbpm] {
    font-size: 1.1rem;
    font-weight: 700;
    color: #1a3a5c;
}

.db-arap-buckets[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.db-arap-bucket[b-2opx8ttbpm] {
    display: grid;
    grid-template-columns: 80px 1fr auto;
    gap: 12px;
    align-items: center;
    padding: 8px 10px;
    border-radius: 6px;
    background: #f8fafc;
}

.db-arap-bucket-overdue[b-2opx8ttbpm] {
    background: #fef2f2;
    border-left: 3px solid #dc2626;
}

.db-arap-bucket-label[b-2opx8ttbpm] {
    font-size: 0.85rem;
    font-weight: 600;
    color: #334155;
}

.db-arap-bucket-bar[b-2opx8ttbpm] {
    height: 14px;
    background: #e2e8f0;
    border-radius: 7px;
    overflow: hidden;
}

.db-arap-bucket-fill[b-2opx8ttbpm] {
    height: 100%;
    background: linear-gradient(90deg, #10b981 0%, #059669 100%);
    transition: width 0.3s ease;
}

.db-arap-bucket-bar-payable .db-arap-bucket-fill[b-2opx8ttbpm] {
    background: linear-gradient(90deg, #94a3b8 0%, #64748b 100%);
}

.db-arap-bucket-overdue .db-arap-bucket-fill[b-2opx8ttbpm] {
    background: linear-gradient(90deg, #f87171 0%, #dc2626 100%);
}

.db-arap-bucket-amount[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 1px;
    text-align: right;
    min-width: 110px;
}

    .db-arap-bucket-amount strong[b-2opx8ttbpm] {
        font-size: 0.9rem;
        color: #0f172a;
        font-weight: 700;
    }

.db-arap-bucket-count[b-2opx8ttbpm] {
    font-size: 0.7rem;
    color: #64748b;
    font-weight: 500;
}

.db-arap-warning[b-2opx8ttbpm] {
    margin-top: 8px;
    padding: 10px 12px;
    background: #fef2f2;
    border-radius: 6px;
    color: #b91c1c;
    font-size: 0.85rem;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border-left: 3px solid #dc2626;
}

    .db-arap-warning i[b-2opx8ttbpm] {
        font-size: 1.1rem;
    }

.db-arap-empty[b-2opx8ttbpm] {
    text-align: center;
    padding: 40px 20px;
}

    .db-arap-empty i[b-2opx8ttbpm] {
        font-size: 3rem;
        color: #94a3b8;
        margin-bottom: 12px;
        display: block;
    }

    .db-arap-empty h4[b-2opx8ttbpm] {
        margin: 0 0 8px 0;
        color: #0f172a;
        font-size: 1rem;
    }

    .db-arap-empty p[b-2opx8ttbpm] {
        margin: 0 auto 16px auto;
        max-width: 460px;
        color: #64748b;
        font-size: 0.9rem;
        line-height: 1.5;
    }

.db-arap-cta[b-2opx8ttbpm] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 16px;
    background: #1a3a5c;
    color: #ffffff;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.9rem;
}

    .db-arap-cta:hover[b-2opx8ttbpm] {
        background: #0c2541;
    }

/* ==================== Partner koncentráció ==================== */

.db-concentration[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.db-concentration-risk[b-2opx8ttbpm] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    border-radius: 10px;
    border-left: 4px solid;
}

    .db-concentration-risk i[b-2opx8ttbpm] {
        font-size: 1.8rem;
    }

.db-concentration-risk-low[b-2opx8ttbpm] {
    background: #ecfdf5;
    border-left-color: #10b981;
    color: #065f46;
}

.db-concentration-risk-moderate[b-2opx8ttbpm] {
    background: #fef3c7;
    border-left-color: #f59e0b;
    color: #78350f;
}

.db-concentration-risk-high[b-2opx8ttbpm] {
    background: #fee2e2;
    border-left-color: #dc2626;
    color: #7f1d1d;
}

.db-concentration-risk-text[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.db-concentration-risk-label[b-2opx8ttbpm] {
    font-size: 0.95rem;
    font-weight: 700;
}

.db-concentration-risk-detail[b-2opx8ttbpm] {
    font-size: 0.75rem;
    opacity: 0.8;
}

.db-concentration-tiers[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.db-concentration-tier[b-2opx8ttbpm] {
    display: grid;
    grid-template-columns: 160px 1fr 70px;
    gap: 12px;
    align-items: center;
}

.db-concentration-tier-label[b-2opx8ttbpm] {
    font-size: 0.85rem;
    color: #334155;
    font-weight: 600;
}

.db-concentration-tier-bar[b-2opx8ttbpm] {
    height: 16px;
    background: #e2e8f0;
    border-radius: 8px;
    overflow: hidden;
}

.db-concentration-tier-fill[b-2opx8ttbpm] {
    height: 100%;
    background: linear-gradient(90deg, #1a3a5c 0%, #2563eb 100%);
}

.db-concentration-tier-fill-low[b-2opx8ttbpm] {
    background: linear-gradient(90deg, #10b981 0%, #059669 100%);
}

.db-concentration-tier-fill-moderate[b-2opx8ttbpm] {
    background: linear-gradient(90deg, #f59e0b 0%, #d97706 100%);
}

.db-concentration-tier-fill-high[b-2opx8ttbpm] {
    background: linear-gradient(90deg, #f87171 0%, #dc2626 100%);
}

.db-concentration-tier-value[b-2opx8ttbpm] {
    font-size: 0.95rem;
    font-weight: 700;
    color: #0f172a;
    text-align: right;
}

.db-concentration-tier-name[b-2opx8ttbpm] {
    font-size: 0.85rem;
    color: #64748b;
    margin-left: 172px;
    font-style: italic;
}

.db-concentration-meta[b-2opx8ttbpm] {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    padding-top: 10px;
    border-top: 1px solid #e2e8f0;
    font-size: 0.85rem;
    color: #475569;
}

    .db-concentration-meta span[b-2opx8ttbpm] {
        display: inline-flex;
        align-items: center;
        gap: 6px;
    }

/* ==================== Profit margin trend ==================== */

.db-margin-trend[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.db-margin-summary[b-2opx8ttbpm] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
}

@media (max-width: 700px) {
    .db-margin-summary[b-2opx8ttbpm] {
        grid-template-columns: repeat(2, 1fr);
    }
}

.db-margin-stat[b-2opx8ttbpm] {
    background: #f8fafc;
    border-radius: 8px;
    padding: 10px 12px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.db-margin-stat-label[b-2opx8ttbpm] {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #64748b;
    font-weight: 600;
}

.db-margin-stat-value[b-2opx8ttbpm] {
    font-size: 1.1rem;
    font-weight: 700;
    color: #0f172a;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.db-margin-stat-month[b-2opx8ttbpm] {
    font-size: 0.75rem;
    color: #94a3b8;
}

.db-margin-stat-best[b-2opx8ttbpm] {
    background: #ecfdf5;
}

    .db-margin-stat-best .db-margin-stat-value[b-2opx8ttbpm] {
        color: #047857;
    }

.db-margin-stat-worst[b-2opx8ttbpm] {
    background: #fef2f2;
}

    .db-margin-stat-worst .db-margin-stat-value[b-2opx8ttbpm] {
        color: #b91c1c;
    }

.db-margin-stat-trend-up[b-2opx8ttbpm] {
    background: #ecfdf5;
}

    .db-margin-stat-trend-up .db-margin-stat-value[b-2opx8ttbpm] {
        color: #047857;
    }

.db-margin-stat-trend-down[b-2opx8ttbpm] {
    background: #fef2f2;
}

    .db-margin-stat-trend-down .db-margin-stat-value[b-2opx8ttbpm] {
        color: #b91c1c;
    }

/* ==================== Fix vs változó kiadás ==================== */

.db-fixvar[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.db-fixvar-summary[b-2opx8ttbpm] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

@media (max-width: 700px) {
    .db-fixvar-summary[b-2opx8ttbpm] {
        grid-template-columns: 1fr;
    }
}

.db-fixvar-stat[b-2opx8ttbpm] {
    padding: 12px 14px;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    gap: 3px;
    border-left: 4px solid;
}

.db-fixvar-stat-fixed[b-2opx8ttbpm] {
    background: #f1f5f9;
    border-left-color: #1a3a5c;
}

.db-fixvar-stat-variable[b-2opx8ttbpm] {
    background: #f8fafc;
    border-left-color: #94a3b8;
}

.db-fixvar-stat-label[b-2opx8ttbpm] {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #64748b;
    font-weight: 600;
}

.db-fixvar-stat-value[b-2opx8ttbpm] {
    font-size: 1.2rem;
    font-weight: 700;
    color: #0f172a;
}

.db-fixvar-stat-share[b-2opx8ttbpm] {
    font-size: 0.75rem;
    color: #64748b;
}

.db-fixvar-categories[b-2opx8ttbpm] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-top: 8px;
}

@media (max-width: 700px) {
    .db-fixvar-categories[b-2opx8ttbpm] {
        grid-template-columns: 1fr;
    }
}

.db-fixvar-cat-list h5[b-2opx8ttbpm] {
    margin: 0 0 8px 0;
    font-size: 0.85rem;
    font-weight: 700;
    color: #334155;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.db-fixvar-cat-row[b-2opx8ttbpm] {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr;
    gap: 8px;
    padding: 6px 10px;
    border-radius: 6px;
    font-size: 0.8rem;
}

    .db-fixvar-cat-row:nth-child(odd)[b-2opx8ttbpm] {
        background: #f8fafc;
    }

.db-fixvar-cat-name[b-2opx8ttbpm] {
    color: #0f172a;
    font-weight: 600;
}

.db-fixvar-cat-amount[b-2opx8ttbpm] {
    color: #1a3a5c;
    font-weight: 700;
    text-align: right;
}

.db-fixvar-cat-avg[b-2opx8ttbpm] {
    color: #64748b;
    text-align: right;
}

.db-fixvar-cat-empty[b-2opx8ttbpm] {
    color: #94a3b8;
    font-size: 0.8rem;
    font-style: italic;
    margin: 0;
}

/* ==================== ÁFA pozíció ==================== */

.db-vat[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.db-vat-summary[b-2opx8ttbpm] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

@media (max-width: 700px) {
    .db-vat-summary[b-2opx8ttbpm] {
        grid-template-columns: 1fr;
    }
}

.db-vat-summary-net[b-2opx8ttbpm],
.db-vat-next-due[b-2opx8ttbpm] {
    padding: 14px 16px;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

/* Kattintható ÁFA elemek — drill-down lebontást nyitnak */
.db-vat-clickable[b-2opx8ttbpm] {
    cursor: pointer;
    transition: box-shadow 0.15s ease, transform 0.15s ease;
}

    .db-vat-clickable:hover[b-2opx8ttbpm] {
        box-shadow: 0 4px 14px rgba(15, 23, 42, 0.18);
        transform: translateY(-1px);
    }

/* Kis kereső-ikon a YTD címke mellett, jelzi a kattinthatóságot */
.db-vat-drill-hint[b-2opx8ttbpm] {
    color: #1a3a5c;
    font-size: 0.85rem;
    margin-left: 4px;
    opacity: 0.7;
}

.db-vat-summary-payable[b-2opx8ttbpm] {
    background: #fef3c7;
    border-left: 4px solid #f59e0b;
}

.db-vat-summary-refundable[b-2opx8ttbpm] {
    background: #ecfdf5;
    border-left: 4px solid #10b981;
}

.db-vat-next-due[b-2opx8ttbpm] {
    background: #f1f5f9;
    border-left: 4px solid #1a3a5c;
}

.db-vat-next-due-due_soon[b-2opx8ttbpm] {
    background: #fef3c7;
    border-left-color: #f59e0b;
}

.db-vat-next-due-overdue[b-2opx8ttbpm] {
    background: #fee2e2;
    border-left-color: #dc2626;
}

.db-vat-summary-label[b-2opx8ttbpm] {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #64748b;
    font-weight: 600;
}

.db-vat-summary-value[b-2opx8ttbpm] {
    font-size: 1.4rem;
    font-weight: 700;
    color: #0f172a;
}

.db-vat-summary-direction[b-2opx8ttbpm] {
    font-size: 0.85rem;
    color: #475569;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 600;
}

.db-vat-months[b-2opx8ttbpm] {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 8px;
}

@media (max-width: 1100px) {
    .db-vat-months[b-2opx8ttbpm] {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (max-width: 700px) {
    .db-vat-months[b-2opx8ttbpm] {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 460px) {
    .db-vat-months[b-2opx8ttbpm] {
        grid-template-columns: repeat(2, 1fr);
    }
}

.db-vat-month[b-2opx8ttbpm] {
    background: #f8fafc;
    border-radius: 8px;
    padding: 10px 8px;
    border-top: 3px solid #1a3a5c;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.db-vat-month-due_soon[b-2opx8ttbpm] {
    border-top-color: #f59e0b;
    background: #fffbeb;
}

.db-vat-month-overdue[b-2opx8ttbpm] {
    border-top-color: #dc2626;
    background: #fef2f2;
}

.db-vat-month-closed[b-2opx8ttbpm] {
    border-top-color: #94a3b8;
    opacity: 0.85;
}

.db-vat-month-header[b-2opx8ttbpm] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

    .db-vat-month-header h5[b-2opx8ttbpm] {
        margin: 0;
        font-size: 0.85rem;
        font-weight: 700;
        color: #0f172a;
    }

.db-vat-month-status[b-2opx8ttbpm] {
    color: #64748b;
    display: inline-flex;
    align-items: center;
}

.db-vat-month-due_soon .db-vat-month-status[b-2opx8ttbpm] {
    color: #b45309;
}

.db-vat-month-overdue .db-vat-month-status[b-2opx8ttbpm] {
    color: #b91c1c;
}

.db-vat-month-net[b-2opx8ttbpm] {
    font-size: 0.95rem;
    font-weight: 700;
    text-align: right;
    margin: 2px 0;
}

.db-vat-month-detail[b-2opx8ttbpm] {
    font-size: 0.7rem;
    color: #64748b;
    text-align: right;
}

.db-vat-month-collected[b-2opx8ttbpm] {
    color: #047857;
    font-weight: 600;
}

.db-vat-month-paid[b-2opx8ttbpm] {
    color: #b45309;
    font-weight: 600;
}

.db-vat-month-sep[b-2opx8ttbpm] {
    margin: 0 4px;
    color: #cbd5e1;
}

.db-vat-month-due[b-2opx8ttbpm] {
    font-size: 0.7rem;
    color: #94a3b8;
    display: inline-flex;
    align-items: center;
    gap: 3px;
    margin-top: 2px;
}

.db-vat-row-payable[b-2opx8ttbpm] {
    color: #b45309;
}

.db-vat-row-refundable[b-2opx8ttbpm] {
    color: #047857;
}

/* AR/AP incomplete warning */

.db-arap-incomplete-warning[b-2opx8ttbpm] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    background: #fffbeb;
    border-radius: 8px;
    border-left: 4px solid #f59e0b;
    margin-bottom: 16px;
}

    .db-arap-incomplete-warning > i[b-2opx8ttbpm] {
        font-size: 1.6rem;
        color: #f59e0b;
        flex-shrink: 0;
    }

.db-arap-incomplete-text[b-2opx8ttbpm] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

    .db-arap-incomplete-text strong[b-2opx8ttbpm] {
        color: #78350f;
        font-size: 0.9rem;
    }

    .db-arap-incomplete-text span[b-2opx8ttbpm] {
        color: #92400e;
        font-size: 0.78rem;
        line-height: 1.4;
    }

.db-arap-resync-btn[b-2opx8ttbpm] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 8px 14px;
    background: #1a3a5c;
    color: #ffffff;
    border-radius: 6px;
    text-decoration: none;
    font-size: 0.85rem;
    font-weight: 600;
    flex-shrink: 0;
}

    .db-arap-resync-btn:hover[b-2opx8ttbpm] {
        background: #0c2541;
    }

/* ==================== Kiadás anomáliák ==================== */

.db-anomalies[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.db-anomalies-summary[b-2opx8ttbpm] {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
    padding-bottom: 10px;
    border-bottom: 1px solid #e2e8f0;
}

.db-anomalies-badge[b-2opx8ttbpm] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    border-radius: 12px;
    font-size: 0.8rem;
    font-weight: 600;
}

.db-anomalies-badge-high[b-2opx8ttbpm] {
    background: #fee2e2;
    color: #b91c1c;
}

.db-anomalies-badge-medium[b-2opx8ttbpm] {
    background: #fef3c7;
    color: #b45309;
}

.db-anomalies-total[b-2opx8ttbpm] {
    margin-left: auto;
    font-size: 0.85rem;
    color: #64748b;
    font-weight: 600;
}

.db-anomalies-list[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    max-height: 400px;
    overflow-y: auto;
}

.db-anomaly-row[b-2opx8ttbpm] {
    display: grid;
    grid-template-columns: 36px 1fr auto;
    gap: 10px;
    align-items: center;
    padding: 8px 12px;
    background: #f8fafc;
    border-radius: 8px;
    border-left: 3px solid;
}

.db-anomaly-row-high[b-2opx8ttbpm] {
    border-left-color: #dc2626;
    background: #fef2f2;
}

.db-anomaly-row-medium[b-2opx8ttbpm] {
    border-left-color: #f59e0b;
    background: #fffbeb;
}

.db-anomaly-icon[b-2opx8ttbpm] {
    font-size: 1.4rem;
    color: #f59e0b;
}

.db-anomaly-row-high .db-anomaly-icon[b-2opx8ttbpm] {
    color: #dc2626;
}

.db-anomaly-info[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.db-anomaly-cat[b-2opx8ttbpm] {
    font-size: 0.9rem;
    font-weight: 700;
    color: #0f172a;
}

.db-anomaly-detail[b-2opx8ttbpm] {
    font-size: 0.75rem;
    color: #64748b;
}

.db-anomaly-stats[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 1px;
}

.db-anomaly-amount[b-2opx8ttbpm] {
    font-size: 0.9rem;
    font-weight: 700;
    color: #b91c1c;
}

.db-anomaly-ratio[b-2opx8ttbpm] {
    font-size: 0.7rem;
    color: #94a3b8;
}

.db-anomalies-empty[b-2opx8ttbpm] {
    text-align: center;
    padding: 30px 20px;
    color: #047857;
}

    .db-anomalies-empty i[b-2opx8ttbpm] {
        font-size: 2.5rem;
        margin-bottom: 8px;
        display: block;
    }

    .db-anomalies-empty p[b-2opx8ttbpm] {
        margin: 0;
        font-size: 0.9rem;
        color: #475569;
    }

/* ==================== Új vs visszatérő partner ==================== */

.db-newret[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.db-newret-summary[b-2opx8ttbpm] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

@media (max-width: 700px) {
    .db-newret-summary[b-2opx8ttbpm] {
        grid-template-columns: 1fr;
    }
}

.db-newret-stat[b-2opx8ttbpm] {
    padding: 12px 14px;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    gap: 3px;
    border-left: 4px solid;
}

.db-newret-stat-new[b-2opx8ttbpm] {
    background: #ecfdf5;
    border-left-color: #10b981;
}

.db-newret-stat-returning[b-2opx8ttbpm] {
    background: #f1f5f9;
    border-left-color: #1a3a5c;
}

.db-newret-stat-label[b-2opx8ttbpm] {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #64748b;
    font-weight: 600;
}

.db-newret-stat-value[b-2opx8ttbpm] {
    font-size: 1.2rem;
    font-weight: 700;
    color: #0f172a;
}

.db-newret-stat-detail[b-2opx8ttbpm] {
    font-size: 0.75rem;
    color: #64748b;
}

/* ==================== Preset választó (header) ==================== */

.db-presets[b-2opx8ttbpm] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    background: #f8fafc;
    border-radius: 10px;
    border: 1px solid #e2e8f0;
    flex-wrap: wrap;
}

.db-presets-label[b-2opx8ttbpm] {
    font-size: 0.78rem;
    font-weight: 700;
    color: #475569;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-right: 4px;
}

.db-preset-btn[b-2opx8ttbpm] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 11px;
    background: #ffffff;
    color: #1a3a5c;
    border: 1px solid #e2e8f0;
    border-radius: 7px;
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s ease;
}

    .db-preset-btn:hover[b-2opx8ttbpm] {
        background: #1a3a5c;
        color: #ffffff;
        border-color: #1a3a5c;
        transform: translateY(-1px);
        box-shadow: 0 2px 8px rgba(26, 58, 92, 0.25);
    }

    .db-preset-btn i[b-2opx8ttbpm] {
        font-size: 0.95rem;
    }

/* Aktív preset gomb — vizuálisan jelzi, hogy ez van éppen kiválasztva.
   Kék háttér + fehér check ikon + enyhe shadow, így ránézésre azonosítható. */
.db-preset-btn-active[b-2opx8ttbpm] {
    background: linear-gradient(135deg, #1a3a5c 0%, #2563eb 100%);
    color: #ffffff;
    border-color: #1a3a5c;
    box-shadow: 0 2px 6px rgba(37, 99, 235, 0.35), inset 0 0 0 1px rgba(255, 255, 255, 0.15);
    position: relative;
}

    .db-preset-btn-active:hover[b-2opx8ttbpm] {
        background: linear-gradient(135deg, #0c2541 0%, #1d4ed8 100%);
        color: #ffffff;
        border-color: #0c2541;
        transform: translateY(-1px);
    }

    .db-preset-btn-active[b-2opx8ttbpm]::after {
        content: "";
        position: absolute;
        bottom: -3px;
        left: 50%;
        transform: translateX(-50%);
        width: 24px;
        height: 3px;
        background: #2563eb;
        border-radius: 2px;
        box-shadow: 0 0 4px rgba(37, 99, 235, 0.6);
    }

.db-preset-check[b-2opx8ttbpm] {
    color: #ffffff;
    font-size: 0.95rem;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    width: 18px;
    height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* ==================== Widget header actions ==================== */

.db-widget-actions[b-2opx8ttbpm] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.db-widget-fullscreen-btn[b-2opx8ttbpm] {
    background: transparent;
    border: none;
    color: #64748b;
    padding: 4px 6px;
    border-radius: 6px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.15s ease;
}

    .db-widget-fullscreen-btn:hover[b-2opx8ttbpm] {
        background: rgba(15, 23, 42, 0.06);
        color: #1a3a5c;
    }

    .db-widget-fullscreen-btn i[b-2opx8ttbpm] {
        font-size: 1rem;
    }

/* ==================== Fullscreen overlay ==================== */

.db-fullscreen-overlay[b-2opx8ttbpm] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
    z-index: 9000;
    display: flex;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(2px);
}

.db-fullscreen-panel[b-2opx8ttbpm] {
    width: min(95vw, 1400px);
    height: min(90vh, 900px);
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 20px 60px rgba(15, 23, 42, 0.35);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.db-fullscreen-header[b-2opx8ttbpm] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 24px;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
}

.db-fullscreen-title[b-2opx8ttbpm] {
    font-size: 1.15rem;
    font-weight: 700;
    color: #0f172a;
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

    .db-fullscreen-title i[b-2opx8ttbpm] {
        color: #1a3a5c;
        font-size: 1.4rem;
    }

.db-fullscreen-close[b-2opx8ttbpm] {
    background: transparent;
    border: none;
    color: #64748b;
    padding: 6px 8px;
    border-radius: 50%;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.15s ease;
}

    .db-fullscreen-close:hover[b-2opx8ttbpm] {
        background: rgba(15, 23, 42, 0.08);
        color: #0f172a;
    }

    .db-fullscreen-close i[b-2opx8ttbpm] {
        font-size: 1.3rem;
    }

.db-fullscreen-body[b-2opx8ttbpm] {
    flex: 1;
    padding: 24px;
    overflow-y: auto;
}

/* ==================== Bevétel cél követő ==================== */

.db-goal[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.db-goal-empty[b-2opx8ttbpm] {
    text-align: center;
    padding: 40px 20px;
}

    .db-goal-empty i[b-2opx8ttbpm] {
        font-size: 3rem;
        color: #94a3b8;
        margin-bottom: 12px;
        display: block;
    }

    .db-goal-empty h4[b-2opx8ttbpm] {
        margin: 0 0 8px 0;
        color: #0f172a;
    }

    .db-goal-empty p[b-2opx8ttbpm] {
        max-width: 360px;
        margin: 0 auto 16px auto;
        color: #64748b;
        font-size: 0.9rem;
    }

.db-goal-cta[b-2opx8ttbpm] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 18px;
    background: #1a3a5c;
    color: #ffffff;
    border: none;
    border-radius: 8px;
    font-weight: 600;
    cursor: pointer;
}

    .db-goal-cta:hover[b-2opx8ttbpm] {
        background: #0c2541;
    }

.db-goal-progress-wrap[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.db-goal-progress-label[b-2opx8ttbpm] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
}

.db-goal-progress-pct[b-2opx8ttbpm] {
    font-size: 1.6rem;
    font-weight: 800;
    color: #0f172a;
}

.db-goal-progress-status[b-2opx8ttbpm] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px;
    border-radius: 10px;
    font-size: 0.85rem;
    font-weight: 600;
}

.db-goal-status-ahead[b-2opx8ttbpm] {
    background: #ecfdf5;
    color: #047857;
}

.db-goal-status-on_pace[b-2opx8ttbpm] {
    background: #eff6ff;
    color: #1d4ed8;
}

.db-goal-status-behind[b-2opx8ttbpm] {
    background: #fee2e2;
    color: #b91c1c;
}

.db-goal-progress-bar[b-2opx8ttbpm] {
    position: relative;
    height: 22px;
    background: #f1f5f9;
    border-radius: 11px;
    overflow: hidden;
    border: 1px solid #e2e8f0;
}

.db-goal-progress-fill[b-2opx8ttbpm] {
    height: 100%;
    transition: width 0.4s ease;
    border-radius: 11px 0 0 11px;
}

.db-goal-progress-fill-ahead[b-2opx8ttbpm] {
    background: linear-gradient(90deg, #10b981 0%, #047857 100%);
}

.db-goal-progress-fill-on_pace[b-2opx8ttbpm] {
    background: linear-gradient(90deg, #3b82f6 0%, #1a3a5c 100%);
}

.db-goal-progress-fill-behind[b-2opx8ttbpm] {
    background: linear-gradient(90deg, #f59e0b 0%, #dc2626 100%);
}

.db-goal-progress-pace-marker[b-2opx8ttbpm] {
    position: absolute;
    top: -2px;
    bottom: -2px;
    width: 2px;
    background: #0f172a;
    box-shadow: 0 0 0 1px #ffffff;
}

.db-goal-stats[b-2opx8ttbpm] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
}

@media (max-width: 700px) {
    .db-goal-stats[b-2opx8ttbpm] {
        grid-template-columns: repeat(2, 1fr);
    }
}

.db-goal-stat[b-2opx8ttbpm] {
    background: #f8fafc;
    border-radius: 8px;
    padding: 10px 12px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.db-goal-stat-label[b-2opx8ttbpm] {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #64748b;
    font-weight: 600;
}

.db-goal-stat-value[b-2opx8ttbpm] {
    font-size: 1rem;
    font-weight: 700;
    color: #0f172a;
}

.db-goal-meta[b-2opx8ttbpm] {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    padding-top: 8px;
    border-top: 1px solid #e2e8f0;
    font-size: 0.8rem;
    color: #64748b;
}

    .db-goal-meta span[b-2opx8ttbpm] {
        display: inline-flex;
        align-items: center;
        gap: 5px;
    }

/* ==================== Banki egyenleg ==================== */

.db-bank[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.db-bank-empty[b-2opx8ttbpm],
.db-payroll-empty[b-2opx8ttbpm],
.db-funnel-empty[b-2opx8ttbpm] {
    text-align: center;
    padding: 40px 20px;
}

    .db-bank-empty i[b-2opx8ttbpm],
    .db-payroll-empty i[b-2opx8ttbpm],
    .db-funnel-empty i[b-2opx8ttbpm] {
        font-size: 3rem;
        color: #94a3b8;
        margin-bottom: 12px;
        display: block;
    }

    .db-bank-empty h4[b-2opx8ttbpm],
    .db-payroll-empty h4[b-2opx8ttbpm],
    .db-funnel-empty h4[b-2opx8ttbpm] {
        margin: 0 0 8px 0;
        color: #0f172a;
    }

    .db-bank-empty p[b-2opx8ttbpm],
    .db-payroll-empty p[b-2opx8ttbpm],
    .db-funnel-empty p[b-2opx8ttbpm] {
        max-width: 420px;
        margin: 0 auto 16px auto;
        color: #64748b;
        font-size: 0.9rem;
        line-height: 1.5;
    }

.db-bank-cta[b-2opx8ttbpm] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 16px;
    background: #1a3a5c;
    color: #ffffff;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.9rem;
}

    .db-bank-cta:hover[b-2opx8ttbpm] {
        background: #0c2541;
    }

.db-bank-summary[b-2opx8ttbpm] {
    background: linear-gradient(135deg, #1a3a5c 0%, #0c2541 100%);
    color: #ffffff;
    border-radius: 12px;
    padding: 16px 20px;
}

.db-bank-summary-total[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.db-bank-summary-label[b-2opx8ttbpm] {
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.7px;
    opacity: 0.85;
    font-weight: 600;
}

.db-bank-summary-value[b-2opx8ttbpm] {
    font-size: 1.7rem;
    font-weight: 800;
}

.db-bank-summary-detail[b-2opx8ttbpm] {
    font-size: 0.8rem;
    opacity: 0.75;
}

.db-bank-accounts[b-2opx8ttbpm] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}

@media (max-width: 700px) {
    .db-bank-accounts[b-2opx8ttbpm] {
        grid-template-columns: 1fr;
    }
}

.db-bank-account[b-2opx8ttbpm] {
    background: #f8fafc;
    border-radius: 10px;
    padding: 12px 14px;
    border-left: 3px solid #1a3a5c;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.db-bank-account-header[b-2opx8ttbpm] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.db-bank-account-name[b-2opx8ttbpm] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #0f172a;
    font-size: 0.9rem;
}

    .db-bank-account-name i[b-2opx8ttbpm] {
        color: #1a3a5c;
    }

.db-bank-account-code[b-2opx8ttbpm] {
    font-size: 0.7rem;
    background: #e2e8f0;
    color: #475569;
    padding: 1px 6px;
    border-radius: 6px;
    margin-left: 4px;
}

.db-bank-account-currency[b-2opx8ttbpm] {
    font-size: 0.7rem;
    background: #1a3a5c;
    color: #ffffff;
    padding: 2px 8px;
    border-radius: 6px;
    font-weight: 700;
}

.db-bank-account-balance[b-2opx8ttbpm] {
    font-size: 1.25rem;
    font-weight: 700;
    color: #0f172a;
}

.db-bank-balance-fx[b-2opx8ttbpm] {
    color: #b45309;
}

.db-bank-account-meta[b-2opx8ttbpm] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    font-size: 0.72rem;
    color: #64748b;
}

    .db-bank-account-meta span[b-2opx8ttbpm] {
        display: inline-flex;
        align-items: center;
        gap: 3px;
    }

/* ==================== Bér költség ==================== */

.db-payroll[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.db-payroll-summary[b-2opx8ttbpm] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}

@media (max-width: 800px) {
    .db-payroll-summary[b-2opx8ttbpm] {
        grid-template-columns: repeat(2, 1fr);
    }
}

.db-payroll-stat[b-2opx8ttbpm] {
    background: #f8fafc;
    border-radius: 8px;
    padding: 10px 12px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    border-left: 3px solid #1a3a5c;
}

.db-payroll-stat-label[b-2opx8ttbpm] {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #64748b;
    font-weight: 600;
}

.db-payroll-stat-value[b-2opx8ttbpm] {
    font-size: 1.1rem;
    font-weight: 700;
    color: #0f172a;
}

.db-payroll-stat-detail[b-2opx8ttbpm] {
    font-size: 0.7rem;
    color: #64748b;
}

.db-payroll-employees h5[b-2opx8ttbpm] {
    margin: 0 0 8px 0;
    font-size: 0.9rem;
    font-weight: 700;
    color: #334155;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.db-payroll-emp-list[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    max-height: 300px;
    overflow-y: auto;
}

.db-payroll-emp[b-2opx8ttbpm] {
    display: flex;
    justify-content: space-between;
    padding: 8px 12px;
    background: #f8fafc;
    border-radius: 6px;
    font-size: 0.85rem;
}

    .db-payroll-emp:nth-child(odd)[b-2opx8ttbpm] {
        background: #ffffff;
    }

.db-payroll-emp-info[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 1px;
}

    .db-payroll-emp-info strong[b-2opx8ttbpm] {
        color: #0f172a;
    }

.db-payroll-emp-pos[b-2opx8ttbpm] {
    font-size: 0.72rem;
    color: #64748b;
}

.db-payroll-emp-amounts[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 1px;
    text-align: right;
}

.db-payroll-emp-gross[b-2opx8ttbpm] {
    color: #1a3a5c;
    font-weight: 700;
}

.db-payroll-emp-net[b-2opx8ttbpm] {
    color: #64748b;
    font-size: 0.72rem;
}

/* ==================== Lead funnel ==================== */

.db-funnel[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.db-funnel-summary[b-2opx8ttbpm] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}

@media (max-width: 800px) {
    .db-funnel-summary[b-2opx8ttbpm] {
        grid-template-columns: repeat(2, 1fr);
    }
}

.db-funnel-stat[b-2opx8ttbpm] {
    border-radius: 10px;
    padding: 10px 14px;
    border-left: 4px solid;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.db-funnel-stat-active[b-2opx8ttbpm] {
    background: #eff6ff;
    border-left-color: #3b82f6;
}

.db-funnel-stat-won[b-2opx8ttbpm] {
    background: #ecfdf5;
    border-left-color: #10b981;
}

.db-funnel-stat-lost[b-2opx8ttbpm] {
    background: #fef2f2;
    border-left-color: #dc2626;
}

.db-funnel-stat-conv[b-2opx8ttbpm] {
    background: #f1f5f9;
    border-left-color: #1a3a5c;
}

.db-funnel-stat-label[b-2opx8ttbpm] {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #64748b;
    font-weight: 600;
}

.db-funnel-stat-value[b-2opx8ttbpm] {
    font-size: 1.5rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.2;
}

.db-funnel-stat-detail[b-2opx8ttbpm] {
    font-size: 0.75rem;
    color: #64748b;
}

.db-funnel-stages[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    align-items: center;
    padding: 8px 0;
}

.db-funnel-stage[b-2opx8ttbpm] {
    width: 100%;
    display: flex;
    justify-content: center;
}

.db-funnel-stage-bar[b-2opx8ttbpm] {
    background: linear-gradient(90deg, #3b82f6 0%, #1a3a5c 100%);
    color: #ffffff;
    padding: 12px 16px;
    border-radius: 8px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    font-size: 0.85rem;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.15);
    min-width: 220px;
}

.db-funnel-stage-name[b-2opx8ttbpm] {
    font-weight: 700;
}

.db-funnel-stage-count[b-2opx8ttbpm] {
    background: rgba(255, 255, 255, 0.2);
    padding: 2px 8px;
    border-radius: 8px;
    font-size: 0.78rem;
    font-weight: 600;
}

.db-funnel-stage-value[b-2opx8ttbpm] {
    font-weight: 700;
    font-size: 0.9rem;
}

/* ==================== Print / PDF gomb ==================== */

.db-print-btn[b-2opx8ttbpm],
.db-compare-btn[b-2opx8ttbpm] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 14px;
    background: #ffffff;
    color: #1a3a5c;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s ease;
}

    .db-print-btn:hover[b-2opx8ttbpm],
    .db-compare-btn:hover[b-2opx8ttbpm] {
        background: #f1f5f9;
        border-color: #cbd5e1;
    }

.db-compare-btn-active[b-2opx8ttbpm] {
    background: #1a3a5c;
    color: #ffffff;
    border-color: #1a3a5c;
}

    .db-compare-btn-active:hover[b-2opx8ttbpm] {
        background: #0c2541;
        color: #ffffff;
    }

/* ==================== KPI YoY badge-ek ==================== */

.db-kpi-yoy[b-2opx8ttbpm] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 0.72rem;
    font-weight: 600;
    margin-top: 4px;
    width: fit-content;
}

.db-kpi-yoy-pos[b-2opx8ttbpm] {
    background: #ecfdf5;
    color: #047857;
}

.db-kpi-yoy-neg[b-2opx8ttbpm] {
    background: #fef2f2;
    color: #b91c1c;
}

.db-kpi-prev[b-2opx8ttbpm] {
    font-size: 0.7rem;
    color: #94a3b8;
    margin-top: 2px;
}

/* ==================== Havi drill-down modal ==================== */

.db-drilldown-month-overlay[b-2opx8ttbpm] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
    z-index: 9100;
    display: flex;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(2px);
}

.db-drilldown-month-panel[b-2opx8ttbpm] {
    width: min(92vw, 1100px);
    height: min(85vh, 800px);
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 20px 60px rgba(15, 23, 42, 0.35);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.db-drilldown-month-header[b-2opx8ttbpm] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 22px;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
}

.db-drilldown-month-title[b-2opx8ttbpm] {
    font-size: 1.05rem;
    font-weight: 700;
    color: #0f172a;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

    .db-drilldown-month-title i[b-2opx8ttbpm] {
        color: #1a3a5c;
        font-size: 1.3rem;
    }

.db-drilldown-month-loading[b-2opx8ttbpm] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    color: #64748b;
}

.db-drilldown-month-summary[b-2opx8ttbpm] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    padding: 14px 22px;
    border-bottom: 1px solid #e2e8f0;
}

@media (max-width: 700px) {
    .db-drilldown-month-summary[b-2opx8ttbpm] {
        grid-template-columns: 1fr;
    }
}

.db-drilldown-stat-block[b-2opx8ttbpm] {
    padding: 10px 12px;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    border-left: 3px solid;
}

.db-drilldown-stat-revenue[b-2opx8ttbpm] {
    background: #ecfdf5;
    border-left-color: #10b981;
}

.db-drilldown-stat-expense[b-2opx8ttbpm] {
    background: #fef3c7;
    border-left-color: #f59e0b;
}

.db-drilldown-stat-profit[b-2opx8ttbpm] {
    background: #eff6ff;
    border-left-color: #3b82f6;
}

.db-drilldown-stat-loss[b-2opx8ttbpm] {
    background: #fee2e2;
    border-left-color: #dc2626;
}

.db-drilldown-stat-label[b-2opx8ttbpm] {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #64748b;
    font-weight: 600;
}

.db-drilldown-stat-amount[b-2opx8ttbpm] {
    font-size: 1.2rem;
    font-weight: 700;
    color: #0f172a;
}

.db-drilldown-stat-count[b-2opx8ttbpm] {
    font-size: 0.7rem;
    color: #64748b;
}

.db-drilldown-month-body[b-2opx8ttbpm] {
    flex: 1;
    overflow-y: auto;
    padding: 16px 22px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

@media (max-width: 800px) {
    .db-drilldown-month-body[b-2opx8ttbpm] {
        grid-template-columns: 1fr;
    }
}

.db-drilldown-month-section h5[b-2opx8ttbpm] {
    margin: 0 0 10px 0;
    font-size: 0.9rem;
    font-weight: 700;
    color: #334155;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.db-drilldown-month-list[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.db-drilldown-month-row[b-2opx8ttbpm] {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 4px 12px;
    padding: 9px 12px;
    background: #f8fafc;
    border-radius: 6px;
    font-size: 0.85rem;
    align-items: start;
}

    .db-drilldown-month-row:nth-child(odd)[b-2opx8ttbpm] {
        background: #ffffff;
        border: 1px solid #e2e8f0;
    }

.db-drilldown-row-main[b-2opx8ttbpm] {
    display: flex;
    align-items: baseline;
    gap: 8px;
    flex-wrap: wrap;
    grid-column: 1;
}

    .db-drilldown-row-main strong[b-2opx8ttbpm] {
        color: #0f172a;
    }

.db-drilldown-row-date[b-2opx8ttbpm] {
    font-size: 0.72rem;
    color: #94a3b8;
}

.db-drilldown-row-meta[b-2opx8ttbpm] {
    grid-column: 1;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    font-size: 0.72rem;
    color: #64748b;
}

.db-drilldown-row-cat[b-2opx8ttbpm] {
    background: #e2e8f0;
    color: #334155;
    padding: 1px 6px;
    border-radius: 4px;
    font-weight: 600;
}

.db-drilldown-row-note[b-2opx8ttbpm] {
    font-style: italic;
}

.db-drilldown-row-amount[b-2opx8ttbpm] {
    grid-column: 2;
    grid-row: 1 / span 2;
    font-weight: 700;
    text-align: right;
    align-self: center;
    font-size: 0.9rem;
}

.db-drilldown-row-amount-income[b-2opx8ttbpm] {
    color: #047857;
}

.db-drilldown-row-amount-expense[b-2opx8ttbpm] {
    color: #b91c1c;
}

.db-drilldown-month-empty[b-2opx8ttbpm] {
    color: #94a3b8;
    font-size: 0.85rem;
    font-style: italic;
    margin: 0;
}

/* ==================== ÁFA tétel-lebontás modal ==================== */

.db-vat-breakdown-overlay[b-2opx8ttbpm] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
    z-index: 9100;
    display: flex;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(2px);
}

.db-vat-breakdown-panel[b-2opx8ttbpm] {
    width: min(94vw, 1200px);
    height: min(86vh, 820px);
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 20px 60px rgba(15, 23, 42, 0.35);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.db-vat-breakdown-header[b-2opx8ttbpm] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 22px;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
}

.db-vat-breakdown-title[b-2opx8ttbpm] {
    font-size: 1.05rem;
    font-weight: 700;
    color: #0f172a;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

    .db-vat-breakdown-title i[b-2opx8ttbpm] {
        color: #1a3a5c;
        font-size: 1.3rem;
    }

.db-vat-breakdown-summary[b-2opx8ttbpm] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    padding: 14px 22px;
    border-bottom: 1px solid #e2e8f0;
}

@media (max-width: 700px) {
    .db-vat-breakdown-summary[b-2opx8ttbpm] {
        grid-template-columns: 1fr;
    }
}

.db-vat-breakdown-stat[b-2opx8ttbpm] {
    padding: 10px 12px;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    border-left: 3px solid;
}

.db-vat-breakdown-stat-collected[b-2opx8ttbpm] {
    background: #fef3c7;
    border-left-color: #f59e0b;
}

.db-vat-breakdown-stat-paid[b-2opx8ttbpm] {
    background: #ecfdf5;
    border-left-color: #10b981;
}

.db-vat-breakdown-stat-net-payable[b-2opx8ttbpm] {
    background: #fff7ed;
    border-left-color: #ea580c;
}

.db-vat-breakdown-stat-net-refundable[b-2opx8ttbpm] {
    background: #eff6ff;
    border-left-color: #3b82f6;
}

.db-vat-breakdown-stat-label[b-2opx8ttbpm] {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #64748b;
    font-weight: 600;
}

.db-vat-breakdown-stat-amount[b-2opx8ttbpm] {
    font-size: 1.2rem;
    font-weight: 700;
    color: #0f172a;
}

.db-vat-breakdown-stat-count[b-2opx8ttbpm] {
    font-size: 0.7rem;
    color: #64748b;
}

.db-vat-breakdown-body[b-2opx8ttbpm] {
    flex: 1;
    overflow-y: auto;
    padding: 16px 22px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

@media (max-width: 800px) {
    .db-vat-breakdown-body[b-2opx8ttbpm] {
        grid-template-columns: 1fr;
    }
}

.db-vat-breakdown-col-head[b-2opx8ttbpm] {
    margin: 0 0 10px 0;
    font-size: 0.9rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.db-vat-breakdown-col-head-collected[b-2opx8ttbpm] {
    color: #b45309;
}

.db-vat-breakdown-col-head-paid[b-2opx8ttbpm] {
    color: #047857;
}

.db-vat-breakdown-list[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.db-vat-breakdown-row[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: 9px 12px;
    background: #f8fafc;
    border-radius: 6px;
    font-size: 0.85rem;
}

    .db-vat-breakdown-row:nth-child(odd)[b-2opx8ttbpm] {
        background: #ffffff;
        border: 1px solid #e2e8f0;
    }

.db-vat-breakdown-row-main[b-2opx8ttbpm] {
    display: flex;
    align-items: baseline;
    gap: 8px;
    flex-wrap: wrap;
}

    .db-vat-breakdown-row-main strong[b-2opx8ttbpm] {
        color: #0f172a;
    }

.db-vat-breakdown-row-date[b-2opx8ttbpm] {
    font-size: 0.72rem;
    color: #94a3b8;
}

.db-vat-breakdown-row-meta[b-2opx8ttbpm] {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    font-size: 0.72rem;
    color: #64748b;
}

.db-vat-breakdown-row-cat[b-2opx8ttbpm] {
    background: #e2e8f0;
    color: #334155;
    padding: 1px 6px;
    border-radius: 4px;
    font-weight: 600;
}

.db-vat-breakdown-row-note[b-2opx8ttbpm] {
    font-style: italic;
}

.db-vat-breakdown-row-calc[b-2opx8ttbpm] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
    margin-top: 2px;
}

.db-vat-breakdown-row-base[b-2opx8ttbpm] {
    font-size: 0.76rem;
    color: #64748b;
}

.db-vat-breakdown-row-vat[b-2opx8ttbpm] {
    font-weight: 700;
    font-size: 0.92rem;
    white-space: nowrap;
}

.db-vat-breakdown-row-vat-collected[b-2opx8ttbpm] {
    color: #b45309;
}

.db-vat-breakdown-row-vat-paid[b-2opx8ttbpm] {
    color: #047857;
}

.db-vat-breakdown-empty[b-2opx8ttbpm] {
    color: #94a3b8;
    font-size: 0.85rem;
    font-style: italic;
    margin: 0;
}

/* ===== ÁFA-lebontás tétel inline szerkesztés ===== */

.db-vat-breakdown-row-main[b-2opx8ttbpm] {
    position: relative;
}

/* Ceruza gomb a soron — alapból halvány, hoverre navy */
.db-vat-breakdown-edit-btn[b-2opx8ttbpm] {
    margin-left: auto;
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 5px;
    color: #94a3b8;
    cursor: pointer;
    transition: all 0.15s ease;
}

    .db-vat-breakdown-edit-btn:hover[b-2opx8ttbpm] {
        background: #eff6ff;
        border-color: #bfdbfe;
        color: #1a3a5c;
    }

    .db-vat-breakdown-edit-btn i[b-2opx8ttbpm] {
        font-size: 0.8rem;
    }

.db-vat-breakdown-row-editing[b-2opx8ttbpm] {
    background: #eff6ff !important;
    border: 1px solid #bfdbfe !important;
}

.db-vat-breakdown-row-edit[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 4px;
}

.db-vat-breakdown-edit-fields[b-2opx8ttbpm] {
    display: flex;
    align-items: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.db-vat-edit-label[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: #64748b;
    font-weight: 600;
}

.db-vat-edit-input[b-2opx8ttbpm] {
    width: 110px;
}

.db-vat-edit-input-pct[b-2opx8ttbpm] {
    width: 72px;
}

.db-vat-breakdown-edit-gross[b-2opx8ttbpm] {
    font-size: 0.8rem;
    color: #334155;
    font-weight: 600;
    padding-bottom: 4px;
}

.db-vat-breakdown-edit-actions[b-2opx8ttbpm] {
    display: flex;
    gap: 8px;
}

.db-vat-edit-save[b-2opx8ttbpm],
.db-vat-edit-cancel[b-2opx8ttbpm] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 5px 12px;
    border-radius: 6px;
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
    border: 1px solid transparent;
    transition: all 0.15s ease;
}

.db-vat-edit-save[b-2opx8ttbpm] {
    background: #1a3a5c;
    color: #ffffff;
}

    .db-vat-edit-save:hover:not(:disabled)[b-2opx8ttbpm] {
        background: #15304d;
    }

.db-vat-edit-cancel[b-2opx8ttbpm] {
    background: #ffffff;
    color: #475569;
    border-color: #cbd5e1;
}

    .db-vat-edit-cancel:hover:not(:disabled)[b-2opx8ttbpm] {
        background: #f1f5f9;
    }

    .db-vat-edit-save:disabled[b-2opx8ttbpm],
    .db-vat-edit-cancel:disabled[b-2opx8ttbpm] {
        opacity: 0.6;
        cursor: default;
    }

/* ==================== Print stylesheet ==================== */

@media print {
    /* Általános — fehér háttér, kis margók a printen */
    body[b-2opx8ttbpm] {
        background: #ffffff !important;
    }

    /* Header gombok és controls elrejtése — csak a tartalom kell a printbe */
    .db-controls[b-2opx8ttbpm],
    .db-presets[b-2opx8ttbpm],
    .db-quick-actions[b-2opx8ttbpm],
    .db-print-btn[b-2opx8ttbpm],
    .db-compare-btn[b-2opx8ttbpm],
    .db-add-btn[b-2opx8ttbpm],
    .db-init-import-btn[b-2opx8ttbpm],
    .db-year-selector[b-2opx8ttbpm],
    .db-widget-actions[b-2opx8ttbpm],
    .db-widget-fullscreen-btn[b-2opx8ttbpm],
    .db-widget-remove[b-2opx8ttbpm],
    .db-catalog-overlay[b-2opx8ttbpm],
    .db-drilldown-month-overlay[b-2opx8ttbpm],
    .db-vat-breakdown-overlay[b-2opx8ttbpm],
    .db-fullscreen-overlay[b-2opx8ttbpm],
    .db-drilldown-overlay[b-2opx8ttbpm],
    .nav-side[b-2opx8ttbpm],
    .layout-sidebar[b-2opx8ttbpm],
    nav[b-2opx8ttbpm],
    header[b-2opx8ttbpm],
    footer[b-2opx8ttbpm] {
        display: none !important;
    }

    /* A widget grid full-width-en mehet print-en */
    .db-grid[b-2opx8ttbpm] {
        display: block !important;
    }

    .db-widget[b-2opx8ttbpm] {
        page-break-inside: avoid;
        margin-bottom: 12px !important;
        box-shadow: none !important;
        border: 1px solid #cbd5e1 !important;
    }

    /* A title címsor maradjon a tetején */
    .db-title[b-2opx8ttbpm] {
        margin-bottom: 12px !important;
    }

    /* Apex chart-ok zoom toolbarja nem kell a printbe */
    .apexcharts-toolbar[b-2opx8ttbpm] {
        display: none !important;
    }

    /* Hosszabb tartalom (drill-down list, anomáliák) is mehet több oldalra */
    .db-anomalies-list[b-2opx8ttbpm],
    .db-payroll-emp-list[b-2opx8ttbpm] {
        max-height: none !important;
        overflow: visible !important;
    }
}

/* ==================== Widget actions: pin / export gomb ==================== */

.db-widget-fav-btn[b-2opx8ttbpm],
.db-widget-export-btn[b-2opx8ttbpm] {
    background: transparent;
    border: none;
    color: #94a3b8;
    padding: 4px 6px;
    border-radius: 6px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    transition: all 0.15s ease;
}

    .db-widget-fav-btn:hover[b-2opx8ttbpm],
    .db-widget-export-btn:hover[b-2opx8ttbpm] {
        background: rgba(15, 23, 42, 0.06);
        color: #1a3a5c;
    }

    .db-widget-fav-btn i[b-2opx8ttbpm],
    .db-widget-export-btn i[b-2opx8ttbpm] {
        font-size: 1rem;
    }

.db-widget-fav-active[b-2opx8ttbpm] {
    color: #f59e0b;
}

    .db-widget-fav-active:hover[b-2opx8ttbpm] {
        color: #d97706;
    }

/* Catalog item — pin/star gomb */
.db-catalog-fav-btn[b-2opx8ttbpm] {
    background: transparent;
    border: none;
    color: #cbd5e1;
    padding: 4px 6px;
    border-radius: 6px;
    cursor: pointer;
    margin-right: 6px;
    transition: all 0.15s ease;
}

    .db-catalog-fav-btn:hover[b-2opx8ttbpm] {
        background: rgba(245, 158, 11, 0.12);
        color: #f59e0b;
    }

.db-catalog-fav-active[b-2opx8ttbpm] {
    color: #f59e0b;
}

.db-catalog-group-favorites .db-catalog-group-title[b-2opx8ttbpm] {
    border-left-color: #f59e0b;
}

/* ==================== Alert Center bell + dropdown ==================== */

.db-alertbell-wrap[b-2opx8ttbpm] {
    position: relative;
}

.db-alertbell-btn[b-2opx8ttbpm] {
    position: relative;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    color: #1a3a5c;
    padding: 9px 12px;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.15s ease;
}

    .db-alertbell-btn:hover[b-2opx8ttbpm] {
        background: #f1f5f9;
        border-color: #cbd5e1;
    }

    .db-alertbell-btn i[b-2opx8ttbpm] {
        font-size: 1.1rem;
    }

.db-alertbell-badge[b-2opx8ttbpm] {
    position: absolute;
    top: -4px;
    right: -4px;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    background: #f59e0b;
    color: #ffffff;
    border-radius: 9px;
    font-size: 0.7rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #ffffff;
}

.db-alertbell-badge-critical[b-2opx8ttbpm] {
    background: #dc2626;
}

.db-alertbell-dropdown[b-2opx8ttbpm] {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    width: 380px;
    max-height: 500px;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(15, 23, 42, 0.15);
    border: 1px solid #e2e8f0;
    z-index: 8000;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.db-alertbell-header[b-2opx8ttbpm] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 16px;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
    font-weight: 700;
    color: #0f172a;
}

    .db-alertbell-header span[b-2opx8ttbpm] {
        display: inline-flex;
        align-items: center;
        gap: 6px;
    }

.db-alertbell-close[b-2opx8ttbpm] {
    background: transparent;
    border: none;
    color: #64748b;
    padding: 4px;
    border-radius: 50%;
    cursor: pointer;
}

    .db-alertbell-close:hover[b-2opx8ttbpm] {
        background: rgba(15, 23, 42, 0.06);
    }

.db-alertbell-loading[b-2opx8ttbpm],
.db-alertbell-empty[b-2opx8ttbpm] {
    padding: 30px 20px;
    text-align: center;
    color: #64748b;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

    .db-alertbell-empty i[b-2opx8ttbpm] {
        font-size: 2.5rem;
        color: #10b981;
    }

.db-alertbell-list[b-2opx8ttbpm] {
    overflow-y: auto;
    padding: 8px;
}

.db-alertbell-item[b-2opx8ttbpm] {
    display: flex;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 8px;
    border-left: 3px solid;
    margin-bottom: 6px;
}

.db-alert-critical[b-2opx8ttbpm] {
    background: #fef2f2;
    border-left-color: #dc2626;
}

.db-alert-warning[b-2opx8ttbpm] {
    background: #fffbeb;
    border-left-color: #f59e0b;
}

.db-alert-info[b-2opx8ttbpm] {
    background: #eff6ff;
    border-left-color: #3b82f6;
}

.db-alertbell-icon i[b-2opx8ttbpm] {
    font-size: 1.4rem;
}

.db-alert-critical .db-alertbell-icon i[b-2opx8ttbpm] {
    color: #dc2626;
}

.db-alert-warning .db-alertbell-icon i[b-2opx8ttbpm] {
    color: #f59e0b;
}

.db-alert-info .db-alertbell-icon i[b-2opx8ttbpm] {
    color: #3b82f6;
}

.db-alertbell-body[b-2opx8ttbpm] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

    .db-alertbell-body strong[b-2opx8ttbpm] {
        color: #0f172a;
        font-size: 0.9rem;
    }

    .db-alertbell-body span[b-2opx8ttbpm] {
        color: #475569;
        font-size: 0.8rem;
        line-height: 1.4;
    }

.db-alertbell-action[b-2opx8ttbpm] {
    margin-top: 6px;
    color: #1a3a5c;
    font-size: 0.8rem;
    font-weight: 600;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 3px;
    width: fit-content;
}

    .db-alertbell-action:hover[b-2opx8ttbpm] {
        color: #0c2541;
    }

/* ==================== Recurring expenses ==================== */

.db-recurring[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.db-recurring-empty[b-2opx8ttbpm] {
    text-align: center;
    padding: 40px 20px;
}

    .db-recurring-empty i[b-2opx8ttbpm] {
        font-size: 3rem;
        color: #94a3b8;
        margin-bottom: 12px;
        display: block;
    }

    .db-recurring-empty h4[b-2opx8ttbpm] {
        margin: 0 0 8px 0;
        color: #0f172a;
    }

    .db-recurring-empty p[b-2opx8ttbpm] {
        max-width: 420px;
        margin: 0 auto;
        color: #64748b;
        font-size: 0.9rem;
        line-height: 1.5;
    }

.db-recurring-summary[b-2opx8ttbpm] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.db-recurring-stat[b-2opx8ttbpm] {
    background: #f1f5f9;
    border-radius: 10px;
    padding: 12px 14px;
    border-left: 4px solid #1a3a5c;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.db-recurring-stat-label[b-2opx8ttbpm] {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #64748b;
    font-weight: 600;
}

.db-recurring-stat-value[b-2opx8ttbpm] {
    font-size: 1.2rem;
    font-weight: 700;
    color: #0f172a;
}

.db-recurring-stat-detail[b-2opx8ttbpm] {
    font-size: 0.75rem;
    color: #64748b;
}

.db-recurring-list[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    max-height: 360px;
    overflow-y: auto;
}

.db-recurring-row[b-2opx8ttbpm] {
    display: flex;
    justify-content: space-between;
    padding: 9px 12px;
    background: #f8fafc;
    border-radius: 6px;
    font-size: 0.85rem;
}

    .db-recurring-row:nth-child(odd)[b-2opx8ttbpm] {
        background: #ffffff;
        border: 1px solid #e2e8f0;
    }

.db-recurring-info[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 1px;
}

    .db-recurring-info strong[b-2opx8ttbpm] {
        color: #0f172a;
    }

.db-recurring-cat[b-2opx8ttbpm] {
    font-size: 0.75rem;
    color: #475569;
    background: #e2e8f0;
    padding: 1px 6px;
    border-radius: 4px;
    width: fit-content;
}

.db-recurring-meta[b-2opx8ttbpm] {
    font-size: 0.7rem;
    color: #94a3b8;
}

.db-recurring-amounts[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 1px;
}

.db-recurring-monthly[b-2opx8ttbpm] {
    font-weight: 700;
    color: #1a3a5c;
}

.db-recurring-yearly[b-2opx8ttbpm] {
    font-size: 0.75rem;
    color: #b45309;
}

/* ==================== Bank reconciliation status ==================== */

.db-recon[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.db-recon-overall[b-2opx8ttbpm] {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 24px;
    padding: 16px;
    background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);
    border-radius: 12px;
}

.db-recon-rate-circle[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 110px;
    height: 110px;
    border-radius: 50%;
    background: #ffffff;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.1);
}

.db-recon-rate-value[b-2opx8ttbpm] {
    font-size: 1.7rem;
    font-weight: 800;
    color: #1a3a5c;
}

.db-recon-rate-label[b-2opx8ttbpm] {
    font-size: 0.7rem;
    color: #64748b;
    text-transform: uppercase;
}

.db-recon-overall-stats[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    align-self: center;
}

.db-recon-stat-row[b-2opx8ttbpm] {
    display: flex;
    justify-content: space-between;
    font-size: 0.85rem;
    padding: 3px 0;
}

.db-recon-stat-key[b-2opx8ttbpm] {
    color: #475569;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.db-recon-stat-val[b-2opx8ttbpm] {
    color: #0f172a;
    font-weight: 700;
}

.db-recon-icon-auto[b-2opx8ttbpm] {
    color: #10b981;
}

.db-recon-icon-manual[b-2opx8ttbpm] {
    color: #3b82f6;
}

.db-recon-icon-pending[b-2opx8ttbpm] {
    color: #f59e0b;
}

.db-recon-icon-unmatched[b-2opx8ttbpm] {
    color: #dc2626;
}

.db-recon-warn[b-2opx8ttbpm] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    background: #fef3c7;
    border-radius: 8px;
    border-left: 3px solid #f59e0b;
    color: #78350f;
    font-size: 0.85rem;
}

    .db-recon-warn > i[b-2opx8ttbpm] {
        font-size: 1.4rem;
        color: #f59e0b;
    }

.db-recon-action[b-2opx8ttbpm] {
    margin-left: auto;
    color: #1a3a5c;
    font-weight: 700;
    text-decoration: none;
}

.db-recon-by-account h5[b-2opx8ttbpm] {
    margin: 0 0 8px 0;
    font-size: 0.85rem;
    font-weight: 700;
    color: #334155;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.db-recon-acc-row[b-2opx8ttbpm] {
    display: grid;
    grid-template-columns: 1.5fr auto 2fr 1.5fr;
    gap: 10px;
    align-items: center;
    padding: 6px 10px;
    font-size: 0.78rem;
}

.db-recon-acc-name[b-2opx8ttbpm] {
    color: #0f172a;
    font-weight: 600;
}

.db-recon-acc-rate[b-2opx8ttbpm] {
    color: #1a3a5c;
    font-weight: 700;
}

.db-recon-acc-bar[b-2opx8ttbpm] {
    height: 8px;
    background: #e2e8f0;
    border-radius: 4px;
    overflow: hidden;
}

.db-recon-acc-fill[b-2opx8ttbpm] {
    height: 100%;
    background: linear-gradient(90deg, #10b981 0%, #1a3a5c 100%);
}

.db-recon-acc-detail[b-2opx8ttbpm] {
    color: #64748b;
    font-size: 0.7rem;
    text-align: right;
}

/* ==================== FX exposure ==================== */

.db-fx[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.db-fx-empty[b-2opx8ttbpm] {
    text-align: center;
    padding: 40px 20px;
}

    .db-fx-empty i[b-2opx8ttbpm] {
        font-size: 3rem;
        color: #94a3b8;
        margin-bottom: 12px;
        display: block;
    }

    .db-fx-empty h4[b-2opx8ttbpm] {
        margin: 0 0 8px 0;
        color: #0f172a;
    }

    .db-fx-empty p[b-2opx8ttbpm] {
        max-width: 460px;
        margin: 0 auto;
        color: #64748b;
        font-size: 0.9rem;
        line-height: 1.5;
    }

.db-fx-summary[b-2opx8ttbpm] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

@media (max-width: 700px) {
    .db-fx-summary[b-2opx8ttbpm] {
        grid-template-columns: 1fr;
    }
}

.db-fx-stat[b-2opx8ttbpm] {
    background: #f8fafc;
    border-radius: 8px;
    padding: 10px 12px;
    border-left: 3px solid #1a3a5c;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.db-fx-stat-label[b-2opx8ttbpm] {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #64748b;
    font-weight: 600;
}

.db-fx-stat-value[b-2opx8ttbpm] {
    font-size: 1.1rem;
    font-weight: 700;
    color: #0f172a;
}

.db-fx-stat-detail[b-2opx8ttbpm] {
    font-size: 0.7rem;
    color: #64748b;
}

.db-fx-currencies[b-2opx8ttbpm] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}

@media (max-width: 700px) {
    .db-fx-currencies[b-2opx8ttbpm] {
        grid-template-columns: 1fr;
    }
}

.db-fx-currency[b-2opx8ttbpm] {
    border-radius: 10px;
    padding: 12px 14px;
    border-left: 4px solid;
    background: #f8fafc;
}

.db-fx-currency-huf[b-2opx8ttbpm] {
    border-left-color: #1a3a5c;
}

.db-fx-currency-fx[b-2opx8ttbpm] {
    border-left-color: #f59e0b;
    background: #fffbeb;
}

.db-fx-currency-header[b-2opx8ttbpm] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 6px;
}

.db-fx-currency-code[b-2opx8ttbpm] {
    font-size: 1.1rem;
    font-weight: 800;
    color: #0f172a;
}

.db-fx-currency-net[b-2opx8ttbpm] {
    font-size: 0.78rem;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 8px;
}

.db-fx-net-pos[b-2opx8ttbpm] {
    background: #ecfdf5;
    color: #047857;
}

.db-fx-net-neg[b-2opx8ttbpm] {
    background: #fef2f2;
    color: #b91c1c;
}

.db-fx-currency-rows[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.db-fx-currency-row[b-2opx8ttbpm] {
    display: flex;
    justify-content: space-between;
    font-size: 0.82rem;
}

.db-fx-row-label[b-2opx8ttbpm] {
    color: #64748b;
}

.db-fx-row-amount[b-2opx8ttbpm] {
    color: #0f172a;
    font-weight: 600;
}

.db-fx-row-original[b-2opx8ttbpm] {
    border-top: 1px dashed #e2e8f0;
    padding-top: 4px;
    margin-top: 2px;
    font-style: italic;
}

    .db-fx-row-original .db-fx-row-amount[b-2opx8ttbpm] {
        color: #b45309;
    }

/* ==================== AI chat ==================== */

.db-aichat[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    height: 480px;
    background: #f8fafc;
    border-radius: 10px;
    overflow: hidden;
}

.db-aichat-history[b-2opx8ttbpm] {
    flex: 1;
    overflow-y: auto;
    padding: 14px 16px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.db-aichat-welcome[b-2opx8ttbpm] {
    text-align: center;
    padding: 30px 20px;
    color: #64748b;
}

    .db-aichat-welcome i[b-2opx8ttbpm] {
        font-size: 3rem;
        color: #8b5cf6;
        display: block;
        margin-bottom: 12px;
    }

    .db-aichat-welcome p[b-2opx8ttbpm] {
        margin: 0 0 12px 0;
        color: #334155;
        font-weight: 600;
    }

    .db-aichat-welcome ul[b-2opx8ttbpm] {
        text-align: left;
        max-width: 360px;
        margin: 0 auto;
        padding-left: 20px;
        color: #475569;
        font-size: 0.85rem;
    }

    .db-aichat-welcome li[b-2opx8ttbpm] {
        margin-bottom: 4px;
    }

.db-aichat-msg[b-2opx8ttbpm] {
    display: flex;
    gap: 8px;
    align-items: flex-start;
}

.db-aichat-msg-user[b-2opx8ttbpm] {
    flex-direction: row-reverse;
}

.db-aichat-msg-avatar[b-2opx8ttbpm] {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    border: 1px solid #e2e8f0;
}

    .db-aichat-msg-avatar i[b-2opx8ttbpm] {
        color: #1a3a5c;
        font-size: 1rem;
    }

.db-aichat-msg-user .db-aichat-msg-avatar[b-2opx8ttbpm] {
    background: #1a3a5c;
}

    .db-aichat-msg-user .db-aichat-msg-avatar i[b-2opx8ttbpm] {
        color: #ffffff;
    }

.db-aichat-msg-bubble[b-2opx8ttbpm] {
    max-width: 75%;
    padding: 10px 14px;
    border-radius: 12px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    font-size: 0.88rem;
    line-height: 1.45;
    color: #0f172a;
    white-space: pre-wrap;
    word-break: break-word;
}

.db-aichat-msg-user .db-aichat-msg-bubble[b-2opx8ttbpm] {
    background: #1a3a5c;
    color: #ffffff;
    border-color: #1a3a5c;
}

.db-aichat-thinking[b-2opx8ttbpm] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 14px 16px;
}

.db-aichat-dot[b-2opx8ttbpm] {
    width: 7px;
    height: 7px;
    background: #94a3b8;
    border-radius: 50%;
    animation: dbAichatDot-b-2opx8ttbpm 1.2s infinite ease-in-out;
}

    .db-aichat-dot:nth-child(2)[b-2opx8ttbpm] {
        animation-delay: 0.2s;
    }

    .db-aichat-dot:nth-child(3)[b-2opx8ttbpm] {
        animation-delay: 0.4s;
    }

@keyframes dbAichatDot-b-2opx8ttbpm {
    0%, 80%, 100% {
        transform: scale(0.6);
        opacity: 0.4;
    }
    40% {
        transform: scale(1);
        opacity: 1;
    }
}

.db-aichat-input-wrap[b-2opx8ttbpm] {
    display: flex;
    gap: 6px;
    padding: 10px 12px;
    background: #ffffff;
    border-top: 1px solid #e2e8f0;
    align-items: center;
}

.db-aichat-input[b-2opx8ttbpm] {
    flex: 1;
    padding: 9px 12px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    font-size: 0.88rem;
    outline: none;
    transition: border-color 0.15s ease;
}

    .db-aichat-input:focus[b-2opx8ttbpm] {
        border-color: #1a3a5c;
    }

    .db-aichat-input:disabled[b-2opx8ttbpm] {
        background: #f1f5f9;
        opacity: 0.7;
    }

.db-aichat-send[b-2opx8ttbpm],
.db-aichat-clear[b-2opx8ttbpm] {
    background: #1a3a5c;
    color: #ffffff;
    border: none;
    padding: 9px 14px;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.15s ease;
}

    .db-aichat-send:hover:not(:disabled)[b-2opx8ttbpm] {
        background: #0c2541;
    }

    .db-aichat-send:disabled[b-2opx8ttbpm] {
        background: #cbd5e1;
        cursor: not-allowed;
    }

.db-aichat-clear[b-2opx8ttbpm] {
    background: #ffffff;
    color: #94a3b8;
    border: 1px solid #e2e8f0;
}

    .db-aichat-clear:hover[b-2opx8ttbpm] {
        color: #b91c1c;
        border-color: #fee2e2;
        background: #fef2f2;
    }

/* ==================== Drag & drop widget reorder ==================== */

.db-widget[b-2opx8ttbpm] {
    transition: opacity 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
    cursor: default;
}

/* Drag fogantyú — a widget header bal oldalán, csak ez indít drag-et.
   Vizuális hint: mindig halványan látszik, hover-re tisztán előjön. */
.db-widget-grip[b-2opx8ttbpm] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #cbd5e1;
    cursor: grab;
    margin-right: 6px;
    font-size: 1.1rem;
    width: 22px;
    height: 22px;
    border-radius: 4px;
    transition: all 0.15s ease;
    user-select: none;
}

    .db-widget-grip:hover[b-2opx8ttbpm] {
        color: #1a3a5c;
        background: #e0e7ff;
        transform: scale(1.15);
    }

    .db-widget-grip:active[b-2opx8ttbpm] {
        cursor: grabbing;
        background: #c7d2fe;
    }

.db-widget:hover .db-widget-grip[b-2opx8ttbpm] {
    color: #64748b;
}

/* Forrás widget drag közben — markánsan jelzi, hogy "ezt mozgatod".
   Erős fade + scale + dashed outline — egyértelműen látszik, hogy ez a kiválasztott elem. */
.db-widget-dragging[b-2opx8ttbpm] {
    opacity: 0.4 !important;
    transform: scale(0.96) rotate(-1deg);
    outline: 2px dashed #2563eb;
    outline-offset: -2px;
    box-shadow: 0 8px 24px rgba(37, 99, 235, 0.2);
    transition: all 0.15s ease;
    pointer-events: none;
}

/* Drop target widget — a célként megjelölt widget, ahova a drag ráesik.
   Vastag kék bal oldali insertion bar + emelkedő animáció + halvány háttér. */
.db-widget-dragover[b-2opx8ttbpm] {
    position: relative;
    box-shadow: 0 0 0 3px #2563eb, 0 12px 28px rgba(37, 99, 235, 0.3);
    transform: translateY(-3px) scale(1.01);
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.04) 0%, rgba(37, 99, 235, 0.08) 100%);
    z-index: 5;
}

    /* Vízszintes "ide kerül" insertion bar a target widget tetején — vizuálisan jelzi az átdobás helyét. */
    .db-widget-dragover[b-2opx8ttbpm]::before {
        content: "";
        position: absolute;
        top: -8px;
        left: 0;
        right: 0;
        height: 4px;
        background: linear-gradient(90deg, #2563eb 0%, #3b82f6 50%, #2563eb 100%);
        border-radius: 2px;
        box-shadow: 0 2px 8px rgba(37, 99, 235, 0.5);
        animation: db-dropbar-pulse-b-2opx8ttbpm 1.2s ease-in-out infinite;
        z-index: 6;
    }

    /* Bal felső sarokba "Ide ejtsd!" badge a target widgetnek */
    .db-widget-dragover[b-2opx8ttbpm]::after {
        content: "Ide ejtsd";
        position: absolute;
        top: -14px;
        left: 50%;
        transform: translateX(-50%);
        padding: 3px 10px;
        background: #2563eb;
        color: #ffffff;
        font-size: 0.7rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        border-radius: 10px;
        box-shadow: 0 2px 6px rgba(37, 99, 235, 0.4);
        z-index: 7;
        white-space: nowrap;
    }

@keyframes db-dropbar-pulse-b-2opx8ttbpm {
    0%, 100% { opacity: 1; transform: scaleX(1); }
    50% { opacity: 0.6; transform: scaleX(0.95); }
}

/* Drop-zone hint: amíg drag aktív, a többi widget halványan kéken keretezett — jelzi, hogy oda is dobható.
   Ezzel a felhasználó látja, mi a drop-zone (és mi nem — a forrás magát kihagyja). */
.db-widget-droppable[b-2opx8ttbpm] {
    outline: 2px dashed #93c5fd;
    outline-offset: -2px;
    transition: all 0.15s ease;
}

    .db-widget-droppable:hover[b-2opx8ttbpm] {
        outline-color: #2563eb;
        outline-style: solid;
    }

/* Sima widget szintje — átmenet legyen amikor a drag állapot ki/be kapcsol */
.db-widget[b-2opx8ttbpm] {
    transition: opacity 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease, outline 0.15s ease, background 0.15s ease;
    cursor: default;
}

/* ==================== Dashboard tabok — több-dashboard támogatás ==================== */

.db-tabs[b-2opx8ttbpm] {
    display: flex;
    gap: 4px;
    align-items: center;
    margin-bottom: 16px;
    padding: 4px;
    background: #f1f5f9;
    border-radius: 10px;
    overflow-x: auto;
    flex-wrap: wrap;
}

.db-tab[b-2opx8ttbpm] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    background: transparent;
    color: #64748b;
    border: 1px solid transparent;
    border-radius: 7px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s ease;
    white-space: nowrap;
    position: relative;
}

    .db-tab:hover[b-2opx8ttbpm] {
        background: #e2e8f0;
        color: #1a3a5c;
    }

    .db-tab i[b-2opx8ttbpm] {
        font-size: 1rem;
    }

.db-tab-active[b-2opx8ttbpm] {
    background: #ffffff;
    color: #1a3a5c;
    border-color: #1a3a5c;
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.12);
}

    .db-tab-active:hover[b-2opx8ttbpm] {
        background: #ffffff;
        color: #1a3a5c;
    }

.db-tab-default-mark[b-2opx8ttbpm] {
    color: #f59e0b;
    font-size: 0.85rem !important;
    margin-left: 4px;
}

.db-tab-name[b-2opx8ttbpm] {
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.db-tab-actions[b-2opx8ttbpm] {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    margin-left: 6px;
    padding-left: 6px;
    border-left: 1px solid #e2e8f0;
}

.db-tab-action[b-2opx8ttbpm] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    padding: 0;
    background: transparent;
    color: #64748b;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.15s ease;
}

    .db-tab-action:hover[b-2opx8ttbpm] {
        background: #1a3a5c;
        color: #ffffff;
    }

    .db-tab-action i[b-2opx8ttbpm] {
        font-size: 0.85rem !important;
    }

.db-tab-action-danger:hover[b-2opx8ttbpm] {
    background: #dc2626;
    color: #ffffff;
}

.db-tab-add[b-2opx8ttbpm] {
    border: 1px dashed #94a3b8;
    color: #64748b;
    background: rgba(255, 255, 255, 0.5);
}

    .db-tab-add:hover[b-2opx8ttbpm] {
        border-color: #1a3a5c;
        color: #1a3a5c;
        background: #ffffff;
    }

/* ==================== Dashboard létrehozás / átnevezés modal ==================== */

.db-dbedit-overlay[b-2opx8ttbpm] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
    z-index: 1100;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    animation: db-scenario-fadein-b-2opx8ttbpm 0.2s ease;
}

.db-dbedit-panel[b-2opx8ttbpm] {
    width: 100%;
    max-width: 480px;
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 25px 50px rgba(15, 23, 42, 0.4);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.db-dbedit-header[b-2opx8ttbpm] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 18px;
    background: linear-gradient(135deg, #1a3a5c 0%, #0c2541 100%);
    color: #ffffff;
}

.db-dbedit-title[b-2opx8ttbpm] {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 1rem;
    font-weight: 600;
}

.db-dbedit-close[b-2opx8ttbpm] {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: none;
    background: rgba(255, 255, 255, 0.15);
    color: #ffffff;
    cursor: pointer;
}

    .db-dbedit-close:hover[b-2opx8ttbpm] {
        background: rgba(255, 255, 255, 0.3);
    }

.db-dbedit-body[b-2opx8ttbpm] {
    padding: 18px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.db-dbedit-label[b-2opx8ttbpm] {
    font-size: 0.8rem;
    font-weight: 600;
    color: #1a3a5c;
}

.db-dbedit-input[b-2opx8ttbpm] {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    font-size: 0.9rem;
}

    .db-dbedit-input:focus[b-2opx8ttbpm] {
        outline: none;
        border-color: #2563eb;
        box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
    }

.db-dbedit-icons[b-2opx8ttbpm] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(48px, 1fr));
    gap: 6px;
}

.db-dbedit-icon[b-2opx8ttbpm] {
    width: 48px;
    height: 48px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    color: #64748b;
    cursor: pointer;
    transition: all 0.15s ease;
    font-size: 1.2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

    .db-dbedit-icon:hover[b-2opx8ttbpm] {
        background: #e0e7ff;
        color: #1a3a5c;
        border-color: #93c5fd;
    }

.db-dbedit-icon-active[b-2opx8ttbpm] {
    background: linear-gradient(135deg, #1a3a5c 0%, #2563eb 100%);
    color: #ffffff;
    border-color: #1a3a5c;
}

    .db-dbedit-icon-active:hover[b-2opx8ttbpm] {
        background: linear-gradient(135deg, #0c2541 0%, #1d4ed8 100%);
        color: #ffffff;
    }

.db-dbedit-footer[b-2opx8ttbpm] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding: 12px 18px;
    background: #f8fafc;
    border-top: 1px solid #e2e8f0;
}

.db-dbedit-btn[b-2opx8ttbpm] {
    padding: 9px 16px;
    border: none;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    transition: all 0.15s ease;
}

.db-dbedit-btn-cancel[b-2opx8ttbpm] {
    background: #ffffff;
    color: #64748b;
    border: 1px solid #cbd5e1;
}

    .db-dbedit-btn-cancel:hover[b-2opx8ttbpm] {
        background: #f1f5f9;
        color: #1a3a5c;
    }

.db-dbedit-btn-save[b-2opx8ttbpm] {
    background: linear-gradient(135deg, #1a3a5c 0%, #2563eb 100%);
    color: #ffffff;
}

    .db-dbedit-btn-save:hover[b-2opx8ttbpm] {
        background: linear-gradient(135deg, #0c2541 0%, #1d4ed8 100%);
    }

/* ==================== Project profitability ==================== */

.db-projprof[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.db-projprof-empty[b-2opx8ttbpm] {
    text-align: center;
    padding: 40px 20px;
}

    .db-projprof-empty i[b-2opx8ttbpm] {
        font-size: 3rem;
        color: #94a3b8;
        margin-bottom: 12px;
        display: block;
    }

    .db-projprof-empty h4[b-2opx8ttbpm] {
        margin: 0 0 8px 0;
        color: #0f172a;
    }

    .db-projprof-empty p[b-2opx8ttbpm] {
        max-width: 460px;
        margin: 0 auto;
        color: #64748b;
        font-size: 0.9rem;
        line-height: 1.5;
    }

.db-projprof-summary[b-2opx8ttbpm] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}

@media (max-width: 800px) {
    .db-projprof-summary[b-2opx8ttbpm] {
        grid-template-columns: repeat(2, 1fr);
    }
}

.db-projprof-stat[b-2opx8ttbpm] {
    background: #f8fafc;
    border-radius: 8px;
    padding: 10px 12px;
    border-left: 3px solid #1a3a5c;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.db-projprof-stat-profit[b-2opx8ttbpm] {
    background: #ecfdf5;
    border-left-color: #10b981;
}

.db-projprof-stat-loss[b-2opx8ttbpm] {
    background: #fef2f2;
    border-left-color: #dc2626;
}

.db-projprof-stat-label[b-2opx8ttbpm] {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #64748b;
    font-weight: 600;
}

.db-projprof-stat-value[b-2opx8ttbpm] {
    font-size: 1.1rem;
    font-weight: 700;
    color: #0f172a;
}

.db-projprof-list[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-height: 420px;
    overflow-y: auto;
}

.db-projprof-row[b-2opx8ttbpm] {
    background: #f8fafc;
    border-radius: 8px;
    padding: 10px 14px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    border-left: 3px solid #1a3a5c;
}

    .db-projprof-row:nth-child(odd)[b-2opx8ttbpm] {
        background: #ffffff;
        border: 1px solid #e2e8f0;
        border-left: 3px solid #1a3a5c;
    }

.db-projprof-row-header[b-2opx8ttbpm] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.db-projprof-name[b-2opx8ttbpm] {
    color: #0f172a;
    font-size: 0.95rem;
}

.db-projprof-margin[b-2opx8ttbpm] {
    padding: 2px 8px;
    border-radius: 8px;
    font-size: 0.78rem;
    font-weight: 700;
}

.db-projprof-margin-pos[b-2opx8ttbpm] {
    background: #ecfdf5;
    color: #047857;
}

.db-projprof-margin-neg[b-2opx8ttbpm] {
    background: #fef2f2;
    color: #b91c1c;
}

.db-projprof-bar[b-2opx8ttbpm] {
    height: 14px;
    background: #e2e8f0;
    border-radius: 7px;
    overflow: hidden;
    position: relative;
}

.db-projprof-bar-revenue[b-2opx8ttbpm] {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    background: linear-gradient(90deg, #10b981 0%, #059669 100%);
    border-radius: 7px;
}

.db-projprof-bar-expense[b-2opx8ttbpm] {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    background: linear-gradient(90deg, #f87171 0%, #dc2626 100%);
    opacity: 0.65;
    border-radius: 7px;
}

.db-projprof-row-detail[b-2opx8ttbpm] {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    font-size: 0.78rem;
    color: #475569;
}

    .db-projprof-row-detail span[b-2opx8ttbpm] {
        display: inline-flex;
        align-items: center;
        gap: 4px;
    }

.db-projprof-profit-pos[b-2opx8ttbpm] {
    color: #047857;
    font-weight: 700;
}

.db-projprof-profit-neg[b-2opx8ttbpm] {
    color: #b91c1c;
    font-weight: 700;
}

.db-projprof-note[b-2opx8ttbpm] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 9px 12px;
    background: #eff6ff;
    border-radius: 6px;
    color: #1e40af;
    font-size: 0.78rem;
    line-height: 1.4;
}

    .db-projprof-note i[b-2opx8ttbpm] {
        flex-shrink: 0;
        font-size: 1.1rem;
        margin-top: 1px;
    }

/* ==================== AI napi insight sáv ==================== */

.db-insight-bar[b-2opx8ttbpm] {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 18px;
    margin-bottom: 16px;
    border-radius: 10px;
    border: 1px solid;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
    animation: db-insight-fadein-b-2opx8ttbpm 0.3s ease;
}

@keyframes db-insight-fadein-b-2opx8ttbpm {
    from { opacity: 0; transform: translateY(-4px); }
    to { opacity: 1; transform: translateY(0); }
}

.db-insight-bar-positive[b-2opx8ttbpm] {
    background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%);
    border-color: #6ee7b7;
    color: #065f46;
}

.db-insight-bar-negative[b-2opx8ttbpm] {
    background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);
    border-color: #fca5a5;
    color: #991b1b;
}

.db-insight-bar-neutral[b-2opx8ttbpm] {
    background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
    border-color: #93c5fd;
    color: #1e3a8a;
}

.db-insight-bar-loading[b-2opx8ttbpm] {
    background: #f8fafc;
    border-color: #cbd5e1;
    color: #475569;
}

.db-insight-icon[b-2opx8ttbpm] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.6);
    font-size: 1.2rem;
}

.db-insight-content[b-2opx8ttbpm] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.db-insight-label[b-2opx8ttbpm] {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    opacity: 0.75;
}

.db-insight-message[b-2opx8ttbpm] {
    font-size: 0.95rem;
    font-weight: 500;
    line-height: 1.4;
}

.db-insight-action[b-2opx8ttbpm] {
    font-size: 0.82rem;
    font-style: italic;
    margin-top: 4px;
    opacity: 0.85;
}

    .db-insight-action i[b-2opx8ttbpm] {
        margin-right: 4px;
    }

.db-insight-actions[b-2opx8ttbpm] {
    display: flex;
    gap: 6px;
    flex-shrink: 0;
}

.db-insight-refresh[b-2opx8ttbpm],
.db-insight-dismiss[b-2opx8ttbpm] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: none;
    background: rgba(255, 255, 255, 0.6);
    color: inherit;
    cursor: pointer;
    transition: all 0.15s ease;
}

    .db-insight-refresh:hover[b-2opx8ttbpm],
    .db-insight-dismiss:hover[b-2opx8ttbpm] {
        background: rgba(255, 255, 255, 0.9);
        transform: scale(1.05);
    }

    .db-insight-refresh:disabled[b-2opx8ttbpm] {
        opacity: 0.5;
        cursor: not-allowed;
    }

/* ==================== Adónaptár widget ==================== */

.db-taxcal[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.db-taxcal-banner[b-2opx8ttbpm] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);
    border: 1px solid #fca5a5;
    border-radius: 8px;
    color: #991b1b;
    font-size: 0.85rem;
}

    .db-taxcal-banner i[b-2opx8ttbpm] {
        font-size: 1.1rem;
        flex-shrink: 0;
    }

.db-taxcal-list[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-height: 480px;
    overflow-y: auto;
}

.db-taxcal-item[b-2opx8ttbpm] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 8px;
    background: #f8fafc;
    border-left: 4px solid #cbd5e1;
    transition: all 0.15s ease;
}

    .db-taxcal-item:hover[b-2opx8ttbpm] {
        background: #f1f5f9;
        transform: translateX(2px);
    }

.db-taxcal-overdue[b-2opx8ttbpm] {
    background: #fef2f2;
    border-left-color: #dc2626;
}

.db-taxcal-urgent[b-2opx8ttbpm] {
    background: #fff7ed;
    border-left-color: #ea580c;
}

.db-taxcal-soon[b-2opx8ttbpm] {
    background: #fefce8;
    border-left-color: #ca8a04;
}

.db-taxcal-normal[b-2opx8ttbpm] {
    border-left-color: #94a3b8;
}

.db-taxcal-icon[b-2opx8ttbpm] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: #ffffff;
    color: #1a3a5c;
    font-size: 1.1rem;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.1);
}

.db-taxcal-info[b-2opx8ttbpm] {
    flex: 1;
    min-width: 0;
}

.db-taxcal-name[b-2opx8ttbpm] {
    font-weight: 600;
    font-size: 0.88rem;
    color: #1a3a5c;
    margin-bottom: 2px;
}

.db-taxcal-desc[b-2opx8ttbpm] {
    font-size: 0.72rem;
    color: #64748b;
    line-height: 1.4;
}

.db-taxcal-date[b-2opx8ttbpm] {
    flex-shrink: 0;
    text-align: right;
}

.db-taxcal-date-value[b-2opx8ttbpm] {
    font-weight: 700;
    font-size: 0.88rem;
    color: #1a3a5c;
    font-variant-numeric: tabular-nums;
}

.db-taxcal-date-rel[b-2opx8ttbpm] {
    font-size: 0.72rem;
    color: #64748b;
    margin-top: 2px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
}

    .db-taxcal-date-rel .db-taxcal-overdue[b-2opx8ttbpm] {
        background: none;
        border: none;
        color: #dc2626;
        font-weight: 600;
        padding: 0;
    }

    .db-taxcal-date-rel .db-taxcal-today[b-2opx8ttbpm] {
        color: #ea580c;
        font-weight: 700;
    }

    .db-taxcal-date-rel .db-taxcal-soon[b-2opx8ttbpm] {
        color: #ca8a04;
        font-weight: 600;
    }

.db-taxcal-note[b-2opx8ttbpm] {
    display: flex;
    gap: 8px;
    padding: 10px 12px;
    margin-top: 8px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    color: #1e40af;
    font-size: 0.75rem;
    line-height: 1.4;
}

    .db-taxcal-note i[b-2opx8ttbpm] {
        flex-shrink: 0;
        font-size: 1rem;
        margin-top: 1px;
    }

/* ==================== Scenario simulator ("Mi lenne ha…") ==================== */

.db-scenario-btn[b-2opx8ttbpm] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    background: linear-gradient(135deg, #1a3a5c 0%, #2563eb 100%);
    color: #ffffff;
    border: none;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s ease;
    box-shadow: 0 2px 6px rgba(37, 99, 235, 0.3);
}

    .db-scenario-btn:hover[b-2opx8ttbpm] {
        background: linear-gradient(135deg, #0c2541 0%, #1d4ed8 100%);
        transform: translateY(-1px);
        box-shadow: 0 4px 10px rgba(37, 99, 235, 0.4);
    }

    .db-scenario-btn i[b-2opx8ttbpm] {
        font-size: 1rem;
    }

.db-scenario-overlay[b-2opx8ttbpm] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
    z-index: 1100;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    animation: db-scenario-fadein-b-2opx8ttbpm 0.2s ease;
}

@keyframes db-scenario-fadein-b-2opx8ttbpm {
    from { opacity: 0; }
    to { opacity: 1; }
}

.db-scenario-panel[b-2opx8ttbpm] {
    width: 100%;
    max-width: 1100px;
    max-height: calc(100vh - 40px);
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 25px 50px rgba(15, 23, 42, 0.4);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.db-scenario-header[b-2opx8ttbpm] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 22px;
    background: linear-gradient(135deg, #1a3a5c 0%, #0c2541 100%);
    color: #ffffff;
    border-bottom: 3px solid #2563eb;
}

.db-scenario-title[b-2opx8ttbpm] {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 1.05rem;
    font-weight: 600;
}

.db-scenario-close[b-2opx8ttbpm] {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: none;
    background: rgba(255, 255, 255, 0.15);
    color: #ffffff;
    cursor: pointer;
    transition: all 0.15s ease;
}

    .db-scenario-close:hover[b-2opx8ttbpm] {
        background: rgba(255, 255, 255, 0.3);
    }

.db-scenario-body[b-2opx8ttbpm] {
    display: grid;
    grid-template-columns: 380px 1fr;
    gap: 0;
    flex: 1;
    overflow: hidden;
}

.db-scenario-controls[b-2opx8ttbpm] {
    padding: 20px;
    border-right: 1px solid #e2e8f0;
    background: #f8fafc;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.db-scenario-control[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

    .db-scenario-control label[b-2opx8ttbpm] {
        display: flex;
        align-items: center;
        justify-content: space-between;
        font-weight: 600;
        font-size: 0.85rem;
        color: #1a3a5c;
    }

.db-scenario-label-text[b-2opx8ttbpm] {
    color: #1a3a5c;
}

.db-scenario-label-value[b-2opx8ttbpm] {
    font-variant-numeric: tabular-nums;
    color: #2563eb;
    font-weight: 700;
}

.db-scenario-control input[type="range"][b-2opx8ttbpm] {
    width: 100%;
    accent-color: #2563eb;
}

.db-scenario-input[b-2opx8ttbpm] {
    padding: 8px 10px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    font-size: 0.85rem;
    color: #1a3a5c;
    width: 100%;
    font-variant-numeric: tabular-nums;
}

    .db-scenario-input:focus[b-2opx8ttbpm] {
        outline: none;
        border-color: #2563eb;
        box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
    }

.db-scenario-sub[b-2opx8ttbpm] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 6px;
    padding: 8px;
    background: #ffffff;
    border-radius: 6px;
    border: 1px solid #e2e8f0;
}

.db-scenario-sublabel[b-2opx8ttbpm] {
    font-size: 0.75rem;
    color: #64748b;
    flex: 1;
}

.db-scenario-input-suffix[b-2opx8ttbpm] {
    font-size: 0.8rem;
    color: #64748b;
    font-weight: 600;
}

.db-scenario-hint[b-2opx8ttbpm] {
    font-size: 0.72rem;
    color: #94a3b8;
    line-height: 1.3;
}

.db-scenario-reset[b-2opx8ttbpm] {
    margin-top: auto;
    padding: 10px 14px;
    border: 1px solid #cbd5e1;
    background: #ffffff;
    color: #475569;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    transition: all 0.15s ease;
}

    .db-scenario-reset:hover[b-2opx8ttbpm] {
        background: #f1f5f9;
        color: #1a3a5c;
    }

.db-scenario-result[b-2opx8ttbpm] {
    padding: 20px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.db-scenario-loading[b-2opx8ttbpm],
.db-scenario-empty[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    height: 100%;
    color: #64748b;
    font-size: 0.95rem;
    text-align: center;
}

    .db-scenario-loading i[b-2opx8ttbpm],
    .db-scenario-empty i[b-2opx8ttbpm] {
        font-size: 2.5rem;
        opacity: 0.6;
    }

.db-scenario-summary[b-2opx8ttbpm] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.db-scenario-stat[b-2opx8ttbpm] {
    padding: 12px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.db-scenario-stat-label[b-2opx8ttbpm] {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #64748b;
    font-weight: 600;
}

.db-scenario-stat-value[b-2opx8ttbpm] {
    font-size: 1.05rem;
    font-weight: 700;
    color: #1a3a5c;
    font-variant-numeric: tabular-nums;
}

.db-scenario-verdict-positive[b-2opx8ttbpm] {
    background: #ecfdf5;
    border-color: #6ee7b7;
}

    .db-scenario-verdict-positive .db-scenario-stat-value[b-2opx8ttbpm] {
        color: #047857;
    }

.db-scenario-verdict-negative[b-2opx8ttbpm] {
    background: #fef2f2;
    border-color: #fca5a5;
}

    .db-scenario-verdict-negative .db-scenario-stat-value[b-2opx8ttbpm] {
        color: #b91c1c;
    }

.db-scenario-verdict-neutral[b-2opx8ttbpm] {
    background: #eff6ff;
    border-color: #bfdbfe;
}

.db-scenario-chart[b-2opx8ttbpm] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 14px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
}

.db-scenario-chart-title[b-2opx8ttbpm] {
    margin: 0;
    font-size: 0.9rem;
    font-weight: 600;
    color: #1a3a5c;
}

.db-scenario-chart-bars[b-2opx8ttbpm] {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 4px;
    height: 220px;
    align-items: end;
}

.db-scenario-month[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    height: 100%;
}

.db-scenario-month-label[b-2opx8ttbpm] {
    font-size: 0.7rem;
    color: #64748b;
    margin-top: 4px;
    order: 2;
}

.db-scenario-month-bars[b-2opx8ttbpm] {
    flex: 1;
    width: 100%;
    display: flex;
    align-items: end;
    gap: 2px;
    order: 1;
}

.db-scenario-bar[b-2opx8ttbpm] {
    flex: 1;
    border-radius: 3px 3px 0 0;
    transition: all 0.2s ease;
    min-height: 4px;
}

.db-scenario-bar-baseline[b-2opx8ttbpm] {
    background: linear-gradient(180deg, #94a3b8 0%, #64748b 100%);
}

.db-scenario-bar-scenario[b-2opx8ttbpm] {
    background: linear-gradient(180deg, #3b82f6 0%, #1d4ed8 100%);
}

.db-scenario-bar-neg[b-2opx8ttbpm] {
    opacity: 0.7;
    background: linear-gradient(180deg, #fca5a5 0%, #dc2626 100%);
}

.db-scenario-bar:hover[b-2opx8ttbpm] {
    transform: scaleY(1.03);
    transform-origin: bottom;
}

.db-scenario-legend[b-2opx8ttbpm] {
    display: flex;
    gap: 14px;
    justify-content: center;
    font-size: 0.78rem;
    color: #64748b;
}

    .db-scenario-legend span[b-2opx8ttbpm] {
        display: inline-flex;
        align-items: center;
        gap: 5px;
    }

.db-scenario-legend-swatch[b-2opx8ttbpm] {
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 2px;
}

.db-scenario-legend-baseline[b-2opx8ttbpm] {
    background: linear-gradient(180deg, #94a3b8 0%, #64748b 100%);
}

.db-scenario-legend-scenario[b-2opx8ttbpm] {
    background: linear-gradient(180deg, #3b82f6 0%, #1d4ed8 100%);
}

/* Responszív — kis képernyőn 1 oszlop */
@media (max-width: 900px) {
    .db-scenario-body[b-2opx8ttbpm] {
        grid-template-columns: 1fr;
    }

    .db-scenario-controls[b-2opx8ttbpm] {
        border-right: none;
        border-bottom: 1px solid #e2e8f0;
    }

    .db-scenario-summary[b-2opx8ttbpm] {
        grid-template-columns: 1fr;
    }
}

/* ============================================================
   DASHBOARD — FULL RESPONSIVE (1280 / 1024 / 768 / 480 / 360)
   A widget grid, preset bar és action bar mobilon scroll-bar-rá / 1 oszloposra alakul
   ============================================================ */

@media (max-width: 1024px) {
    .db-presets[b-2opx8ttbpm],
    .db-actions[b-2opx8ttbpm] { gap: 6px; flex-wrap: wrap; }
}

@media (max-width: 768px) {
    /* Preset és action bar horizontális scroll bar mobilon —
       ne tördelje a gomboknak a feliratait, görgessen helyettük */
    .db-presets[b-2opx8ttbpm],
    .db-actions[b-2opx8ttbpm] {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto;
        scrollbar-width: thin;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 4px;
    }
    .db-presets > *[b-2opx8ttbpm],
    .db-actions > *[b-2opx8ttbpm] { flex-shrink: 0; }
    .db-preset-btn[b-2opx8ttbpm],
    .db-action-btn[b-2opx8ttbpm] {
        white-space: nowrap !important;
        min-height: 40px;
    }
    /* AI import gomb külön — ne legyen szűk és tördelt */
    .db-action-btn[b-2opx8ttbpm] { min-width: auto; }
}

@media (max-width: 480px) {
    .db-preset-btn[b-2opx8ttbpm],
    .db-action-btn[b-2opx8ttbpm] {
        padding: 8px 12px !important;
        font-size: 0.82rem !important;
    }
    /* Az AI insight banner szövegét kisebb betűre tördeljük */
    .db-ai-insight[b-2opx8ttbpm],
    .db-ai-insight p[b-2opx8ttbpm] { font-size: 0.85rem !important; line-height: 1.45; }
    /* Dashboard h1 mobilon kisebb */
    .db-dashboard-title[b-2opx8ttbpm],
    .db-title[b-2opx8ttbpm] { font-size: 1.4rem !important; }
    /* KPI / banki egyenleg widget szélessége — full width */
    .db-widget[b-2opx8ttbpm],
    .db-kpi-card[b-2opx8ttbpm] { width: 100% !important; }
}

/* A widget kártyák alapból teljes szélességűek mobilon (1 oszlop) — felülírja a sok grid-template-columns-t */
@media (max-width: 768px) {
    [class*="db-"][class*="-grid"]:not(.db-kpi-trio):not(.db-summary-grid)[b-2opx8ttbpm],
    [class*="db-"][class*="-row"][b-2opx8ttbpm] {
        grid-template-columns: 1fr !important;
    }
    /* A widget-tartalom padding redukálva */
    .db-widget[b-2opx8ttbpm],
    .db-card[b-2opx8ttbpm] {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
}

/* Touch-friendly mobile interactions */
@media (max-width: 768px) {
    .db-widget button[b-2opx8ttbpm],
    .db-widget a[b-2opx8ttbpm] { min-height: 36px; }
}

/* ==================== Bevétel-előrejelzés widget (KPI sáv + chart + táblázat) ==================== */

.db-forecast-wrap[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

/* KPI sáv — a charton felül, hover nélkül is olvasható kulcsszámok */
.db-forecast-kpis[b-2opx8ttbpm] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}

@media (max-width: 900px) {
    .db-forecast-kpis[b-2opx8ttbpm] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 520px) {
    .db-forecast-kpis[b-2opx8ttbpm] {
        grid-template-columns: 1fr;
    }
}

.db-forecast-kpi[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 12px 14px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-left: 3px solid #94a3b8;
    border-radius: 10px;
}

/* A kiemelt KPI (várható év vége) navy hangsúllyal */
.db-forecast-kpi-primary[b-2opx8ttbpm] {
    background: #0f2942;
    border-color: #0f2942;
    border-left-color: #f59e0b;
    box-shadow: 0 4px 14px rgba(15, 41, 66, 0.22);
}

.db-forecast-kpi-label[b-2opx8ttbpm] {
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: #64748b;
    display: flex;
    align-items: center;
    gap: 5px;
}

.db-forecast-kpi-primary .db-forecast-kpi-label[b-2opx8ttbpm] {
    color: #cbd5e1;
}

.db-forecast-kpi-value[b-2opx8ttbpm] {
    font-size: 1.2rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.2;
    display: flex;
    align-items: center;
    gap: 5px;
}

.db-forecast-kpi-primary .db-forecast-kpi-value[b-2opx8ttbpm] {
    color: #ffffff;
}

.db-forecast-kpi-sub[b-2opx8ttbpm] {
    font-size: 0.76rem;
    color: #64748b;
}

.db-forecast-kpi-primary .db-forecast-kpi-sub[b-2opx8ttbpm] {
    color: #94a3b8;
}

.db-forecast-pos[b-2opx8ttbpm] {
    color: #16a34a;
}

.db-forecast-neg[b-2opx8ttbpm] {
    color: #dc2626;
}

.db-forecast-muted[b-2opx8ttbpm] {
    color: #94a3b8;
}

/* Részletes előrejelzés táblázat */
.db-forecast-table-wrap[b-2opx8ttbpm] {
    overflow-x: auto;
}

.db-forecast-table[b-2opx8ttbpm] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.84rem;
}

    .db-forecast-table th[b-2opx8ttbpm],
    .db-forecast-table td[b-2opx8ttbpm] {
        padding: 8px 12px;
        text-align: left;
        white-space: nowrap;
    }

    .db-forecast-table thead th[b-2opx8ttbpm] {
        font-size: 0.72rem;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.02em;
        color: #475569;
        background: #f1f5f9;
        border-bottom: 2px solid #e2e8f0;
    }

    .db-forecast-table tbody tr:nth-child(even)[b-2opx8ttbpm] {
        background: #f8fafc;
    }

    .db-forecast-table tbody tr:hover[b-2opx8ttbpm] {
        background: #eef2f7;
    }

    .db-forecast-table tbody td[b-2opx8ttbpm] {
        border-bottom: 1px solid #eef2f7;
    }

.db-forecast-th-num[b-2opx8ttbpm],
.db-forecast-td-num[b-2opx8ttbpm] {
    text-align: right !important;
    font-variant-numeric: tabular-nums;
}

.db-forecast-td-month[b-2opx8ttbpm] {
    font-weight: 600;
    color: #0f172a;
}

/* Az oszlopok színkódolva a chart vonalaival egyezően (óvatos=piros, legvalószínűbb=narancs, optimista=zöld) */
.db-forecast-th-low[b-2opx8ttbpm],
.db-forecast-td-low[b-2opx8ttbpm] {
    color: #dc2626;
}

.db-forecast-th-mid[b-2opx8ttbpm],
.db-forecast-td-mid[b-2opx8ttbpm] {
    color: #b45309;
    font-weight: 600;
}

.db-forecast-th-high[b-2opx8ttbpm],
.db-forecast-td-high[b-2opx8ttbpm] {
    color: #16a34a;
}

/* Összegző sor (lábléc) — navy kiemelés */
.db-forecast-table tfoot td[b-2opx8ttbpm] {
    border-top: 2px solid #cbd5e1;
    font-weight: 700;
    color: #0f172a;
    background: #f1f5f9;
}

/* Végeredmény sor: várható összes árbevétel (tény + előrejelzés) — navy kitöltés, kiemelt */
.db-forecast-table tfoot tr.db-forecast-grandtotal-row td[b-2opx8ttbpm] {
    background: #0f2942;
    color: #ffffff;
    border-top: 2px solid #0f2942;
}

    /* A navy háttéren a sávszínek helyett olvasható, kontrasztos színek */
    .db-forecast-table tfoot tr.db-forecast-grandtotal-row .db-forecast-td-low[b-2opx8ttbpm] {
        color: #fca5a5;
    }

    .db-forecast-table tfoot tr.db-forecast-grandtotal-row .db-forecast-td-mid[b-2opx8ttbpm] {
        color: #fcd34d;
        font-size: 0.92rem;
    }

    .db-forecast-table tfoot tr.db-forecast-grandtotal-row .db-forecast-td-high[b-2opx8ttbpm] {
        color: #86efac;
    }
/* /Components/Pages/Employee/EmployeeComponent.razor.rz.scp.css */
.emp-container[b-krdcufrh9n] { display: flex; flex-direction: column; padding: 2rem; gap: 1.5rem; width: 100%; }

.emp-header[b-krdcufrh9n] { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; }
.emp-title[b-krdcufrh9n] { font-size: 1.75rem; font-weight: 700; color: #1e293b; display: flex; align-items: center; gap: 0.75rem; margin: 0; }
.emp-title i[b-krdcufrh9n] { color: #1a3a5c; }
.emp-controls[b-krdcufrh9n] { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }

.emp-add-btn[b-krdcufrh9n] { display: flex; align-items: center; gap: 0.5rem; padding: 0.5rem 1rem; background: #1a3a5c; color: #fff; border: none; border-radius: 8px; font-size: 0.85rem; font-weight: 600; cursor: pointer; transition: all 0.2s ease; box-shadow: 0 2px 6px rgba(26,58,92,0.2); }
.emp-add-btn:hover[b-krdcufrh9n] { background: #0f2a44; box-shadow: 0 4px 12px rgba(26,58,92,0.3); }

/* Visszavonás (undo) gomb + megerősítő ablak */
.emp-undo-btn[b-krdcufrh9n] { display: flex; align-items: center; gap: 0.5rem; padding: 0.5rem 1rem; background: #1a3a5c; color: #fff; border: 1px solid #1a3a5c; border-radius: 8px; font-size: 0.85rem; font-weight: 600; cursor: pointer; transition: all 0.2s ease; box-shadow: 0 2px 6px rgba(26,58,92,0.2); }
.emp-undo-btn:hover:not(:disabled)[b-krdcufrh9n] { background: #15304d; }
.emp-undo-btn:disabled[b-krdcufrh9n] { opacity: 0.6; cursor: default; }
.emp-undo-overlay[b-krdcufrh9n] { position: fixed; inset: 0; background: rgba(15,23,42,0.55); z-index: 9200; display: flex; align-items: center; justify-content: center; backdrop-filter: blur(2px); }
.emp-undo-panel[b-krdcufrh9n] { width: min(92vw, 440px); background: #fff; border-radius: 14px; box-shadow: 0 20px 60px rgba(15,23,42,0.35); overflow: hidden; }
.emp-undo-panel-header[b-krdcufrh9n] { display: flex; align-items: center; gap: 8px; padding: 14px 20px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; font-weight: 700; color: #0f172a; }
.emp-undo-panel-header i[b-krdcufrh9n] { color: #1a3a5c; font-size: 1.2rem; }
.emp-undo-panel-body[b-krdcufrh9n] { padding: 18px 20px; }
.emp-undo-question[b-krdcufrh9n] { margin: 0 0 12px 0; color: #334155; font-size: 0.9rem; }
.emp-undo-action-box[b-krdcufrh9n] { display: flex; flex-direction: column; gap: 4px; padding: 12px 14px; background: #f1f5f9; border-left: 3px solid #1a3a5c; border-radius: 8px; }
.emp-undo-action-kind[b-krdcufrh9n] { display: inline-flex; align-items: center; gap: 5px; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.4px; color: #64748b; font-weight: 700; }
.emp-undo-action-label[b-krdcufrh9n] { font-size: 1rem; font-weight: 700; color: #0f172a; }
.emp-undo-hint[b-krdcufrh9n] { margin: 10px 0 0 0; font-size: 0.78rem; color: #64748b; }
.emp-undo-hint-chain[b-krdcufrh9n] { display: inline-flex; align-items: center; gap: 5px; color: #1a3a5c; font-weight: 600; }
.emp-undo-panel-footer[b-krdcufrh9n] { display: flex; gap: 10px; padding: 14px 20px; border-top: 1px solid #e2e8f0; justify-content: flex-end; }
.emp-undo-confirm-btn[b-krdcufrh9n], .emp-undo-cancel-btn[b-krdcufrh9n] { display: inline-flex; align-items: center; gap: 5px; padding: 8px 16px; border-radius: 8px; font-size: 0.85rem; font-weight: 600; cursor: pointer; border: 1px solid transparent; transition: all 0.15s ease; }
.emp-undo-confirm-btn[b-krdcufrh9n] { background: #1a3a5c; color: #fff; }
.emp-undo-confirm-btn:hover:not(:disabled)[b-krdcufrh9n] { background: #15304d; }
.emp-undo-cancel-btn[b-krdcufrh9n] { background: #fff; color: #475569; border-color: #cbd5e1; }
.emp-undo-cancel-btn:hover:not(:disabled)[b-krdcufrh9n] { background: #f1f5f9; }
.emp-undo-confirm-btn:disabled[b-krdcufrh9n], .emp-undo-cancel-btn:disabled[b-krdcufrh9n] { opacity: 0.6; cursor: default; }

.emp-apply-group[b-krdcufrh9n] { display: flex; align-items: center; gap: 0.5rem; }
.emp-year-selector[b-krdcufrh9n] { display: flex; align-items: center; gap: 0.35rem; background: #fff; border: 1px solid #e2e8f0; border-radius: 8px; padding: 0.25rem 0.4rem; }
.emp-year-btn[b-krdcufrh9n] { display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; border: none; border-radius: 6px; background: transparent; color: #1a3a5c; cursor: pointer; font-size: 0.8rem; transition: background 0.2s ease; }
.emp-year-btn:hover[b-krdcufrh9n] { background: #f1f5f9; }
.emp-year-label[b-krdcufrh9n] { font-size: 0.95rem; font-weight: 700; color: #1e293b; min-width: 40px; text-align: center; }

.emp-apply-btn[b-krdcufrh9n] { display: flex; align-items: center; gap: 0.4rem; padding: 0.45rem 0.85rem; background: #16a34a; color: #fff; border: none; border-radius: 8px; font-size: 0.8rem; font-weight: 600; cursor: pointer; transition: all 0.2s ease; box-shadow: 0 2px 6px rgba(22,163,74,0.2); }
.emp-apply-btn:hover[b-krdcufrh9n] { background: #15803d; }
.emp-applying[b-krdcufrh9n] { display: flex; align-items: center; padding: 0 0.5rem; }

/* Összesítő */
.emp-summary-cards[b-krdcufrh9n] { display: flex; gap: 1rem; flex-wrap: wrap; }
.emp-summary-card[b-krdcufrh9n] { display: flex; flex-direction: column; gap: 0.25rem; padding: 1rem 1.5rem; background: #fff; border: 1px solid #e2e8f0; border-radius: 10px; box-shadow: 0 1px 4px rgba(0,0,0,0.04); min-width: 180px; }
.emp-summary-highlight[b-krdcufrh9n] { background: #1a3a5c; border-color: #1a3a5c; }
.emp-summary-label[b-krdcufrh9n] { font-size: 0.8rem; color: #64748b; font-weight: 500; text-transform: uppercase; letter-spacing: 0.5px; }
.emp-summary-highlight .emp-summary-label[b-krdcufrh9n] { color: #94a3b8; }
.emp-summary-value[b-krdcufrh9n] { font-size: 1.35rem; font-weight: 700; color: #1e293b; }
.emp-summary-highlight .emp-summary-value[b-krdcufrh9n] { color: #fff; }

/* Lista */
.emp-list[b-krdcufrh9n] { display: flex; flex-direction: column; gap: 0.75rem; }

.emp-card[b-krdcufrh9n] { display: flex; align-items: center; gap: 1.25rem; padding: 1rem 1.25rem; background: #fff; border: 1px solid #e2e8f0; border-radius: 10px; box-shadow: 0 1px 4px rgba(0,0,0,0.04); transition: all 0.15s ease; }
.emp-card:hover[b-krdcufrh9n] { box-shadow: 0 4px 12px rgba(0,0,0,0.08); border-color: #cbd5e1; }
.emp-card-inactive[b-krdcufrh9n] { opacity: 0.55; }

.emp-card-left[b-krdcufrh9n] { display: flex; align-items: center; gap: 1rem; flex: 1; }
.emp-avatar[b-krdcufrh9n] { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 10px; background: #f1f5f9; color: #1a3a5c; font-size: 1.1rem; flex-shrink: 0; }
.emp-card-info[b-krdcufrh9n] { display: flex; flex-direction: column; gap: 0.15rem; }
.emp-card-name[b-krdcufrh9n] { font-size: 1rem; font-weight: 700; color: #1e293b; }
.emp-card-position[b-krdcufrh9n] { font-size: 0.8rem; color: #64748b; }
.emp-card-dates[b-krdcufrh9n] { display: flex; align-items: center; gap: 0.5rem; margin-top: 0.15rem; }
.emp-card-date[b-krdcufrh9n] { font-size: 0.75rem; color: #94a3b8; display: flex; align-items: center; gap: 0.25rem; }
.emp-card-date i[b-krdcufrh9n] { font-size: 0.7rem; }

.emp-badge-active[b-krdcufrh9n] { font-size: 0.7rem; font-weight: 600; padding: 0.15rem 0.5rem; border-radius: 20px; background: #dcfce7; color: #16a34a; }
.emp-badge-inactive[b-krdcufrh9n] { font-size: 0.7rem; font-weight: 600; padding: 0.15rem 0.5rem; border-radius: 20px; background: #fee2e2; color: #dc2626; }

.emp-card-costs[b-krdcufrh9n] { display: flex; gap: 1.5rem; }
.emp-cost-item[b-krdcufrh9n] { display: flex; flex-direction: column; gap: 0.1rem; }
.emp-cost-label[b-krdcufrh9n] { font-size: 0.7rem; color: #94a3b8; font-weight: 500; text-transform: uppercase; letter-spacing: 0.3px; }
.emp-cost-value[b-krdcufrh9n] { font-size: 0.95rem; font-weight: 600; color: #1e293b; }
.emp-cost-gross[b-krdcufrh9n] { color: #9f1239; font-weight: 700; }

.emp-card-actions[b-krdcufrh9n] { display: flex; gap: 0.4rem; }
.emp-edit-btn[b-krdcufrh9n], .emp-delete-btn[b-krdcufrh9n] { display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; border: none; border-radius: 8px; background: transparent; color: #94a3b8; cursor: pointer; font-size: 0.85rem; transition: all 0.15s ease; }
.emp-edit-btn:hover[b-krdcufrh9n] { background: #eff6ff; color: #1a3a5c; }
.emp-delete-btn:hover[b-krdcufrh9n] { background: #fee2e2; color: #dc2626; }

/* Üres állapot */
.emp-empty[b-krdcufrh9n] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 4rem; color: #94a3b8; gap: 0.75rem; }
.emp-empty i[b-krdcufrh9n] { font-size: 3rem; }
.emp-empty p[b-krdcufrh9n] { font-size: 1rem; font-weight: 500; }

/* Betöltés */
.emp-loading[b-krdcufrh9n] { display: flex; justify-content: center; padding: 4rem; }
.emp-loading-full[b-krdcufrh9n] { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100vh; width: 100%; }
.emp-loading-text[b-krdcufrh9n] { margin-top: 1rem; }

/* Form overlay */
.emp-form-overlay[b-krdcufrh9n] { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(15,23,42,0.5); z-index: 1000; display: flex; align-items: center; justify-content: center; padding: 1.5rem; backdrop-filter: blur(4px); }
.emp-form-panel[b-krdcufrh9n] { background: #fff; border-radius: 16px; box-shadow: 0 20px 60px rgba(0,0,0,0.2); width: 100%; max-width: 550px; display: flex; flex-direction: column; overflow: hidden; }

.emp-form-header[b-krdcufrh9n] { display: flex; align-items: center; justify-content: space-between; padding: 1.25rem 1.5rem; border-bottom: 1px solid #e2e8f0; background: #f8fafc; }
.emp-form-title[b-krdcufrh9n] { font-size: 1.15rem; font-weight: 700; color: #1e293b; display: flex; align-items: center; gap: 0.6rem; margin: 0; }
.emp-form-title i[b-krdcufrh9n] { color: #1a3a5c; }
.emp-form-close[b-krdcufrh9n] { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border: none; border-radius: 8px; background: transparent; color: #64748b; cursor: pointer; font-size: 1rem; transition: all 0.15s ease; }
.emp-form-close:hover[b-krdcufrh9n] { background: #fee2e2; color: #dc2626; }

.emp-form-body[b-krdcufrh9n] { padding: 1.5rem; display: flex; flex-direction: column; gap: 1rem; }
.emp-field[b-krdcufrh9n] { display: flex; flex-direction: column; gap: 0.35rem; }
.emp-field-row[b-krdcufrh9n] { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.emp-label[b-krdcufrh9n] { font-size: 0.8rem; font-weight: 600; color: #475569; }
.required[b-krdcufrh9n] { color: #dc2626; }
[b-krdcufrh9n] .emp-input { width: 100%; }

.emp-form-footer[b-krdcufrh9n] { display: flex; align-items: center; justify-content: center; gap: 0.75rem; padding: 1rem 1.5rem; border-top: 1px solid #e2e8f0; background: #f8fafc; }
.emp-save-btn[b-krdcufrh9n] { display: flex; align-items: center; gap: 0.4rem; padding: 0.55rem 1.25rem; border: none; border-radius: 8px; background: #16a34a; color: #fff; font-size: 0.85rem; font-weight: 600; cursor: pointer; transition: all 0.2s ease; box-shadow: 0 2px 6px rgba(22,163,74,0.2); }
.emp-save-btn:hover[b-krdcufrh9n] { background: #15803d; }
.emp-cancel-btn[b-krdcufrh9n] { display: flex; align-items: center; gap: 0.4rem; padding: 0.55rem 1rem; border: 1px solid #fca5a5; border-radius: 8px; background: #fff; color: #dc2626; font-size: 0.85rem; font-weight: 600; cursor: pointer; transition: all 0.15s ease; }
.emp-cancel-btn:hover[b-krdcufrh9n] { background: #fef2f2; }

@media (max-width: 768px) {
    .emp-header[b-krdcufrh9n] { flex-direction: column; align-items: flex-start; }
    .emp-card[b-krdcufrh9n] { flex-direction: column; align-items: flex-start; }
    .emp-card-costs[b-krdcufrh9n] { width: 100%; }
    .emp-summary-cards[b-krdcufrh9n] { flex-direction: column; }
    .emp-field-row[b-krdcufrh9n] { grid-template-columns: 1fr; }
}

/* ==================== Új gombok a fejlécben ==================== */
.emp-import-btn[b-krdcufrh9n] { display: flex; align-items: center; gap: 0.4rem; padding: 0.5rem 0.95rem; background: #16a34a; color: #fff; border: none; border-radius: 8px; font-size: 0.82rem; font-weight: 600; cursor: pointer; box-shadow: 0 2px 6px rgba(22,163,74,0.2); }
.emp-import-btn:hover[b-krdcufrh9n] { background: #15803d; }

.emp-whatif-btn[b-krdcufrh9n] { display: flex; align-items: center; gap: 0.4rem; padding: 0.5rem 0.95rem; background: #fff; color: #1a3a5c; border: 1px solid #1a3a5c; border-radius: 8px; font-size: 0.82rem; font-weight: 600; cursor: pointer; transition: all 0.15s ease; }
.emp-whatif-btn:hover[b-krdcufrh9n] { background: #eef2f7; }
.emp-whatif-btn.emp-whatif-active[b-krdcufrh9n] { background: #1a3a5c; color: #fff; }

.emp-ai-btn[b-krdcufrh9n] { display: flex; align-items: center; gap: 0.45rem; padding: 0.5rem 1.05rem; background: linear-gradient(135deg, #1a3a5c 0%, #0f2d52 100%); color: #fff; border: none; border-radius: 8px; font-size: 0.82rem; font-weight: 600; cursor: pointer; box-shadow: 0 2px 6px rgba(15,45,82,0.25); }
.emp-ai-btn:hover[b-krdcufrh9n] { background: linear-gradient(135deg, #0f2d52 0%, #06182d 100%); }
.emp-ai-btn i[b-krdcufrh9n] { color: #fbbf24; }

/* ==================== Summary kártyák bővítés ==================== */
.emp-summary-card[b-krdcufrh9n] { display: flex; align-items: center; gap: 0.75rem; min-width: 200px; }
.emp-summary-icon[b-krdcufrh9n] { font-size: 1.7rem; color: #1a3a5c; flex-shrink: 0; }
.emp-summary-highlight .emp-summary-icon[b-krdcufrh9n] { color: #fbbf24; }
.emp-summary-text[b-krdcufrh9n] { display: flex; flex-direction: column; gap: 0.2rem; }
.emp-summary-hint[b-krdcufrh9n] { font-size: 0.7rem; color: #94a3b8; font-style: italic; margin-top: 0.15rem; }

.emp-summary-ratio[b-krdcufrh9n] { border-left: 4px solid #cbd5e1; }
.emp-ratio-good[b-krdcufrh9n] { border-left-color: #16a34a; }
.emp-ratio-good .emp-summary-icon[b-krdcufrh9n] { color: #16a34a; }
.emp-ratio-medium[b-krdcufrh9n] { border-left-color: #f59e0b; }
.emp-ratio-medium .emp-summary-icon[b-krdcufrh9n] { color: #f59e0b; }
.emp-ratio-high[b-krdcufrh9n] { border-left-color: #dc2626; }
.emp-ratio-high .emp-summary-icon[b-krdcufrh9n] { color: #dc2626; }
.emp-ratio-noinfo[b-krdcufrh9n] { border-left-color: #94a3b8; }
.emp-ratio-na[b-krdcufrh9n] { color: #94a3b8; font-style: italic; font-size: 0.95rem; }

/* ==================== Insights row ==================== */
.emp-insights-row[b-krdcufrh9n] { display: grid; grid-template-columns: minmax(360px, 2fr) minmax(320px, 1fr); gap: 1rem; }

.emp-insight-card[b-krdcufrh9n] { background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 1rem 1.2rem; box-shadow: 0 2px 6px rgba(15,23,42,0.06); }
.emp-insight-title[b-krdcufrh9n] { margin: 0 0 0.85rem 0; font-size: 1rem; font-weight: 700; color: #0f2d52; display: flex; align-items: center; gap: 0.45rem; }
.emp-insight-title i[b-krdcufrh9n] { color: #1a3a5c; }

.emp-chart-tt[b-krdcufrh9n] { background: #1e293b; color: #fff; padding: 0.5rem 0.7rem; border-radius: 4px; font-size: 0.8rem; line-height: 1.4; }

.emp-position-table[b-krdcufrh9n] { display: flex; flex-direction: column; gap: 0.25rem; margin-top: 0.5rem; padding-top: 0.5rem; border-top: 1px solid #f1f5f9; }
.emp-position-row[b-krdcufrh9n] { display: grid; grid-template-columns: 1.5fr 0.6fr 1fr 0.6fr; gap: 0.4rem; padding: 0.35rem 0.5rem; font-size: 0.82rem; align-items: center; }
.emp-position-row:hover[b-krdcufrh9n] { background: #f8fafc; border-radius: 4px; }
.emp-position-name[b-krdcufrh9n] { font-weight: 600; color: #0f2d52; }
.emp-position-headcount[b-krdcufrh9n] { color: #64748b; font-size: 0.78rem; }
.emp-position-total[b-krdcufrh9n] { text-align: right; font-weight: 600; color: #1e293b; font-variant-numeric: tabular-nums; }
.emp-position-pct[b-krdcufrh9n] { text-align: right; color: #1a3a5c; font-weight: 700; font-size: 0.78rem; font-variant-numeric: tabular-nums; }

/* ==================== Turnover / idővonal ==================== */
.emp-turnover-stats[b-krdcufrh9n] { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.5rem; margin-bottom: 1rem; }
.emp-turnover-stat[b-krdcufrh9n] { display: flex; flex-direction: column; gap: 0.1rem; padding: 0.5rem 0.7rem; background: #f8fafc; border-radius: 6px; }
.emp-turnover-value[b-krdcufrh9n] { font-weight: 800; font-size: 1rem; color: #0f2d52; font-variant-numeric: tabular-nums; }
.emp-turnover-hire[b-krdcufrh9n] { color: #15803d; }
.emp-turnover-exit[b-krdcufrh9n] { color: #dc2626; }
.emp-turnover-label[b-krdcufrh9n] { font-size: 0.7rem; color: #94a3b8; text-transform: uppercase; letter-spacing: 0.4px; font-weight: 600; }

.emp-timeline[b-krdcufrh9n] { position: relative; padding: 0.5rem 0 1.2rem 0; margin-top: 0.5rem; border-top: 1px solid #f1f5f9; padding-top: 1rem; }
.emp-timeline-bar[b-krdcufrh9n] { position: relative; height: 32px; background: linear-gradient(90deg, #eef2f7 0%, #eef2f7 100%); border-radius: 16px; border: 1px solid #cbd5e1; }
.emp-timeline-event[b-krdcufrh9n] { position: absolute; top: 50%; transform: translate(-50%, -50%); width: 24px; height: 24px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 0.85rem; cursor: help; box-shadow: 0 1px 3px rgba(0,0,0,0.18); }
.emp-timeline-hire[b-krdcufrh9n] { background: #15803d; }
.emp-timeline-exit[b-krdcufrh9n] { background: #dc2626; }
.emp-timeline-event:hover[b-krdcufrh9n] { transform: translate(-50%, -50%) scale(1.2); z-index: 2; }
.emp-timeline-months[b-krdcufrh9n] { display: flex; justify-content: space-between; margin-top: 0.4rem; padding: 0 0.5rem; font-size: 0.7rem; color: #94a3b8; font-weight: 600; }

/* ==================== What-if panel ==================== */
.emp-whatif-panel[b-krdcufrh9n] { background: #fff; border: 1px solid #1a3a5c; border-radius: 12px; padding: 1rem 1.2rem; box-shadow: 0 2px 8px rgba(15,45,82,0.1); }
.emp-whatif-header[b-krdcufrh9n] { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: 0.85rem; flex-wrap: wrap; }
.emp-whatif-h3[b-krdcufrh9n] { margin: 0; font-size: 1.05rem; font-weight: 700; color: #0f2d52; display: flex; align-items: center; gap: 0.45rem; }
.emp-whatif-h3 i[b-krdcufrh9n] { color: #1a3a5c; }
.emp-whatif-hint[b-krdcufrh9n] { font-size: 0.78rem; color: #94a3b8; font-style: italic; }

.emp-whatif-controls[b-krdcufrh9n] { display: flex; align-items: center; gap: 1rem; margin-bottom: 0.85rem; flex-wrap: wrap; }
.emp-whatif-global[b-krdcufrh9n] { display: flex; align-items: center; gap: 0.5rem; padding: 0.45rem 0.85rem; background: #f8fafc; border: 1px solid #cbd5e1; border-radius: 8px; }
.emp-whatif-global label[b-krdcufrh9n] { font-weight: 600; color: #475569; font-size: 0.85rem; }
.emp-whatif-input[b-krdcufrh9n] { width: 100px; }
.emp-whatif-unit[b-krdcufrh9n] { font-weight: 600; color: #1a3a5c; }
.emp-whatif-reset[b-krdcufrh9n] { display: flex; align-items: center; gap: 0.35rem; padding: 0.4rem 0.85rem; background: #fff7ed; border: 1px solid #fed7aa; color: #7c2d12; border-radius: 6px; cursor: pointer; font-size: 0.82rem; font-weight: 600; }
.emp-whatif-reset:hover[b-krdcufrh9n] { background: #fed7aa; }

.emp-whatif-totals[b-krdcufrh9n] { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.6rem; }
.emp-whatif-total[b-krdcufrh9n] { display: flex; flex-direction: column; gap: 0.15rem; padding: 0.55rem 0.75rem; background: #f8fafc; border-radius: 8px; }
.emp-whatif-total-new[b-krdcufrh9n] { background: #eef2f7; border-left: 3px solid #1a3a5c; }
.emp-whatif-total-diff[b-krdcufrh9n] { background: #fff; border: 1px solid #e2e8f0; }
.emp-whatif-total-label[b-krdcufrh9n] { font-size: 0.7rem; color: #94a3b8; font-weight: 600; text-transform: uppercase; letter-spacing: 0.4px; }
.emp-whatif-total-val[b-krdcufrh9n] { font-weight: 800; color: #0f2d52; font-size: 1rem; font-variant-numeric: tabular-nums; }
.emp-whatif-pos[b-krdcufrh9n] { color: #dc2626; }
.emp-whatif-pos .emp-whatif-total-val[b-krdcufrh9n] { color: #dc2626; }
.emp-whatif-neg[b-krdcufrh9n] { color: #15803d; }
.emp-whatif-neg .emp-whatif-total-val[b-krdcufrh9n] { color: #15803d; }

/* Card-on belüli what-if input */
.emp-cost-whatif[b-krdcufrh9n] { padding-top: 0.4rem; margin-top: 0.4rem; border-top: 1px dashed #cbd5e1; }
[b-krdcufrh9n] .emp-card-whatif-input { width: 120px; }
.emp-cost-whatif-value[b-krdcufrh9n] { font-variant-numeric: tabular-nums; }
.emp-whatif-diff[b-krdcufrh9n] { font-size: 0.75rem; margin-left: 0.3rem; opacity: 0.85; }
.emp-card-whatif-reset[b-krdcufrh9n] { background: #fff7ed; border: 1px solid #fed7aa; color: #7c2d12; width: 28px; height: 28px; border-radius: 6px; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.emp-card-whatif-reset:hover[b-krdcufrh9n] { background: #fed7aa; }

/* History gomb */
.emp-history-btn[b-krdcufrh9n] { background: #f8fafc; border: 1px solid #cbd5e1; color: #475569; width: 32px; height: 32px; border-radius: 6px; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all 0.15s ease; }
.emp-history-btn:hover[b-krdcufrh9n] { background: #1a3a5c; color: #fff; border-color: #1a3a5c; }

/* ==================== Bér-történet modal ==================== */
.emp-history-empty[b-krdcufrh9n] { color: #94a3b8; font-style: italic; padding: 1rem; text-align: center; }
.emp-history-yoy[b-krdcufrh9n] { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.4rem 0.8rem; border-radius: 20px; font-size: 0.85rem; font-weight: 700; margin-bottom: 0.85rem; }
.emp-history-yoy-pos[b-krdcufrh9n] { background: rgba(220, 38, 38, 0.12); color: #991b1b; }
.emp-history-yoy-neg[b-krdcufrh9n] { background: rgba(22, 163, 74, 0.12); color: #15803d; }
.emp-history-table[b-krdcufrh9n] { width: 100%; border-collapse: collapse; font-size: 0.88rem; background: #fff; border-radius: 6px; overflow: hidden; }
.emp-history-table thead th[b-krdcufrh9n] { background: #1a3a5c; color: #fff; padding: 0.5rem 0.7rem; text-align: left; font-weight: 700; font-size: 0.78rem; }
.emp-history-table tbody td[b-krdcufrh9n] { padding: 0.45rem 0.7rem; border-bottom: 1px solid #f1f5f9; color: #1e293b; }
.emp-history-right[b-krdcufrh9n] { text-align: right !important; font-variant-numeric: tabular-nums; }

/* ==================== Import modal ==================== */
.emp-form-panel-wide[b-krdcufrh9n] { max-width: 1100px; }
.emp-import-banner[b-krdcufrh9n] { background: #eef2f7; color: #0f2d52; padding: 0.6rem 0.85rem; border-radius: 6px; font-size: 0.85rem; margin-bottom: 0.85rem; display: flex; align-items: center; gap: 0.5rem; }
.emp-import-banner i[b-krdcufrh9n] { color: #fbbf24; }
.emp-import-table[b-krdcufrh9n] { width: 100%; border-collapse: collapse; font-size: 0.85rem; }
.emp-import-table thead th[b-krdcufrh9n] { background: #1a3a5c; color: #fff; padding: 0.5rem 0.6rem; text-align: left; font-weight: 700; font-size: 0.75rem; }
.emp-import-table tbody td[b-krdcufrh9n] { padding: 0.35rem 0.6rem; border-bottom: 1px solid #f1f5f9; vertical-align: middle; }
.emp-import-row-dup[b-krdcufrh9n] { background: #fef9c3; }
.emp-import-dup-badge[b-krdcufrh9n] { background: #fef3c7; color: #92400e; padding: 0.2rem 0.5rem; border-radius: 12px; font-size: 0.72rem; font-weight: 700; }
[b-krdcufrh9n] .emp-import-input { width: 100%; }
[b-krdcufrh9n] .emp-import-num { max-width: 130px; }

/* ==================== AI panel ==================== */
.emp-ai-panel[b-krdcufrh9n] { max-width: 760px; }
.emp-ai-header[b-krdcufrh9n] { background: linear-gradient(135deg, #0f2d52 0%, #1a3a5c 100%); color: #fff; border-bottom: 2px solid #fbbf24; }
.emp-ai-header .emp-form-title i[b-krdcufrh9n] { color: #fbbf24; }
.emp-ai-body[b-krdcufrh9n] { background: #f8fafc; }
.emp-ai-section[b-krdcufrh9n] { margin-bottom: 1.1rem; padding: 1rem 1.1rem; background: #fff; border: 1px solid #e2e8f0; border-radius: 10px; }
.emp-ai-section h4[b-krdcufrh9n] { margin: 0 0 0.55rem 0; font-size: 0.85rem; font-weight: 700; color: #0f2d52; text-transform: uppercase; letter-spacing: 0.4px; display: flex; align-items: center; gap: 0.45rem; }
.emp-ai-section p[b-krdcufrh9n] { margin: 0; font-size: 0.9rem; line-height: 1.5; color: #1e293b; }
.emp-ai-section ul[b-krdcufrh9n], .emp-ai-section ol[b-krdcufrh9n] { margin: 0; padding-left: 1.3rem; }
.emp-ai-section li[b-krdcufrh9n] { font-size: 0.88rem; line-height: 1.5; color: #1e293b; margin-bottom: 0.35rem; }

@media (max-width: 1024px) {
    .emp-insights-row[b-krdcufrh9n] { grid-template-columns: 1fr; }
    .emp-whatif-totals[b-krdcufrh9n] { grid-template-columns: repeat(2, 1fr); }
}
/* /Components/Pages/Expense/ExpenseComponent.razor.rz.scp.css */
/* ===== Konténer ===== */
.exp-container[b-tc6f9ypoeb] {
    display: flex;
    flex-direction: column;
    padding: 2rem;
    gap: 1.5rem;
    width: 100%;
}

/* ===== Fejléc ===== */
.exp-header[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
}

.exp-title[b-tc6f9ypoeb] {
    font-size: 1.75rem;
    font-weight: 700;
    color: #1e293b;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin: 0;
}

.exp-title i[b-tc6f9ypoeb] {
    color: #9f1239;
}

.exp-controls[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    flex-wrap: wrap;
}

/* ===== Év választó ===== */
.exp-year-selector[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 0.35rem 0.5rem;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}

.exp-year-btn[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: #9f1239;
    cursor: pointer;
    font-size: 0.85rem;
    transition: background 0.2s ease;
}

.exp-year-btn:hover[b-tc6f9ypoeb] {
    background: #fff1f2;
}

.exp-year-label[b-tc6f9ypoeb] {
    font-size: 1.1rem;
    font-weight: 700;
    color: #1e293b;
    min-width: 50px;
    text-align: center;
}

/* ===== Nettó/Bruttó váltó ===== */
.exp-toggle[b-tc6f9ypoeb] {
    display: flex;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}

.exp-toggle-btn[b-tc6f9ypoeb] {
    padding: 0.45rem 1rem;
    border: none;
    background: #ffffff;
    color: #64748b;
    cursor: pointer;
    font-size: 0.85rem;
    font-weight: 600;
    transition: all 0.2s ease;
}

.exp-toggle-btn.active[b-tc6f9ypoeb] {
    background: #9f1239;
    color: #ffffff;
}

.exp-toggle-btn:hover:not(.active)[b-tc6f9ypoeb] {
    background: #fff1f2;
}

/* ===== Összesítő kártyák ===== */
.exp-summary-cards[b-tc6f9ypoeb] {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

.exp-summary-card[b-tc6f9ypoeb] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding: 1rem 1.5rem;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
    min-width: 180px;
}

.exp-summary-highlight[b-tc6f9ypoeb] {
    background: #9f1239;
    border-color: #9f1239;
}

.exp-summary-label[b-tc6f9ypoeb] {
    font-size: 0.8rem;
    color: #64748b;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.exp-summary-highlight .exp-summary-label[b-tc6f9ypoeb] {
    color: #fda4af;
}

.exp-summary-value[b-tc6f9ypoeb] {
    font-size: 1.35rem;
    font-weight: 700;
    color: #1e293b;
}

.exp-summary-highlight .exp-summary-value[b-tc6f9ypoeb] {
    color: #ffffff;
}

/* ===== Táblázat wrapper ===== */
.exp-table-wrapper[b-tc6f9ypoeb] {
    overflow-x: auto;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

/* ===== Táblázat ===== */
.exp-table[b-tc6f9ypoeb] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.85rem;
}

.exp-table thead[b-tc6f9ypoeb] {
    background: #f8fafc;
}

.exp-table th[b-tc6f9ypoeb] {
    padding: 0.75rem 0.5rem;
    font-weight: 600;
    color: #475569;
    text-align: center;
    border-bottom: 2px solid #e2e8f0;
    white-space: nowrap;
}

.exp-th-category[b-tc6f9ypoeb] {
    text-align: left !important;
    padding-left: 1rem !important;
    min-width: 180px;
    position: sticky;
    left: 0;
    background: #f8fafc;
    z-index: 1;
}

.exp-th-month[b-tc6f9ypoeb] {
    min-width: 90px;
}

.exp-th-total[b-tc6f9ypoeb] {
    min-width: 110px;
    background: #fff1f2 !important;
    color: #9f1239 !important;
}

/* ===== Sorok ===== */
.exp-row[b-tc6f9ypoeb] {
    border-bottom: 1px solid #f1f5f9;
    transition: background 0.15s ease;
}

.exp-row:hover[b-tc6f9ypoeb] {
    background: #fffbfb;
}

.exp-td-category[b-tc6f9ypoeb] {
    padding: 0.5rem 1rem;
    font-weight: 600;
    color: #1e293b;
    white-space: nowrap;
    position: sticky;
    left: 0;
    background: #ffffff;
    z-index: 1;
}

.exp-row:hover .exp-td-category[b-tc6f9ypoeb] {
    background: #fffbfb;
}

.exp-td-cat-icon[b-tc6f9ypoeb] {
    color: #9f1239;
    font-size: 0.8rem;
    margin-right: 0.35rem;
}

/* ===== Rejtett kategóriák mutatása váltó (header) ===== */
.exp-show-hidden-btn[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.5rem 0.9rem;
    background: #ffffff;
    color: #64748b;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}

.exp-show-hidden-btn:hover[b-tc6f9ypoeb] {
    border-color: #9f1239;
    color: #9f1239;
}

.exp-show-hidden-btn.active[b-tc6f9ypoeb] {
    background: #9f1239;
    border-color: #9f1239;
    color: #ffffff;
}

.exp-show-hidden-btn i[b-tc6f9ypoeb] {
    font-size: 0.9rem;
}

/* ===== Kategória cella (eye + chevron + név + archive badge) ===== */
.exp-cat-cell[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.exp-cat-visibility-btn[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    padding: 0;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 6px;
    color: #94a3b8;
    cursor: pointer;
    flex-shrink: 0;
    transition: all 0.15s ease;
}

.exp-cat-visibility-btn:hover[b-tc6f9ypoeb] {
    background: #fef2f2;
    border-color: #fecaca;
    color: #9f1239;
}

.exp-cat-visibility-btn i[b-tc6f9ypoeb] {
    font-size: 0.85rem;
}

.exp-cat-name[b-tc6f9ypoeb] {
    flex: 1;
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

/* Kategória inline átnevező input — a panel meglévő input-stílusát követi */
.exp-cat-name-input[b-tc6f9ypoeb] {
    flex: 1;
    min-width: 0;
}

    .exp-cat-name-input :deep(input)[b-tc6f9ypoeb] {
        width: 100%;
        font-weight: 600;
        color: #1e293b;
    }

.exp-cat-archived[b-tc6f9ypoeb] {
    display: inline-flex;
    align-items: center;
    color: #94a3b8;
    font-size: 0.85rem;
}

/* ===== Rejtett kategória sor (halvány, dőlt) ===== */
.exp-row-hidden .exp-td-category[b-tc6f9ypoeb] {
    color: #94a3b8;
    font-style: italic;
    background: #fafbfc;
}

.exp-row-hidden:hover .exp-td-category[b-tc6f9ypoeb] {
    background: #f1f5f9;
}

.exp-row-hidden .exp-cat-visibility-btn[b-tc6f9ypoeb] {
    color: #cbd5e1;
}

/* ===== Sor expand (kattintható chevron + nyitott állapot) ===== */
.exp-expand-btn[b-tc6f9ypoeb] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    padding: 0;
    margin-right: 0.4rem;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 4px;
    color: #64748b;
    cursor: pointer;
    transition: all 0.15s ease;
    vertical-align: middle;
}

.exp-expand-btn:hover[b-tc6f9ypoeb] {
    background: #f1f5f9;
    border-color: #cbd5e1;
    color: #1a3a5c;
}

.exp-expand-btn i[b-tc6f9ypoeb] {
    font-size: 0.75rem;
}

.exp-row-expanded .exp-td-category[b-tc6f9ypoeb] {
    background: #fef3f2;
}

.exp-row-expanded:hover .exp-td-category[b-tc6f9ypoeb] {
    background: #fee4e2;
}

/* ===== Részletes detail sor a kategória alatt ===== */
.exp-row-detail[b-tc6f9ypoeb] {
    background: #fafbfc;
}

.exp-td-detail-wrapper[b-tc6f9ypoeb] {
    padding: 0.75rem 1.25rem 1rem 3rem;
    background: #fafbfc;
    border-bottom: 2px solid #f1f5f9;
}

.exp-detail-empty[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 1rem;
    color: #94a3b8;
    font-size: 0.85rem;
    font-style: italic;
}

.exp-detail-empty i[b-tc6f9ypoeb] {
    font-size: 1.1rem;
}

.exp-detail-table-wrapper[b-tc6f9ypoeb] {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.exp-detail-table[b-tc6f9ypoeb] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.82rem;
}

.exp-detail-table thead[b-tc6f9ypoeb] {
    background: #f8fafc;
}

.exp-detail-table th[b-tc6f9ypoeb] {
    padding: 0.5rem 0.75rem;
    font-weight: 600;
    color: #475569;
    text-align: left;
    border-bottom: 1px solid #e2e8f0;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    font-size: 0.7rem;
}

.exp-detail-th-num[b-tc6f9ypoeb] {
    text-align: right !important;
}

.exp-detail-th-action[b-tc6f9ypoeb] {
    width: 40px;
}

.exp-detail-table tbody tr[b-tc6f9ypoeb] {
    border-bottom: 1px solid #f1f5f9;
    transition: background 0.15s ease;
}

.exp-detail-table tbody tr:last-child[b-tc6f9ypoeb] {
    border-bottom: none;
}

.exp-detail-table tbody tr:hover[b-tc6f9ypoeb] {
    background: #fafbfc;
}

.exp-detail-table td[b-tc6f9ypoeb] {
    padding: 0.5rem 0.75rem;
    color: #1e293b;
}

.exp-detail-num[b-tc6f9ypoeb] {
    text-align: right;
    font-variant-numeric: tabular-nums;
    font-weight: 600;
}

.exp-detail-orig[b-tc6f9ypoeb] {
    color: #1a3a5c;
    font-size: 0.78rem;
}

.exp-detail-rate[b-tc6f9ypoeb] {
    color: #94a3b8;
    font-size: 0.7rem;
    font-weight: 500;
}

.exp-detail-orig-same[b-tc6f9ypoeb] {
    color: #cbd5e1;
    font-weight: 400;
}

.exp-detail-action[b-tc6f9ypoeb] {
    text-align: center;
    padding: 0.25rem !important;
    white-space: nowrap;
}

/* Szerkesztés (ceruza) gomb — a kapocs és a kuka között, navy akcentussal */
.exp-detail-edit-btn[b-tc6f9ypoeb] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    margin-right: 2px;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 6px;
    color: #94a3b8;
    cursor: pointer;
    transition: all 0.15s ease;
}

    .exp-detail-edit-btn:hover[b-tc6f9ypoeb] {
        background: #eff6ff;
        border-color: #bfdbfe;
        color: #1a3a5c;
    }

    .exp-detail-edit-btn:disabled[b-tc6f9ypoeb] {
        opacity: 0.4;
        cursor: default;
    }

    .exp-detail-edit-btn i[b-tc6f9ypoeb] {
        font-size: 0.85rem;
    }

.exp-detail-delete-btn[b-tc6f9ypoeb] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 6px;
    color: #94a3b8;
    cursor: pointer;
    transition: all 0.15s ease;
}

.exp-detail-delete-btn:hover[b-tc6f9ypoeb] {
    background: #fef2f2;
    border-color: #fecaca;
    color: #dc2626;
}

.exp-detail-delete-btn i[b-tc6f9ypoeb] {
    font-size: 0.85rem;
}

/* ==================== Csatolt bizonylat (számla) ikon + legördülő ==================== */

.exp-detail-th-attachment[b-tc6f9ypoeb] {
    width: 70px;
    text-align: center !important;
}

.exp-detail-attachment[b-tc6f9ypoeb] {
    text-align: center;
    padding: 0.25rem !important;
}

/* A pozícionáló konténer, hogy a legördülő menü a gombhoz igazodjon */
.exp-attachment-wrap[b-tc6f9ypoeb] {
    position: relative;
    display: inline-flex;
}

.exp-attachment-btn[b-tc6f9ypoeb] {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 6px;
    color: #1a3a5c;
    cursor: pointer;
    transition: all 0.15s ease;
}

.exp-attachment-btn:hover[b-tc6f9ypoeb] {
    background: #eef4fb;
    border-color: #c7dbf0;
    color: #14304d;
}

.exp-attachment-btn i[b-tc6f9ypoeb] {
    font-size: 0.95rem;
}

/* Több bizonylat esetén a darabszám jelvény az ikon sarkában */
.exp-attachment-count[b-tc6f9ypoeb] {
    position: absolute;
    top: -4px;
    right: -4px;
    min-width: 15px;
    height: 15px;
    padding: 0 3px;
    background: #16a34a;
    color: #ffffff;
    border-radius: 8px;
    font-size: 0.6rem;
    font-weight: 700;
    line-height: 15px;
    text-align: center;
}

.exp-attachment-none[b-tc6f9ypoeb] {
    color: #cbd5e1;
    font-weight: 400;
}

/* A bizonylat-legördülő menü — a gomb alatt jelenik meg, fölé úszik */
.exp-attachment-menu[b-tc6f9ypoeb] {
    position: absolute;
    top: calc(100% + 4px);
    right: 0;
    z-index: 40;
    min-width: 230px;
    max-width: 320px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.16);
    padding: 0.35rem;
    text-align: left;
}

.exp-attachment-item[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.35rem 0.4rem;
    border-radius: 6px;
    transition: background 0.15s ease;
}

.exp-attachment-item:hover[b-tc6f9ypoeb] {
    background: #f8fafc;
}

.exp-attachment-item + .exp-attachment-item[b-tc6f9ypoeb] {
    border-top: 1px solid #f1f5f9;
}

.exp-attachment-name[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.78rem;
    color: #1e293b;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.exp-attachment-name i[b-tc6f9ypoeb] {
    color: #1a3a5c;
    flex-shrink: 0;
}

.exp-attachment-actions[b-tc6f9ypoeb] {
    display: inline-flex;
    gap: 0.25rem;
    flex-shrink: 0;
}

.exp-attachment-action[b-tc6f9ypoeb] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    padding: 0;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.15s ease;
}

.exp-attachment-action i[b-tc6f9ypoeb] {
    font-size: 0.85rem;
}

.exp-attachment-view[b-tc6f9ypoeb] {
    color: #1a3a5c;
}

.exp-attachment-view:hover[b-tc6f9ypoeb] {
    background: #eef4fb;
    border-color: #c7dbf0;
    color: #14304d;
}

.exp-attachment-download[b-tc6f9ypoeb] {
    color: #16a34a;
}

.exp-attachment-download:hover[b-tc6f9ypoeb] {
    background: #f0fdf4;
    border-color: #bbf7d0;
    color: #15803d;
}

.exp-td-cell[b-tc6f9ypoeb] {
    padding: 0.25rem 0.35rem;
    text-align: center;
}

[b-tc6f9ypoeb] .exp-cell-input {
    width: 100%;
    text-align: right;
    font-size: 0.85rem;
}

[b-tc6f9ypoeb] .exp-cell-input input {
    text-align: right;
    padding: 0.3rem 0.4rem;
    border: 1px solid transparent;
    border-radius: 4px;
    background: transparent;
    transition: all 0.15s ease;
}

[b-tc6f9ypoeb] .exp-cell-input input:focus {
    border-color: #9f1239;
    background: #ffffff;
    box-shadow: 0 0 0 2px rgba(159, 18, 57, 0.1);
}

[b-tc6f9ypoeb] .exp-cell-input input:hover:not(:focus) {
    border-color: #cbd5e1;
    background: #f8fafc;
}

.exp-td-total[b-tc6f9ypoeb] {
    padding: 0.5rem 0.75rem;
    text-align: right;
    font-weight: 700;
    color: #9f1239;
    background: #fffbfb;
    white-space: nowrap;
}

/* ===== Lábléc sor ===== */
.exp-footer-row[b-tc6f9ypoeb] {
    background: #fff1f2;
    position: sticky;
    bottom: 0;
    z-index: 2;
    box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.08);
}

.exp-td-footer-label[b-tc6f9ypoeb] {
    font-weight: 700 !important;
    color: #9f1239 !important;
    background: #fff1f2 !important;
}

.exp-td-footer[b-tc6f9ypoeb] {
    font-weight: 700;
    color: #9f1239;
    text-align: right;
    padding: 0.75rem 0.5rem;
    white-space: nowrap;
}

.exp-td-grand[b-tc6f9ypoeb] {
    font-weight: 800;
    font-size: 0.9rem;
    color: #881337;
    background: #ffe4e6 !important;
}

/* ===== Üres állapot ===== */
.exp-empty[b-tc6f9ypoeb] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem;
    color: #94a3b8;
    gap: 0.75rem;
}

.exp-empty i[b-tc6f9ypoeb] {
    font-size: 3rem;
}

.exp-empty p[b-tc6f9ypoeb] {
    font-size: 1rem;
    font-weight: 500;
}

/* ===== Betöltés ===== */
.exp-loading[b-tc6f9ypoeb] {
    display: flex;
    justify-content: center;
    padding: 4rem;
}

.exp-loading-full[b-tc6f9ypoeb] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100vh;
    width: 100%;
}

.exp-loading-text[b-tc6f9ypoeb] {
    margin-top: 1rem;
}

/* ===== Gombok ===== */
.exp-import-btn[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: #9f1239;
    color: #ffffff;
    border: none;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 2px 6px rgba(159, 18, 57, 0.2);
}

.exp-import-btn:hover[b-tc6f9ypoeb] {
    background: #881337;
    box-shadow: 0 4px 12px rgba(159, 18, 57, 0.3);
}

.exp-import-btn i[b-tc6f9ypoeb] {
    font-size: 0.9rem;
}

/* Excel betöltés gomb — zöld árnyalat (Excel ikon convention) */
.exp-import-btn-excel[b-tc6f9ypoeb] {
    background: #1d6f42;
    box-shadow: 0 2px 6px rgba(29, 111, 66, 0.2);
}

.exp-import-btn-excel:hover[b-tc6f9ypoeb] {
    background: #155232;
    box-shadow: 0 4px 12px rgba(29, 111, 66, 0.3);
}

.exp-category-btn[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: #ffffff;
    color: #475569;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}

/* ==================== Visszavonás (undo) gomb + megerősítő ablak ==================== */

.exp-undo-btn[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: #1a3a5c;
    color: #ffffff;
    border: 1px solid #1a3a5c;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 2px 6px rgba(26, 58, 92, 0.2);
}

    .exp-undo-btn:hover:not(:disabled)[b-tc6f9ypoeb] {
        background: #15304d;
    }

    .exp-undo-btn:disabled[b-tc6f9ypoeb] {
        opacity: 0.6;
        cursor: default;
    }

.exp-undo-overlay[b-tc6f9ypoeb] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
    z-index: 9200;
    display: flex;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(2px);
}

.exp-undo-panel[b-tc6f9ypoeb] {
    width: min(92vw, 440px);
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 20px 60px rgba(15, 23, 42, 0.35);
    overflow: hidden;
}

.exp-undo-panel-header[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 14px 20px;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
    font-weight: 700;
    color: #0f172a;
}

    .exp-undo-panel-header i[b-tc6f9ypoeb] {
        color: #1a3a5c;
        font-size: 1.2rem;
    }

.exp-undo-panel-body[b-tc6f9ypoeb] {
    padding: 18px 20px;
}

.exp-undo-question[b-tc6f9ypoeb] {
    margin: 0 0 12px 0;
    color: #334155;
    font-size: 0.9rem;
}

.exp-undo-action-box[b-tc6f9ypoeb] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 12px 14px;
    background: #f1f5f9;
    border-left: 3px solid #1a3a5c;
    border-radius: 8px;
}

.exp-undo-action-kind[b-tc6f9ypoeb] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: #64748b;
    font-weight: 700;
}

.exp-undo-action-label[b-tc6f9ypoeb] {
    font-size: 1rem;
    font-weight: 700;
    color: #0f172a;
}

.exp-undo-hint[b-tc6f9ypoeb] {
    margin: 10px 0 0 0;
    font-size: 0.78rem;
    color: #64748b;
}

.exp-undo-hint-chain[b-tc6f9ypoeb] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #1a3a5c;
    font-weight: 600;
}

.exp-undo-panel-footer[b-tc6f9ypoeb] {
    display: flex;
    gap: 10px;
    padding: 14px 20px;
    border-top: 1px solid #e2e8f0;
    justify-content: flex-end;
}

.exp-undo-confirm-btn[b-tc6f9ypoeb],
.exp-undo-cancel-btn[b-tc6f9ypoeb] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 8px 16px;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    border: 1px solid transparent;
    transition: all 0.15s ease;
}

.exp-undo-confirm-btn[b-tc6f9ypoeb] {
    background: #1a3a5c;
    color: #ffffff;
}

    .exp-undo-confirm-btn:hover:not(:disabled)[b-tc6f9ypoeb] {
        background: #15304d;
    }

.exp-undo-cancel-btn[b-tc6f9ypoeb] {
    background: #ffffff;
    color: #475569;
    border-color: #cbd5e1;
}

    .exp-undo-cancel-btn:hover:not(:disabled)[b-tc6f9ypoeb] {
        background: #f1f5f9;
    }

    .exp-undo-confirm-btn:disabled[b-tc6f9ypoeb],
    .exp-undo-cancel-btn:disabled[b-tc6f9ypoeb] {
        opacity: 0.6;
        cursor: default;
    }

.exp-category-btn:hover[b-tc6f9ypoeb] {
    background: #f8fafc;
    border-color: #9f1239;
    color: #9f1239;
}

/* ===== Kategória panel ===== */
.exp-cat-overlay[b-tc6f9ypoeb] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(15, 23, 42, 0.5);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    backdrop-filter: blur(4px);
}

.exp-cat-panel[b-tc6f9ypoeb] {
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
    width: 100%;
    max-width: 500px;
    max-height: 80vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.exp-cat-header[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
}

.exp-cat-title[b-tc6f9ypoeb] {
    font-size: 1.15rem;
    font-weight: 700;
    color: #1e293b;
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin: 0;
}

.exp-cat-title i[b-tc6f9ypoeb] {
    color: #9f1239;
}

.exp-cat-close-btn[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 8px;
    background: transparent;
    color: #64748b;
    cursor: pointer;
    font-size: 1rem;
    transition: all 0.15s ease;
}

.exp-cat-close-btn:hover[b-tc6f9ypoeb] {
    background: #fee2e2;
    color: #dc2626;
}

.exp-cat-body[b-tc6f9ypoeb] {
    padding: 1.5rem;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.exp-cat-add[b-tc6f9ypoeb] {
    display: flex;
    gap: 0.5rem;
}

[b-tc6f9ypoeb] .exp-cat-input {
    flex: 1;
}

.exp-cat-add-btn[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.5rem 1rem;
    background: #16a34a;
    color: #ffffff;
    border: none;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
}

.exp-cat-add-btn:hover[b-tc6f9ypoeb] {
    background: #15803d;
}

.exp-cat-list[b-tc6f9ypoeb] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.exp-cat-item[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.6rem 0.75rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    transition: all 0.15s ease;
}

.exp-cat-item:hover[b-tc6f9ypoeb] {
    background: #ffffff;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
}

.exp-cat-name[b-tc6f9ypoeb] {
    font-size: 0.9rem;
    font-weight: 500;
    color: #1e293b;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.exp-cat-name i[b-tc6f9ypoeb] {
    color: #9f1239;
    font-size: 0.8rem;
}

.exp-cat-delete-btn[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: #94a3b8;
    cursor: pointer;
    transition: all 0.15s ease;
}

.exp-cat-delete-btn:hover[b-tc6f9ypoeb] {
    background: #fee2e2;
    color: #dc2626;
}

.exp-cat-empty[b-tc6f9ypoeb] {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 2rem;
    color: #94a3b8;
    gap: 0.5rem;
}

.exp-cat-empty i[b-tc6f9ypoeb] {
    font-size: 2rem;
}

.exp-cat-empty p[b-tc6f9ypoeb] {
    font-size: 0.85rem;
    margin: 0;
}

/* ===== Import overlay ===== */
.exp-import-overlay[b-tc6f9ypoeb] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(15, 23, 42, 0.6);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    backdrop-filter: blur(4px);
}

.exp-import-panel[b-tc6f9ypoeb] {
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
    width: 100%;
    max-width: 900px;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* ===== Import fejléc ===== */
.exp-import-header[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
}

.exp-import-title[b-tc6f9ypoeb] {
    font-size: 1.25rem;
    font-weight: 700;
    color: #1e293b;
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin: 0;
}

.exp-import-title i[b-tc6f9ypoeb] {
    color: #9f1239;
}

.exp-import-close-btn[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 8px;
    background: transparent;
    color: #64748b;
    cursor: pointer;
    font-size: 1rem;
    transition: all 0.15s ease;
}

.exp-import-close-btn:hover[b-tc6f9ypoeb] {
    background: #fee2e2;
    color: #dc2626;
}

/* ===== Sikeres mentés banner ===== */
/* A panel-en belül jelenik meg mentés után. Visszavonás vagy Bezárás. */
.exp-import-success-banner[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    padding: 2rem 2rem;
    margin: 1.5rem 2rem;
    background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%);
    border: 1.5px solid #10b981;
    border-radius: 14px;
    box-shadow: 0 4px 16px rgba(16, 185, 129, 0.12);
}

.exp-import-success-icon[b-tc6f9ypoeb] {
    flex-shrink: 0;
    color: #059669;
    font-size: 2.5rem;
    line-height: 1;
}

.exp-import-success-text[b-tc6f9ypoeb] {
    flex: 1;
    min-width: 0;
}

.exp-import-success-text h4[b-tc6f9ypoeb] {
    margin: 0 0 0.25rem 0;
    color: #064e3b;
    font-size: 1.1rem;
    font-weight: 700;
}

.exp-import-success-text p[b-tc6f9ypoeb] {
    margin: 0;
    color: #065f46;
    font-size: 0.9rem;
}

.exp-import-success-errors[b-tc6f9ypoeb] {
    margin-left: 0.5rem;
    color: #b45309;
    font-weight: 600;
}

/* Duplikátum tételhez csatolt bizonylat — semleges, informatív (navy) jelzés */
.exp-import-success-attached[b-tc6f9ypoeb] {
    margin-left: 0.5rem;
    color: #1e3a5f;
    font-weight: 600;
}

.exp-import-success-actions[b-tc6f9ypoeb] {
    display: flex;
    gap: 0.75rem;
    flex-shrink: 0;
}

.exp-import-undo-btn[b-tc6f9ypoeb] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.55rem 1.1rem;
    background: #ffffff;
    color: #b91c1c;
    border: 1.5px solid #fecaca;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.exp-import-undo-btn:hover:not(:disabled)[b-tc6f9ypoeb] {
    background: #fef2f2;
    border-color: #f87171;
    box-shadow: 0 2px 8px rgba(239, 68, 68, 0.15);
}

.exp-import-undo-btn:disabled[b-tc6f9ypoeb] {
    opacity: 0.6;
    cursor: not-allowed;
}

.exp-import-close-success-btn[b-tc6f9ypoeb] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.55rem 1.1rem;
    background: #1a3a5c;
    color: #ffffff;
    border: none;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 2px 6px rgba(26, 58, 92, 0.2);
}

.exp-import-close-success-btn:hover[b-tc6f9ypoeb] {
    background: #0f2a44;
    box-shadow: 0 4px 12px rgba(26, 58, 92, 0.3);
}

/* ===== Banner variánsok: minden hibázott / részben sikerült ===== */
.exp-import-success-banner-error[b-tc6f9ypoeb] {
    background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);
    border-color: #ef4444;
    box-shadow: 0 4px 16px rgba(239, 68, 68, 0.15);
}

.exp-import-success-banner-error .exp-import-success-icon[b-tc6f9ypoeb] {
    color: #dc2626;
}

.exp-import-success-banner-error .exp-import-success-text h4[b-tc6f9ypoeb] {
    color: #7f1d1d;
}

.exp-import-success-banner-error .exp-import-success-text p[b-tc6f9ypoeb] {
    color: #991b1b;
}

.exp-import-success-banner-partial[b-tc6f9ypoeb] {
    background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);
    border-color: #f59e0b;
    box-shadow: 0 4px 16px rgba(245, 158, 11, 0.15);
}

.exp-import-success-banner-partial .exp-import-success-icon[b-tc6f9ypoeb] {
    color: #d97706;
}

.exp-import-success-banner-partial .exp-import-success-text h4[b-tc6f9ypoeb] {
    color: #78350f;
}

.exp-import-success-banner-partial .exp-import-success-text p[b-tc6f9ypoeb] {
    color: #92400e;
}

/* ===== Hibák részletes listája — banner alatt expandable ===== */
.exp-import-error-section[b-tc6f9ypoeb] {
    margin: 0 2rem 1.5rem 2rem;
    border: 1.5px solid #fecaca;
    border-radius: 12px;
    background: #fef9f9;
    overflow: hidden;
}

.exp-import-error-toggle[b-tc6f9ypoeb] {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.85rem 1.25rem;
    background: #fef2f2;
    border: none;
    color: #991b1b;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    text-align: left;
    transition: background 0.15s ease;
}

.exp-import-error-toggle:hover[b-tc6f9ypoeb] {
    background: #fee2e2;
}

.exp-import-error-toggle .ti-bug[b-tc6f9ypoeb] {
    color: #dc2626;
}

.exp-import-error-list[b-tc6f9ypoeb] {
    max-height: 320px;
    overflow-y: auto;
    padding: 0.5rem 0;
}

.exp-import-error-item[b-tc6f9ypoeb] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding: 0.75rem 1.25rem;
    border-bottom: 1px solid #fde0e0;
}

.exp-import-error-item:last-child[b-tc6f9ypoeb] {
    border-bottom: none;
}

.exp-import-error-item-label[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    color: #1a3a5c;
    font-size: 0.85rem;
    font-weight: 600;
}

.exp-import-error-item-label .ti[b-tc6f9ypoeb] {
    color: #6b7280;
    font-size: 0.95rem;
}

.exp-import-error-item-reason[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    color: #991b1b;
    font-size: 0.85rem;
    padding-left: 1.4rem;
}

.exp-import-error-item-reason .ti[b-tc6f9ypoeb] {
    color: #dc2626;
    font-size: 0.95rem;
}

/* ===== Üres találat — cross-link a komplex importra ===== */
.exp-import-empty[b-tc6f9ypoeb] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 3rem 2rem;
    gap: 0.75rem;
}

.exp-import-empty-icon[b-tc6f9ypoeb] {
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fef3c7;
    color: #b45309;
    border-radius: 50%;
    font-size: 2rem;
}

.exp-import-empty h4[b-tc6f9ypoeb] {
    margin: 0;
    color: #0f2a44;
    font-size: 1.1rem;
}

.exp-import-empty p[b-tc6f9ypoeb] {
    margin: 0;
    color: #64748b;
    max-width: 480px;
    font-size: 0.9rem;
}

.exp-import-bulk-link[b-tc6f9ypoeb] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.75rem;
    padding: 0.6rem 1.2rem;
    background: #1a3a5c;
    color: #ffffff;
    border-radius: 8px;
    font-size: 0.9rem;
    font-weight: 600;
    text-decoration: none;
    box-shadow: 0 2px 6px rgba(26, 58, 92, 0.2);
    transition: all 0.2s ease;
}

.exp-import-bulk-link:hover[b-tc6f9ypoeb] {
    background: #0f2a44;
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(26, 58, 92, 0.3);
}

/* ===== Import feldolgozás ===== */
.exp-import-processing[b-tc6f9ypoeb] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem 2rem;
    gap: 1rem;
}

.exp-import-progress-text[b-tc6f9ypoeb] {
    font-size: 0.95rem;
    font-weight: 500;
    color: #475569;
}

[b-tc6f9ypoeb] .exp-import-progress-bar {
    width: 300px;
    max-width: 100%;
}

/* ===== Import dropzone ===== */
.exp-import-dropzone[b-tc6f9ypoeb] {
    margin: 2rem;
    padding: 3rem 2rem;
    border: 2px dashed #fda4af;
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.2s ease;
    background: #fff1f2;
}

.exp-import-dropzone:hover[b-tc6f9ypoeb],
.exp-dropzone-active[b-tc6f9ypoeb] {
    border-color: #9f1239;
    background: #ffe4e6;
    box-shadow: 0 0 0 4px rgba(159, 18, 57, 0.08);
}

.exp-import-dropzone-content[b-tc6f9ypoeb] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    pointer-events: none;
}

.exp-import-dropzone-icon[b-tc6f9ypoeb] {
    font-size: 3rem;
    color: #e11d48;
}

.exp-import-dropzone:hover .exp-import-dropzone-icon[b-tc6f9ypoeb] {
    color: #9f1239;
}

.exp-import-dropzone-text[b-tc6f9ypoeb] {
    font-size: 1.1rem;
    font-weight: 600;
    color: #475569;
    margin: 0;
}

.exp-import-dropzone-hint[b-tc6f9ypoeb] {
    font-size: 0.85rem;
    color: #94a3b8;
    margin: 0;
}

.exp-import-dropzone-formats[b-tc6f9ypoeb] {
    font-size: 0.8rem;
    color: #9f1239;
    margin: 0.5rem 0 0 0;
    padding: 0.4rem 0.8rem;
    background: #ffe4e6;
    border-radius: 6px;
    font-weight: 500;
}

/* ===== Import előnézet ===== */
.exp-import-preview[b-tc6f9ypoeb] {
    display: flex;
    flex-direction: column;
    flex: 1;
    overflow: hidden;
}

.exp-import-preview-header[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 1.5rem;
    background: #fff7ed;
    border-bottom: 1px solid #fed7aa;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.exp-import-preview-info[b-tc6f9ypoeb] {
    font-size: 0.85rem;
    color: #9a3412;
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0;
}

.exp-import-select-actions[b-tc6f9ypoeb] {
    display: flex;
    gap: 0.5rem;
}

.exp-import-select-btn[b-tc6f9ypoeb] {
    padding: 0.3rem 0.7rem;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    background: #ffffff;
    color: #475569;
    font-size: 0.8rem;
    cursor: pointer;
    transition: all 0.15s ease;
    display: flex;
    align-items: center;
    gap: 0.3rem;
}

.exp-import-select-btn:hover[b-tc6f9ypoeb] {
    background: #f1f5f9;
    border-color: #94a3b8;
}

/* ===== Számla kártyák ===== */
.exp-import-list-wrapper[b-tc6f9ypoeb] {
    overflow-y: auto;
    flex: 1;
    max-height: 50vh;
    padding: 1rem 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.exp-invoice-card[b-tc6f9ypoeb] {
    display: flex;
    gap: 1rem;
    padding: 1rem;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    transition: all 0.15s ease;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.exp-invoice-card:hover[b-tc6f9ypoeb] {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    border-color: #cbd5e1;
}

.exp-invoice-disabled[b-tc6f9ypoeb] {
    opacity: 0.45;
}

/* ===== Duplikált számla figyelmeztetés (import preview) ===== */
.exp-invoice-duplicate[b-tc6f9ypoeb] {
    border-color: #fbbf24 !important;
    background: #fffbeb;
    opacity: 1;
}

.exp-invoice-duplicate.exp-invoice-disabled[b-tc6f9ypoeb] {
    opacity: 0.85;
}

.exp-invoice-duplicate-banner[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    margin-bottom: 0.6rem;
    background: rgba(245, 158, 11, 0.12);
    border: 1px solid rgba(245, 158, 11, 0.4);
    border-radius: 6px;
    color: #92400e;
    font-size: 0.82rem;
    font-weight: 600;
}

.exp-invoice-duplicate-banner i[b-tc6f9ypoeb] {
    color: #d97706;
    font-size: 0.95rem;
}

/* ===== "Tanult" kategória jelölés (múltbéli adat alapú javaslat) ===== */
.exp-invoice-category-learned[b-tc6f9ypoeb] {
    border-left: 3px solid #16a34a;
    padding-left: 0.5rem;
    background: rgba(22, 163, 74, 0.04);
    border-radius: 4px;
}

.exp-invoice-learned-badge[b-tc6f9ypoeb] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    margin-left: 0.6rem;
    padding: 0.15rem 0.55rem;
    background: rgba(22, 163, 74, 0.15);
    color: #15803d;
    border-radius: 4px;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.exp-invoice-learned-badge i[b-tc6f9ypoeb] {
    font-size: 0.7rem;
}

/* ===== Sikertelen import elem (AI nem tudta feldolgozni) ===== */
.exp-invoice-failed[b-tc6f9ypoeb] {
    border-color: #ef4444 !important;
    background: #fef2f2;
    opacity: 1;
}

.exp-invoice-failed-icon[b-tc6f9ypoeb] {
    font-size: 1.5rem;
    color: #dc2626;
}

.exp-invoice-failed-banner[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: #991b1b;
    font-size: 0.92rem;
    margin-bottom: 0.4rem;
}

.exp-invoice-failed-banner i[b-tc6f9ypoeb] {
    color: #dc2626;
    font-size: 1rem;
}

.exp-invoice-failed-reason[b-tc6f9ypoeb] {
    font-size: 0.85rem;
    color: #7f1d1d;
    line-height: 1.4;
    padding: 0.4rem 0.6rem;
    background: rgba(220, 38, 38, 0.06);
    border-left: 3px solid #ef4444;
    border-radius: 4px;
    margin-bottom: 0.75rem;
}

/* ===== Manuális kitöltés form a failed elemeknél ===== */
.exp-invoice-manual-banner[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0.75rem 0 0.5rem 0;
    padding-top: 0.5rem;
    border-top: 1px dashed #fecaca;
    font-size: 0.85rem;
    font-weight: 600;
    color: #1a3a5c;
}

.exp-invoice-manual-banner i[b-tc6f9ypoeb] {
    color: #1a3a5c;
}

.exp-invoice-manual-grid[b-tc6f9ypoeb] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.6rem 1rem;
    margin-top: 0.5rem;
}

.exp-invoice-manual-field[b-tc6f9ypoeb] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.exp-invoice-manual-field-wide[b-tc6f9ypoeb] {
    grid-column: span 2;
}

.exp-invoice-manual-field label[b-tc6f9ypoeb] {
    font-size: 0.72rem;
    font-weight: 600;
    color: #475569;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.exp-required[b-tc6f9ypoeb] {
    color: #dc2626;
    margin-left: 0.2rem;
}

/* Opcionális mező jelzés a kötelező csillag helyett (pl. szállító nélküli kategóriánál) */
.exp-optional-hint[b-tc6f9ypoeb] {
    color: #94a3b8;
    font-size: 0.78rem;
    font-style: italic;
    margin-left: 0.2rem;
}

/* Kategória "szállító kötelező" kapcsoló — az új kategória sorhoz és a meglévő kategóriákhoz */
.exp-cat-requires-supplier[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.8rem;
    color: #475569;
    cursor: pointer;
    user-select: none;
    white-space: nowrap;
}

[b-tc6f9ypoeb] .exp-manual-input {
    width: 100%;
}

[b-tc6f9ypoeb] .exp-manual-input input,
[b-tc6f9ypoeb] .exp-manual-input .rz-textbox,
[b-tc6f9ypoeb] .exp-manual-input .rz-numeric,
[b-tc6f9ypoeb] .exp-manual-input .rz-dropdown,
[b-tc6f9ypoeb] .exp-manual-input .rz-datepicker {
    background: #ffffff;
}

@media (max-width: 700px) {
    .exp-invoice-manual-grid[b-tc6f9ypoeb] {
        grid-template-columns: 1fr;
    }
}

/* ===== Forrás fájl jelzés a sikeres elemeknél ===== */
.exp-invoice-source[b-tc6f9ypoeb] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    margin-left: 0.75rem;
    font-size: 0.75rem;
    color: #64748b;
    font-weight: 500;
    padding: 0.15rem 0.5rem;
    background: #f1f5f9;
    border-radius: 4px;
    max-width: 250px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.exp-invoice-source i[b-tc6f9ypoeb] {
    font-size: 0.7rem;
    color: #94a3b8;
}

/* ===== Preview header summary stats ===== */
.exp-import-preview-stats[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin: 0.5rem 0;
}

.exp-import-stat[b-tc6f9ypoeb] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.35rem 0.75rem;
    border-radius: 6px;
    font-size: 0.85rem;
    font-weight: 600;
}

.exp-import-stat-ok[b-tc6f9ypoeb] {
    background: rgba(22, 163, 74, 0.1);
    color: #15803d;
}

.exp-import-stat-failed[b-tc6f9ypoeb] {
    background: rgba(220, 38, 38, 0.1);
    color: #b91c1c;
}

/* ===== Pénznem szerkesztő (import preview) ===== */
.exp-invoice-currency[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin-top: 0.6rem;
    padding: 0.5rem 0.75rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
}

.exp-invoice-currency-warn[b-tc6f9ypoeb] {
    background: #fef3c7;
    border-color: #fbbf24;
}

.exp-invoice-currency-warn-text[b-tc6f9ypoeb] {
    margin-left: 0.4rem;
    color: #b45309;
    font-size: 0.75rem;
    font-weight: 600;
    font-style: italic;
}

.exp-invoice-check[b-tc6f9ypoeb] {
    display: flex;
    align-items: flex-start;
    padding-top: 0.25rem;
}

.exp-invoice-content[b-tc6f9ypoeb] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.exp-invoice-top[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.exp-invoice-supplier[b-tc6f9ypoeb] {
    font-size: 1rem;
    font-weight: 700;
    color: #1e293b;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.exp-invoice-supplier i[b-tc6f9ypoeb] {
    color: #9f1239;
}

.exp-import-badge[b-tc6f9ypoeb] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.2rem 0.6rem;
    border-radius: 20px;
    font-size: 0.72rem;
    font-weight: 600;
    white-space: nowrap;
}

.exp-badge-new[b-tc6f9ypoeb] {
    background: #dcfce7;
    color: #16a34a;
}

.exp-badge-existing[b-tc6f9ypoeb] {
    background: #e0e7ff;
    color: #4338ca;
}

.exp-invoice-details[b-tc6f9ypoeb] {
    display: flex;
    gap: 1.5rem;
    flex-wrap: wrap;
}

.exp-invoice-field[b-tc6f9ypoeb] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.exp-invoice-label[b-tc6f9ypoeb] {
    font-size: 0.7rem;
    color: #94a3b8;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.exp-invoice-value[b-tc6f9ypoeb] {
    font-size: 0.9rem;
    color: #475569;
    font-weight: 500;
}

.exp-amount[b-tc6f9ypoeb] {
    font-weight: 700;
    color: #1e293b;
}

.exp-amount-gross[b-tc6f9ypoeb] {
    color: #9f1239;
}

.exp-invoice-category[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding-top: 0.25rem;
    border-top: 1px solid #f1f5f9;
}

.exp-invoice-cat-label[b-tc6f9ypoeb] {
    font-size: 0.8rem;
    font-weight: 600;
    color: #475569;
    display: flex;
    align-items: center;
    gap: 0.35rem;
    white-space: nowrap;
}

.exp-invoice-cat-label i[b-tc6f9ypoeb] {
    color: #9f1239;
}

[b-tc6f9ypoeb] .exp-invoice-cat-dropdown {
    flex: 1;
    max-width: 300px;
}

.exp-invoice-cat-suggestion[b-tc6f9ypoeb] {
    font-size: 0.85rem;
    color: #d97706;
    display: flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.25rem 0.6rem;
    background: #fffbeb;
    border-radius: 6px;
    border: 1px solid #fde68a;
}

.exp-invoice-cat-suggestion i[b-tc6f9ypoeb] {
    color: #f59e0b;
}

/* ===== Import összesítő ===== */
.exp-import-summary[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    padding: 0.75rem 1.5rem;
    background: #f8fafc;
    border-top: 1px solid #e2e8f0;
}

.exp-import-summary-label[b-tc6f9ypoeb] {
    font-size: 0.85rem;
    font-weight: 600;
    color: #475569;
}

.exp-import-summary-net[b-tc6f9ypoeb] {
    font-size: 0.9rem;
    font-weight: 700;
    color: #1e293b;
}

.exp-import-summary-gross[b-tc6f9ypoeb] {
    font-size: 0.9rem;
    font-weight: 700;
    color: #9f1239;
}

/* ===== Import műveleti gombok ===== */
.exp-import-actions[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 1rem 1.5rem;
    border-top: 1px solid #e2e8f0;
    background: #f8fafc;
}

.exp-import-back-btn[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.55rem 1rem;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #ffffff;
    color: #475569;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s ease;
}

.exp-import-back-btn:hover[b-tc6f9ypoeb] {
    background: #f1f5f9;
    border-color: #94a3b8;
}

.exp-import-approve-btn[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.55rem 1.25rem;
    border: none;
    border-radius: 8px;
    background: #16a34a;
    color: #ffffff;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 2px 6px rgba(22, 163, 74, 0.2);
}

.exp-import-approve-btn:hover[b-tc6f9ypoeb] {
    background: #15803d;
    box-shadow: 0 4px 12px rgba(22, 163, 74, 0.3);
}

.exp-import-cancel-btn[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.55rem 1rem;
    border: 1px solid #fca5a5;
    border-radius: 8px;
    background: #ffffff;
    color: #dc2626;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s ease;
}

.exp-import-cancel-btn:hover[b-tc6f9ypoeb] {
    background: #fef2f2;
    border-color: #f87171;
}

.exp-import-saving[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: #475569;
    font-size: 0.85rem;
    font-weight: 500;
}

/* ===== Manuális kiadás form modal ===== */
.exp-import-btn-manual[b-tc6f9ypoeb] {
    background: #0f2d52;
    color: #ffffff;
    border-color: #0f2d52;
}

.exp-import-btn-manual:hover[b-tc6f9ypoeb] {
    background: #16a34a;
    border-color: #16a34a;
}

.exp-manual-overlay[b-tc6f9ypoeb] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1500;
    padding: 1rem;
}

.exp-manual-panel[b-tc6f9ypoeb] {
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.35);
    width: 100%;
    max-width: 720px;
    max-height: 92vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #e2e8f0;
}

.exp-manual-header[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.25rem;
    background: linear-gradient(135deg, #0f2d52 0%, #1a3a5c 100%);
    color: #ffffff !important;
    cursor: move;
    user-select: none;
    border-bottom: 2px solid #fbbf24;
}

.exp-manual-title[b-tc6f9ypoeb] {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 700;
    color: #ffffff !important;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

.exp-manual-title i[b-tc6f9ypoeb] {
    color: #fbbf24;
}

.exp-manual-close-btn[b-tc6f9ypoeb] {
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.25);
    color: #ffffff;
    width: 32px;
    height: 32px;
    border-radius: 6px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.15s ease;
}

.exp-manual-close-btn:hover[b-tc6f9ypoeb] {
    background: rgba(220, 38, 38, 0.85);
    border-color: #dc2626;
}

.exp-manual-body[b-tc6f9ypoeb] {
    padding: 1.25rem 1.5rem;
    overflow-y: auto;
    flex: 1;
    background: #f8fafc;
}

.exp-manual-footer[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem;
    padding: 0.9rem 1.25rem;
    background: #ffffff;
    border-top: 1px solid #e2e8f0;
}

.exp-manual-save-btn[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.55rem 1.25rem;
    border: none;
    border-radius: 8px;
    background: #16a34a;
    color: #ffffff;
    font-size: 0.88rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 2px 6px rgba(22, 163, 74, 0.25);
}

.exp-manual-save-btn:hover[b-tc6f9ypoeb] {
    background: #15803d;
    box-shadow: 0 4px 12px rgba(22, 163, 74, 0.35);
}

.exp-manual-cancel-btn[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.55rem 1rem;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #ffffff;
    color: #475569;
    font-size: 0.88rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s ease;
}

.exp-manual-cancel-btn:hover[b-tc6f9ypoeb] {
    background: #f1f5f9;
    border-color: #94a3b8;
}

[b-tc6f9ypoeb] .exp-input-error input,
[b-tc6f9ypoeb] .exp-input-error .rz-textbox,
[b-tc6f9ypoeb] .exp-input-error .rz-numeric,
[b-tc6f9ypoeb] .exp-input-error .rz-dropdown,
[b-tc6f9ypoeb] .exp-input-error .rz-datepicker {
    border: 1px solid #dc2626 !important;
    background: #fef2f2 !important;
}

/* ===== Nettó/bruttó tisztázó modal — import után, ha az AI bizonytalan ===== */
.exp-amount-type-overlay[b-tc6f9ypoeb] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2000;
    padding: 1rem;
    backdrop-filter: blur(2px);
}

.exp-amount-type-panel[b-tc6f9ypoeb] {
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 25px 60px rgba(15, 23, 42, 0.45);
    width: 100%;
    max-width: 520px;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    animation: exp-amount-type-pop-b-tc6f9ypoeb 0.18s ease-out;
}

@keyframes exp-amount-type-pop-b-tc6f9ypoeb {
    from { transform: scale(0.92); opacity: 0; }
    to { transform: scale(1); opacity: 1; }
}

.exp-amount-type-header[b-tc6f9ypoeb] {
    padding: 1.1rem 1.5rem;
    background: linear-gradient(135deg, #0f2d52 0%, #1a3a5c 100%);
    color: #ffffff;
    border-bottom: 2px solid #fbbf24;
}

.exp-amount-type-title[b-tc6f9ypoeb] {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 700;
    color: #ffffff !important;
    display: flex;
    align-items: center;
    gap: 0.55rem;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

.exp-amount-type-title i[b-tc6f9ypoeb] {
    color: #fbbf24;
}

.exp-amount-type-body[b-tc6f9ypoeb] {
    padding: 1.5rem;
    background: #f8fafc;
}

.exp-amount-type-question[b-tc6f9ypoeb] {
    margin: 0 0 0.85rem 0;
    font-size: 1rem;
    font-weight: 600;
    color: #1e293b;
    line-height: 1.4;
}

.exp-amount-type-hint[b-tc6f9ypoeb] {
    margin: 0;
    padding: 0.7rem 0.85rem;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 8px;
    font-size: 0.82rem;
    color: #78350f;
    line-height: 1.45;
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
}

.exp-amount-type-hint i[b-tc6f9ypoeb] {
    color: #d97706;
    margin-top: 0.15rem;
    flex-shrink: 0;
}

.exp-amount-type-footer[b-tc6f9ypoeb] {
    display: flex;
    gap: 0.75rem;
    padding: 1rem 1.5rem;
    background: #ffffff;
    border-top: 1px solid #e2e8f0;
}

.exp-amount-type-btn[b-tc6f9ypoeb] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.85rem 1rem;
    border: 2px solid;
    border-radius: 10px;
    font-size: 0.95rem;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.18s ease;
    background: #ffffff;
}

.exp-amount-type-btn-net[b-tc6f9ypoeb] {
    border-color: #16a34a;
    color: #15803d;
}

.exp-amount-type-btn-net:hover[b-tc6f9ypoeb] {
    background: #16a34a;
    color: #ffffff;
    box-shadow: 0 6px 14px rgba(22, 163, 74, 0.35);
    transform: translateY(-1px);
}

.exp-amount-type-btn-gross[b-tc6f9ypoeb] {
    border-color: #1a3a5c;
    color: #0f2d52;
}

.exp-amount-type-btn-gross:hover[b-tc6f9ypoeb] {
    background: #1a3a5c;
    color: #ffffff;
    box-shadow: 0 6px 14px rgba(26, 58, 92, 0.35);
    transform: translateY(-1px);
}

/* ===== Havi limit pill (kategória név mellett) ===== */
.exp-cat-limit-pill[b-tc6f9ypoeb] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.15rem 0.5rem;
    background: rgba(15, 45, 82, 0.08);
    border: 1px solid rgba(15, 45, 82, 0.2);
    color: #0f2d52;
    border-radius: 12px;
    font-size: 0.7rem;
    font-weight: 700;
    margin-left: 0.5rem;
    font-variant-numeric: tabular-nums;
}

.exp-cat-limit-pill i[b-tc6f9ypoeb] {
    color: #0f2d52;
    font-size: 0.7rem;
}

/* ===== Cella színkód a havi limit alapján ===== */
.exp-td-cell-warning[b-tc6f9ypoeb]  .rz-numeric input,
.exp-td-cell-warning[b-tc6f9ypoeb]  .rz-textbox {
    background: #fffbeb !important;
    border-color: #fbbf24 !important;
}

.exp-td-cell-over[b-tc6f9ypoeb]  .rz-numeric input,
.exp-td-cell-over[b-tc6f9ypoeb]  .rz-textbox {
    background: #fef2f2 !important;
    border-color: #dc2626 !important;
    color: #991b1b !important;
    font-weight: 700;
}

/* ===== Havi limit szerkesztő (a kategória panelban) ===== */
.exp-cat-limit-block[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.25rem 0.6rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    margin-left: auto;
    margin-right: 0.5rem;
}

.exp-cat-limit-block > i[b-tc6f9ypoeb] {
    color: #475569;
    font-size: 0.85rem;
}

.exp-cat-limit-year[b-tc6f9ypoeb] {
    font-size: 0.72rem;
    font-weight: 700;
    color: #0f2d52;
    background: #e2e8f0;
    padding: 0.1rem 0.4rem;
    border-radius: 4px;
    font-variant-numeric: tabular-nums;
}

[b-tc6f9ypoeb] .exp-cat-limit-input {
    width: 110px;
}

[b-tc6f9ypoeb] .exp-cat-limit-input input {
    text-align: right;
    font-variant-numeric: tabular-nums;
    font-size: 0.85rem;
}

.exp-cat-limit-unit[b-tc6f9ypoeb] {
    font-size: 0.75rem;
    color: #64748b;
    font-weight: 600;
}

/* ===== Kategória összefésülés gomb ===== */
.exp-merge-btn[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    padding: 0;
    background: #ffffff;
    color: #475569;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    font-size: 1.05rem;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}

.exp-merge-btn:hover[b-tc6f9ypoeb] {
    background: #9f1239;
    color: #ffffff;
    border-color: #9f1239;
    box-shadow: 0 4px 12px rgba(159, 18, 57, 0.2);
}

/* ===== Kategória összefésülés overlay ===== */
.exp-merge-overlay[b-tc6f9ypoeb] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(15, 23, 42, 0.55);
    z-index: 1500;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    backdrop-filter: blur(4px);
}

.exp-merge-panel[b-tc6f9ypoeb] {
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
    width: 100%;
    max-width: 560px;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #e2e8f0;
}

.exp-merge-header[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.1rem 1.5rem;
    background: linear-gradient(135deg, #0f2d52 0%, #1a3a5c 100%);
    color: #ffffff;
    border-bottom: 2px solid #fbbf24;
    cursor: move;
    user-select: none;
}

.exp-merge-title[b-tc6f9ypoeb] {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 700;
    color: #ffffff !important;
    display: flex;
    align-items: center;
    gap: 0.6rem;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

.exp-merge-title i[b-tc6f9ypoeb] {
    color: #fbbf24;
}

.exp-merge-close-btn[b-tc6f9ypoeb] {
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.25);
    color: #ffffff;
    width: 32px;
    height: 32px;
    border-radius: 6px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.15s ease;
}

.exp-merge-close-btn:hover[b-tc6f9ypoeb] {
    background: rgba(220, 38, 38, 0.85);
    border-color: #dc2626;
}

.exp-merge-body[b-tc6f9ypoeb] {
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    overflow-y: auto;
    flex: 1;
    background: #f8fafc;
}

/* ===== Figyelmeztető banner ===== */
.exp-merge-warning[b-tc6f9ypoeb] {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.85rem 1.1rem;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 10px;
    color: #92400e;
    font-size: 0.85rem;
    line-height: 1.5;
}

.exp-merge-warning i[b-tc6f9ypoeb] {
    color: #d97706;
    font-size: 1.25rem;
    flex-shrink: 0;
    margin-top: 0.1rem;
}

/* ===== Dropdown mezők ===== */
.exp-merge-field[b-tc6f9ypoeb] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.exp-merge-label[b-tc6f9ypoeb] {
    font-size: 0.85rem;
    font-weight: 600;
    color: #1e293b;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.exp-merge-label i[b-tc6f9ypoeb] {
    font-size: 0.9rem;
    color: #9f1239;
}

[b-tc6f9ypoeb] .exp-merge-dropdown {
    width: 100%;
}

/* ===== Összefésülés megerősítő info ===== */
.exp-merge-confirm-info[b-tc6f9ypoeb] {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    padding: 0.75rem 1rem;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    color: #1e40af;
    font-size: 0.85rem;
    line-height: 1.5;
}

.exp-merge-confirm-info i[b-tc6f9ypoeb] {
    color: #3b82f6;
    font-size: 1.1rem;
    flex-shrink: 0;
    margin-top: 0.1rem;
}

/* ===== Hiba info (azonos kategória) ===== */
.exp-merge-error-info[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.75rem 1rem;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 8px;
    color: #dc2626;
    font-size: 0.85rem;
}

.exp-merge-error-info i[b-tc6f9ypoeb] {
    font-size: 1.1rem;
    flex-shrink: 0;
}

/* ===== Lábléc gombok ===== */
.exp-merge-footer[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem;
    padding: 1rem 1.5rem;
    background: #ffffff;
    border-top: 1px solid #e2e8f0;
}

.exp-merge-execute-btn[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.6rem 1.25rem;
    border: none;
    border-radius: 8px;
    background: #dc2626;
    color: #ffffff;
    font-size: 0.88rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 2px 8px rgba(220, 38, 38, 0.25);
}

.exp-merge-execute-btn:hover:not(:disabled)[b-tc6f9ypoeb] {
    background: #b91c1c;
    box-shadow: 0 4px 14px rgba(220, 38, 38, 0.35);
}

.exp-merge-execute-btn:disabled[b-tc6f9ypoeb] {
    opacity: 0.5;
    cursor: not-allowed;
}

.exp-merge-cancel-btn[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.6rem 1rem;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #ffffff;
    color: #475569;
    font-size: 0.88rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s ease;
}

.exp-merge-cancel-btn:hover[b-tc6f9ypoeb] {
    background: #f1f5f9;
    border-color: #94a3b8;
}

.exp-merge-cancel-btn:disabled[b-tc6f9ypoeb] {
    opacity: 0.5;
    cursor: not-allowed;
}

/* ===== Reszponzív ===== */
@media (max-width: 768px) {
    .exp-header[b-tc6f9ypoeb] {
        flex-direction: column;
        align-items: flex-start;
    }

    .exp-controls[b-tc6f9ypoeb] {
        flex-direction: column;
        align-items: flex-start;
    }

    .exp-summary-cards[b-tc6f9ypoeb] {
        flex-direction: column;
    }

    .exp-summary-card[b-tc6f9ypoeb] {
        min-width: auto;
    }

    .exp-import-overlay[b-tc6f9ypoeb],
    .exp-cat-overlay[b-tc6f9ypoeb],
    .exp-manual-overlay[b-tc6f9ypoeb],
    .exp-merge-overlay[b-tc6f9ypoeb] {
        padding: 0.5rem;
    }

    .exp-manual-panel[b-tc6f9ypoeb] {
        max-height: 95vh;
        border-radius: 12px;
    }

    .exp-import-panel[b-tc6f9ypoeb] {
        max-height: 95vh;
        border-radius: 12px;
    }

    .exp-merge-panel[b-tc6f9ypoeb] {
        max-width: 100%;
    }

    .exp-import-preview-header[b-tc6f9ypoeb] {
        flex-direction: column;
        align-items: flex-start;
    }

    .exp-import-actions[b-tc6f9ypoeb] {
        flex-wrap: wrap;
    }

    .exp-invoice-details[b-tc6f9ypoeb] {
        flex-direction: column;
        gap: 0.5rem;
    }
}

/* ===== Cella jobb klikk kontextus menü ===== */
.exp-context-menu[b-tc6f9ypoeb] {
    position: fixed;
    z-index: 1500;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
    padding: 4px 0;
    min-width: 220px;
}

.exp-context-item[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    width: 100%;
    border: none;
    background: transparent;
    color: #0f172a;
    font-size: 0.88rem;
    cursor: pointer;
    text-align: left;
    transition: background 0.15s ease;
}

    .exp-context-item:hover[b-tc6f9ypoeb] {
        background: #f1f5f9;
    }

    .exp-context-item i[b-tc6f9ypoeb] {
        color: #9f1239;
        font-size: 1rem;
    }

/* ===== Hiányzó számla figyelmeztetés ===== */
.exp-missing-invoice-warning[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    background: linear-gradient(135deg, #fef3c7, #fde68a);
    border: 1px solid #f59e0b;
    border-radius: 10px;
    padding: 0.85rem 1.25rem;
    color: #92400e;
    font-size: 0.92rem;
    font-weight: 500;
    box-shadow: 0 2px 8px rgba(245, 158, 11, 0.15);
}

    .exp-missing-invoice-warning i[b-tc6f9ypoeb] {
        font-size: 1.3rem;
        color: #d97706;
        flex-shrink: 0;
    }

.exp-missing-invoice-btn[b-tc6f9ypoeb] {
    margin-left: auto;
    background: #ffffff;
    border: 1px solid #d97706;
    border-radius: 6px;
    padding: 0.35rem 0.85rem;
    color: #92400e;
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
}

    .exp-missing-invoice-btn:hover[b-tc6f9ypoeb] {
        background: #fef3c7;
        border-color: #b45309;
    }

.exp-missing-invoice-list[b-tc6f9ypoeb] {
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 10px;
    padding: 1rem;
    overflow-x: auto;
}

.exp-missing-invoice-table[b-tc6f9ypoeb] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.88rem;
}

    .exp-missing-invoice-table thead th[b-tc6f9ypoeb] {
        background: #fef3c7;
        color: #92400e;
        font-weight: 600;
        padding: 0.6rem 0.85rem;
        text-align: left;
        border-bottom: 2px solid #f59e0b;
    }

    .exp-missing-invoice-table tbody td[b-tc6f9ypoeb] {
        padding: 0.55rem 0.85rem;
        border-bottom: 1px solid #fde68a;
        color: #78350f;
    }

    .exp-missing-invoice-table tbody tr:hover[b-tc6f9ypoeb] {
        background: #fef9c3;
    }

.exp-missing-amount[b-tc6f9ypoeb] {
    text-align: right;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

/* ===== ZIP letöltés és megosztó link gombok ===== */
.exp-invoice-actions-group[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 0.25rem 0.5rem;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}

.exp-month-select[b-tc6f9ypoeb] {
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    padding: 0.3rem 0.5rem;
    font-size: 0.82rem;
    color: #1e293b;
    background: #f8fafc;
    cursor: pointer;
    outline: none;
}

    .exp-month-select:focus[b-tc6f9ypoeb] {
        border-color: #1e3a5f;
        box-shadow: 0 0 0 2px rgba(30, 58, 95, 0.12);
    }

.exp-invoice-zip-btn[b-tc6f9ypoeb],
.exp-invoice-share-btn[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    border: none;
    border-radius: 6px;
    padding: 0.35rem 0.65rem;
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
}

.exp-invoice-zip-btn[b-tc6f9ypoeb] {
    background: #1e3a5f;
    color: #ffffff;
}

    .exp-invoice-zip-btn:hover:not(:disabled)[b-tc6f9ypoeb] {
        background: #15304f;
        box-shadow: 0 2px 6px rgba(30, 58, 95, 0.25);
    }

    .exp-invoice-zip-btn:disabled[b-tc6f9ypoeb],
    .exp-invoice-share-btn:disabled[b-tc6f9ypoeb] {
        opacity: 0.55;
        cursor: not-allowed;
    }

.exp-invoice-share-btn[b-tc6f9ypoeb] {
    background: #f1f5f9;
    color: #1e3a5f;
    border: 1px solid #cbd5e1;
}

    .exp-invoice-share-btn:hover:not(:disabled)[b-tc6f9ypoeb] {
        background: #e2e8f0;
    }

/* ===== Megosztó link modal ===== */
.exp-modal-overlay[b-tc6f9ypoeb] {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(15, 23, 42, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2000;
}

.exp-share-modal[b-tc6f9ypoeb] {
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.2);
    width: 100%;
    max-width: 560px;
    overflow: hidden;
}

.exp-share-modal-header[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.5rem;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
}

    .exp-share-modal-header h3[b-tc6f9ypoeb] {
        font-size: 1.1rem;
        font-weight: 700;
        color: #1e293b;
        margin: 0;
        display: flex;
        align-items: center;
        gap: 0.5rem;
    }

        .exp-share-modal-header h3 i[b-tc6f9ypoeb] {
            color: #1e3a5f;
        }

.exp-share-modal-close[b-tc6f9ypoeb] {
    background: transparent;
    border: none;
    cursor: pointer;
    color: #94a3b8;
    font-size: 1.2rem;
    padding: 4px;
    border-radius: 6px;
    transition: all 0.15s ease;
}

    .exp-share-modal-close:hover[b-tc6f9ypoeb] {
        background: #f1f5f9;
        color: #475569;
    }

.exp-share-modal-body[b-tc6f9ypoeb] {
    padding: 1.25rem 1.5rem 1.5rem;
}

    .exp-share-modal-body p[b-tc6f9ypoeb] {
        font-size: 0.9rem;
        color: #64748b;
        margin: 0 0 1rem 0;
    }

.exp-share-link-input-group[b-tc6f9ypoeb] {
    display: flex;
    gap: 0.5rem;
}

.exp-share-link-input[b-tc6f9ypoeb] {
    flex: 1;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 0.6rem 0.85rem;
    font-size: 0.85rem;
    color: #334155;
    background: #f8fafc;
    outline: none;
}

    .exp-share-link-input:focus[b-tc6f9ypoeb] {
        border-color: #1e3a5f;
        box-shadow: 0 0 0 2px rgba(30, 58, 95, 0.12);
    }

.exp-share-copy-btn[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    background: #1e3a5f;
    color: #ffffff;
    border: none;
    border-radius: 8px;
    padding: 0.6rem 1rem;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
}

    .exp-share-copy-btn:hover[b-tc6f9ypoeb] {
        background: #15304f;
        box-shadow: 0 2px 6px rgba(30, 58, 95, 0.25);
    }

/* ===== Manuális kiadás — partner létrehozása kapcsoló ===== */
.exp-manual-partner-check[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
    font-weight: 500;
    color: #475569;
}

    .exp-manual-partner-check span[b-tc6f9ypoeb] {
        font-size: 0.85rem;
    }
/* /Components/Pages/ForgotPassword/ForgotPasswordComponent.razor.rz.scp.css */
.fp-container[b-j2j5c2svue] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    background: linear-gradient(135deg, #0f172a 0%, #1a3a5c 100%);
    padding: 2rem;
}

.fp-box[b-j2j5c2svue] {
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    width: 100%;
    max-width: 460px;
    overflow: hidden;
}

.fp-content[b-j2j5c2svue] {
    padding: 2.5rem 2rem;
}

.fp-header[b-j2j5c2svue] {
    text-align: center;
    margin-bottom: 1.75rem;
}

.fp-brand[b-j2j5c2svue] {
    display: inline-block;
    margin-bottom: 1.25rem;
}

.fp-brand-logo[b-j2j5c2svue] {
    max-width: 180px;
    height: auto;
}

.fp-icon[b-j2j5c2svue] {
    width: 64px;
    height: 64px;
    margin: 0 auto 1rem;
    border-radius: 50%;
    background: linear-gradient(135deg, #1a3a5c 0%, #2563eb 100%);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
}

.fp-title[b-j2j5c2svue] {
    font-size: 1.5rem;
    color: #1a3a5c;
    margin: 0 0 0.5rem;
    font-weight: 700;
}

.fp-subtitle[b-j2j5c2svue] {
    color: #64748b;
    font-size: 0.9rem;
    margin: 0;
}

.fp-form[b-j2j5c2svue] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.fp-form-group[b-j2j5c2svue] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

    .fp-form-group label[b-j2j5c2svue] {
        font-size: 0.85rem;
        color: #1a3a5c;
        font-weight: 600;
    }

.fp-btn[b-j2j5c2svue] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.75rem 1.25rem;
    border: none;
    border-radius: 8px;
    font-size: 0.95rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s;
}

.fp-btn-primary[b-j2j5c2svue] {
    background: linear-gradient(135deg, #1a3a5c 0%, #2563eb 100%);
    color: #fff;
}

    .fp-btn-primary:hover:not([disabled])[b-j2j5c2svue] {
        background: linear-gradient(135deg, #0c2541 0%, #1d4ed8 100%);
    }

    .fp-btn-primary[disabled][b-j2j5c2svue] {
        opacity: 0.6;
        cursor: wait;
    }

.fp-success[b-j2j5c2svue] {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 1rem;
    padding: 1rem 0;
    color: #15803d;
}

    .fp-success i[b-j2j5c2svue] {
        font-size: 3rem;
    }

    .fp-success p[b-j2j5c2svue] {
        color: #1e293b;
        margin: 0;
    }

.fp-footer[b-j2j5c2svue] {
    margin-top: 1.5rem;
    text-align: center;
    font-size: 0.85rem;
}

    .fp-footer a[b-j2j5c2svue] {
        color: #64748b;
        text-decoration: none;
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
    }

        .fp-footer a:hover[b-j2j5c2svue] {
            color: #1a3a5c;
        }
/* /Components/Pages/Home/Home.razor.rz.scp.css */
/* ============================================================
   AlionOS landing — ENTERPRISE LIGHT (navy primary + zöld pozitív + piros negatív)
   Színvilág a user-memory szabálya szerint:
     Fő szín:      sötétkék / navy
     Kiegészítő:   világos szürke, fehér
     Akcentus:     zöld (pozitív), piros (negatív)
   ============================================================ */

:root[b-w3xslwx9dl] {
    /* Világos alapok — fehér / nagyon halvány szürke */
    --al-bg:           #ffffff;
    --al-bg-2:         #f8fafc;
    --al-card:         #ffffff;
    --al-card-2:       #f1f5f9;
    --al-secondary:    #e2e8f0;
    --al-border:       #cbd5e1;
    --al-border-soft:  rgba(15, 37, 64, 0.08);

    /* Szöveg — navy + szürke skála */
    --al-text:         #0f2540;
    --al-muted:        #475569;
    --al-muted-2:      #64748b;

    /* Fő szín — sötétkék / navy (enterprise feeling) */
    --al-primary:      #1a3a5c;
    --al-primary-soft: rgba(26, 58, 92, 0.06);
    --al-primary-mid:  rgba(26, 58, 92, 0.12);
    --al-primary-line: rgba(26, 58, 92, 0.30);
    --al-primary-dark: #0f2540;

    /* Akcentus pozitív — zöld */
    --al-accent:       #10b981;
    --al-accent-soft:  rgba(16, 185, 129, 0.10);

    --al-emerald:      #059669;

    /* Negatív — piros */
    --al-danger:       #dc2626;
    --al-danger-soft:  rgba(220, 38, 38, 0.10);

    /* Chart színek — másodlagos akcentusok (continual data visualization) */
    --al-violet:       #7c3aed;
    --al-violet-soft:  rgba(124, 58, 237, 0.10);

    --al-blue:         #2563eb;
    --al-blue-soft:    rgba(37, 99, 235, 0.10);

    --al-amber:        #f59e0b;
    --al-amber-soft:   rgba(245, 158, 11, 0.10);

    --al-orange:       #ea580c;
    --al-orange-soft:  rgba(234, 88, 12, 0.10);

    --al-radius:       1rem;
    --al-radius-sm:    0.625rem;
    --al-radius-lg:    1.5rem;
    --al-ease:         cubic-bezier(.4,0,.2,1);
    --al-font:         'Inter', 'Geist', 'Segoe UI', system-ui, -apple-system, sans-serif;
}

/* ===== Loading screen ===== */
.al-loading-screen[b-w3xslwx9dl] {
    height: 100vh;
    width: 100vw;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: var(--al-bg);
    color: var(--al-text);
    gap: 1rem;
}

/* ===== Globals ===== */
.al-landing[b-w3xslwx9dl] {
    font-family: var(--al-font);
    background: var(--al-bg);
    color: var(--al-text);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}

.al-landing *[b-w3xslwx9dl] { box-sizing: border-box; }
.al-landing a[b-w3xslwx9dl] { text-decoration: none; color: inherit; }
.al-landing ul[b-w3xslwx9dl] { list-style: none; padding: 0; margin: 0; }
.al-landing button[b-w3xslwx9dl] { font-family: inherit; }

.al-container[b-w3xslwx9dl] {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 24px;
}

/* Színhasználat helper */
.al-text-primary[b-w3xslwx9dl] { color: var(--al-primary); }
.al-text-danger[b-w3xslwx9dl]  { color: var(--al-danger); }
.al-text-accent[b-w3xslwx9dl]  { color: var(--al-accent); }

/* ============================================================
   POSITIONING BAND — a Hero alatti pozicionáló slogan-szalag
   "AlionOS = Excel fölötti és nagyvállalati rendszerek alatti réteg"
   ============================================================ */
.al-positioning-band[b-w3xslwx9dl] {
    background: linear-gradient(135deg, #1a3a5c 0%, #0f2540 100%) !important;
    color: #ffffff;
    padding: 56px 0;
    position: relative;
    overflow: hidden;
}

    .al-positioning-band[b-w3xslwx9dl]::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-image: radial-gradient(circle at 25% 50%, rgba(16, 185, 129, 0.15), transparent 40%),
                          radial-gradient(circle at 80% 30%, rgba(255, 255, 255, 0.06), transparent 50%);
        pointer-events: none;
    }

.al-positioning-inner[b-w3xslwx9dl] {
    display: flex;
    align-items: center;
    gap: 32px;
    position: relative;
    z-index: 2;
}

.al-positioning-icon[b-w3xslwx9dl] {
    flex-shrink: 0;
    width: 80px;
    height: 80px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.20);
    backdrop-filter: blur(8px);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--al-accent);
    font-size: 2.4rem;
}

.al-positioning-text[b-w3xslwx9dl] {
    flex: 1;
}

.al-positioning-eyebrow[b-w3xslwx9dl] {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--al-accent);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 12px;
}

.al-positioning-headline[b-w3xslwx9dl] {
    font-size: clamp(1.4rem, 2.4vw, 2rem);
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: -0.01em;
    margin: 0;
    color: #ffffff;
}

.al-positioning-mark[b-w3xslwx9dl] {
    display: inline-block;
    padding: 0 8px;
    background: rgba(255, 255, 255, 0.12);
    border-radius: 6px;
    color: #ffffff;
    font-weight: 700;
}

/* A positioning headline-ban a primary helper-t override-oljuk, hogy a sötét háttéren látszódjon */
.al-positioning-headline .al-text-primary[b-w3xslwx9dl] {
    color: var(--al-accent);
}

@media (max-width: 768px) {
    .al-positioning-inner[b-w3xslwx9dl] {
        flex-direction: column;
        text-align: center;
        gap: 20px;
    }
    .al-positioning-icon[b-w3xslwx9dl] {
        width: 64px;
        height: 64px;
        font-size: 2rem;
    }
}

/* ===== Egységes pirula (badge) ===== */
.al-pill[b-w3xslwx9dl] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--al-primary-soft);
    border: 1px solid var(--al-primary-line);
    color: var(--al-primary);
    padding: 7px 16px;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 600;
    margin-bottom: 18px;
}

/* ===== Section base ===== */
.al-section[b-w3xslwx9dl] {
    position: relative;
    padding: 96px 0;
    overflow: hidden;
}

.al-section-glow[b-w3xslwx9dl]::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 60% 60% at 50% 50%, rgba(26, 58, 92, 0.04), transparent 70%);
    pointer-events: none;
}

.al-section-head[b-w3xslwx9dl] {
    text-align: center;
    max-width: 720px;
    margin: 0 auto 56px;
}

.al-section-head h2[b-w3xslwx9dl] {
    font-size: clamp(2rem, 4vw, 3.2rem);
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1.1;
    margin: 0 0 18px;
    color: var(--al-text);
}

.al-section-head p[b-w3xslwx9dl] {
    font-size: 1.1rem;
    color: var(--al-muted);
    margin: 0;
}

/* ===== Buttons (egységes rendszer) ===== */
.al-btn[b-w3xslwx9dl] {
    border: none;
    cursor: pointer;
    font-weight: 600;
    font-size: 0.92rem;
    padding: 11px 22px;
    border-radius: var(--al-radius-sm);
    transition: all 0.2s var(--al-ease);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    white-space: nowrap;
}

.al-btn-lg[b-w3xslwx9dl] { padding: 14px 28px; font-size: 1rem; }
.al-btn-full[b-w3xslwx9dl] { width: 100%; }

.al-btn-primary[b-w3xslwx9dl] {
    background: var(--al-primary);
    color: #ffffff;
    box-shadow: 0 4px 14px rgba(26, 58, 92, 0.25);
}

    .al-btn-primary:hover[b-w3xslwx9dl] {
        background: var(--al-primary-dark);
        box-shadow: 0 6px 20px rgba(26, 58, 92, 0.35);
        transform: translateY(-1px);
    }

    .al-btn-primary i[b-w3xslwx9dl] { transition: transform 0.2s; }
    .al-btn-primary:hover i[b-w3xslwx9dl] { transform: translateX(3px); }

.al-btn-ghost[b-w3xslwx9dl] {
    background: transparent;
    color: var(--al-muted);
}

    .al-btn-ghost:hover[b-w3xslwx9dl] {
        background: var(--al-secondary);
        color: var(--al-text);
    }

.al-btn-glass[b-w3xslwx9dl] {
    background: rgba(255, 255, 255, 0.85);
    color: var(--al-text);
    border: 1px solid var(--al-border);
    backdrop-filter: blur(10px);
}

    .al-btn-glass:hover[b-w3xslwx9dl] {
        background: #ffffff;
        border-color: var(--al-primary);
        color: var(--al-primary);
    }

.al-btn-secondary[b-w3xslwx9dl] {
    background: var(--al-secondary);
    color: var(--al-text);
}

    .al-btn-secondary:hover[b-w3xslwx9dl] {
        background: #cbd5e1;
    }

/* ============================================================
   NAVBAR
   ============================================================ */

.al-navbar[b-w3xslwx9dl] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(16px);
    border-bottom: 1px solid var(--al-border);
    box-shadow: 0 1px 3px rgba(15, 37, 64, 0.04);
}

.al-nav-inner[b-w3xslwx9dl] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 64px;
    gap: 24px;
}

.al-brand[b-w3xslwx9dl] {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-weight: 800;
    font-size: 1.1rem;
    letter-spacing: -0.02em;
    color: var(--al-text);
    flex-shrink: 0;
}

.al-brand-icon[b-w3xslwx9dl] {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: linear-gradient(135deg, var(--al-primary), var(--al-primary-dark));
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 1.1rem;
}

.al-brand-text[b-w3xslwx9dl] { font-size: 1.15rem; }
.al-brand-os[b-w3xslwx9dl] { color: var(--al-primary); }

.al-nav-links[b-w3xslwx9dl] {
    display: flex;
    align-items: center;
    gap: 28px;
}

.al-nav-links a[b-w3xslwx9dl] {
    color: var(--al-muted);
    font-size: 0.9rem;
    font-weight: 500;
    transition: color 0.18s;
}

.al-nav-links a:hover[b-w3xslwx9dl] { color: var(--al-text); }

.al-nav-cta[b-w3xslwx9dl] {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Burger + mobile nav */
.al-burger[b-w3xslwx9dl] {
    display: none;
    background: transparent;
    border: none;
    cursor: pointer;
    flex-direction: column;
    gap: 5px;
    padding: 6px;
    z-index: 110;
}

    .al-burger span[b-w3xslwx9dl] {
        display: block;
        width: 24px;
        height: 2px;
        background: var(--al-text);
        border-radius: 2px;
        transition: all 0.3s var(--al-ease);
    }

    .al-burger.al-active span:nth-child(1)[b-w3xslwx9dl] { transform: rotate(45deg) translate(5px, 5px); }
    .al-burger.al-active span:nth-child(2)[b-w3xslwx9dl] { opacity: 0; }
    .al-burger.al-active span:nth-child(3)[b-w3xslwx9dl] { transform: rotate(-45deg) translate(5px, -5px); }

.al-mobile-nav[b-w3xslwx9dl] {
    position: fixed;
    inset: 64px 0 0 0;
    background: rgba(255, 255, 255, 0.97);
    backdrop-filter: blur(20px);
    z-index: 105;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding-top: 32px;
    gap: 16px;
    transform: translateY(-110%);
    visibility: hidden;
    transition: transform 0.35s var(--al-ease), visibility 0s 0.35s;
}

    .al-mobile-nav.al-open[b-w3xslwx9dl] {
        transform: translateY(0);
        visibility: visible;
        transition: transform 0.35s var(--al-ease), visibility 0s 0s;
    }

    .al-mobile-nav a[b-w3xslwx9dl] {
        font-size: 1.15rem;
        font-weight: 600;
        color: var(--al-text);
        padding: 12px 24px;
    }

.al-mobile-cta[b-w3xslwx9dl] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 24px;
    width: 240px;
}

/* ============================================================
   HERO
   ============================================================ */

.al-hero[b-w3xslwx9dl] {
    position: relative;
    padding: 140px 0 96px;
    min-height: 100vh;
    display: flex;
    align-items: center;
    overflow: hidden;
}

/* Animated grid background — halvány navy rács fehér háttéren */
.al-hero-grid-bg[b-w3xslwx9dl] {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(26, 58, 92, 0.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(26, 58, 92, 0.06) 1px, transparent 1px);
    background-size: 60px 60px;
    -webkit-mask-image: radial-gradient(ellipse at center, black 20%, transparent 75%);
            mask-image: radial-gradient(ellipse at center, black 20%, transparent 75%);
    pointer-events: none;
}

/* Glow orbs */
.al-orb[b-w3xslwx9dl] {
    position: absolute;
    border-radius: 50%;
    filter: blur(120px);
    pointer-events: none;
}

.al-orb-1[b-w3xslwx9dl] {
    width: 600px;
    height: 600px;
    left: 20%;
    top: 30%;
    background: rgba(26, 58, 92,0.18);
    animation: alPulse-b-w3xslwx9dl 4s ease-in-out infinite;
}

.al-orb-2[b-w3xslwx9dl] {
    width: 500px;
    height: 500px;
    right: 15%;
    bottom: 25%;
    background: rgba(16, 185, 129,0.15);
    animation: alPulse-b-w3xslwx9dl 4s ease-in-out infinite 1s;
}

.al-orb-3[b-w3xslwx9dl] {
    width: 400px;
    height: 400px;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background: rgba(124, 58, 237,0.10);
}

.al-orb-dash-1[b-w3xslwx9dl] {
    width: 500px;
    height: 500px;
    left: 0;
    top: 25%;
    background: rgba(26, 58, 92,0.10);
}

.al-orb-dash-2[b-w3xslwx9dl] {
    width: 500px;
    height: 500px;
    right: 0;
    bottom: 25%;
    background: rgba(16, 185, 129,0.08);
}

.al-orb-cta-1[b-w3xslwx9dl] {
    width: 280px;
    height: 280px;
    left: 0;
    top: 0;
    background: rgba(26, 58, 92,0.30);
}

.al-orb-cta-2[b-w3xslwx9dl] {
    width: 280px;
    height: 280px;
    right: 0;
    bottom: 0;
    background: rgba(16, 185, 129,0.30);
}

@keyframes alPulse-b-w3xslwx9dl {
    0%, 100% { opacity: 0.7; }
    50% { opacity: 1; }
}

/* Lebegő stat kártyák — float animáció */
.al-float-card[b-w3xslwx9dl] {
    position: absolute;
    display: none;
    align-items: center;
    gap: 12px;
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid var(--al-border-soft);
    backdrop-filter: blur(12px);
    padding: 14px 18px;
    border-radius: 16px;
    box-shadow: 0 16px 40px rgba(0,0,0,0.4);
    z-index: 5;
}

.al-float-1[b-w3xslwx9dl] { left: 5%; top: 22%; animation: alFloat-b-w3xslwx9dl 6s ease-in-out infinite; }
.al-float-2[b-w3xslwx9dl] { right: 6%; top: 18%; animation: alFloat-b-w3xslwx9dl 7s ease-in-out infinite 0.5s; }
.al-float-3[b-w3xslwx9dl] { left: 8%; bottom: 18%; animation: alFloat-b-w3xslwx9dl 8s ease-in-out infinite 1s; }

@keyframes alFloat-b-w3xslwx9dl {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-15px) rotate(2deg); }
}

@media (min-width: 1100px) {
    .al-float-card[b-w3xslwx9dl] { display: inline-flex; }
}

.al-float-icon[b-w3xslwx9dl] {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--al-bg);
}

    .al-float-icon i[b-w3xslwx9dl] { font-size: 1.3rem; }

.al-float-icon-primary[b-w3xslwx9dl] { background: linear-gradient(135deg, var(--al-primary), rgba(26, 58, 92,0.5)); }
.al-float-icon-accent[b-w3xslwx9dl]  { background: linear-gradient(135deg, var(--al-accent), rgba(16, 185, 129,0.5)); }
.al-float-icon-violet[b-w3xslwx9dl]  { background: linear-gradient(135deg, var(--al-violet), rgba(124, 58, 237,0.5)); }

.al-float-value[b-w3xslwx9dl] {
    font-weight: 800;
    font-size: 1.2rem;
    color: var(--al-text);
}

.al-float-label[b-w3xslwx9dl] {
    font-size: 0.72rem;
    color: var(--al-muted);
}

/* Hero tartalom */
.al-hero-inner[b-w3xslwx9dl] {
    position: relative;
    z-index: 10;
    text-align: center;
    max-width: 980px;
    margin: 0 auto;
}

.al-hero-badge[b-w3xslwx9dl] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--al-primary-soft);
    border: 1px solid var(--al-primary-line);
    color: var(--al-primary);
    padding: 9px 18px;
    border-radius: 999px;
    font-size: 0.85rem;
    font-weight: 600;
    margin-bottom: 32px;
    backdrop-filter: blur(8px);
}

    .al-hero-badge i[b-w3xslwx9dl] {
        animation: alPulse-b-w3xslwx9dl 2s ease-in-out infinite;
    }

/* Animated word swap */
.al-hero-swap[b-w3xslwx9dl] {
    font-size: clamp(1.6rem, 3.6vw, 2.8rem);
    font-weight: 800;
    margin: 0 0 8px;
    color: var(--al-muted);
    letter-spacing: -0.02em;
}

.al-swap-from[b-w3xslwx9dl] {
    text-decoration: line-through;
    text-decoration-color: rgba(220, 38, 38,0.55);
    text-decoration-thickness: 2px;
    color: var(--al-muted);
    transition: opacity 0.4s;
}

.al-swap-arrow[b-w3xslwx9dl] {
    margin: 0 16px;
    color: var(--al-muted-2);
}

.al-swap-to[b-w3xslwx9dl] {
    background: linear-gradient(90deg, var(--al-primary), var(--al-accent), var(--al-primary));
    background-size: 200% 100%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: alShine-b-w3xslwx9dl 3s linear infinite;
    font-weight: 800;
}

@keyframes alShine-b-w3xslwx9dl {
    0%   { background-position: 0% 50%; }
    100% { background-position: 200% 50%; }
}

/* Main h2 */
.al-hero-h2[b-w3xslwx9dl] {
    font-size: clamp(1.8rem, 4vw, 3.2rem);
    font-weight: 800;
    letter-spacing: -0.025em;
    line-height: 1.12;
    margin: 24px 0 20px;
    color: var(--al-text);
}

.al-underlined[b-w3xslwx9dl] {
    position: relative;
    display: inline-block;
}

.al-underline-svg[b-w3xslwx9dl] {
    position: absolute;
    bottom: -8px;
    left: 0;
    width: 100%;
    height: 12px;
    overflow: visible;
}

.al-hero-sub[b-w3xslwx9dl] {
    font-size: 1.12rem;
    color: var(--al-muted);
    max-width: 640px;
    margin: 0 auto 36px;
    line-height: 1.65;
}

    .al-hero-sub strong[b-w3xslwx9dl] {
        color: var(--al-text);
        font-weight: 600;
    }

.al-hero-cta[b-w3xslwx9dl] {
    display: flex;
    gap: 14px;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 56px;
}

/* Trust indicators with mini chartok */
.al-trust[b-w3xslwx9dl] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    background: var(--al-card-2);
    border: 1px solid var(--al-border-soft);
    backdrop-filter: blur(12px);
    border-radius: 18px;
    padding: 24px;
    max-width: 720px;
    margin: 0 auto;
}

.al-trust-item[b-w3xslwx9dl] {
    display: flex;
    align-items: center;
    gap: 14px;
    text-align: left;
}

.al-mini-chart[b-w3xslwx9dl] {
    width: 80px;
    height: 32px;
    flex-shrink: 0;
}

.al-trust-value[b-w3xslwx9dl] {
    font-weight: 800;
    font-size: 1.4rem;
    color: var(--al-text);
}

.al-trust-label[b-w3xslwx9dl] {
    font-size: 0.75rem;
    color: var(--al-muted);
}

/* ============================================================
   PROBLEM SECTION
   ============================================================ */

.al-problem-grid[b-w3xslwx9dl] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-bottom: 48px;
}

.al-problem-card[b-w3xslwx9dl] {
    background: var(--al-card);
    border: 1px solid;
    border-radius: 18px;
    padding: 24px;
    transition: transform 0.25s var(--al-ease);
}

    .al-problem-card:hover[b-w3xslwx9dl] { transform: scale(1.04); }

.al-prob-red[b-w3xslwx9dl]    { border-color: rgba(220, 38, 38,0.30);   background: rgba(220, 38, 38,0.06);  }
.al-prob-orange[b-w3xslwx9dl] { border-color: rgba(251,146,60,0.30);   background: rgba(251,146,60,0.06);  }
.al-prob-yellow[b-w3xslwx9dl] { border-color: rgba(251,191,36,0.30);   background: rgba(251,191,36,0.06);  }
.al-prob-purple[b-w3xslwx9dl] { border-color: rgba(124, 58, 237,0.30);  background: rgba(124, 58, 237,0.06); }

.al-problem-icon[b-w3xslwx9dl] {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    margin-bottom: 16px;
}

.al-prob-red    .al-problem-icon[b-w3xslwx9dl] { background: rgba(220, 38, 38,0.15);  color: var(--al-danger); }
.al-prob-orange .al-problem-icon[b-w3xslwx9dl] { background: rgba(251,146,60,0.15);  color: var(--al-orange); }
.al-prob-yellow .al-problem-icon[b-w3xslwx9dl] { background: rgba(251,191,36,0.15);  color: var(--al-amber);  }
.al-prob-purple .al-problem-icon[b-w3xslwx9dl] { background: rgba(124, 58, 237,0.15); color: var(--al-violet); }

.al-problem-card h3[b-w3xslwx9dl] {
    margin: 0 0 8px;
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--al-text);
}

.al-problem-card p[b-w3xslwx9dl] {
    margin: 0;
    font-size: 0.88rem;
    color: var(--al-muted);
    line-height: 1.55;
}

.al-problem-tagline[b-w3xslwx9dl] {
    text-align: center;
    font-size: 1.2rem;
    font-weight: 500;
    color: var(--al-text);
    margin-top: 32px;
}

/* ============================================================
   SOLUTION SECTION
   ============================================================ */

.al-solution-grid[b-w3xslwx9dl] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.al-solution-card[b-w3xslwx9dl] {
    background: var(--al-card);
    border: 1px solid var(--al-border);
    border-radius: var(--al-radius-lg);
    padding: 32px;
    transition: border-color 0.25s var(--al-ease), transform 0.25s var(--al-ease);
    position: relative;
    overflow: hidden;
}

    .al-solution-card:hover[b-w3xslwx9dl] {
        border-color: var(--al-primary-line);
        transform: translateY(-4px);
    }

.al-sol-icon[b-w3xslwx9dl] {
    width: 60px;
    height: 60px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    color: var(--al-bg);
}

    .al-sol-icon i[b-w3xslwx9dl] { font-size: 1.6rem; }

.al-icon-sm[b-w3xslwx9dl] { width: 36px; height: 36px; border-radius: 10px; }
    .al-icon-sm i[b-w3xslwx9dl] { font-size: 1.1rem; }

.al-grad-primary[b-w3xslwx9dl] { background: linear-gradient(135deg, var(--al-primary), rgba(26, 58, 92,0.5)); }
.al-grad-accent[b-w3xslwx9dl]  { background: linear-gradient(135deg, var(--al-accent), rgba(16, 185, 129,0.5)); }
.al-grad-violet[b-w3xslwx9dl]  { background: linear-gradient(135deg, var(--al-violet), rgba(124, 58, 237,0.5)); }
.al-grad-blue[b-w3xslwx9dl]    { background: linear-gradient(135deg, var(--al-blue), rgba(37, 99, 235,0.5)); }

.al-solution-card h3[b-w3xslwx9dl] {
    margin: 0 0 10px;
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--al-text);
    letter-spacing: -0.01em;
}

.al-solution-card p[b-w3xslwx9dl] {
    margin: 0;
    color: var(--al-muted);
    line-height: 1.6;
}

/* ============================================================
   DASHBOARD MOCK
   ============================================================ */

.al-dash-mock[b-w3xslwx9dl] {
    background: var(--al-card-2);
    border: 1px solid var(--al-border);
    border-radius: var(--al-radius-lg);
    padding: 24px;
    box-shadow: 0 12px 40px rgba(15, 37, 64, 0.10), 0 2px 8px rgba(15, 37, 64, 0.04);
    position: relative;
    z-index: 5;
}

.al-dash-topbar[b-w3xslwx9dl] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--al-border);
    margin-bottom: 20px;
}

.al-dash-brand[b-w3xslwx9dl] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.al-dash-logo[b-w3xslwx9dl] {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--al-primary), var(--al-primary-dark));
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
}

.al-dash-name[b-w3xslwx9dl] { font-weight: 600; color: var(--al-text); }
.al-dash-meta[b-w3xslwx9dl] { font-size: 0.75rem; color: var(--al-muted); }

.al-dash-live[b-w3xslwx9dl] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.78rem;
    color: var(--al-muted);
}

.al-live-dot[b-w3xslwx9dl] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--al-emerald);
    box-shadow: 0 0 0 3px rgba(16,211,148,0.20);
    animation: alPulse-b-w3xslwx9dl 2s ease-in-out infinite;
}

/* Dashboard KPIs */
.al-dash-kpis[b-w3xslwx9dl] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    margin-bottom: 24px;
}

.al-dash-kpi[b-w3xslwx9dl] {
    background: #ffffff;
    border: 1px solid var(--al-border);
    border-radius: 14px;
    padding: 16px 18px;
    transition: border-color 0.2s;
}

    .al-dash-kpi:hover[b-w3xslwx9dl] { border-color: var(--al-primary-line); }

.al-kpi-label[b-w3xslwx9dl] {
    font-size: 0.72rem;
    color: var(--al-muted);
    margin-bottom: 6px;
}

.al-kpi-value[b-w3xslwx9dl] {
    font-size: 1.7rem;
    font-weight: 800;
    color: var(--al-text);
    letter-spacing: -0.02em;
    line-height: 1;
}

.al-kpi-trend[b-w3xslwx9dl] {
    margin-top: 6px;
    font-size: 0.78rem;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.al-kpi-trend.al-up[b-w3xslwx9dl] { color: var(--al-emerald); }
.al-kpi-trend.al-down[b-w3xslwx9dl] { color: var(--al-danger); }

/* Charts grid */
.al-dash-charts[b-w3xslwx9dl] {
    display: grid;
    grid-template-columns: 2fr 1fr;
    grid-auto-rows: auto;
    gap: 16px;
}

.al-chart-card[b-w3xslwx9dl] {
    background: #ffffff;
    border: 1px solid var(--al-border);
    border-radius: 16px;
    padding: 20px;
}

.al-chart-large[b-w3xslwx9dl] { grid-row: span 1; }

.al-chart-head[b-w3xslwx9dl] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 14px;
    gap: 12px;
}

.al-chart-head h3[b-w3xslwx9dl] {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--al-text);
}

.al-chart-head p[b-w3xslwx9dl] {
    margin: 2px 0 0;
    font-size: 0.72rem;
    color: var(--al-muted);
}

.al-mini-head[b-w3xslwx9dl] {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--al-text);
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

    .al-mini-head i[b-w3xslwx9dl] { color: var(--al-primary); }

.al-chart-legend[b-w3xslwx9dl] {
    display: inline-flex;
    gap: 12px;
    align-items: center;
    font-size: 0.72rem;
    color: var(--al-muted);
}

.al-chart-legend span[b-w3xslwx9dl] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.al-mini-legend[b-w3xslwx9dl] { font-size: 0.7rem; }

.al-leg-dot[b-w3xslwx9dl] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    display: inline-block;
}

.al-leg-primary[b-w3xslwx9dl] { background: var(--al-primary); }
.al-leg-danger[b-w3xslwx9dl]  { background: var(--al-danger); }
.al-leg-dashed[b-w3xslwx9dl]  {
    width: 16px; height: 2px; border-radius: 1px;
    background: repeating-linear-gradient(90deg, var(--al-accent) 0 4px, transparent 4px 8px);
}

.al-svg-chart[b-w3xslwx9dl] {
    width: 100%;
    height: 200px;
    display: block;
}

.al-svg-bars[b-w3xslwx9dl] {
    width: 100%;
    height: 130px;
    display: block;
}

.al-svg-radial[b-w3xslwx9dl] {
    width: 100%;
    height: 120px;
    display: block;
}

.al-svg-donut[b-w3xslwx9dl] {
    width: 120px;
    height: 120px;
    display: block;
    margin: 0 auto;
}

.al-chart-xaxis[b-w3xslwx9dl] {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    margin-top: 6px;
    font-size: 0.68rem;
    color: var(--al-muted);
    text-align: center;
}

.al-chart-xaxis.al-narrow[b-w3xslwx9dl] {
    grid-template-columns: repeat(7, 1fr);
}

/* Radial wrap */
.al-radial-wrap[b-w3xslwx9dl] {
    position: relative;
    height: 130px;
    margin-bottom: 8px;
}

.al-radial-text[b-w3xslwx9dl] {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding-top: 20px;
}

.al-radial-num[b-w3xslwx9dl] {
    font-size: 2.2rem;
    font-weight: 800;
    color: var(--al-primary);
    line-height: 1;
}

.al-radial-sub[b-w3xslwx9dl] {
    font-size: 0.7rem;
    color: var(--al-muted);
    margin-top: 4px;
}

.al-trend-pill[b-w3xslwx9dl] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: rgba(16,211,148,0.10);
    color: var(--al-emerald);
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 600;
    margin: 0 auto;
    white-space: nowrap;
}

/* Donut wrap */
.al-donut-wrap[b-w3xslwx9dl] {
    display: flex;
    justify-content: center;
    margin-bottom: 12px;
}

.al-cat-legend[b-w3xslwx9dl] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
    font-size: 0.74rem;
    color: var(--al-muted);
}

.al-cat-legend > div[b-w3xslwx9dl] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

    .al-cat-legend strong[b-w3xslwx9dl] {
        color: var(--al-text);
        font-weight: 600;
        margin-left: auto;
    }

/* AI Insights panel */
.al-insight-card[b-w3xslwx9dl] {
    background: linear-gradient(135deg, rgba(26, 58, 92,0.05), rgba(16, 185, 129,0.05));
    border: 1px solid var(--al-primary-line);
}

.al-insight-head[b-w3xslwx9dl] {
    display: flex;
    align-items: center;
    gap: 10px;
}

    .al-insight-head h3[b-w3xslwx9dl] { margin: 0; font-size: 0.95rem; }
    .al-insight-head p[b-w3xslwx9dl] { margin: 0; font-size: 0.7rem; color: var(--al-muted); }

.al-insights[b-w3xslwx9dl] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 4px;
}

.al-insight[b-w3xslwx9dl] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px;
    border-radius: 10px;
    background: transparent;
    border: 1px solid transparent;
    opacity: 0.5;
    transition: all 0.4s var(--al-ease);
}

    .al-insight i[b-w3xslwx9dl] {
        font-size: 1.1rem;
        margin-top: 2px;
        flex-shrink: 0;
    }

.al-insight-title[b-w3xslwx9dl] {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--al-text);
}

.al-insight-desc[b-w3xslwx9dl] {
    font-size: 0.75rem;
    color: var(--al-muted);
    margin-top: 2px;
}

.al-insight.al-active[b-w3xslwx9dl] {
    opacity: 1;
    transform: scale(1.02);
}

.al-color-amber.al-active[b-w3xslwx9dl] { background: var(--al-amber-soft); border-color: rgba(251,191,36,0.20); }
.al-color-amber i[b-w3xslwx9dl] { color: var(--al-amber); }

.al-color-emerald.al-active[b-w3xslwx9dl] { background: rgba(16,211,148,0.10); border-color: rgba(16,211,148,0.20); }
.al-color-emerald i[b-w3xslwx9dl] { color: var(--al-emerald); }

.al-color-primary.al-active[b-w3xslwx9dl] { background: var(--al-primary-soft); border-color: var(--al-primary-line); }
.al-color-primary i[b-w3xslwx9dl] { color: var(--al-primary); }

/* Bottom dashboard stats */
.al-dash-bottom[b-w3xslwx9dl] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 16px;
    margin-top: 20px;
    border-top: 1px solid var(--al-border);
    font-size: 0.78rem;
    color: var(--al-muted);
    flex-wrap: wrap;
    gap: 12px;
}

.al-bottom-stats[b-w3xslwx9dl] {
    display: inline-flex;
    gap: 24px;
    flex-wrap: wrap;
}

.al-bottom-confidence strong[b-w3xslwx9dl] {
    color: var(--al-primary);
    font-weight: 600;
    margin-left: 4px;
}

/* ============================================================
   HOW IT WORKS
   ============================================================ */

.al-steps-wrap[b-w3xslwx9dl] {
    position: relative;
    max-width: 900px;
    margin: 0 auto;
}

.al-steps-line[b-w3xslwx9dl] {
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 1px;
    background: linear-gradient(to bottom, var(--al-primary), var(--al-accent), var(--al-primary));
    opacity: 0.4;
    display: none;
}

@media (min-width: 900px) {
    .al-steps-line[b-w3xslwx9dl] { display: block; }
}

.al-step[b-w3xslwx9dl] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: center;
    position: relative;
    padding: 32px 0;
}

.al-step-reverse[b-w3xslwx9dl] {
    direction: rtl;
}

    .al-step-reverse > *[b-w3xslwx9dl] { direction: ltr; }

.al-step-num[b-w3xslwx9dl] {
    background: linear-gradient(90deg, var(--al-primary), var(--al-accent));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-size: 3rem;
    font-weight: 800;
    line-height: 1;
    margin-bottom: 12px;
    letter-spacing: -0.04em;
}

.al-step-text h3[b-w3xslwx9dl] {
    margin: 0 0 10px;
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--al-text);
    letter-spacing: -0.01em;
}

.al-step-text p[b-w3xslwx9dl] {
    margin: 0;
    color: var(--al-muted);
    line-height: 1.6;
}

.al-step-dot[b-w3xslwx9dl] {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--al-primary);
    border: 4px solid var(--al-bg);
    box-shadow: 0 0 0 2px var(--al-primary-line);
    display: none;
}

@media (min-width: 900px) {
    .al-step-dot[b-w3xslwx9dl] { display: block; }
}

.al-step-card[b-w3xslwx9dl] {
    background: var(--al-card);
    border: 1px solid var(--al-border);
    border-radius: 18px;
    padding: 28px;
    min-height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.al-source-chips[b-w3xslwx9dl] {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: center;
}

.al-chip[b-w3xslwx9dl] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--al-primary-soft);
    border: 1px solid var(--al-primary-line);
    color: var(--al-primary);
    padding: 8px 14px;
    border-radius: 999px;
    font-size: 0.85rem;
    font-weight: 500;
}

    .al-chip i[b-w3xslwx9dl] { font-size: 0.95rem; }

/* Progress row */
.al-progress-row[b-w3xslwx9dl] {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
}

.al-progress-pulse[b-w3xslwx9dl] {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--al-accent);
    animation: alPulse-b-w3xslwx9dl 1.5s ease-in-out infinite;
    flex-shrink: 0;
}

.al-progress-track[b-w3xslwx9dl] {
    flex: 1;
    height: 8px;
    background: var(--al-secondary);
    border-radius: 999px;
    overflow: hidden;
}

.al-progress-fill[b-w3xslwx9dl] {
    height: 100%;
    width: 74%;
    background: linear-gradient(90deg, var(--al-primary), var(--al-accent));
    border-radius: 999px;
    animation: alPulse-b-w3xslwx9dl 2s ease-in-out infinite;
}

.al-progress-pct[b-w3xslwx9dl] {
    font-weight: 700;
    color: var(--al-primary);
    font-size: 0.9rem;
}

/* Mini bárak */
.al-mini-bars[b-w3xslwx9dl] {
    display: flex;
    align-items: flex-end;
    gap: 8px;
    height: 80px;
    width: 100%;
}

.al-mini-bars > div[b-w3xslwx9dl] {
    flex: 1;
    background: linear-gradient(to top, var(--al-primary), var(--al-accent));
    border-radius: 4px 4px 0 0;
    min-height: 12px;
    transition: opacity 0.25s;
}

    .al-mini-bars > div:hover[b-w3xslwx9dl] { opacity: 0.85; }

/* ============================================================
   PRICING
   ============================================================ */

.al-toggle[b-w3xslwx9dl] {
    display: inline-flex;
    align-items: center;
    background: var(--al-card);
    border: 1px solid var(--al-border);
    border-radius: 999px;
    padding: 5px;
    margin-top: 32px;
}

.al-tg-btn[b-w3xslwx9dl] {
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 9px 22px;
    border-radius: 999px;
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--al-muted);
    transition: all 0.2s var(--al-ease);
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.al-tg-btn.al-tg-active[b-w3xslwx9dl] {
    background: var(--al-primary);
    color: var(--al-bg);
    box-shadow: 0 0 16px rgba(26, 58, 92,0.30);
}

.al-tg-save[b-w3xslwx9dl] {
    background: rgba(16,211,148,0.20);
    color: var(--al-emerald);
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 700;
}

.al-tg-active .al-tg-save[b-w3xslwx9dl] {
    background: rgba(0,0,0,0.20);
    color: rgba(0,0,0,0.80);
}

.al-pricing-grid[b-w3xslwx9dl] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.al-price-card[b-w3xslwx9dl] {
    background: var(--al-card);
    border: 1px solid var(--al-border);
    border-radius: 24px;
    padding: 32px;
    transition: all 0.25s var(--al-ease);
    display: flex;
    flex-direction: column;
}

    .al-price-card:hover[b-w3xslwx9dl] {
        border-color: var(--al-primary-line);
    }

.al-price-card.al-popular[b-w3xslwx9dl] {
    border-color: var(--al-primary);
    background: linear-gradient(180deg, rgba(26, 58, 92,0.10), transparent 70%), var(--al-card);
    transform: scale(1.05);
    position: relative;
}

@media (max-width: 900px) {
    .al-price-card.al-popular[b-w3xslwx9dl] { transform: none; }
}

.al-price-ribbon[b-w3xslwx9dl] {
    position: absolute;
    top: -14px;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(90deg, var(--al-primary), var(--al-accent));
    color: var(--al-bg);
    padding: 6px 16px;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    white-space: nowrap;
    box-shadow: 0 6px 20px rgba(26, 58, 92, 0.18);
}

.al-price-card h3[b-w3xslwx9dl] {
    margin: 0 0 6px;
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--al-text);
}

.al-price-desc[b-w3xslwx9dl] {
    margin: 0 0 18px;
    font-size: 0.88rem;
    color: var(--al-muted);
}

.al-price-value[b-w3xslwx9dl] {
    margin-bottom: 18px;
    display: flex;
    align-items: baseline;
    gap: 8px;
}

.al-price-amount[b-w3xslwx9dl] {
    font-size: 2.4rem;
    font-weight: 800;
    color: var(--al-text);
    letter-spacing: -0.025em;
    line-height: 1;
}

.al-price-unit[b-w3xslwx9dl] {
    font-size: 0.9rem;
    color: var(--al-muted);
}

.al-price-features[b-w3xslwx9dl] {
    margin-bottom: 28px;
    flex: 1;
}

.al-price-features li[b-w3xslwx9dl] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 7px 0;
    font-size: 0.88rem;
    color: var(--al-text);
    line-height: 1.5;
}

    .al-price-features li i[b-w3xslwx9dl] {
        color: var(--al-primary);
        font-size: 1.05rem;
        margin-top: 1px;
        flex-shrink: 0;
    }

/* ============================================================
   CTA
   ============================================================ */

.al-cta-wrap[b-w3xslwx9dl] {
    position: relative;
    overflow: hidden;
    border-radius: 32px;
    border: 1px solid var(--al-primary-line);
    background:
        radial-gradient(ellipse at top left, var(--al-primary-mid), transparent 50%),
        radial-gradient(ellipse at bottom right, var(--al-accent-soft), transparent 50%),
        var(--al-card);
    padding: 80px 40px;
}

.al-cta-inner[b-w3xslwx9dl] {
    position: relative;
    z-index: 5;
    text-align: center;
    max-width: 720px;
    margin: 0 auto;
}

    .al-cta-inner h2[b-w3xslwx9dl] {
        font-size: clamp(2rem, 4vw, 3rem);
        font-weight: 800;
        letter-spacing: -0.025em;
        line-height: 1.15;
        margin: 0 0 18px;
        color: var(--al-text);
    }

.al-cta-highlight[b-w3xslwx9dl] {
    background: linear-gradient(90deg, var(--al-primary), var(--al-accent));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.al-cta-inner p[b-w3xslwx9dl] {
    font-size: 1.1rem;
    color: var(--al-muted);
    margin: 0 0 32px;
    line-height: 1.6;
}

.al-cta-actions[b-w3xslwx9dl] {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
}

.al-cta-fine[b-w3xslwx9dl] {
    margin-top: 24px !important;
    font-size: 0.82rem !important;
    color: var(--al-muted-2) !important;
}

/* ============================================================
   FOOTER
   ============================================================ */

.al-footer[b-w3xslwx9dl] {
    background: var(--al-bg-2);
    border-top: 1px solid var(--al-border-soft);
    padding: 64px 0 24px;
}

.al-footer-top[b-w3xslwx9dl] {
    display: grid;
    grid-template-columns: 2fr 3fr;
    gap: 56px;
    margin-bottom: 48px;
}

.al-footer-brand p[b-w3xslwx9dl] {
    color: var(--al-muted);
    margin: 18px 0 20px;
    font-size: 0.92rem;
    line-height: 1.6;
    max-width: 380px;
}

.al-social[b-w3xslwx9dl] {
    display: flex;
    gap: 10px;
}

.al-social a[b-w3xslwx9dl] {
    width: 40px;
    height: 40px;
    border: 1px solid var(--al-border);
    border-radius: 10px;
    color: var(--al-muted);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    transition: all 0.2s;
}

    .al-social a:hover[b-w3xslwx9dl] {
        border-color: var(--al-primary);
        color: var(--al-primary);
    }

.al-footer-links[b-w3xslwx9dl] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}

.al-footer-col h4[b-w3xslwx9dl] {
    margin: 0 0 16px;
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--al-text);
    letter-spacing: 0.04em;
}

.al-footer-col a[b-w3xslwx9dl] {
    display: block;
    color: var(--al-muted);
    font-size: 0.88rem;
    padding: 5px 0;
    transition: color 0.2s;
}

    .al-footer-col a:hover[b-w3xslwx9dl] { color: var(--al-primary); }

.al-footer-bottom[b-w3xslwx9dl] {
    display: flex;
    justify-content: space-between;
    padding-top: 24px;
    border-top: 1px solid var(--al-border-soft);
    font-size: 0.82rem;
    color: var(--al-muted-2);
    flex-wrap: wrap;
    gap: 12px;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 1024px) {
    .al-section[b-w3xslwx9dl] { padding: 72px 0; }

    .al-problem-grid[b-w3xslwx9dl] { grid-template-columns: repeat(2, 1fr); }
    .al-solution-grid[b-w3xslwx9dl] { grid-template-columns: 1fr; }
    .al-pricing-grid[b-w3xslwx9dl] { grid-template-columns: 1fr; max-width: 480px; margin: 0 auto; }
    .al-dash-charts[b-w3xslwx9dl] { grid-template-columns: 1fr; }
    .al-dash-kpis[b-w3xslwx9dl] { grid-template-columns: repeat(2, 1fr); }
    .al-step[b-w3xslwx9dl] { grid-template-columns: 1fr; gap: 20px; }
    .al-step-reverse[b-w3xslwx9dl] { direction: ltr; }
    .al-footer-top[b-w3xslwx9dl] { grid-template-columns: 1fr; gap: 32px; }
}

@media (max-width: 768px) {
    .al-nav-links[b-w3xslwx9dl], .al-nav-cta[b-w3xslwx9dl] { display: none; }
    .al-burger[b-w3xslwx9dl] { display: flex; }

    .al-section[b-w3xslwx9dl] { padding: 56px 0; }
    .al-hero[b-w3xslwx9dl] { padding: 100px 0 56px; min-height: auto; }

    .al-problem-grid[b-w3xslwx9dl] { grid-template-columns: 1fr; }
    .al-trust[b-w3xslwx9dl] { grid-template-columns: 1fr; }
    .al-footer-links[b-w3xslwx9dl] { grid-template-columns: repeat(2, 1fr); }

    .al-cta-wrap[b-w3xslwx9dl] { padding: 56px 24px; }

    .al-hero-cta[b-w3xslwx9dl] { flex-direction: column; align-items: stretch; }
    .al-cta-actions[b-w3xslwx9dl] { flex-direction: column; align-items: stretch; max-width: 320px; margin: 0 auto; }

    .al-dash-mock[b-w3xslwx9dl] { padding: 16px; }
    .al-dash-kpis[b-w3xslwx9dl] { gap: 10px; }
    .al-dash-kpi[b-w3xslwx9dl] { padding: 12px; }
    .al-kpi-value[b-w3xslwx9dl] { font-size: 1.4rem; }
}

@media (max-width: 480px) {
    .al-hero-swap[b-w3xslwx9dl] { font-size: 1.4rem; }
    .al-swap-arrow[b-w3xslwx9dl] { margin: 0 8px; }
    .al-section-head h2[b-w3xslwx9dl] { font-size: 1.6rem; }
}

/* ============================================================
   FULL RESPONSIVE — minden breakpointra finomítás
   1280+, 1024-1280, 768-1024, 480-768, < 480
   ============================================================ */

/* Konténer: kisebb képernyőkön kevesebb padding */
@media (max-width: 1280px) {
    .al-container[b-w3xslwx9dl] { padding: 0 20px; }
}

@media (max-width: 1024px) {
    .al-container[b-w3xslwx9dl] { padding: 0 18px; }
    .al-nav-inner[b-w3xslwx9dl] { gap: 16px; }
    .al-nav-links[b-w3xslwx9dl] { gap: 18px; }
    .al-nav-links a[b-w3xslwx9dl] { font-size: 0.85rem; }
    .al-hero-h2[b-w3xslwx9dl] { font-size: clamp(1.8rem, 4.5vw, 2.6rem); }
    .al-positioning-headline[b-w3xslwx9dl] { font-size: clamp(1.2rem, 2.5vw, 1.7rem); }
    .al-positioning-inner[b-w3xslwx9dl] { gap: 20px; }
    .al-positioning-icon[b-w3xslwx9dl] { width: 64px; height: 64px; font-size: 1.8rem; }
    .al-section-head[b-w3xslwx9dl] { margin-bottom: 40px; }
    /* Float card-ok kis viewporton ne legyenek absolute */
    .al-float-card[b-w3xslwx9dl] { display: none !important; }
}

@media (max-width: 900px) {
    .al-hero[b-w3xslwx9dl] { padding: 110px 0 60px; min-height: auto; }
    .al-hero-h2[b-w3xslwx9dl] { font-size: clamp(1.6rem, 5vw, 2.2rem); line-height: 1.2; }
    .al-hero-sub[b-w3xslwx9dl] { font-size: 1rem; }
    .al-positioning-band[b-w3xslwx9dl] { padding: 40px 0; }
    .al-positioning-headline[b-w3xslwx9dl] { font-size: 1.15rem; line-height: 1.4; }
    .al-positioning-eyebrow[b-w3xslwx9dl] { font-size: 0.75rem; }
    .al-dash-mock[b-w3xslwx9dl] { padding: 16px; }
    .al-dash-kpis[b-w3xslwx9dl] { grid-template-columns: 1fr 1fr; gap: 10px; }
    .al-kpi-value[b-w3xslwx9dl] { font-size: 1.3rem; }
    .al-chart-card[b-w3xslwx9dl] { padding: 14px; }
    .al-chart-head h3[b-w3xslwx9dl] { font-size: 0.95rem; }
    /* Nav burger menüt mutatjuk 900px alatt */
    .al-nav-links[b-w3xslwx9dl], .al-nav-cta[b-w3xslwx9dl] { display: none !important; }
    .al-burger[b-w3xslwx9dl] { display: flex !important; }
}

@media (max-width: 768px) {
    .al-container[b-w3xslwx9dl] { padding: 0 14px; }
    .al-section[b-w3xslwx9dl] { padding: 48px 0; }
    .al-hero[b-w3xslwx9dl] { padding: 96px 0 48px; }
    .al-hero-badge[b-w3xslwx9dl] { font-size: 0.78rem; padding: 6px 12px; }
    .al-hero-swap[b-w3xslwx9dl] { font-size: 1.1rem; }
    .al-hero-h2[b-w3xslwx9dl] { font-size: clamp(1.5rem, 6vw, 2rem); }
    .al-hero-sub[b-w3xslwx9dl] { font-size: 0.95rem; padding: 0 8px; }
    .al-positioning-band[b-w3xslwx9dl] { padding: 32px 0; }
    .al-positioning-inner[b-w3xslwx9dl] {
        flex-direction: column !important;
        text-align: center;
        gap: 16px;
    }
    .al-positioning-icon[b-w3xslwx9dl] { width: 56px; height: 56px; font-size: 1.6rem; }
    .al-positioning-headline[b-w3xslwx9dl] { font-size: 1.05rem; }
    .al-positioning-mark[b-w3xslwx9dl] { padding: 0 5px; font-size: 0.98em; }
    .al-section-head h2[b-w3xslwx9dl] { font-size: clamp(1.5rem, 6vw, 2rem); }
    .al-section-head p[b-w3xslwx9dl] { font-size: 0.95rem; }
    .al-problem-grid[b-w3xslwx9dl],
    .al-solution-grid[b-w3xslwx9dl],
    .al-dash-charts[b-w3xslwx9dl],
    .al-dash-kpis[b-w3xslwx9dl],
    .al-pricing-grid[b-w3xslwx9dl] { grid-template-columns: 1fr !important; }
    .al-problem-card[b-w3xslwx9dl],
    .al-solution-card[b-w3xslwx9dl] { padding: 20px; }
    .al-step[b-w3xslwx9dl] { gap: 16px; padding: 0; }
    .al-step-text h3[b-w3xslwx9dl] { font-size: 1.05rem; }
    .al-trust[b-w3xslwx9dl] { grid-template-columns: 1fr !important; gap: 10px; }
    .al-footer-top[b-w3xslwx9dl] { grid-template-columns: 1fr !important; gap: 32px; }
    .al-footer-links[b-w3xslwx9dl] { grid-template-columns: repeat(2, 1fr); gap: 24px; }
    .al-footer-bottom[b-w3xslwx9dl] { flex-direction: column; align-items: center; gap: 8px; text-align: center; }
    /* Gombok teljesen oszlopba mobilra */
    .al-hero-cta[b-w3xslwx9dl],
    .al-cta-actions[b-w3xslwx9dl] { flex-direction: column !important; align-items: stretch !important; }
    .al-hero-cta .al-btn[b-w3xslwx9dl],
    .al-cta-actions .al-btn[b-w3xslwx9dl] { width: 100%; }
    /* CTA wrap kevésbé pufferzett */
    .al-cta-wrap[b-w3xslwx9dl] { padding: 40px 20px; }
    .al-cta-inner h2[b-w3xslwx9dl] { font-size: clamp(1.4rem, 5.5vw, 2rem); }
    /* Pricing card kicsi */
    .al-price-card[b-w3xslwx9dl] { padding: 24px; }
    .al-price-amount[b-w3xslwx9dl] { font-size: 2rem; }
    /* Dashboard mockup szövegei kicsibbek */
    .al-dash-name[b-w3xslwx9dl] { font-size: 0.9rem; }
    .al-dash-meta[b-w3xslwx9dl] { font-size: 0.7rem; }
    .al-dash-live[b-w3xslwx9dl] { display: none; }
    .al-dash-bottom[b-w3xslwx9dl] { flex-direction: column; gap: 8px; text-align: center; }
    .al-bottom-stats[b-w3xslwx9dl] { flex-wrap: wrap; justify-content: center; gap: 8px; font-size: 0.78rem; }
}

@media (max-width: 480px) {
    .al-container[b-w3xslwx9dl] { padding: 0 12px; }
    .al-section[b-w3xslwx9dl] { padding: 40px 0; }
    .al-hero[b-w3xslwx9dl] { padding: 88px 0 40px; }
    .al-hero-swap[b-w3xslwx9dl] { font-size: 1rem; flex-wrap: wrap; justify-content: center; }
    .al-hero-h2[b-w3xslwx9dl] { font-size: 1.5rem; }
    .al-section-head h2[b-w3xslwx9dl] { font-size: 1.5rem; }
    .al-positioning-headline[b-w3xslwx9dl] { font-size: 0.95rem; }
    .al-positioning-eyebrow[b-w3xslwx9dl] { font-size: 0.7rem; }
    .al-trust-value[b-w3xslwx9dl] { font-size: 1.2rem; }
    .al-trust-label[b-w3xslwx9dl] { font-size: 0.75rem; }
    .al-problem-card h3[b-w3xslwx9dl],
    .al-solution-card h3[b-w3xslwx9dl] { font-size: 1.05rem; }
    .al-problem-card p[b-w3xslwx9dl],
    .al-solution-card p[b-w3xslwx9dl] { font-size: 0.85rem; }
    /* Footer mobilon teljesen 1 oszlop */
    .al-footer-links[b-w3xslwx9dl] { grid-template-columns: 1fr; }
    /* Pricing kompakt mobilon */
    .al-price-card[b-w3xslwx9dl] { padding: 20px; }
    .al-price-features li[b-w3xslwx9dl] { font-size: 0.85rem; }
    /* Dashboard KPI értékek kisebbek */
    .al-kpi-value[b-w3xslwx9dl] { font-size: 1.2rem; }
    .al-kpi-label[b-w3xslwx9dl] { font-size: 0.68rem; }
    /* Glow orb-okat eltüntetjük mobilon — túl erős a fehér háttéren kis viewport-on */
    .al-orb[b-w3xslwx9dl] { opacity: 0.5; filter: blur(80px); }
}

/* Ultra-small (< 360px): még szigorúbb */
@media (max-width: 360px) {
    .al-hero-h2[b-w3xslwx9dl] { font-size: 1.3rem; }
    .al-section-head h2[b-w3xslwx9dl] { font-size: 1.3rem; }
    .al-positioning-headline[b-w3xslwx9dl] { font-size: 0.88rem; }
}

/* Touch-friendly tap targetek: minden gomb min 44px height mobilon (WCAG AA) */
@media (max-width: 768px) {
    .al-btn[b-w3xslwx9dl] { min-height: 44px; }
    .al-nav-links a[b-w3xslwx9dl] { padding: 10px 0; min-height: 44px; display: inline-flex; align-items: center; }
    .al-footer-col a[b-w3xslwx9dl] { padding: 8px 0; min-height: 36px; display: block; }
}

/* High-DPI / Retina display: enyhén nagyobb chart-line stroke */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .al-svg-chart path[b-w3xslwx9dl],
    .al-svg-bars rect[b-w3xslwx9dl] { shape-rendering: geometricPrecision; }
}

/* Landscape mobilon: hero alacsonyabb */
@media (max-width: 900px) and (orientation: landscape) {
    .al-hero[b-w3xslwx9dl] { min-height: auto; padding: 80px 0 40px; }
    .al-positioning-band[b-w3xslwx9dl] { padding: 28px 0; }
}

/* Print-stílus: tinta-spóroló */
@media print {
    .al-navbar[b-w3xslwx9dl], .al-burger[b-w3xslwx9dl], .al-orb[b-w3xslwx9dl], .al-hero-grid-bg[b-w3xslwx9dl], .al-float-card[b-w3xslwx9dl],
    .al-cta-wrap[b-w3xslwx9dl], .al-footer-bottom[b-w3xslwx9dl] { display: none !important; }
    .al-landing[b-w3xslwx9dl] { background: white !important; color: black !important; }
    .al-section[b-w3xslwx9dl] { padding: 24px 0; page-break-inside: avoid; }
}

/* ============================================================
   SCOPED CSS WORKAROUND — kritikus szabályok !important-tal,
   mert egyes Blazor scope-attribútum-mismatch miatt a CSS nem alkalmazódik
   ============================================================ */
.al-landing .al-btn-primary[b-w3xslwx9dl] {
    background: var(--al-primary) !important;
    color: #ffffff !important;
    box-shadow: 0 4px 14px rgba(26, 58, 92, 0.25) !important;
}

.al-landing .al-btn-glass[b-w3xslwx9dl] {
    background: rgba(255, 255, 255, 0.85) !important;
    color: var(--al-text) !important;
    border: 1px solid var(--al-border) !important;
}

.al-landing .al-btn-secondary[b-w3xslwx9dl] {
    background: var(--al-secondary) !important;
    color: var(--al-text) !important;
}

.al-landing .al-navbar[b-w3xslwx9dl] {
    background: rgba(255, 255, 255, 0.92) !important;
    border-bottom: 1px solid var(--al-border) !important;
    box-shadow: 0 1px 3px rgba(15, 37, 64, 0.06) !important;
}

.al-landing .al-float-card[b-w3xslwx9dl] {
    background: #ffffff !important;
    border: 1px solid var(--al-border) !important;
    box-shadow: 0 10px 30px rgba(15, 37, 64, 0.10) !important;
}

.al-landing .al-dash-mock[b-w3xslwx9dl] {
    background: var(--al-card-2) !important;
    border: 1px solid var(--al-border) !important;
    box-shadow: 0 12px 40px rgba(15, 37, 64, 0.10) !important;
}

.al-landing .al-dash-kpi[b-w3xslwx9dl],
.al-landing .al-chart-card[b-w3xslwx9dl] {
    background: #ffffff !important;
    border: 1px solid var(--al-border) !important;
}

.al-landing .al-problem-card[b-w3xslwx9dl],
.al-landing .al-solution-card[b-w3xslwx9dl],
.al-landing .al-price-card[b-w3xslwx9dl] {
    background: #ffffff !important;
    border: 1px solid var(--al-border) !important;
}

.al-landing .al-hero-badge[b-w3xslwx9dl] {
    background: var(--al-primary-soft) !important;
    border: 1px solid var(--al-primary-line) !important;
    color: var(--al-primary) !important;
}
/* /Components/Pages/ImportHistory/ImportHistoryComponent.razor.rz.scp.css */
/* ===== Importok története lista ===== */

.ih-container[b-vjmjtp3gn8] {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2rem 1.5rem;
}

.ih-header[b-vjmjtp3gn8] {
    margin-bottom: 1.5rem;
}

.ih-title[b-vjmjtp3gn8] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0 0 0.5rem 0;
    color: #0f2a44;
    font-size: 1.6rem;
    font-weight: 700;
}

.ih-title i[b-vjmjtp3gn8] {
    color: #1a3a5c;
}

.ih-subtitle[b-vjmjtp3gn8] {
    margin: 0;
    color: #64748b;
    font-size: 0.95rem;
}

/* ===== Loading + üres állapot ===== */
.ih-loading[b-vjmjtp3gn8] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 4rem 2rem;
}

.ih-empty[b-vjmjtp3gn8] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem 2rem;
    text-align: center;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
}

.ih-empty i[b-vjmjtp3gn8] {
    font-size: 3rem;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.ih-empty h3[b-vjmjtp3gn8] {
    margin: 0 0 0.5rem 0;
    color: #0f2a44;
    font-size: 1.2rem;
}

.ih-empty p[b-vjmjtp3gn8] {
    margin: 0;
    color: #64748b;
    max-width: 480px;
}

/* ===== Lista ===== */
.ih-list[b-vjmjtp3gn8] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.ih-card[b-vjmjtp3gn8] {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1.25rem 1.5rem;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-left: 4px solid #1a3a5c;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(15, 42, 68, 0.05);
    transition: box-shadow 0.2s ease;
}

.ih-card:hover[b-vjmjtp3gn8] {
    box-shadow: 0 4px 12px rgba(15, 42, 68, 0.10);
}

.ih-card-reverted[b-vjmjtp3gn8] {
    border-left-color: #94a3b8;
    background: #f8fafc;
    opacity: 0.85;
}

.ih-card-icon[b-vjmjtp3gn8] {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #eef2f7;
    color: #1a3a5c;
    border-radius: 10px;
    font-size: 1.4rem;
}

.ih-card-reverted .ih-card-icon[b-vjmjtp3gn8] {
    background: #f1f5f9;
    color: #64748b;
}

.ih-card-body[b-vjmjtp3gn8] {
    flex: 1;
    min-width: 0;
}

.ih-card-header[b-vjmjtp3gn8] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.5rem;
}

.ih-card-source[b-vjmjtp3gn8] {
    color: #0f2a44;
    font-size: 1rem;
    font-weight: 700;
}

.ih-card-status[b-vjmjtp3gn8] {
    padding: 0.15rem 0.6rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.ih-card-status-active[b-vjmjtp3gn8] {
    background: #dcfce7;
    color: #166534;
}

.ih-card-status-reverted[b-vjmjtp3gn8] {
    background: #f1f5f9;
    color: #64748b;
}

.ih-card-meta[b-vjmjtp3gn8] {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    color: #475569;
    font-size: 0.85rem;
}

.ih-card-meta span[b-vjmjtp3gn8] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}

.ih-card-count[b-vjmjtp3gn8] {
    padding: 0.15rem 0.5rem;
    border-radius: 6px;
    font-weight: 600;
}

.ih-card-count-income[b-vjmjtp3gn8] {
    background: #ecfdf5;
    color: #065f46;
}

.ih-card-count-expense[b-vjmjtp3gn8] {
    background: #fef2f2;
    color: #991b1b;
}

.ih-card-files[b-vjmjtp3gn8] {
    margin-top: 0.5rem;
    color: #64748b;
    font-size: 0.85rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ih-card-files i[b-vjmjtp3gn8] {
    margin-right: 0.3rem;
}

.ih-card-revert-info[b-vjmjtp3gn8] {
    margin-top: 0.5rem;
    padding-top: 0.5rem;
    border-top: 1px dashed #e2e8f0;
    color: #64748b;
    font-size: 0.85rem;
    font-style: italic;
}

.ih-card-actions[b-vjmjtp3gn8] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
}

.ih-revert-btn[b-vjmjtp3gn8] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.5rem 1rem;
    background: #ffffff;
    color: #b91c1c;
    border: 1.5px solid #fecaca;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.ih-revert-btn:hover[b-vjmjtp3gn8] {
    background: #fef2f2;
    border-color: #f87171;
    box-shadow: 0 2px 8px rgba(239, 68, 68, 0.15);
}

/* ===== Megerősítő dialógus ===== */
.ih-confirm-overlay[b-vjmjtp3gn8] {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: rgba(15, 42, 68, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(2px);
}

.ih-confirm-dialog[b-vjmjtp3gn8] {
    width: 480px;
    max-width: 92vw;
    background: #ffffff;
    border-radius: 16px;
    padding: 2rem;
    box-shadow: 0 20px 50px rgba(15, 42, 68, 0.30);
    text-align: center;
}

.ih-confirm-icon[b-vjmjtp3gn8] {
    width: 64px;
    height: 64px;
    margin: 0 auto 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fef3c7;
    color: #b45309;
    border-radius: 50%;
    font-size: 2rem;
}

.ih-confirm-dialog h3[b-vjmjtp3gn8] {
    margin: 0 0 0.75rem 0;
    color: #0f2a44;
    font-size: 1.25rem;
    font-weight: 700;
}

.ih-confirm-dialog p[b-vjmjtp3gn8] {
    margin: 0 0 1rem 0;
    color: #475569;
    font-size: 0.95rem;
    line-height: 1.5;
}

.ih-confirm-stats[b-vjmjtp3gn8] {
    display: flex;
    justify-content: center;
    gap: 1.5rem;
    margin-bottom: 1.5rem;
    color: #1a3a5c;
    font-weight: 600;
}

.ih-confirm-stats span[b-vjmjtp3gn8] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.ih-confirm-actions[b-vjmjtp3gn8] {
    display: flex;
    gap: 0.75rem;
    justify-content: center;
}

.ih-confirm-cancel-btn[b-vjmjtp3gn8],
.ih-confirm-ok-btn[b-vjmjtp3gn8] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.6rem 1.4rem;
    border-radius: 8px;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.ih-confirm-cancel-btn[b-vjmjtp3gn8] {
    background: #f1f5f9;
    color: #475569;
    border: 1px solid #e2e8f0;
}

.ih-confirm-cancel-btn:hover:not(:disabled)[b-vjmjtp3gn8] {
    background: #e2e8f0;
}

.ih-confirm-ok-btn[b-vjmjtp3gn8] {
    background: #b91c1c;
    color: #ffffff;
    border: none;
    box-shadow: 0 2px 6px rgba(185, 28, 28, 0.25);
}

.ih-confirm-ok-btn:hover:not(:disabled)[b-vjmjtp3gn8] {
    background: #991b1b;
    box-shadow: 0 4px 12px rgba(185, 28, 28, 0.35);
}

.ih-confirm-cancel-btn:disabled[b-vjmjtp3gn8],
.ih-confirm-ok-btn:disabled[b-vjmjtp3gn8] {
    opacity: 0.6;
    cursor: not-allowed;
}

/* ===== Reszponzív ===== */
@media (max-width: 640px) {
    .ih-card[b-vjmjtp3gn8] {
        flex-direction: column;
    }
    .ih-card-actions[b-vjmjtp3gn8] {
        width: 100%;
    }
    .ih-revert-btn[b-vjmjtp3gn8] {
        width: 100%;
        justify-content: center;
    }
}
/* /Components/Pages/IncomeRecurringTemplates/IncomeRecurringTemplatesComponent.razor.rz.scp.css */
.rec-container[b-4vzku3s5e8] {
    display: flex;
    flex-direction: column;
    padding: 2rem;
    gap: 1.5rem;
    width: 100%;
}

.rec-header[b-4vzku3s5e8] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
}

.rec-title[b-4vzku3s5e8] {
    font-size: 1.75rem;
    font-weight: 700;
    color: #1e293b;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin: 0;
}

    .rec-title i[b-4vzku3s5e8] {
        color: #1a3a5c;
    }

.rec-controls[b-4vzku3s5e8] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.rec-back-btn[b-4vzku3s5e8],
.rec-add-btn[b-4vzku3s5e8] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.55rem 0.95rem;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    color: #1a3a5c;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}

.rec-add-btn[b-4vzku3s5e8] {
    background: #ecfdf5;
    color: #16a34a;
    border-color: #bbf7d0;
}

    .rec-add-btn:hover[b-4vzku3s5e8] {
        background: #d1fae5;
    }

.rec-back-btn:hover[b-4vzku3s5e8] {
    background: #f1f5f9;
}

.rec-year-selector[b-4vzku3s5e8] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 0.35rem 0.5rem;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}

.rec-year-btn[b-4vzku3s5e8] {
    width: 32px;
    height: 32px;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: #1a3a5c;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

    .rec-year-btn:hover[b-4vzku3s5e8] {
        background: #f1f5f9;
    }

.rec-year-label[b-4vzku3s5e8] {
    font-size: 1.1rem;
    font-weight: 700;
    color: #1e293b;
    min-width: 50px;
    text-align: center;
}

.rec-loading[b-4vzku3s5e8],
.rec-empty[b-4vzku3s5e8] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 3rem;
    color: #64748b;
}

    .rec-empty i[b-4vzku3s5e8] {
        font-size: 3rem;
        color: #cbd5e1;
        margin-bottom: 1rem;
    }

.rec-table-wrapper[b-4vzku3s5e8] {
    overflow-x: auto;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}

.rec-table[b-4vzku3s5e8] {
    width: 100%;
    border-collapse: collapse;
}

    .rec-table th[b-4vzku3s5e8] {
        padding: 0.85rem 0.95rem;
        font-weight: 700;
        color: #1e293b;
        background: #f8fafc;
        text-align: left;
        border-bottom: 1px solid #e2e8f0;
    }

    .rec-table td[b-4vzku3s5e8] {
        padding: 0.7rem 0.95rem;
        border-bottom: 1px solid #f1f5f9;
        color: #1e293b;
    }

.rec-th-num[b-4vzku3s5e8] {
    text-align: right;
}

.rec-th-action[b-4vzku3s5e8] {
    width: 140px;
    text-align: right;
}

.rec-num[b-4vzku3s5e8] {
    text-align: right;
    font-variant-numeric: tabular-nums;
    font-weight: 600;
}

.rec-row-inactive[b-4vzku3s5e8] {
    opacity: 0.6;
    background: #f8fafc;
}

.rec-freq-badge[b-4vzku3s5e8] {
    display: inline-block;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    background: #eff6ff;
    color: #1d4ed8;
    border: 1px solid #bfdbfe;
    font-size: 0.78rem;
    font-weight: 600;
}

.rec-status-active[b-4vzku3s5e8] {
    color: #15803d;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}

.rec-status-inactive[b-4vzku3s5e8] {
    color: #94a3b8;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}

.rec-action[b-4vzku3s5e8] {
    display: flex;
    gap: 0.3rem;
    justify-content: flex-end;
}

.rec-action-btn[b-4vzku3s5e8] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    background: #ffffff;
    color: #1a3a5c;
    cursor: pointer;
    transition: all 0.15s ease;
}

    .rec-action-btn:hover[b-4vzku3s5e8] {
        background: #f1f5f9;
        border-color: #1a3a5c;
    }

.rec-action-btn-danger[b-4vzku3s5e8] {
    color: #b91c1c;
    border-color: #fecaca;
    background: #fef2f2;
}

    .rec-action-btn-danger:hover[b-4vzku3s5e8] {
        background: #fee2e2;
    }

/* Modal */
.rec-overlay[b-4vzku3s5e8] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.rec-panel[b-4vzku3s5e8] {
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 12px 36px rgba(15, 23, 42, 0.25);
    width: min(700px, 95vw);
    max-height: 90vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.rec-panel-header[b-4vzku3s5e8] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.5rem;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
}

.rec-panel-title[b-4vzku3s5e8] {
    margin: 0;
    font-size: 1.1rem;
    color: #1a3a5c;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.rec-close-btn[b-4vzku3s5e8] {
    background: transparent;
    border: none;
    cursor: pointer;
    color: #64748b;
    padding: 0.35rem;
    border-radius: 6px;
}

    .rec-close-btn:hover[b-4vzku3s5e8] {
        background: #e2e8f0;
        color: #1a3a5c;
    }

.rec-panel-body[b-4vzku3s5e8] {
    padding: 1.5rem;
    overflow-y: auto;
}

.rec-form-grid[b-4vzku3s5e8] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.rec-form-field[b-4vzku3s5e8] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.rec-form-field-wide[b-4vzku3s5e8] {
    grid-column: span 2;
}

.rec-form-field label[b-4vzku3s5e8] {
    font-size: 0.85rem;
    font-weight: 600;
    color: #475569;
}

.rec-required[b-4vzku3s5e8] {
    color: #dc2626;
}

.rec-input[b-4vzku3s5e8] {
    width: 100%;
}

.rec-panel-footer[b-4vzku3s5e8] {
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
    padding: 1rem 1.5rem;
    border-top: 1px solid #e2e8f0;
    background: #f8fafc;
}

.rec-save-btn[b-4vzku3s5e8],
.rec-cancel-btn[b-4vzku3s5e8] {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.55rem 1.1rem;
    border-radius: 8px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    border: 1px solid transparent;
}

.rec-save-btn[b-4vzku3s5e8] {
    background: #16a34a;
    color: #ffffff;
}

    .rec-save-btn:hover[b-4vzku3s5e8] {
        background: #15803d;
    }

.rec-cancel-btn[b-4vzku3s5e8] {
    background: #ffffff;
    color: #64748b;
    border-color: #cbd5e1;
}

    .rec-cancel-btn:hover[b-4vzku3s5e8] {
        background: #f1f5f9;
    }

@media (max-width: 700px) {
    .rec-form-grid[b-4vzku3s5e8] {
        grid-template-columns: 1fr;
    }

    .rec-form-field-wide[b-4vzku3s5e8] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Income/IncomeComponent.razor.rz.scp.css */
/* ===== Konténer ===== */
.inc-container[b-w5crcox7we] {
    display: flex;
    flex-direction: column;
    padding: 2rem;
    gap: 1.5rem;
    width: 100%;
}

/* ===== Fejléc ===== */
.inc-header[b-w5crcox7we] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
}

.inc-title[b-w5crcox7we] {
    font-size: 1.75rem;
    font-weight: 700;
    color: #1e293b;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin: 0;
}

.inc-title i[b-w5crcox7we] {
    color: #1a3a5c;
}

.inc-controls[b-w5crcox7we] {
    display: flex;
    align-items: center;
    gap: 1.25rem;
}

/* ===== Év választó ===== */
.inc-year-selector[b-w5crcox7we] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 0.35rem 0.5rem;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}

.inc-year-btn[b-w5crcox7we] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: #1a3a5c;
    cursor: pointer;
    font-size: 0.85rem;
    transition: background 0.2s ease;
}

.inc-year-btn:hover[b-w5crcox7we] {
    background: #f1f5f9;
}

.inc-year-label[b-w5crcox7we] {
    font-size: 1.1rem;
    font-weight: 700;
    color: #1e293b;
    min-width: 50px;
    text-align: center;
}

/* ===== Nettó/Bruttó váltó ===== */
.inc-toggle[b-w5crcox7we] {
    display: flex;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}

.inc-toggle-btn[b-w5crcox7we] {
    padding: 0.45rem 1rem;
    border: none;
    background: #ffffff;
    color: #64748b;
    cursor: pointer;
    font-size: 0.85rem;
    font-weight: 600;
    transition: all 0.2s ease;
}

.inc-toggle-btn.active[b-w5crcox7we] {
    background: #1a3a5c;
    color: #ffffff;
}

.inc-toggle-btn:hover:not(.active)[b-w5crcox7we] {
    background: #f1f5f9;
}

/* ===== Rejtett partnerek mutatása váltó ===== */
.inc-show-hidden-btn[b-w5crcox7we] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.5rem 0.9rem;
    background: #ffffff;
    color: #64748b;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}

.inc-show-hidden-btn:hover[b-w5crcox7we] {
    border-color: #1a3a5c;
    color: #1a3a5c;
}

.inc-show-hidden-btn.active[b-w5crcox7we] {
    background: #1a3a5c;
    border-color: #1a3a5c;
    color: #ffffff;
}

.inc-show-hidden-btn i[b-w5crcox7we] {
    font-size: 0.9rem;
}

/* ===== Összesítő kártyák ===== */
.inc-summary-cards[b-w5crcox7we] {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

.inc-summary-card[b-w5crcox7we] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding: 1rem 1.5rem;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
    min-width: 180px;
}

.inc-summary-highlight[b-w5crcox7we] {
    background: #1a3a5c;
    border-color: #1a3a5c;
}

.inc-summary-label[b-w5crcox7we] {
    font-size: 0.8rem;
    color: #64748b;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.inc-summary-highlight .inc-summary-label[b-w5crcox7we] {
    color: #94a3b8;
}

.inc-summary-value[b-w5crcox7we] {
    font-size: 1.35rem;
    font-weight: 700;
    color: #1e293b;
}

.inc-summary-highlight .inc-summary-value[b-w5crcox7we] {
    color: #ffffff;
}

/* ===== Táblázat wrapper ===== */
.inc-table-wrapper[b-w5crcox7we] {
    overflow-x: auto;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

/* ===== Táblázat ===== */
.inc-table[b-w5crcox7we] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.85rem;
}

.inc-table thead[b-w5crcox7we] {
    background: #f8fafc;
}

.inc-table th[b-w5crcox7we] {
    padding: 0.75rem 0.5rem;
    font-weight: 600;
    color: #475569;
    text-align: center;
    border-bottom: 2px solid #e2e8f0;
    white-space: nowrap;
}

.inc-th-partner[b-w5crcox7we] {
    text-align: left !important;
    padding-left: 1rem !important;
    min-width: 180px;
    position: sticky;
    left: 0;
    background: #f8fafc;
    z-index: 1;
}

.inc-th-month[b-w5crcox7we] {
    min-width: 78px;
}

.inc-th-total[b-w5crcox7we] {
    min-width: 100px;
    background: #f1f5f9 !important;
    color: #1a3a5c !important;
}

/* ===== Sorok ===== */
.inc-row[b-w5crcox7we] {
    border-bottom: 1px solid #f1f5f9;
    transition: background 0.15s ease;
}

.inc-row:hover[b-w5crcox7we] {
    background: #fafbfc;
}

.inc-td-partner[b-w5crcox7we] {
    padding: 0.5rem 1rem;
    font-weight: 600;
    color: #1e293b;
    white-space: nowrap;
    position: sticky;
    left: 0;
    background: #ffffff;
    z-index: 1;
}

.inc-row:hover .inc-td-partner[b-w5crcox7we] {
    background: #fafbfc;
}

/* ===== Partner név cella tartalom (eye gomb + név + archive badge) ===== */
.inc-partner-cell[b-w5crcox7we] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.inc-visibility-btn[b-w5crcox7we] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 6px;
    color: #94a3b8;
    cursor: pointer;
    flex-shrink: 0;
    transition: all 0.15s ease;
}

.inc-visibility-btn:hover[b-w5crcox7we] {
    background: #f1f5f9;
    border-color: #cbd5e1;
    color: #1a3a5c;
}

.inc-visibility-btn i[b-w5crcox7we] {
    font-size: 0.9rem;
}

.inc-partner-name[b-w5crcox7we] {
    flex: 1;
    min-width: 0;
}

.inc-partner-archived[b-w5crcox7we] {
    display: inline-flex;
    align-items: center;
    color: #94a3b8;
    font-size: 0.85rem;
}

/* ===== Rejtett partner sor — halványabban jelenik meg ===== */
.inc-row-hidden .inc-td-partner[b-w5crcox7we] {
    color: #94a3b8;
    font-style: italic;
    background: #fafbfc;
}

.inc-row-hidden:hover .inc-td-partner[b-w5crcox7we] {
    background: #f1f5f9;
}

.inc-row-hidden .inc-visibility-btn[b-w5crcox7we] {
    color: #cbd5e1;
}

.inc-td-cell[b-w5crcox7we] {
    padding: 0.25rem 0.35rem;
    text-align: center;
}

[b-w5crcox7we] .inc-cell-input {
    width: 100%;
    text-align: right;
    font-size: 0.85rem;
}

[b-w5crcox7we] .inc-cell-input input {
    text-align: right;
    padding: 0.3rem 0.4rem;
    border: 1px solid transparent;
    border-radius: 4px;
    background: transparent;
    transition: all 0.15s ease;
}

[b-w5crcox7we] .inc-cell-input input:focus {
    border-color: #1a3a5c;
    background: #ffffff;
    box-shadow: 0 0 0 2px rgba(26, 58, 92, 0.1);
}

[b-w5crcox7we] .inc-cell-input input:hover:not(:focus) {
    border-color: #cbd5e1;
    background: #f8fafc;
}

.inc-cell-readonly[b-w5crcox7we] {
    display: block;
    padding: 0.3rem 0.4rem;
    text-align: right;
    color: #475569;
    font-size: 0.85rem;
}

.inc-td-total[b-w5crcox7we] {
    padding: 0.5rem 0.75rem;
    text-align: right;
    font-weight: 700;
    color: #1a3a5c;
    background: #f8fafc;
    white-space: nowrap;
}

/* ===== Lábléc sor (havi összesítés) ===== */
.inc-footer-row[b-w5crcox7we] {
    background: #f1f5f9;
    position: sticky;
    bottom: 0;
    z-index: 2;
    box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.08);
}

.inc-td-footer-label[b-w5crcox7we] {
    font-weight: 700 !important;
    color: #1a3a5c !important;
    background: #f1f5f9 !important;
}

.inc-td-footer[b-w5crcox7we] {
    font-weight: 700;
    color: #1a3a5c;
    text-align: right;
    padding: 0.75rem 0.5rem;
    white-space: nowrap;
}

.inc-td-grand[b-w5crcox7we] {
    font-weight: 800;
    font-size: 0.9rem;
    color: #0f2a44;
    background: #e2e8f0 !important;
}

/* ===== Üres állapot ===== */
.inc-empty[b-w5crcox7we] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem;
    color: #94a3b8;
    gap: 0.75rem;
}

.inc-empty i[b-w5crcox7we] {
    font-size: 3rem;
}

.inc-empty p[b-w5crcox7we] {
    font-size: 1rem;
    font-weight: 500;
}

/* ===== Betöltés ===== */
.inc-loading[b-w5crcox7we] {
    display: flex;
    justify-content: center;
    padding: 4rem;
}

.inc-loading-full[b-w5crcox7we] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100vh;
    width: 100%;
}

.inc-loading-text[b-w5crcox7we] {
    margin-top: 1rem;
}

/* ===== Import gomb ===== */
.inc-import-btn[b-w5crcox7we] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: #1a3a5c;
    color: #ffffff;
    border: none;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 2px 6px rgba(26, 58, 92, 0.2);
}

.inc-import-btn:hover[b-w5crcox7we] {
    background: #0f2a44;
    box-shadow: 0 4px 12px rgba(26, 58, 92, 0.3);
}

.inc-import-btn i[b-w5crcox7we] {
    font-size: 0.9rem;
}

/* ===== Import overlay ===== */
.inc-import-overlay[b-w5crcox7we] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(15, 23, 42, 0.6);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    backdrop-filter: blur(4px);
}

.inc-import-panel[b-w5crcox7we] {
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
    width: 100%;
    max-width: 1400px;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* ===== Import fejléc ===== */
.inc-import-header[b-w5crcox7we] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
}

.inc-import-title[b-w5crcox7we] {
    font-size: 1.25rem;
    font-weight: 700;
    color: #1e293b;
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin: 0;
}

.inc-import-title i[b-w5crcox7we] {
    color: #1a3a5c;
}

.inc-import-close-btn[b-w5crcox7we] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 8px;
    background: transparent;
    color: #64748b;
    cursor: pointer;
    font-size: 1rem;
    transition: all 0.15s ease;
}

.inc-import-close-btn:hover[b-w5crcox7we] {
    background: #fee2e2;
    color: #dc2626;
}

/* ===== Sikeres mentés banner ===== */
/* A panel-en belül jelenik meg mentés után. Visszavonás vagy Bezárás. */
.inc-import-success-banner[b-w5crcox7we] {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    padding: 2rem 2rem;
    margin: 1.5rem 2rem;
    background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%);
    border: 1.5px solid #10b981;
    border-radius: 14px;
    box-shadow: 0 4px 16px rgba(16, 185, 129, 0.12);
}

.inc-import-success-icon[b-w5crcox7we] {
    flex-shrink: 0;
    color: #059669;
    font-size: 2.5rem;
    line-height: 1;
}

.inc-import-success-text[b-w5crcox7we] {
    flex: 1;
    min-width: 0;
}

.inc-import-success-text h4[b-w5crcox7we] {
    margin: 0 0 0.25rem 0;
    color: #064e3b;
    font-size: 1.1rem;
    font-weight: 700;
}

.inc-import-success-text p[b-w5crcox7we] {
    margin: 0;
    color: #065f46;
    font-size: 0.9rem;
}

.inc-import-success-errors[b-w5crcox7we] {
    margin-left: 0.5rem;
    color: #b45309;
    font-weight: 600;
}

.inc-import-success-actions[b-w5crcox7we] {
    display: flex;
    gap: 0.75rem;
    flex-shrink: 0;
}

.inc-import-undo-btn[b-w5crcox7we] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.55rem 1.1rem;
    background: #ffffff;
    color: #b91c1c;
    border: 1.5px solid #fecaca;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.inc-import-undo-btn:hover:not(:disabled)[b-w5crcox7we] {
    background: #fef2f2;
    border-color: #f87171;
    box-shadow: 0 2px 8px rgba(239, 68, 68, 0.15);
}

.inc-import-undo-btn:disabled[b-w5crcox7we] {
    opacity: 0.6;
    cursor: not-allowed;
}

.inc-import-close-success-btn[b-w5crcox7we] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.55rem 1.1rem;
    background: #1a3a5c;
    color: #ffffff;
    border: none;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 2px 6px rgba(26, 58, 92, 0.2);
}

.inc-import-close-success-btn:hover[b-w5crcox7we] {
    background: #0f2a44;
    box-shadow: 0 4px 12px rgba(26, 58, 92, 0.3);
}

/* ===== Üres találat — cross-link a komplex importra ===== */
.inc-import-empty[b-w5crcox7we] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 3rem 2rem;
    gap: 0.75rem;
}

.inc-import-empty-icon[b-w5crcox7we] {
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fef3c7;
    color: #b45309;
    border-radius: 50%;
    font-size: 2rem;
}

.inc-import-empty h4[b-w5crcox7we] {
    margin: 0;
    color: #0f2a44;
    font-size: 1.1rem;
}

.inc-import-empty p[b-w5crcox7we] {
    margin: 0;
    color: #64748b;
    max-width: 480px;
    font-size: 0.9rem;
}

.inc-import-bulk-link[b-w5crcox7we] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.75rem;
    padding: 0.6rem 1.2rem;
    background: #1a3a5c;
    color: #ffffff;
    border-radius: 8px;
    font-size: 0.9rem;
    font-weight: 600;
    text-decoration: none;
    box-shadow: 0 2px 6px rgba(26, 58, 92, 0.2);
    transition: all 0.2s ease;
}

.inc-import-bulk-link:hover[b-w5crcox7we] {
    background: #0f2a44;
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(26, 58, 92, 0.3);
}

/* ===== Import feldolgozás ===== */
.inc-import-processing[b-w5crcox7we] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem 2rem;
    gap: 1rem;
}

.inc-import-progress-text[b-w5crcox7we] {
    font-size: 0.95rem;
    font-weight: 500;
    color: #475569;
}

[b-w5crcox7we] .inc-import-progress-bar {
    width: 300px;
    max-width: 100%;
}

/* ===== Import dropzone ===== */
.inc-import-dropzone[b-w5crcox7we] {
    margin: 2rem;
    padding: 3rem 2rem;
    border: 2px dashed #cbd5e1;
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.2s ease;
    background: #f8fafc;
}

.inc-import-dropzone:hover[b-w5crcox7we],
.inc-dropzone-active[b-w5crcox7we] {
    border-color: #1a3a5c;
    background: #f0f4f8;
    box-shadow: 0 0 0 4px rgba(26, 58, 92, 0.08);
}

.inc-import-dropzone-content[b-w5crcox7we] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    pointer-events: none;
}

.inc-import-dropzone-icon[b-w5crcox7we] {
    font-size: 3rem;
    color: #94a3b8;
}

.inc-import-dropzone:hover .inc-import-dropzone-icon[b-w5crcox7we] {
    color: #1a3a5c;
}

.inc-import-dropzone-text[b-w5crcox7we] {
    font-size: 1.1rem;
    font-weight: 600;
    color: #475569;
    margin: 0;
}

.inc-import-dropzone-hint[b-w5crcox7we] {
    font-size: 0.85rem;
    color: #94a3b8;
    margin: 0;
}

.inc-import-dropzone-formats[b-w5crcox7we] {
    font-size: 0.8rem;
    color: #94a3b8;
    margin: 0.5rem 0 0 0;
    padding: 0.4rem 0.8rem;
    background: #e2e8f0;
    border-radius: 6px;
}

/* ===== Import előnézet ===== */
.inc-import-preview[b-w5crcox7we] {
    display: flex;
    flex-direction: column;
    flex: 1;
    overflow: hidden;
}

.inc-import-preview-header[b-w5crcox7we] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 1.5rem;
    background: #eff6ff;
    border-bottom: 1px solid #dbeafe;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.inc-import-preview-info[b-w5crcox7we] {
    font-size: 0.85rem;
    color: #1e40af;
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0;
}

.inc-import-select-actions[b-w5crcox7we] {
    display: flex;
    gap: 0.5rem;
}

.inc-import-select-btn[b-w5crcox7we] {
    padding: 0.3rem 0.7rem;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    background: #ffffff;
    color: #475569;
    font-size: 0.8rem;
    cursor: pointer;
    transition: all 0.15s ease;
    display: flex;
    align-items: center;
    gap: 0.3rem;
}

.inc-import-select-btn:hover[b-w5crcox7we] {
    background: #f1f5f9;
    border-color: #94a3b8;
}

/* ===== AI retry gomb ===== */
.inc-import-ai-retry-btn[b-w5crcox7we] {
    padding: 0.35rem 0.8rem;
    border: 1px solid #7c3aed;
    border-radius: 6px;
    background: linear-gradient(135deg, #7c3aed, #6d28d9);
    color: #ffffff;
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s ease;
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.inc-import-ai-retry-btn:hover:not(:disabled)[b-w5crcox7we] {
    background: linear-gradient(135deg, #6d28d9, #5b21b6);
    box-shadow: 0 2px 8px rgba(124, 58, 237, 0.3);
}

.inc-import-ai-retry-btn:disabled[b-w5crcox7we] {
    opacity: 0.6;
    cursor: not-allowed;
}

.inc-import-ai-retry-empty[b-w5crcox7we] {
    margin-bottom: 12px;
    padding: 0.5rem 1.2rem;
    font-size: 0.88rem;
}

.inc-import-ai-badge[b-w5crcox7we] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 0.2rem 0.6rem;
    background: linear-gradient(135deg, #7c3aed, #6d28d9);
    color: #ffffff;
    border-radius: 10px;
    font-size: 0.7rem;
    font-weight: 700;
}

/* ===== Import előnézeti táblázat ===== */
.inc-import-table-wrapper[b-w5crcox7we] {
    overflow: auto;
    flex: 1;
    max-height: 50vh;
}

.inc-import-table[b-w5crcox7we] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.8rem;
}

.inc-import-table thead[b-w5crcox7we] {
    background: #f8fafc;
    position: sticky;
    top: 0;
    z-index: 2;
}

.inc-import-table th[b-w5crcox7we] {
    padding: 0.6rem 0.4rem;
    font-weight: 600;
    color: #475569;
    text-align: center;
    border-bottom: 2px solid #e2e8f0;
    white-space: nowrap;
}

.inc-imp-th-check[b-w5crcox7we] {
    width: 40px;
}

.inc-imp-th-partner[b-w5crcox7we] {
    text-align: left !important;
    padding-left: 0.75rem !important;
    min-width: 160px;
    position: sticky;
    left: 0;
    background: #f8fafc;
    z-index: 3;
}

.inc-imp-th-status[b-w5crcox7we] {
    min-width: 100px;
}

.inc-imp-th-month[b-w5crcox7we] {
    min-width: 85px;
}

.inc-imp-th-total[b-w5crcox7we] {
    min-width: 100px;
    background: #f1f5f9 !important;
    color: #1a3a5c !important;
}

.inc-import-row[b-w5crcox7we] {
    border-bottom: 1px solid #f1f5f9;
    transition: background 0.15s ease;
}

.inc-import-row:hover[b-w5crcox7we] {
    background: #fafbfc;
}

.inc-import-row-disabled[b-w5crcox7we] {
    opacity: 0.45;
}

.inc-imp-td-check[b-w5crcox7we] {
    text-align: center;
    padding: 0.4rem;
}

.inc-imp-td-partner[b-w5crcox7we] {
    padding: 0.5rem 0.75rem;
    font-weight: 600;
    color: #1e293b;
    white-space: nowrap;
    position: sticky;
    left: 0;
    background: #ffffff;
    z-index: 1;
}

.inc-import-row:hover .inc-imp-td-partner[b-w5crcox7we] {
    background: #fafbfc;
}

.inc-imp-td-status[b-w5crcox7we] {
    text-align: center;
    padding: 0.4rem;
}

.inc-import-badge[b-w5crcox7we] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.2rem 0.6rem;
    border-radius: 20px;
    font-size: 0.72rem;
    font-weight: 600;
    white-space: nowrap;
}

.inc-badge-new[b-w5crcox7we] {
    background: #dcfce7;
    color: #16a34a;
}

.inc-badge-existing[b-w5crcox7we] {
    background: #e0e7ff;
    color: #4338ca;
}

.inc-imp-td-cell[b-w5crcox7we] {
    padding: 0.2rem 0.25rem;
    text-align: center;
}

[b-w5crcox7we] .inc-imp-cell-input {
    width: 100%;
    text-align: right;
    font-size: 0.8rem;
}

[b-w5crcox7we] .inc-imp-cell-input input {
    text-align: right;
    padding: 0.25rem 0.35rem;
    border: 1px solid transparent;
    border-radius: 4px;
    background: transparent;
    transition: all 0.15s ease;
}

[b-w5crcox7we] .inc-imp-cell-input input:focus {
    border-color: #1a3a5c;
    background: #ffffff;
    box-shadow: 0 0 0 2px rgba(26, 58, 92, 0.1);
}

[b-w5crcox7we] .inc-imp-cell-input input:hover:not(:focus) {
    border-color: #cbd5e1;
    background: #f8fafc;
}

.inc-imp-td-total[b-w5crcox7we] {
    padding: 0.5rem 0.6rem;
    text-align: right;
    font-weight: 700;
    color: #1a3a5c;
    background: #f8fafc;
    white-space: nowrap;
}

/* ===== Import műveleti gombok ===== */
.inc-import-actions[b-w5crcox7we] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 1rem 1.5rem;
    border-top: 1px solid #e2e8f0;
    background: #f8fafc;
}

.inc-import-back-btn[b-w5crcox7we] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.55rem 1rem;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #ffffff;
    color: #475569;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s ease;
}

.inc-import-back-btn:hover[b-w5crcox7we] {
    background: #f1f5f9;
    border-color: #94a3b8;
}

.inc-import-approve-btn[b-w5crcox7we] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.55rem 1.25rem;
    border: none;
    border-radius: 8px;
    background: #16a34a;
    color: #ffffff;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 2px 6px rgba(22, 163, 74, 0.2);
}

.inc-import-approve-btn:hover[b-w5crcox7we] {
    background: #15803d;
    box-shadow: 0 4px 12px rgba(22, 163, 74, 0.3);
}

.inc-import-cancel-btn[b-w5crcox7we] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.55rem 1rem;
    border: 1px solid #fca5a5;
    border-radius: 8px;
    background: #ffffff;
    color: #dc2626;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s ease;
}

.inc-import-cancel-btn:hover[b-w5crcox7we] {
    background: #fef2f2;
    border-color: #f87171;
}

.inc-import-saving[b-w5crcox7we] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: #475569;
    font-size: 0.85rem;
    font-weight: 500;
}

/* ===== Reszponzív ===== */
@media (max-width: 768px) {
    .inc-header[b-w5crcox7we] {
        flex-direction: column;
        align-items: flex-start;
    }

    .inc-summary-cards[b-w5crcox7we] {
        flex-direction: column;
    }

    .inc-summary-card[b-w5crcox7we] {
        min-width: auto;
    }

    .inc-import-overlay[b-w5crcox7we] {
        padding: 0.5rem;
    }

    .inc-import-panel[b-w5crcox7we] {
        max-height: 95vh;
        border-radius: 12px;
    }

    .inc-import-preview-header[b-w5crcox7we] {
        flex-direction: column;
        align-items: flex-start;
    }

    .inc-import-actions[b-w5crcox7we] {
        flex-wrap: wrap;
    }
}

/* ===== Expand gomb és aggregált read-only cellák ===== */
.inc-expand-btn[b-w5crcox7we] {
    background: none;
    border: 1px solid transparent;
    color: #475569;
    width: 26px;
    height: 26px;
    border-radius: 5px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.15s ease;
    flex-shrink: 0;
}

.inc-expand-btn:hover[b-w5crcox7we] {
    background: #e2e8f0;
    color: #0f2d52;
}

.inc-add-project-btn[b-w5crcox7we] {
    background: #16a34a;
    border: 1px solid #15803d;
    color: #ffffff;
    width: 24px;
    height: 24px;
    border-radius: 5px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    transition: all 0.15s ease;
    flex-shrink: 0;
    box-shadow: 0 1px 3px rgba(22, 163, 74, 0.25);
}

.inc-add-project-btn:hover[b-w5crcox7we] {
    background: #15803d;
    box-shadow: 0 2px 6px rgba(22, 163, 74, 0.4);
}

.inc-td-cell-readonly[b-w5crcox7we] {
    text-align: right;
    padding: 0.4rem 0.6rem;
    font-weight: 500;
    color: #1e293b;
}

.inc-cell-value[b-w5crcox7we] {
    font-variant-numeric: tabular-nums;
}

.inc-cell-empty[b-w5crcox7we] {
    color: #cbd5e1;
    font-size: 0.8rem;
}

.inc-row-expanded[b-w5crcox7we] {
    background: #f8fafc;
}

.inc-row-expanded .inc-td-cell-readonly[b-w5crcox7we] {
    background: #f1f5f9;
}

/* ===== Részletes (expand-elt) sor ===== */
.inc-row-detail[b-w5crcox7we] {
    background: #f8fafc;
}

.inc-td-detail-wrapper[b-w5crcox7we] {
    padding: 0.75rem 1rem 1rem 1rem;
    background: #f1f5f9;
    border-bottom: 1px solid #e2e8f0;
}

.inc-detail-empty[b-w5crcox7we] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 1rem;
    color: #94a3b8;
    font-size: 0.85rem;
}

.inc-detail-table-wrapper[b-w5crcox7we] {
    background: #ffffff;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    overflow: hidden;
}

.inc-detail-table[b-w5crcox7we] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.85rem;
}

.inc-detail-table thead[b-w5crcox7we] {
    background: #f8fafc;
}

.inc-detail-table th[b-w5crcox7we] {
    text-align: left;
    padding: 0.55rem 0.85rem;
    font-size: 0.72rem;
    font-weight: 700;
    color: #475569;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    border-bottom: 1px solid #e2e8f0;
}

.inc-detail-table td[b-w5crcox7we] {
    padding: 0.55rem 0.85rem;
    border-bottom: 1px solid #f1f5f9;
    color: #1e293b;
}

.inc-detail-table tbody tr:hover[b-w5crcox7we] {
    background: #f8fafc;
}

.inc-detail-th-num[b-w5crcox7we],
.inc-detail-num[b-w5crcox7we] {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.inc-detail-th-action[b-w5crcox7we] {
    width: 80px;
}

.inc-detail-action[b-w5crcox7we] {
    display: flex;
    gap: 0.3rem;
    justify-content: flex-end;
}

.inc-detail-edit-btn[b-w5crcox7we],
.inc-detail-delete-btn[b-w5crcox7we] {
    background: #ffffff;
    border: 1px solid #cbd5e1;
    color: #475569;
    width: 28px;
    height: 28px;
    border-radius: 5px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.15s ease;
}

.inc-detail-edit-btn:hover[b-w5crcox7we] {
    background: #1a3a5c;
    border-color: #1a3a5c;
    color: #ffffff;
}

.inc-detail-delete-btn:hover[b-w5crcox7we] {
    background: #dc2626;
    border-color: #dc2626;
    color: #ffffff;
}

/* ===== Projekt szerkesztő modal ===== */
.inc-project-overlay[b-w5crcox7we] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1500;
    padding: 1rem;
}

.inc-project-panel[b-w5crcox7we] {
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.35);
    width: 100%;
    max-width: 720px;
    max-height: 92vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #e2e8f0;
}

.inc-project-header[b-w5crcox7we] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.25rem;
    background: linear-gradient(135deg, #0f2d52 0%, #1a3a5c 100%);
    color: #ffffff;
    cursor: move;
    user-select: none;
    border-bottom: 2px solid #16a34a;
}

.inc-project-title[b-w5crcox7we] {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 700;
    color: #ffffff !important;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

.inc-project-title i[b-w5crcox7we] {
    color: #16a34a;
}

.inc-project-close-btn[b-w5crcox7we] {
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.25);
    color: #ffffff;
    width: 32px;
    height: 32px;
    border-radius: 6px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.15s ease;
}

.inc-project-close-btn:hover[b-w5crcox7we] {
    background: rgba(220, 38, 38, 0.85);
    border-color: #dc2626;
}

.inc-project-body[b-w5crcox7we] {
    padding: 1.25rem 1.5rem;
    overflow-y: auto;
    flex: 1;
    background: #f8fafc;
}

.inc-project-grid[b-w5crcox7we] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.85rem 1rem;
}

.inc-project-field[b-w5crcox7we] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.inc-project-field-wide[b-w5crcox7we] {
    grid-column: span 2;
}

.inc-project-field label[b-w5crcox7we] {
    font-size: 0.72rem;
    font-weight: 600;
    color: #475569;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

[b-w5crcox7we] .inc-project-input {
    width: 100%;
}

[b-w5crcox7we] .inc-project-input input,
[b-w5crcox7we] .inc-project-input .rz-textbox,
[b-w5crcox7we] .inc-project-input .rz-numeric,
[b-w5crcox7we] .inc-project-input .rz-dropdown,
[b-w5crcox7we] .inc-project-input .rz-datepicker {
    background: #ffffff;
}

.inc-required[b-w5crcox7we] {
    color: #dc2626;
    margin-left: 0.2rem;
}

.inc-project-footer[b-w5crcox7we] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem;
    padding: 0.9rem 1.25rem;
    background: #ffffff;
    border-top: 1px solid #e2e8f0;
}

.inc-project-save-btn[b-w5crcox7we] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.55rem 1.25rem;
    border: none;
    border-radius: 8px;
    background: #16a34a;
    color: #ffffff;
    font-size: 0.88rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 2px 6px rgba(22, 163, 74, 0.25);
}

.inc-project-save-btn:hover[b-w5crcox7we] {
    background: #15803d;
    box-shadow: 0 4px 12px rgba(22, 163, 74, 0.35);
}

.inc-project-cancel-btn[b-w5crcox7we] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.55rem 1rem;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #ffffff;
    color: #475569;
    font-size: 0.88rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s ease;
}

.inc-project-cancel-btn:hover[b-w5crcox7we] {
    background: #f1f5f9;
    border-color: #94a3b8;
}

@media (max-width: 700px) {
    .inc-project-grid[b-w5crcox7we] {
        grid-template-columns: 1fr;
    }

    .inc-project-field-wide[b-w5crcox7we] {
        grid-column: span 1;
    }
}

/* ==================== Wave 1 — Excel export gomb ==================== */
.inc-export-btn[b-w5crcox7we] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.55rem 0.95rem;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    color: #1a3a5c;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}

    .inc-export-btn:hover:not(:disabled)[b-w5crcox7we] {
        background: #ecfdf5;
        border-color: #16a34a;
        color: #16a34a;
    }

    .inc-export-btn:disabled[b-w5crcox7we] {
        opacity: 0.55;
        cursor: not-allowed;
    }

/* ==================== Wave 1 — Nézet kapcsoló gombok ==================== */
.inc-view-toggles[b-w5crcox7we] {
    display: flex;
    gap: 0.35rem;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 0.3rem;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}

.inc-view-btn[b-w5crcox7we] {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 32px;
    border: none;
    background: transparent;
    color: #64748b;
    border-radius: 7px;
    cursor: pointer;
    transition: all 0.2s ease;
}

    .inc-view-btn:hover[b-w5crcox7we] {
        background: #f1f5f9;
        color: #1a3a5c;
    }

    .inc-view-btn.active[b-w5crcox7we] {
        background: #1a3a5c;
        color: #ffffff;
    }

.inc-view-badge[b-w5crcox7we] {
    position: absolute;
    top: 4px;
    right: 4px;
    width: 7px;
    height: 7px;
    background: #16a34a;
    border-radius: 50%;
    border: 1px solid #ffffff;
}

/* ==================== Wave 1 — Szűrő panel ==================== */
.inc-filters-panel[b-w5crcox7we] {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 1rem 1.25rem;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}

.inc-filters-header[b-w5crcox7we] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.75rem;
}

    .inc-filters-header h3[b-w5crcox7we] {
        margin: 0;
        font-size: 1rem;
        font-weight: 700;
        color: #1e293b;
        display: flex;
        align-items: center;
        gap: 0.5rem;
    }

        .inc-filters-header h3 i[b-w5crcox7we] {
            color: #1a3a5c;
        }

.inc-filters-reset-btn[b-w5crcox7we] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.35rem 0.75rem;
    background: #fff7ed;
    color: #c2410c;
    border: 1px solid #fed7aa;
    border-radius: 7px;
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

    .inc-filters-reset-btn:hover[b-w5crcox7we] {
        background: #ffedd5;
    }

.inc-filters-grid[b-w5crcox7we] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0.85rem;
}

.inc-filter-field[b-w5crcox7we] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

    .inc-filter-field label[b-w5crcox7we] {
        font-size: 0.8rem;
        font-weight: 600;
        color: #475569;
    }

.inc-filter-input[b-w5crcox7we] {
    width: 100%;
    padding: 0.5rem 0.75rem;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #f8fafc;
    color: #1e293b;
    font-size: 0.9rem;
    transition: border-color 0.2s ease, background 0.2s ease;
}

    .inc-filter-input:focus[b-w5crcox7we] {
        outline: none;
        border-color: #1a3a5c;
        background: #ffffff;
    }

/* ==================== Wave 1 — Partnercsoport chip-ek ==================== */
.inc-group-chips[b-w5crcox7we] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    padding: 0.5rem 0;
}

.inc-group-chip[b-w5crcox7we] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.4rem 0.85rem;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    color: #475569;
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    --chip-accent: #1a3a5c;
}

    .inc-group-chip:hover[b-w5crcox7we] {
        border-color: var(--chip-accent);
        color: var(--chip-accent);
    }

    .inc-group-chip.active[b-w5crcox7we] {
        background: var(--chip-accent);
        border-color: var(--chip-accent);
        color: #ffffff;
    }

    .inc-group-chip i[b-w5crcox7we] {
        font-size: 0.95rem;
    }

/* ==================== Wave 1 — Mini-dashboard ==================== */
.inc-mini-dashboard[b-w5crcox7we] {
    display: grid;
    grid-template-columns: 2fr 1fr 2fr;
    gap: 1rem;
}

@media (max-width: 1100px) {
    .inc-mini-dashboard[b-w5crcox7we] {
        grid-template-columns: 1fr;
    }
}

.inc-dash-card[b-w5crcox7we] {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 1rem 1.25rem;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}

.inc-dash-title[b-w5crcox7we] {
    margin: 0 0 0.85rem 0;
    font-size: 0.95rem;
    font-weight: 700;
    color: #1e293b;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

    .inc-dash-title i[b-w5crcox7we] {
        color: #1a3a5c;
    }

/* Havi trend bar chart */
.inc-dash-bars[b-w5crcox7we] {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    align-items: end;
    gap: 0.35rem;
    height: 130px;
}

.inc-dash-bar-wrap[b-w5crcox7we] {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
    justify-content: flex-end;
    gap: 0.25rem;
}

.inc-dash-bar[b-w5crcox7we] {
    width: 100%;
    min-height: 2px;
    background: linear-gradient(180deg, #1a3a5c 0%, #2563eb 100%);
    border-radius: 4px 4px 0 0;
    transition: height 0.4s ease;
}

.inc-dash-bar-label[b-w5crcox7we] {
    font-size: 0.65rem;
    color: #64748b;
    font-weight: 600;
}

/* Kumulált értékek */
.inc-dash-cumulative-list[b-w5crcox7we] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.inc-dash-cumulative-row[b-w5crcox7we] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 0.5rem;
    border-bottom: 1px dashed #e2e8f0;
}

    .inc-dash-cumulative-row:last-child[b-w5crcox7we] {
        border-bottom: none;
    }

.inc-dash-cumulative-label[b-w5crcox7we] {
    font-size: 0.85rem;
    color: #64748b;
    font-weight: 600;
    display: inline-flex;
    align-items: baseline;
    gap: 0.35rem;
    flex-wrap: wrap;
}

.inc-dash-period-hint[b-w5crcox7we] {
    font-size: 0.72rem;
    color: #94a3b8;
    font-weight: 500;
    font-style: italic;
}

.inc-dash-cumulative-value[b-w5crcox7we] {
    font-size: 1.05rem;
    font-weight: 700;
    color: #1a3a5c;
}

.inc-pos[b-w5crcox7we] {
    color: #16a34a;
}

.inc-neg[b-w5crcox7we] {
    color: #dc2626;
}

.inc-dash-empty[b-w5crcox7we] {
    color: #94a3b8;
    font-size: 0.85rem;
    padding: 1rem 0;
    text-align: center;
}

/* Top partnerek */
.inc-dash-top-list[b-w5crcox7we] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.inc-dash-top-row[b-w5crcox7we] {
    display: grid;
    grid-template-columns: 1fr 1.5fr auto;
    align-items: center;
    gap: 0.6rem;
}

.inc-dash-top-name[b-w5crcox7we] {
    font-size: 0.82rem;
    font-weight: 600;
    color: #1e293b;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.inc-dash-top-bar-track[b-w5crcox7we] {
    background: #f1f5f9;
    border-radius: 4px;
    height: 8px;
    overflow: hidden;
}

.inc-dash-top-bar-fill[b-w5crcox7we] {
    height: 100%;
    background: linear-gradient(90deg, #2563eb 0%, #16a34a 100%);
    border-radius: 4px;
    transition: width 0.4s ease;
}

.inc-dash-top-value[b-w5crcox7we] {
    font-size: 0.82rem;
    font-weight: 700;
    color: #1a3a5c;
    text-align: right;
    min-width: 70px;
}

/* ==================== Wave 1 — Bulk műveletek toolbar ==================== */
.inc-bulk-toolbar[b-w5crcox7we] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.65rem 1rem;
    background: #f0f9ff;
    border: 1px solid #bae6fd;
    border-radius: 10px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}

.inc-bulk-info[b-w5crcox7we] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: #075985;
    font-weight: 600;
    font-size: 0.9rem;
}

    .inc-bulk-info i[b-w5crcox7we] {
        color: #0284c7;
        font-size: 1.1rem;
    }

.inc-bulk-actions[b-w5crcox7we] {
    display: flex;
    gap: 0.5rem;
}

.inc-bulk-btn[b-w5crcox7we] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.45rem 0.85rem;
    background: #ffffff;
    color: #1a3a5c;
    border: 1px solid #cbd5e1;
    border-radius: 7px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

    .inc-bulk-btn:hover:not(:disabled)[b-w5crcox7we] {
        background: #f1f5f9;
        border-color: #1a3a5c;
    }

    .inc-bulk-btn:disabled[b-w5crcox7we] {
        opacity: 0.55;
        cursor: not-allowed;
    }

.inc-bulk-btn-danger[b-w5crcox7we] {
    background: #fef2f2;
    color: #b91c1c;
    border-color: #fecaca;
}

    .inc-bulk-btn-danger:hover:not(:disabled)[b-w5crcox7we] {
        background: #fee2e2;
        border-color: #dc2626;
    }

/* ==================== Wave 1 — Csoport-subtotal sor ==================== */
.inc-row-group[b-w5crcox7we] {
    background: #f8fafc;
    --group-accent: #1a3a5c;
}

.inc-td-group[b-w5crcox7we] {
    border-left: 4px solid var(--group-accent);
}

.inc-group-label[b-w5crcox7we] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 700;
    color: #1e293b;
    font-size: 0.9rem;
}

    .inc-group-label i[b-w5crcox7we] {
        color: var(--group-accent);
    }

.inc-group-count[b-w5crcox7we] {
    font-size: 0.75rem;
    color: #64748b;
    font-weight: 600;
}

.inc-td-group-cell[b-w5crcox7we] {
    font-weight: 600;
    color: #1e293b;
    background: #f8fafc;
    text-align: right;
}

.inc-td-group-total[b-w5crcox7we] {
    font-weight: 700;
    color: var(--group-accent, #1a3a5c);
    background: #f1f5f9;
}

/* ==================== Wave 1 — YoY oszlop ==================== */
.inc-th-yoy[b-w5crcox7we] {
    text-align: right;
    padding: 0.65rem 0.85rem;
    font-weight: 700;
    color: #1e293b;
    background: #f1f5f9;
    border-bottom: 1px solid #e2e8f0;
    white-space: nowrap;
    min-width: 90px;
    width: 90px;
}

.inc-td-yoy[b-w5crcox7we] {
    text-align: right;
    padding: 0.55rem 0.85rem;
    border-bottom: 1px solid #f1f5f9;
    font-weight: 600;
    white-space: nowrap;
    min-width: 90px;
    width: 90px;
}

.inc-yoy-new[b-w5crcox7we] {
    color: #2563eb;
}

/* ==================== Wave 1 — Heatmap (cellaháttér) ==================== */
.inc-hm-1[b-w5crcox7we] {
    background-color: rgba(37, 99, 235, 0.06);
}

.inc-hm-2[b-w5crcox7we] {
    background-color: rgba(37, 99, 235, 0.14);
}

.inc-hm-3[b-w5crcox7we] {
    background-color: rgba(37, 99, 235, 0.24);
}

.inc-hm-4[b-w5crcox7we] {
    background-color: rgba(26, 58, 92, 0.42);
    color: #ffffff;
}

    .inc-hm-4 .inc-cell-value[b-w5crcox7we] {
        color: #ffffff;
    }

/* ==================== Audit history modal ==================== */
.inc-history-overlay[b-w5crcox7we] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1100;
}

.inc-history-panel[b-w5crcox7we] {
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 16px 44px rgba(15, 23, 42, 0.3);
    width: min(720px, 95vw);
    max-height: 85vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.inc-history-header[b-w5crcox7we] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.5rem;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
}

.inc-history-title[b-w5crcox7we] {
    margin: 0;
    font-size: 1.1rem;
    color: #1a3a5c;
    display: flex;
    align-items: center;
    gap: 0.55rem;
}

    .inc-history-title i[b-w5crcox7we] {
        color: #1a3a5c;
    }

.inc-history-close-btn[b-w5crcox7we] {
    background: transparent;
    border: none;
    color: #64748b;
    cursor: pointer;
    padding: 0.4rem;
    border-radius: 7px;
    transition: all 0.15s ease;
}

    .inc-history-close-btn:hover[b-w5crcox7we] {
        background: #e2e8f0;
        color: #1a3a5c;
    }

.inc-history-body[b-w5crcox7we] {
    padding: 1.25rem 1.5rem;
    overflow-y: auto;
}

.inc-history-loading[b-w5crcox7we],
.inc-history-empty[b-w5crcox7we] {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 2rem;
    color: #64748b;
}

    .inc-history-empty i[b-w5crcox7we] {
        font-size: 2.5rem;
        color: #cbd5e1;
        margin-bottom: 0.75rem;
    }

.inc-history-timeline[b-w5crcox7we] {
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
}

    .inc-history-timeline[b-w5crcox7we]::before {
        content: "";
        position: absolute;
        left: 11px;
        top: 6px;
        bottom: 6px;
        width: 2px;
        background: #e2e8f0;
    }

.inc-history-item[b-w5crcox7we] {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    padding: 0.75rem 0;
}

.inc-history-marker[b-w5crcox7we] {
    position: relative;
    z-index: 1;
    width: 24px;
    flex-shrink: 0;
    text-align: center;
    color: #1a3a5c;
}

    .inc-history-marker i[b-w5crcox7we] {
        font-size: 1.1rem;
        background: #ffffff;
        border-radius: 50%;
    }

.inc-history-item-deleted .inc-history-marker[b-w5crcox7we] {
    color: #b91c1c;
}

.inc-history-content[b-w5crcox7we] {
    flex: 1;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 0.75rem 1rem;
}

.inc-history-meta[b-w5crcox7we] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem;
    font-size: 0.82rem;
    color: #475569;
    margin-bottom: 0.45rem;
}

.inc-history-when[b-w5crcox7we] {
    font-weight: 600;
    color: #1a3a5c;
}

.inc-history-by[b-w5crcox7we] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}

.inc-history-tag[b-w5crcox7we] {
    background: #1a3a5c;
    color: #ffffff;
    padding: 0.1rem 0.5rem;
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.inc-history-tag-danger[b-w5crcox7we] {
    background: #dc2626;
}

.inc-history-snapshot[b-w5crcox7we] {
    font-size: 0.85rem;
    color: #1e293b;
}

.inc-history-snap-line[b-w5crcox7we] {
    display: block;
}

.inc-history-snapshot-nochange[b-w5crcox7we] {
    color: #94a3b8;
    font-style: italic;
}

.inc-history-diffs[b-w5crcox7we] {
    margin: 0;
    padding-left: 1.1rem;
    font-size: 0.85rem;
    color: #1e293b;
}

    .inc-history-diffs li[b-w5crcox7we] {
        margin: 0.15rem 0;
    }

/* History gomb a részletes táblában */
.inc-detail-history-btn[b-w5crcox7we] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border: 1px solid #cbd5e1;
    background: #ffffff;
    color: #1a3a5c;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.15s ease;
    margin-right: 0.25rem;
}

    .inc-detail-history-btn:hover[b-w5crcox7we] {
        background: #eff6ff;
        border-color: #2563eb;
        color: #2563eb;
    }

/* ==================== Wave 1 — Anomália jelzés (z-score) ==================== */
.inc-anomaly-high[b-w5crcox7we] {
    box-shadow: inset 0 0 0 2px rgba(245, 158, 11, 0.55);
}

.inc-anomaly-low[b-w5crcox7we] {
    box-shadow: inset 0 0 0 2px rgba(220, 38, 38, 0.55);
}

.inc-anomaly-flag[b-w5crcox7we] {
    display: inline-flex;
    align-items: center;
    margin-left: 0.3rem;
    color: #b45309;
}

    .inc-anomaly-flag i[b-w5crcox7we] {
        font-size: 0.95rem;
    }

.inc-anomaly-low .inc-anomaly-flag[b-w5crcox7we] {
    color: #b91c1c;
}

/* ==================== Wave 1 — "Halkuló" partner jelzés ==================== */
.inc-silent-flag[b-w5crcox7we] {
    display: inline-flex;
    align-items: center;
    color: #f59e0b;
    margin-left: 0.25rem;
}

    .inc-silent-flag i[b-w5crcox7we] {
        font-size: 1rem;
    }

/* ==================== Cella kattintható-állapot (direkt szerkesztés) ==================== */
.inc-td-cell-clickable[b-w5crcox7we] {
    cursor: pointer;
    transition: background 0.15s ease, box-shadow 0.15s ease;
}

    .inc-td-cell-clickable:hover[b-w5crcox7we] {
        background: #eff6ff;
        box-shadow: inset 0 0 0 1px #93c5fd;
    }

/* Inline szerkeszthető cella — projekt nélküli partnerek */
.inc-td-cell-inline[b-w5crcox7we] {
    padding: 0 !important;
}

.inc-inline-input[b-w5crcox7we] {
    width: 100%;
    height: 100%;
    min-height: 32px;
    border: none;
    background: transparent;
    text-align: right;
    font-size: 0.82rem;
    font-weight: 500;
    color: #0f172a;
    padding: 4px 8px;
    font-family: inherit;
    outline: none;
    box-sizing: border-box;
}

.inc-inline-input:focus[b-w5crcox7we] {
    background: #eff6ff;
    box-shadow: inset 0 0 0 2px #3b82f6;
}

.inc-inline-input[b-w5crcox7we]::placeholder {
    color: #cbd5e1;
    font-weight: 400;
}

.inc-inline-readonly[b-w5crcox7we] {
    color: #64748b;
    cursor: default;
}

.inc-inline-readonly:focus[b-w5crcox7we] {
    background: transparent;
    box-shadow: none;
}

/* Placeholder a partner sorban, ha nincs expand gomb — fix szélességű, hogy a többi gomb igazodjon */
.inc-expand-placeholder[b-w5crcox7we] {
    display: inline-block;
    width: 24px;
    height: 24px;
}

/* ==================== Wave 1 — Cellában a "másolás az évre" gomb ==================== */
.inc-cell-copy-btn[b-w5crcox7we] {
    margin-left: 0.35rem;
    padding: 0.15rem 0.3rem;
    border: none;
    background: transparent;
    color: #94a3b8;
    cursor: pointer;
    opacity: 0;
    transition: all 0.15s ease;
    border-radius: 4px;
}

.inc-td-cell:hover .inc-cell-copy-btn[b-w5crcox7we] {
    opacity: 1;
}

.inc-cell-copy-btn:hover[b-w5crcox7we] {
    background: #e0f2fe;
    color: #0284c7;
}

/* ==================== Wave 1 — Részletes táblában a checkbox oszlop ==================== */
.inc-detail-th-check[b-w5crcox7we],
.inc-detail-td-check[b-w5crcox7we] {
    width: 36px;
    text-align: center;
    padding: 0.4rem;
}

.inc-detail-bulk-btn[b-w5crcox7we] {
    background: transparent;
    border: none;
    cursor: pointer;
    color: #1a3a5c;
}

    .inc-detail-bulk-btn:hover[b-w5crcox7we] {
        color: #0284c7;
    }

.inc-detail-row-selected[b-w5crcox7we] {
    background: #f0f9ff !important;
}

/* ==================== Wave 2 — Számla státusz badge ==================== */
.inc-status-badge[b-w5crcox7we] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 600;
    border: 1px solid transparent;
    white-space: nowrap;
}

    .inc-status-badge i[b-w5crcox7we] {
        font-size: 0.85rem;
    }

.inc-status-paid[b-w5crcox7we] {
    background: #ecfdf5;
    color: #15803d;
    border-color: #bbf7d0;
}

.inc-status-overdue[b-w5crcox7we] {
    background: #fef2f2;
    color: #b91c1c;
    border-color: #fecaca;
}

.inc-status-pending[b-w5crcox7we] {
    background: #fef3c7;
    color: #92400e;
    border-color: #fde68a;
}

.inc-status-issued[b-w5crcox7we] {
    background: #eff6ff;
    color: #1d4ed8;
    border-color: #bfdbfe;
}

.inc-status-unknown[b-w5crcox7we] {
    background: #f1f5f9;
    color: #64748b;
    border-color: #e2e8f0;
}

/* ==================== Wave 2 — NAV / sablon gombok ==================== */
.inc-nav-btn[b-w5crcox7we],
.inc-template-btn[b-w5crcox7we] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.55rem 0.95rem;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    color: #1a3a5c;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}

.inc-nav-btn:hover[b-w5crcox7we] {
    background: #eff6ff;
    border-color: #2563eb;
    color: #2563eb;
}

.inc-template-btn:hover[b-w5crcox7we] {
    background: #fdf4ff;
    border-color: #a855f7;
    color: #a855f7;
}

/* ==================== Wave 2 — Tervezett vs. tényleges cella overlay ==================== */
.inc-cell-target[b-w5crcox7we] {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    margin-top: 0.25rem;
    padding-top: 0.25rem;
    border-top: 1px dashed #e2e8f0;
    font-size: 0.7rem;
    color: #64748b;
    font-weight: 600;
}

.inc-cell-target-label[b-w5crcox7we] {
    color: #94a3b8;
    font-weight: 500;
}

.inc-cell-target-value[b-w5crcox7we] {
    color: #1a3a5c;
}

.inc-cell-achieved[b-w5crcox7we] {
    margin-left: auto;
    padding: 0.05rem 0.3rem;
    border-radius: 4px;
    background: #f1f5f9;
}

.inc-cell-achieved.inc-pos[b-w5crcox7we] {
    background: #ecfdf5;
    color: #15803d;
}

.inc-cell-achieved.inc-warn[b-w5crcox7we] {
    background: #fef3c7;
    color: #92400e;
}

.inc-cell-achieved.inc-neg[b-w5crcox7we] {
    background: #fef2f2;
    color: #b91c1c;
}

.inc-warn[b-w5crcox7we] {
    color: #d97706;
}

/* ==================== Wave 1 — Mind kibont / Mind összezár ==================== */
.inc-expand-toggles[b-w5crcox7we] {
    display: flex;
    gap: 0.35rem;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 0.3rem;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}

.inc-expand-btn-toolbar[b-w5crcox7we] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 32px;
    border: none;
    background: transparent;
    color: #64748b;
    border-radius: 7px;
    cursor: pointer;
    transition: all 0.2s ease;
}

    .inc-expand-btn-toolbar:hover[b-w5crcox7we] {
        background: #f1f5f9;
        color: #1a3a5c;
    }

/* ===== Cella jobb klikk kontextus menü ===== */
.inc-context-menu[b-w5crcox7we] {
    position: fixed;
    z-index: 1500;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
    padding: 4px 0;
    min-width: 220px;
}

.inc-context-item[b-w5crcox7we] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    width: 100%;
    border: none;
    background: transparent;
    color: #0f172a;
    font-size: 0.88rem;
    cursor: pointer;
    text-align: left;
    transition: background 0.15s ease;
}

    .inc-context-item:hover[b-w5crcox7we] {
        background: #f1f5f9;
    }

    .inc-context-item i[b-w5crcox7we] {
        color: #1a3a5c;
        font-size: 1rem;
    }

/* ===== Manuális bevétel gomb ===== */
.inc-manual-btn[b-w5crcox7we] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: #16a34a;
    color: #ffffff;
    border: none;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

/* ==================== Visszavonás (undo) gomb + megerősítő ablak ==================== */

.inc-undo-btn[b-w5crcox7we] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: #1a3a5c;
    color: #ffffff;
    border: 1px solid #1a3a5c;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 2px 6px rgba(26, 58, 92, 0.2);
}

    .inc-undo-btn:hover:not(:disabled)[b-w5crcox7we] {
        background: #15304d;
    }

    .inc-undo-btn:disabled[b-w5crcox7we] {
        opacity: 0.6;
        cursor: default;
    }

.inc-undo-overlay[b-w5crcox7we] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
    z-index: 9200;
    display: flex;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(2px);
}

.inc-undo-panel[b-w5crcox7we] {
    width: min(92vw, 440px);
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 20px 60px rgba(15, 23, 42, 0.35);
    overflow: hidden;
}

.inc-undo-panel-header[b-w5crcox7we] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 14px 20px;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
    font-weight: 700;
    color: #0f172a;
}

    .inc-undo-panel-header i[b-w5crcox7we] {
        color: #1a3a5c;
        font-size: 1.2rem;
    }

.inc-undo-panel-body[b-w5crcox7we] {
    padding: 18px 20px;
}

.inc-undo-question[b-w5crcox7we] {
    margin: 0 0 12px 0;
    color: #334155;
    font-size: 0.9rem;
}

.inc-undo-action-box[b-w5crcox7we] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 12px 14px;
    background: #f1f5f9;
    border-left: 3px solid #1a3a5c;
    border-radius: 8px;
}

.inc-undo-action-kind[b-w5crcox7we] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: #64748b;
    font-weight: 700;
}

.inc-undo-action-label[b-w5crcox7we] {
    font-size: 1rem;
    font-weight: 700;
    color: #0f172a;
}

.inc-undo-hint[b-w5crcox7we] {
    margin: 10px 0 0 0;
    font-size: 0.78rem;
    color: #64748b;
}

.inc-undo-hint-chain[b-w5crcox7we] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #1a3a5c;
    font-weight: 600;
}

.inc-undo-panel-footer[b-w5crcox7we] {
    display: flex;
    gap: 10px;
    padding: 14px 20px;
    border-top: 1px solid #e2e8f0;
    justify-content: flex-end;
}

.inc-undo-confirm-btn[b-w5crcox7we],
.inc-undo-cancel-btn[b-w5crcox7we] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 8px 16px;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    border: 1px solid transparent;
    transition: all 0.15s ease;
}

.inc-undo-confirm-btn[b-w5crcox7we] {
    background: #1a3a5c;
    color: #ffffff;
}

    .inc-undo-confirm-btn:hover:not(:disabled)[b-w5crcox7we] {
        background: #15304d;
    }

.inc-undo-cancel-btn[b-w5crcox7we] {
    background: #ffffff;
    color: #475569;
    border-color: #cbd5e1;
}

    .inc-undo-cancel-btn:hover:not(:disabled)[b-w5crcox7we] {
        background: #f1f5f9;
    }

    .inc-undo-confirm-btn:disabled[b-w5crcox7we],
    .inc-undo-cancel-btn:disabled[b-w5crcox7we] {
        opacity: 0.6;
        cursor: default;
    }

    .inc-manual-btn:hover[b-w5crcox7we] {
        background: #15803d;
        box-shadow: 0 4px 12px rgba(22, 163, 74, 0.3);
    }

    .inc-manual-btn i[b-w5crcox7we] {
        font-size: 0.9rem;
    }

/* ===== Manuális bevétel — partner-blokk ===== */
.inc-manual-partner-block[b-w5crcox7we] {
    padding: 1rem 1.25rem;
    margin-bottom: 1rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
}

.inc-manual-partner-toggle[b-w5crcox7we] {
    display: flex;
    gap: 0.5rem;
    margin-bottom: 0.9rem;
}

.inc-manual-toggle-btn[b-w5crcox7we] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex: 1;
    justify-content: center;
    padding: 0.5rem 0.75rem;
    background: #ffffff;
    color: #475569;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

    .inc-manual-toggle-btn:hover[b-w5crcox7we] {
        border-color: #1a3a5c;
        color: #1a3a5c;
    }

    .inc-manual-toggle-btn.active[b-w5crcox7we] {
        background: #1a3a5c;
        color: #ffffff;
        border-color: #1a3a5c;
    }

/* ===== Validációs hiba kiemelés az űrlap mezőkön ===== */
[b-w5crcox7we] .inc-input-error input,
[b-w5crcox7we] .inc-input-error .rz-textbox,
[b-w5crcox7we] .inc-input-error .rz-dropdown {
    border-color: #dc2626 !important;
    box-shadow: 0 0 0 1px #dc2626;
}
/* /Components/Pages/Leads/LeadComponent.razor.rz.scp.css */
/* ===== Konténer ===== */
.lead-container[b-2dblurnctc] {
    display: flex;
    flex-direction: column;
    padding: 2rem;
    gap: 1.5rem;
    width: 100%;
}

/* ===== Fejléc ===== */
.lead-header[b-2dblurnctc] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
}

.lead-title[b-2dblurnctc] {
    font-size: 1.75rem;
    font-weight: 700;
    color: #1e293b;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin: 0;
}

.lead-title i[b-2dblurnctc] {
    color: #1a3a5c;
}

.lead-controls[b-2dblurnctc] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.lead-add-btn[b-2dblurnctc] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: #1a3a5c;
    color: #ffffff;
    border: none;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 2px 6px rgba(26, 58, 92, 0.2);
}

.lead-add-btn:hover[b-2dblurnctc] {
    background: #0f2a44;
    box-shadow: 0 4px 12px rgba(26, 58, 92, 0.3);
}

/* Visszavonás (undo) gomb + megerősítő ablak */
.lead-undo-btn[b-2dblurnctc] { display: flex; align-items: center; gap: 0.5rem; padding: 0.5rem 1rem; background: #1a3a5c; color: #fff; border: 1px solid #1a3a5c; border-radius: 8px; font-size: 0.85rem; font-weight: 600; cursor: pointer; transition: all 0.2s ease; box-shadow: 0 2px 6px rgba(26,58,92,0.2); }
.lead-undo-btn:hover:not(:disabled)[b-2dblurnctc] { background: #15304d; }
.lead-undo-btn:disabled[b-2dblurnctc] { opacity: 0.6; cursor: default; }
.lead-undo-overlay[b-2dblurnctc] { position: fixed; inset: 0; background: rgba(15,23,42,0.55); z-index: 9200; display: flex; align-items: center; justify-content: center; backdrop-filter: blur(2px); }
.lead-undo-panel[b-2dblurnctc] { width: min(92vw, 440px); background: #fff; border-radius: 14px; box-shadow: 0 20px 60px rgba(15,23,42,0.35); overflow: hidden; }
.lead-undo-panel-header[b-2dblurnctc] { display: flex; align-items: center; gap: 8px; padding: 14px 20px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; font-weight: 700; color: #0f172a; }
.lead-undo-panel-header i[b-2dblurnctc] { color: #1a3a5c; font-size: 1.2rem; }
.lead-undo-panel-body[b-2dblurnctc] { padding: 18px 20px; }
.lead-undo-question[b-2dblurnctc] { margin: 0 0 12px 0; color: #334155; font-size: 0.9rem; }
.lead-undo-action-box[b-2dblurnctc] { display: flex; flex-direction: column; gap: 4px; padding: 12px 14px; background: #f1f5f9; border-left: 3px solid #1a3a5c; border-radius: 8px; }
.lead-undo-action-kind[b-2dblurnctc] { display: inline-flex; align-items: center; gap: 5px; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.4px; color: #64748b; font-weight: 700; }
.lead-undo-action-label[b-2dblurnctc] { font-size: 1rem; font-weight: 700; color: #0f172a; }
.lead-undo-hint[b-2dblurnctc] { margin: 10px 0 0 0; font-size: 0.78rem; color: #64748b; }
.lead-undo-hint-chain[b-2dblurnctc] { display: inline-flex; align-items: center; gap: 5px; color: #1a3a5c; font-weight: 600; }
.lead-undo-panel-footer[b-2dblurnctc] { display: flex; gap: 10px; padding: 14px 20px; border-top: 1px solid #e2e8f0; justify-content: flex-end; }
.lead-undo-confirm-btn[b-2dblurnctc], .lead-undo-cancel-btn[b-2dblurnctc] { display: inline-flex; align-items: center; gap: 5px; padding: 8px 16px; border-radius: 8px; font-size: 0.85rem; font-weight: 600; cursor: pointer; border: 1px solid transparent; transition: all 0.15s ease; }
.lead-undo-confirm-btn[b-2dblurnctc] { background: #1a3a5c; color: #fff; }
.lead-undo-confirm-btn:hover:not(:disabled)[b-2dblurnctc] { background: #15304d; }
.lead-undo-cancel-btn[b-2dblurnctc] { background: #fff; color: #475569; border-color: #cbd5e1; }
.lead-undo-cancel-btn:hover:not(:disabled)[b-2dblurnctc] { background: #f1f5f9; }
.lead-undo-confirm-btn:disabled[b-2dblurnctc], .lead-undo-cancel-btn:disabled[b-2dblurnctc] { opacity: 0.6; cursor: default; }

/* ===== Betöltés ===== */
.lead-loading[b-2dblurnctc],
.lead-loading-full[b-2dblurnctc] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem;
    gap: 1rem;
}

.lead-loading-text[b-2dblurnctc] {
    color: #64748b;
    font-size: 0.9rem;
}

/* ===== Összesítő kártyák ===== */
.lead-summary-cards[b-2dblurnctc] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}

.lead-summary-card[b-2dblurnctc] {
    background: #ffffff;
    border-radius: 12px;
    padding: 1.25rem;
    border: 1px solid #e2e8f0;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.lead-summary-label[b-2dblurnctc] {
    font-size: 0.78rem;
    font-weight: 600;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.lead-summary-value[b-2dblurnctc] {
    font-size: 1.5rem;
    font-weight: 800;
    color: #1e293b;
}

.lead-summary-pipeline[b-2dblurnctc] {
    border-left: 4px solid #1a3a5c;
}

.lead-summary-active[b-2dblurnctc] {
    border-left: 4px solid #0ea5e9;
}

.lead-summary-won[b-2dblurnctc] {
    border-left: 4px solid #16a34a;
}

.lead-summary-won .lead-summary-value[b-2dblurnctc] {
    color: #16a34a;
}

.lead-summary-lost[b-2dblurnctc] {
    border-left: 4px solid #dc2626;
}

.lead-summary-lost .lead-summary-value[b-2dblurnctc] {
    color: #dc2626;
}

/* ===== Szűrők ===== */
.lead-filters[b-2dblurnctc] {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.lead-search[b-2dblurnctc] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 0.35rem 0.75rem;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}

.lead-search i[b-2dblurnctc] {
    color: #94a3b8;
    font-size: 0.9rem;
}

[b-2dblurnctc] .lead-search-input .rz-inputtext {
    border: none;
    background: transparent;
    font-size: 0.85rem;
    padding: 0.25rem;
    min-width: 180px;
}

[b-2dblurnctc] .lead-search-input .rz-inputtext:focus {
    outline: none;
    box-shadow: none;
}

.lead-filter-tabs[b-2dblurnctc] {
    display: flex;
    gap: 0.25rem;
    background: #f1f5f9;
    border-radius: 8px;
    padding: 0.2rem;
}

.lead-filter-tab[b-2dblurnctc] {
    padding: 0.35rem 0.75rem;
    border: none;
    background: transparent;
    border-radius: 6px;
    font-size: 0.78rem;
    font-weight: 600;
    color: #64748b;
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
}

.lead-filter-tab:hover[b-2dblurnctc] {
    background: #e2e8f0;
    color: #1e293b;
}

.lead-filter-tab.active[b-2dblurnctc] {
    background: #1a3a5c;
    color: #ffffff;
    box-shadow: 0 1px 4px rgba(26, 58, 92, 0.2);
}

/* ===== Üres állapot ===== */
.lead-empty[b-2dblurnctc] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem;
    color: #94a3b8;
    font-size: 1rem;
    gap: 0.75rem;
}

.lead-empty i[b-2dblurnctc] {
    font-size: 2.5rem;
    opacity: 0.5;
}

/* ===== Lead kártya rács ===== */
.lead-grid[b-2dblurnctc] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
    gap: 1rem;
}

.lead-card[b-2dblurnctc] {
    background: #ffffff;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    display: flex;
    flex-direction: column;
    transition: box-shadow 0.2s ease, border-color 0.2s ease;
    overflow: hidden;
}

.lead-card:hover[b-2dblurnctc] {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    border-color: #cbd5e1;
}

.lead-card-header[b-2dblurnctc] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 1rem 1.25rem 0.5rem;
}

.lead-card-title-row[b-2dblurnctc] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex: 1;
    min-width: 0;
}

.lead-card-name[b-2dblurnctc] {
    font-size: 1rem;
    font-weight: 700;
    color: #1e293b;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lead-card-body[b-2dblurnctc] {
    padding: 0.5rem 1.25rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    flex: 1;
}

.lead-card-row[b-2dblurnctc] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.85rem;
    color: #475569;
}

.lead-card-row i[b-2dblurnctc] {
    color: #94a3b8;
    font-size: 0.9rem;
    width: 18px;
    text-align: center;
    flex-shrink: 0;
}

.lead-card-value[b-2dblurnctc] {
    font-weight: 700;
    color: #1a3a5c;
    font-size: 0.95rem;
}

.lead-card-note[b-2dblurnctc] {
    font-size: 0.8rem;
    color: #64748b;
    background: #f8fafc;
    border-radius: 6px;
    padding: 0.5rem 0.75rem;
    margin-top: 0.25rem;
    line-height: 1.4;
    border-left: 3px solid #e2e8f0;
}

.lead-card-footer[b-2dblurnctc] {
    display: flex;
    justify-content: flex-end;
    gap: 0.35rem;
    padding: 0.65rem 1.25rem;
    border-top: 1px solid #f1f5f9;
    background: #fafbfc;
}

.lead-card-edit-btn[b-2dblurnctc],
.lead-card-delete-btn[b-2dblurnctc] {
    background: #ffffff;
    border: 1px solid #cbd5e1;
    color: #475569;
    width: 32px;
    height: 32px;
    border-radius: 6px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.15s ease;
}

.lead-card-edit-btn:hover[b-2dblurnctc] {
    background: #1a3a5c;
    border-color: #1a3a5c;
    color: #ffffff;
}

.lead-card-delete-btn:hover[b-2dblurnctc] {
    background: #dc2626;
    border-color: #dc2626;
    color: #ffffff;
}

/* ===== Badge-ek ===== */
.lead-badge[b-2dblurnctc] {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.6rem;
    border-radius: 20px;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    white-space: nowrap;
    flex-shrink: 0;
}

/* Státusz badge színek */
.lead-status-new[b-2dblurnctc] {
    background: #eff6ff;
    color: #2563eb;
    border: 1px solid #bfdbfe;
}

.lead-status-contacted[b-2dblurnctc] {
    background: #f0fdf4;
    color: #16a34a;
    border: 1px solid #bbf7d0;
}

.lead-status-negotiation[b-2dblurnctc] {
    background: #fffbeb;
    color: #d97706;
    border: 1px solid #fde68a;
}

.lead-status-proposal[b-2dblurnctc] {
    background: #faf5ff;
    color: #7c3aed;
    border: 1px solid #ddd6fe;
}

.lead-status-won[b-2dblurnctc] {
    background: #f0fdf4;
    color: #15803d;
    border: 1px solid #86efac;
}

.lead-status-lost[b-2dblurnctc] {
    background: #fef2f2;
    color: #dc2626;
    border: 1px solid #fecaca;
}

/* Prioritás badge színek */
.lead-prio-low[b-2dblurnctc] {
    background: #f1f5f9;
    color: #64748b;
    border: 1px solid #cbd5e1;
}

.lead-prio-medium[b-2dblurnctc] {
    background: #eff6ff;
    color: #2563eb;
    border: 1px solid #bfdbfe;
}

.lead-prio-high[b-2dblurnctc] {
    background: #fff7ed;
    color: #ea580c;
    border: 1px solid #fed7aa;
}

.lead-prio-critical[b-2dblurnctc] {
    background: #fef2f2;
    color: #dc2626;
    border: 1px solid #fecaca;
}

/* ===== Szerkesztő modal ===== */
.lead-form-overlay[b-2dblurnctc] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1500;
    padding: 1rem;
}

.lead-form-panel[b-2dblurnctc] {
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.35);
    width: 100%;
    max-width: 720px;
    max-height: 92vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #e2e8f0;
}

.lead-form-header[b-2dblurnctc] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.5rem;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
}

.lead-form-title[b-2dblurnctc] {
    font-size: 1.1rem;
    font-weight: 700;
    color: #1e293b;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.lead-form-title i[b-2dblurnctc] {
    color: #1a3a5c;
}

.lead-form-close-btn[b-2dblurnctc] {
    background: none;
    border: none;
    color: #94a3b8;
    font-size: 1.2rem;
    cursor: pointer;
    transition: color 0.15s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 6px;
}

.lead-form-close-btn:hover[b-2dblurnctc] {
    color: #dc2626;
    background: #fef2f2;
}

.lead-form-body[b-2dblurnctc] {
    padding: 1.5rem;
    overflow-y: auto;
    flex: 1;
}

.lead-form-grid[b-2dblurnctc] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.lead-form-field[b-2dblurnctc] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.lead-form-field label[b-2dblurnctc] {
    font-size: 0.78rem;
    font-weight: 600;
    color: #475569;
}

.lead-required[b-2dblurnctc] {
    color: #dc2626;
}

.lead-form-field-wide[b-2dblurnctc] {
    grid-column: span 2;
}

[b-2dblurnctc] .lead-form-input {
    width: 100%;
}

[b-2dblurnctc] .lead-form-input .rz-inputtext,
[b-2dblurnctc] .lead-form-input .rz-dropdown,
[b-2dblurnctc] .lead-form-input .rz-datepicker {
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    font-size: 0.85rem;
}

[b-2dblurnctc] .lead-form-input .rz-inputtext:focus {
    border-color: #1a3a5c;
    box-shadow: 0 0 0 2px rgba(26, 58, 92, 0.15);
}

.lead-form-footer[b-2dblurnctc] {
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
    padding: 1rem 1.5rem;
    background: #f8fafc;
    border-top: 1px solid #e2e8f0;
}

.lead-form-save-btn[b-2dblurnctc] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.55rem 1.25rem;
    background: #1a3a5c;
    color: #ffffff;
    border: none;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.lead-form-save-btn:hover[b-2dblurnctc] {
    background: #0f2a44;
}

.lead-form-cancel-btn[b-2dblurnctc] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.55rem 1.25rem;
    background: #ffffff;
    color: #475569;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.lead-form-cancel-btn:hover[b-2dblurnctc] {
    background: #f1f5f9;
    border-color: #cbd5e1;
}

/* ===== Import gomb ===== */
.lead-import-btn[b-2dblurnctc] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: #1a3a5c;
    color: #ffffff;
    border: none;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 2px 6px rgba(26, 58, 92, 0.2);
}

.lead-import-btn:hover[b-2dblurnctc] {
    background: #0f2a44;
    box-shadow: 0 4px 12px rgba(26, 58, 92, 0.3);
}

/* ===== Import overlay ===== */
.lead-import-overlay[b-2dblurnctc] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1500;
    padding: 1rem;
}

.lead-import-panel[b-2dblurnctc] {
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.35);
    width: 100%;
    max-width: 1100px;
    max-height: 92vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #e2e8f0;
}

.lead-import-header[b-2dblurnctc] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.5rem;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
}

.lead-import-title[b-2dblurnctc] {
    font-size: 1.1rem;
    font-weight: 700;
    color: #1e293b;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.lead-import-title i[b-2dblurnctc] {
    color: #1a3a5c;
}

.lead-import-close-btn[b-2dblurnctc] {
    background: none;
    border: none;
    color: #94a3b8;
    font-size: 1.2rem;
    cursor: pointer;
    width: 32px;
    height: 32px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.lead-import-close-btn:hover[b-2dblurnctc] {
    color: #dc2626;
    background: #fef2f2;
}

/* Dropzone */
.lead-import-dropzone[b-2dblurnctc] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 280px;
    margin: 1.5rem;
    border: 2px dashed #cbd5e1;
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.lead-import-dropzone:hover[b-2dblurnctc] {
    border-color: #1a3a5c;
    background: #f8fafc;
}

.lead-import-dropzone-content[b-2dblurnctc] {
    text-align: center;
    padding: 2rem;
}

.lead-import-dropzone-icon[b-2dblurnctc] {
    font-size: 3rem;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.lead-import-dropzone-text[b-2dblurnctc] {
    font-size: 1rem;
    font-weight: 600;
    color: #475569;
    margin: 0 0 0.5rem;
}

.lead-import-dropzone-hint[b-2dblurnctc] {
    font-size: 0.85rem;
    color: #94a3b8;
    margin: 0 0 0.25rem;
}

.lead-import-dropzone-formats[b-2dblurnctc] {
    font-size: 0.78rem;
    color: #94a3b8;
    margin: 0;
}

/* Feldolgozás */
.lead-import-processing[b-2dblurnctc] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem;
    gap: 1rem;
}

.lead-import-progress-text[b-2dblurnctc] {
    color: #475569;
    font-size: 0.9rem;
    font-weight: 500;
}

[b-2dblurnctc] .lead-import-progress-bar {
    width: 300px;
    max-width: 100%;
}

/* Előnézet */
.lead-import-preview[b-2dblurnctc] {
    display: flex;
    flex-direction: column;
    flex: 1;
    overflow: hidden;
}

.lead-import-preview-header[b-2dblurnctc] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 1.5rem;
    border-bottom: 1px solid #e2e8f0;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.lead-import-preview-info[b-2dblurnctc] {
    color: #475569;
    font-size: 0.85rem;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.lead-import-preview-info i[b-2dblurnctc] {
    color: #0ea5e9;
}

.lead-import-select-actions[b-2dblurnctc] {
    display: flex;
    gap: 0.5rem;
}

.lead-import-select-btn[b-2dblurnctc] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.3rem 0.6rem;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    font-size: 0.78rem;
    font-weight: 600;
    color: #475569;
    cursor: pointer;
}

.lead-import-select-btn:hover[b-2dblurnctc] {
    background: #e2e8f0;
}

.lead-import-table-wrapper[b-2dblurnctc] {
    flex: 1;
    overflow: auto;
    padding: 0 1rem;
}

.lead-import-table[b-2dblurnctc] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.85rem;
}

.lead-import-table thead[b-2dblurnctc] {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #f8fafc;
}

.lead-import-table th[b-2dblurnctc] {
    text-align: left;
    padding: 0.55rem 0.5rem;
    font-size: 0.72rem;
    font-weight: 700;
    color: #475569;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    border-bottom: 1px solid #e2e8f0;
    white-space: nowrap;
}

.lead-import-table td[b-2dblurnctc] {
    padding: 0.35rem 0.3rem;
    border-bottom: 1px solid #f1f5f9;
}

.lead-imp-th-check[b-2dblurnctc] {
    width: 40px;
}

.lead-imp-td-check[b-2dblurnctc] {
    text-align: center;
}

.lead-imp-th-num[b-2dblurnctc] {
    text-align: right;
}

.lead-imp-td-num[b-2dblurnctc] {
    text-align: right;
}

[b-2dblurnctc] .lead-imp-input {
    width: 100%;
    min-width: 80px;
}

[b-2dblurnctc] .lead-imp-input .rz-inputtext,
[b-2dblurnctc] .lead-imp-input .rz-dropdown {
    font-size: 0.8rem;
    padding: 0.25rem 0.4rem;
    border-radius: 6px;
    border: 1px solid #e2e8f0;
}

[b-2dblurnctc] .lead-imp-input .rz-inputtext:focus {
    border-color: #1a3a5c;
    box-shadow: 0 0 0 2px rgba(26, 58, 92, 0.15);
}

.lead-import-row-disabled[b-2dblurnctc] {
    opacity: 0.4;
}

.lead-import-badge[b-2dblurnctc] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.2rem 0.5rem;
    border-radius: 12px;
    font-size: 0.7rem;
    font-weight: 700;
    white-space: nowrap;
}

.lead-badge-new[b-2dblurnctc] {
    background: #eff6ff;
    color: #2563eb;
    border: 1px solid #bfdbfe;
}

.lead-badge-existing[b-2dblurnctc] {
    background: #f0fdf4;
    color: #16a34a;
    border: 1px solid #bbf7d0;
}

/* Import műveleti gombok */
.lead-import-actions[b-2dblurnctc] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem;
    padding: 1rem 1.5rem;
    background: #f8fafc;
    border-top: 1px solid #e2e8f0;
}

.lead-import-back-btn[b-2dblurnctc] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.5rem 1rem;
    background: #ffffff;
    color: #475569;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    margin-right: auto;
}

.lead-import-back-btn:hover[b-2dblurnctc] {
    background: #f1f5f9;
}

.lead-import-approve-btn[b-2dblurnctc] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.5rem 1.25rem;
    background: #16a34a;
    color: #ffffff;
    border: none;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
}

.lead-import-approve-btn:hover[b-2dblurnctc] {
    background: #15803d;
}

.lead-import-cancel-btn[b-2dblurnctc] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.5rem 1rem;
    background: #ffffff;
    color: #475569;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
}

.lead-import-cancel-btn:hover[b-2dblurnctc] {
    background: #f1f5f9;
}

.lead-import-saving[b-2dblurnctc] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: #475569;
    font-size: 0.85rem;
}

/* ===== Responsive ===== */
@media (max-width: 768px) {
    .lead-summary-cards[b-2dblurnctc] {
        grid-template-columns: repeat(2, 1fr);
    }

    .lead-grid[b-2dblurnctc] {
        grid-template-columns: 1fr;
    }

    .lead-form-grid[b-2dblurnctc] {
        grid-template-columns: 1fr;
    }

    .lead-form-field-wide[b-2dblurnctc] {
        grid-column: span 1;
    }

    .lead-filters[b-2dblurnctc] {
        flex-direction: column;
        align-items: stretch;
    }

    .lead-filter-tabs[b-2dblurnctc] {
        overflow-x: auto;
    }
}

/* ============================================================
   ÚJ FUNKCIÓK STÍLUSAI
   - Lejárt teendők banner
   - Pipeline funnel panel
   - Nézet váltó (kártya / kanban)
   - Kanban oszlopok és kártyák
   - Lead kártya kiterjesztések (flagek, owner, next action, activity timeline)
   - Win/Loss modal
   - Activity form modal
   ============================================================ */

/* ----- Lejárt teendők banner ----- */
.lead-alert-banner[b-2dblurnctc] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    background: linear-gradient(135deg, #fff7ed 0%, #fef3c7 100%);
    border: 1px solid #fde68a;
    border-radius: 10px;
    margin-bottom: 1rem;
    box-shadow: 0 1px 3px rgba(180, 83, 9, 0.08);
}

.lead-alert-item[b-2dblurnctc] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.4rem 0.85rem;
    background: #ffffff;
    border-radius: 8px;
    font-size: 0.9rem;
    font-weight: 600;
}

.lead-alert-num[b-2dblurnctc] {
    font-size: 1.25rem;
    font-weight: 800;
    margin-right: 0.15rem;
}

.lead-alert-overdue[b-2dblurnctc] {
    color: #b91c1c;
    border: 1px solid #fecaca;
}

.lead-alert-today[b-2dblurnctc] {
    color: #b45309;
    border: 1px solid #fde68a;
}

.lead-alert-stuck[b-2dblurnctc] {
    color: #6b21a8;
    border: 1px solid #e9d5ff;
}

/* ----- Pipeline funnel panel ----- */
.lead-funnel-panel[b-2dblurnctc] {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 1.25rem;
    margin-bottom: 1rem;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}

.lead-funnel-header h3[b-2dblurnctc] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0 0 1rem 0;
    color: #1a3a5c;
    font-size: 1.05rem;
    font-weight: 700;
}

.lead-funnel-rows[b-2dblurnctc] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.lead-funnel-row[b-2dblurnctc] {
    display: grid;
    grid-template-columns: 130px 1fr 130px 75px 80px;
    align-items: center;
    gap: 0.6rem;
    font-size: 0.88rem;
}

.lead-funnel-label[b-2dblurnctc] {
    font-weight: 600;
    color: #475569;
}

.lead-funnel-track[b-2dblurnctc] {
    background: #f1f5f9;
    border-radius: 6px;
    height: 24px;
    overflow: hidden;
    position: relative;
}

.lead-funnel-fill[b-2dblurnctc] {
    height: 100%;
    border-radius: 6px;
    display: flex;
    align-items: center;
    padding: 0 0.5rem;
    color: #ffffff;
    font-weight: 700;
    transition: width 0.4s ease;
    min-width: 24px;
}

/* A funnel csíkon a háttér mindig telített legyen, hogy a fehér darabszám olvasható maradjon —
   a státusz badge-eken (más helyeken) ugyanezek a .lead-status-* osztályok pasztell hátteret raknak,
   ezért itt felüldefiniáljuk őket .lead-funnel-fill kontextusban. */
.lead-funnel-fill.lead-status-new[b-2dblurnctc] {
    background: #2563eb;
    border: none;
}

.lead-funnel-fill.lead-status-contacted[b-2dblurnctc] {
    background: #16a34a;
    border: none;
}

.lead-funnel-fill.lead-status-negotiation[b-2dblurnctc] {
    background: #d97706;
    border: none;
}

.lead-funnel-fill.lead-status-proposal[b-2dblurnctc] {
    background: #7c3aed;
    border: none;
}

.lead-funnel-fill.lead-status-won[b-2dblurnctc] {
    background: #15803d;
    border: none;
}

.lead-funnel-fill.lead-status-lost[b-2dblurnctc] {
    background: #dc2626;
    border: none;
}

.lead-funnel-count[b-2dblurnctc] {
    font-size: 0.85rem;
    /* Lágy árnyék, hogy nagyon keskeny csík esetén is olvasható maradjon a fehér szám */
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}

.lead-funnel-value[b-2dblurnctc] {
    font-weight: 700;
    color: #1a3a5c;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.lead-funnel-conv[b-2dblurnctc],
.lead-funnel-conv-empty[b-2dblurnctc] {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    color: #64748b;
    font-weight: 600;
    font-size: 0.82rem;
    text-align: right;
    justify-content: flex-end;
}

.lead-funnel-days[b-2dblurnctc],
.lead-funnel-days-empty[b-2dblurnctc] {
    color: #94a3b8;
    font-size: 0.78rem;
    text-align: right;
}

/* ----- Forecast / win rate summary kártyák ----- */
.lead-summary-forecast[b-2dblurnctc] {
    background: linear-gradient(135deg, #ecfeff 0%, #f0f9ff 100%);
    border: 1px solid #bae6fd;
}

.lead-summary-winrate[b-2dblurnctc] {
    background: linear-gradient(135deg, #f0fdf4 0%, #ecfdf5 100%);
    border: 1px solid #bbf7d0;
}

.pa-info-icon[b-2dblurnctc] {
    font-size: 0.85rem;
    color: #64748b;
    margin-left: 0.3rem;
    cursor: help;
    transition: color 0.15s ease;
}

.pa-info-icon:hover[b-2dblurnctc] {
    color: #1a3a5c;
}

/* ----- Nézet váltó (kártya / kanban) ----- */
.lead-view-switcher[b-2dblurnctc] {
    display: inline-flex;
    background: #f1f5f9;
    border-radius: 8px;
    padding: 0.2rem;
    margin-left: auto;
}

.lead-view-btn[b-2dblurnctc] {
    background: transparent;
    border: none;
    color: #64748b;
    padding: 0.4rem 0.7rem;
    border-radius: 6px;
    cursor: pointer;
    font-size: 1rem;
    transition: all 0.15s ease;
}

.lead-view-btn:hover[b-2dblurnctc] {
    background: #e2e8f0;
}

.lead-view-btn.active[b-2dblurnctc] {
    background: #1a3a5c;
    color: #ffffff;
}

/* ----- Kártya bővítések ----- */
.lead-card-stuck[b-2dblurnctc] {
    border-left: 4px solid #a855f7;
}

.lead-card-overdue[b-2dblurnctc] {
    border-left: 4px solid #ef4444;
}

.lead-card-flags[b-2dblurnctc] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    padding: 0.4rem 1rem 0;
}

.lead-flag[b-2dblurnctc] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
}

.lead-flag-overdue[b-2dblurnctc] {
    background: #fee2e2;
    color: #b91c1c;
    border: 1px solid #fecaca;
}

.lead-flag-today[b-2dblurnctc] {
    background: #fef3c7;
    color: #b45309;
    border: 1px solid #fde68a;
}

.lead-flag-stuck[b-2dblurnctc] {
    background: #f3e8ff;
    color: #6b21a8;
    border: 1px solid #e9d5ff;
}

.lead-flag-activities[b-2dblurnctc] {
    background: #ecfdf5;
    color: #065f46;
    border: 1px solid #bbf7d0;
}

.lead-flag-sm[b-2dblurnctc] {
    font-size: 0.7rem;
    padding: 0.15rem 0.4rem;
}

.lead-card-owner i[b-2dblurnctc] {
    color: #1a3a5c;
}

.lead-card-next-action[b-2dblurnctc] {
    background: #f0f9ff;
    border-radius: 6px;
    padding: 0.3rem 0.5rem;
    color: #075985;
    font-weight: 500;
}

/* ----- Activity timeline a kártyán ----- */
.lead-card-activities[b-2dblurnctc] {
    border-top: 1px dashed #e2e8f0;
    margin-top: 0.5rem;
}

.lead-activity-toggle[b-2dblurnctc] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    width: 100%;
    background: transparent;
    border: none;
    padding: 0.5rem 1rem;
    color: #475569;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    text-align: left;
    transition: background 0.15s ease;
}

.lead-activity-toggle:hover[b-2dblurnctc] {
    background: #f8fafc;
}

.lead-activity-timeline[b-2dblurnctc] {
    padding: 0.5rem 1rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    background: #f8fafc;
}

.lead-activity-add-btn[b-2dblurnctc] {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    background: #1a3a5c;
    color: #ffffff;
    border: none;
    padding: 0.3rem 0.7rem;
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.8rem;
    font-weight: 600;
}

.lead-activity-add-btn:hover[b-2dblurnctc] {
    background: #234a73;
}

.lead-activity-empty[b-2dblurnctc] {
    color: #94a3b8;
    font-style: italic;
    font-size: 0.85rem;
    padding: 0.5rem 0;
}

.lead-activity-item[b-2dblurnctc] {
    display: grid;
    grid-template-columns: 28px 1fr auto;
    gap: 0.5rem;
    align-items: start;
    padding: 0.5rem;
    background: #ffffff;
    border-radius: 6px;
    border: 1px solid #e2e8f0;
}

.lead-activity-icon[b-2dblurnctc] {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #1a3a5c;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
}

.lead-activity-content[b-2dblurnctc] {
    min-width: 0;
}

.lead-activity-meta[b-2dblurnctc] {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.15rem;
    font-size: 0.78rem;
}

.lead-activity-type[b-2dblurnctc] {
    font-weight: 700;
    color: #1a3a5c;
}

.lead-activity-date[b-2dblurnctc] {
    color: #94a3b8;
    font-variant-numeric: tabular-nums;
}

.lead-activity-desc[b-2dblurnctc] {
    color: #334155;
    font-size: 0.85rem;
    white-space: pre-wrap;
    word-break: break-word;
}

.lead-activity-del-btn[b-2dblurnctc] {
    background: transparent;
    border: none;
    color: #94a3b8;
    cursor: pointer;
    padding: 0.2rem;
    transition: color 0.15s ease;
}

.lead-activity-del-btn:hover[b-2dblurnctc] {
    color: #b91c1c;
}

/* ----- Kanban nézet ----- */
.lead-kanban[b-2dblurnctc] {
    display: grid;
    grid-template-columns: repeat(6, minmax(220px, 1fr));
    gap: 0.75rem;
    overflow-x: auto;
    padding-bottom: 0.5rem;
}

.lead-kanban-column[b-2dblurnctc] {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    min-height: 200px;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.lead-kanban-column:hover[b-2dblurnctc] {
    background: #f1f5f9;
    border-color: #cbd5e1;
}

.lead-kanban-col-header[b-2dblurnctc] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.6rem 0.85rem;
    border-radius: 10px 10px 0 0;
    font-weight: 700;
    font-size: 0.9rem;
}

.lead-kanban-col-title[b-2dblurnctc] {
    flex: 1;
}

.lead-kanban-col-count[b-2dblurnctc] {
    background: rgba(255, 255, 255, 0.85);
    color: #1a3a5c;
    padding: 0.1rem 0.5rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 700;
}

.lead-kanban-col-body[b-2dblurnctc] {
    flex: 1;
    padding: 0.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.lead-kanban-card[b-2dblurnctc] {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 0.6rem 0.7rem;
    cursor: grab;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
    transition: transform 0.1s ease, box-shadow 0.1s ease;
    font-size: 0.85rem;
}

.lead-kanban-card:hover[b-2dblurnctc] {
    transform: translateY(-1px);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}

.lead-kanban-card:active[b-2dblurnctc] {
    cursor: grabbing;
}

.lead-kanban-card-header[b-2dblurnctc] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.4rem;
    margin-bottom: 0.4rem;
}

.lead-kanban-name[b-2dblurnctc] {
    font-weight: 700;
    color: #1a3a5c;
    word-break: break-word;
    flex: 1;
}

.lead-badge-sm[b-2dblurnctc] {
    font-size: 0.7rem;
    padding: 0.1rem 0.4rem;
}

.lead-kanban-row[b-2dblurnctc] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    color: #475569;
    font-size: 0.78rem;
    margin-bottom: 0.2rem;
}

.lead-kanban-row i[b-2dblurnctc] {
    color: #94a3b8;
    font-size: 0.85rem;
}

.lead-kanban-value[b-2dblurnctc] {
    font-weight: 700;
    color: #1a3a5c;
}

.lead-kanban-next[b-2dblurnctc] {
    color: #075985;
    font-weight: 600;
}

.lead-kanban-flags[b-2dblurnctc] {
    display: flex;
    gap: 0.25rem;
    margin-top: 0.3rem;
    flex-wrap: wrap;
}

/* ----- Win/Loss modal ----- */
.lead-winloss-panel[b-2dblurnctc] {
    background: #ffffff;
    border-radius: 12px;
    width: 90%;
    max-width: 640px;
    max-height: 85vh;
    overflow: auto;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
}

.lead-winloss-hint[b-2dblurnctc] {
    color: #475569;
    margin: 0 0 1rem 0;
}

.lead-winloss-options[b-2dblurnctc] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.5rem;
}

.lead-winloss-option[b-2dblurnctc] {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 0.6rem 0.85rem;
    cursor: pointer;
    text-align: left;
    font-weight: 600;
    color: #475569;
    transition: all 0.15s ease;
}

.lead-winloss-option:hover[b-2dblurnctc] {
    background: #eff6ff;
    border-color: #93c5fd;
    color: #1a3a5c;
}

.lead-winloss-option.selected[b-2dblurnctc] {
    background: #1a3a5c;
    color: #ffffff;
    border-color: #1a3a5c;
}

/* ----- Activity form modal ----- */
.lead-activity-panel[b-2dblurnctc] {
    background: #ffffff;
    border-radius: 12px;
    width: 90%;
    max-width: 600px;
    max-height: 85vh;
    overflow: auto;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
}

/* ----- Reszponzív ----- */
@media (max-width: 1100px) {
    .lead-funnel-row[b-2dblurnctc] {
        grid-template-columns: 100px 1fr 100px;
    }

    .lead-funnel-conv[b-2dblurnctc],
    .lead-funnel-conv-empty[b-2dblurnctc],
    .lead-funnel-days[b-2dblurnctc],
    .lead-funnel-days-empty[b-2dblurnctc] {
        display: none;
    }

    .lead-kanban[b-2dblurnctc] {
        grid-template-columns: repeat(6, 240px);
    }
}
/* /Components/Pages/Login/LoginComponent.razor.rz.scp.css */
.login-container[b-1hr60r1ysx] {
    display: flex;
    min-height: 100vh;
    background-color: #f8fafc;
    position: relative;
    overflow: hidden;
}

/* Bal oldali (form) szekció — enterprise navy háttér, a fehér card "úszik" rajta */
.login-box[b-1hr60r1ysx] {
    width: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    position: relative;
    z-index: 2;
    background: linear-gradient(135deg, #0f2540 0%, #1a3a5c 50%, #1e4673 100%);
}

.login-content[b-1hr60r1ysx] {
    background-color: white;
    border-radius: 1rem;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    padding: 2.5rem;
    width: 100%;
    max-width: 500px;
    position: relative;
    overflow: hidden;
    transition: all 0.3s ease;
}

    /* Hover-on csak a shadow erősödik finoman — a panel NEM mozdul el (a user gépelés közben nem ugrálhat a form) */
    .login-content:hover[b-1hr60r1ysx] {
        box-shadow: 0 25px 30px -5px rgba(0, 0, 0, 0.15), 0 10px 15px -5px rgba(0, 0, 0, 0.08);
    }

.login-header[b-1hr60r1ysx] {
    margin-bottom: 2rem;
}

.login-title[b-1hr60r1ysx] {
    font-size: 2rem;
    font-weight: 700;
    color: #1e293b;
    margin-bottom: 0.5rem;
}

.login-subtitle[b-1hr60r1ysx] {
    color: #64748b;
    font-size: 1rem;
}

.form-group[b-1hr60r1ysx] {
    margin-bottom: 1.5rem;
}

.w-100[b-1hr60r1ysx] {
    width: 100%;
}

.ml-2[b-1hr60r1ysx] {
    margin-left: 0.5rem;
}

/* Radzen form control styling */
[b-1hr60r1ysx] .form-control {
    padding: 0.75rem 1rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.5rem;
    font-size: 1rem;
    transition: all 0.2s ease;
}

    [b-1hr60r1ysx] .form-control:focus {
        outline: none;
        border-color: #06b6d4;
        box-shadow: 0 0 0 3px rgba(6, 182, 212, 0.2);
    }

[b-1hr60r1ysx] .rz-textbox,
[b-1hr60r1ysx] .rz-password {
    width: 100%;
}

.remember-me[b-1hr60r1ysx] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5rem;
}

.remember-checkbox[b-1hr60r1ysx] {
    display: flex;
    align-items: center;
}

[b-1hr60r1ysx] .rz-chkbox {
    width: 18px;
    height: 18px;
}

[b-1hr60r1ysx] .rz-chkbox-box {
    width: 18px;
    height: 18px;
    border-radius: 4px;
    border: 1px solid #cbd5e1;
}

    [b-1hr60r1ysx] .rz-chkbox-box.rz-state-active {
        background-color: #06b6d4;
        border-color: #06b6d4;
    }

.forgot-password[b-1hr60r1ysx] {
    color: #06b6d4;
    font-size: 0.9rem;
    text-decoration: none;
    transition: color 0.2s ease;
}

    .forgot-password:hover[b-1hr60r1ysx] {
        color: #0891b2;
        text-decoration: underline;
    }

/* Login button */
[b-1hr60r1ysx] .login-button {
    background: linear-gradient(to right, #06b6d4, #0891b2) !important;
    color: white !important;
    border: none !important;
    border-radius: 0.5rem !important;
    padding: 0.875rem !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}

    [b-1hr60r1ysx] .login-button:hover {
        transform: translateY(-2px);
        box-shadow: 0 10px 15px -3px rgba(6, 182, 212, 0.3) !important;
    }

[b-1hr60r1ysx] .rz-button-text {
    font-weight: 600;
}

/* Validation */
[b-1hr60r1ysx] .rz-message-popup {
    background-color: #ef4444;
    color: white;
    border: none;
    border-radius: 0.25rem;
    padding: 0.5rem 0.75rem;
    font-size: 0.8rem;
}

    [b-1hr60r1ysx] .rz-message-popup:before {
        border-bottom-color: #ef4444;
    }

/* ===== Login footer — regisztrációs CTA hangsúlyos zöld accent kerettel ===== */
.login-footer[b-1hr60r1ysx] {
    margin-top: 2rem;
    padding: 16px 20px;
    text-align: center;
    color: #475569;
    font-size: 0.98rem;
    background: rgba(16, 185, 129, 0.06);
    border: 1px solid rgba(16, 185, 129, 0.30);
    border-radius: 12px;
}

    .login-footer p[b-1hr60r1ysx] {
        margin: 0;
    }

    .login-footer a[b-1hr60r1ysx] {
        color: #10b981;
        text-decoration: none;
        font-weight: 700;
        font-size: 1.05rem;
        transition: all 0.2s ease;
        margin-left: 6px;
        display: inline-flex;
        align-items: center;
        gap: 4px;
    }

        .login-footer a[b-1hr60r1ysx]::after {
            content: '→';
            transition: transform 0.2s ease;
        }

        .login-footer a:hover[b-1hr60r1ysx] {
            color: #059669;
            text-decoration: underline;
        }

        .login-footer a:hover[b-1hr60r1ysx]::after {
            transform: translateX(3px);
        }

/* ===== Bejelentkezés gomb középre rendezve ===== */
.login-form[b-1hr60r1ysx]  .rz-button {
    display: block !important;
    width: auto !important;
    min-width: 240px;
    margin: 0 auto !important;
}

/* Decorative elements */
.login-decoration[b-1hr60r1ysx] {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: -1;
}

.decoration-circle[b-1hr60r1ysx] {
    position: absolute;
    border-radius: 50%;
    opacity: 0.05;
}

.circle-1[b-1hr60r1ysx] {
    width: 200px;
    height: 200px;
    background-color: #06b6d4;
    top: -100px;
    left: -100px;
}

.circle-2[b-1hr60r1ysx] {
    width: 150px;
    height: 150px;
    background-color: #0891b2;
    bottom: -50px;
    right: -50px;
}

.circle-3[b-1hr60r1ysx] {
    width: 100px;
    height: 100px;
    background-color: #0e7490;
    bottom: 50px;
    left: 30px;
}

/* Jobb oldali (logós) szekció — tiszta fehér háttér a logó mögött */
.login-image[b-1hr60r1ysx] {
    position: absolute;
    top: 0;
    right: 0;
    width: 55%;
    height: 100%;
    background-color: #ffffff;
    background-image: none;
    clip-path: polygon(15% 0, 100% 0, 100% 100%, 0% 100%);
    /* Finom belső szín-akcentus a navy oldal felé */
    box-shadow: inset 80px 0 120px -80px rgba(15, 37, 64, 0.08);
}

.overlay[b-1hr60r1ysx] {
    /* Az overlay-t halvány, alig látható tonal-shifthez használjuk —
       a fehér háttér megmarad, csak épp egy enyhe vízjel */
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(248, 250, 252, 0.6), rgba(241, 245, 249, 0.3));
    pointer-events: none;
}

/* Floating elements */
.floating-elements[b-1hr60r1ysx] {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
}

.floating-element[b-1hr60r1ysx] {
    position: absolute;
    background-color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    animation: float-b-1hr60r1ysx 3s ease-in-out infinite;
}

.element-1[b-1hr60r1ysx] {
    top: 20%;
    right: 15%;
    width: 60px;
    height: 60px;
    color: #06b6d4;
}

.element-2[b-1hr60r1ysx] {
    top: 60%;
    right: 25%;
    width: 50px;
    height: 50px;
    color: #0891b2;
    animation-delay: 0.5s;
}

.element-3[b-1hr60r1ysx] {
    top: 40%;
    right: 10%;
    width: 45px;
    height: 45px;
    color: #0e7490;
    animation-delay: 1s;
}

@keyframes float-b-1hr60r1ysx {
    0%, 100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-15px);
    }
}

/* Responsive styles */
@media (max-width: 992px) {
    .login-box[b-1hr60r1ysx] {
        width: 100%;
        padding: 2rem 1.5rem;
    }

    .login-image[b-1hr60r1ysx] {
        width: 100%;
        clip-path: none;
        opacity: 0.1;
    }

    .floating-element[b-1hr60r1ysx] {
        display: none;
    }
}

@media (max-width: 576px) {
    .login-content[b-1hr60r1ysx] {
        padding: 1.5rem;
    }

    .login-title[b-1hr60r1ysx] {
        font-size: 1.75rem;
    }
}

/* ===== AlionOS brand a login fejlécben (bal oldal, csak logó, középre) ===== */
.login-brand[b-1hr60r1ysx] {
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    margin-bottom: 24px;
    line-height: 0;
}

.login-brand-logo[b-1hr60r1ysx] {
    height: 144px;
    width: auto;
    object-fit: contain;
}

/* ===== AlionOS brand a jobb oldali képes szekcióban (nagy, teljes brand) ===== */
.login-image-brand[b-1hr60r1ysx] {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 80%;
    pointer-events: auto;
}

.login-image-brand-link[b-1hr60r1ysx] {
    display: block;
    text-decoration: none;
    line-height: 0;
}

.login-image-brand-logo[b-1hr60r1ysx] {
    max-width: 100%;
    max-height: 60vh;
    width: auto;
    height: auto;
    object-fit: contain;
    /* Háttér beolvasztás — a PNG esetleges fehér/halvány szegélye eltűnik a fehér oldali háttéren,
       csak a logó sötét tartalmi részei maradnak láthatók. Árnyék nincs. */
    mix-blend-mode: multiply;
    background-color: transparent;
}

/* Mobilon (a login-image opacity 0.1 fall-back miatt) a nagy logót elrejtjük */
@media (max-width: 992px) {
    .login-image-brand[b-1hr60r1ysx] {
        display: none;
    }
}

/* ==================== 2FA challenge ==================== */
.login-2fa[b-1hr60r1ysx] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

.login-2fa-icon[b-1hr60r1ysx] {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: linear-gradient(135deg, #1a3a5c 0%, #2563eb 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 2rem;
}

.login-2fa-title[b-1hr60r1ysx] {
    font-size: 1.4rem;
    font-weight: 700;
    color: #1a3a5c;
    margin: 0;
}

.login-2fa-subtitle[b-1hr60r1ysx] {
    color: #64748b;
    font-size: 0.9rem;
    text-align: center;
    margin: 0 0 0.5rem 0;
}

.login-2fa-code[b-1hr60r1ysx] {
    width: 100%;
    padding: 14px 16px;
    border: 2px solid #cbd5e1;
    border-radius: 8px;
    font-size: 1.6rem;
    text-align: center;
    letter-spacing: 0.4em;
    font-family: 'Courier New', monospace;
    color: #1a3a5c;
    font-weight: 700;
}

    .login-2fa-code:focus[b-1hr60r1ysx] {
        outline: none;
        border-color: #2563eb;
        box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
    }

.login-2fa-cancel[b-1hr60r1ysx] {
    margin-top: 0.75rem;
}

    .login-2fa-cancel a[b-1hr60r1ysx] {
        color: #64748b;
        font-size: 0.85rem;
        text-decoration: none;
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
    }

        .login-2fa-cancel a:hover[b-1hr60r1ysx] {
            color: #1a3a5c;
        }

/* ==================== SSO gombok ==================== */
.sso-divider[b-1hr60r1ysx] {
    display: flex;
    align-items: center;
    text-align: center;
    color: #94a3b8;
    font-size: 0.8rem;
    margin: 1.25rem 0 0.5rem;
}

    .sso-divider[b-1hr60r1ysx]::before,
    .sso-divider[b-1hr60r1ysx]::after {
        content: '';
        flex: 1;
        height: 1px;
        background: #e2e8f0;
    }

    .sso-divider span[b-1hr60r1ysx] {
        padding: 0 0.75rem;
        text-transform: uppercase;
        letter-spacing: 0.1em;
    }

.sso-buttons[b-1hr60r1ysx] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.sso-btn[b-1hr60r1ysx] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    padding: 0.65rem 1rem;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #ffffff;
    color: #1e293b;
    font-size: 0.9rem;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.15s;
}

    .sso-btn:hover[b-1hr60r1ysx] {
        background: #f8fafc;
        border-color: #94a3b8;
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
    }

    .sso-btn i[b-1hr60r1ysx] {
        font-size: 1.2rem;
    }

.sso-btn-google i[b-1hr60r1ysx] {
    color: #ea4335;
}

.sso-btn-microsoft i[b-1hr60r1ysx] {
    color: #0078d4;
}

.sso-btn-facebook i[b-1hr60r1ysx] {
    color: #1877f2;
}

/* ===== Email megerősítés szükséges blokk ===== */

.login-email-confirm[b-1hr60r1ysx] {
    text-align: center;
}

.login-confirm-icon[b-1hr60r1ysx] {
    margin-bottom: 12px;
}

.login-confirm-icon i[b-1hr60r1ysx] {
    font-size: 3rem;
    color: #d97706;
}

.login-confirm-title[b-1hr60r1ysx] {
    font-size: 1.2rem;
    font-weight: 600;
    color: #0f172a;
    margin: 0 0 10px 0;
}

.login-confirm-text[b-1hr60r1ysx] {
    font-size: 0.92rem;
    color: #475569;
    margin: 0 0 16px 0;
    line-height: 1.5;
}

.login-confirm-email[b-1hr60r1ysx] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    color: #1e3a8a;
    font-size: 0.95rem;
    font-weight: 600;
    margin-bottom: 14px;
}

.login-confirm-email i[b-1hr60r1ysx] {
    font-size: 1.1rem;
    color: #3b82f6;
}

.login-confirm-hint[b-1hr60r1ysx] {
    font-size: 0.82rem;
    color: #94a3b8;
    margin: 0 0 18px 0;
    font-style: italic;
}

.login-confirm-resend[b-1hr60r1ysx] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 12px 20px;
    background: #1e3a8a;
    color: #ffffff;
    border: none;
    border-radius: 8px;
    font-size: 0.92rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s;
}

.login-confirm-resend:hover:not(:disabled)[b-1hr60r1ysx] {
    background: #1e40af;
}

.login-confirm-resend:disabled[b-1hr60r1ysx] {
    opacity: 0.6;
    cursor: not-allowed;
}

.login-confirm-back[b-1hr60r1ysx] {
    margin-top: 16px;
}

.login-confirm-back a[b-1hr60r1ysx] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #64748b;
    font-size: 0.88rem;
    text-decoration: none;
    transition: color 0.15s;
}

.login-confirm-back a:hover[b-1hr60r1ysx] {
    color: #1e3a8a;
}
/* /Components/Pages/NavIntegration/NavIntegrationComponent.razor.rz.scp.css */
/* NAV integráció oldal — navy/enterprise megjelenés */

.ni-container[b-tt2ibza1sp] {
    max-width: 1400px;
    margin: 0 auto;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.ni-header[b-tt2ibza1sp] {
    padding-bottom: 14px;
    border-bottom: 2px solid #e5e7eb;
}

.ni-title[b-tt2ibza1sp] {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 1.5rem;
    font-weight: 600;
    color: #0f172a;
    margin: 0 0 6px 0;
}

.ni-title i[b-tt2ibza1sp] {
    color: #1e3a8a;
}

.ni-subtitle[b-tt2ibza1sp] {
    color: #64748b;
    margin: 0;
    font-size: 0.95rem;
}

/* ===== Upgrade lock box ===== */
.ni-upgrade-box[b-tt2ibza1sp] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 48px 24px;
    background: linear-gradient(135deg, #fef9c3 0%, #fef3c7 100%);
    border: 1px solid #fde68a;
    border-radius: 12px;
    text-align: center;
}

.ni-upgrade-box i[b-tt2ibza1sp] {
    font-size: 2.5rem;
    color: #b45309;
}

.ni-upgrade-box h3[b-tt2ibza1sp] {
    font-size: 1.2rem;
    font-weight: 600;
    color: #78350f;
    margin: 0;
}

.ni-upgrade-box p[b-tt2ibza1sp] {
    color: #92400e;
    margin: 0 0 10px 0;
    max-width: 560px;
}

/* ===== Kártyák ===== */
.ni-card[b-tt2ibza1sp] {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.04), 0 8px 16px rgba(15, 23, 42, 0.06);
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.ni-card-header[b-tt2ibza1sp] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-bottom: 12px;
    border-bottom: 1px solid #e5e7eb;
    font-size: 1.05rem;
    font-weight: 600;
    color: #1e3a8a;
}

.ni-card-header i[b-tt2ibza1sp] {
    font-size: 1.25rem;
}

.ni-count-badge[b-tt2ibza1sp] {
    background: #1e3a8a;
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 2px 10px;
    border-radius: 10px;
    margin-left: 10px;
}

/* ===== Mezők ===== */
.ni-fields[b-tt2ibza1sp] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 14px;
}

.ni-field[b-tt2ibza1sp] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ni-field label[b-tt2ibza1sp] {
    font-size: 0.82rem;
    font-weight: 500;
    color: #334155;
    display: flex;
    align-items: center;
    gap: 4px;
}

.ni-required[b-tt2ibza1sp] {
    color: #dc2626;
    font-weight: 700;
}

.ni-input[b-tt2ibza1sp] {
    padding: 8px 10px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    font-size: 0.9rem;
    background: #ffffff;
    color: #0f172a;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.ni-input:focus[b-tt2ibza1sp] {
    outline: none;
    border-color: #1e3a8a;
    box-shadow: 0 0 0 3px rgba(30, 58, 138, 0.15);
}

.ni-input:disabled[b-tt2ibza1sp] {
    background: #f8fafc;
    color: #94a3b8;
}

.ni-field-toggle label[b-tt2ibza1sp] {
    flex-direction: row;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    padding-top: 20px;
}

.ni-field-toggle input[type="checkbox"][b-tt2ibza1sp] {
    width: 18px;
    height: 18px;
    accent-color: #1e3a8a;
    cursor: pointer;
}

.ni-saved-tag[b-tt2ibza1sp] {
    background: #dcfce7;
    color: #166534;
    font-size: 0.7rem;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 10px;
    margin-left: 6px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

/* ===== Státusz blokk ===== */
.ni-status[b-tt2ibza1sp] {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 0.9rem;
    color: #0f172a;
}

.ni-status i[b-tt2ibza1sp] {
    color: #1e3a8a;
    margin-right: 6px;
}

.ni-status-msg[b-tt2ibza1sp] {
    font-size: 0.82rem;
    color: #64748b;
    padding-left: 24px;
    font-style: italic;
}

/* ===== Akciógombok ===== */
.ni-actions[b-tt2ibza1sp] {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    padding-top: 6px;
}

.ni-btn[b-tt2ibza1sp] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 16px;
    border-radius: 6px;
    font-size: 0.9rem;
    font-weight: 500;
    cursor: pointer;
    border: none;
    transition: background 0.15s, transform 0.1s;
}

.ni-btn-primary[b-tt2ibza1sp] {
    background: #1e3a8a;
    color: #ffffff;
}

.ni-btn-primary:hover:not(:disabled)[b-tt2ibza1sp] {
    background: #1e40af;
}

.ni-btn-secondary[b-tt2ibza1sp] {
    background: #ffffff;
    color: #1e3a8a;
    border: 1px solid #cbd5e1;
}

.ni-btn-secondary:hover:not(:disabled)[b-tt2ibza1sp] {
    background: #f1f5f9;
    border-color: #1e3a8a;
}

.ni-btn-success[b-tt2ibza1sp] {
    background: #16a34a;
    color: #ffffff;
}

.ni-btn-success:hover:not(:disabled)[b-tt2ibza1sp] {
    background: #15803d;
}

.ni-btn:disabled[b-tt2ibza1sp] {
    opacity: 0.55;
    cursor: not-allowed;
}

.ni-btn:active:not(:disabled)[b-tt2ibza1sp] {
    transform: translateY(1px);
}

/* ===== Loading / empty ===== */
.ni-loading[b-tt2ibza1sp] {
    display: flex;
    justify-content: center;
    padding: 32px;
}

.ni-empty[b-tt2ibza1sp] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 32px;
    color: #64748b;
}

.ni-empty i[b-tt2ibza1sp] {
    font-size: 2rem;
}

/* ===== Számla táblázat ===== */
.ni-table-wrapper[b-tt2ibza1sp] {
    overflow-x: auto;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #ffffff;
}

.ni-table[b-tt2ibza1sp] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.88rem;
}

.ni-table thead[b-tt2ibza1sp] {
    background: #f8fafc;
    border-bottom: 2px solid #e2e8f0;
}

.ni-table thead th[b-tt2ibza1sp] {
    padding: 10px 12px;
    text-align: left;
    font-weight: 600;
    color: #1e3a8a;
    text-transform: uppercase;
    font-size: 0.72rem;
    letter-spacing: 0.04em;
    white-space: nowrap;
}

.ni-table tbody tr[b-tt2ibza1sp] {
    border-bottom: 1px solid #f1f5f9;
}

.ni-table tbody tr:hover[b-tt2ibza1sp] {
    background: #f8fafc;
}

.ni-table tbody td[b-tt2ibza1sp] {
    padding: 10px 12px;
    color: #0f172a;
    vertical-align: middle;
}

.ni-col-num[b-tt2ibza1sp] {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.ni-dir[b-tt2ibza1sp] {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.ni-dir-in[b-tt2ibza1sp] {
    background: #fee2e2;
    color: #991b1b;
}

.ni-dir-out[b-tt2ibza1sp] {
    background: #dcfce7;
    color: #166534;
}

/* ===== Batch import + egyedi import gombok ===== */
.ni-batch-actions[b-tt2ibza1sp] {
    display: flex;
    justify-content: flex-end;
    padding-bottom: 12px;
    gap: 10px;
    flex-wrap: wrap;
}

.ni-unmapped-count[b-tt2ibza1sp] {
    font-size: 0.8rem;
    opacity: 0.85;
    margin-left: 4px;
}

.ni-btn-row[b-tt2ibza1sp] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    font-size: 0.82rem;
    font-weight: 500;
    border: 1px solid #1e3a8a;
    background: #ffffff;
    color: #1e3a8a;
    border-radius: 5px;
    cursor: pointer;
    transition: background 0.15s;
}

.ni-btn-row:hover:not(:disabled)[b-tt2ibza1sp] {
    background: #eff6ff;
}

.ni-btn-row:disabled[b-tt2ibza1sp] {
    opacity: 0.5;
    cursor: not-allowed;
}

.ni-btn-row i[b-tt2ibza1sp] {
    font-size: 0.95rem;
}

.ni-imported[b-tt2ibza1sp] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.82rem;
    color: #166534;
    font-weight: 600;
}

.ni-imported i[b-tt2ibza1sp] {
    color: #16a34a;
}

.ni-not-imported[b-tt2ibza1sp] {
    color: #94a3b8;
}

.ni-zero-skipped[b-tt2ibza1sp] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.82rem;
    color: #92400e;
    background: #fef3c7;
    border: 1px solid #fde68a;
    padding: 3px 8px;
    border-radius: 4px;
    font-weight: 500;
    cursor: help;
}

.ni-zero-skipped i[b-tt2ibza1sp] {
    color: #b45309;
}

/* ===== PENDING: Partner-választás ===== */
.ni-btn-pending[b-tt2ibza1sp] {
    background: #fef3c7;
    color: #92400e;
    border: 1px solid #fde68a;
}

.ni-btn-pending:hover:not(:disabled)[b-tt2ibza1sp] {
    background: #fde68a;
}

.ni-partner-picker[b-tt2ibza1sp] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 260px;
}

.ni-picker-select[b-tt2ibza1sp] {
    min-width: 220px;
    max-width: 320px;
    font-size: 0.85rem;
}

.ni-picker-actions[b-tt2ibza1sp] {
    display: flex;
    gap: 4px;
}

.ni-btn-success-small[b-tt2ibza1sp] {
    background: #16a34a;
    color: #ffffff;
    border-color: #16a34a;
}

.ni-btn-success-small:hover:not(:disabled)[b-tt2ibza1sp] {
    background: #15803d;
    border-color: #15803d;
}

.ni-ai-reason[b-tt2ibza1sp] {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    padding: 6px 8px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 4px;
    font-size: 0.78rem;
    color: #1e3a8a;
    font-style: italic;
}

.ni-ai-reason i[b-tt2ibza1sp] {
    flex-shrink: 0;
    color: #3b82f6;
}

.ni-ai-badge[b-tt2ibza1sp] {
    display: inline-block;
    background: #dbeafe;
    color: #1e3a8a;
    font-size: 0.68rem;
    font-weight: 600;
    padding: 1px 6px;
    border-radius: 10px;
    margin-left: 6px;
}

/* ===== Import hibák listája ===== */
.ni-import-errors[b-tt2ibza1sp] {
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 8px;
    padding: 14px 16px;
    margin-top: 12px;
    font-size: 0.88rem;
    color: #7f1d1d;
}

.ni-import-errors-title[b-tt2ibza1sp] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    color: #991b1b;
    margin-bottom: 8px;
}

.ni-import-errors-title i[b-tt2ibza1sp] {
    font-size: 1.1rem;
}

.ni-import-errors ul[b-tt2ibza1sp] {
    margin: 0;
    padding-left: 20px;
    list-style: disc;
}

.ni-import-errors li[b-tt2ibza1sp] {
    padding: 2px 0;
    word-break: break-word;
}

.ni-import-errors-hint[b-tt2ibza1sp] {
    margin: 8px 0 0 0;
    font-size: 0.8rem;
    color: #991b1b;
    font-style: italic;
}

/* ===== Sync intervallum + progress ===== */
.ni-sync-period[b-tt2ibza1sp] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 0;
    flex-wrap: wrap;
}

.ni-sync-period label[b-tt2ibza1sp] {
    font-size: 0.88rem;
    font-weight: 600;
    color: #1e3a8a;
    white-space: nowrap;
}

.ni-sync-period select[b-tt2ibza1sp] {
    min-width: 240px;
    max-width: 360px;
}

.ni-sync-progress[b-tt2ibza1sp],
.ni-import-progress[b-tt2ibza1sp] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    padding: 12px 14px;
    margin-top: 10px;
    font-size: 0.9rem;
    color: #1e3a8a;
}

.ni-sync-progress-header[b-tt2ibza1sp],
.ni-import-progress-header[b-tt2ibza1sp] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.ni-sync-progress i[b-tt2ibza1sp],
.ni-import-progress i[b-tt2ibza1sp] {
    font-size: 1.1rem;
    animation: ni-spin-b-tt2ibza1sp 1.5s linear infinite;
}

@keyframes ni-spin-b-tt2ibza1sp {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* Progress bar sáv (sync + import közös stílus) */
.ni-progress-bar[b-tt2ibza1sp] {
    width: 100%;
    height: 10px;
    background: #dbeafe;
    border-radius: 5px;
    overflow: hidden;
    box-shadow: inset 0 1px 2px rgba(30, 58, 138, 0.1);
}

.ni-progress-bar-fill[b-tt2ibza1sp] {
    height: 100%;
    background: linear-gradient(90deg, #1e3a8a 0%, #3b82f6 100%);
    border-radius: 5px;
    transition: width 0.3s ease-out;
    box-shadow: 0 0 4px rgba(59, 130, 246, 0.5);
}

/* Dropdown jelzés — jobb felső menü lock ikon */
[b-tt2ibza1sp] .cf-dropdown-locked {
    opacity: 0.85;
}

[b-tt2ibza1sp] .cf-dropdown-locked i.cf-dropdown-lock {
    color: #b45309;
    margin-left: auto;
}

/* ===== Expand / Részletek ===== */
.ni-col-expand[b-tt2ibza1sp] {
    width: 36px;
    text-align: center;
}

.ni-btn-expand[b-tt2ibza1sp] {
    background: transparent;
    border: none;
    color: #64748b;
    cursor: pointer;
    padding: 4px 6px;
    border-radius: 4px;
    transition: background 0.15s, color 0.15s;
}

.ni-btn-expand:hover[b-tt2ibza1sp] {
    background: #f1f5f9;
    color: #1e3a8a;
}

.ni-details-row > td[b-tt2ibza1sp] {
    padding: 0 !important;
    background: #f8fafc;
    border-top: 1px dashed #cbd5e1;
}

.ni-details-block[b-tt2ibza1sp] {
    padding: 14px 18px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ni-details-grid[b-tt2ibza1sp] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 10px;
}

.ni-details-field[b-tt2ibza1sp] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.ni-details-field label[b-tt2ibza1sp] {
    font-size: 0.72rem;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 600;
}

.ni-details-field span[b-tt2ibza1sp] {
    font-size: 0.88rem;
    color: #0f172a;
    font-weight: 500;
}

.ni-details-section[b-tt2ibza1sp] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding-top: 8px;
    border-top: 1px solid #e2e8f0;
}

.ni-details-section label[b-tt2ibza1sp] {
    font-size: 0.78rem;
    color: #1e3a8a;
    font-weight: 600;
}

.ni-details-text[b-tt2ibza1sp] {
    font-size: 0.88rem;
    color: #0f172a;
    white-space: pre-wrap;
    word-break: break-word;
    padding: 6px 10px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 4px;
}

.ni-details-ai label[b-tt2ibza1sp] {
    color: #1e40af;
}

.ni-details-fetch[b-tt2ibza1sp] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 12px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 6px;
}

.ni-details-fetch.ni-details-empty[b-tt2ibza1sp] {
    background: #fffbeb;
    border-color: #fde68a;
}

.ni-details-fetch.ni-details-empty .ni-details-hint[b-tt2ibza1sp] {
    color: #92400e;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.ni-details-hint[b-tt2ibza1sp] {
    margin: 0;
    color: #1e3a8a;
    font-size: 0.85rem;
}

.ni-btn-primary-small[b-tt2ibza1sp] {
    background: #1e3a8a;
    color: #ffffff;
    border-color: #1e3a8a;
}

.ni-btn-primary-small:hover:not(:disabled)[b-tt2ibza1sp] {
    background: #1e40af;
}

.ni-btn-link-income[b-tt2ibza1sp] {
    background: #fef3c7;
    color: #92400e;
    border-color: #fde68a;
}

.ni-btn-link-income:hover:not(:disabled)[b-tt2ibza1sp] {
    background: #fde68a;
}

/* ===== Számla szűrősor (irány + partner) ===== */
.ni-filter-bar[b-tt2ibza1sp] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 16px;
    padding: 12px 16px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    margin: 8px 0 12px 0;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.ni-filter-group[b-tt2ibza1sp] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.ni-filter-group-grow[b-tt2ibza1sp] {
    flex: 1 1 240px;
}

.ni-filter-label[b-tt2ibza1sp] {
    font-size: 0.75rem;
    font-weight: 600;
    color: #475569;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.ni-filter-toggle[b-tt2ibza1sp] {
    display: inline-flex;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 1px 1px rgba(15, 23, 42, 0.04);
}

.ni-filter-btn[b-tt2ibza1sp] {
    background: #ffffff;
    color: #334155;
    border: none;
    padding: 6px 14px;
    font-size: 0.85rem;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
    border-right: 1px solid #e2e8f0;
}

.ni-filter-btn:last-child[b-tt2ibza1sp] {
    border-right: none;
}

.ni-filter-btn:hover:not(.active)[b-tt2ibza1sp] {
    background: #f1f5f9;
}

.ni-filter-btn.active[b-tt2ibza1sp] {
    background: #1e3a8a;
    color: #ffffff;
    font-weight: 600;
}

.ni-filter-input-wrapper[b-tt2ibza1sp] {
    position: relative;
    display: flex;
    align-items: center;
}

.ni-filter-input-icon[b-tt2ibza1sp] {
    position: absolute;
    left: 10px;
    color: #94a3b8;
    font-size: 1rem;
    pointer-events: none;
}

.ni-filter-input[b-tt2ibza1sp] {
    padding-left: 32px;
    width: 100%;
    height: 34px;
}

.ni-filter-clear-btn[b-tt2ibza1sp] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #ffffff;
    color: #b91c1c;
    border: 1px solid #fecaca;
    border-radius: 6px;
    padding: 6px 12px;
    font-size: 0.85rem;
    font-weight: 500;
    cursor: pointer;
    height: 34px;
    transition: background 0.15s ease;
}

.ni-filter-clear-btn:hover[b-tt2ibza1sp] {
    background: #fef2f2;
}

/* ===== Import preview modal ===== */
.ni-import-preview-overlay[b-tt2ibza1sp] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    padding: 24px;
    backdrop-filter: blur(2px);
}

.ni-import-preview-panel[b-tt2ibza1sp] {
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.35);
    width: 100%;
    max-width: 1500px;
    max-height: calc(100vh - 48px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.ni-import-preview-header[b-tt2ibza1sp] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 20px;
    background: #1e3a8a;
    color: #ffffff;
}

.ni-import-preview-title-block[b-tt2ibza1sp] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.ni-import-preview-title-block i[b-tt2ibza1sp] {
    font-size: 1.2rem;
}

.ni-import-preview-title[b-tt2ibza1sp] {
    font-size: 1.05rem;
    font-weight: 600;
    margin: 0;
}

.ni-import-preview-count[b-tt2ibza1sp] {
    background: rgba(255, 255, 255, 0.18);
    padding: 2px 10px;
    border-radius: 12px;
    font-size: 0.8rem;
    margin-left: 8px;
}

.ni-import-preview-toolbar[b-tt2ibza1sp] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 20px;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
    flex-wrap: wrap;
}

.ni-import-preview-hint[b-tt2ibza1sp] {
    margin: 0 0 0 auto;
    color: #475569;
    font-size: 0.82rem;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.ni-import-preview-table-wrapper[b-tt2ibza1sp] {
    flex: 1 1 auto;
    overflow: auto;
    padding: 0 20px 12px 20px;
}

.ni-import-preview-table[b-tt2ibza1sp] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.85rem;
}

.ni-import-preview-table thead th[b-tt2ibza1sp] {
    background: #f1f5f9;
    color: #1e293b;
    font-weight: 600;
    text-align: left;
    padding: 8px 10px;
    border-bottom: 2px solid #cbd5e1;
    position: sticky;
    top: 0;
    z-index: 1;
    white-space: nowrap;
}

.ni-import-preview-table tbody td[b-tt2ibza1sp] {
    padding: 8px 10px;
    border-bottom: 1px solid #e2e8f0;
    vertical-align: middle;
}

.ni-import-preview-table tbody tr:hover[b-tt2ibza1sp] {
    background: #f8fafc;
}

.ni-import-preview-row-skipped[b-tt2ibza1sp] {
    opacity: 0.55;
    background: #f1f5f9;
}

.ni-import-preview-row-dup[b-tt2ibza1sp] {
    background: #fffbeb;
}

.ni-col-check[b-tt2ibza1sp] {
    width: 50px;
    text-align: center;
}

.ni-import-preview-partner-nav[b-tt2ibza1sp] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.ni-import-preview-partner-nav small[b-tt2ibza1sp] {
    color: #64748b;
    font-size: 0.75rem;
}

.ni-import-preview-select[b-tt2ibza1sp] {
    min-width: 180px;
    height: 30px;
    padding: 2px 6px;
}

.ni-import-preview-na[b-tt2ibza1sp] {
    color: #94a3b8;
}

.ni-import-preview-match[b-tt2ibza1sp] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    align-items: flex-start;
}

.ni-import-preview-confidence[b-tt2ibza1sp] {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.ni-conf-exact[b-tt2ibza1sp] {
    background: #dcfce7;
    color: #166534;
}

.ni-conf-high[b-tt2ibza1sp] {
    background: #dbeafe;
    color: #1e40af;
}

.ni-conf-medium[b-tt2ibza1sp] {
    background: #fef3c7;
    color: #92400e;
}

.ni-conf-low[b-tt2ibza1sp] {
    background: #fee2e2;
    color: #991b1b;
}

.ni-conf-none[b-tt2ibza1sp] {
    background: #e2e8f0;
    color: #475569;
}

.ni-import-preview-reason[b-tt2ibza1sp] {
    color: #64748b;
    font-size: 0.75rem;
    font-style: italic;
}

.ni-import-preview-dup-badge[b-tt2ibza1sp] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #b45309;
    font-size: 0.75rem;
}

.ni-import-preview-footer[b-tt2ibza1sp] {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 12px 20px;
    background: #f8fafc;
    border-top: 1px solid #e2e8f0;
}

/* ===== Duplikátum kezelés cella ===== */
.ni-dup-block[b-tt2ibza1sp] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 220px;
}

.ni-dup-warning[b-tt2ibza1sp] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #92400e;
    font-size: 0.78rem;
    font-weight: 600;
}

.ni-dup-warning i[b-tt2ibza1sp] {
    color: #d97706;
}

.ni-dup-info[b-tt2ibza1sp] {
    color: #64748b;
    font-size: 0.74rem;
    font-style: italic;
}

.ni-dup-action-toggle[b-tt2ibza1sp] {
    display: inline-flex;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 1px 1px rgba(15, 23, 42, 0.04);
}

.ni-dup-btn[b-tt2ibza1sp] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: #ffffff;
    color: #334155;
    border: none;
    border-right: 1px solid #e2e8f0;
    padding: 4px 10px;
    font-size: 0.78rem;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
}

.ni-dup-btn:last-child[b-tt2ibza1sp] {
    border-right: none;
}

.ni-dup-btn:hover:not(.active):not(:disabled)[b-tt2ibza1sp] {
    background: #f1f5f9;
}

.ni-dup-btn.active[b-tt2ibza1sp] {
    background: #1e3a8a;
    color: #ffffff;
    font-weight: 600;
}

.ni-dup-btn:disabled[b-tt2ibza1sp] {
    opacity: 0.5;
    cursor: not-allowed;
}

.ni-icon-include[b-tt2ibza1sp] {
    color: #16a34a;
    font-size: 1.1rem;
}

.ni-icon-exclude[b-tt2ibza1sp] {
    color: #b45309;
    font-size: 1.1rem;
}

.ni-import-preview-loading[b-tt2ibza1sp] {
    background: #ffffff;
    border-radius: 12px;
    padding: 24px 32px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.25);
    color: #1e293b;
    font-weight: 500;
}
/* /Components/Pages/NotificationPreferences/NotificationPreferencesComponent.razor.rz.scp.css */
.np-container[b-zclyn5t9oa] {
    max-width: 760px;
    margin: 0 auto;
    padding: 24px;
}

.np-header[b-zclyn5t9oa] {
    margin-bottom: 20px;
}

.np-title[b-zclyn5t9oa] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 6px 0;
    font-size: 22px;
    color: #0f2444;
    font-weight: 700;
}

.np-title i[b-zclyn5t9oa] {
    color: #0f2444;
    font-size: 24px;
}

.np-subtitle[b-zclyn5t9oa] {
    margin: 0;
    color: #64748b;
    font-size: 13px;
    line-height: 1.5;
}

.np-loading[b-zclyn5t9oa] {
    display: flex;
    justify-content: center;
    padding: 80px 0;
}

.np-empty[b-zclyn5t9oa] {
    background: #fff;
    border: 1px dashed #cbd5e1;
    border-radius: 12px;
    padding: 40px;
    text-align: center;
    color: #94a3b8;
}

/* ===== Lista ===== */
.np-list[b-zclyn5t9oa] {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    overflow: hidden;
}

.np-item[b-zclyn5t9oa] {
    display: flex;
    align-items: center;
    padding: 16px 20px;
    border-bottom: 1px solid #f1f5f9;
    gap: 16px;
    transition: background-color 0.15s;
}

.np-item:last-child[b-zclyn5t9oa] {
    border-bottom: none;
}

.np-item:hover[b-zclyn5t9oa] {
    background: #f8fafc;
}

.np-item.disabled .np-item-label[b-zclyn5t9oa] {
    color: #94a3b8;
}

.np-item-content[b-zclyn5t9oa] {
    flex: 1;
    min-width: 0;
}

.np-item-label[b-zclyn5t9oa] {
    font-size: 14px;
    font-weight: 600;
    color: #0f2444;
    margin-bottom: 2px;
}

.np-item-desc[b-zclyn5t9oa] {
    font-size: 12px;
    color: #64748b;
    line-height: 1.5;
}

/* ===== Toggle switch ===== */
.np-toggle[b-zclyn5t9oa] {
    position: relative;
    display: inline-block;
    width: 44px;
    height: 24px;
    flex-shrink: 0;
}

.np-toggle input[b-zclyn5t9oa] {
    opacity: 0;
    width: 0;
    height: 0;
}

.np-toggle-slider[b-zclyn5t9oa] {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #cbd5e1;
    transition: background-color 0.2s;
    border-radius: 24px;
}

.np-toggle-slider[b-zclyn5t9oa]:before {
    position: absolute;
    content: "";
    height: 18px;
    width: 18px;
    left: 3px;
    bottom: 3px;
    background: #fff;
    transition: transform 0.2s;
    border-radius: 50%;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

.np-toggle input:checked + .np-toggle-slider[b-zclyn5t9oa] {
    background: #10b981;
}

.np-toggle input:checked + .np-toggle-slider[b-zclyn5t9oa]:before {
    transform: translateX(20px);
}

.np-toggle input:disabled + .np-toggle-slider[b-zclyn5t9oa] {
    opacity: 0.6;
    cursor: not-allowed;
}
/* /Components/Pages/PartnerAbcAnalysis/PartnerAbcAnalysisComponent.razor.rz.scp.css */
/* ===== Top partner ABC analízis ===== */

.abc-container[b-7pvg1ktp0m] {
    padding: 1.5rem;
    max-width: 1400px;
    margin: 0 auto;
}

.abc-title[b-7pvg1ktp0m] {
    color: #1e3a5f;
    margin: 0 0 0.5rem;
}

.abc-subtitle[b-7pvg1ktp0m] {
    color: #64748b;
    margin: 0 0 1.5rem;
}

.abc-loading[b-7pvg1ktp0m] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 60vh;
}

.abc-loading-text[b-7pvg1ktp0m] {
    margin-top: 1rem;
}

.abc-empty[b-7pvg1ktp0m] {
    text-align: center;
    color: #94a3b8;
    padding: 4rem 1rem;
}

.abc-empty i[b-7pvg1ktp0m] {
    font-size: 3rem;
    margin-bottom: 1rem;
    display: block;
}

/* ===== Összegző kártyák ===== */
.abc-summary[b-7pvg1ktp0m] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.abc-card[b-7pvg1ktp0m] {
    background: #fff;
    border: 2px solid transparent;
    border-radius: 10px;
    padding: 1rem 1.25rem;
    cursor: pointer;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
    transition: all 0.15s ease;
}

.abc-card:hover[b-7pvg1ktp0m] {
    box-shadow: 0 4px 8px rgba(0,0,0,0.08);
    transform: translateY(-1px);
}

.abc-card-active[b-7pvg1ktp0m] {
    border-color: #1e3a5f;
    box-shadow: 0 4px 12px rgba(30,58,95,0.15);
}

.abc-card-cat[b-7pvg1ktp0m] {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1e3a5f;
    margin-bottom: 0.25rem;
}

.abc-card-count[b-7pvg1ktp0m] {
    font-size: 0.875rem;
    color: #64748b;
    margin-bottom: 0.25rem;
}

.abc-card-share[b-7pvg1ktp0m] {
    font-size: 0.875rem;
    color: #1e3a5f;
    font-weight: 500;
}

.abc-card-a .abc-card-cat[b-7pvg1ktp0m] { color: #16a34a; }
.abc-card-b .abc-card-cat[b-7pvg1ktp0m] { color: #2563eb; }
.abc-card-c .abc-card-cat[b-7pvg1ktp0m] { color: #d97706; }

/* ===== Táblázat ===== */
.abc-table-wrapper[b-7pvg1ktp0m] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(0,0,0,0.04);
}

.abc-table[b-7pvg1ktp0m] {
    width: 100%;
    border-collapse: collapse;
}

.abc-table th[b-7pvg1ktp0m] {
    background: #f8fafc;
    color: #1e3a5f;
    text-align: left;
    padding: 0.75rem;
    font-weight: 600;
    border-bottom: 1px solid #e5e7eb;
    font-size: 0.875rem;
}

.abc-table td[b-7pvg1ktp0m] {
    padding: 0.75rem;
    border-bottom: 1px solid #f1f5f9;
    color: #1e293b;
}

.abc-table tr:hover td[b-7pvg1ktp0m] {
    background: #f8fafc;
}

.abc-numeric[b-7pvg1ktp0m] {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.abc-center[b-7pvg1ktp0m] {
    text-align: center;
}

/* Kategória badge-ek */
.abc-badge[b-7pvg1ktp0m] {
    display: inline-block;
    padding: 0.2rem 0.625rem;
    border-radius: 999px;
    font-weight: 600;
    font-size: 0.875rem;
    color: #fff;
}

.abc-badge-a[b-7pvg1ktp0m] { background: #16a34a; }
.abc-badge-b[b-7pvg1ktp0m] { background: #2563eb; }
.abc-badge-c[b-7pvg1ktp0m] { background: #d97706; }
/* /Components/Pages/PartnerAnalytics/PartnerAnalyticsComponent.razor.rz.scp.css */
/* ===== Partner Analytics oldal ===== */

.pa-container[b-9c6x3dsg4m] {
    padding: 1.5rem 2rem;
    max-width: 1500px;
    margin: 0 auto;
}

.pa-header[b-9c6x3dsg4m] {
    margin-bottom: 1.5rem;
}

.pa-title[b-9c6x3dsg4m] {
    margin: 0 0 0.35rem 0;
    color: #0f2d52;
    font-size: 1.5rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.pa-title i[b-9c6x3dsg4m] {
    color: #1a3a5c;
}

.pa-subtitle[b-9c6x3dsg4m] {
    margin: 0;
    color: #64748b;
    font-size: 0.9rem;
}

.pa-loading[b-9c6x3dsg4m],
.pa-loading-full[b-9c6x3dsg4m] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 3rem;
    gap: 1rem;
}

.pa-empty[b-9c6x3dsg4m] {
    text-align: center;
    padding: 3rem;
    color: #94a3b8;
}

.pa-empty i[b-9c6x3dsg4m] {
    font-size: 3rem;
}

/* ===== Cég szintű összegző kártyák ===== */
.pa-summary-cards[b-9c6x3dsg4m] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.85rem;
    margin-bottom: 1.5rem;
}

.pa-summary-card[b-9c6x3dsg4m] {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 0.95rem 1.1rem;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
    transition: all 0.18s ease;
}

.pa-summary-clickable[b-9c6x3dsg4m] {
    cursor: pointer;
}

.pa-summary-clickable:hover[b-9c6x3dsg4m] {
    border-color: #1a3a5c;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.1);
    transform: translateY(-1px);
}

.pa-summary-active[b-9c6x3dsg4m] {
    border-color: #1a3a5c;
    border-width: 2px;
    background: #f8fafc;
}

.pa-summary-label[b-9c6x3dsg4m] {
    font-size: 0.72rem;
    font-weight: 700;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.pa-summary-label i[b-9c6x3dsg4m] {
    font-size: 0.9rem;
}

.pa-summary-value[b-9c6x3dsg4m] {
    font-size: 1.5rem;
    font-weight: 800;
    color: #0f2d52;
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
}

.pa-summary-hint[b-9c6x3dsg4m] {
    font-size: 0.72rem;
    color: #94a3b8;
}

.pa-summary-period .pa-summary-value[b-9c6x3dsg4m] {
    color: #1a3a5c;
}

.pa-summary-inflation .pa-summary-value[b-9c6x3dsg4m] {
    color: #d97706;
}

.pa-summary-positive .pa-summary-value[b-9c6x3dsg4m] {
    color: #16a34a;
}

.pa-summary-negative .pa-summary-value[b-9c6x3dsg4m] {
    color: #dc2626;
}

/* ===== Aktív szűrés ===== */
.pa-filter-bar[b-9c6x3dsg4m] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.6rem 1rem;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 8px;
    margin-bottom: 1rem;
}

.pa-filter-label[b-9c6x3dsg4m] {
    font-size: 0.8rem;
    color: #78350f;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.pa-filter-value[b-9c6x3dsg4m] {
    font-size: 0.85rem;
    color: #1e293b;
    font-weight: 700;
}

.pa-filter-clear[b-9c6x3dsg4m] {
    margin-left: auto;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    color: #475569;
    padding: 0.3rem 0.7rem;
    border-radius: 5px;
    font-size: 0.8rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 0.3rem;
    transition: all 0.15s ease;
}

.pa-filter-clear:hover[b-9c6x3dsg4m] {
    background: #1a3a5c;
    color: #ffffff;
    border-color: #1a3a5c;
}

/* ===== Partner kártyák lista ===== */
.pa-list[b-9c6x3dsg4m] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.pa-card[b-9c6x3dsg4m] {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 1.25rem 1.4rem;
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.06);
    border-left: 4px solid #cbd5e1;
}

.pa-card-header[b-9c6x3dsg4m] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
    flex-wrap: wrap;
}

.pa-card-title-block[b-9c6x3dsg4m] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.pa-card-name[b-9c6x3dsg4m] {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 700;
    color: #0f2d52;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.pa-card-name i[b-9c6x3dsg4m] {
    color: #1a3a5c;
}

.pa-card-period[b-9c6x3dsg4m] {
    font-size: 0.78rem;
    color: #64748b;
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.pa-card-rec-badge[b-9c6x3dsg4m] {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.5rem 0.95rem;
    border-radius: 20px;
    font-size: 0.82rem;
    font-weight: 700;
    white-space: nowrap;
}

/* ===== Metrics grid ===== */
.pa-card-metrics[b-9c6x3dsg4m] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 0.85rem 1rem;
    margin-bottom: 1rem;
    padding: 0.85rem 0;
    border-top: 1px solid #f1f5f9;
    border-bottom: 1px solid #f1f5f9;
}

.pa-metric[b-9c6x3dsg4m] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.pa-metric-label[b-9c6x3dsg4m] {
    font-size: 0.7rem;
    font-weight: 600;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.pa-metric-value[b-9c6x3dsg4m] {
    font-size: 0.95rem;
    font-weight: 700;
    color: #1e293b;
    font-variant-numeric: tabular-nums;
}

.pa-metric-big[b-9c6x3dsg4m] {
    font-size: 1.1rem;
}

.pa-metric-positive[b-9c6x3dsg4m] {
    color: #16a34a;
}

.pa-metric-negative[b-9c6x3dsg4m] {
    color: #dc2626;
}

.pa-metric-inflation[b-9c6x3dsg4m] {
    color: #d97706;
}

.pa-metric-real[b-9c6x3dsg4m] {
    background: #f8fafc;
    padding: 0.4rem 0.6rem;
    border-radius: 6px;
    border: 1px solid #e2e8f0;
}

/* ===== Sparkline chart ===== */
.pa-card-chart[b-9c6x3dsg4m] {
    margin-bottom: 1rem;
    padding: 0.5rem;
    background: #f8fafc;
    border-radius: 8px;
    border: 1px solid #f1f5f9;
}

.pa-chart-tt[b-9c6x3dsg4m] {
    background: #1e293b;
    color: #ffffff;
    padding: 0.4rem 0.6rem;
    border-radius: 4px;
    font-size: 0.78rem;
}

/* ===== Javaslat szöveg ===== */
.pa-card-recommendation[b-9c6x3dsg4m] {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    padding: 0.75rem 0.95rem;
    background: #f0f9ff;
    border: 1px solid #bae6fd;
    border-radius: 8px;
    font-size: 0.85rem;
    color: #0c4a6e;
    line-height: 1.45;
    margin-bottom: 0.75rem;
}

.pa-card-recommendation i[b-9c6x3dsg4m] {
    color: #0284c7;
    font-size: 1.05rem;
    margin-top: 0.1rem;
    flex-shrink: 0;
}

/* ===== Card footer ===== */
.pa-card-footer[b-9c6x3dsg4m] {
    display: flex;
    justify-content: flex-end;
}

.pa-ai-btn[b-9c6x3dsg4m] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.55rem 1.1rem;
    background: linear-gradient(135deg, #1a3a5c 0%, #0f2d52 100%);
    color: #ffffff;
    border: none;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.18s ease;
    box-shadow: 0 2px 6px rgba(15, 45, 82, 0.25);
}

.pa-ai-btn:hover[b-9c6x3dsg4m] {
    background: linear-gradient(135deg, #0f2d52 0%, #06182d 100%);
    box-shadow: 0 4px 12px rgba(15, 45, 82, 0.4);
    transform: translateY(-1px);
}

.pa-ai-btn i[b-9c6x3dsg4m] {
    color: #fbbf24;
}

/* ===== Card színkódok a recommendation szerint ===== */
.pa-rec-raise-strong[b-9c6x3dsg4m] {
    border-left-color: #dc2626;
}

.pa-rec-raise-strong .pa-card-rec-badge[b-9c6x3dsg4m] {
    background: rgba(220, 38, 38, 0.12);
    color: #991b1b;
    border: 1px solid rgba(220, 38, 38, 0.3);
}

.pa-rec-raise-mild[b-9c6x3dsg4m] {
    border-left-color: #f59e0b;
}

.pa-rec-raise-mild .pa-card-rec-badge[b-9c6x3dsg4m] {
    background: rgba(245, 158, 11, 0.12);
    color: #b45309;
    border: 1px solid rgba(245, 158, 11, 0.3);
}

.pa-rec-maintain[b-9c6x3dsg4m] {
    border-left-color: #16a34a;
}

.pa-rec-maintain .pa-card-rec-badge[b-9c6x3dsg4m] {
    background: rgba(22, 163, 74, 0.12);
    color: #15803d;
    border: 1px solid rgba(22, 163, 74, 0.3);
}

.pa-rec-growing[b-9c6x3dsg4m] {
    border-left-color: #0ea5e9;
}

.pa-rec-growing .pa-card-rec-badge[b-9c6x3dsg4m] {
    background: rgba(14, 165, 233, 0.12);
    color: #075985;
    border: 1px solid rgba(14, 165, 233, 0.3);
}

.pa-rec-review[b-9c6x3dsg4m] {
    border-left-color: #f59e0b;
}

.pa-rec-review .pa-card-rec-badge[b-9c6x3dsg4m] {
    background: rgba(245, 158, 11, 0.18);
    color: #92400e;
    border: 1px solid rgba(245, 158, 11, 0.4);
}

.pa-rec-lost[b-9c6x3dsg4m] {
    border-left-color: #6b7280;
    opacity: 0.85;
}

.pa-rec-lost .pa-card-rec-badge[b-9c6x3dsg4m] {
    background: rgba(107, 114, 128, 0.15);
    color: #374151;
    border: 1px solid rgba(107, 114, 128, 0.3);
}

.pa-rec-data[b-9c6x3dsg4m] {
    border-left-color: #94a3b8;
}

.pa-rec-data .pa-card-rec-badge[b-9c6x3dsg4m] {
    background: rgba(148, 163, 184, 0.15);
    color: #475569;
    border: 1px solid rgba(148, 163, 184, 0.3);
}

/* ===== AI elemzés modal ===== */
.pa-ai-overlay[b-9c6x3dsg4m] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1500;
    padding: 1rem;
    backdrop-filter: blur(2px);
}

.pa-ai-panel[b-9c6x3dsg4m] {
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 25px 60px rgba(15, 23, 42, 0.45);
    width: 100%;
    max-width: 720px;
    max-height: 92vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #e2e8f0;
}

.pa-ai-header[b-9c6x3dsg4m] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.1rem 1.4rem;
    background: linear-gradient(135deg, #0f2d52 0%, #1a3a5c 100%);
    color: #ffffff;
    cursor: move;
    user-select: none;
    border-bottom: 2px solid #fbbf24;
}

.pa-ai-title[b-9c6x3dsg4m] {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 700;
    color: #ffffff !important;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

.pa-ai-title i[b-9c6x3dsg4m] {
    color: #fbbf24;
}

.pa-ai-close-btn[b-9c6x3dsg4m] {
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.25);
    color: #ffffff;
    width: 32px;
    height: 32px;
    border-radius: 6px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.15s ease;
}

.pa-ai-close-btn:hover[b-9c6x3dsg4m] {
    background: rgba(220, 38, 38, 0.85);
    border-color: #dc2626;
}

.pa-ai-body[b-9c6x3dsg4m] {
    padding: 1.5rem;
    overflow-y: auto;
    flex: 1;
    background: #f8fafc;
}

.pa-ai-loading[b-9c6x3dsg4m] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    padding: 3rem 1rem;
    color: #64748b;
}

.pa-ai-section[b-9c6x3dsg4m] {
    margin-bottom: 1.25rem;
    padding: 1rem 1.1rem;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
}

.pa-ai-section h4[b-9c6x3dsg4m] {
    margin: 0 0 0.6rem 0;
    font-size: 0.85rem;
    font-weight: 700;
    color: #0f2d52;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.pa-ai-section p[b-9c6x3dsg4m] {
    margin: 0;
    font-size: 0.9rem;
    line-height: 1.55;
    color: #1e293b;
}

.pa-ai-section ul[b-9c6x3dsg4m],
.pa-ai-section ol[b-9c6x3dsg4m] {
    margin: 0;
    padding-left: 1.4rem;
}

.pa-ai-section li[b-9c6x3dsg4m] {
    font-size: 0.88rem;
    line-height: 1.55;
    color: #1e293b;
    margin-bottom: 0.45rem;
}

.pa-ai-strengths h4 i[b-9c6x3dsg4m] { color: #16a34a; }
.pa-ai-weaknesses h4 i[b-9c6x3dsg4m] { color: #dc2626; }
.pa-ai-recommendations h4 i[b-9c6x3dsg4m] { color: #f59e0b; }
.pa-ai-summary h4 i[b-9c6x3dsg4m] { color: #0284c7; }

.pa-ai-meta[b-9c6x3dsg4m] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.6rem 0.9rem;
    background: #f1f5f9;
    border-radius: 6px;
    font-size: 0.78rem;
    color: #64748b;
}

.pa-ai-empty[b-9c6x3dsg4m] {
    text-align: center;
    color: #94a3b8;
    padding: 2rem;
}

.pa-ai-footer[b-9c6x3dsg4m] {
    display: flex;
    justify-content: flex-end;
    padding: 0.9rem 1.4rem;
    background: #ffffff;
    border-top: 1px solid #e2e8f0;
}

.pa-ai-close-large-btn[b-9c6x3dsg4m] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.55rem 1.25rem;
    background: #1a3a5c;
    color: #ffffff;
    border: none;
    border-radius: 8px;
    font-size: 0.88rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s ease;
}

.pa-ai-close-large-btn:hover[b-9c6x3dsg4m] {
    background: #0f2d52;
}

@media (max-width: 768px) {
    .pa-container[b-9c6x3dsg4m] {
        padding: 1rem;
    }

    .pa-card-header[b-9c6x3dsg4m] {
        flex-direction: column;
    }

    .pa-card-rec-badge[b-9c6x3dsg4m] {
        align-self: flex-start;
    }
}

/* ==================== Koncentrációs kockázat panel ==================== */
.pa-concentration-panel[b-9c6x3dsg4m] {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 1.25rem;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
    margin-bottom: 1rem;
}

.pa-concentration-header[b-9c6x3dsg4m] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

    .pa-concentration-header h3[b-9c6x3dsg4m] {
        margin: 0;
        font-size: 1.05rem;
        font-weight: 700;
        color: #1e293b;
        display: flex;
        align-items: center;
        gap: 0.5rem;
    }

        .pa-concentration-header h3 i[b-9c6x3dsg4m] {
            color: #1a3a5c;
        }

.pa-hhi-badge[b-9c6x3dsg4m] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.4rem 0.85rem;
    border-radius: 999px;
    font-weight: 700;
    font-size: 0.85rem;
    border: 1px solid transparent;
    cursor: help;
}

.pa-hhi-info[b-9c6x3dsg4m] {
    font-size: 0.95rem;
    opacity: 0.7;
}

/* Vizsgált időszak (év-tartomány) szűrő — fent, minden számításra hat */
.pa-period-filter-bar[b-9c6x3dsg4m] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.85rem;
    padding: 0.75rem 1rem;
    background: linear-gradient(135deg, #f8fafc 0%, #eff6ff 100%);
    border: 1px solid #dbeafe;
    border-radius: 10px;
    margin-bottom: 1rem;
    box-shadow: 0 1px 3px rgba(26, 58, 92, 0.06);
}

.pa-period-filter-label[b-9c6x3dsg4m] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 700;
    font-size: 0.95rem;
    color: #1a3a5c;
}

.pa-period-filter-fields[b-9c6x3dsg4m] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.pa-period-filter-sep[b-9c6x3dsg4m] {
    color: #64748b;
    font-weight: 700;
    font-size: 1rem;
}

.pa-period-filter-hint[b-9c6x3dsg4m] {
    font-size: 0.8rem;
    color: #64748b;
    margin-left: auto;
    font-style: italic;
}

/* Általános info ikon szakkifejezések mellé (tooltip-pel) */
.pa-info-icon[b-9c6x3dsg4m] {
    font-size: 0.95rem;
    color: #64748b;
    margin-left: 0.4rem;
    cursor: help;
    transition: color 0.15s ease, transform 0.15s ease;
    vertical-align: middle;
}

.pa-info-icon:hover[b-9c6x3dsg4m] {
    color: #1a3a5c;
    transform: scale(1.15);
}

.pa-hhi-low[b-9c6x3dsg4m] {
    background: #ecfdf5;
    color: #15803d;
    border-color: #bbf7d0;
}

.pa-hhi-moderate[b-9c6x3dsg4m] {
    background: #fef3c7;
    color: #92400e;
    border-color: #fde68a;
}

.pa-hhi-high[b-9c6x3dsg4m] {
    background: #fef2f2;
    color: #b91c1c;
    border-color: #fecaca;
}

.pa-hhi-label[b-9c6x3dsg4m] {
    font-weight: 500;
    margin-left: 0.25rem;
}

.pa-concentration-grid[b-9c6x3dsg4m] {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 1.25rem;
}

@media (max-width: 900px) {
    .pa-concentration-grid[b-9c6x3dsg4m] {
        grid-template-columns: 1fr;
    }
}

.pa-concentration-shares[b-9c6x3dsg4m] {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.pa-concentration-share-row[b-9c6x3dsg4m] {
    display: grid;
    grid-template-columns: 80px 1fr 70px;
    align-items: center;
    gap: 0.65rem;
}

.pa-share-label[b-9c6x3dsg4m] {
    font-size: 0.85rem;
    font-weight: 600;
    color: #475569;
}

.pa-share-track[b-9c6x3dsg4m] {
    background: #f1f5f9;
    border-radius: 4px;
    height: 10px;
    overflow: hidden;
}

.pa-share-fill[b-9c6x3dsg4m] {
    height: 100%;
    background: linear-gradient(90deg, #2563eb 0%, #1a3a5c 100%);
    border-radius: 4px;
    transition: width 0.4s ease;
}

.pa-share-value[b-9c6x3dsg4m] {
    font-size: 0.85rem;
    font-weight: 700;
    color: #1a3a5c;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.pa-stress-panel[b-9c6x3dsg4m] {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 0.85rem 1rem;
}

    .pa-stress-panel h4[b-9c6x3dsg4m] {
        margin: 0 0 0.35rem 0;
        font-size: 0.95rem;
        color: #b45309;
        display: flex;
        align-items: center;
        gap: 0.45rem;
    }

.pa-stress-hint[b-9c6x3dsg4m] {
    margin: 0 0 0.65rem 0;
    font-size: 0.78rem;
    color: #64748b;
}

.pa-stress-controls[b-9c6x3dsg4m] {
    display: flex;
    gap: 0.4rem;
    margin-bottom: 0.6rem;
}

.pa-stress-btn[b-9c6x3dsg4m] {
    padding: 0.35rem 0.7rem;
    border: 1px solid #cbd5e1;
    background: #ffffff;
    color: #475569;
    border-radius: 7px;
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s ease;
}

    .pa-stress-btn:hover[b-9c6x3dsg4m] {
        background: #f1f5f9;
    }

    .pa-stress-btn.active[b-9c6x3dsg4m] {
        background: #b45309;
        color: #ffffff;
        border-color: #b45309;
    }

.pa-stress-result[b-9c6x3dsg4m] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    padding-top: 0.4rem;
    border-top: 1px dashed #cbd5e1;
}

.pa-stress-row[b-9c6x3dsg4m] {
    display: flex;
    justify-content: space-between;
    font-size: 0.85rem;
}

.pa-stress-label[b-9c6x3dsg4m] {
    color: #475569;
}

.pa-stress-value[b-9c6x3dsg4m] {
    font-weight: 700;
    color: #1a3a5c;
    font-variant-numeric: tabular-nums;
}

.pa-pos[b-9c6x3dsg4m] {
    color: #16a34a;
}

.pa-neg[b-9c6x3dsg4m] {
    color: #dc2626;
}

/* ==================== RFM chip-ek ==================== */
.pa-rfm-chips[b-9c6x3dsg4m] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.pa-rfm-chips-label[b-9c6x3dsg4m] {
    font-size: 0.85rem;
    font-weight: 600;
    color: #64748b;
    margin-right: 0.5rem;
}

.pa-rfm-chip[b-9c6x3dsg4m] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.4rem 0.8rem;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
    border: 1px solid transparent;
    background: #ffffff;
    transition: all 0.15s ease;
}

    .pa-rfm-chip:hover[b-9c6x3dsg4m] {
        transform: translateY(-1px);
    }

    .pa-rfm-chip.active[b-9c6x3dsg4m] {
        box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.18);
    }

.pa-rfm-chip-count[b-9c6x3dsg4m] {
    background: rgba(15, 23, 42, 0.1);
    border-radius: 999px;
    padding: 0.05rem 0.4rem;
    font-size: 0.72rem;
    font-weight: 700;
}

/* RFM segment colors */
.pa-rfm-champion[b-9c6x3dsg4m] {
    background: linear-gradient(135deg, #fef9c3 0%, #facc15 100%);
    color: #713f12;
    border-color: #facc15;
}

.pa-rfm-loyal[b-9c6x3dsg4m] {
    background: #dbeafe;
    color: #1e40af;
    border-color: #93c5fd;
}

.pa-rfm-promising[b-9c6x3dsg4m] {
    background: #d1fae5;
    color: #065f46;
    border-color: #6ee7b7;
}

.pa-rfm-atrisk[b-9c6x3dsg4m] {
    background: #fef3c7;
    color: #92400e;
    border-color: #fde68a;
}

.pa-rfm-cannotlose[b-9c6x3dsg4m] {
    background: #fee2e2;
    color: #991b1b;
    border-color: #fca5a5;
}

.pa-rfm-hibernating[b-9c6x3dsg4m] {
    background: #f1f5f9;
    color: #475569;
    border-color: #cbd5e1;
}

.pa-rfm-lost[b-9c6x3dsg4m] {
    background: #f3f4f6;
    color: #6b7280;
    border-color: #d1d5db;
}

.pa-rfm-new[b-9c6x3dsg4m] {
    background: #ecfeff;
    color: #155e75;
    border-color: #a5f3fc;
}

.pa-rfm-default[b-9c6x3dsg4m] {
    background: #ffffff;
    color: #64748b;
    border-color: #cbd5e1;
}

.pa-rfm-badge[b-9c6x3dsg4m] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.25rem 0.7rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 700;
    border: 1px solid;
}

/* ==================== Cohort retention mátrix ==================== */
.pa-cohort-toggle-bar[b-9c6x3dsg4m] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-bottom: 1rem;
}

.pa-cohort-toggle[b-9c6x3dsg4m] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.55rem 0.95rem;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    color: #1a3a5c;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s ease;
}

    .pa-cohort-toggle:hover[b-9c6x3dsg4m] {
        background: #f1f5f9;
    }

.pa-compare-mode-btn[b-9c6x3dsg4m],
.pa-compare-open-btn[b-9c6x3dsg4m] {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.55rem 0.95rem;
    border: 1px solid #cbd5e1;
    background: #ffffff;
    color: #1a3a5c;
    border-radius: 10px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s ease;
}

    .pa-compare-mode-btn:hover[b-9c6x3dsg4m],
    .pa-compare-open-btn:hover:not(:disabled)[b-9c6x3dsg4m] {
        background: #f1f5f9;
    }

    .pa-compare-mode-btn.active[b-9c6x3dsg4m] {
        background: #1a3a5c;
        color: #ffffff;
        border-color: #1a3a5c;
    }

.pa-compare-open-btn[b-9c6x3dsg4m] {
    background: #ecfdf5;
    color: #15803d;
    border-color: #bbf7d0;
}

    .pa-compare-open-btn:disabled[b-9c6x3dsg4m] {
        opacity: 0.5;
        cursor: not-allowed;
    }

.pa-cohort-panel[b-9c6x3dsg4m] {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 1rem;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
    margin-bottom: 1rem;
}

.pa-cohort-header[b-9c6x3dsg4m] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 0.85rem;
}

.pa-cohort-mode[b-9c6x3dsg4m] {
    display: flex;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 0.25rem;
    gap: 0.2rem;
}

.pa-cohort-mode-btn[b-9c6x3dsg4m] {
    padding: 0.4rem 0.8rem;
    background: transparent;
    border: none;
    color: #64748b;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

    .pa-cohort-mode-btn:hover[b-9c6x3dsg4m] {
        background: #f1f5f9;
    }

    .pa-cohort-mode-btn.active[b-9c6x3dsg4m] {
        background: #1a3a5c;
        color: #ffffff;
    }

.pa-cohort-legend[b-9c6x3dsg4m] {
    font-size: 0.8rem;
    color: #94a3b8;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.pa-cohort-table-wrap[b-9c6x3dsg4m] {
    overflow-x: auto;
}

.pa-cohort-table[b-9c6x3dsg4m] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.82rem;
}

    .pa-cohort-table th[b-9c6x3dsg4m] {
        padding: 0.55rem 0.65rem;
        font-weight: 700;
        background: #f1f5f9;
        color: #1e293b;
        border-bottom: 1px solid #e2e8f0;
        white-space: nowrap;
    }

    .pa-cohort-table td[b-9c6x3dsg4m] {
        padding: 0.55rem 0.65rem;
        border-bottom: 1px solid #f1f5f9;
        text-align: center;
        font-variant-numeric: tabular-nums;
    }

.pa-cohort-th-cohort[b-9c6x3dsg4m],
.pa-cohort-td-cohort[b-9c6x3dsg4m] {
    text-align: left !important;
    font-weight: 700;
}

.pa-cohort-th-size[b-9c6x3dsg4m],
.pa-cohort-td-size[b-9c6x3dsg4m] {
    color: #64748b;
}

.pa-cohort-td-empty[b-9c6x3dsg4m] {
    background: transparent;
}

.pa-cohort-heat-0[b-9c6x3dsg4m] {
    background: #f1f5f9;
    color: #94a3b8;
}

.pa-cohort-heat-1[b-9c6x3dsg4m] {
    background: #dbeafe;
    color: #1e40af;
}

.pa-cohort-heat-2[b-9c6x3dsg4m] {
    background: #93c5fd;
    color: #1e3a8a;
    font-weight: 600;
}

.pa-cohort-heat-3[b-9c6x3dsg4m] {
    background: #3b82f6;
    color: #ffffff;
    font-weight: 700;
}

.pa-cohort-heat-4[b-9c6x3dsg4m] {
    background: #1e3a8a;
    color: #ffffff;
    font-weight: 700;
}

/* ==================== Card extensions: badges + payment + clv + share ==================== */
.pa-card-badges[b-9c6x3dsg4m] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.35rem;
}

.pa-card-share[b-9c6x3dsg4m] {
    font-size: 0.78rem;
    color: #64748b;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    margin-top: 0.2rem;
}

.pa-payment-row[b-9c6x3dsg4m] {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 0.65rem 0.85rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    margin-bottom: 0.85rem;
    flex-wrap: wrap;
}

.pa-payscore[b-9c6x3dsg4m] {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0.4rem 0.8rem;
    border-radius: 10px;
    min-width: 76px;
    border: 2px solid transparent;
}

.pa-payscore-num[b-9c6x3dsg4m] {
    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1;
}

.pa-payscore-label[b-9c6x3dsg4m] {
    font-size: 0.7rem;
    font-weight: 600;
    color: #64748b;
    margin-top: 0.15rem;
}

.pa-payscore-good[b-9c6x3dsg4m] {
    background: #ecfdf5;
    border-color: #16a34a;
    color: #15803d;
}

    .pa-payscore-good .pa-payscore-num[b-9c6x3dsg4m] {
        color: #15803d;
    }

.pa-payscore-warn[b-9c6x3dsg4m] {
    background: #fef3c7;
    border-color: #d97706;
    color: #92400e;
}

    .pa-payscore-warn .pa-payscore-num[b-9c6x3dsg4m] {
        color: #92400e;
    }

.pa-payscore-bad[b-9c6x3dsg4m] {
    background: #fef2f2;
    border-color: #dc2626;
    color: #b91c1c;
}

    .pa-payscore-bad .pa-payscore-num[b-9c6x3dsg4m] {
        color: #b91c1c;
    }

.pa-payscore-na[b-9c6x3dsg4m] {
    background: #f1f5f9;
    border-color: #cbd5e1;
    color: #64748b;
}

.pa-payment-stat[b-9c6x3dsg4m] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.pa-payment-stat-label[b-9c6x3dsg4m] {
    font-size: 0.72rem;
    color: #64748b;
    font-weight: 600;
}

.pa-payment-stat-value[b-9c6x3dsg4m] {
    font-size: 0.92rem;
    font-weight: 700;
    color: #1a3a5c;
    font-variant-numeric: tabular-nums;
}

.pa-payment-stat-overdue[b-9c6x3dsg4m] {
    background: #fef2f2;
    border-radius: 7px;
    padding: 0.3rem 0.6rem;
}

    .pa-payment-stat-overdue .pa-payment-stat-value[b-9c6x3dsg4m] {
        color: #b91c1c;
    }

/* CLV row */
.pa-clv-row[b-9c6x3dsg4m] {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 0.7rem 0.95rem;
    background: linear-gradient(135deg, #f0f9ff 0%, #ecfdf5 100%);
    border: 1px dashed #93c5fd;
    border-radius: 10px;
    margin-bottom: 0.85rem;
}

.pa-clv-block[b-9c6x3dsg4m] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    flex: 1;
}

.pa-clv-projected[b-9c6x3dsg4m] {
    text-align: right;
}

.pa-clv-label[b-9c6x3dsg4m] {
    font-size: 0.78rem;
    color: #64748b;
    font-weight: 600;
}

.pa-clv-years[b-9c6x3dsg4m] {
    font-size: 0.7rem;
    color: #94a3b8;
    font-weight: 500;
}

.pa-clv-value[b-9c6x3dsg4m] {
    font-size: 1.05rem;
    font-weight: 800;
    color: #1a3a5c;
    font-variant-numeric: tabular-nums;
}

.pa-clv-arrow[b-9c6x3dsg4m] {
    color: #94a3b8;
    font-size: 1.4rem;
}

/* Compare selection */
.pa-card-selected[b-9c6x3dsg4m] {
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.35), 0 4px 16px rgba(15, 23, 42, 0.08);
}

.pa-card-compare-toggle[b-9c6x3dsg4m] {
    position: absolute;
    top: 0.6rem;
    left: 0.6rem;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 7px;
    padding: 0.25rem 0.4rem;
    cursor: pointer;
    color: #1a3a5c;
    z-index: 2;
}

    .pa-card-compare-toggle.checked[b-9c6x3dsg4m] {
        background: #1a3a5c;
        color: #ffffff;
        border-color: #1a3a5c;
    }

.pa-card[b-9c6x3dsg4m] {
    position: relative;
}

/* ==================== Compare modal ==================== */
.pa-compare-overlay[b-9c6x3dsg4m] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1100;
}

.pa-compare-panel[b-9c6x3dsg4m] {
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 16px 44px rgba(15, 23, 42, 0.3);
    width: min(1100px, 95vw);
    max-height: 90vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.pa-compare-header[b-9c6x3dsg4m] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.5rem;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
}

.pa-compare-title[b-9c6x3dsg4m] {
    margin: 0;
    font-size: 1.1rem;
    color: #1a3a5c;
    display: flex;
    align-items: center;
    gap: 0.55rem;
}

.pa-compare-close[b-9c6x3dsg4m] {
    background: transparent;
    border: none;
    color: #64748b;
    cursor: pointer;
    padding: 0.4rem;
    border-radius: 7px;
}

    .pa-compare-close:hover[b-9c6x3dsg4m] {
        background: #e2e8f0;
        color: #1a3a5c;
    }

.pa-compare-body[b-9c6x3dsg4m] {
    overflow: auto;
    padding: 1rem 1.25rem;
}

.pa-compare-empty[b-9c6x3dsg4m] {
    color: #94a3b8;
    text-align: center;
    padding: 2rem;
}

.pa-compare-table[b-9c6x3dsg4m] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.88rem;
}

    .pa-compare-table th[b-9c6x3dsg4m] {
        text-align: left;
        padding: 0.65rem 0.85rem;
        background: #f8fafc;
        color: #1e293b;
        border-bottom: 1px solid #e2e8f0;
        font-weight: 700;
        white-space: nowrap;
    }

    .pa-compare-table td[b-9c6x3dsg4m] {
        padding: 0.55rem 0.85rem;
        border-bottom: 1px solid #f1f5f9;
        font-variant-numeric: tabular-nums;
    }

.pa-compare-metric-label[b-9c6x3dsg4m] {
    color: #64748b;
    font-weight: 600;
    background: #fafbfc;
    width: 200px;
}

.pa-compare-empty-cell[b-9c6x3dsg4m] {
    color: #cbd5e1;
}
/* /Components/Pages/PartnerGroupSettings/PartnerGroupSettingComponent.razor.rz.scp.css */
/* ==================== Partner csoport menedzsment oldal ====================
   Stílus: enterprise navy / szürke / fehér + zöld/piros akcentus.
   Mintaként a PartnerSetting oldal stílusa szolgált, hogy konzisztens legyen az UX.
*/

/* ===== Konténer és cím ===== */
.pgs-selector-container[b-fjbso8hl1d] {
    max-width: 1100px;
    margin: 0 auto;
    padding: 1.5rem;
}

.pgs-selector-title[b-fjbso8hl1d] {
    font-size: 1.6rem;
    font-weight: 700;
    color: #1a3a5c;
    margin: 0 0 1.5rem 0;
}

.pgs-section-title[b-fjbso8hl1d] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 1.1rem;
    font-weight: 700;
    color: #1a3a5c;
    margin: 0 0 0.4rem 0;
}

.pgs-section-title i[b-fjbso8hl1d] {
    color: #1a3a5c;
}

.pgs-section-subtitle[b-fjbso8hl1d] {
    font-size: 0.85rem;
    color: #64748b;
    margin: 0 0 1rem 0;
}

/* ===== Keresés ===== */
.pgs-search-section[b-fjbso8hl1d] {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 1.5rem;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
    margin-bottom: 1.5rem;
}

.pgs-search-bar[b-fjbso8hl1d] {
    display: flex;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.pgs-search-input[b-fjbso8hl1d] {
    flex: 1;
    min-width: 0;
    padding: 0.6rem 1rem;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    font-size: 0.95rem;
    color: #1e293b;
    background: #ffffff;
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.pgs-search-input:focus[b-fjbso8hl1d] {
    border-color: #1a3a5c;
    box-shadow: 0 0 0 3px rgba(26, 58, 92, 0.1);
}

.pgs-search-input[b-fjbso8hl1d]::placeholder {
    color: #94a3b8;
}

.pgs-search-spinner[b-fjbso8hl1d] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.pgs-list-all-btn[b-fjbso8hl1d] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.6rem 1rem;
    background: #1a3a5c;
    color: #ffffff;
    border: none;
    border-radius: 8px;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    flex-shrink: 0;
    transition: background 0.2s ease, transform 0.2s ease;
}

/* Visszavonás (undo) gomb + megerősítő ablak */
.pgs-undo-btn[b-fjbso8hl1d] { display: flex; align-items: center; gap: 0.5rem; padding: 0.6rem 1rem; background: #1a3a5c; color: #fff; border: 1px solid #1a3a5c; border-radius: 8px; font-size: 0.9rem; font-weight: 600; cursor: pointer; flex-shrink: 0; transition: all 0.2s ease; box-shadow: 0 2px 6px rgba(26,58,92,0.2); }
.pgs-undo-btn:hover:not(:disabled)[b-fjbso8hl1d] { background: #16314f; }
.pgs-undo-btn:disabled[b-fjbso8hl1d] { opacity: 0.6; cursor: default; }
.pgs-undo-overlay[b-fjbso8hl1d] { position: fixed; inset: 0; background: rgba(15,23,42,0.55); z-index: 9200; display: flex; align-items: center; justify-content: center; backdrop-filter: blur(2px); }
.pgs-undo-panel[b-fjbso8hl1d] { width: min(92vw, 440px); background: #fff; border-radius: 14px; box-shadow: 0 20px 60px rgba(15,23,42,0.35); overflow: hidden; }
.pgs-undo-panel-header[b-fjbso8hl1d] { display: flex; align-items: center; gap: 8px; padding: 14px 20px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; font-weight: 700; color: #0f172a; }
.pgs-undo-panel-header i[b-fjbso8hl1d] { color: #1a3a5c; font-size: 1.2rem; }
.pgs-undo-panel-body[b-fjbso8hl1d] { padding: 18px 20px; }
.pgs-undo-question[b-fjbso8hl1d] { margin: 0 0 12px 0; color: #334155; font-size: 0.9rem; }
.pgs-undo-action-box[b-fjbso8hl1d] { display: flex; flex-direction: column; gap: 4px; padding: 12px 14px; background: #f1f5f9; border-left: 3px solid #1a3a5c; border-radius: 8px; }
.pgs-undo-action-kind[b-fjbso8hl1d] { display: inline-flex; align-items: center; gap: 5px; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.4px; color: #64748b; font-weight: 700; }
.pgs-undo-action-label[b-fjbso8hl1d] { font-size: 1rem; font-weight: 700; color: #0f172a; }
.pgs-undo-hint[b-fjbso8hl1d] { margin: 10px 0 0 0; font-size: 0.78rem; color: #64748b; }
.pgs-undo-hint-chain[b-fjbso8hl1d] { display: inline-flex; align-items: center; gap: 5px; color: #1a3a5c; font-weight: 600; }
.pgs-undo-panel-footer[b-fjbso8hl1d] { display: flex; gap: 10px; padding: 14px 20px; border-top: 1px solid #e2e8f0; justify-content: flex-end; }
.pgs-undo-confirm-btn[b-fjbso8hl1d], .pgs-undo-cancel-btn[b-fjbso8hl1d] { display: inline-flex; align-items: center; gap: 5px; padding: 8px 16px; border-radius: 8px; font-size: 0.85rem; font-weight: 600; cursor: pointer; border: 1px solid transparent; transition: all 0.15s ease; }
.pgs-undo-confirm-btn[b-fjbso8hl1d] { background: #1a3a5c; color: #fff; }
.pgs-undo-confirm-btn:hover:not(:disabled)[b-fjbso8hl1d] { background: #16314f; }
.pgs-undo-cancel-btn[b-fjbso8hl1d] { background: #fff; color: #475569; border-color: #cbd5e1; }
.pgs-undo-cancel-btn:hover:not(:disabled)[b-fjbso8hl1d] { background: #f1f5f9; }
.pgs-undo-confirm-btn:disabled[b-fjbso8hl1d], .pgs-undo-cancel-btn:disabled[b-fjbso8hl1d] { opacity: 0.6; cursor: default; }

.pgs-list-all-btn:hover[b-fjbso8hl1d] {
    background: #16314f;
    transform: translateY(-1px);
}

.pgs-list-all-btn i[b-fjbso8hl1d] {
    font-size: 0.95rem;
}

/* ===== Találat lista ===== */
.pgs-search-results[b-fjbso8hl1d] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.pgs-search-result-card[b-fjbso8hl1d] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.25rem;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}

.pgs-search-result-card:hover[b-fjbso8hl1d] {
    border-color: #1a3a5c;
    box-shadow: 0 4px 16px rgba(26, 58, 92, 0.12);
    transform: translateX(4px);
}

.pgs-result-main[b-fjbso8hl1d] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    min-width: 0;
}

.pgs-result-name[b-fjbso8hl1d] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 1rem;
    font-weight: 600;
    color: #1e293b;
}

.pgs-result-name i[b-fjbso8hl1d] {
    color: #1a3a5c;
}

.pgs-result-action[b-fjbso8hl1d] {
    color: #94a3b8;
    font-size: 1rem;
    flex-shrink: 0;
    transition: color 0.2s ease;
}

.pgs-search-result-card:hover .pgs-result-action[b-fjbso8hl1d] {
    color: #1a3a5c;
}

.pgs-search-empty[b-fjbso8hl1d] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    color: #94a3b8;
    gap: 0.5rem;
    text-align: center;
}

.pgs-search-empty i[b-fjbso8hl1d] {
    font-size: 2rem;
}

/* ===== Új csoport kártya ===== */
.pgs-selector-divider[b-fjbso8hl1d] {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin: 1rem 0;
}

.pgs-selector-divider hr[b-fjbso8hl1d] {
    flex: 1;
    border: none;
    border-top: 1px solid #e2e8f0;
}

.pgs-selector-divider span[b-fjbso8hl1d] {
    font-size: 0.85rem;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: 600;
}

.pgs-selector-cards[b-fjbso8hl1d] {
    display: flex;
    justify-content: center;
}

.pgs-selector-card[b-fjbso8hl1d] {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 1.5rem;
    cursor: pointer;
    text-align: center;
    transition: all 0.2s ease;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
    width: 280px;
}

.pgs-selector-card:hover[b-fjbso8hl1d] {
    border-color: #1a3a5c;
    box-shadow: 0 8px 24px rgba(26, 58, 92, 0.15);
    transform: translateY(-2px);
}

.pgs-card-icon-wrapper[b-fjbso8hl1d] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    margin: 0 auto 0.75rem auto;
}

.pgs-icon-new[b-fjbso8hl1d] {
    background: rgba(22, 163, 74, 0.1);
    color: #16a34a;
    font-size: 1.8rem;
}

.pgs-card-title[b-fjbso8hl1d] {
    font-size: 1.05rem;
    font-weight: 700;
    color: #1a3a5c;
    margin: 0 0 0.4rem 0;
}

.pgs-card-desc[b-fjbso8hl1d] {
    font-size: 0.85rem;
    color: #64748b;
    margin: 0;
}

/* ===== Editor nézet ===== */
.pgs-content[b-fjbso8hl1d] {
    max-width: 1200px;
    margin: 0 auto;
    padding: 1.5rem;
}

.pgs-edit-banner[b-fjbso8hl1d] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    background: rgba(245, 158, 11, 0.08);
    border: 1px solid rgba(245, 158, 11, 0.3);
    border-radius: 8px;
    padding: 0.6rem 1rem;
    color: #b45309;
    font-weight: 600;
    margin-bottom: 1rem;
}

.pgs-edit-banner-new[b-fjbso8hl1d] {
    background: rgba(22, 163, 74, 0.08);
    border-color: rgba(22, 163, 74, 0.3);
    color: #15803d;
}

.pgs-form-header[b-fjbso8hl1d] {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
}

.pgs-back-btn[b-fjbso8hl1d] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    color: #1a3a5c;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.pgs-back-btn:hover[b-fjbso8hl1d] {
    background: #f1f5f9;
    border-color: #1a3a5c;
}

.pgs-editor-card[b-fjbso8hl1d] {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 1.5rem;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}

.pgs-fields[b-fjbso8hl1d] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.pgs-field[b-fjbso8hl1d] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.pgs-label[b-fjbso8hl1d] {
    font-size: 0.8rem;
    color: #475569;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.pgs-required[b-fjbso8hl1d] {
    color: #dc2626;
    margin-left: 0.2rem;
}

.pgs-input[b-fjbso8hl1d] {
    width: 100%;
}

[b-fjbso8hl1d] .pgs-input.rz-colorpicker {
    width: 120px;
}

.pgs-input-error[b-fjbso8hl1d] {
    border: 1px solid #dc2626 !important;
    border-radius: 4px;
}

.pgs-divider[b-fjbso8hl1d] {
    border: none;
    border-top: 1px solid #e2e8f0;
    margin: 1.25rem 0;
}

/* ===== Partner hozzárendelés ===== */
.pgs-assign-section[b-fjbso8hl1d] {
    margin-top: 0.5rem;
}

.pgs-assign-toolbar[b-fjbso8hl1d] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.6rem;
    margin-bottom: 0.75rem;
}

.pgs-filter-input[b-fjbso8hl1d] {
    flex: 1;
    min-width: 200px;
    padding: 0.5rem 0.75rem;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    font-size: 0.9rem;
    color: #1e293b;
    background: #ffffff;
    outline: none;
}

.pgs-filter-input:focus[b-fjbso8hl1d] {
    border-color: #1a3a5c;
    box-shadow: 0 0 0 3px rgba(26, 58, 92, 0.1);
}

.pgs-toolbar-btn[b-fjbso8hl1d] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.5rem 0.85rem;
    background: #1a3a5c;
    color: #ffffff;
    border: none;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s ease;
}

.pgs-toolbar-btn:hover[b-fjbso8hl1d] {
    background: #16314f;
}

.pgs-toolbar-btn-secondary[b-fjbso8hl1d] {
    background: #64748b;
}

.pgs-toolbar-btn-secondary:hover[b-fjbso8hl1d] {
    background: #475569;
}

.pgs-assigned-count[b-fjbso8hl1d] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin-left: auto;
    font-size: 0.85rem;
    font-weight: 600;
    color: #16a34a;
    padding: 0.4rem 0.75rem;
    background: rgba(22, 163, 74, 0.08);
    border-radius: 6px;
}

.pgs-partner-list[b-fjbso8hl1d] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    max-height: 480px;
    overflow-y: auto;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 0.5rem;
    background: #f8fafc;
}

.pgs-partner-row[b-fjbso8hl1d] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.6rem 0.85rem;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.15s ease;
}

.pgs-partner-row:hover[b-fjbso8hl1d] {
    border-color: #1a3a5c;
    background: #f1f5f9;
}

.pgs-partner-row-checked[b-fjbso8hl1d] {
    border-color: #16a34a;
    background: rgba(22, 163, 74, 0.06);
}

.pgs-partner-row-checked:hover[b-fjbso8hl1d] {
    border-color: #15803d;
    background: rgba(22, 163, 74, 0.1);
}

.pgs-partner-check[b-fjbso8hl1d] {
    font-size: 1.2rem;
    color: #94a3b8;
    flex-shrink: 0;
}

.pgs-partner-row-checked .pgs-partner-check[b-fjbso8hl1d] {
    color: #16a34a;
}

.pgs-partner-info[b-fjbso8hl1d] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
}

.pgs-partner-name[b-fjbso8hl1d] {
    font-size: 0.9rem;
    font-weight: 600;
    color: #1e293b;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.pgs-partner-badge-existing[b-fjbso8hl1d] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.1rem 0.5rem;
    background: rgba(22, 163, 74, 0.12);
    color: #15803d;
    border-radius: 4px;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.pgs-partner-badge-existing i[b-fjbso8hl1d] {
    font-size: 0.65rem;
}

.pgs-partner-meta[b-fjbso8hl1d] {
    font-size: 0.75rem;
    color: #64748b;
}

.pgs-partner-meta i[b-fjbso8hl1d] {
    font-size: 0.65rem;
    color: #94a3b8;
    margin-right: 0.2rem;
}

/* ===== Akciógombok ===== */
.pgs-actions[b-fjbso8hl1d] {
    display: flex;
    justify-content: center;
    gap: 0.75rem;
    margin-top: 1.5rem;
}

/* ===== Betöltés ===== */
.pgs-loading[b-fjbso8hl1d] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem;
    gap: 1rem;
}

.pgs-loading-text[b-fjbso8hl1d] {
    color: #64748b;
    font-size: 0.9rem;
}

/* ===== Reszponzív ===== */
@media (max-width: 900px) {
    .pgs-search-bar[b-fjbso8hl1d] {
        flex-wrap: wrap;
    }

    .pgs-list-all-btn[b-fjbso8hl1d] {
        width: 100%;
        justify-content: center;
    }

    .pgs-assigned-count[b-fjbso8hl1d] {
        margin-left: 0;
        width: 100%;
        justify-content: center;
    }
}

/* ==================== Bővítések — overview, dashboard, modal ==================== */

/* Tab bar a szerkesztőn belül */
.pgs-tabs[b-fjbso8hl1d] {
    display: flex;
    gap: 0.25rem;
    border-bottom: 2px solid #e5e7eb;
    margin-bottom: 1rem;
}

.pgs-tab[b-fjbso8hl1d] {
    background: transparent;
    border: none;
    padding: 0.75rem 1.25rem;
    cursor: pointer;
    color: #64748b;
    font-weight: 500;
    border-bottom: 3px solid transparent;
    margin-bottom: -2px;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.pgs-tab:hover[b-fjbso8hl1d] {
    color: #1e3a5f;
}

.pgs-tab-active[b-fjbso8hl1d] {
    color: #1e3a5f;
    border-bottom-color: #1e3a5f;
}

/* 2 oszlopos rács */
.pgs-grid-2[b-fjbso8hl1d] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem 1.25rem;
}

.pgs-field-wide[b-fjbso8hl1d] {
    grid-column: span 2;
}

/* Overview kártyák */
.pgs-overview-grid[b-fjbso8hl1d] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1rem;
    padding: 1rem;
}

.pgs-overview-card[b-fjbso8hl1d] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 1rem 1.25rem;
    cursor: pointer;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
    transition: all 0.15s ease;
}

.pgs-overview-card:hover[b-fjbso8hl1d] {
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    transform: translateY(-1px);
}

.pgs-overview-header[b-fjbso8hl1d] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}

.pgs-overview-header i[b-fjbso8hl1d] {
    font-size: 1.5rem;
    color: #1e3a5f;
}

.pgs-overview-name[b-fjbso8hl1d] {
    margin: 0;
    color: #1e3a5f;
    font-size: 1.1rem;
}

.pgs-overview-parent[b-fjbso8hl1d] {
    color: #64748b;
    font-size: 0.8rem;
    margin-bottom: 0.25rem;
}

.pgs-overview-desc[b-fjbso8hl1d] {
    color: #475569;
    font-size: 0.875rem;
    margin-bottom: 0.75rem;
    border-left: 2px solid #e5e7eb;
    padding-left: 0.5rem;
}

.pgs-overview-stats[b-fjbso8hl1d] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
}

.pgs-overview-stat[b-fjbso8hl1d] {
    display: flex;
    flex-direction: column;
}

.pgs-overview-stat-label[b-fjbso8hl1d] {
    font-size: 0.75rem;
    color: #64748b;
}

.pgs-overview-stat-value[b-fjbso8hl1d] {
    font-size: 0.95rem;
    font-weight: 600;
    color: #1e3a5f;
}

.pgs-pos[b-fjbso8hl1d] { color: #16a34a; }
.pgs-neg[b-fjbso8hl1d] { color: #dc2626; }

/* Mini-dashboard a szerkesztőben */
.pgs-dashboard-grid[b-fjbso8hl1d] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 1rem;
    margin: 1rem 0;
}

.pgs-dashboard-card[b-fjbso8hl1d] {
    background: #f8fafc;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 0.75rem 1rem;
}

.pgs-dashboard-label[b-fjbso8hl1d] {
    font-size: 0.8rem;
    color: #64748b;
}

.pgs-dashboard-value[b-fjbso8hl1d] {
    font-size: 1.25rem;
    font-weight: 600;
    color: #1e3a5f;
    margin-top: 0.25rem;
}

.pgs-dashboard-sub[b-fjbso8hl1d] {
    font-size: 0.75rem;
    color: #64748b;
    margin-top: 0.25rem;
}

/* Top partner lista */
.pgs-toplist[b-fjbso8hl1d] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    margin: 0.5rem 0 1.5rem;
}

.pgs-toplist-row[b-fjbso8hl1d] {
    display: flex;
    justify-content: space-between;
    padding: 0.5rem 0.75rem;
    background: #f8fafc;
    border-radius: 6px;
}

.pgs-toplist-name[b-fjbso8hl1d] {
    color: #1e293b;
}

.pgs-toplist-amount[b-fjbso8hl1d] {
    color: #1e3a5f;
    font-weight: 600;
}

/* Havi trend mini-bar chart */
.pgs-monthly-bars[b-fjbso8hl1d] {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 0.5rem;
    align-items: end;
    height: 140px;
    margin: 0.5rem 0 1rem;
}

.pgs-monthly-bar[b-fjbso8hl1d] {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
}

.pgs-monthly-bar-fill[b-fjbso8hl1d] {
    width: 100%;
    background: linear-gradient(180deg, #2563eb 0%, #1e3a5f 100%);
    border-radius: 4px 4px 0 0;
    min-height: 2px;
}

.pgs-monthly-bar-label[b-fjbso8hl1d] {
    font-size: 0.7rem;
    color: #64748b;
    margin-top: 0.25rem;
}

/* Bulk actions */
.pgs-bulk-actions[b-fjbso8hl1d] {
    display: flex;
    gap: 0.5rem;
    margin: 0.5rem 0 1rem;
}

.pgs-toolbar-btn-warn[b-fjbso8hl1d] {
    background: #fef3c7;
    color: #92400e;
    border-color: #fbbf24;
}

.pgs-toolbar-btn-warn:hover[b-fjbso8hl1d] {
    background: #fde68a;
}

/* Modal */
.pgs-modal-overlay[b-fjbso8hl1d] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.pgs-modal[b-fjbso8hl1d] {
    background: #fff;
    border-radius: 10px;
    width: min(600px, 92vw);
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 20px 50px rgba(0,0,0,0.25);
}

.pgs-modal-header[b-fjbso8hl1d] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 1.5rem;
    border-bottom: 1px solid #e5e7eb;
}

.pgs-modal-header h3[b-fjbso8hl1d] {
    margin: 0;
    color: #1e3a5f;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.pgs-modal-close[b-fjbso8hl1d] {
    background: transparent;
    border: none;
    font-size: 1.25rem;
    cursor: pointer;
    color: #64748b;
}

.pgs-modal-body[b-fjbso8hl1d] {
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.pgs-modal-actions[b-fjbso8hl1d] {
    padding: 1rem 1.5rem;
    border-top: 1px solid #e5e7eb;
    display: flex;
    gap: 0.5rem;
    justify-content: flex-end;
}

.pgs-card-overview[b-fjbso8hl1d] {
    border-color: #06b6d4;
}

.pgs-icon-overview[b-fjbso8hl1d] {
    background: #ecfeff;
    color: #06b6d4;
}

@media (max-width: 768px) {
    .pgs-grid-2[b-fjbso8hl1d] {
        grid-template-columns: 1fr;
    }
    .pgs-field-wide[b-fjbso8hl1d] {
        grid-column: span 1;
    }
    .pgs-overview-stats[b-fjbso8hl1d] {
        grid-template-columns: 1fr;
    }
    .pgs-monthly-bars[b-fjbso8hl1d] {
        grid-template-columns: repeat(6, 1fr);
    }
}
/* /Components/Pages/PartnerSettings/PartnerSettingComponent.razor.rz.scp.css */
/* ===== Előválasztó nézet ===== */
.ps-selector-container[b-huu5bybu53] {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 2.5rem 2rem;
}

.ps-selector-title[b-huu5bybu53] {
    font-size: 1.75rem;
    font-weight: 700;
    color: #1e293b;
    margin-bottom: 1.5rem;
}

.ps-selector-cards[b-huu5bybu53] {
    display: flex;
    gap: 2rem;
    justify-content: center;
    flex-wrap: wrap;
}

.ps-selector-card[b-huu5bybu53] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 280px;
    padding: 2.5rem 2rem;
    border-radius: 12px;
    background: #ffffff;
    border: 2px solid #e2e8f0;
    cursor: pointer;
    transition: all 0.25s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.ps-selector-card:hover[b-huu5bybu53] {
    border-color: #1a3a5c;
    box-shadow: 0 8px 24px rgba(26, 58, 92, 0.15);
    transform: translateY(-4px);
}

.ps-card-icon-wrapper[b-huu5bybu53] {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.25rem;
    font-size: 1.75rem;
}

.ps-icon-contract[b-huu5bybu53] {
    background: #eff6ff;
    color: #1a3a5c;
}

.ps-icon-manual[b-huu5bybu53] {
    background: #f0fdf4;
    color: #16a34a;
}

.ps-icon-search[b-huu5bybu53] {
    background: #fef9ee;
    color: #d97706;
}

.ps-icon-portfolio[b-huu5bybu53] {
    background: #f0f4ff;
    color: #4f46e5;
}

.ps-card-title[b-huu5bybu53] {
    font-size: 1.1rem;
    font-weight: 600;
    color: #1e293b;
    margin-bottom: 0.5rem;
}

.ps-card-desc[b-huu5bybu53] {
    font-size: 0.85rem;
    color: #94a3b8;
    text-align: center;
    line-height: 1.4;
}

/* ===== Partner keresés szekció a selectoron belül ===== */
.ps-search-section[b-huu5bybu53] {
    width: 100%;
    max-width: 650px;
    margin-bottom: 1.5rem;
}

.ps-section-title[b-huu5bybu53] {
    font-size: 1.15rem;
    font-weight: 600;
    color: #1a3a5c;
    margin-bottom: 0.25rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.ps-section-title i[b-huu5bybu53] {
    font-size: 1rem;
}

.ps-section-subtitle[b-huu5bybu53] {
    font-size: 0.85rem;
    color: #64748b;
    margin-bottom: 1rem;
}

/* ===== Elválasztó „vagy" szekció ===== */
.ps-selector-divider[b-huu5bybu53] {
    display: flex;
    align-items: center;
    gap: 1rem;
    width: 100%;
    max-width: 650px;
    margin-bottom: 1.5rem;
}

.ps-selector-divider hr[b-huu5bybu53] {
    flex: 1;
    border: none;
    border-top: 1px solid #dce1e8;
}

.ps-selector-divider span[b-huu5bybu53] {
    font-size: 0.85rem;
    color: #94a3b8;
    font-weight: 500;
    white-space: nowrap;
}

.ps-search-bar[b-huu5bybu53] {
    display: flex;
    gap: 0.75rem;
    margin-bottom: 1.5rem;
}

.ps-search-input[b-huu5bybu53] {
    flex: 1;
    min-width: 0;
    padding: 0.6rem 1rem;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    font-size: 0.95rem;
    color: #1e293b;
    background: #ffffff;
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.ps-search-input:focus[b-huu5bybu53] {
    border-color: #1a3a5c;
    box-shadow: 0 0 0 3px rgba(26, 58, 92, 0.1);
}

.ps-search-input[b-huu5bybu53]::placeholder {
    color: #94a3b8;
}

.ps-search-spinner[b-huu5bybu53] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.ps-list-all-btn[b-huu5bybu53] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.6rem 1rem;
    background: #1a3a5c;
    color: #ffffff;
    border: none;
    border-radius: 8px;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    flex-shrink: 0;
    transition: background 0.2s ease, transform 0.2s ease;
}

/* Visszavonás (undo) gomb + megerősítő ablak */
.ps-undo-btn[b-huu5bybu53] { display: flex; align-items: center; gap: 0.5rem; padding: 0.6rem 1rem; background: #1a3a5c; color: #fff; border: 1px solid #1a3a5c; border-radius: 8px; font-size: 0.9rem; font-weight: 600; cursor: pointer; flex-shrink: 0; transition: all 0.2s ease; box-shadow: 0 2px 6px rgba(26,58,92,0.2); }
.ps-undo-btn:hover:not(:disabled)[b-huu5bybu53] { background: #16314f; }
.ps-undo-btn:disabled[b-huu5bybu53] { opacity: 0.6; cursor: default; }
.ps-undo-overlay[b-huu5bybu53] { position: fixed; inset: 0; background: rgba(15,23,42,0.55); z-index: 9200; display: flex; align-items: center; justify-content: center; backdrop-filter: blur(2px); }
.ps-undo-panel[b-huu5bybu53] { width: min(92vw, 440px); background: #fff; border-radius: 14px; box-shadow: 0 20px 60px rgba(15,23,42,0.35); overflow: hidden; }
.ps-undo-panel-header[b-huu5bybu53] { display: flex; align-items: center; gap: 8px; padding: 14px 20px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; font-weight: 700; color: #0f172a; }
.ps-undo-panel-header i[b-huu5bybu53] { color: #1a3a5c; font-size: 1.2rem; }
.ps-undo-panel-body[b-huu5bybu53] { padding: 18px 20px; }
.ps-undo-question[b-huu5bybu53] { margin: 0 0 12px 0; color: #334155; font-size: 0.9rem; }
.ps-undo-action-box[b-huu5bybu53] { display: flex; flex-direction: column; gap: 4px; padding: 12px 14px; background: #f1f5f9; border-left: 3px solid #1a3a5c; border-radius: 8px; }
.ps-undo-action-kind[b-huu5bybu53] { display: inline-flex; align-items: center; gap: 5px; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.4px; color: #64748b; font-weight: 700; }
.ps-undo-action-label[b-huu5bybu53] { font-size: 1rem; font-weight: 700; color: #0f172a; }
.ps-undo-hint[b-huu5bybu53] { margin: 10px 0 0 0; font-size: 0.78rem; color: #64748b; }
.ps-undo-hint-chain[b-huu5bybu53] { display: inline-flex; align-items: center; gap: 5px; color: #1a3a5c; font-weight: 600; }
.ps-undo-panel-footer[b-huu5bybu53] { display: flex; gap: 10px; padding: 14px 20px; border-top: 1px solid #e2e8f0; justify-content: flex-end; }
.ps-undo-confirm-btn[b-huu5bybu53], .ps-undo-cancel-btn[b-huu5bybu53] { display: inline-flex; align-items: center; gap: 5px; padding: 8px 16px; border-radius: 8px; font-size: 0.85rem; font-weight: 600; cursor: pointer; border: 1px solid transparent; transition: all 0.15s ease; }
.ps-undo-confirm-btn[b-huu5bybu53] { background: #1a3a5c; color: #fff; }
.ps-undo-confirm-btn:hover:not(:disabled)[b-huu5bybu53] { background: #16314f; }
.ps-undo-cancel-btn[b-huu5bybu53] { background: #fff; color: #475569; border-color: #cbd5e1; }
.ps-undo-cancel-btn:hover:not(:disabled)[b-huu5bybu53] { background: #f1f5f9; }
.ps-undo-confirm-btn:disabled[b-huu5bybu53], .ps-undo-cancel-btn:disabled[b-huu5bybu53] { opacity: 0.6; cursor: default; }

.ps-list-all-btn:hover[b-huu5bybu53] {
    background: #16314f;
    transform: translateY(-1px);
}

.ps-list-all-btn i[b-huu5bybu53] {
    font-size: 0.95rem;
}

.ps-search-results[b-huu5bybu53] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.ps-search-result-card[b-huu5bybu53] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.25rem;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}

.ps-search-result-card:hover[b-huu5bybu53] {
    border-color: #1a3a5c;
    box-shadow: 0 4px 16px rgba(26, 58, 92, 0.12);
    transform: translateX(4px);
}

.ps-result-main[b-huu5bybu53] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    min-width: 0;
}

.ps-result-name[b-huu5bybu53] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 1rem;
    font-weight: 600;
    color: #1e293b;
}

.ps-result-name i[b-huu5bybu53] {
    color: #1a3a5c;
    font-size: 0.9rem;
}

.ps-result-details[b-huu5bybu53] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.ps-result-tag[b-huu5bybu53] {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.8rem;
    color: #64748b;
}

.ps-result-tag i[b-huu5bybu53] {
    font-size: 0.7rem;
    color: #94a3b8;
}

.ps-result-action[b-huu5bybu53] {
    color: #94a3b8;
    font-size: 1rem;
    flex-shrink: 0;
    transition: color 0.2s ease;
}

.ps-search-result-card:hover .ps-result-action[b-huu5bybu53] {
    color: #1a3a5c;
}

.ps-search-empty[b-huu5bybu53] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 3rem;
    color: #94a3b8;
    gap: 0.75rem;
}

.ps-search-empty i[b-huu5bybu53] {
    font-size: 2.5rem;
}

.ps-search-empty p[b-huu5bybu53] {
    font-size: 1rem;
    font-weight: 500;
}

/* ===== Szerkesztés banner ===== */
.ps-edit-banner[b-huu5bybu53] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1.25rem;
    background: #fef9ee;
    border: 1px solid #fde68a;
    border-radius: 8px;
    color: #92400e;
    font-size: 0.9rem;
    font-weight: 500;
}

.ps-edit-banner i[b-huu5bybu53] {
    font-size: 1.25rem;
}

/* ===== Szerződésállomány nézet ===== */
.ps-portfolio-container[b-huu5bybu53] {
    display: flex;
    flex-direction: column;
    padding: 2rem;
    max-width: 900px;
    margin: 0 auto;
    width: 100%;
}

.ps-portfolio-header[b-huu5bybu53] {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 2rem;
}

.ps-portfolio-title[b-huu5bybu53] {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1e293b;
}

.ps-portfolio-loading[b-huu5bybu53] {
    display: flex;
    justify-content: center;
    padding: 3rem;
}

.ps-portfolio-list[b-huu5bybu53] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.ps-portfolio-card[b-huu5bybu53] {
    display: flex;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
    overflow: hidden;
}

.ps-portfolio-card:hover[b-huu5bybu53] {
    box-shadow: 0 4px 16px rgba(26, 58, 92, 0.12);
    transform: translateX(4px);
}

.ps-portfolio-status-bar[b-huu5bybu53] {
    width: 5px;
    flex-shrink: 0;
}

.ps-bar-active[b-huu5bybu53] {
    background: #16a34a;
}

.ps-bar-expiring[b-huu5bybu53] {
    background: #d97706;
}

.ps-bar-expired[b-huu5bybu53] {
    background: #dc2626;
}

.ps-portfolio-body[b-huu5bybu53] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.25rem;
    flex: 1;
    min-width: 0;
}

.ps-portfolio-info[b-huu5bybu53] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    min-width: 0;
}

.ps-portfolio-name[b-huu5bybu53] {
    font-size: 1rem;
    font-weight: 600;
    color: #1e293b;
}

/* A dokumentum fájlnév link-szerű gomb (SAS URL-en nyílik meg, nem direkt blob link) */
.ps-portfolio-link[b-huu5bybu53] {
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    font: inherit;
    color: #1e3a5f;
    font-weight: 600;
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 2px;
}

    .ps-portfolio-link:hover[b-huu5bybu53] {
        color: #0c2541;
    }

.ps-portfolio-dates[b-huu5bybu53] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.85rem;
    color: #64748b;
}

.ps-portfolio-date[b-huu5bybu53] {
    display: flex;
    align-items: center;
    gap: 0.3rem;
}

.ps-portfolio-date i[b-huu5bybu53] {
    font-size: 0.75rem;
    color: #94a3b8;
}

.ps-portfolio-arrow[b-huu5bybu53] {
    color: #94a3b8;
}

.ps-portfolio-badge[b-huu5bybu53] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.35rem 0.85rem;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
    white-space: nowrap;
    flex-shrink: 0;
}

.ps-badge-active[b-huu5bybu53] {
    background: #f0fdf4;
    color: #16a34a;
}

.ps-badge-expiring[b-huu5bybu53] {
    background: #fef9ee;
    color: #d97706;
}

.ps-badge-expired[b-huu5bybu53] {
    background: #fef2f2;
    color: #dc2626;
}

/* ===== Feltöltő nézet ===== */
.ps-upload-container[b-huu5bybu53] {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 2rem;
    max-width: 700px;
    margin: 0 auto;
}

.ps-upload-header[b-huu5bybu53] {
    display: flex;
    align-items: center;
    gap: 1rem;
    width: 100%;
    margin-bottom: 2rem;
}

.ps-upload-title[b-huu5bybu53] {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1e293b;
}

.ps-back-btn[b-huu5bybu53] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #ffffff;
    color: #475569;
    cursor: pointer;
    font-size: 0.9rem;
    transition: all 0.2s ease;
}

.ps-back-btn:hover[b-huu5bybu53] {
    background: #f1f5f9;
    border-color: #94a3b8;
}

/* ===== Drag & Drop zóna ===== */
.ps-dropzone[b-huu5bybu53] {
    position: relative;
    width: 100%;
    min-height: 300px;
    border: 2px dashed #cbd5e1;
    border-radius: 16px;
    background: #fafbfc;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    cursor: pointer;
}

.ps-dropzone-active[b-huu5bybu53] {
    border-color: #1a3a5c;
    background: #eff6ff;
    box-shadow: 0 0 0 4px rgba(26, 58, 92, 0.1);
}

.ps-dropzone-uploading[b-huu5bybu53] {
    border-color: #94a3b8;
    cursor: wait;
}

.ps-dropzone-content[b-huu5bybu53] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    padding: 2rem;
}

.ps-dropzone-icon[b-huu5bybu53] {
    font-size: 3rem;
    color: #94a3b8;
}

.ps-dropzone-text[b-huu5bybu53] {
    font-size: 1.1rem;
    font-weight: 600;
    color: #475569;
}

.ps-dropzone-hint[b-huu5bybu53] {
    font-size: 0.85rem;
    color: #94a3b8;
}

.ps-dropzone-formats[b-huu5bybu53] {
    font-size: 0.75rem;
    color: #b0b8c4;
    margin-top: 0.25rem;
}

/* Rejtett fájlválasztó input — a JS hozza létre dinamikusan */
[b-huu5bybu53] .ps-hidden-file-input {
    display: none;
}

/* ===== Feltöltési folyamatjelző ===== */
.ps-upload-progress[b-huu5bybu53] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

.ps-upload-progress-text[b-huu5bybu53] {
    font-size: 1rem;
    color: #1a3a5c;
    font-weight: 600;
}

[b-huu5bybu53] .ps-progress-bar {
    width: 280px;
    margin-top: 0.5rem;
}

/* ===== Sikeres feltöltés ===== */
.ps-upload-success[b-huu5bybu53] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
}

.ps-success-icon[b-huu5bybu53] {
    font-size: 2.5rem;
    color: #16a34a;
}

.ps-upload-file-name[b-huu5bybu53] {
    font-size: 0.95rem;
    font-weight: 600;
    color: #1e293b;
}

.ps-upload-success-text[b-huu5bybu53] {
    font-size: 0.85rem;
    color: #16a34a;
}

/* ===== Feltöltési hiba ===== */
.ps-upload-error[b-huu5bybu53] {
    margin-top: 1rem;
    padding: 0.75rem 1.25rem;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 8px;
    color: #dc2626;
    font-size: 0.9rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

/* ===== AI banner ===== */
.ps-ai-banner[b-huu5bybu53] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1.25rem;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    color: #1a3a5c;
    font-size: 0.9rem;
    font-weight: 500;
}

.ps-ai-banner i[b-huu5bybu53] {
    font-size: 1.25rem;
}

/* ===== Form fejléc (vissza gomb) ===== */
.ps-form-header[b-huu5bybu53] {
    display: flex;
    align-items: center;
    margin-bottom: 0.5rem;
}

/* ===== Tabs ===== */
.ps-tabs[b-huu5bybu53] {
    width: 100%;
    height: 100%;
}

.ps-tab-icon[b-huu5bybu53] {
    margin-right: 0.75rem;
}

/* ===== Tartalom ===== */
.ps-content[b-huu5bybu53] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    padding: 1rem 0;
}

/* ===== Két hasábos elrendezés ===== */
.ps-two-col[b-huu5bybu53] {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 2rem;
    align-items: start;
}

/* ===== Bal hasáb ===== */
.ps-left[b-huu5bybu53] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

/* ===== Jobb hasáb: súgó ===== */
.ps-right[b-huu5bybu53] {
    position: sticky;
    top: 1rem;
    overflow-y: auto;
}

/* ===== Mezők konténer ===== */
.ps-fields[b-huu5bybu53] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

/* ===== Egy mező sor: label + input ===== */
.ps-field[b-huu5bybu53] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

[b-huu5bybu53] .ps-label {
    font-size: 0.9rem;
    color: #64748b;
    width: 180px;
    flex-shrink: 0;
}

[b-huu5bybu53] .ps-input {
    flex: 1;
    min-width: 0;
}

/* ===== Kötelező mező jelölés ===== */
.ps-required[b-huu5bybu53] {
    color: #dc2626;
    margin-left: 0.25rem;
    font-weight: 700;
}

/* ===== Validációs hiba az inputon ===== */
[b-huu5bybu53] .ps-input-error {
    border-color: #dc2626 !important;
    box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.15);
}

/* ===== Elválasztó ===== */
.ps-divider[b-huu5bybu53] {
    border: none;
    border-top: 1px solid #dce1e8;
    margin: 0;
}

/* ===== Fieldsetek egymás mellett ===== */
.ps-fieldsets[b-huu5bybu53] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

[b-huu5bybu53] .ps-fieldset {
    width: 100%;
}

[b-huu5bybu53] .ps-fieldset .ps-field {
    margin-bottom: 0.75rem;
}

[b-huu5bybu53] .ps-fieldset .ps-field:last-child {
    margin-bottom: 0;
}

/* ===== Gombok középre ===== */
.ps-actions[b-huu5bybu53] {
    display: flex;
    justify-content: center;
    gap: 1rem;
    padding-top: 0.5rem;
}

/* ===== Betöltés ===== */
.ps-loading[b-huu5bybu53] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100vh;
    width: 100%;
}

.ps-loading-text[b-huu5bybu53] {
    margin-top: 1rem;
}

/* ===== Reszponzív ===== */
@media (max-width: 992px) {
    .ps-two-col[b-huu5bybu53] {
        grid-template-columns: 1fr;
    }

    .ps-selector-cards[b-huu5bybu53] {
        flex-direction: column;
        align-items: center;
    }
}

@media (max-width: 768px) {
    .ps-field[b-huu5bybu53] {
        flex-direction: column;
        align-items: flex-start;
    }

    [b-huu5bybu53] .ps-label {
        width: auto;
    }

    [b-huu5bybu53] .ps-input {
        width: 100%;
    }

    .ps-selector-card[b-huu5bybu53] {
        width: 100%;
        max-width: 320px;
    }
}

/* ===== Új tabokhoz: rács, dashboard, címkék, dokumentumok ===== */

.ps-grid-2[b-huu5bybu53] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem 1.25rem;
}

.ps-grid-3[b-huu5bybu53] {
    display: grid;
    grid-template-columns: 2fr 1fr auto;
    gap: 0.75rem 1.25rem;
    align-items: end;
}

.ps-section-subtitle[b-huu5bybu53] {
    font-size: 1rem;
    color: #1e3a5f;
    margin: 0.5rem 0 0.5rem;
}

.ps-divider[b-huu5bybu53] {
    border: none;
    border-top: 1px solid #e5e7eb;
    margin: 1rem 0;
}

/* Címke chip-ek */
.ps-tag-list[b-huu5bybu53] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
}

.ps-tag-chip[b-huu5bybu53] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    color: #fff;
    padding: 0.25rem 0.5rem 0.25rem 0.625rem;
    border-radius: 999px;
    font-size: 0.875rem;
    box-shadow: 0 1px 2px rgba(0,0,0,0.1);
}

.ps-tag-remove[b-huu5bybu53] {
    background: rgba(255, 255, 255, 0.2);
    border: none;
    color: #fff;
    border-radius: 999px;
    width: 18px;
    height: 18px;
    line-height: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0;
}

.ps-tag-remove:hover[b-huu5bybu53] {
    background: rgba(255, 255, 255, 0.4);
}

/* Mini-dashboard kártyák */
.ps-dashboard-grid[b-huu5bybu53] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}

.ps-dashboard-card[b-huu5bybu53] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 1rem;
    box-shadow: 0 1px 2px rgba(0,0,0,0.04);
}

.ps-dashboard-label[b-huu5bybu53] {
    font-size: 0.85rem;
    color: #64748b;
    margin-bottom: 0.5rem;
}

.ps-dashboard-value[b-huu5bybu53] {
    font-size: 1.25rem;
    font-weight: 600;
    color: #1e3a5f;
}

/* Portfolio actions */
.ps-portfolio-actions[b-huu5bybu53] {
    display: flex;
    gap: 0.25rem;
    align-items: center;
}

.ps-icon-btn[b-huu5bybu53] {
    background: transparent;
    border: 1px solid #cbd5e1;
    color: #1e3a5f;
    padding: 0.4rem;
    border-radius: 6px;
    cursor: pointer;
    line-height: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.ps-icon-btn:hover[b-huu5bybu53] {
    background: #f1f5f9;
}

.ps-icon-btn-danger[b-huu5bybu53] {
    color: #dc2626;
    border-color: #fecaca;
}

.ps-icon-btn-danger:hover[b-huu5bybu53] {
    background: #fee2e2;
}

/* ===== Partner összefésülés gomb ===== */
.ps-merge-btn[b-huu5bybu53] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    background: #ffffff;
    color: #475569;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    font-size: 1.1rem;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}

.ps-merge-btn:hover[b-huu5bybu53] {
    background: #1a3a5c;
    color: #ffffff;
    border-color: #1a3a5c;
    box-shadow: 0 4px 12px rgba(26, 58, 92, 0.2);
}

/* ===== Partner összefésülés overlay ===== */
.ps-merge-overlay[b-huu5bybu53] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(15, 23, 42, 0.55);
    z-index: 1500;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    backdrop-filter: blur(4px);
}

.ps-merge-panel[b-huu5bybu53] {
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
    width: 100%;
    max-width: 560px;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #e2e8f0;
}

.ps-merge-header[b-huu5bybu53] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.1rem 1.5rem;
    background: linear-gradient(135deg, #0f2d52 0%, #1a3a5c 100%);
    color: #ffffff;
    border-bottom: 2px solid #fbbf24;
    cursor: move;
    user-select: none;
}

.ps-merge-title[b-huu5bybu53] {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 700;
    color: #ffffff !important;
    display: flex;
    align-items: center;
    gap: 0.6rem;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

.ps-merge-title i[b-huu5bybu53] {
    color: #fbbf24;
}

.ps-merge-close-btn[b-huu5bybu53] {
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.25);
    color: #ffffff;
    width: 32px;
    height: 32px;
    border-radius: 6px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.15s ease;
}

.ps-merge-close-btn:hover[b-huu5bybu53] {
    background: rgba(220, 38, 38, 0.85);
    border-color: #dc2626;
}

.ps-merge-body[b-huu5bybu53] {
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    overflow-y: auto;
    flex: 1;
    background: #f8fafc;
}

/* ===== Figyelmeztető banner ===== */
.ps-merge-warning[b-huu5bybu53] {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.85rem 1.1rem;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 10px;
    color: #92400e;
    font-size: 0.85rem;
    line-height: 1.5;
}

.ps-merge-warning i[b-huu5bybu53] {
    color: #d97706;
    font-size: 1.25rem;
    flex-shrink: 0;
    margin-top: 0.1rem;
}

/* ===== Dropdown mezők ===== */
.ps-merge-field[b-huu5bybu53] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.ps-merge-label[b-huu5bybu53] {
    font-size: 0.85rem;
    font-weight: 600;
    color: #1e293b;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.ps-merge-label i[b-huu5bybu53] {
    font-size: 0.9rem;
    color: #1a3a5c;
}

[b-huu5bybu53] .ps-merge-dropdown {
    width: 100%;
}

/* ===== Összefésülés megerősítő info ===== */
.ps-merge-confirm-info[b-huu5bybu53] {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    padding: 0.75rem 1rem;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    color: #1e40af;
    font-size: 0.85rem;
    line-height: 1.5;
}

.ps-merge-confirm-info i[b-huu5bybu53] {
    color: #3b82f6;
    font-size: 1.1rem;
    flex-shrink: 0;
    margin-top: 0.1rem;
}

/* ===== Hiba info (azonos partner) ===== */
.ps-merge-error-info[b-huu5bybu53] {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.75rem 1rem;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 8px;
    color: #dc2626;
    font-size: 0.85rem;
}

.ps-merge-error-info i[b-huu5bybu53] {
    font-size: 1.1rem;
    flex-shrink: 0;
}

/* ===== Lábléc gombok ===== */
.ps-merge-footer[b-huu5bybu53] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem;
    padding: 1rem 1.5rem;
    background: #ffffff;
    border-top: 1px solid #e2e8f0;
}

.ps-merge-execute-btn[b-huu5bybu53] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.6rem 1.25rem;
    border: none;
    border-radius: 8px;
    background: #dc2626;
    color: #ffffff;
    font-size: 0.88rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 2px 8px rgba(220, 38, 38, 0.25);
}

.ps-merge-execute-btn:hover:not(:disabled)[b-huu5bybu53] {
    background: #b91c1c;
    box-shadow: 0 4px 14px rgba(220, 38, 38, 0.35);
}

.ps-merge-execute-btn:disabled[b-huu5bybu53] {
    opacity: 0.5;
    cursor: not-allowed;
}

.ps-merge-cancel-btn[b-huu5bybu53] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.6rem 1rem;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #ffffff;
    color: #475569;
    font-size: 0.88rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s ease;
}

.ps-merge-cancel-btn:hover[b-huu5bybu53] {
    background: #f1f5f9;
    border-color: #94a3b8;
}

.ps-merge-cancel-btn:disabled[b-huu5bybu53] {
    opacity: 0.5;
    cursor: not-allowed;
}

.ps-merge-confirm[b-huu5bybu53] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
}

.ps-merge-confirm-text[b-huu5bybu53] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 16px;
    background: #fef3c7;
    border: 1px solid #f59e0b;
    border-radius: 8px;
    color: #92400e;
    font-size: 0.88rem;
    line-height: 1.5;
}

.ps-merge-confirm-text i[b-huu5bybu53] {
    flex-shrink: 0;
    font-size: 1.2rem;
    color: #d97706;
    margin-top: 2px;
}

.ps-merge-confirm-actions[b-huu5bybu53] {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
}

.ps-merge-confirm-yes[b-huu5bybu53] {
    background: #dc2626 !important;
    border-color: #dc2626 !important;
}

.ps-merge-confirm-yes:hover:not(:disabled)[b-huu5bybu53] {
    background: #b91c1c !important;
}

@media (max-width: 768px) {
    .ps-grid-2[b-huu5bybu53] {
        grid-template-columns: 1fr;
    }

    .ps-grid-3[b-huu5bybu53] {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .ps-merge-panel[b-huu5bybu53] {
        max-width: 100%;
    }
}
/* /Components/Pages/Register/RegisterComponent.razor.rz.scp.css */
/* ===== Design Tokens — Login oldalhoz illeszkedő navy/fehér/zöld téma =====
   FIGYELEM: Blazor scoped CSS-ben (*.razor.css) NEM lehet :root-ra tenni a változókat,
   mert a generálás :root[b-xxxx]-re írná át, ami nem matchel. A .register-page
   wrapper-en helyezzük el — innen öröklődik minden gyerek elemre. */
.register-page[b-6urlpfjisy] {
    --clr-primary: #1a3a5c;
    --clr-primary-dark: #0f2540;
    --clr-primary-light: rgba(26, 58, 92, 0.06);
    --clr-accent: #10b981;
    --clr-accent-dark: #059669;
    --clr-success: #10b981;
    --clr-danger: #dc2626;
    --clr-warning: #f59e0b;
    --clr-bg: #f8fafc;
    --clr-surface: #ffffff;
    --clr-dark: #0f2540;
    --clr-text: #0f2540;
    --clr-muted: #64748b;
    --clr-border: #cbd5e1;
    --radius: 16px;
    --radius-sm: 10px;
    --radius-full: 9999px;
    --shadow-sm: 0 1px 3px rgba(15, 37, 64, 0.04), 0 1px 2px rgba(15, 37, 64, 0.06);
    --shadow-lg: 0 20px 60px rgba(15, 37, 64, 0.10);
    --ease: cubic-bezier(.4,0,.2,1);
    --font: 'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif;
}

/* ===== Page ===== */
.register-page[b-6urlpfjisy] {
    font-family: var(--font);
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    background:
        radial-gradient(ellipse 80% 60% at 20% 40%, rgba(79,70,229,.06) 0%, transparent 70%),
        radial-gradient(ellipse 60% 50% at 80% 60%, rgba(6,182,212,.05) 0%, transparent 70%),
        linear-gradient(180deg, #f0f2ff 0%, var(--clr-bg) 100%);
    -webkit-font-smoothing: antialiased;
}

/* ===== Card ===== */
.register-card[b-6urlpfjisy] {
    display: grid;
    grid-template-columns: 380px 1fr;
    max-width: 960px;
    width: 100%;
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: var(--shadow-lg);
    background: var(--clr-surface);
    animation: cardIn-b-6urlpfjisy .5s var(--ease);
}

@keyframes cardIn-b-6urlpfjisy {
    from { opacity: 0; transform: translateY(20px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ===== Left Panel ===== */
.register-left[b-6urlpfjisy] {
    background: linear-gradient(135deg, var(--clr-primary), #7c3aed);
    color: #fff;
    padding: 48px 36px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

.register-left[b-6urlpfjisy]::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 20% 80%, rgba(255,255,255,.08) 0%, transparent 50%),
        radial-gradient(circle at 80% 20%, rgba(255,255,255,.06) 0%, transparent 50%);
    pointer-events: none;
}

.register-left-content[b-6urlpfjisy] {
    position: relative;
    z-index: 1;
}

.register-left .brand[b-6urlpfjisy] {
    display: block;
    text-decoration: none;
    margin-bottom: 32px;
    line-height: 0;
}

    .register-left .brand .brand-logo[b-6urlpfjisy] {
        height: 64px;
        width: auto;
        object-fit: contain;
        background: white;
        border-radius: 12px;
        padding: 12px 18px;
        box-shadow: 0 8px 24px rgba(0,0,0,.18);
    }

.register-left h2[b-6urlpfjisy] {
    font-size: 1.75rem;
    font-weight: 800;
    line-height: 1.2;
    margin: 0 0 12px;
    letter-spacing: -.02em;
}

.register-left p[b-6urlpfjisy] {
    font-size: .95rem;
    color: rgba(255,255,255,.8);
    line-height: 1.6;
    margin-bottom: 36px;
}

.benefits[b-6urlpfjisy] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.benefit[b-6urlpfjisy] {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: .9rem;
    color: rgba(255,255,255,.9);
}

:deep(.benefit .rz-icon)[b-6urlpfjisy] {
    font-size: 20px;
    color: #a5f3fc;
}

/* ===== Right Panel (Form) ===== */
.register-right[b-6urlpfjisy] {
    padding: 40px 44px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.register-header[b-6urlpfjisy] {
    margin-bottom: 32px;
}

.register-header h1[b-6urlpfjisy] {
    font-size: 1.6rem;
    font-weight: 800;
    color: var(--clr-dark);
    margin: 0 0 8px;
    letter-spacing: -.02em;
}

.register-header p[b-6urlpfjisy] {
    font-size: .9rem;
    color: var(--clr-muted);
    margin: 0;
}

.register-header a[b-6urlpfjisy] {
    color: var(--clr-primary);
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: color .2s;
}

.register-header a:hover[b-6urlpfjisy] {
    color: var(--clr-primary-dark);
}

/* ===== Szekció elválasztó ===== */
.section-divider[b-6urlpfjisy] {
    border: none;
    border-top: 1px solid var(--clr-border);
    margin: 8px 0 20px;
}

/* ===== Form Grid ===== */
.form-grid[b-6urlpfjisy] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px 20px;
    margin-bottom: 28px;
}

.field[b-6urlpfjisy] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.field.full-width[b-6urlpfjisy] {
    grid-column: 1 / -1;
}

.field-label[b-6urlpfjisy] {
    font-size: .85rem;
    font-weight: 600;
    color: var(--clr-dark);
}

.field-label.required[b-6urlpfjisy]::after {
    content: " *";
    color: var(--clr-danger);
    font-weight: 700;
}

:deep(.register-right .rz-textbox)[b-6urlpfjisy],
:deep(.register-right .rz-password)[b-6urlpfjisy],
:deep(.register-right .rz-dropdown)[b-6urlpfjisy] {
    border: 1.5px solid var(--clr-border);
    border-radius: var(--radius-sm);
    padding: 12px 14px;
    font-size: .925rem;
    font-family: var(--font);
    background: var(--clr-surface);
    transition: all .25s var(--ease);
}

:deep(.register-right .rz-textbox:focus)[b-6urlpfjisy],
:deep(.register-right .rz-password:focus)[b-6urlpfjisy],
:deep(.register-right .rz-dropdown:focus)[b-6urlpfjisy] {
    outline: none;
    border-color: var(--clr-primary);
    box-shadow: 0 0 0 4px var(--clr-primary-light);
}

:deep(.register-right .rz-textbox:hover)[b-6urlpfjisy],
:deep(.register-right .rz-password:hover)[b-6urlpfjisy],
:deep(.register-right .rz-dropdown:hover)[b-6urlpfjisy] {
    border-color: var(--clr-muted);
}

/* ===== Password Strength — szegmentált, színes jelző ===== */
.password-strength[b-6urlpfjisy] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 8px;
}

/* Három szegmens egymás mellett — modern, jól látható */
.strength-bars[b-6urlpfjisy] {
    display: flex;
    flex: 1;
    gap: 5px;
}

.strength-bars .seg[b-6urlpfjisy] {
    flex: 1;
    height: 8px;
    background: var(--clr-border);
    border-radius: 4px;
    transition: background .35s var(--ease), box-shadow .35s var(--ease);
}

/* Hányadik szegmenst világítjuk meg melyik erősségnél */
.strength-bars.strength-weak .seg:nth-child(1)[b-6urlpfjisy] {
    background: var(--clr-danger);
    box-shadow: 0 0 6px rgba(220, 38, 38, .35);
}

.strength-bars.strength-medium .seg:nth-child(-n+2)[b-6urlpfjisy] {
    background: var(--clr-warning);
    box-shadow: 0 0 6px rgba(245, 158, 11, .35);
}

.strength-bars.strength-strong .seg[b-6urlpfjisy] {
    background: var(--clr-success);
    box-shadow: 0 0 6px rgba(16, 185, 129, .35);
}

/* Label — színe a jelenlegi erősséghez igazodik, ikon mellé */
.strength-label[b-6urlpfjisy] {
    font-size: .82rem;
    font-weight: 600;
    color: var(--clr-muted);
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-width: 90px;
    transition: color .3s var(--ease);
}

.strength-label .ti[b-6urlpfjisy] {
    font-size: 1rem;
}

.strength-label.strength-none[b-6urlpfjisy]   { color: var(--clr-muted); }
.strength-label.strength-weak[b-6urlpfjisy]   { color: var(--clr-danger); }
.strength-label.strength-medium[b-6urlpfjisy] { color: var(--clr-warning); }
.strength-label.strength-strong[b-6urlpfjisy] { color: var(--clr-success); }

/* ===== Mezőszintű hibajelzés — piros keret + sub-text ===== */
.field-invalid :deep(.rz-textbox)[b-6urlpfjisy],
.field-invalid :deep(.rz-textbox-wrapper)[b-6urlpfjisy],
.field-invalid :deep(input)[b-6urlpfjisy] {
    border-color: var(--clr-danger) !important;
    box-shadow: 0 0 0 2px rgba(220, 38, 38, .12) !important;
}

.field-invalid .field-label[b-6urlpfjisy] {
    color: var(--clr-danger);
}

/* ===== Actions ===== */
.register-actions[b-6urlpfjisy] {
    display: flex;
    gap: 12px;
}

:deep(.register-actions .rz-button)[b-6urlpfjisy] {
    border-radius: var(--radius-sm);
    padding: 12px 28px;
    font-weight: 600;
    font-size: .925rem;
    transition: all .25s var(--ease);
}

:deep(.register-actions .rz-button.rz-primary)[b-6urlpfjisy] {
    background: linear-gradient(135deg, var(--clr-primary), var(--clr-primary-dark));
    box-shadow: 0 4px 14px rgba(79,70,229,.3);
    flex: 1;
}

:deep(.register-actions .rz-button.rz-primary:hover)[b-6urlpfjisy] {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(79,70,229,.4);
}

:deep(.register-actions .rz-button.rz-light)[b-6urlpfjisy] {
    background: var(--clr-bg);
    color: var(--clr-text);
    border: 1.5px solid var(--clr-border);
}

:deep(.register-actions .rz-button.rz-light:hover)[b-6urlpfjisy] {
    background: var(--clr-border);
    transform: translateY(-2px);
}

/* ===== Responsive ===== */
@media (max-width: 768px) {
    .register-page[b-6urlpfjisy] { padding: 1rem; }

    .register-card[b-6urlpfjisy] {
        grid-template-columns: 1fr;
        max-width: 520px;
    }

    .register-left[b-6urlpfjisy] {
        padding: 32px 28px;
    }

    .register-left h2[b-6urlpfjisy] { font-size: 1.4rem; }

    .register-right[b-6urlpfjisy] {
        padding: 28px 24px;
    }

    .form-grid[b-6urlpfjisy] {
        grid-template-columns: 1fr;
    }

    .field.full-width[b-6urlpfjisy] {
        grid-column: auto;
    }

    .register-actions[b-6urlpfjisy] {
        flex-direction: column;
    }
}

@media (max-width: 480px) {
    .register-left[b-6urlpfjisy] {
        padding: 24px 20px;
    }

    .register-right[b-6urlpfjisy] {
        padding: 24px 20px;
    }

    .register-header h1[b-6urlpfjisy] { font-size: 1.3rem; }
}

/* ============================================================
   LOGIN STÍLUSHOZ ILLESZKEDŐ OVERRIDE-OK
   ============================================================ */

/* Bal oldali (navy) brand logo — keret nélkül, fehér színű, mint a Login jobb oldalán
   A "full" brand → csak logó png-re cseréltük a markupban */
.register-left .brand[b-6urlpfjisy] {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 28px;
}

    .register-left .brand .brand-logo[b-6urlpfjisy] {
        height: 96px !important;
        background: transparent !important;
        border-radius: 0 !important;
        padding: 0 !important;
        box-shadow: none !important;
        filter: brightness(0) invert(1); /* a navy háttéren fehér színű logó */
    }

/* Bal panel — navy gradient, login mintára */
.register-left[b-6urlpfjisy] {
    background: linear-gradient(135deg, var(--clr-primary) 0%, var(--clr-primary-dark) 100%) !important;
}

/* Bal panel "::before" overlay — finom zöld accent gradient (mint a positioning band-en) */
.register-left[b-6urlpfjisy]::before {
    background:
        radial-gradient(circle at 25% 50%, rgba(16, 185, 129, 0.15), transparent 40%),
        radial-gradient(circle at 80% 30%, rgba(255, 255, 255, 0.06), transparent 50%) !important;
}

/* "Már van fiókja? Bejelentkezés" link hangsúlyosabb — zöld accent CTA */
.register-header p[b-6urlpfjisy] {
    font-size: 0.98rem;
    padding: 10px 16px;
    background: rgba(16, 185, 129, 0.06);
    border: 1px solid rgba(16, 185, 129, 0.30);
    border-radius: 10px;
    display: inline-block;
    margin-top: 8px !important;
}

.register-header a[b-6urlpfjisy] {
    color: var(--clr-accent) !important;
    font-weight: 700 !important;
    font-size: 1.02rem;
    margin-left: 4px;
}

    .register-header a[b-6urlpfjisy]::after {
        content: ' →';
        display: inline-block;
        transition: transform 0.2s;
    }

    .register-header a:hover[b-6urlpfjisy] {
        color: var(--clr-accent-dark) !important;
        text-decoration: underline;
    }

    .register-header a:hover[b-6urlpfjisy]::after {
        transform: translateX(3px);
    }

/* Registration + Cancel gombok — középre rendezve, hover-on nem mozdulnak el */
.register-actions[b-6urlpfjisy] {
    justify-content: center !important;
    gap: 16px !important;
}

:deep(.register-actions .rz-button)[b-6urlpfjisy] {
    flex: 0 1 auto !important;
    min-width: 200px;
}

/* Hover-on NINCS transform (a form ne mozogjon gépelés közben), csak árnyék-erősödés */
:deep(.register-actions .rz-button.rz-primary)[b-6urlpfjisy] {
    background: linear-gradient(135deg, var(--clr-primary), var(--clr-primary-dark)) !important;
    box-shadow: 0 4px 14px rgba(26, 58, 92, 0.25) !important;
}

:deep(.register-actions .rz-button.rz-primary:hover)[b-6urlpfjisy] {
    transform: none !important;
    box-shadow: 0 6px 20px rgba(26, 58, 92, 0.35) !important;
}

:deep(.register-actions .rz-button.rz-light:hover)[b-6urlpfjisy] {
    transform: none !important;
    background: var(--clr-border) !important;
}

/* Card panel: hover-on NE mozogjon (gépelés közbeni ugrálás megelőzése) */
.register-card[b-6urlpfjisy],
.register-right[b-6urlpfjisy] {
    transition: box-shadow 0.25s var(--ease) !important;
    transform: none !important;
}

.register-card:hover[b-6urlpfjisy],
.register-right:hover[b-6urlpfjisy] {
    transform: none !important;
}

/* Mobilon a két gomb sztrechelt 100% szélesség, középre */
@media (max-width: 768px) {
    .register-actions[b-6urlpfjisy] {
        flex-direction: column;
        align-items: stretch !important;
    }
    :deep(.register-actions .rz-button)[b-6urlpfjisy] {
        min-width: 0;
        width: 100%;
    }
}
/* /Components/Pages/Reports/ReportsComponent.razor.rz.scp.css */
/* ===== Container ===== */
.rp-container[b-a3glp6jj0y] {
    max-width: 900px;
    margin: 0 auto;
    padding: 24px;
}

.rp-header[b-a3glp6jj0y] {
    margin-bottom: 20px;
}

.rp-title[b-a3glp6jj0y] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 6px 0;
    font-size: 22px;
    color: #0f2444;
    font-weight: 700;
}

.rp-title i[b-a3glp6jj0y] {
    color: #0f2444;
    font-size: 24px;
}

.rp-subtitle[b-a3glp6jj0y] {
    margin: 0;
    color: #64748b;
    font-size: 13px;
}

/* ===== Riport kártya ===== */
.rp-card[b-a3glp6jj0y] {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(15, 36, 68, 0.06);
    margin-bottom: 16px;
}

.rp-card-head[b-a3glp6jj0y] {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 20px;
    background: linear-gradient(135deg, #0f2444 0%, #1e3a5f 100%);
    color: #fff;
}

.rp-card-icon[b-a3glp6jj0y] {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.12);
    border-radius: 12px;
}

.rp-card-icon i[b-a3glp6jj0y] {
    font-size: 24px;
}

.rp-card-info[b-a3glp6jj0y] {
    flex: 1;
}

.rp-card-title[b-a3glp6jj0y] {
    margin: 0 0 4px 0;
    font-size: 18px;
    font-weight: 700;
    color: #fff;
}

.rp-card-desc[b-a3glp6jj0y] {
    margin: 0;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.92);
    line-height: 1.5;
}

/* ===== Szekciók ===== */
.rp-section[b-a3glp6jj0y] {
    padding: 20px;
    border-bottom: 1px solid #f1f5f9;
}

.rp-section:last-child[b-a3glp6jj0y] {
    border-bottom: none;
}

.rp-section-label[b-a3glp6jj0y] {
    display: block;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: #64748b;
    margin-bottom: 10px;
}

/* ===== Preset gombok ===== */
.rp-preset-row[b-a3glp6jj0y] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.rp-preset[b-a3glp6jj0y] {
    padding: 8px 14px;
    background: #f1f5f9;
    border: 1px solid transparent;
    border-radius: 8px;
    color: #475569;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.15s, border-color 0.15s, color 0.15s;
}

.rp-preset:hover[b-a3glp6jj0y] {
    background: #e2e8f0;
}

.rp-preset.active[b-a3glp6jj0y] {
    background: #0f2444;
    color: #fff;
    border-color: #0f2444;
}

/* ===== Dátum mezők ===== */
.rp-date-row[b-a3glp6jj0y] {
    display: flex;
    gap: 16px;
}

.rp-date-field[b-a3glp6jj0y] {
    flex: 1;
}

.rp-date-label[b-a3glp6jj0y] {
    display: block;
    font-size: 12px;
    color: #475569;
    margin-bottom: 6px;
    font-weight: 500;
}

/* ===== Akció (generálás gomb) ===== */
.rp-action[b-a3glp6jj0y] {
    padding: 16px 20px;
    background: #f8fafc;
}

.rp-generate-btn[b-a3glp6jj0y] {
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 20px;
    background: #0f2444;
    border: none;
    border-radius: 8px;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.15s, transform 0.1s;
}

.rp-generate-btn:hover:not(:disabled)[b-a3glp6jj0y] {
    background: #1e3a5f;
    transform: translateY(-1px);
}

.rp-generate-btn:disabled[b-a3glp6jj0y] {
    background: #94a3b8;
    cursor: not-allowed;
}

.rp-generate-btn i[b-a3glp6jj0y] {
    font-size: 16px;
}

.rp-generate-btn .spin[b-a3glp6jj0y] {
    animation: rp-spin-b-a3glp6jj0y 1s linear infinite;
}

@keyframes rp-spin-b-a3glp6jj0y {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

/* ===== Info doboz ===== */
.rp-info-box[b-a3glp6jj0y] {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-radius: 12px;
    padding: 16px 20px;
}

.rp-info-title[b-a3glp6jj0y] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 10px 0;
    color: #166534;
    font-size: 14px;
    font-weight: 600;
}

.rp-info-title i[b-a3glp6jj0y] {
    font-size: 16px;
}

.rp-info-list[b-a3glp6jj0y] {
    margin: 0;
    padding-left: 20px;
    color: #15803d;
    font-size: 13px;
    line-height: 1.7;
}

.rp-info-list li[b-a3glp6jj0y] {
    margin-bottom: 2px;
}

/* ===== Mobil ===== */
@media (max-width: 600px) {
    .rp-date-row[b-a3glp6jj0y] {
        flex-direction: column;
    }

    .rp-card-head[b-a3glp6jj0y] {
        flex-direction: column;
        align-items: stretch;
    }
}
/* /Components/Pages/ResetPassword/ResetPasswordComponent.razor.rz.scp.css */
.rp-container[b-k4uc3tsthw] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    background: linear-gradient(135deg, #0f172a 0%, #1a3a5c 100%);
    padding: 2rem;
}

.rp-box[b-k4uc3tsthw] {
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    width: 100%;
    max-width: 480px;
    overflow: hidden;
}

.rp-content[b-k4uc3tsthw] {
    padding: 2.5rem 2rem;
}

.rp-header[b-k4uc3tsthw] {
    text-align: center;
    margin-bottom: 1.5rem;
}

.rp-brand[b-k4uc3tsthw] {
    display: inline-block;
    margin-bottom: 1.25rem;
}

.rp-brand-logo[b-k4uc3tsthw] {
    max-width: 180px;
    height: auto;
}

.rp-icon[b-k4uc3tsthw] {
    width: 64px;
    height: 64px;
    margin: 0 auto 1rem;
    border-radius: 50%;
    background: linear-gradient(135deg, #1a3a5c 0%, #2563eb 100%);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
}

.rp-icon-error[b-k4uc3tsthw] {
    background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%);
}

.rp-title[b-k4uc3tsthw] {
    font-size: 1.5rem;
    color: #1a3a5c;
    margin: 0 0 0.5rem;
    font-weight: 700;
}

.rp-subtitle[b-k4uc3tsthw] {
    color: #64748b;
    font-size: 0.9rem;
    text-align: center;
    margin: 0 0 1.5rem 0;
}

    .rp-subtitle strong[b-k4uc3tsthw] {
        color: #1a3a5c;
    }

.rp-form[b-k4uc3tsthw] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.rp-form-group[b-k4uc3tsthw] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

    .rp-form-group label[b-k4uc3tsthw] {
        font-size: 0.85rem;
        color: #1a3a5c;
        font-weight: 600;
    }

.rp-btn[b-k4uc3tsthw] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.75rem 1.25rem;
    border: none;
    border-radius: 8px;
    font-size: 0.95rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s;
    margin-top: 0.5rem;
}

.rp-btn-primary[b-k4uc3tsthw] {
    background: linear-gradient(135deg, #1a3a5c 0%, #2563eb 100%);
    color: #fff;
}

    .rp-btn-primary:hover:not([disabled])[b-k4uc3tsthw] {
        background: linear-gradient(135deg, #0c2541 0%, #1d4ed8 100%);
    }

    .rp-btn-primary[disabled][b-k4uc3tsthw] {
        opacity: 0.6;
        cursor: wait;
    }

.rp-error[b-k4uc3tsthw],
.rp-success[b-k4uc3tsthw] {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.75rem;
    padding: 1rem 0;
}

.rp-error p[b-k4uc3tsthw] {
    color: #dc2626;
    margin: 0;
}

.rp-success[b-k4uc3tsthw] {
    color: #15803d;
}

    .rp-success i[b-k4uc3tsthw] {
        font-size: 3rem;
    }

    .rp-success p[b-k4uc3tsthw] {
        color: #1e293b;
        margin: 0;
    }

.rp-footer[b-k4uc3tsthw] {
    margin-top: 1.5rem;
    text-align: center;
    font-size: 0.85rem;
}

    .rp-footer a[b-k4uc3tsthw] {
        color: #64748b;
        text-decoration: none;
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
    }

        .rp-footer a:hover[b-k4uc3tsthw] {
            color: #1a3a5c;
        }

/* ===== Jelszó erősség jelző — szegmentált, színes (azonos a regisztrációval) ===== */
.rp-pwd-strength[b-k4uc3tsthw] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 8px;
}

/* Három szegmens egymás mellett */
.rp-strength-bars[b-k4uc3tsthw] {
    display: flex;
    flex: 1;
    gap: 5px;
}

.rp-strength-bars .rp-seg[b-k4uc3tsthw] {
    flex: 1;
    height: 8px;
    background: #cbd5e1;
    border-radius: 4px;
    transition: background .35s cubic-bezier(.4,0,.2,1), box-shadow .35s cubic-bezier(.4,0,.2,1);
}

/* Erősség-szint szerint a megfelelő számú szegmens világít */
.rp-pwd-strength.strength-weak .rp-seg:nth-child(1)[b-k4uc3tsthw] {
    background: #dc2626;
    box-shadow: 0 0 6px rgba(220, 38, 38, .35);
}

.rp-pwd-strength.strength-medium .rp-seg:nth-child(-n+2)[b-k4uc3tsthw] {
    background: #f59e0b;
    box-shadow: 0 0 6px rgba(245, 158, 11, .35);
}

.rp-pwd-strength.strength-strong .rp-seg[b-k4uc3tsthw] {
    background: #10b981;
    box-shadow: 0 0 6px rgba(16, 185, 129, .35);
}

/* Label — ikon mellé, színe az erősséghez igazodik */
.rp-strength-label[b-k4uc3tsthw] {
    font-size: .82rem;
    font-weight: 600;
    color: #64748b;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-width: 90px;
    transition: color .3s cubic-bezier(.4,0,.2,1);
}

.rp-strength-label .ti[b-k4uc3tsthw] {
    font-size: 1rem;
}

.rp-pwd-strength.strength-weak .rp-strength-label[b-k4uc3tsthw]   { color: #dc2626; }
.rp-pwd-strength.strength-medium .rp-strength-label[b-k4uc3tsthw] { color: #f59e0b; }
.rp-pwd-strength.strength-strong .rp-strength-label[b-k4uc3tsthw] { color: #10b981; }
/* /Components/Pages/Tickets/TicketDetailComponent.razor.rz.scp.css */
/* ===== Ticket Detail oldal ===== */

.tkd-container[b-3mfhwd0v05] {
    --tkd-primary: #1a3a5c;
    --tkd-primary-dark: #0f2540;
    --tkd-bg: #f8fafc;
    --tkd-surface: #ffffff;
    --tkd-text: #0f2540;
    --tkd-muted: #64748b;
    --tkd-border: #cbd5e1;
    --tkd-success: #10b981;
    --tkd-warning: #f59e0b;
    --tkd-danger: #dc2626;
    --tkd-info: #0ea5e9;

    padding: 24px;
    max-width: 1400px;
    margin: 0 auto;
    font-family: 'Inter', 'Segoe UI', system-ui, sans-serif;
    color: var(--tkd-text);
}

.tkd-loading[b-3mfhwd0v05] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 60px;
}

.tkd-notfound[b-3mfhwd0v05] {
    text-align: center;
    padding: 60px;
    background: var(--tkd-surface);
    border: 2px dashed var(--tkd-border);
    border-radius: 12px;
}

.tkd-notfound .ti[b-3mfhwd0v05] {
    font-size: 3rem;
    color: var(--tkd-danger);
    margin-bottom: 12px;
}

/* ===== Vissza link ===== */
.tkd-back[b-3mfhwd0v05] {
    background: transparent;
    border: none;
    color: var(--tkd-muted);
    cursor: pointer;
    font-size: .92rem;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 6px;
    margin-bottom: 16px;
    transition: all .2s;
}

.tkd-back:hover[b-3mfhwd0v05] {
    background: #f1f5f9;
    color: var(--tkd-text);
}

/* ===== Layout ===== */
.tkd-layout[b-3mfhwd0v05] {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 24px;
}

@@media (max-width: 1024px) {
    .tkd-layout[b-3mfhwd0v05] {
        grid-template-columns: 1fr;
    }
}

.tkd-main[b-3mfhwd0v05] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* ===== Header kártya ===== */
.tkd-header-card[b-3mfhwd0v05] {
    display: flex;
    gap: 16px;
    padding: 20px;
    background: var(--tkd-surface);
    border: 1px solid var(--tkd-border);
    border-radius: 12px;
    margin-bottom: 8px;
}

.tkd-header-icon[b-3mfhwd0v05] {
    width: 52px;
    height: 52px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: #eef2ff;
    color: var(--tkd-primary);
    font-size: 1.6rem;
}

.tkd-header-icon.tk-prio-critical[b-3mfhwd0v05] { background: #fee2e2; color: var(--tkd-danger); }
.tkd-header-icon.tk-prio-high[b-3mfhwd0v05]     { background: #ffedd5; color: #c2410c; }
.tkd-header-icon.tk-prio-normal[b-3mfhwd0v05]   { background: #e0e7ff; color: var(--tkd-primary); }
.tkd-header-icon.tk-prio-low[b-3mfhwd0v05]      { background: #e5e7eb; color: var(--tkd-muted); }

.tkd-header-text[b-3mfhwd0v05] {
    flex: 1;
    min-width: 0;
}

.tkd-header-top[b-3mfhwd0v05] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 8px;
}

.tkd-subject[b-3mfhwd0v05] {
    margin: 0;
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--tkd-text);
}

.tkd-status[b-3mfhwd0v05] {
    font-size: .72rem;
    font-weight: 700;
    padding: 5px 12px;
    border-radius: 9999px;
    text-transform: uppercase;
    letter-spacing: .03em;
    white-space: nowrap;
    flex-shrink: 0;
}

.tk-badge-open[b-3mfhwd0v05]               { background: #dbeafe; color: #1e40af; }
.tk-badge-progress[b-3mfhwd0v05]           { background: #fef3c7; color: #92400e; }
.tk-badge-waiting-customer[b-3mfhwd0v05]   { background: #ede9fe; color: #6d28d9; }
.tk-badge-waiting-dev[b-3mfhwd0v05]        { background: #ffedd5; color: #c2410c; }
.tk-badge-resolved[b-3mfhwd0v05]           { background: #d1fae5; color: #065f46; }
.tk-badge-closed[b-3mfhwd0v05]             { background: #e5e7eb; color: #374151; }

.tkd-header-meta[b-3mfhwd0v05] {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    color: var(--tkd-muted);
    font-size: .85rem;
}

.tkd-header-meta span[b-3mfhwd0v05] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.tkd-header-meta .tk-prio-critical[b-3mfhwd0v05] { color: var(--tkd-danger); font-weight: 600; }
.tkd-header-meta .tk-prio-high[b-3mfhwd0v05]     { color: #c2410c; font-weight: 600; }

/* ===== Üzenet thread ===== */
.tkd-message[b-3mfhwd0v05] {
    background: var(--tkd-surface);
    border: 1px solid var(--tkd-border);
    border-radius: 12px;
    padding: 16px 20px;
    transition: border-color .2s;
}

.tkd-message-admin[b-3mfhwd0v05] {
    border-left: 3px solid var(--tkd-primary);
    background: #f7faff;
}

.tkd-message-customer[b-3mfhwd0v05] {
    border-left: 3px solid var(--tkd-success);
}

.tkd-message-internal[b-3mfhwd0v05] {
    background: #fef9c3;
    border: 1px dashed #ca8a04;
    border-left: 3px solid #ca8a04;
}

.tkd-message-header[b-3mfhwd0v05] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.tkd-avatar[b-3mfhwd0v05] {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--tkd-success), #059669);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: .95rem;
    flex-shrink: 0;
}

.tkd-avatar-admin[b-3mfhwd0v05] {
    background: linear-gradient(135deg, var(--tkd-primary), var(--tkd-primary-dark));
}

.tkd-message-meta[b-3mfhwd0v05] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    font-size: .88rem;
}

.tkd-message-meta strong[b-3mfhwd0v05] {
    color: var(--tkd-text);
}

.tkd-time[b-3mfhwd0v05] {
    color: var(--tkd-muted);
    font-size: .8rem;
}

.tkd-badge[b-3mfhwd0v05] {
    font-size: .68rem;
    padding: 2px 8px;
    border-radius: 9999px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    display: inline-flex;
    align-items: center;
    gap: 3px;
}

.tkd-badge-admin[b-3mfhwd0v05] {
    background: var(--tkd-primary);
    color: #fff;
}

.tkd-badge-internal[b-3mfhwd0v05] {
    background: #ca8a04;
    color: #fff;
}

.tkd-message-body[b-3mfhwd0v05] {
    color: var(--tkd-text);
    line-height: 1.55;
    white-space: pre-wrap;
    word-wrap: break-word;
    font-size: .95rem;
}

/* ===== Válasz form ===== */
.tkd-reply[b-3mfhwd0v05] {
    background: var(--tkd-surface);
    border: 1px solid var(--tkd-border);
    border-radius: 12px;
    padding: 20px;
    margin-top: 8px;
}

.tkd-reply h4[b-3mfhwd0v05] {
    margin: 0 0 12px;
    font-size: 1rem;
    color: var(--tkd-primary);
    display: flex;
    align-items: center;
    gap: 8px;
}

.tkd-reply textarea[b-3mfhwd0v05] {
    width: 100%;
    padding: 12px;
    border: 1px solid var(--tkd-border);
    border-radius: 8px;
    font-family: inherit;
    font-size: .95rem;
    color: var(--tkd-text);
    resize: vertical;
    min-height: 100px;
    box-sizing: border-box;
    transition: border-color .15s, box-shadow .15s;
}

.tkd-reply textarea:focus[b-3mfhwd0v05] {
    outline: none;
    border-color: var(--tkd-primary);
    box-shadow: 0 0 0 3px rgba(26, 58, 92, .08);
}

.tkd-internal-toggle[b-3mfhwd0v05] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 12px 0;
    padding: 10px 14px;
    background: #fef9c3;
    border: 1px dashed #ca8a04;
    border-radius: 8px;
    cursor: pointer;
    font-size: .88rem;
    color: #854d0e;
}

.tkd-internal-toggle input[b-3mfhwd0v05] {
    margin: 0;
    cursor: pointer;
}

.tkd-internal-toggle .ti[b-3mfhwd0v05] {
    color: #ca8a04;
}

.tkd-internal-toggle small[b-3mfhwd0v05] {
    color: #92400e;
    font-style: italic;
    margin-left: auto;
}

.tkd-reply-actions[b-3mfhwd0v05] {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 12px;
}

.tkd-closed-notice[b-3mfhwd0v05] {
    background: #f3f4f6;
    border: 1px solid var(--tkd-border);
    border-radius: 10px;
    padding: 16px 20px;
    text-align: center;
    color: var(--tkd-muted);
    font-style: italic;
}

.tkd-closed-notice .ti[b-3mfhwd0v05] {
    margin-right: 6px;
}

/* ===== Admin sidebar ===== */
.tkd-sidebar[b-3mfhwd0v05] {
    background: var(--tkd-surface);
    border: 1px solid var(--tkd-border);
    border-radius: 12px;
    padding: 20px;
    height: fit-content;
    position: sticky;
    top: 20px;
}

.tkd-sidebar h4[b-3mfhwd0v05] {
    margin: 0 0 16px;
    font-size: 1rem;
    color: var(--tkd-primary);
    display: flex;
    align-items: center;
    gap: 8px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--tkd-border);
}

.tkd-sidebar-group[b-3mfhwd0v05] {
    margin-bottom: 18px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.tkd-sidebar-group label[b-3mfhwd0v05] {
    font-size: .78rem;
    font-weight: 700;
    color: var(--tkd-muted);
    text-transform: uppercase;
    letter-spacing: .04em;
}

.tkd-sidebar-group select[b-3mfhwd0v05] {
    padding: 8px 12px;
    border: 1px solid var(--tkd-border);
    border-radius: 6px;
    font-size: .9rem;
    background: #fff;
    color: var(--tkd-text);
    cursor: pointer;
    width: 100%;
}

.tkd-sidebar-group select:focus[b-3mfhwd0v05] {
    outline: none;
    border-color: var(--tkd-primary);
    box-shadow: 0 0 0 3px rgba(26, 58, 92, .08);
}

.tkd-assigned-display[b-3mfhwd0v05] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    background: #f1f5f9;
    border-radius: 6px;
    color: var(--tkd-text);
    font-size: .9rem;
}

/* ===== Gombok ===== */
.tkd-btn[b-3mfhwd0v05] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    border-radius: 8px;
    border: none;
    font-weight: 600;
    font-size: .92rem;
    cursor: pointer;
    transition: all .2s;
    white-space: nowrap;
}

.tkd-btn-primary[b-3mfhwd0v05] {
    background: linear-gradient(135deg, var(--tkd-primary), var(--tkd-primary-dark));
    color: #fff;
    box-shadow: 0 4px 12px rgba(26, 58, 92, .2);
}

.tkd-btn-primary:hover:not([disabled])[b-3mfhwd0v05] {
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(26, 58, 92, .3);
}

.tkd-btn-ghost[b-3mfhwd0v05] {
    background: transparent;
    color: var(--tkd-muted);
    border: 1px solid var(--tkd-border);
}

.tkd-btn-ghost:hover:not([disabled])[b-3mfhwd0v05] {
    background: #f1f5f9;
    color: var(--tkd-text);
}

.tkd-btn-sidebar[b-3mfhwd0v05] {
    width: 100%;
    justify-content: center;
    padding: 8px 12px;
    font-size: .85rem;
    background: var(--tkd-primary);
    color: #fff;
}

.tkd-btn-sidebar:hover:not([disabled])[b-3mfhwd0v05] {
    background: var(--tkd-primary-dark);
}

.tkd-btn-sidebar-danger[b-3mfhwd0v05] {
    background: transparent;
    color: var(--tkd-danger);
    border: 1px solid var(--tkd-danger);
}

.tkd-btn-sidebar-danger:hover:not([disabled])[b-3mfhwd0v05] {
    background: var(--tkd-danger);
    color: #fff;
}

.tkd-btn[disabled][b-3mfhwd0v05] {
    opacity: .55;
    cursor: not-allowed;
}

/* ===== Spin ===== */
.ti-spin[b-3mfhwd0v05] {
    animation: tkd-spin 1s linear infinite;
}

@@keyframes tkd-spin {
    from[b-3mfhwd0v05] { transform: rotate(0deg); }
    to[b-3mfhwd0v05]   { transform: rotate(360deg); }
}
/* /Components/Pages/Tickets/TicketsComponent.razor.rz.scp.css */
/* ===== Ticket lista oldal ===== */

.tk-container[b-3lfusqzjjg] {
    --tk-primary: #1a3a5c;
    --tk-primary-dark: #0f2540;
    --tk-bg: #f8fafc;
    --tk-surface: #ffffff;
    --tk-text: #0f2540;
    --tk-muted: #64748b;
    --tk-border: #cbd5e1;
    --tk-success: #10b981;
    --tk-warning: #f59e0b;
    --tk-danger: #dc2626;
    --tk-info: #0ea5e9;

    padding: 24px;
    max-width: 1400px;
    margin: 0 auto;
    font-family: 'Inter', 'Segoe UI', system-ui, sans-serif;
    color: var(--tk-text);
}

.tk-loading[b-3lfusqzjjg] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 60px;
}

/* ===== Fejléc ===== */
.tk-header[b-3lfusqzjjg] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 24px;
    gap: 24px;
    flex-wrap: wrap;
}

.tk-header-left[b-3lfusqzjjg] {
    flex: 1;
}

.tk-title[b-3lfusqzjjg] {
    font-size: 1.6rem;
    font-weight: 700;
    margin: 0 0 4px 0;
    color: var(--tk-primary);
    display: flex;
    align-items: center;
    gap: 10px;
}

.tk-title .ti[b-3lfusqzjjg] {
    color: var(--tk-info);
}

.tk-subtitle[b-3lfusqzjjg] {
    color: var(--tk-muted);
    margin: 0;
    font-size: .92rem;
}

/* ===== Gombok ===== */
.tk-btn[b-3lfusqzjjg] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    border-radius: 8px;
    border: none;
    font-weight: 600;
    font-size: .92rem;
    cursor: pointer;
    transition: all .2s;
    white-space: nowrap;
}

.tk-btn-primary[b-3lfusqzjjg] {
    background: linear-gradient(135deg, var(--tk-primary), var(--tk-primary-dark));
    color: #fff;
    box-shadow: 0 4px 12px rgba(26, 58, 92, .2);
}

.tk-btn-primary:hover:not([disabled])[b-3lfusqzjjg] {
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(26, 58, 92, .3);
}

.tk-btn-ghost[b-3lfusqzjjg] {
    background: transparent;
    color: var(--tk-muted);
    border: 1px solid var(--tk-border);
}

.tk-btn-ghost:hover:not([disabled])[b-3lfusqzjjg] {
    background: #f1f5f9;
    color: var(--tk-text);
}

.tk-btn[disabled][b-3lfusqzjjg] {
    opacity: .6;
    cursor: not-allowed;
}

/* ===== Szűrők ===== */
.tk-filters[b-3lfusqzjjg] {
    display: flex;
    gap: 16px;
    padding: 16px 20px;
    background: var(--tk-surface);
    border: 1px solid var(--tk-border);
    border-radius: 12px;
    margin-bottom: 16px;
    flex-wrap: wrap;
    align-items: flex-end;
}

.tk-filter[b-3lfusqzjjg] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 160px;
}

.tk-filter label[b-3lfusqzjjg] {
    font-size: .75rem;
    color: var(--tk-muted);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.tk-filter select[b-3lfusqzjjg] {
    padding: 8px 12px;
    border: 1px solid var(--tk-border);
    border-radius: 6px;
    font-size: .9rem;
    background: #fff;
    color: var(--tk-text);
    cursor: pointer;
}

.tk-filter select:focus[b-3lfusqzjjg] {
    outline: none;
    border-color: var(--tk-primary);
    box-shadow: 0 0 0 3px rgba(26, 58, 92, .08);
}

/* ===== Üres állapot ===== */
.tk-empty[b-3lfusqzjjg] {
    text-align: center;
    padding: 60px 20px;
    background: var(--tk-surface);
    border: 2px dashed var(--tk-border);
    border-radius: 12px;
}

.tk-empty .ti[b-3lfusqzjjg] {
    font-size: 3rem;
    color: var(--tk-muted);
    margin-bottom: 12px;
}

.tk-empty h3[b-3lfusqzjjg] {
    font-size: 1.15rem;
    color: var(--tk-text);
    margin: 0 0 6px;
}

.tk-empty p[b-3lfusqzjjg] {
    color: var(--tk-muted);
    margin: 0 0 20px;
}

/* ===== Lista ===== */
.tk-list[b-3lfusqzjjg] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.tk-card[b-3lfusqzjjg] {
    display: flex;
    gap: 16px;
    padding: 16px;
    background: var(--tk-surface);
    border: 1px solid var(--tk-border);
    border-radius: 10px;
    cursor: pointer;
    transition: all .2s;
}

.tk-card:hover[b-3lfusqzjjg] {
    transform: translateY(-1px);
    box-shadow: 0 4px 14px rgba(15, 37, 64, .08);
    border-color: var(--tk-primary);
}

.tk-card-icon[b-3lfusqzjjg] {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: #eef2ff;
    color: var(--tk-primary);
    font-size: 1.4rem;
}

.tk-card-icon.tk-prio-critical[b-3lfusqzjjg] { background: #fee2e2; color: var(--tk-danger); }
.tk-card-icon.tk-prio-high[b-3lfusqzjjg]     { background: #ffedd5; color: #c2410c; }
.tk-card-icon.tk-prio-normal[b-3lfusqzjjg]   { background: #e0e7ff; color: var(--tk-primary); }
.tk-card-icon.tk-prio-low[b-3lfusqzjjg]      { background: #e5e7eb; color: var(--tk-muted); }

.tk-card-body[b-3lfusqzjjg] {
    flex: 1;
    min-width: 0;
}

.tk-card-top[b-3lfusqzjjg] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 6px;
}

.tk-card-subject[b-3lfusqzjjg] {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: var(--tk-text);
}

/* Státusz badge — színes pillula */
.tk-card-status[b-3lfusqzjjg] {
    font-size: .72rem;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 9999px;
    text-transform: uppercase;
    letter-spacing: .03em;
    white-space: nowrap;
    flex-shrink: 0;
}

.tk-badge-open[b-3lfusqzjjg]               { background: #dbeafe; color: #1e40af; }
.tk-badge-progress[b-3lfusqzjjg]           { background: #fef3c7; color: #92400e; }
.tk-badge-waiting-customer[b-3lfusqzjjg]   { background: #ede9fe; color: #6d28d9; }
.tk-badge-waiting-dev[b-3lfusqzjjg]        { background: #ffedd5; color: #c2410c; }
.tk-badge-resolved[b-3lfusqzjjg]           { background: #d1fae5; color: #065f46; }
.tk-badge-closed[b-3lfusqzjjg]             { background: #e5e7eb; color: #374151; }

/* Meta sor — apró ikonos infok */
.tk-card-meta[b-3lfusqzjjg] {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    color: var(--tk-muted);
    font-size: .82rem;
    margin-bottom: 8px;
}

.tk-meta-item[b-3lfusqzjjg] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.tk-meta-item.tk-prio-critical[b-3lfusqzjjg] { color: var(--tk-danger); font-weight: 600; }
.tk-meta-item.tk-prio-high[b-3lfusqzjjg]     { color: #c2410c; font-weight: 600; }
.tk-meta-item.tk-prio-normal[b-3lfusqzjjg]   { color: var(--tk-muted); }
.tk-meta-item.tk-prio-low[b-3lfusqzjjg]      { color: var(--tk-muted); opacity: .8; }

.tk-card-bottom[b-3lfusqzjjg] {
    color: var(--tk-muted);
    font-size: .78rem;
}

.tk-card-time[b-3lfusqzjjg] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

/* ===== Modal ===== */
.tk-modal-backdrop[b-3lfusqzjjg] {
    position: fixed;
    inset: 0;
    background: rgba(15, 37, 64, .55);
    backdrop-filter: blur(2px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    padding: 20px;
}

.tk-modal[b-3lfusqzjjg] {
    background: var(--tk-surface);
    border-radius: 14px;
    width: 100%;
    max-width: 600px;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 20px 60px rgba(15, 37, 64, .25);
    overflow: hidden;
}

.tk-modal-header[b-3lfusqzjjg] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px;
    border-bottom: 1px solid var(--tk-border);
}

.tk-modal-header h3[b-3lfusqzjjg] {
    margin: 0;
    font-size: 1.1rem;
    color: var(--tk-primary);
    display: flex;
    align-items: center;
    gap: 8px;
}

.tk-modal-close[b-3lfusqzjjg] {
    background: transparent;
    border: none;
    color: var(--tk-muted);
    cursor: pointer;
    padding: 4px;
    border-radius: 6px;
    transition: all .2s;
}

.tk-modal-close:hover[b-3lfusqzjjg] {
    background: #f1f5f9;
    color: var(--tk-text);
}

.tk-modal-body[b-3lfusqzjjg] {
    padding: 20px;
    overflow-y: auto;
}

.tk-modal-footer[b-3lfusqzjjg] {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 14px 20px;
    border-top: 1px solid var(--tk-border);
    background: #fafafa;
}

/* ===== Form ===== */
.tk-form-group[b-3lfusqzjjg] {
    margin-bottom: 16px;
}

.tk-label[b-3lfusqzjjg] {
    display: block;
    font-size: .85rem;
    font-weight: 600;
    color: var(--tk-text);
    margin-bottom: 6px;
}

.tk-label.required[b-3lfusqzjjg]::after {
    content: " *";
    color: var(--tk-danger);
}

.tk-form-group input[b-3lfusqzjjg],
.tk-form-group textarea[b-3lfusqzjjg],
.tk-form-group select[b-3lfusqzjjg] {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--tk-border);
    border-radius: 8px;
    font-size: .92rem;
    font-family: inherit;
    color: var(--tk-text);
    background: #fff;
    transition: border-color .15s, box-shadow .15s;
    box-sizing: border-box;
}

.tk-form-group input:focus[b-3lfusqzjjg],
.tk-form-group textarea:focus[b-3lfusqzjjg],
.tk-form-group select:focus[b-3lfusqzjjg] {
    outline: none;
    border-color: var(--tk-primary);
    box-shadow: 0 0 0 3px rgba(26, 58, 92, .08);
}

.tk-form-group textarea[b-3lfusqzjjg] {
    resize: vertical;
    min-height: 100px;
    font-family: inherit;
}

/* ===== Spin animation ===== */
.ti-spin[b-3lfusqzjjg] {
    animation: tk-spin 1s linear infinite;
}

@@keyframes tk-spin {
    from[b-3lfusqzjjg] { transform: rotate(0deg); }
    to[b-3lfusqzjjg]   { transform: rotate(360deg); }
}
/* /Components/Pages/UserSettings/UserSettingComponent.razor.rz.scp.css */
/* ===== Konténer ===== */
.us-container[b-lgx4izexf6] {
    display: flex;
    flex-direction: column;
    padding: 2rem;
    max-width: 1000px;
    margin: 0 auto;
    width: 100%;
    gap: 1.5rem;
}

/* ===== Fejléc ===== */
.us-header[b-lgx4izexf6] {
    margin-bottom: 0.5rem;
}

.us-title[b-lgx4izexf6] {
    font-size: 1.75rem;
    font-weight: 700;
    color: #1e293b;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.5rem;
}

.us-title i[b-lgx4izexf6] {
    color: #1a3a5c;
}

.us-subtitle[b-lgx4izexf6] {
    font-size: 0.9rem;
    color: #64748b;
}

/* ===== Kártya ===== */
.us-card[b-lgx4izexf6] {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 1.75rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.us-card-header[b-lgx4izexf6] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-size: 1.1rem;
    font-weight: 600;
    color: #1a3a5c;
    margin-bottom: 1.25rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid #e2e8f0;
}

.us-card-header i[b-lgx4izexf6] {
    font-size: 1rem;
}

.us-member-count[b-lgx4izexf6] {
    font-size: 0.85rem;
    font-weight: 400;
    color: #94a3b8;
}

/* ===== Meghívás sor ===== */
.us-invite-row[b-lgx4izexf6] {
    display: flex;
    align-items: flex-end;
    gap: 1rem;
    flex-wrap: wrap;
}

.us-invite-field[b-lgx4izexf6] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    flex: 1;
    min-width: 200px;
}

.us-invite-role[b-lgx4izexf6] {
    flex: 0 0 220px;
}

.us-invite-btn-wrapper[b-lgx4izexf6] {
    flex-shrink: 0;
    padding-bottom: 2px;
}

[b-lgx4izexf6] .us-label {
    font-size: 0.85rem;
    color: #64748b;
    font-weight: 500;
}

[b-lgx4izexf6] .us-input {
    width: 100%;
}

/* ===== Felhasználó lista ===== */
.us-user-list[b-lgx4izexf6] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.us-user-card[b-lgx4izexf6] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.25rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    transition: all 0.2s ease;
}

.us-user-card:hover[b-lgx4izexf6] {
    background: #ffffff;
    box-shadow: 0 2px 12px rgba(26, 58, 92, 0.08);
}

.us-user-avatar[b-lgx4izexf6] {
    font-size: 2rem;
    color: #1a3a5c;
    flex-shrink: 0;
}

.us-user-info[b-lgx4izexf6] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    flex: 1;
    min-width: 0;
}

.us-user-name[b-lgx4izexf6] {
    font-size: 0.95rem;
    font-weight: 600;
    color: #1e293b;
    display: flex;
    gap: 0.3rem;
}

.us-user-details[b-lgx4izexf6] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.us-user-tag[b-lgx4izexf6] {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.8rem;
    color: #64748b;
}

.us-user-tag i[b-lgx4izexf6] {
    font-size: 0.7rem;
    color: #94a3b8;
}

.us-user-role[b-lgx4izexf6] {
    flex-shrink: 0;
}

[b-lgx4izexf6] .us-role-dropdown {
    width: 200px;
    font-size: 0.85rem;
}

.us-user-actions[b-lgx4izexf6] {
    flex-shrink: 0;
}

.us-remove-btn[b-lgx4izexf6] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: 1px solid #fecaca;
    border-radius: 8px;
    background: #ffffff;
    color: #dc2626;
    cursor: pointer;
    font-size: 0.9rem;
    transition: all 0.2s ease;
}

.us-remove-btn:hover[b-lgx4izexf6] {
    background: #fef2f2;
    border-color: #dc2626;
    box-shadow: 0 2px 8px rgba(220, 38, 38, 0.2);
}

/* ===== Üres állapot ===== */
.us-empty[b-lgx4izexf6] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 3rem;
    color: #94a3b8;
    gap: 0.75rem;
}

.us-empty i[b-lgx4izexf6] {
    font-size: 2.5rem;
}

.us-empty p[b-lgx4izexf6] {
    font-size: 1rem;
    font-weight: 500;
}

/* ===== Betöltés ===== */
.us-list-loading[b-lgx4izexf6] {
    display: flex;
    justify-content: center;
    padding: 3rem;
}

.us-loading[b-lgx4izexf6] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100vh;
    width: 100%;
}

.us-loading-text[b-lgx4izexf6] {
    margin-top: 1rem;
}

/* ===== Reszponzív ===== */
@media (max-width: 768px) {
    .us-invite-row[b-lgx4izexf6] {
        flex-direction: column;
        align-items: stretch;
    }

    .us-invite-role[b-lgx4izexf6] {
        flex: 1;
    }

    .us-user-card[b-lgx4izexf6] {
        flex-wrap: wrap;
    }

    [b-lgx4izexf6] .us-role-dropdown {
        width: 100%;
    }
}

/* ==================== Saját profil kártya ==================== */

.us-profile-card[b-lgx4izexf6] {
    background: linear-gradient(135deg, #eff6ff 0%, #ffffff 100%);
    border-left: 4px solid #2563eb;
}

.us-profile-row[b-lgx4izexf6] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 18px;
    flex-wrap: wrap;
}

.us-profile-info[b-lgx4izexf6] {
    flex: 1;
    min-width: 240px;
}

.us-profile-name[b-lgx4izexf6] {
    font-weight: 700;
    font-size: 1.1rem;
    color: #1a3a5c;
    margin-bottom: 4px;
}

.us-profile-email[b-lgx4izexf6] {
    color: #64748b;
    font-size: 0.9rem;
    display: flex;
    align-items: center;
    gap: 6px;
}

.us-profile-actions[b-lgx4izexf6] {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.us-profile-edit[b-lgx4izexf6] {
    padding: 18px;
    background: #f8fafc;
    border-top: 1px solid #e2e8f0;
}

.us-profile-section-divider[b-lgx4izexf6] {
    height: 1px;
    background: #e2e8f0;
    margin: 18px 0;
}

.us-profile-section-title[b-lgx4izexf6] {
    margin: 0 0 12px 0;
    font-size: 0.95rem;
    color: #1a3a5c;
    display: flex;
    align-items: center;
    gap: 6px;
}

.us-form-row[b-lgx4izexf6] {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}

.us-form-field[b-lgx4izexf6] {
    flex: 1;
    min-width: 180px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.us-form-field-small[b-lgx4izexf6] {
    flex: 0 0 140px;
}

    .us-form-field label[b-lgx4izexf6] {
        font-size: 0.78rem;
        font-weight: 600;
        color: #1a3a5c;
    }

.us-form-actions[b-lgx4izexf6] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 12px;
}

/* ==================== Általános gombok ==================== */

.us-btn[b-lgx4izexf6] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    border: none;
    border-radius: 7px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s ease;
}

.us-btn-small[b-lgx4izexf6] {
    padding: 6px 10px;
    font-size: 0.78rem;
}

.us-btn-primary[b-lgx4izexf6] {
    background: linear-gradient(135deg, #1a3a5c 0%, #2563eb 100%);
    color: #ffffff;
}

    .us-btn-primary:hover[b-lgx4izexf6] {
        background: linear-gradient(135deg, #0c2541 0%, #1d4ed8 100%);
    }

.us-btn-secondary[b-lgx4izexf6] {
    background: #ffffff;
    color: #1a3a5c;
    border: 1px solid #cbd5e1;
}

    .us-btn-secondary:hover[b-lgx4izexf6] {
        background: #f1f5f9;
    }

.us-btn-success[b-lgx4izexf6] {
    background: linear-gradient(135deg, #059669 0%, #10b981 100%);
    color: #ffffff;
}

    .us-btn-success:hover[b-lgx4izexf6] {
        background: linear-gradient(135deg, #047857 0%, #059669 100%);
    }

.us-btn-warning[b-lgx4izexf6] {
    background: #fef3c7;
    color: #92400e;
    border: 1px solid #fde68a;
}

    .us-btn-warning:hover[b-lgx4izexf6] {
        background: #fde68a;
    }

.us-btn-danger[b-lgx4izexf6] {
    background: #fee2e2;
    color: #991b1b;
    border: 1px solid #fca5a5;
}

    .us-btn-danger:hover[b-lgx4izexf6] {
        background: #fca5a5;
        color: #7f1d1d;
    }

.us-btn:disabled[b-lgx4izexf6] {
    opacity: 0.5;
    cursor: not-allowed;
}

.us-icon-btn[b-lgx4izexf6] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: #f1f5f9;
    color: #64748b;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.15s ease;
}

    .us-icon-btn:hover[b-lgx4izexf6] {
        background: #1a3a5c;
        color: #ffffff;
    }

.us-icon-btn-danger:hover[b-lgx4izexf6] {
    background: #dc2626;
    color: #ffffff;
}

/* ==================== Badges ==================== */

.us-badge[b-lgx4izexf6] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 10px;
    border-radius: 10px;
    font-size: 0.72rem;
    font-weight: 700;
    margin-left: auto;
}

.us-badge-success[b-lgx4izexf6] {
    background: #d1fae5;
    color: #065f46;
}

/* ==================== User quota ==================== */

.us-quota[b-lgx4izexf6] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-left: auto;
    padding: 4px 10px;
    border-radius: 10px;
    font-size: 0.78rem;
    font-weight: 600;
    color: #1a3a5c;
    background: #dbeafe;
    border: 1px solid #bfdbfe;
}

.us-quota-full[b-lgx4izexf6] {
    color: #b91c1c;
    background: #fee2e2;
    border-color: #fca5a5;
    animation: us-quota-pulse-b-lgx4izexf6 1.6s ease-in-out infinite;
}

@keyframes us-quota-pulse-b-lgx4izexf6 {
    0%, 100% { box-shadow: 0 0 0 0 rgba(185, 28, 28, 0.4); }
    50% { box-shadow: 0 0 0 4px rgba(185, 28, 28, 0); }
}

/* ==================== Role mátrix ==================== */

.us-rolematrix-toggle[b-lgx4izexf6] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-left: 8px;
    padding: 4px 10px;
    background: #ffffff;
    color: #1a3a5c;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    font-size: 0.78rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s ease;
}

    .us-rolematrix-toggle:hover[b-lgx4izexf6] {
        background: #1a3a5c;
        color: #ffffff;
    }

.us-rolematrix[b-lgx4izexf6] {
    padding: 12px 18px;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
}

.us-rolematrix-table[b-lgx4izexf6] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.85rem;
}

    .us-rolematrix-table th[b-lgx4izexf6],
    .us-rolematrix-table td[b-lgx4izexf6] {
        padding: 8px 10px;
        text-align: center;
        border-bottom: 1px solid #e2e8f0;
    }

    .us-rolematrix-table th[b-lgx4izexf6] {
        background: #ffffff;
        color: #1a3a5c;
        font-weight: 700;
        font-size: 0.78rem;
        text-transform: uppercase;
        letter-spacing: 0.05em;
    }

    .us-rolematrix-table th i[b-lgx4izexf6] {
        margin-right: 4px;
    }

.us-rm-action[b-lgx4izexf6] {
    text-align: left !important;
    font-weight: 600;
    color: #1a3a5c;
}

.us-rm-tick[b-lgx4izexf6] {
    color: #059669;
    font-size: 1.1rem;
}

.us-rm-cross[b-lgx4izexf6] {
    color: #cbd5e1;
    font-size: 1rem;
}

/* ==================== Aktivitás indikátor ==================== */

.us-user-avatar[b-lgx4izexf6] {
    position: relative;
}

.us-activity-dot[b-lgx4izexf6] {
    position: absolute;
    bottom: 2px;
    right: 2px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 2px solid #ffffff;
    box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.1);
}

.us-activity-dot-active[b-lgx4izexf6] {
    background: #10b981;
}

.us-activity-dot-recent[b-lgx4izexf6] {
    background: #f59e0b;
}

.us-activity-dot-inactive[b-lgx4izexf6] {
    background: #94a3b8;
}

.us-activity-dot-never[b-lgx4izexf6] {
    background: #cbd5e1;
}

.us-user-activity[b-lgx4izexf6] {
    font-weight: 600;
}

.us-user-activity-active[b-lgx4izexf6] {
    color: #047857;
}

.us-user-activity-recent[b-lgx4izexf6] {
    color: #b45309;
}

.us-user-activity-inactive[b-lgx4izexf6] {
    color: #64748b;
}

.us-user-activity-never[b-lgx4izexf6] {
    color: #94a3b8;
}

.us-2fa-mark[b-lgx4izexf6] {
    color: #059669;
    margin-left: 6px;
    font-size: 0.95rem;
}

/* ==================== Pending invitations ==================== */

.us-pending-list[b-lgx4izexf6] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 12px 18px;
}

.us-pending-card[b-lgx4izexf6] {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 14px;
    background: linear-gradient(135deg, #fffbeb 0%, #fefce8 100%);
    border: 1px solid #fde68a;
    border-radius: 10px;
}

.us-pending-icon[b-lgx4izexf6] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    background: #fef3c7;
    color: #92400e;
    border-radius: 50%;
    font-size: 1.1rem;
}

.us-pending-info[b-lgx4izexf6] {
    flex: 1;
    min-width: 200px;
}

.us-pending-email[b-lgx4izexf6] {
    font-weight: 600;
    color: #1a3a5c;
    margin-bottom: 4px;
}

.us-pending-meta[b-lgx4izexf6] {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    font-size: 0.78rem;
    color: #64748b;
}

    .us-pending-meta span[b-lgx4izexf6] {
        display: inline-flex;
        align-items: center;
        gap: 4px;
    }

.us-pending-soon[b-lgx4izexf6] {
    color: #d97706;
    font-weight: 600;
}

.us-pending-expired[b-lgx4izexf6] {
    color: #dc2626;
    font-weight: 700;
}

.us-pending-actions[b-lgx4izexf6] {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

/* ==================== Notification preferences panel ==================== */

.us-notif-panel[b-lgx4izexf6] {
    margin: -8px 12px 12px 12px;
    padding: 14px 16px;
    background: #f0f9ff;
    border: 1px solid #bae6fd;
    border-radius: 10px;
}

.us-notif-title[b-lgx4izexf6] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-weight: 600;
    color: #0369a1;
    margin-bottom: 10px;
    font-size: 0.88rem;
}

.us-notif-grid[b-lgx4izexf6] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 8px;
}

.us-notif-item[b-lgx4izexf6] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    background: #ffffff;
    border-radius: 6px;
    border: 1px solid #e2e8f0;
    cursor: pointer;
    transition: all 0.15s ease;
}

    .us-notif-item:hover[b-lgx4izexf6] {
        background: #eff6ff;
        border-color: #93c5fd;
    }

    .us-notif-item input[type="checkbox"][b-lgx4izexf6] {
        accent-color: #2563eb;
    }

    .us-notif-item span[b-lgx4izexf6] {
        font-size: 0.85rem;
        color: #1a3a5c;
    }

/* ==================== Audit log ==================== */

.us-audit-filters[b-lgx4izexf6] {
    display: flex;
    gap: 12px;
    padding: 12px 18px;
    align-items: end;
    flex-wrap: wrap;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
}

.us-audit-filter-actions[b-lgx4izexf6] {
    display: flex;
    gap: 6px;
    margin-left: auto;
}

.us-audit-list[b-lgx4izexf6] {
    max-height: 500px;
    overflow-y: auto;
    padding: 12px 18px;
}

.us-audit-item[b-lgx4izexf6] {
    display: grid;
    grid-template-columns: 160px 180px 180px 1fr;
    gap: 12px;
    padding: 8px 12px;
    border-bottom: 1px solid #f1f5f9;
    font-size: 0.85rem;
    align-items: baseline;
}

    .us-audit-item:hover[b-lgx4izexf6] {
        background: #f8fafc;
    }

.us-audit-time[b-lgx4izexf6] {
    color: #64748b;
    font-variant-numeric: tabular-nums;
    font-size: 0.78rem;
}

.us-audit-user[b-lgx4izexf6] {
    color: #1a3a5c;
    font-weight: 600;
}

.us-audit-action[b-lgx4izexf6] {
    color: #2563eb;
    font-weight: 600;
}

.us-audit-desc[b-lgx4izexf6] {
    color: #475569;
}

/* ==================== 2FA modal ==================== */

.us-modal-overlay[b-lgx4izexf6] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
    z-index: 1100;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.us-modal[b-lgx4izexf6] {
    width: 100%;
    max-width: 480px;
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 25px 50px rgba(15, 23, 42, 0.4);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.us-modal-header[b-lgx4izexf6] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 18px;
    background: linear-gradient(135deg, #1a3a5c 0%, #0c2541 100%);
    color: #ffffff;
}

    .us-modal-header h3[b-lgx4izexf6] {
        margin: 0;
        display: flex;
        align-items: center;
        gap: 8px;
        font-size: 1rem;
    }

.us-modal-close[b-lgx4izexf6] {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: none;
    background: rgba(255, 255, 255, 0.15);
    color: #ffffff;
    cursor: pointer;
}

    .us-modal-close:hover[b-lgx4izexf6] {
        background: rgba(255, 255, 255, 0.3);
    }

.us-modal-body[b-lgx4izexf6] {
    padding: 18px;
}

    .us-modal-body p[b-lgx4izexf6] {
        margin: 0 0 10px 0;
        color: #475569;
    }

.us-2fa-qr[b-lgx4izexf6] {
    display: flex;
    justify-content: center;
    margin: 12px 0;
}

    .us-2fa-qr img[b-lgx4izexf6] {
        border: 8px solid #ffffff;
        border-radius: 8px;
        box-shadow: 0 4px 12px rgba(15, 23, 42, 0.15);
    }

.us-2fa-secret[b-lgx4izexf6] {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 10px 12px;
    margin: 12px 0;
}

    .us-2fa-secret label[b-lgx4izexf6] {
        display: block;
        font-size: 0.75rem;
        color: #64748b;
        margin-bottom: 4px;
    }

    .us-2fa-secret code[b-lgx4izexf6] {
        font-family: 'Courier New', monospace;
        font-size: 0.95rem;
        color: #1a3a5c;
        font-weight: 700;
        word-break: break-all;
    }

.us-2fa-code-input[b-lgx4izexf6] {
    width: 100%;
    padding: 12px 14px;
    border: 2px solid #cbd5e1;
    border-radius: 8px;
    font-size: 1.5rem;
    text-align: center;
    letter-spacing: 0.4em;
    font-family: 'Courier New', monospace;
    color: #1a3a5c;
    font-weight: 700;
}

    .us-2fa-code-input:focus[b-lgx4izexf6] {
        outline: none;
        border-color: #2563eb;
        box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
    }

.us-modal-footer[b-lgx4izexf6] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding: 12px 18px;
    background: #f8fafc;
    border-top: 1px solid #e2e8f0;
}

/* ==================== 2FA javasló banner ==================== */
.us-2fa-banner[b-lgx4izexf6] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.9rem 1.1rem;
    background: linear-gradient(90deg, #f0f9ff 0%, #e0f2fe 100%);
    border: 1px solid #bae6fd;
    border-radius: 10px;
    margin-bottom: 1rem;
}

.us-2fa-banner-icon[b-lgx4izexf6] {
    font-size: 1.6rem;
    color: #0369a1;
}

.us-2fa-banner-text[b-lgx4izexf6] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

    .us-2fa-banner-text strong[b-lgx4izexf6] {
        color: #0c4a6e;
        font-size: 0.95rem;
    }

    .us-2fa-banner-text span[b-lgx4izexf6] {
        color: #075985;
        font-size: 0.85rem;
    }

/* ==================== Avatar ==================== */
.us-profile-avatar-wrap[b-lgx4izexf6] {
    position: relative;
    width: 72px;
    height: 72px;
    flex-shrink: 0;
}

.us-profile-avatar-img[b-lgx4izexf6] {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid #e2e8f0;
}

.us-profile-avatar-placeholder[b-lgx4izexf6] {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: #f1f5f9;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 3px solid #e2e8f0;
}

    .us-profile-avatar-placeholder i[b-lgx4izexf6] {
        font-size: 2.5rem;
        color: #94a3b8;
    }

.us-avatar-upload-btn[b-lgx4izexf6] {
    position: absolute;
    right: -4px;
    bottom: -4px;
    width: 28px;
    height: 28px;
    background: #1a3a5c;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
    transition: background 0.15s;
    overflow: hidden;
}

    .us-avatar-upload-btn:hover[b-lgx4izexf6] {
        background: #2563eb;
    }

    /* Blazor InputFile child elemére ::deep kell — scoped CSS különben nem jut át */
    .us-avatar-upload-btn[b-lgx4izexf6]  input[type="file"] {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
        opacity: 0;
    }

.us-user-avatar-img[b-lgx4izexf6] {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
}

/* ==================== Aktív sessions ==================== */
.us-sessions-panel[b-lgx4izexf6] {
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px solid #e2e8f0;
}

.us-sessions-list[b-lgx4izexf6] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    margin-top: 0.6rem;
}

.us-session-card[b-lgx4izexf6] {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    padding: 0.75rem 1rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
}

.us-session-icon[b-lgx4izexf6] {
    font-size: 1.4rem;
    color: #1a3a5c;
}

.us-session-info[b-lgx4izexf6] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.us-session-device[b-lgx4izexf6] {
    font-weight: 600;
    color: #1e293b;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.us-session-current[b-lgx4izexf6] {
    font-size: 0.7rem;
    background: #16a34a;
    color: #fff;
    padding: 2px 8px;
    border-radius: 10px;
    text-transform: uppercase;
    font-weight: 700;
}

.us-session-meta[b-lgx4izexf6] {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    font-size: 0.8rem;
    color: #64748b;
}

    .us-session-meta i[b-lgx4izexf6] {
        margin-right: 0.25rem;
    }

/* ==================== Felhasználó kereső + szűrő tabok ==================== */
.us-userfilter[b-lgx4izexf6] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.us-userfilter-search[b-lgx4izexf6] {
    position: relative;
    display: flex;
    align-items: center;
}

    .us-userfilter-search > i[b-lgx4izexf6] {
        position: absolute;
        left: 12px;
        color: #94a3b8;
    }

    .us-userfilter-search input[b-lgx4izexf6] {
        width: 100%;
        padding: 0.55rem 2.5rem 0.55rem 2.25rem;
        border: 1px solid #cbd5e1;
        border-radius: 8px;
        font-size: 0.9rem;
        background: #ffffff;
    }

        .us-userfilter-search input:focus[b-lgx4izexf6] {
            outline: none;
            border-color: #2563eb;
            box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
        }

.us-userfilter-clear[b-lgx4izexf6] {
    position: absolute;
    right: 8px;
    background: transparent;
    border: none;
    color: #94a3b8;
    cursor: pointer;
    padding: 4px;
}

    .us-userfilter-clear:hover[b-lgx4izexf6] {
        color: #1e293b;
    }

.us-userfilter-tabs[b-lgx4izexf6] {
    display: flex;
    gap: 0.4rem;
    flex-wrap: wrap;
}

.us-tab[b-lgx4izexf6] {
    padding: 0.4rem 0.85rem;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    font-size: 0.85rem;
    color: #475569;
    cursor: pointer;
    transition: all 0.15s;
}

    .us-tab:hover[b-lgx4izexf6] {
        background: #e2e8f0;
    }

.us-tab-active[b-lgx4izexf6] {
    background: #1a3a5c;
    color: #fff;
    border-color: #1a3a5c;
}

    .us-tab-active:hover[b-lgx4izexf6] {
        background: #1a3a5c;
    }

/* ==================== Időszakos hozzáférés szerkesztő ==================== */
.us-access-edit[b-lgx4izexf6] {
    margin: -0.25rem 0 0.5rem 4.5rem;
    padding: 0.75rem 1rem;
    background: #fff7ed;
    border: 1px solid #fed7aa;
    border-radius: 8px;
}

.us-access-edit-row[b-lgx4izexf6] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

    .us-access-edit-row > i[b-lgx4izexf6] {
        color: #c2410c;
    }

.us-access-label[b-lgx4izexf6] {
    font-weight: 600;
    color: #7c2d12;
    font-size: 0.9rem;
}

/* ==================== Deaktivált user megjelenítés ==================== */
.us-user-deactivated[b-lgx4izexf6] {
    opacity: 0.6;
    background: #f8fafc;
}

    .us-user-deactivated .us-user-name[b-lgx4izexf6] {
        color: #64748b;
    }

.us-deactivated-badge[b-lgx4izexf6] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    background: #fef3c7;
    color: #92400e;
    border: 1px solid #fde68a;
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    margin-left: 0.5rem;
}

    .us-deactivated-badge i[b-lgx4izexf6] {
        font-size: 0.85rem;
    }

.us-icon-btn-success[b-lgx4izexf6] {
    color: #16a34a;
}

    .us-icon-btn-success:hover[b-lgx4izexf6] {
        background: #dcfce7;
        color: #15803d;
    }

/* ==================== Jelszó erősség sáv ==================== */
.us-pwd-strength[b-lgx4izexf6] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.4rem;
}

.us-pwd-bar[b-lgx4izexf6] {
    flex: 1;
    height: 6px;
    background: #e2e8f0;
    border-radius: 3px;
    overflow: hidden;
}

    .us-pwd-bar > span[b-lgx4izexf6] {
        display: block;
        height: 100%;
        transition: width 0.2s, background 0.2s;
    }

.us-pwd-label[b-lgx4izexf6] {
    font-size: 0.78rem;
    font-weight: 600;
    min-width: 80px;
    text-align: right;
}

.us-pwd-weak .us-pwd-bar > span[b-lgx4izexf6] {
    background: #dc2626;
}
.us-pwd-weak .us-pwd-label[b-lgx4izexf6] {
    color: #dc2626;
}

.us-pwd-fair .us-pwd-bar > span[b-lgx4izexf6] {
    background: #f59e0b;
}
.us-pwd-fair .us-pwd-label[b-lgx4izexf6] {
    color: #b45309;
}

.us-pwd-good .us-pwd-bar > span[b-lgx4izexf6] {
    background: #eab308;
}
.us-pwd-good .us-pwd-label[b-lgx4izexf6] {
    color: #854d0e;
}

.us-pwd-strong .us-pwd-bar > span[b-lgx4izexf6] {
    background: #16a34a;
}
.us-pwd-strong .us-pwd-label[b-lgx4izexf6] {
    color: #15803d;
}

.us-pwd-vstrong .us-pwd-bar > span[b-lgx4izexf6] {
    background: #15803d;
}
.us-pwd-vstrong .us-pwd-label[b-lgx4izexf6] {
    color: #14532d;
}

/* ==================== Email confirm banner ==================== */
.us-email-confirm-banner[b-lgx4izexf6] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.9rem 1.1rem;
    background: linear-gradient(90deg, #fffbeb 0%, #fef3c7 100%);
    border: 1px solid #fde68a;
    border-radius: 10px;
    margin-bottom: 1rem;
}

.us-email-confirm-icon[b-lgx4izexf6] {
    font-size: 1.6rem;
    color: #b45309;
}

.us-email-confirm-text[b-lgx4izexf6] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

    .us-email-confirm-text strong[b-lgx4izexf6] {
        color: #78350f;
        font-size: 0.95rem;
    }

    .us-email-confirm-text span[b-lgx4izexf6] {
        color: #92400e;
        font-size: 0.85rem;
    }

/* ==================== 2FA Backup kódok ==================== */
.us-backup-codes-panel[b-lgx4izexf6] {
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px solid #e2e8f0;
}

.us-backup-codes-info[b-lgx4izexf6] {
    font-size: 0.85rem;
    color: #64748b;
    margin: 0 0 0.75rem 0;
}

    .us-backup-codes-info strong[b-lgx4izexf6] {
        color: #1a3a5c;
    }

.us-backup-codes-display[b-lgx4izexf6] {
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 8px;
    padding: 1rem;
}

.us-backup-codes-warning[b-lgx4izexf6] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: #92400e;
    margin-bottom: 0.75rem;
    font-size: 0.85rem;
}

.us-backup-codes-grid[b-lgx4izexf6] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.us-backup-code[b-lgx4izexf6] {
    background: #1e293b;
    color: #f8fafc;
    padding: 0.5rem 0.75rem;
    border-radius: 6px;
    font-family: 'Courier New', monospace;
    font-size: 0.95rem;
    text-align: center;
    letter-spacing: 0.1em;
    font-weight: 600;
}

.us-backup-codes-actions[b-lgx4izexf6] {
    display: flex;
    gap: 0.5rem;
}
/* /Components/Shared/AiAssistant/AiAssistant.razor.rz.scp.css */
/* ============================================================
   ALION — AI Asszisztens FAB + Panel
   Mindig elérhető a jobb alsó sarokban, slide-in panel chat
   ============================================================ */

/* ===== Floating Action Button ===== */
.ai-fab[b-7ysiyk4p2x] {
    position: fixed;
    right: 24px;
    bottom: 24px;
    width: 64px;
    height: 64px;
    border: none;
    border-radius: 50%;
    background: linear-gradient(135deg, #1a3a5c 0%, #0f2540 100%);
    color: #ffffff;
    cursor: pointer;
    box-shadow: 0 8px 24px rgba(15, 37, 64, 0.35), 0 2px 6px rgba(15, 37, 64, 0.2);
    z-index: 9998;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.25s;
}

    .ai-fab:hover[b-7ysiyk4p2x] {
        transform: translateY(-3px) scale(1.05);
        box-shadow: 0 12px 32px rgba(15, 37, 64, 0.45), 0 4px 12px rgba(15, 37, 64, 0.25);
    }

    .ai-fab:active[b-7ysiyk4p2x] {
        transform: translateY(-1px) scale(1);
    }

.ai-fab-open[b-7ysiyk4p2x] {
    background: linear-gradient(135deg, #dc2626 0%, #991b1b 100%);
}

.ai-fab-avatar[b-7ysiyk4p2x] {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(16, 185, 129, 0.15);
    border: 2px solid #10b981;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.25s;
}

.ai-fab-open .ai-fab-avatar[b-7ysiyk4p2x] {
    background: rgba(255, 255, 255, 0.15);
    border-color: #ffffff;
}

.ai-fab-avatar i[b-7ysiyk4p2x] {
    font-size: 1.3rem;
    color: #10b981;
}

.ai-fab-open .ai-fab-avatar i[b-7ysiyk4p2x] {
    color: #ffffff;
}

/* Pulzáló zöld "online" pötty a FAB jobb felső sarkán */
.ai-fab-badge[b-7ysiyk4p2x] {
    position: absolute;
    top: 4px;
    right: 4px;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #10b981;
    border: 2px solid #ffffff;
}

.ai-fab-pulse[b-7ysiyk4p2x] {
    position: absolute;
    inset: -4px;
    border-radius: 50%;
    background: rgba(16, 185, 129, 0.5);
    animation: ai-pulse-b-7ysiyk4p2x 2s ease-out infinite;
}

@keyframes ai-pulse-b-7ysiyk4p2x {
    0% { transform: scale(0.6); opacity: 1; }
    100% { transform: scale(1.8); opacity: 0; }
}

/* ===== Backdrop (kattintásra bezárja) ===== */
.ai-panel-backdrop[b-7ysiyk4p2x] {
    position: fixed;
    inset: 0;
    background: rgba(15, 37, 64, 0.2);
    backdrop-filter: blur(2px);
    z-index: 9996;
    animation: ai-fade-in-b-7ysiyk4p2x 0.25s ease-out;
}

@keyframes ai-fade-in-b-7ysiyk4p2x {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* ===== Slide-in panel ===== */
.ai-panel[b-7ysiyk4p2x] {
    position: fixed;
    right: 24px;
    bottom: 104px;
    width: 420px;
    height: 600px;
    max-height: calc(100vh - 140px);
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 24px 60px rgba(15, 37, 64, 0.35), 0 4px 12px rgba(15, 37, 64, 0.15);
    z-index: 9997;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    animation: ai-slide-in-b-7ysiyk4p2x 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    font-family: 'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif;
}

@keyframes ai-slide-in-b-7ysiyk4p2x {
    from { transform: translateY(30px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

/* ===== Header — navy gradient + Alion identity ===== */
.ai-panel-header[b-7ysiyk4p2x] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 18px;
    background: linear-gradient(135deg, #1a3a5c 0%, #0f2540 100%);
    color: #ffffff;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.ai-panel-identity[b-7ysiyk4p2x] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.ai-panel-avatar[b-7ysiyk4p2x] {
    position: relative;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: linear-gradient(135deg, #10b981 0%, #059669 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.4);
    flex-shrink: 0;
}

.ai-panel-avatar-letter[b-7ysiyk4p2x] {
    color: #ffffff;
    font-size: 1.4rem;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.ai-panel-avatar-status[b-7ysiyk4p2x] {
    position: absolute;
    bottom: 1px;
    right: 1px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #10b981;
    border: 2px solid #1a3a5c;
}

.ai-panel-identity-text[b-7ysiyk4p2x] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.ai-panel-name[b-7ysiyk4p2x] {
    font-size: 1.05rem;
    font-weight: 700;
    color: #ffffff;
    letter-spacing: -0.01em;
}

.ai-panel-status[b-7ysiyk4p2x] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.78rem;
    color: rgba(255, 255, 255, 0.75);
}

.ai-panel-status-dot[b-7ysiyk4p2x] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #10b981;
    box-shadow: 0 0 6px #10b981;
}

.ai-panel-actions[b-7ysiyk4p2x] {
    display: flex;
    gap: 6px;
}

.ai-panel-action[b-7ysiyk4p2x] {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    border: none;
    background: rgba(255, 255, 255, 0.1);
    color: #ffffff;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
}

    .ai-panel-action:hover[b-7ysiyk4p2x] {
        background: rgba(255, 255, 255, 0.2);
    }

.ai-panel-action i[b-7ysiyk4p2x] {
    font-size: 1rem;
}

/* ===== Body — scrollable chat ===== */
.ai-panel-body[b-7ysiyk4p2x] {
    flex: 1 1 auto;
    overflow-y: auto;
    padding: 18px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    background: #f8fafc;
}

.ai-panel-body[b-7ysiyk4p2x]::-webkit-scrollbar {
    width: 6px;
}

.ai-panel-body[b-7ysiyk4p2x]::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 3px;
}

/* ===== Welcome state ===== */
.ai-panel-welcome[b-7ysiyk4p2x] {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 20px 10px;
    gap: 10px;
}

.ai-panel-welcome-avatar[b-7ysiyk4p2x] {
    width: 110px;
    height: 110px;
    border-radius: 50%;
    background: linear-gradient(135deg, #10b981 0%, #059669 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 24px rgba(16, 185, 129, 0.35);
    margin-bottom: 4px;
}

.ai-panel-welcome-letter[b-7ysiyk4p2x] {
    color: #ffffff;
    font-size: 2rem;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.ai-panel-welcome h3[b-7ysiyk4p2x] {
    margin: 4px 0 0;
    color: #0f2540;
    font-size: 1.1rem;
    font-weight: 700;
}

.ai-panel-welcome p[b-7ysiyk4p2x] {
    margin: 0;
    color: #64748b;
    font-size: 0.88rem;
    line-height: 1.5;
    max-width: 320px;
}

.ai-panel-suggestions[b-7ysiyk4p2x] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-top: 12px;
}

.ai-panel-chip[b-7ysiyk4p2x] {
    background: #ffffff;
    border: 1px solid #cbd5e1;
    color: #0f2540;
    font-size: 0.82rem;
    padding: 8px 14px;
    border-radius: 999px;
    cursor: pointer;
    transition: all 0.2s;
    font-family: inherit;
}

    .ai-panel-chip:hover[b-7ysiyk4p2x] {
        border-color: #10b981;
        color: #10b981;
        background: rgba(16, 185, 129, 0.06);
    }

/* ===== Chat üzenetek ===== */
.ai-msg[b-7ysiyk4p2x] {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    animation: ai-msg-fade-in-b-7ysiyk4p2x 0.25s ease-out;
}

@keyframes ai-msg-fade-in-b-7ysiyk4p2x {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
}

.ai-msg-user[b-7ysiyk4p2x] {
    flex-direction: row-reverse;
}

.ai-msg-avatar[b-7ysiyk4p2x] {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: linear-gradient(135deg, #10b981 0%, #059669 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 2px 6px rgba(16, 185, 129, 0.3);
}

.ai-msg-avatar-letter[b-7ysiyk4p2x] {
    color: #ffffff;
    font-size: 0.92rem;
    font-weight: 800;
}

.ai-msg-bubble[b-7ysiyk4p2x] {
    max-width: 78%;
    padding: 10px 14px;
    border-radius: 14px;
    line-height: 1.5;
    font-size: 0.92rem;
    white-space: pre-wrap;
    word-wrap: break-word;
}

.ai-msg-assistant .ai-msg-bubble[b-7ysiyk4p2x] {
    background: #ffffff;
    color: #0f2540;
    border: 1px solid #e2e8f0;
    border-top-left-radius: 4px;
}

.ai-msg-user .ai-msg-bubble[b-7ysiyk4p2x] {
    background: linear-gradient(135deg, #1a3a5c 0%, #0f2540 100%);
    color: #ffffff;
    border-top-right-radius: 4px;
}

/* "Gondolkodik..." három pötty animáció */
.ai-msg-thinking[b-7ysiyk4p2x] {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 14px 16px;
}

.ai-dot[b-7ysiyk4p2x] {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #64748b;
    animation: ai-bounce-b-7ysiyk4p2x 1.4s ease-in-out infinite both;
}

.ai-dot:nth-child(1)[b-7ysiyk4p2x] { animation-delay: -0.32s; }
.ai-dot:nth-child(2)[b-7ysiyk4p2x] { animation-delay: -0.16s; }

@keyframes ai-bounce-b-7ysiyk4p2x {
    0%, 80%, 100% { transform: scale(0.5); opacity: 0.4; }
    40% { transform: scale(1); opacity: 1; }
}

/* ===== Footer — input + send ===== */
.ai-panel-footer[b-7ysiyk4p2x] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 14px 16px;
    background: #ffffff;
    border-top: 1px solid #e2e8f0;
}

.ai-panel-input[b-7ysiyk4p2x] {
    flex: 1;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    padding: 10px 14px;
    font-size: 0.92rem;
    font-family: inherit;
    color: #0f2540;
    background: #f8fafc;
    transition: all 0.2s;
    outline: none;
}

    .ai-panel-input:focus[b-7ysiyk4p2x] {
        border-color: #10b981;
        background: #ffffff;
        box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.15);
    }

    .ai-panel-input:disabled[b-7ysiyk4p2x] {
        opacity: 0.6;
        cursor: not-allowed;
    }

.ai-panel-send[b-7ysiyk4p2x] {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: none;
    background: linear-gradient(135deg, #10b981 0%, #059669 100%);
    color: #ffffff;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3);
    transition: all 0.2s;
}

    .ai-panel-send:hover:not([disabled])[b-7ysiyk4p2x] {
        transform: translateY(-1px);
        box-shadow: 0 6px 16px rgba(16, 185, 129, 0.4);
    }

    .ai-panel-send:disabled[b-7ysiyk4p2x] {
        opacity: 0.4;
        cursor: not-allowed;
        background: #94a3b8;
        box-shadow: none;
    }

.ai-panel-send i[b-7ysiyk4p2x] {
    font-size: 1.05rem;
}

/* ===== Mobile (max-width 640) ===== */
@media (max-width: 640px) {
    .ai-fab[b-7ysiyk4p2x] {
        right: 16px;
        bottom: 16px;
        width: 56px;
        height: 56px;
    }

    .ai-panel[b-7ysiyk4p2x] {
        right: 0;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 85vh;
        max-height: 85vh;
        border-radius: 16px 16px 0 0;
    }
}

/* ===== Inline SVG avatar — kitölti a szülő kör avatar konténert ===== */
.ai-avatar-svg[b-7ysiyk4p2x] {
    width: 100%;
    height: 100%;
    display: block;
}

/* A panel-avatar és welcome-avatar konténerek mostantól csak keret + shadow.
   A gradient és a karakter az SVG-ből jön. */
.ai-panel-avatar[b-7ysiyk4p2x],
.ai-panel-welcome-avatar[b-7ysiyk4p2x],
.ai-msg-avatar[b-7ysiyk4p2x] {
    background: transparent !important;
    overflow: hidden;
    padding: 0;
}

/* ===== Alion avatar PNG (ChatGPT-generated női asszisztens kép) ===== */
.ai-avatar-img[b-7ysiyk4p2x] {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    display: block;
}

/* A FAB-on belüli avatar konténer-keretet eltüntetjük, hogy a kerek kép szépen kitöltse */
.ai-fab .ai-fab-avatar[b-7ysiyk4p2x] {
    background: transparent !important;
    border: none !important;
    overflow: hidden;
}

/* Panel header avatar — fehér halo keret a navy háttéren, hogy a kép kiemelve legyen */
.ai-panel .ai-panel-avatar[b-7ysiyk4p2x] {
    background: transparent !important;
    border: 2px solid rgba(255, 255, 255, 0.25);
    overflow: hidden;
}

/* Welcome / message avatar — vékony zöld accent keret */
.ai-panel .ai-panel-welcome-avatar[b-7ysiyk4p2x],
.ai-panel .ai-msg-avatar[b-7ysiyk4p2x] {
    background: transparent !important;
    border: 2px solid rgba(16, 185, 129, 0.50);
    box-shadow: 0 4px 14px rgba(16, 185, 129, 0.20);
    overflow: hidden;
}
/* /Components/Shared/AlertBell/AlertBell.razor.rz.scp.css */
/* ===== Harang ikon wrapper ===== */
.alert-bell-wrapper[b-3javn790rg] {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.alert-bell-btn[b-3javn790rg] {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: transparent;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    color: #cbd5e1;
    transition: background-color 0.15s, color 0.15s;
}

.alert-bell-btn:hover[b-3javn790rg],
.alert-bell-btn.open[b-3javn790rg] {
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
}

.alert-bell-btn i[b-3javn790rg] {
    font-size: 18px;
}

.alert-bell-badge[b-3javn790rg] {
    position: absolute;
    top: 2px;
    right: 2px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    background: #dc2626;
    color: #fff;
    border-radius: 9px;
    font-size: 10px;
    font-weight: 700;
    line-height: 18px;
    text-align: center;
    box-shadow: 0 0 0 2px #0f2444;
    pointer-events: none;
}

/* ===== Dropdown panel ===== */
.alert-bell-dropdown[b-3javn790rg] {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    width: 420px;
    max-width: calc(100vw - 32px);
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    box-shadow: 0 20px 50px rgba(15, 36, 68, 0.18), 0 4px 12px rgba(15, 36, 68, 0.08);
    overflow: hidden;
    z-index: 1000;
}

.alert-bell-header[b-3javn790rg] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
}

.alert-bell-header-title[b-3javn790rg] {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #0f2444;
    font-weight: 600;
    font-size: 14px;
}

.alert-bell-header-title i[b-3javn790rg] {
    font-size: 16px;
}

.alert-bell-header-count[b-3javn790rg] {
    margin-left: 4px;
    padding: 2px 8px;
    background: #dc2626;
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    border-radius: 10px;
}

.alert-bell-mark-all[b-3javn790rg] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: transparent;
    border: none;
    color: #475569;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 6px;
    transition: background-color 0.15s, color 0.15s;
}

.alert-bell-mark-all:hover[b-3javn790rg] {
    background: #e2e8f0;
    color: #0f2444;
}

.alert-bell-mark-all i[b-3javn790rg] {
    font-size: 14px;
}

/* ===== Body — riasztás lista ===== */
.alert-bell-body[b-3javn790rg] {
    max-height: 480px;
    overflow-y: auto;
}

.alert-bell-empty[b-3javn790rg] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    color: #94a3b8;
    text-align: center;
}

.alert-bell-empty i[b-3javn790rg] {
    font-size: 32px;
    margin-bottom: 8px;
    color: #cbd5e1;
}

.alert-bell-empty .spin[b-3javn790rg] {
    animation: alert-bell-spin-b-3javn790rg 1s linear infinite;
}

@keyframes alert-bell-spin-b-3javn790rg {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

.alert-bell-empty span[b-3javn790rg] {
    font-size: 13px;
}

/* ===== Riasztás tétel ===== */
.alert-bell-item[b-3javn790rg] {
    display: flex;
    align-items: stretch;
    border-bottom: 1px solid #f1f5f9;
    position: relative;
    background: #fff;
    transition: background-color 0.15s;
}

.alert-bell-item:hover[b-3javn790rg] {
    background: #f8fafc;
}

.alert-bell-item.unread[b-3javn790rg] {
    background: #fefce8;
}

.alert-bell-item.unread:hover[b-3javn790rg] {
    background: #fef9c3;
}

.alert-bell-item:last-child[b-3javn790rg] {
    border-bottom: none;
}

.alert-bell-item-marker[b-3javn790rg] {
    width: 4px;
    flex-shrink: 0;
}

.alert-bell-item.alert-severity-critical .alert-bell-item-marker[b-3javn790rg] {
    background: #dc2626;
}

.alert-bell-item.alert-severity-warning .alert-bell-item-marker[b-3javn790rg] {
    background: #f59e0b;
}

.alert-bell-item.alert-severity-info .alert-bell-item-marker[b-3javn790rg] {
    background: #10b981;
}

.alert-bell-item-content[b-3javn790rg] {
    flex: 1;
    padding: 12px 8px 12px 14px;
    cursor: pointer;
    min-width: 0;
}

.alert-bell-item-head[b-3javn790rg] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 4px;
}

.alert-bell-item-type[b-3javn790rg] {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: #64748b;
}

.alert-bell-item.alert-severity-critical .alert-bell-item-type[b-3javn790rg] {
    color: #dc2626;
}

.alert-bell-item.alert-severity-warning .alert-bell-item-type[b-3javn790rg] {
    color: #b45309;
}

.alert-bell-item-time[b-3javn790rg] {
    font-size: 11px;
    color: #94a3b8;
}

.alert-bell-item-title[b-3javn790rg] {
    font-size: 13px;
    font-weight: 600;
    color: #0f2444;
    margin-bottom: 4px;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.alert-bell-item-body[b-3javn790rg] {
    font-size: 12px;
    color: #64748b;
    line-height: 1.4;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.alert-bell-item-dismiss[b-3javn790rg] {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    margin: 10px 10px 10px 0;
    background: transparent;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    color: #94a3b8;
    transition: background-color 0.15s, color 0.15s;
}

.alert-bell-item-dismiss:hover[b-3javn790rg] {
    background: #f1f5f9;
    color: #475569;
}

.alert-bell-item-dismiss i[b-3javn790rg] {
    font-size: 14px;
}

/* ===== Footer — Összes megtekintése ===== */
.alert-bell-footer[b-3javn790rg] {
    padding: 10px;
    background: #f8fafc;
    border-top: 1px solid #e2e8f0;
}

.alert-bell-show-all[b-3javn790rg] {
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    color: #0f2444;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.15s, border-color 0.15s;
}

.alert-bell-show-all:hover[b-3javn790rg] {
    background: #0f2444;
    border-color: #0f2444;
    color: #fff;
}

.alert-bell-show-all i[b-3javn790rg] {
    font-size: 14px;
}

/* ===== Mobile / kisebb képernyő ===== */
@media (max-width: 600px) {
    .alert-bell-dropdown[b-3javn790rg] {
        width: 360px;
    }
}
/* /Components/Shared/ButtonComponent/ButtonComponent.razor.rz.scp.css */
/* ===== CashFlow közös gomb komponens — navy/enterprise stílus ===== */

.cf-button[b-k7231em4tc] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 8px 18px;
    border-radius: 8px;
    font-size: 0.9rem;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    border: 1px solid transparent;
    transition: background-color 0.15s, box-shadow 0.15s, opacity 0.15s, transform 0.1s;
    white-space: nowrap;
    line-height: 1.4;
    min-height: 38px;
}

.cf-button:active:not(:disabled)[b-k7231em4tc] {
    transform: translateY(1px);
}

/* Disabled állapot */
.cf-button:disabled[b-k7231em4tc] {
    opacity: 0.6;
    cursor: not-allowed;
    pointer-events: none;
}

/* Loading állapot — extra vizuális jelzés */
.cf-button-loading[b-k7231em4tc] {
    opacity: 0.7;
}

/* Ikon wrapper */
.cf-button-icon[b-k7231em4tc] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.05rem;
}

/* Szöveg */
.cf-button-text[b-k7231em4tc] {
    display: inline-block;
}

/* Csak ikon gomb — kompaktabb */
.cf-button-icon-only[b-k7231em4tc] {
    padding: 8px 12px;
}

/* ===== Színvariánsok ===== */

/* Success — mentés, jóváhagyás (navy háttér, fehér szöveg) */
.cf-button-success[b-k7231em4tc] {
    background: linear-gradient(135deg, #1e3a8a, #0f172a);
    color: #ffffff;
    border-color: #1e3a8a;
    box-shadow: 0 2px 8px rgba(30, 58, 138, 0.2);
}

.cf-button-success:hover:not(:disabled)[b-k7231em4tc] {
    background: linear-gradient(135deg, #1e40af, #1e3a8a);
    box-shadow: 0 4px 12px rgba(30, 58, 138, 0.3);
}

/* Primary — általános akció (navy) */
.cf-button-primary[b-k7231em4tc] {
    background: #1e3a8a;
    color: #ffffff;
    border-color: #1e3a8a;
    box-shadow: 0 2px 8px rgba(30, 58, 138, 0.2);
}

.cf-button-primary:hover:not(:disabled)[b-k7231em4tc] {
    background: #1e40af;
    box-shadow: 0 4px 12px rgba(30, 58, 138, 0.3);
}

/* Danger — törlés, veszélyes művelet (piros) */
.cf-button-danger[b-k7231em4tc] {
    background: #dc2626;
    color: #ffffff;
    border-color: #dc2626;
    box-shadow: 0 2px 8px rgba(220, 38, 38, 0.2);
}

.cf-button-danger:hover:not(:disabled)[b-k7231em4tc] {
    background: #b91c1c;
    box-shadow: 0 4px 12px rgba(220, 38, 38, 0.3);
}

/* Light — mégse, másodlagos (szürke háttér) */
.cf-button-light[b-k7231em4tc] {
    background: #f1f5f9;
    color: #334155;
    border-color: #cbd5e1;
}

.cf-button-light:hover:not(:disabled)[b-k7231em4tc] {
    background: #e2e8f0;
    color: #0f172a;
    border-color: #94a3b8;
}

/* Warning — figyelmeztetés (sárga) */
.cf-button-warning[b-k7231em4tc] {
    background: #f59e0b;
    color: #ffffff;
    border-color: #f59e0b;
}

.cf-button-warning:hover:not(:disabled)[b-k7231em4tc] {
    background: #d97706;
}
/* /Components/Shared/FileDropZone/FileDropZone.razor.rz.scp.css */
/* ==================== Általános FileDropZone stílusok ====================
   Az enterprise navy színvilághoz illeszkedő dropzone — minden fájl feltöltő
   ezt a stílust kapja, hogy egységes legyen az alkalmazás. */

.cf-dz-wrapper[b-2c7hr8c0qp] {
    position: relative;
    width: 100%;
}

.cf-dz[b-2c7hr8c0qp] {
    border: 2px dashed #cbd5e1;
    border-radius: 10px;
    padding: 36px 20px;
    text-align: center;
    color: #475569;
    background-color: #f8fafc;
    cursor: pointer;
    transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
    outline: none;
}

.cf-dz:hover[b-2c7hr8c0qp],
.cf-dz:focus-visible[b-2c7hr8c0qp],
.cf-dz.cf-dz-active[b-2c7hr8c0qp] {
    border-color: #1e3a5f;
    background-color: #eef2f7;
    box-shadow: 0 0 0 4px rgba(30, 58, 95, 0.08);
}

.cf-dz-content[b-2c7hr8c0qp] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    /* Gyermek elemekre a kattintás ne lőjjön — a dropzone div fogadja */
    pointer-events: none;
}

.cf-dz-icon[b-2c7hr8c0qp] {
    font-size: 2.6rem;
    color: #1e3a5f;
    margin-bottom: 4px;
}

.cf-dz-primary[b-2c7hr8c0qp] {
    margin: 2px 0;
    font-weight: 600;
    color: #1e3a5f;
    font-size: 1rem;
}

.cf-dz-secondary[b-2c7hr8c0qp] {
    margin: 2px 0;
    color: #64748b;
    font-size: 0.9rem;
}

.cf-dz-formats[b-2c7hr8c0qp] {
    margin: 4px 0 0 0;
    font-size: 0.8rem;
    color: #94a3b8;
}

/* Feltöltési overlay — a dropzone DOM-on van, hogy a JS listener-ek élve maradjanak */
.cf-dz-overlay[b-2c7hr8c0qp] {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background-color: rgba(248, 250, 252, 0.92);
    border: 2px dashed #cbd5e1;
    border-radius: 10px;
    backdrop-filter: blur(2px);
    pointer-events: all;
    color: #1e3a5f;
    font-weight: 600;
}

.cf-dz-overlay-text[b-2c7hr8c0qp] {
    color: #1e3a5f;
    font-size: 0.95rem;
}
/* /Components/Shared/ImportWizard/ImportWizardComponent.razor.rz.scp.css */
/* ==================== Import Wizard közös komponens stílus ==================== */

.iw-panel[b-4lglv8u2e4] {
    position: fixed;
    top: 60px;
    right: 0;
    width: min(1280px, 96vw);
    height: calc(100vh - 60px);
    background: #ffffff;
    border-left: 1px solid #e2e8f0;
    box-shadow: -8px 0 24px rgba(15, 23, 42, 0.12);
    z-index: 100;
    display: flex;
    flex-direction: column;
}

.iw-header[b-4lglv8u2e4] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.85rem 1.5rem;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
}

.iw-title[b-4lglv8u2e4] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 600;
    color: #1e293b;
    font-size: 1.05rem;
}

.iw-title i[b-4lglv8u2e4] {
    color: #1a3a5c;
    font-size: 1.2rem;
}

.iw-close-btn[b-4lglv8u2e4] {
    width: 36px;
    height: 36px;
    border: none;
    background: transparent;
    border-radius: 6px;
    cursor: pointer;
    color: #64748b;
    transition: all 0.15s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.iw-close-btn:hover[b-4lglv8u2e4] {
    background: #e2e8f0;
    color: #1e293b;
}

.iw-body[b-4lglv8u2e4] {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* ===== Feldolgozás folyamatban ===== */
.iw-processing[b-4lglv8u2e4] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    padding: 2rem;
}

.iw-progress-text[b-4lglv8u2e4] {
    font-weight: 500;
    color: #475569;
    text-align: center;
    max-width: 480px;
}

.iw-progress-bar[b-4lglv8u2e4] {
    width: 320px;
    margin-top: 0.5rem;
}

/* ===== Dropzone ===== */
.iw-dropzone[b-4lglv8u2e4] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 1.5rem;
    border: 2px dashed #cbd5e1;
    border-radius: 12px;
    background: #f8fafc;
    transition: all 0.2s ease;
    cursor: pointer;
}

.iw-dropzone:hover[b-4lglv8u2e4],
.iw-dropzone.iw-dropzone-active[b-4lglv8u2e4] {
    border-color: #1a3a5c;
    background: #eef4ff;
}

.iw-dropzone-content[b-4lglv8u2e4] {
    text-align: center;
    padding: 2rem;
}

.iw-dropzone-icon[b-4lglv8u2e4] {
    font-size: 3.5rem;
    color: #1a3a5c;
    margin-bottom: 0.5rem;
}

.iw-dropzone-text[b-4lglv8u2e4] {
    font-size: 1.05rem;
    font-weight: 600;
    color: #1e293b;
    margin: 0 0 0.3rem;
}

.iw-dropzone-hint[b-4lglv8u2e4] {
    color: #64748b;
    margin: 0 0 0.8rem;
}

.iw-dropzone-formats[b-4lglv8u2e4] {
    color: #94a3b8;
    font-size: 0.8rem;
    margin: 0;
}

/* ===== Üres eredmény panel ===== */
.iw-empty-state[b-4lglv8u2e4] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 2.5rem 1.5rem;
    gap: 1rem;
    text-align: center;
}

.iw-empty-icon[b-4lglv8u2e4] {
    width: 96px;
    height: 96px;
    border-radius: 50%;
    background: linear-gradient(135deg, #ede9fe 0%, #f3e8ff 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #8b5cf6;
    font-size: 3rem;
    margin-bottom: 0.5rem;
}

.iw-empty-title[b-4lglv8u2e4] {
    font-size: 1.15rem;
    font-weight: 700;
    color: #1e293b;
    margin: 0;
}

.iw-empty-desc[b-4lglv8u2e4] {
    font-size: 0.9rem;
    color: #64748b;
    max-width: 520px;
    line-height: 1.5;
    margin: 0;
}

.iw-empty-actions[b-4lglv8u2e4] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    margin-top: 0.75rem;
}

.iw-empty-ai-btn[b-4lglv8u2e4] {
    padding: 0.7rem 1.4rem;
    font-size: 0.95rem;
    border-radius: 10px;
}

/* ===== Sikeres mentés (undo) panel ===== */
.iw-success-state[b-4lglv8u2e4] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 2.5rem 1.5rem;
    gap: 1rem;
    text-align: center;
}

.iw-success-icon[b-4lglv8u2e4] {
    width: 96px;
    height: 96px;
    border-radius: 50%;
    background: linear-gradient(135deg, #dcfce7 0%, #bbf7d0 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #16a34a;
    font-size: 3rem;
    margin-bottom: 0.5rem;
}

.iw-success-title[b-4lglv8u2e4] {
    font-size: 1.2rem;
    font-weight: 700;
    color: #15803d;
    margin: 0;
}

.iw-success-desc[b-4lglv8u2e4] {
    font-size: 0.95rem;
    color: #475569;
    margin: 0;
}

.iw-success-actions[b-4lglv8u2e4] {
    display: flex;
    gap: 0.75rem;
    margin-top: 0.75rem;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

.iw-undo-btn[b-4lglv8u2e4] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.6rem 1.2rem;
    border-radius: 8px;
    background: #ffffff;
    color: #b45309;
    border: 1px solid #fcd34d;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s ease;
}

.iw-undo-btn:hover[b-4lglv8u2e4] {
    background: #fef3c7;
}

.iw-close-action-btn[b-4lglv8u2e4] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.6rem 1.2rem;
    border-radius: 8px;
    background: #16a34a;
    color: #ffffff;
    border: 1px solid #16a34a;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s ease;
}

.iw-close-action-btn:hover[b-4lglv8u2e4] {
    background: #15803d;
}

/* ===== Vegyes import megerősítő banner ===== */
.iw-cross-type-banner[b-4lglv8u2e4] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.85rem 1.2rem;
    background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);
    border-bottom: 2px solid #f59e0b;
    flex-wrap: wrap;
}

.iw-cross-type-banner > i[b-4lglv8u2e4] {
    font-size: 1.6rem;
    color: #b45309;
}

.iw-cross-type-text[b-4lglv8u2e4] {
    flex: 1 1 auto;
    color: #78350f;
    font-weight: 500;
    font-size: 0.9rem;
    min-width: 250px;
}

.iw-cross-type-actions[b-4lglv8u2e4] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.iw-cross-yes[b-4lglv8u2e4],
.iw-cross-no[b-4lglv8u2e4] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.45rem 0.9rem;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    border: 1px solid transparent;
    transition: all 0.15s ease;
}

.iw-cross-yes[b-4lglv8u2e4] {
    background: #16a34a;
    color: #ffffff;
}

.iw-cross-yes:hover[b-4lglv8u2e4] {
    background: #15803d;
}

.iw-cross-no[b-4lglv8u2e4] {
    background: #ffffff;
    color: #475569;
    border-color: #cbd5e1;
}

.iw-cross-no:hover[b-4lglv8u2e4] {
    background: #f1f5f9;
}

/* ===== Preview header ===== */
.iw-preview[b-4lglv8u2e4] {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.iw-preview-header[b-4lglv8u2e4] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 1.5rem;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.iw-preview-info[b-4lglv8u2e4] {
    margin: 0;
    color: #475569;
    font-size: 0.85rem;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.iw-select-actions[b-4lglv8u2e4] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.iw-select-btn[b-4lglv8u2e4] {
    padding: 0.3rem 0.7rem;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    background: #ffffff;
    color: #475569;
    font-size: 0.8rem;
    cursor: pointer;
    transition: all 0.15s ease;
    display: flex;
    align-items: center;
    gap: 0.3rem;
}

.iw-select-btn:hover[b-4lglv8u2e4] {
    background: #f1f5f9;
    border-color: #94a3b8;
}

.iw-ai-retry-btn[b-4lglv8u2e4] {
    background: linear-gradient(135deg, #8b5cf6 0%, #6366f1 100%);
    color: #ffffff;
    border-color: #6366f1;
    font-weight: 600;
}

.iw-ai-retry-btn:hover[b-4lglv8u2e4] {
    background: linear-gradient(135deg, #7c3aed 0%, #4f46e5 100%);
    color: #ffffff;
    border-color: #4f46e5;
}

/* ===== Preview tábla ===== */
.iw-table-wrapper[b-4lglv8u2e4] {
    overflow: auto;
    flex: 1;
}

.iw-table[b-4lglv8u2e4] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.8rem;
}

.iw-table thead[b-4lglv8u2e4] {
    background: #f8fafc;
    position: sticky;
    top: 0;
    z-index: 2;
}

.iw-table th[b-4lglv8u2e4] {
    padding: 0.6rem 0.4rem;
    font-weight: 600;
    color: #475569;
    text-align: center;
    border-bottom: 2px solid #e2e8f0;
    white-space: nowrap;
}

.iw-th-check[b-4lglv8u2e4] {
    width: 40px;
}

.iw-th-type[b-4lglv8u2e4] {
    min-width: 100px;
}

.iw-th-year[b-4lglv8u2e4] {
    min-width: 70px;
}

.iw-th-partner[b-4lglv8u2e4] {
    text-align: left !important;
    padding-left: 0.75rem !important;
    min-width: 220px;
}

.iw-th-status[b-4lglv8u2e4] {
    min-width: 100px;
}

.iw-th-month[b-4lglv8u2e4] {
    min-width: 85px;
}

.iw-th-total[b-4lglv8u2e4] {
    min-width: 100px;
    background: #f1f5f9 !important;
    color: #1a3a5c !important;
}

.iw-row[b-4lglv8u2e4] {
    border-bottom: 1px solid #f1f5f9;
    transition: background 0.15s ease;
}

.iw-row:hover[b-4lglv8u2e4] {
    background: #fafbfc;
}

.iw-row-disabled[b-4lglv8u2e4] {
    opacity: 0.45;
}

.iw-row-duplicate[b-4lglv8u2e4] {
    background: #fff7ed;
}

.iw-row-duplicate:hover[b-4lglv8u2e4] {
    background: #ffedd5;
}

.iw-row-expense .iw-td-partner[b-4lglv8u2e4],
.iw-row-expense .iw-td-year[b-4lglv8u2e4],
.iw-row-expense .iw-td-status[b-4lglv8u2e4],
.iw-row-expense .iw-td-cell[b-4lglv8u2e4],
.iw-row-expense .iw-td-total[b-4lglv8u2e4] {
    background-color: #fff5f5;
}

.iw-td-check[b-4lglv8u2e4] {
    text-align: center;
    padding: 0.4rem;
}

.iw-td-type[b-4lglv8u2e4] {
    text-align: center;
    padding: 0.4rem;
}

.iw-type-select[b-4lglv8u2e4] {
    padding: 0.25rem 0.4rem;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    font-size: 0.75rem;
    font-weight: 600;
    cursor: pointer;
    background: #ffffff;
}

.iw-type-income[b-4lglv8u2e4] {
    color: #16a34a;
    border-color: #86efac;
    background: #f0fdf4;
}

.iw-type-expense[b-4lglv8u2e4] {
    color: #dc2626;
    border-color: #fca5a5;
    background: #fef2f2;
}

.iw-td-year[b-4lglv8u2e4] {
    text-align: center;
    padding: 0.4rem;
    font-weight: 600;
    color: #1e293b;
}

/* Év cella — vizuálisan jelzi, hogy az év heurisztikából vagy default-ból jött. */
.iw-year-cell[b-4lglv8u2e4] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.15rem 0.5rem;
    border-radius: 6px;
    font-weight: 600;
}

.iw-year-cell.iw-year-auto[b-4lglv8u2e4] {
    background: #ecfdf5;
    color: #065f46;
    border: 1px solid #a7f3d0;
}

.iw-year-cell.iw-year-default[b-4lglv8u2e4] {
    background: #fef3c7;
    color: #92400e;
    border: 1px solid #fde68a;
}

.iw-year-badge-auto[b-4lglv8u2e4] {
    color: #059669;
    font-size: 0.85rem;
}

.iw-year-badge-default[b-4lglv8u2e4] {
    color: #d97706;
    font-size: 0.85rem;
}

.iw-sheet-name[b-4lglv8u2e4] {
    font-size: 0.65rem;
    color: #64748b;
    font-weight: 400;
    margin-top: 2px;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 90px;
}

.iw-td-partner[b-4lglv8u2e4] {
    padding: 0.5rem 0.75rem;
    font-weight: 600;
    color: #1e293b;
    background: #ffffff;
    min-width: 220px;
}

.iw-row:hover .iw-td-partner[b-4lglv8u2e4] {
    background: #fafbfc;
}

.iw-partner-name[b-4lglv8u2e4] {
    font-weight: 600;
    color: #1e293b;
    font-size: 0.8rem;
    line-height: 1.2;
}

/* Fuzzy match javaslat — sárga háttérrel kiemelve */
.iw-fuzzy-suggestion[b-4lglv8u2e4] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin-top: 4px;
    padding: 4px 8px;
    background: #fef3c7;
    border: 1px solid #fcd34d;
    border-radius: 6px;
    font-size: 0.72rem;
    color: #78350f;
}

.iw-fuzzy-icon[b-4lglv8u2e4] {
    color: #d97706;
    font-size: 0.95rem;
    display: flex;
    align-items: center;
}

.iw-fuzzy-text[b-4lglv8u2e4] {
    flex: 1 1 auto;
    line-height: 1.3;
}

.iw-fuzzy-pct[b-4lglv8u2e4] {
    color: #b45309;
    font-weight: 600;
    margin-left: 4px;
}

.iw-fuzzy-accept[b-4lglv8u2e4],
.iw-fuzzy-dismiss[b-4lglv8u2e4] {
    width: 22px;
    height: 22px;
    border: 1px solid transparent;
    border-radius: 4px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.iw-fuzzy-accept[b-4lglv8u2e4] {
    background: #16a34a;
    color: #ffffff;
}

.iw-fuzzy-accept:hover[b-4lglv8u2e4] {
    background: #15803d;
}

.iw-fuzzy-dismiss[b-4lglv8u2e4] {
    background: #ffffff;
    color: #94a3b8;
    border-color: #cbd5e1;
}

.iw-fuzzy-dismiss:hover[b-4lglv8u2e4] {
    background: #f1f5f9;
    color: #475569;
}

.iw-td-status[b-4lglv8u2e4] {
    text-align: center;
    padding: 0.4rem;
}

.iw-badge[b-4lglv8u2e4] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.2rem 0.6rem;
    border-radius: 20px;
    font-size: 0.72rem;
    font-weight: 600;
    white-space: nowrap;
}

.iw-badge-new[b-4lglv8u2e4] {
    background: #dcfce7;
    color: #16a34a;
}

.iw-badge-existing[b-4lglv8u2e4] {
    background: #e0e7ff;
    color: #4338ca;
}

.iw-badge-duplicate[b-4lglv8u2e4] {
    background: #fef3c7;
    color: #b45309;
    border: 1px solid #fcd34d;
}

.iw-td-cell[b-4lglv8u2e4] {
    padding: 0.2rem 0.25rem;
    text-align: center;
}

[b-4lglv8u2e4] .iw-cell-input {
    width: 100%;
    text-align: right;
    font-size: 0.8rem;
}

[b-4lglv8u2e4] .iw-cell-input input {
    text-align: right;
    padding: 0.25rem 0.35rem;
    border: 1px solid transparent;
    border-radius: 4px;
    background: transparent;
    transition: all 0.15s ease;
}

[b-4lglv8u2e4] .iw-cell-input input:focus {
    border-color: #1a3a5c;
    background: #ffffff;
    box-shadow: 0 0 0 2px rgba(26, 58, 92, 0.1);
}

[b-4lglv8u2e4] .iw-cell-input input:hover:not(:focus) {
    border-color: #cbd5e1;
    background: #f8fafc;
}

.iw-td-total[b-4lglv8u2e4] {
    padding: 0.5rem 0.6rem;
    text-align: right;
    font-weight: 700;
    color: #1a3a5c;
    background: #f8fafc;
    white-space: nowrap;
}

/* ===== Műveleti gombok ===== */
.iw-actions[b-4lglv8u2e4] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 1rem 1.5rem;
    border-top: 1px solid #e2e8f0;
    background: #f8fafc;
}

.iw-back-btn[b-4lglv8u2e4] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.55rem 1rem;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #ffffff;
    color: #475569;
    cursor: pointer;
    font-size: 0.85rem;
    transition: all 0.15s ease;
}

.iw-back-btn:hover[b-4lglv8u2e4] {
    background: #f1f5f9;
}

.iw-approve-btn[b-4lglv8u2e4] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.6rem 1.4rem;
    border: 1px solid #16a34a;
    border-radius: 8px;
    background: #16a34a;
    color: #ffffff;
    cursor: pointer;
    font-weight: 600;
    transition: all 0.15s ease;
}

.iw-approve-btn:hover[b-4lglv8u2e4] {
    background: #15803d;
}

.iw-cancel-btn[b-4lglv8u2e4] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.55rem 1rem;
    border: 1px solid #fca5a5;
    border-radius: 8px;
    background: #ffffff;
    color: #dc2626;
    cursor: pointer;
    font-size: 0.85rem;
    transition: all 0.15s ease;
}

.iw-cancel-btn:hover[b-4lglv8u2e4] {
    background: #fef2f2;
}

.iw-saving[b-4lglv8u2e4] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: #475569;
    font-size: 0.85rem;
}
/* /Components/Shared/UpgradeModal/UpgradeModal.razor.rz.scp.css */
/* ===== Overlay ===== */
.upgrade-overlay[b-c2xm55sp7l] {
    position: fixed;
    inset: 0;
    background: rgba(11, 26, 51, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2000;
    padding: 1rem;
    backdrop-filter: blur(6px);
}

/* ===== Panel ===== */
.upgrade-panel[b-c2xm55sp7l] {
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 24px 64px rgba(11, 26, 51, 0.3);
    width: 100%;
    max-width: 960px;
    max-height: 92vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #e2e8f0;
}

/* ===== Fejléc ===== */
.upgrade-header[b-c2xm55sp7l] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.25rem 1.5rem;
    background: linear-gradient(135deg, #0b1a33 0%, #1a3558 100%);
    border-bottom: 2px solid #16a34a;
}

.upgrade-header-left[b-c2xm55sp7l] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.upgrade-header-left i[b-c2xm55sp7l] {
    font-size: 1.5rem;
    color: #16a34a;
}

.upgrade-title[b-c2xm55sp7l] {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 700;
    color: #ffffff;
}

.upgrade-close[b-c2xm55sp7l] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.1);
    color: #94a3b8;
    cursor: pointer;
    font-size: 1rem;
    transition: all 0.15s ease;
}

.upgrade-close:hover[b-c2xm55sp7l] {
    background: rgba(220, 38, 38, 0.2);
    color: #fca5a5;
}

/* ===== Üzenet ===== */
.upgrade-message[b-c2xm55sp7l] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.25rem 1.5rem;
    background: #fef9e7;
    border-bottom: 1px solid #fde68a;
}

.upgrade-message-icon[b-c2xm55sp7l] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    min-width: 44px;
    border-radius: 10px;
    background: #fbbf24;
    color: #ffffff;
    font-size: 1.25rem;
}

.upgrade-message-text[b-c2xm55sp7l] {
    margin: 0;
    font-size: 0.9rem;
    color: #475569;
    line-height: 1.5;
}

.upgrade-message-text strong[b-c2xm55sp7l] {
    color: #0b1a33;
}

/* ===== Csomag kártyák ===== */
.upgrade-plans[b-c2xm55sp7l] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    padding: 1.5rem;
    overflow-y: auto;
}

.upgrade-plan-card[b-c2xm55sp7l] {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 1.25rem 1rem;
    border: 2px solid #e2e8f0;
    border-radius: 12px;
    background: #ffffff;
    transition: all 0.2s ease;
}

.upgrade-plan-card:hover:not(.disabled):not(.current)[b-c2xm55sp7l] {
    border-color: #1a3558;
    box-shadow: 0 4px 16px rgba(11, 26, 51, 0.1);
}

.upgrade-plan-card.recommended[b-c2xm55sp7l] {
    border-color: #16a34a;
    box-shadow: 0 4px 20px rgba(22, 163, 74, 0.15);
}

.upgrade-plan-card.current[b-c2xm55sp7l] {
    border-color: #1a3558;
    background: #f0f4f8;
}

.upgrade-plan-card.disabled[b-c2xm55sp7l] {
    opacity: 0.45;
    pointer-events: none;
}

/* ===== Badge ===== */
.upgrade-plan-badge[b-c2xm55sp7l] {
    position: absolute;
    top: -10px;
    right: 12px;
    padding: 0.2rem 0.65rem;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #ffffff;
    background: #16a34a;
    border-radius: 6px;
    box-shadow: 0 2px 6px rgba(22, 163, 74, 0.3);
}

.upgrade-plan-badge.current-badge[b-c2xm55sp7l] {
    background: #1a3558;
    box-shadow: 0 2px 6px rgba(11, 26, 51, 0.25);
}

/* ===== Csomag név ===== */
.upgrade-plan-name[b-c2xm55sp7l] {
    margin: 0 0 0.85rem 0;
    font-size: 1.05rem;
    font-weight: 700;
    color: #0b1a33;
    text-align: center;
    padding-bottom: 0.65rem;
    border-bottom: 1px solid #e2e8f0;
}

/* ===== Feature lista ===== */
.upgrade-plan-features[b-c2xm55sp7l] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    flex: 1;
    margin-bottom: 1rem;
}

.upgrade-plan-features li[b-c2xm55sp7l] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.78rem;
    color: #475569;
    line-height: 1.3;
}

.upgrade-plan-features li i[b-c2xm55sp7l] {
    font-size: 0.85rem;
    color: #94a3b8;
    min-width: 18px;
}

.upgrade-plan-features li.feature-yes i[b-c2xm55sp7l] {
    color: #16a34a;
}

/* ===== Gomb ===== */
.upgrade-plan-btn[b-c2xm55sp7l] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    width: 100%;
    padding: 0.55rem 1rem;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #ffffff;
    color: #1a3558;
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    margin-top: auto;
}

.upgrade-plan-btn:hover[b-c2xm55sp7l] {
    background: #f0f4f8;
    border-color: #1a3558;
}

.upgrade-plan-btn.btn-recommended[b-c2xm55sp7l] {
    background: #16a34a;
    color: #ffffff;
    border-color: #16a34a;
    box-shadow: 0 2px 8px rgba(22, 163, 74, 0.25);
}

.upgrade-plan-btn.btn-recommended:hover[b-c2xm55sp7l] {
    background: #15803d;
}

/* ===== Jelenlegi csomag label ===== */
.upgrade-plan-current-label[b-c2xm55sp7l] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: 0.55rem 1rem;
    font-size: 0.82rem;
    font-weight: 600;
    color: #1a3558;
    background: #e8ecf1;
    border-radius: 8px;
    margin-top: auto;
}

/* ===== Lábléc ===== */
.upgrade-footer[b-c2xm55sp7l] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem 1.5rem;
    border-top: 1px solid #e2e8f0;
    background: #f8fafc;
}

.upgrade-cancel-btn[b-c2xm55sp7l] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.55rem 1.25rem;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #ffffff;
    color: #475569;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s ease;
}

.upgrade-cancel-btn:hover[b-c2xm55sp7l] {
    background: #f1f5f9;
    border-color: #94a3b8;
}

/* ===== Reszponzív ===== */
@media (max-width: 900px) {
    .upgrade-plans[b-c2xm55sp7l] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 550px) {
    .upgrade-plans[b-c2xm55sp7l] {
        grid-template-columns: 1fr;
    }

    .upgrade-panel[b-c2xm55sp7l] {
        max-width: 100%;
    }
}
