/* /Components/Layout/AdminLayout.razor.rz.scp.css */
/* Admin terület: csoportosított modulmenü + tartalom */

.adm-shell[b-xtsk50v6il] {
    display: grid;
    grid-template-columns: 236px minmax(0, 1fr);
    gap: 24px;
    align-items: start;
}

.adm-shell-plain[b-xtsk50v6il] {
    grid-template-columns: minmax(0, 1fr);
}

.adm-nav[b-xtsk50v6il] {
    position: sticky;
    top: 0;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 12px 10px;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06), 0 6px 18px rgba(15, 23, 42, 0.05);
    max-height: calc(100vh - 110px);
    overflow-y: auto;
}

.adm-nav-head[b-xtsk50v6il] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px 12px 10px;
    margin-bottom: 6px;
    border-bottom: 1px solid #e2e8f0;
    font-weight: 700;
    color: #14213d;
    text-decoration: none;
}

.adm-nav-head i[b-xtsk50v6il] {
    color: #1e3a8a;
    font-size: 1.2rem;
}

.adm-nav-group[b-xtsk50v6il] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-top: 10px;
}

.adm-nav-group-title[b-xtsk50v6il] {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: #94a3b8;
    font-weight: 700;
    padding: 4px 10px;
}

.adm-nav-item[b-xtsk50v6il] {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 7px 10px;
    border-radius: 7px;
    color: #334155;
    text-decoration: none;
    font-size: 0.88rem;
    border-left: 3px solid transparent;
}

.adm-nav-item i[b-xtsk50v6il] {
    font-size: 1.05rem;
    color: #64748b;
}

.adm-nav-item:hover[b-xtsk50v6il] {
    background: #f1f5f9;
    color: #0f172a;
}

.adm-nav-item-active[b-xtsk50v6il] {
    background: #eef2ff;
    color: #1e3a8a;
    font-weight: 600;
    border-left-color: #1e3a8a;
}

.adm-nav-item-active i[b-xtsk50v6il] {
    color: #1e3a8a;
}

.adm-content[b-xtsk50v6il] {
    min-width: 0;
}

@media (max-width: 900px) {
    .adm-shell[b-xtsk50v6il] {
        grid-template-columns: minmax(0, 1fr);
    }

    .adm-nav[b-xtsk50v6il] {
        position: static;
        max-height: none;
    }
}
/* /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;
    /* A gap garantálja, hogy a sáv elemei (márkanév, cégnév, parancssáv, jobb oldali ikonok)
       soha ne érjenek össze — a korábbi átfedést ennek hiánya is súlyosbította. */
    gap: 16px;
    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 =====
   SZÁNDÉKOSAN a normál flex sorban van, nem abszolút pozícionálva. Korábban
   "position: absolute; left: 50%" volt (a sáv pontos közepére igazítva) — így viszont
   kikerült a flex elrendezésből, és 900px felett, ahol a parancssáv is látszik,
   RÁÜLT a keresőmezőre: a cégnév és a "Mit szeretnél csinálni?" összefolyt.
   A pontos középre igazítás nem éri meg egy átfedő fejlécet. */
.cf-topbar-center[b-lltbxtvawm] {
    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;
    /* Zsugorodhat (a név ellipszissel levágódik), de nem eheti meg a parancssávot */
    flex: 0 1 auto;
    min-width: 0;
    max-width: 260px;
    /* A cégváltó lenyíló menüje ehhez igazodik */
    position: relative;
}

/* ===== 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) {
    /* Itt a parancssáv már el van rejtve, tehát a cégnév kaphat több helyet */
    .cf-topbar-center[b-lltbxtvawm] {
        max-width: 40%;
        font-size: 0.82rem;
    }

    .cf-user-name[b-lltbxtvawm] {
        display: none;
    }
}

@media (max-width: 600px) {
    /* Mobilon is látszik a cégváltó (több cégnél különben telefonról nem lehetett cégek között váltani),
       csak kisebb: a név ellipszissel rövidül. */
    .cf-topbar-center[b-lltbxtvawm] {
        max-width: 34%;
        padding: 0.3rem 0.5rem;
        font-size: 0.75rem;
    }
}

@media (max-width: 480px) {
    /* Keskeny telefonon a munkamenet-visszaszámláló adja át a helyét a cégváltónak; a lejárat előtti
       figyelmeztető ablak továbbra is megjelenik. */
    .cf-session-timer[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(0, 0, 0, 0.22);
    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;
}

/* ===== Parancssáv a fejlécben =====
   "Mit szeretnél csinálni?" — a menüszerkezet megtanulása helyett. */
.cf-topbar-command[b-lltbxtvawm] {
    position: relative;
    /* A maradék helyet ez tölti ki, de zsugorodni is tud, ha a cégnév hosszú.
       A margó helyett a .cf-topbar gap-je tartja a távolságot. */
    flex: 1 1 200px;
    min-width: 0;
    max-width: 380px;
}

.cf-cmd-wrap[b-lltbxtvawm] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.35rem 0.7rem;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 8px;
}

.cf-cmd-wrap:focus-within[b-lltbxtvawm] {
    background: rgba(255, 255, 255, 0.2);
    border-color: rgba(255, 255, 255, 0.55);
}

.cf-cmd-icon[b-lltbxtvawm] {
    color: #cbd5e1;
    font-size: 0.95rem;
    flex-shrink: 0;
}

.cf-cmd-input[b-lltbxtvawm] {
    flex: 1;
    min-width: 0;
    background: transparent;
    border: none;
    outline: none;
    color: #ffffff;
    font-size: 0.86rem;
}

.cf-cmd-input[b-lltbxtvawm]::placeholder {
    color: #cbd5e1;
}

.cf-cmd-spinner[b-lltbxtvawm] {
    color: #cbd5e1;
    flex-shrink: 0;
}

.cf-cmd-feedback[b-lltbxtvawm] {
    position: absolute;
    top: calc(100% + 0.35rem);
    left: 0;
    right: 0;
    padding: 0.5rem 0.7rem;
    background: #ffffff;
    color: #0f2a44;
    border-radius: 8px;
    font-size: 0.8rem;
    box-shadow: 0 4px 14px rgba(15, 42, 68, 0.2);
    z-index: 60;
}

/* Kis képernyőn a parancssáv nem szoríthatja ki a cégnevet és a menüt */
@media (max-width: 900px) {
    .cf-topbar-command[b-lltbxtvawm] {
        display: none;
    }
}

/* Kötelező 2FA kapu (a cég Compliance beállítása) */
.cf-2fa-gate[b-lltbxtvawm] {
    max-width: 560px;
    margin: 64px auto;
    padding: 32px;
    text-align: center;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(15, 36, 68, 0.08);
    color: #0f2444;
}

.cf-2fa-gate i[b-lltbxtvawm] {
    font-size: 48px;
    color: #0f2444;
}

.cf-2fa-gate h2[b-lltbxtvawm] {
    margin: 12px 0 8px;
    font-size: 20px;
}

.cf-2fa-gate p[b-lltbxtvawm] {
    color: #475569;
    margin-bottom: 20px;
}

.cf-2fa-gate-btn[b-lltbxtvawm] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 20px;
    border-radius: 8px;
    background: #0f2444;
    color: #fff;
    text-decoration: none;
    font-weight: 600;
}

.cf-2fa-gate-btn:hover[b-lltbxtvawm] {
    background: #1a3558;
}

.cf-2fa-banner[b-lltbxtvawm] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 12px 16px 0;
    padding: 10px 14px;
    border-radius: 8px;
    background: #fef3c7;
    border: 1px solid #f59e0b;
    color: #78350f;
    font-size: 14px;
}

/* A cég logója a felső sávban, a cégváltó előtt (Cégbeállítások › Megjelenés) */
.cf-topbar-logo[b-lltbxtvawm] {
    max-height: 32px;
    max-width: 120px;
    margin-right: 10px;
    border-radius: 4px;
    background: #fff;
    padding: 2px;
    object-fit: contain;
}
/* /Components/Pages/AcceptInvitation/AcceptInvitationComponent.razor.rz.scp.css */
.inv-container[b-5kr9qqdu94] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    background: linear-gradient(135deg, #0f172a 0%, #1a3a5c 100%);
    padding: 2rem;
}

.inv-box[b-5kr9qqdu94] {
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    width: 100%;
    max-width: 480px;
    overflow: hidden;
}

.inv-content[b-5kr9qqdu94] {
    padding: 2.5rem 2rem;
}

.inv-header[b-5kr9qqdu94] {
    text-align: center;
    margin-bottom: 1.5rem;
}

.inv-brand[b-5kr9qqdu94] {
    display: inline-block;
    margin-bottom: 1.25rem;
}

.inv-brand-logo[b-5kr9qqdu94] {
    max-width: 180px;
    height: auto;
}

.inv-icon[b-5kr9qqdu94] {
    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;
}

.inv-icon-error[b-5kr9qqdu94] {
    background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%);
}

.inv-title[b-5kr9qqdu94] {
    font-size: 1.5rem;
    color: #1a3a5c;
    margin: 0 0 0.5rem;
    font-weight: 700;
}

.inv-subtitle[b-5kr9qqdu94] {
    color: #64748b;
    font-size: 0.9rem;
    text-align: center;
    margin: 0 0 1.5rem 0;
}

    .inv-subtitle strong[b-5kr9qqdu94] {
        color: #1a3a5c;
    }

.inv-form[b-5kr9qqdu94] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.inv-form-group[b-5kr9qqdu94] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

    .inv-form-group label[b-5kr9qqdu94] {
        font-size: 0.85rem;
        color: #1a3a5c;
        font-weight: 600;
    }

.inv-btn[b-5kr9qqdu94] {
    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;
}

.inv-btn-primary[b-5kr9qqdu94] {
    background: linear-gradient(135deg, #1a3a5c 0%, #2563eb 100%);
    color: #fff;
}

    .inv-btn-primary:hover:not([disabled])[b-5kr9qqdu94] {
        background: linear-gradient(135deg, #0c2541 0%, #1d4ed8 100%);
    }

    .inv-btn-primary[disabled][b-5kr9qqdu94] {
        opacity: 0.6;
        cursor: wait;
    }

.inv-error[b-5kr9qqdu94],
.inv-success[b-5kr9qqdu94] {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.75rem;
    padding: 1rem 0;
}

.inv-error p[b-5kr9qqdu94] {
    color: #dc2626;
    margin: 0;
}

.inv-success[b-5kr9qqdu94] {
    color: #15803d;
}

    .inv-success i[b-5kr9qqdu94] {
        font-size: 3rem;
    }

    .inv-success p[b-5kr9qqdu94] {
        color: #1e293b;
        margin: 0;
    }

.inv-footer[b-5kr9qqdu94] {
    margin-top: 1.5rem;
    text-align: center;
    font-size: 0.85rem;
}

    .inv-footer a[b-5kr9qqdu94] {
        color: #64748b;
        text-decoration: none;
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
    }

        .inv-footer a:hover[b-5kr9qqdu94] {
            color: #1a3a5c;
        }

/* ===== Jelszó erősség jelző — szegmentált, színes (azonos a regisztrációval) ===== */
.inv-pwd-strength[b-5kr9qqdu94] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 8px;
}

/* Három szegmens egymás mellett */
.inv-strength-bars[b-5kr9qqdu94] {
    display: flex;
    flex: 1;
    gap: 5px;
}

.inv-strength-bars .inv-seg[b-5kr9qqdu94] {
    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 */
.inv-pwd-strength.strength-weak .inv-seg:nth-child(1)[b-5kr9qqdu94] {
    background: #dc2626;
    box-shadow: 0 0 6px rgba(220, 38, 38, .35);
}

.inv-pwd-strength.strength-medium .inv-seg:nth-child(-n+2)[b-5kr9qqdu94] {
    background: #f59e0b;
    box-shadow: 0 0 6px rgba(245, 158, 11, .35);
}

.inv-pwd-strength.strength-strong .inv-seg[b-5kr9qqdu94] {
    background: #10b981;
    box-shadow: 0 0 6px rgba(16, 185, 129, .35);
}

/* Label — ikon mellé, színe az erősséghez igazodik */
.inv-strength-label[b-5kr9qqdu94] {
    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);
}

.inv-strength-label .ti[b-5kr9qqdu94] {
    font-size: 1rem;
}

.inv-pwd-strength.strength-weak .inv-strength-label[b-5kr9qqdu94]   { color: #dc2626; }
.inv-pwd-strength.strength-medium .inv-strength-label[b-5kr9qqdu94] { color: #f59e0b; }
.inv-pwd-strength.strength-strong .inv-strength-label[b-5kr9qqdu94] { color: #10b981; }

/* ===== Meghívás-kártya: mit fogad el a felhasználó ===== */
.inv-invite-card[b-5kr9qqdu94] {
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 1rem 1.25rem;
    margin-bottom: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.inv-invite-row[b-5kr9qqdu94] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-size: 0.9rem;
    color: #475569;
}

    .inv-invite-row i[b-5kr9qqdu94] {
        color: #2563eb;
        font-size: 1.05rem;
    }

    .inv-invite-row strong[b-5kr9qqdu94] {
        color: #1a3a5c;
    }

/* ===== Két mező egy sorban (vezeték- és keresztnév) ===== */
.inv-form-row[b-5kr9qqdu94] {
    display: flex;
    gap: 1rem;
}

    .inv-form-row .inv-form-group[b-5kr9qqdu94] {
        flex: 1;
    }

@media (max-width: 480px) {
    .inv-form-row[b-5kr9qqdu94] {
        flex-direction: column;
    }
}

/* ===== Kötelező mező jelölés és hibás beviteli mező ===== */
.inv-required[b-5kr9qqdu94] {
    color: #dc2626;
}

.inv-input-error :deep(input)[b-5kr9qqdu94],
.inv-input-error:deep(input)[b-5kr9qqdu94] {
    border-color: #dc2626 !important;
    box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.12);
}

/* ===== GDPR elfogadás ===== */
.inv-consent[b-5kr9qqdu94] {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 0.75rem 1rem;
}

.inv-consent-error[b-5kr9qqdu94] {
    border-color: #dc2626;
    background: #fef2f2;
}

.inv-consent label[b-5kr9qqdu94] {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    font-size: 0.85rem;
    color: #475569;
    cursor: pointer;
    margin: 0;
}

.inv-consent input[type="checkbox"][b-5kr9qqdu94] {
    margin-top: 0.15rem;
    width: 16px;
    height: 16px;
    cursor: pointer;
}

.inv-consent a[b-5kr9qqdu94] {
    color: #2563eb;
    text-decoration: underline;
}
/* /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: #15803d; 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; }

/* Fizetés és számlák: a teljes sort kitölti a számlatáblázat miatt */
.acc-payment-card[b-a85dfdfskh] { grid-column: 1 / -1; }
.acc-payment-body[b-a85dfdfskh] { padding: 0 1.25rem 1rem; }

/* 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/SystemPanel/SystemAdminPanel.razor.rz.scp.css */
/* Admin „Rendszer” fül — navy/fehér enterprise megjelenés, zöld/piros állapotjelzéssel */

.sys-panel[b-hw2iutudad] {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.sys-section[b-hw2iutudad] {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 20px 24px;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06), 0 4px 12px rgba(15, 23, 42, 0.04);
}

.sys-section-head[b-hw2iutudad] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

.sys-section-title[b-hw2iutudad] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.sys-section-title h3[b-hw2iutudad] {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 600;
    color: #0f172a;
}

.sys-section-title > i[b-hw2iutudad] {
    color: #1e3a8a;
    font-size: 1.3rem;
}

.sys-section-actions[b-hw2iutudad] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.sys-muted[b-hw2iutudad] {
    color: #64748b;
    font-size: 0.85rem;
}

.sys-loading[b-hw2iutudad] {
    display: flex;
    justify-content: center;
    padding: 24px;
}

/* ===== Gombok ===== */
.sys-btn[b-hw2iutudad] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-radius: 6px;
    font-size: 0.88rem;
    font-weight: 500;
    cursor: pointer;
    border: 1px solid transparent;
    background: transparent;
    white-space: nowrap;
    transition: background 0.15s, border-color 0.15s, transform 0.1s;
}

.sys-btn:disabled[b-hw2iutudad] {
    opacity: 0.55;
    cursor: not-allowed;
}

.sys-btn:active:not(:disabled)[b-hw2iutudad] {
    transform: translateY(1px);
}

.sys-btn-primary[b-hw2iutudad] {
    background: #1e3a8a;
    color: #ffffff;
}

.sys-btn-primary:hover:not(:disabled)[b-hw2iutudad] {
    background: #1e40af;
}

.sys-btn-secondary[b-hw2iutudad] {
    background: #ffffff;
    color: #1e3a8a;
    border-color: #cbd5e1;
}

.sys-btn-secondary:hover:not(:disabled)[b-hw2iutudad] {
    background: #f1f5f9;
}

.sys-btn-danger[b-hw2iutudad] {
    background: #ffffff;
    color: #b91c1c;
    border-color: #fecaca;
}

.sys-btn-danger:hover:not(:disabled)[b-hw2iutudad] {
    background: #fef2f2;
    border-color: #f87171;
}

.sys-btn-ghost[b-hw2iutudad] {
    color: #1e3a8a;
    padding: 6px 10px;
}

.sys-btn-ghost:hover[b-hw2iutudad] {
    background: #f1f5f9;
}

.sys-spin[b-hw2iutudad] {
    animation: sys-spin-b-hw2iutudad 1s linear infinite;
}

@keyframes sys-spin-b-hw2iutudad {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

/* ===== Állapotjelzés ===== */
.sys-badge[b-hw2iutudad] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 600;
    border: 1px solid transparent;
}

.sys-badge.sys-status-ok[b-hw2iutudad] {
    background: #ecfdf5;
    color: #047857;
    border-color: #a7f3d0;
}

.sys-badge.sys-status-warning[b-hw2iutudad] {
    background: #fffbeb;
    color: #b45309;
    border-color: #fde68a;
}

.sys-badge.sys-status-error[b-hw2iutudad] {
    background: #fef2f2;
    color: #b91c1c;
    border-color: #fecaca;
}

.sys-checks[b-hw2iutudad] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.sys-check[b-hw2iutudad] {
    border: 1px solid #e2e8f0;
    border-left-width: 4px;
    border-radius: 8px;
    padding: 12px 16px;
    background: #f8fafc;
}

.sys-check.sys-status-ok[b-hw2iutudad] {
    border-left-color: #10b981;
}

.sys-check.sys-status-warning[b-hw2iutudad] {
    border-left-color: #f59e0b;
    background: #fffdf5;
}

.sys-check.sys-status-error[b-hw2iutudad] {
    border-left-color: #dc2626;
    background: #fffafa;
}

.sys-check-head[b-hw2iutudad] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.sys-check-icon[b-hw2iutudad] {
    font-size: 1.35rem;
    flex: 0 0 auto;
}

.sys-status-ok .sys-check-icon[b-hw2iutudad] {
    color: #059669;
}

.sys-status-warning .sys-check-icon[b-hw2iutudad] {
    color: #d97706;
}

.sys-status-error .sys-check-icon[b-hw2iutudad] {
    color: #dc2626;
}

.sys-check-text[b-hw2iutudad] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1 1 auto;
    min-width: 0;
}

.sys-check-title[b-hw2iutudad] {
    font-weight: 600;
    color: #0f172a;
}

.sys-check-summary[b-hw2iutudad] {
    color: #334155;
    font-size: 0.9rem;
}

.sys-check-ms[b-hw2iutudad] {
    flex: 0 0 auto;
}

.sys-check-details[b-hw2iutudad] {
    margin: 10px 0 0 34px;
    padding: 10px 14px 10px 28px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    max-height: 260px;
    overflow-y: auto;
    font-family: Consolas, "Courier New", monospace;
    font-size: 0.82rem;
    color: #1e293b;
}

.sys-check-details li[b-hw2iutudad] {
    padding: 2px 0;
    word-break: break-word;
}

.sys-check-advice[b-hw2iutudad] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 10px 0 0 34px;
    color: #1e3a8a;
    font-size: 0.88rem;
}

.sys-check-advice i[b-hw2iutudad] {
    margin-top: 2px;
}

/* ===== Gyorsítótár ===== */
.sys-note[b-hw2iutudad] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    margin-bottom: 12px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 6px;
    color: #1e3a8a;
    font-size: 0.88rem;
}

.sys-text-counts[b-hw2iutudad] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 12px;
}

.sys-chip[b-hw2iutudad] {
    display: inline-block;
    padding: 2px 10px;
    border-radius: 999px;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    color: #0f172a;
    font-size: 0.8rem;
    font-weight: 500;
}

.sys-table-wrapper[b-hw2iutudad] {
    overflow-x: auto;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
}

.sys-table[b-hw2iutudad] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
}

.sys-table th[b-hw2iutudad] {
    background: #1e3a8a;
    color: #ffffff;
    text-align: left;
    font-weight: 600;
    padding: 10px 14px;
}

.sys-table td[b-hw2iutudad] {
    padding: 10px 14px;
    border-top: 1px solid #e2e8f0;
    vertical-align: middle;
}

.sys-table tbody tr:hover[b-hw2iutudad] {
    background: #f8fafc;
}

.sys-num[b-hw2iutudad] {
    text-align: right;
    width: 110px;
    font-variant-numeric: tabular-nums;
}

.sys-table th.sys-num[b-hw2iutudad] {
    text-align: right;
}

.sys-actions[b-hw2iutudad] {
    text-align: right;
    width: 140px;
}

.sys-group-title[b-hw2iutudad] {
    display: block;
    font-weight: 600;
    color: #0f172a;
}

.sys-group-desc[b-hw2iutudad] {
    display: block;
    color: #64748b;
    font-size: 0.82rem;
}

.sys-group-warning[b-hw2iutudad] {
    display: block;
    margin-top: 2px;
    color: #b45309;
    font-size: 0.82rem;
}

/* ===== Alkalmazás ===== */
.sys-info-grid[b-hw2iutudad] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 12px;
}

.sys-info-item[b-hw2iutudad] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 12px 14px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
}

.sys-info-label[b-hw2iutudad] {
    color: #64748b;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.sys-info-value[b-hw2iutudad] {
    color: #0f172a;
    font-weight: 600;
    word-break: break-word;
}

.sys-mono[b-hw2iutudad] {
    font-family: Consolas, "Courier New", monospace;
    font-size: 0.85rem;
}

@media (max-width: 720px) {
    .sys-section[b-hw2iutudad] {
        padding: 16px;
    }

    .sys-check-head[b-hw2iutudad] {
        flex-wrap: wrap;
    }

    .sys-check-details[b-hw2iutudad],
    .sys-check-advice[b-hw2iutudad] {
        margin-left: 0;
    }
}
/* /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: #5d6b7c;
    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;
}

/* ===== Fejléc műveletek (olvasottá, tömeges elvetés) ===== */
.al-header-actions[b-cxdh6t5u58] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

/* A tömeges gombok a "Mindet olvasottá" kinézetét kapják, de külön osztállyal (az E2E és a logika a mark-all gombot keresi) */
.al-bulk-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-bulk-btn:hover[b-cxdh6t5u58] {
    background: #0f2444;
    border-color: #0f2444;
    color: #fff;
}

.al-bulk-dismiss-btn:hover[b-cxdh6t5u58] {
    background: #b91c1c;
    border-color: #b91c1c;
    color: #fff;
}

/* Kijelölő jelölőnégyzet a riasztás bal szélén */
.al-item-check[b-cxdh6t5u58] {
    display: flex;
    align-items: flex-start;
    padding: 18px 0 0 12px;
    cursor: pointer;
}

.al-item-check input[b-cxdh6t5u58] {
    width: 16px;
    height: 16px;
    cursor: pointer;
    accent-color: #0f2444;
}

.al-item.selected[b-cxdh6t5u58] {
    box-shadow: 0 0 0 2px #0f2444;
}

/* ===== 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: #5d6b7c;
}

.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: #5d6b7c;
}

.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: #5d6b7c;
}

/* ===== 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: #5d6b7c;
    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-import {
    width: 70px;
    text-align: center;
}

[b-9cwlynah8o] .brc-col-match-pct {
    width: 90px;
    text-align: center;
}

/* ===== Preview szűrő fülek ===== */
[b-9cwlynah8o] .brc-preview-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 12px;
}

[b-9cwlynah8o] .brc-filter-tab {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border: 1px solid #d1d9e3;
    border-radius: 999px;
    background-color: #fff;
    color: #1e3a5f;
    font-size: 0.85rem;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.15s, border-color 0.15s, color 0.15s;
}

[b-9cwlynah8o] .brc-filter-tab:hover {
    background-color: #eef2f7;
}

[b-9cwlynah8o] .brc-filter-tab.active {
    background-color: #1e3a5f;
    border-color: #1e3a5f;
    color: #fff;
}

[b-9cwlynah8o] .brc-filter-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 18px;
    padding: 0 6px;
    border-radius: 999px;
    background-color: #e5eaf1;
    color: #1e3a5f;
    font-size: 0.74rem;
    font-weight: 600;
}

[b-9cwlynah8o] .brc-filter-tab.active .brc-filter-count {
    background-color: rgba(255, 255, 255, 0.25);
    color: #fff;
}

/* A "nincs a rendszerben" fül borostyán, a "párosítva" zöld hangsúllyal */
[b-9cwlynah8o] .brc-filter-tab-warn.active {
    background-color: #b45309;
    border-color: #b45309;
}

[b-9cwlynah8o] .brc-filter-tab-matched.active {
    background-color: #166534;
    border-color: #166534;
}

[b-9cwlynah8o] .brc-filter-empty {
    text-align: center;
    color: #5d6b7c;
    font-style: italic;
    padding: 18px !important;
}

/* ===== % egyezés badge ===== */
[b-9cwlynah8o] .brc-pct-badge {
    display: inline-block;
    min-width: 46px;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 700;
    text-align: center;
}

[b-9cwlynah8o] .brc-pct-empty {
    color: #5d6b7c;
}

[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;
}

/* Párosítás cella: leíró + ok + csatolmány-link egymás alatt */
[b-9cwlynah8o] .brc-match-cell {
    display: flex;
    flex-direction: column;
    gap: 3px;
    align-items: flex-start;
}

[b-9cwlynah8o] .brc-match {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 5px;
    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;
}

/* "Nincs a rendszerben" jelzés — figyelemfelhívó, de nem hibajellegű */
[b-9cwlynah8o] .brc-not-in-system {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #b45309;
    font-style: normal;
    font-weight: 500;
    background-color: #fffbeb;
    border: 1px solid #fcd34d;
    padding: 2px 8px;
    border-radius: 4px;
}

/* Számla-csatolmány letöltő link a párosított tétel alatt */
[b-9cwlynah8o] .brc-attachment-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.76rem;
    font-weight: 500;
    color: #1e3a5f;
    text-decoration: none;
    padding: 1px 6px;
    border: 1px solid #c7d2e1;
    border-radius: 4px;
    background-color: #f1f5f9;
}

[b-9cwlynah8o] .brc-attachment-link:hover {
    background-color: #e2e8f0;
    color: #0f2438;
    text-decoration: none;
}

[b-9cwlynah8o] .brc-preview-count-warn strong {
    color: #b45309;
}

[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;
}

/* ===== Tranzakció szűrősáv =====
   Időszak (év + hónap) balra, státusz fülek középen, keresés jobbra. Kis képernyőn tördel. */
[b-9cwlynah8o] .brc-tx-filters {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 16px;
    margin-bottom: 12px;
    padding: 10px 14px;
    background-color: #f6f8fb;
    border: 1px solid #e3e9f0;
    border-radius: 8px;
}

[b-9cwlynah8o] .brc-tx-filter-group {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

[b-9cwlynah8o] .brc-tx-filter-label {
    color: #5d6b7c;
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

[b-9cwlynah8o] .brc-tx-filter-select {
    padding: 5px 10px;
    border: 1px solid #d1d9e3;
    border-radius: 6px;
    background-color: #fff;
    color: #1e3a5f;
    font-size: 0.85rem;
    cursor: pointer;
}

[b-9cwlynah8o] .brc-tx-filter-select:focus {
    outline: none;
    border-color: #1e3a5f;
    box-shadow: 0 0 0 2px rgba(30, 58, 95, 0.12);
}

[b-9cwlynah8o] .brc-tx-filter-status {
    flex-wrap: wrap;
    gap: 6px;
}

/* Keresőmező — a törlés ikon a mezőn belül ül */
[b-9cwlynah8o] .brc-tx-filter-search {
    position: relative;
    flex: 1 1 220px;
    min-width: 180px;
}

[b-9cwlynah8o] .brc-tx-filter-search > i {
    position: absolute;
    left: 10px;
    color: #94a3b8;
    font-size: 0.95rem;
    pointer-events: none;
}

[b-9cwlynah8o] .brc-tx-filter-search input {
    width: 100%;
    padding: 6px 30px 6px 30px;
    border: 1px solid #d1d9e3;
    border-radius: 6px;
    background-color: #fff;
    color: #1e3a5f;
    font-size: 0.85rem;
}

[b-9cwlynah8o] .brc-tx-filter-search input:focus {
    outline: none;
    border-color: #1e3a5f;
    box-shadow: 0 0 0 2px rgba(30, 58, 95, 0.12);
}

[b-9cwlynah8o] .brc-tx-search-clear {
    position: absolute;
    right: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background-color: transparent;
    color: #5d6b7c;
    cursor: pointer;
}

[b-9cwlynah8o] .brc-tx-search-clear:hover {
    background-color: #e5eaf1;
    color: #1e3a5f;
}

/* ===== Összesítő sáv a szűrt halmazról ===== */
[b-9cwlynah8o] .brc-tx-summary {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 20px;
    margin-bottom: 10px;
    padding: 8px 14px;
    background-color: #fff;
    border: 1px solid #e3e9f0;
    border-left: 3px solid #1e3a5f;
    border-radius: 6px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    font-size: 0.85rem;
}

[b-9cwlynah8o] .brc-tx-summary-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #334155;
}

[b-9cwlynah8o] .brc-tx-summary-item strong {
    color: #1e3a5f;
    font-weight: 700;
}

[b-9cwlynah8o] .brc-tx-summary-warn {
    color: #b45309;
    font-weight: 600;
    cursor: help;
}

[b-9cwlynah8o] .brc-tx-summary-warn strong {
    color: #b45309;
}

[b-9cwlynah8o] .brc-tx-summary-muted {
    color: #64748b;
    cursor: help;
}

[b-9cwlynah8o] .brc-tx-summary-muted strong {
    color: #475569;
}

/* ===== Kizárt tétel (nincs és nem is lesz számla-párja) =====
   Semleges szürke: nem hiba és nem siker, hanem tudatos döntés. */
[b-9cwlynah8o] .brc-filter-tab-excluded.active {
    background-color: #475569;
    border-color: #475569;
}

[b-9cwlynah8o] .brc-excluded-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px 10px;
    border-radius: 999px;
    background-color: #f1f5f9;
    border: 1px solid #cbd5e1;
    color: #475569;
    font-size: 0.82rem;
    font-weight: 600;
    cursor: help;
}

[b-9cwlynah8o] .brc-excluded-reason {
    color: #5d6b7c;
    font-weight: 400;
    font-style: italic;
}

/* ===== Szekció fejléc (cím + szabály gomb) ===== */
[b-9cwlynah8o] .brc-section-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
}

[b-9cwlynah8o] .brc-section-head .brc-section-title {
    margin: 0;
}

/* ===== Kizárási szabályok panel ===== */
[b-9cwlynah8o] .brc-rules-panel {
    margin-bottom: 14px;
    padding: 12px 14px;
    background-color: #f8fafc;
    border: 1px solid #e3e9f0;
    border-left: 3px solid #475569;
    border-radius: 8px;
}

[b-9cwlynah8o] .brc-rules-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
}

[b-9cwlynah8o] .brc-rules-title {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #1e3a5f;
    font-size: 0.9rem;
    font-weight: 700;
}

[b-9cwlynah8o] .brc-rules-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

[b-9cwlynah8o] .brc-rule-item {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 8px 12px;
    background-color: #fff;
    border: 1px solid #e3e9f0;
    border-radius: 6px;
}

[b-9cwlynah8o] .brc-rule-item.inactive {
    opacity: 0.55;
}

[b-9cwlynah8o] .brc-rule-item-main {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

[b-9cwlynah8o] .brc-rule-desc {
    color: #1e3a5f;
    font-size: 0.86rem;
    font-weight: 600;
}

[b-9cwlynah8o] .brc-rule-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 12px;
    color: #64748b;
    font-size: 0.76rem;
}

[b-9cwlynah8o] .brc-rule-reason {
    font-style: italic;
}

[b-9cwlynah8o] .brc-rule-scope,
[b-9cwlynah8o] .brc-rule-count {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

[b-9cwlynah8o] .brc-rule-count {
    color: #166534;
    font-weight: 600;
}

[b-9cwlynah8o] .brc-rule-item-actions {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

/* ===== Szabály létrehozás a kizárás modalban ===== */
[b-9cwlynah8o] .brc-rule-block {
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px dashed #d1d9e3;
}

[b-9cwlynah8o] .brc-rule-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #1e3a5f;
    font-size: 0.88rem;
    font-weight: 600;
    cursor: pointer;
}

[b-9cwlynah8o] .brc-rule-toggle span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

[b-9cwlynah8o] .brc-rule-form {
    margin-top: 10px;
    padding: 10px 12px;
    background-color: #f8fafc;
    border: 1px solid #e3e9f0;
    border-radius: 6px;
}

[b-9cwlynah8o] .brc-rule-preview {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 8px 0 0;
    color: #475569;
    font-size: 0.8rem;
    line-height: 1.45;
}

/* ===== Kizárás modal ===== */
[b-9cwlynah8o] .brc-exclude-modal {
    max-width: 560px;
}

[b-9cwlynah8o] .brc-exclude-info {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 14px 0 10px;
    padding: 10px 12px;
    background-color: #eff6ff;
    border-left: 3px solid #2563eb;
    border-radius: 6px;
    color: #1e3a8a;
    font-size: 0.85rem;
    line-height: 1.45;
}

[b-9cwlynah8o] .brc-exclude-suggestions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}

[b-9cwlynah8o] .brc-exclude-warning {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-top: 14px;
    padding: 10px 12px;
    background-color: #fffbeb;
    border-left: 3px solid #b45309;
    border-radius: 6px;
    color: #92400e;
    font-size: 0.85rem;
    line-height: 1.45;
}

/* ===== 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 ===== */








/* ==================== 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;
}

/* ==================== Kézi párosítás ==================== */
/* A "nincs a rendszerben" sorokhoz és a párosítatlan tranzakciókhoz tartozó akciók */

[b-9cwlynah8o] .brc-col-actions {
    width: 190px;
    white-space: nowrap;
}

[b-9cwlynah8o] .brc-row-actions {
    display: flex;
    flex-direction: column;
    gap: 2px;
    align-items: flex-start;
}

[b-9cwlynah8o] .brc-match-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

/* Kis, keretes "Párosítás" gomb a táblázatban */
[b-9cwlynah8o] .brc-match-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px;
    border: 1px solid #1e3a5f;
    border-radius: 5px;
    background-color: #fff;
    color: #1e3a5f;
    font-size: 0.8rem;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.15s ease, box-shadow 0.15s ease;
}

[b-9cwlynah8o] .brc-match-btn:hover:not(:disabled) {
    background-color: #eef2f7;
    box-shadow: 0 1px 3px rgba(30, 58, 95, 0.18);
}

[b-9cwlynah8o] .brc-match-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Szöveges (link jellegű) művelet gomb */
[b-9cwlynah8o] .brc-link-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 4px;
    border: none;
    background: transparent;
    color: #1e3a5f;
    font-size: 0.78rem;
    font-weight: 500;
    cursor: pointer;
    border-radius: 4px;
}

[b-9cwlynah8o] .brc-link-btn:hover:not(:disabled) {
    background-color: #eef2f7;
    text-decoration: underline;
}

[b-9cwlynah8o] .brc-link-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

[b-9cwlynah8o] .brc-link-btn-danger {
    color: #c62828;
}

[b-9cwlynah8o] .brc-link-btn-danger:hover:not(:disabled) {
    background-color: #fef2f2;
}

/* ===== Párosító modal ===== */
[b-9cwlynah8o] .brc-match-modal {
    max-width: 860px;
}

[b-9cwlynah8o] .brc-match-modal .brc-modal-body {
    max-height: 70vh;
    overflow-y: auto;
}

[b-9cwlynah8o] .brc-match-source {
    padding: 12px 14px;
    background-color: #eef2f7;
    border: 1px solid #d1d9e3;
    border-radius: 6px;
    margin-bottom: 14px;
}

[b-9cwlynah8o] .brc-match-source-label {
    display: block;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #5d6b7c;
    margin-bottom: 6px;
}

[b-9cwlynah8o] .brc-match-source-data {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    align-items: center;
    font-size: 0.92rem;
    color: #1f2937;
}

[b-9cwlynah8o] .brc-match-source-data i {
    color: #1e3a5f;
    margin-right: 4px;
}

[b-9cwlynah8o] .brc-match-source-note {
    margin-top: 6px;
    font-size: 0.82rem;
    color: #5d6b7c;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

[b-9cwlynah8o] .brc-match-search {
    display: flex;
    gap: 8px;
    margin-bottom: 10px;
}

[b-9cwlynah8o] .brc-match-search input {
    flex: 1;
    padding: 8px 10px;
    border: 1px solid #d1d5db;
    border-radius: 5px;
    font-size: 0.92rem;
    background-color: #fff;
    color: #1f2937;
}

[b-9cwlynah8o] .brc-match-search input:focus {
    outline: none;
    border-color: #1e3a5f;
    box-shadow: 0 0 0 3px rgba(30, 58, 95, 0.15);
}

[b-9cwlynah8o] .brc-match-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 12px;
}

[b-9cwlynah8o] .brc-match-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 30px;
    color: #6b7280;
}

[b-9cwlynah8o] .brc-match-candidates {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

[b-9cwlynah8o] .brc-match-candidate {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    background-color: #fff;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

[b-9cwlynah8o] .brc-match-candidate:hover {
    border-color: #1e3a5f;
    box-shadow: 0 2px 6px rgba(30, 58, 95, 0.12);
}

[b-9cwlynah8o] .brc-match-candidate.used {
    opacity: 0.6;
    background-color: #f9fafb;
}

[b-9cwlynah8o] .brc-match-candidate-main {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    min-width: 0;
    flex: 1;
}

[b-9cwlynah8o] .brc-match-candidate-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

[b-9cwlynah8o] .brc-match-candidate-text strong {
    color: #1e3a5f;
    font-size: 0.92rem;
}

[b-9cwlynah8o] .brc-match-candidate-meta {
    font-size: 0.8rem;
    color: #6b7280;
}

[b-9cwlynah8o] .brc-match-diff {
    color: #b45309;
    margin-left: 4px;
}

[b-9cwlynah8o] .brc-match-used-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.75rem;
    color: #991b1b;
    background-color: #fee2e2;
    padding: 1px 6px;
    border-radius: 4px;
    align-self: flex-start;
    flex-wrap: wrap;
}

/* A foglaló banki tétel megnevezése — ez a lényegi információ a jelzésben, ezért kiemelt */
[b-9cwlynah8o] .brc-match-used-target {
    font-weight: 600;
    color: #7f1d1d;
}

/* Ugrás a foglaló tételhez: a jelzésen belül ül, hogy ne kelljen külön keresni */
[b-9cwlynah8o] .brc-match-used-jump {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    margin-left: 4px;
    padding: 0 4px;
    border: 1px solid #fca5a5;
    border-radius: 4px;
    background-color: #fff;
    color: #991b1b;
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.5;
    cursor: pointer;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

[b-9cwlynah8o] .brc-match-used-jump:hover {
    background-color: #fef2f2;
    border-color: #ef4444;
}

[b-9cwlynah8o] .brc-match-used-jump:focus-visible {
    outline: 2px solid #ef4444;
    outline-offset: 1px;
}

/* Párosítás holt hivatkozásra: a tétel törölve, de a párosítás megmaradt */
[b-9cwlynah8o] .brc-match-orphan {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #b45309;
    font-style: italic;
}

/* Rövid kiemelés, amikor egy másik nézetből ugrottunk erre a sorra */
[b-9cwlynah8o] .brc-tx-row-highlight > td {
    background-color: #fef9c3;
    transition: background-color 0.6s ease;
}

[b-9cwlynah8o] .brc-match-candidate-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

[b-9cwlynah8o] .brc-match-widen {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px dashed #e5e7eb;
    font-size: 0.82rem;
    color: #6b7280;
}

/* ===== 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;
}

/* ==================== Tétel létrehozása a banki sorból ==================== */
/* A párosítatlan banki sorhoz helyben rögzíthető bevétel / kiadás — az űrlap a Bevétel és a
   Kiadás képernyő mezőit követi, hogy a felhasználó ugyanazt lássa, amit megszokott. */

[b-9cwlynah8o] .brc-entry-modal {
    max-width: 720px;
}

[b-9cwlynah8o] .brc-entry-modal .brc-modal-body {
    max-height: 70vh;
    overflow-y: auto;
}

[b-9cwlynah8o] .brc-entry-type-toggle {
    display: flex;
    gap: 8px;
    margin-bottom: 16px;
}








[b-9cwlynah8o] .brc-entry-footnote {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 14px 0 0 0;
    padding: 10px 12px;
    background-color: #f0f9ff;
    border: 1px solid #bae6fd;
    border-radius: 6px;
    font-size: 0.85rem;
    color: #075985;
}

[b-9cwlynah8o] .brc-entry-partner-toggle {
    display: flex;
    gap: 8px;
}

[b-9cwlynah8o] .brc-entry-toggle-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border: 1px solid #d1d9e3;
    border-radius: 6px;
    background-color: #fff;
    color: #1e3a5f;
    font-size: 0.85rem;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.15s, border-color 0.15s, color 0.15s;
}

[b-9cwlynah8o] .brc-entry-toggle-btn:hover {
    background-color: #eef2f7;
}

[b-9cwlynah8o] .brc-entry-toggle-btn.active {
    background-color: #1e3a5f;
    border-color: #1e3a5f;
    color: #fff;
}

/* A hibás mezőt a Radzen input külső kerete jelzi */

/* ===== Tömeges létrehozás ===== */

[b-9cwlynah8o] .brc-bulk-entry-btn {
    margin-right: auto;
}

[b-9cwlynah8o] .brc-section-head .brc-bulk-entry-btn {
    margin-right: 8px;
}

[b-9cwlynah8o] .brc-bulk-summary {
    margin: 0 0 14px 0;
    font-size: 0.92rem;
    color: #1f2937;
    line-height: 1.5;
}

/* Újra elemzés — a párosítatlan tételek automatikus párosításának újrafuttatása */
[b-9cwlynah8o] .brc-reanalyze-btn {
    margin-right: 8px;
}

[b-9cwlynah8o] .brc-reanalyze-btn:disabled {
    opacity: 0.65;
    cursor: progress;
}

/* A tétel-ablak fejléce sötétkék — a cím és az ikon fehér kell legyen, hogy olvasható maradjon
   (a Radzen globális h3 színe egyébként felülírná) */
[b-9cwlynah8o] .brc-entry-modal .brc-modal-header h3,
[b-9cwlynah8o] .brc-entry-modal .brc-modal-header h3 i {
    color: #ffffff;
}

/* ==================== Teendő-sáv (párosítatlan tételek műveletei) ==================== */
/* A két fő művelet korábban a szekció fejlécében volt, halvány gombként — észrevehetetlenül.
   Itt, a "párosítatlan" szám alatt, kiemelt sávban ülnek, ahol a teendő is látszik. */

[b-9cwlynah8o] .brc-todo-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin: 0 0 12px 0;
    padding: 12px 16px;
    background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);
    border: 1px solid #fcd34d;
    border-left: 4px solid #b45309;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(180, 83, 9, 0.12);
}

[b-9cwlynah8o] .brc-todo-info {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.95rem;
    font-weight: 600;
    color: #78350f;
    min-width: 0;
}

[b-9cwlynah8o] .brc-todo-info > i {
    font-size: 1.25rem;
    color: #b45309;
}

[b-9cwlynah8o] .brc-todo-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

[b-9cwlynah8o] .brc-todo-actions .brc-primary-btn,
[b-9cwlynah8o] .brc-todo-actions .brc-secondary-btn {
    white-space: nowrap;
}

[b-9cwlynah8o] .brc-reanalyze-btn:disabled {
    opacity: 0.65;
    cursor: progress;
}

/* ===== Párosítási javaslat a soron ===== */

[b-9cwlynah8o] .brc-suggestion-cell {
    padding: 6px 8px;
    background: #f0f9ff;
    border: 1px dashed #7dd3fc;
    border-radius: 6px;
}

[b-9cwlynah8o] .brc-suggestion-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #0369a1;
}

[b-9cwlynah8o] .brc-suggestion-label > i {
    color: #0284c7;
}

[b-9cwlynah8o] .brc-accept-suggestion-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 12px;
    border: 1px solid #166534;
    border-radius: 6px;
    background-color: #166534;
    color: #fff;
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.15s;
}

[b-9cwlynah8o] .brc-accept-suggestion-btn:hover:not(:disabled) {
    background-color: #14532d;
}

[b-9cwlynah8o] .brc-accept-suggestion-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Üres állapot: magyarázat + konkrét következő lépés */
.brc-empty-state-guide[b-9cwlynah8o] {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.brc-empty-text[b-9cwlynah8o] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    flex: 1;
    min-width: 240px;
}

.brc-empty-text span[b-9cwlynah8o] {
    color: #64748b;
    font-size: 0.85rem;
    line-height: 1.45;
}

.brc-empty-action[b-9cwlynah8o] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.55rem 1.1rem;
    background: #0f2a44;
    color: #ffffff;
    border: none;
    border-radius: 8px;
    font-size: 0.88rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s ease;
}

.brc-empty-action:hover[b-9cwlynah8o] {
    background: #1e3a8a;
}

/* ===== Egyenleg-horgony =====
   A hiteles egyenleg megadása: ez akadályozza meg, hogy a rendszerben látott szám
   tartósan elcsússzon a valóságtól. */
.brc-anchor[b-9cwlynah8o] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.9rem;
    margin-top: 0.8rem;
    padding: 0.8rem 1rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
}

.brc-anchor-info[b-9cwlynah8o] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex: 1;
    min-width: 260px;
    color: #475569;
    font-size: 0.84rem;
    line-height: 1.45;
}

.brc-anchor-info > i[b-9cwlynah8o] {
    font-size: 1.1rem;
    color: #1e3a8a;
    flex-shrink: 0;
}

.brc-anchor-form[b-9cwlynah8o] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.brc-anchor-input[b-9cwlynah8o] {
    padding: 0.45rem 0.6rem;
    border: 1.5px solid #e2e8f0;
    border-radius: 8px;
    font-size: 0.86rem;
    min-width: 150px;
}

.brc-anchor-input:focus[b-9cwlynah8o] {
    outline: none;
    border-color: #1e3a8a;
}

.brc-anchor-btn[b-9cwlynah8o] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.45rem 1rem;
    background: #0f2a44;
    color: #ffffff;
    border: none;
    border-radius: 8px;
    font-size: 0.86rem;
    font-weight: 600;
    cursor: pointer;
}

.brc-anchor-btn:hover:not(:disabled)[b-9cwlynah8o] {
    background: #1e3a8a;
}

.brc-anchor-btn:disabled[b-9cwlynah8o] {
    opacity: 0.6;
    cursor: not-allowed;
}
/* ===== Párosítatlan tételek nyomtatható listája =====
   A gomb az összesítő sávban van, a "párosítatlan: N" szám mellett — ott, ahol a szám látszik.
   Az "auto" bal margó a sáv jobb szélére húzza, hogy ne keveredjen a számokkal. */
[b-9cwlynah8o] .brc-tx-summary-print {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-left: auto;
    padding: 4px 10px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    background-color: #f8fafc;
    color: #1e3a5f;
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    transition: background-color 0.15s, border-color 0.15s;
}

[b-9cwlynah8o] .brc-tx-summary-print:hover:not(:disabled) {
    background-color: #eef2f7;
    border-color: #94a3b8;
}

[b-9cwlynah8o] .brc-print-unmatched-btn:disabled {
    opacity: 0.65;
    cursor: progress;
}

/* ===== Keresés a kizártak között =====
   Három helyen jelenik meg ugyanaz a gondolat, ezért ugyanaz a semleges szürke, mint a
   "Kizárt" fülé: nem hiba és nem siker, hanem egy tudatosan bekapcsolt tágítás. */

/* Tranzakció lista: "Kizártak között is" kapcsoló a kereső mellett */
[b-9cwlynah8o] .brc-search-excluded-toggle {
    white-space: nowrap;
}

/* Import előnézet: a kereső a szűrő fülek sorának jobb szélére kerül */
[b-9cwlynah8o] .brc-preview-search {
    margin-left: auto;
    min-width: 260px;
}

/* Párosító ablak: a csak a kapcsoló miatt felhozott jelölt halványabb, hogy a rendes
   találatoktól ránézésre elkülönüljön — de olvasható maradjon. */
[b-9cwlynah8o] .brc-match-candidate.filtered-out {
    background-color: #f8fafc;
    border-style: dashed;
}

[b-9cwlynah8o] .brc-match-filtered-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.75rem;
    color: #475569;
    background-color: #eef2f7;
    padding: 1px 6px;
    border-radius: 4px;
    align-self: flex-start;
}

[b-9cwlynah8o] .brc-match-filtered-reason {
    color: #5d6b7c;
    font-style: italic;
}

/* Bankszámla törlésének megerősítése */
[b-9cwlynah8o] .brc-danger-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;
    background-color: #b91c1c;
    color: #fff;
    box-shadow: 0 1px 3px rgba(185, 28, 28, 0.25);
}

[b-9cwlynah8o] .brc-danger-btn:hover:not(:disabled) {
    background-color: #991b1b;
}

[b-9cwlynah8o] .brc-danger-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.brc-delete-confirm-text[b-9cwlynah8o] {
    margin: 0;
    font-size: 0.92rem;
    line-height: 1.5;
    color: #1f2937;
}
/* /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: #5d6b7c;
    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:not(:disabled)[b-mekw8xhusp] {
    background: #f1f5f9;
    color: #0f2d52;
}

/* Töltés közben nem kattintható — a ChangeYear ilyenkor eldobná a kattintást */
.ba-year-btn:disabled[b-mekw8xhusp] {
    opacity: 0.45;
    cursor: not-allowed;
}

.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: #5d6b7c;
}

.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: #5d6b7c;
    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: #5d6b7c;
    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: #5d6b7c;
    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;
}

/* ==================== 80/20 (Pareto) sávos lista ====================
   Oszlopdiagram helyett vízszintes sávok: a kategórianevek így teljes hosszban olvashatók
   maradnak (a tengelyfeliratok korábban egymásra csúsztak). */
.ba-pareto-headline[b-mekw8xhusp] {
    display: flex;
    align-items: baseline;
    gap: 0.4rem;
    padding: 0.5rem 0.65rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-left: 3px solid #1a3a5c;
    border-radius: 6px;
    margin-bottom: 0.7rem;
}

.ba-pareto-headline-value[b-mekw8xhusp] {
    font-size: 1.35rem;
    font-weight: 800;
    color: #1a3a5c;
    font-variant-numeric: tabular-nums;
}

.ba-pareto-headline-label[b-mekw8xhusp] {
    font-size: 0.82rem;
    color: #475569;
}

.ba-pareto-list[b-mekw8xhusp] {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.ba-pareto-row[b-mekw8xhusp] {
    display: flex;
    flex-direction: column;
    gap: 0.22rem;
    padding: 0.4rem 0.5rem;
    border-radius: 6px;
    border: 1px solid transparent;
}

/* A kiadás 80%-át adó kategóriák — ezekkel érdemes foglalkozni */
.ba-pareto-vital[b-mekw8xhusp] {
    background: #f8fafc;
    border-color: #e2e8f0;
}

/* Az összevont „egyéb" sor — vizuálisan hátrébb lép */
.ba-pareto-other[b-mekw8xhusp] {
    opacity: 0.75;
}

.ba-pareto-line[b-mekw8xhusp] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.ba-pareto-name[b-mekw8xhusp] {
    flex: 1;
    font-size: 0.86rem;
    font-weight: 600;
    color: #0f2d52;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ba-pareto-other-count[b-mekw8xhusp] {
    color: #5d6b7c;
    font-weight: 500;
    margin-left: 0.25rem;
}

.ba-pareto-amount[b-mekw8xhusp] {
    font-size: 0.84rem;
    font-weight: 700;
    color: #334155;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.ba-pareto-track[b-mekw8xhusp] {
    flex: 1;
    background: #eef2f7;
    border-radius: 4px;
    height: 8px;
    overflow: hidden;
}

.ba-pareto-fill[b-mekw8xhusp] {
    height: 100%;
    border-radius: 4px;
    background: #94a3b8;
    transition: width 0.4s ease;
}

/* A lényeges kategóriák sávja a fő navy színnel emelkedik ki */
.ba-pareto-vital .ba-pareto-fill[b-mekw8xhusp] {
    background: #1a3a5c;
}

.ba-pareto-share[b-mekw8xhusp] {
    font-size: 0.78rem;
    font-weight: 700;
    color: #1a3a5c;
    font-variant-numeric: tabular-nums;
    min-width: 46px;
    text-align: right;
}

.ba-pareto-cum[b-mekw8xhusp] {
    font-size: 0.75rem;
    color: #64748b;
    font-variant-numeric: tabular-nums;
    min-width: 52px;
    text-align: right;
}

/* ==================== 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: #5d6b7c;
    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: #b91c1c;
    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: #5d6b7c;
    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: #5d6b7c;
    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: #15803d;
    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: #166534;
}

.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: #b45309;
    color: #ffffff;
}

/* Heatmap: éves keret és hátralévő/túllépés oszlopok — a tervezéshez az összeg kell,
   nem csak a cella-színek százalékos skálája. */
.ba-heat-annual[b-mekw8xhusp],
.ba-heat-remaining[b-mekw8xhusp] {
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    font-size: 0.8rem;
    padding: 0 0.5rem;
}

.ba-heat-left-value[b-mekw8xhusp] {
    color: #15803d;
    font-weight: 700;
}

.ba-heat-over-value[b-mekw8xhusp] {
    color: #b91c1c;
    font-weight: 700;
}

.ba-heat-nolimit[b-mekw8xhusp] {
    color: #54616e;
}

/* ==================== Csomag: zárolt költségvetés-elemzés / AI / régi év ==================== */
.ba-upgrade-box[b-mekw8xhusp] {
    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;
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.04), 0 8px 16px rgba(15, 23, 42, 0.06);
}

.ba-upgrade-box i[b-mekw8xhusp] {
    font-size: 2.5rem;
    color: #b45309;
}

.ba-upgrade-box h3[b-mekw8xhusp] {
    font-size: 1.2rem;
    font-weight: 600;
    color: #78350f;
    margin: 0;
}

.ba-upgrade-box p[b-mekw8xhusp] {
    color: #92400e;
    margin: 0 0 10px 0;
    max-width: 560px;
}

.ba-upgrade-btn[b-mekw8xhusp] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.55rem 1.2rem;
    background: linear-gradient(135deg, #1a3a5c 0%, #0f2d52 100%);
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(15, 45, 82, 0.25);
}

.ba-upgrade-btn:hover[b-mekw8xhusp] {
    background: linear-gradient(135deg, #0f2d52 0%, #06182d 100%);
}

.ba-upgrade-box .ba-upgrade-btn i[b-mekw8xhusp] {
    font-size: 1rem;
    color: #fbbf24;
}

.ba-ai-btn.ba-ai-btn-locked[b-mekw8xhusp] {
    opacity: 0.8;
}

.ba-ai-btn.ba-ai-btn-locked i[b-mekw8xhusp] {
    color: #cbd5e1;
}

.ba-year-btn.ba-year-btn-locked i[b-mekw8xhusp] {
    color: #b45309;
}
/* /Components/Pages/CashForecast/CashForecastComponent.razor.rz.scp.css */
/* ==================== 13 hetes cash-flow oldal ====================
   Az adó-előrejelzés színvilágát követi: navy alap, világos felületek,
   zöld = befolyik, piros = kifizetés / minimum alatt. A becsült rész
   mindig halványabb és jelölt, hogy ne keveredjen a rögzített tételekkel. */

.cfc-container[b-78tqufcvyk] {
    padding: 24px;
    max-width: 1400px;
    margin: 0 auto;
}

/* ==================== Fejléc ==================== */

.cfc-header[b-78tqufcvyk] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

.cfc-title[b-78tqufcvyk] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    font-size: 1.5rem;
    font-weight: 700;
    color: #1e3a8a;
}

.cfc-subtitle[b-78tqufcvyk] {
    margin: 6px 0 0 0;
    font-size: 0.875rem;
    color: #5d6b7c;
    max-width: 760px;
}

.cfc-header-right[b-78tqufcvyk] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

/* ==================== Gombok ==================== */

.cfc-btn[b-78tqufcvyk] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    color: #475569;
    font-size: 0.85rem;
    cursor: pointer;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
}

    .cfc-btn:hover[b-78tqufcvyk] {
        border-color: #1e3a8a;
        color: #1e3a8a;
    }

    .cfc-btn:disabled[b-78tqufcvyk] {
        opacity: 0.6;
        cursor: default;
    }

.cfc-btn-on[b-78tqufcvyk] {
    border-color: #1e3a8a;
    color: #1e3a8a;
    background: #eef2ff;
}

.cfc-btn-primary[b-78tqufcvyk] {
    background: #1e3a8a;
    border-color: #1e3a8a;
    color: #fff;
}

    .cfc-btn-primary:hover[b-78tqufcvyk] {
        background: #1e40af;
        color: #fff;
    }

.cfc-btn-small[b-78tqufcvyk] {
    padding: 4px 10px;
    font-size: 0.8rem;
}

.cfc-link[b-78tqufcvyk] {
    background: none;
    border: none;
    color: #1e3a8a;
    text-decoration: underline;
    cursor: pointer;
    padding: 0 4px;
    font-size: inherit;
}

.cfc-icon-btn[b-78tqufcvyk] {
    background: none;
    border: none;
    color: #64748b;
    cursor: pointer;
    padding: 2px 6px;
    border-radius: 6px;
}

    .cfc-icon-btn:hover[b-78tqufcvyk] {
        background: #f1f5f9;
        color: #1e3a8a;
    }

/* ==================== Üres, töltő, figyelmeztető ==================== */

.cfc-loading[b-78tqufcvyk] {
    display: flex;
    justify-content: center;
    padding: 80px 0;
}

.cfc-empty[b-78tqufcvyk] {
    text-align: center;
    padding: 64px 24px;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    color: #64748b;
}

    .cfc-empty i[b-78tqufcvyk] {
        font-size: 2.5rem;
        color: #94a3b8;
    }

    .cfc-empty h3[b-78tqufcvyk] {
        color: #1e293b;
        margin: 12px 0 6px 0;
    }

.cfc-warnings[b-78tqufcvyk] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 14px;
}

.cfc-warning[b-78tqufcvyk] {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    padding: 10px 14px;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 8px;
    color: #92400e;
    font-size: 0.85rem;
}

.cfc-trial-banner[b-78tqufcvyk] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    padding: 10px 14px;
    margin-bottom: 14px;
    background: #eef2ff;
    border: 1px dashed #818cf8;
    border-radius: 8px;
    color: #3730a3;
    font-size: 0.85rem;
}

/* ==================== Fülek ==================== */

.cfc-tabs[b-78tqufcvyk] {
    display: flex;
    gap: 4px;
    border-bottom: 1px solid #e2e8f0;
    margin-bottom: 16px;
}

.cfc-tab[b-78tqufcvyk] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 16px;
    background: none;
    border: none;
    border-bottom: 3px solid transparent;
    color: #64748b;
    font-weight: 600;
    cursor: pointer;
}

    .cfc-tab.active[b-78tqufcvyk] {
        color: #1e3a8a;
        border-bottom-color: #1e3a8a;
    }

.cfc-count[b-78tqufcvyk] {
    background: #f1f5f9;
    color: #475569;
    border-radius: 999px;
    padding: 0 8px;
    font-size: 0.75rem;
}

/* ==================== KPI ==================== */

.cfc-kpi-row[b-78tqufcvyk] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}

.cfc-kpi[b-78tqufcvyk] {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-left: 4px solid #1e3a8a;
    border-radius: 10px;
    padding: 14px 16px;
}

.cfc-kpi-ok[b-78tqufcvyk] {
    border-left-color: #16a34a;
}

.cfc-kpi-warning[b-78tqufcvyk] {
    border-left-color: #f59e0b;
}

.cfc-kpi-danger[b-78tqufcvyk] {
    border-left-color: #dc2626;
}

.cfc-kpi-label[b-78tqufcvyk] {
    font-size: 0.78rem;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.cfc-kpi-value[b-78tqufcvyk] {
    font-size: 1.4rem;
    font-weight: 700;
    color: #0f172a;
    margin: 4px 0;
}

.cfc-kpi-sub[b-78tqufcvyk] {
    font-size: 0.78rem;
    color: #64748b;
}

.cfc-manual-cash[b-78tqufcvyk] {
    display: flex;
    gap: 6px;
    align-items: center;
    margin-top: 8px;
}

/* ==================== Kártyák ==================== */

.cfc-card[b-78tqufcvyk] {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 16px 18px;
    margin-bottom: 16px;
}

.cfc-card-head[b-78tqufcvyk] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 10px;
}

    .cfc-card-head h3[b-78tqufcvyk] {
        margin: 0;
        font-size: 1rem;
        color: #1e293b;
        display: flex;
        align-items: center;
        gap: 8px;
    }

.cfc-clickable[b-78tqufcvyk] {
    cursor: pointer;
    margin-bottom: 0;
}

.cfc-subhead[b-78tqufcvyk] {
    margin: 18px 0 8px 0;
    font-size: 0.9rem;
    color: #1e293b;
}

.cfc-muted[b-78tqufcvyk] {
    color: #64748b;
    font-size: 0.82rem;
}

.cfc-pad[b-78tqufcvyk] {
    padding: 12px 0;
}

.cfc-chart[b-78tqufcvyk] {
    height: 320px;
}

.cfc-two-col[b-78tqufcvyk] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(420px, 1fr));
    gap: 16px;
}

.cfc-footnote[b-78tqufcvyk] {
    margin-top: 10px;
    font-size: 0.78rem;
    color: #64748b;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

/* ==================== Teendők ==================== */

.cfc-actions[b-78tqufcvyk] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.cfc-action[b-78tqufcvyk] {
    display: flex;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 8px;
    background: #f8fafc;
    border-left: 4px solid #94a3b8;
}

    .cfc-action > i[b-78tqufcvyk] {
        font-size: 1.2rem;
        margin-top: 2px;
    }

.cfc-action-danger[b-78tqufcvyk] {
    background: #fef2f2;
    border-left-color: #dc2626;
}

    .cfc-action-danger > i[b-78tqufcvyk] {
        color: #dc2626;
    }

.cfc-action-warning[b-78tqufcvyk] {
    background: #fffbeb;
    border-left-color: #f59e0b;
}

    .cfc-action-warning > i[b-78tqufcvyk] {
        color: #d97706;
    }

.cfc-action-info[b-78tqufcvyk] {
    background: #eff6ff;
    border-left-color: #3b82f6;
}

    .cfc-action-info > i[b-78tqufcvyk] {
        color: #2563eb;
    }

.cfc-action-title[b-78tqufcvyk] {
    font-weight: 600;
    color: #0f172a;
}

.cfc-action-detail[b-78tqufcvyk] {
    font-size: 0.85rem;
    color: #334155;
    margin-top: 2px;
}

.cfc-deadline[b-78tqufcvyk] {
    margin-left: 8px;
    font-size: 0.75rem;
    font-weight: 600;
    color: #b91c1c;
    background: #fee2e2;
    border-radius: 999px;
    padding: 1px 8px;
}

.cfc-sources[b-78tqufcvyk] {
    margin-top: 6px;
    font-size: 0.8rem;
    color: #475569;
}

    .cfc-sources summary[b-78tqufcvyk] {
        cursor: pointer;
        color: #1e3a8a;
    }

    .cfc-sources ul[b-78tqufcvyk] {
        margin: 4px 0 0 18px;
        padding: 0;
    }

/* ==================== Táblák ==================== */

.cfc-table-wrap[b-78tqufcvyk] {
    overflow-x: auto;
}

.cfc-table[b-78tqufcvyk] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.85rem;
}

    .cfc-table th[b-78tqufcvyk] {
        text-align: left;
        font-size: 0.75rem;
        text-transform: uppercase;
        color: #64748b;
        padding: 8px;
        border-bottom: 1px solid #e2e8f0;
    }

    .cfc-table td[b-78tqufcvyk] {
        padding: 8px;
        border-bottom: 1px solid #f1f5f9;
        vertical-align: top;
    }

    .cfc-table .num[b-78tqufcvyk] {
        text-align: right;
        white-space: nowrap;
    }

    .cfc-table .in[b-78tqufcvyk] {
        color: #15803d;
    }

    .cfc-table .out[b-78tqufcvyk] {
        color: #b91c1c;
    }

    .cfc-table .strong[b-78tqufcvyk] {
        font-weight: 700;
        color: #0f172a;
    }

    .cfc-table .muted[b-78tqufcvyk] {
        color: #64748b;
    }

    .cfc-table .neg[b-78tqufcvyk] {
        color: #dc2626;
        font-weight: 600;
    }

.cfc-table-compact td[b-78tqufcvyk],
.cfc-table-compact th[b-78tqufcvyk] {
    padding: 6px 8px;
}

.cfc-week-row[b-78tqufcvyk] {
    cursor: pointer;
}

    .cfc-week-row:hover[b-78tqufcvyk] {
        background: #f8fafc;
    }

    .cfc-week-row.open[b-78tqufcvyk] {
        background: #eef2ff;
    }

    .cfc-week-row.below td.strong[b-78tqufcvyk],
    tr.below td[b-78tqufcvyk] {
        color: #b91c1c;
    }

.cfc-est[b-78tqufcvyk] {
    color: #94a3b8;
    font-size: 0.75rem;
    margin-left: 4px;
}

.cfc-lines-row td[b-78tqufcvyk] {
    background: #f8fafc;
}

.cfc-lines[b-78tqufcvyk] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.cfc-line[b-78tqufcvyk] {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 8px 10px;
}

    .cfc-line.estimate[b-78tqufcvyk] {
        border-style: dashed;
        opacity: 0.85;
    }

    .cfc-line > i[b-78tqufcvyk] {
        color: #1e3a8a;
        margin-top: 2px;
    }

.cfc-line-main[b-78tqufcvyk] {
    flex: 1;
    min-width: 0;
}

.cfc-line-label[b-78tqufcvyk] {
    font-weight: 600;
    color: #0f172a;
}

.cfc-line-source[b-78tqufcvyk],
.cfc-line-basis[b-78tqufcvyk] {
    font-size: 0.78rem;
    color: #64748b;
}

.cfc-line-amount[b-78tqufcvyk] {
    font-weight: 700;
    white-space: nowrap;
}

    .cfc-line-amount.in[b-78tqufcvyk] {
        color: #15803d;
    }

    .cfc-line-amount.out[b-78tqufcvyk] {
        color: #b91c1c;
    }

.cfc-tag[b-78tqufcvyk] {
    display: inline-block;
    font-size: 0.7rem;
    font-weight: 600;
    background: #f1f5f9;
    color: #475569;
    border-radius: 999px;
    padding: 1px 8px;
    margin-left: 6px;
}

.cfc-tag-red[b-78tqufcvyk] {
    background: #fee2e2;
    color: #b91c1c;
}

.cfc-tag-blue[b-78tqufcvyk] {
    background: #dbeafe;
    color: #1e40af;
}

/* ==================== Űrlapok ==================== */

.cfc-form[b-78tqufcvyk] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 10px 14px;
}

    .cfc-form label[b-78tqufcvyk] {
        display: flex;
        flex-direction: column;
        gap: 4px;
        font-size: 0.8rem;
        color: #475569;
    }

        .cfc-form label.wide[b-78tqufcvyk] {
            grid-column: 1 / -1;
        }

        .cfc-form label.cfc-check[b-78tqufcvyk] {
            flex-direction: row;
            align-items: center;
            gap: 8px;
        }

.cfc-input[b-78tqufcvyk] {
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    padding: 7px 10px;
    font-size: 0.85rem;
    font-family: inherit;
}

.cfc-form-actions[b-78tqufcvyk] {
    display: flex;
    gap: 8px;
    margin-top: 12px;
}

/* ==================== Döntésnapló ==================== */

.cfc-decision-editor[b-78tqufcvyk] {
    border: 1px solid #c7d2fe;
    background: #f8faff;
    border-radius: 10px;
    padding: 14px;
    margin-bottom: 16px;
}

.cfc-decisions[b-78tqufcvyk] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.cfc-decision[b-78tqufcvyk] {
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 12px 14px;
    font-size: 0.87rem;
    color: #334155;
}

.cfc-decision-head[b-78tqufcvyk] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 4px;
}

.cfc-decision-date[b-78tqufcvyk] {
    color: #64748b;
    font-size: 0.8rem;
}

.cfc-decision-tools[b-78tqufcvyk] {
    margin-left: auto;
}

.cfc-decision-meta[b-78tqufcvyk] {
    font-size: 0.8rem;
    color: #475569;
    margin-top: 3px;
}

.cfc-decision-by[b-78tqufcvyk] {
    font-size: 0.75rem;
    color: #94a3b8;
    margin-top: 6px;
    text-align: right;
}

/* ==================== Visszamérés ==================== */

.cfc-findings[b-78tqufcvyk] {
    margin: 0 0 14px 18px;
    padding: 0;
    color: #334155;
    font-size: 0.88rem;
}

    .cfc-findings li[b-78tqufcvyk] {
        margin-bottom: 4px;
    }

.cfc-snapshots[b-78tqufcvyk] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.cfc-snapshot[b-78tqufcvyk] {
    font-size: 0.78rem;
    background: #f1f5f9;
    border-radius: 999px;
    padding: 3px 10px;
    color: #475569;
}

/* ==================== Feltételezések, lábjegyzet ==================== */

.cfc-assumptions[b-78tqufcvyk] {
    margin: 10px 0 0 18px;
    padding: 0;
    font-size: 0.85rem;
    color: #334155;
}

    .cfc-assumptions li[b-78tqufcvyk] {
        margin-bottom: 4px;
    }

.cfc-disclaimer[b-78tqufcvyk] {
    display: flex;
    gap: 8px;
    align-items: center;
    font-size: 0.8rem;
    color: #64748b;
    padding: 8px 4px 24px 4px;
}

@media (max-width: 720px) {
    .cfc-container[b-78tqufcvyk] {
        padding: 12px;
    }

    .cfc-two-col[b-78tqufcvyk] {
        grid-template-columns: 1fr;
    }
}

/* ============================================================
   Mezőszélesség a Radzen mezőkre (a scoped CSS csak ::deep-pel éri el
   a Radzen komponensek gyökérelemét) — inline Style helyett.
   ============================================================ */
.cfc-container[b-78tqufcvyk]  .cfc-full-width {
    width: 100%;
}

.cfc-container[b-78tqufcvyk]  .cfc-manual-cash-input {
    width: 140px;
}

/* ============================================================
   Döntés-szerkesztő validációja
   ============================================================ */
.cfc-required[b-78tqufcvyk] {
    color: #dc2626;
    font-weight: 700;
}

.cfc-field-error[b-78tqufcvyk] {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-top: 4px;
    color: #dc2626;
    font-size: 0.78rem;
    font-weight: 500;
}

.cfc-container[b-78tqufcvyk]  .cfc-input-invalid,
.cfc-container[b-78tqufcvyk]  .cfc-input-invalid input {
    border-color: #dc2626;
    box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.12);
}
/* /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: #5d6b7c;
}

/* ===== 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: #15803d;
    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: #b91c1c;
    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%;
}

/* Beérkező e-mail cím sor — input + másolás gomb egy sorban */
.cs-inbound-row[b-391qktht7d] {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    flex-wrap: wrap;
}

    .cs-inbound-row .cs-input[b-391qktht7d] {
        flex: 1 1 320px;
    }

/* ==================== 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;
}

/* Billingo szinkron: utolsó szinkron, legutóbbi kör eredménye, „Szinkron most” */
.cs-billingo-sync[b-391qktht7d] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.9rem 1rem;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
    margin-bottom: 0.75rem;
}

.cs-billingo-sync-info[b-391qktht7d] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    min-width: 0;
    color: #1a3a5c;
    font-size: 0.9rem;
}

.cs-billingo-sync-line[b-391qktht7d] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.cs-billingo-sync-hint[b-391qktht7d] {
    color: #64748b;
    font-size: 0.82rem;
}

.cs-billingo-sync-result[b-391qktht7d] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    padding: 0.5rem 0.75rem;
    border-radius: 6px;
    font-size: 0.85rem;
}

.cs-billingo-sync-ok[b-391qktht7d] {
    background: #f0fdf4;
    border: 1px solid #86efac;
    color: #166534;
}

.cs-billingo-sync-error[b-391qktht7d] {
    background: #fef2f2;
    border: 1px solid #fca5a5;
    color: #991b1b;
}

.cs-billingo-sync-result-head[b-391qktht7d] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-weight: 600;
}

.cs-billingo-sync-reasons[b-391qktht7d] {
    margin: 0.25rem 0 0 1.1rem;
    padding: 0;
    color: #475569;
}

@media (max-width: 640px) {
    .cs-billingo-sync[b-391qktht7d] {
        flex-direction: column;
    }
}

/* ==================== 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: #5d6b7c;
    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: #5d6b7c;
}

.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: #5d6b7c;
    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, #a46a07, #915004);
    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, #a46a07, #915004);
    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;
}

/* ===== Számlázz.hu beérkezett dokumentumok napló ===== */
.cs-szlog-wrap[b-391qktht7d] {
    overflow-x: auto;
    width: 100%;
    margin-top: 0.5rem;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
}

.cs-szlog-table[b-391qktht7d] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.86rem;
}

.cs-szlog-table thead th[b-391qktht7d] {
    text-align: left;
    padding: 0.5rem 0.75rem;
    background: #f1f5f9;
    color: #1e293b;
    font-weight: 600;
    white-space: nowrap;
    border-bottom: 1px solid #e2e8f0;
}

.cs-szlog-table tbody td[b-391qktht7d] {
    padding: 0.5rem 0.75rem;
    border-bottom: 1px solid #f1f5f9;
    color: #334155;
    vertical-align: top;
}

.cs-szlog-table tbody tr:last-child td[b-391qktht7d] {
    border-bottom: none;
}

.cs-szlog-note[b-391qktht7d] {
    max-width: 320px;
    color: #64748b;
    font-size: 0.8rem;
}

/* Állapot-jelölő badge-ek */
.cs-szlog-status[b-391qktht7d] {
    display: inline-block;
    padding: 0.15rem 0.55rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
    white-space: nowrap;
}

/* 0 = Várakozik, 1 = Feldolgozás alatt (semleges/kék) */
.cs-szlog-status-0[b-391qktht7d],
.cs-szlog-status-1[b-391qktht7d] {
    background: #e0e7ff;
    color: #3730a3;
}

/* 2 = Könyvelve (zöld – pozitív) */
.cs-szlog-status-2[b-391qktht7d] {
    background: #dcfce7;
    color: #166534;
}

/* 3 = Hiba (piros – negatív) */
.cs-szlog-status-3[b-391qktht7d] {
    background: #fee2e2;
    color: #991b1b;
}

/* 4 = Tárolva/kézi (borostyán – figyelmeztető) */
.cs-szlog-status-4[b-391qktht7d] {
    background: #fef3c7;
    color: #92400e;
}

/* PDF-jelölő és üres cella a naplóban */
.cs-szlog-pdf[b-391qktht7d] {
    color: #b91c1c;
    font-size: 1.05rem;
}

.cs-szlog-none[b-391qktht7d] {
    color: #5d6b7c;
}

/* ==================== Partner-összeolvadás észlelése és javítása ==================== */

.cs-szfix[b-391qktht7d] {
    margin: 0.75rem 0 1rem 0;
    padding: 0.85rem 1rem;
    border: 1px solid #fcd34d;
    border-left: 4px solid #f59e0b;
    border-radius: 8px;
    background: #fffbeb;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}

.cs-szfix-head[b-391qktht7d] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

    .cs-szfix-head > .ti[b-391qktht7d] {
        color: #b45309;
        font-size: 1.4rem;
    }

.cs-szfix-title[b-391qktht7d] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
    flex: 1 1 320px;
}

    .cs-szfix-title strong[b-391qktht7d] {
        color: #1e293b;
        font-size: 0.92rem;
    }

    .cs-szfix-title span[b-391qktht7d] {
        color: #78350f;
        font-size: 0.82rem;
    }

.cs-szfix-btn[b-391qktht7d] {
    margin-left: auto;
    white-space: nowrap;
}

.cs-szfix-wrap[b-391qktht7d] {
    overflow-x: auto;
    width: 100%;
    margin-top: 0.7rem;
    border: 1px solid #fde68a;
    border-radius: 8px;
    background: #ffffff;
}

.cs-szfix-table[b-391qktht7d] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.84rem;
}

    .cs-szfix-table thead th[b-391qktht7d] {
        text-align: left;
        padding: 0.45rem 0.7rem;
        background: #fef3c7;
        color: #78350f;
        font-weight: 600;
        white-space: nowrap;
        border-bottom: 1px solid #fde68a;
    }

    .cs-szfix-table tbody td[b-391qktht7d] {
        padding: 0.45rem 0.7rem;
        border-bottom: 1px solid #f8fafc;
        color: #334155;
        vertical-align: top;
    }

    .cs-szfix-table tbody tr:last-child td[b-391qktht7d] {
        border-bottom: none;
    }

.cs-szfix-new[b-391qktht7d] {
    display: inline-block;
    padding: 0.1rem 0.5rem;
    border-radius: 999px;
    background: #dcfce7;
    color: #166534;
    font-size: 0.75rem;
    font-weight: 600;
}

/* ==================== Csoportos műveletek (kijelölés) ==================== */

.cs-check-col[b-391qktht7d] {
    width: 1%;
    white-space: nowrap;
    text-align: center;
}

    .cs-check-col input[type="checkbox"][b-391qktht7d] {
        width: 15px;
        height: 15px;
        cursor: pointer;
        accent-color: #1e3a8a;
        vertical-align: middle;
    }

.cs-row-selected[b-391qktht7d] {
    background: #eff6ff;
}

/* Kijelölés-sáv a táblázat felett */
.cs-bulkbar[b-391qktht7d] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin: 0.5rem 0 0.35rem 0;
    padding: 0.45rem 0.7rem;
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    background: #eff6ff;
}

.cs-bulkbar-count[b-391qktht7d] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: #1e3a8a;
    font-size: 0.82rem;
    font-weight: 600;
}

.cs-bulkbar-btn[b-391qktht7d] {
    font-size: 0.78rem;
    padding: 0.25rem 0.6rem;
}

.cs-bulkbar-clear[b-391qktht7d] {
    margin-left: auto;
    background: none;
    border: none;
    color: #475569;
    cursor: pointer;
    font-size: 0.78rem;
    text-decoration: underline;
}

    .cs-bulkbar-clear:hover[b-391qktht7d] {
        color: #1e293b;
    }

/* Napló sor-műveletek (újrafeldolgozás / törlés) */
.cs-szlog-actions-head[b-391qktht7d] {
    width: 1%;
    text-align: right !important;
}

.cs-szlog-actions[b-391qktht7d] {
    white-space: nowrap;
    text-align: right;
}

.cs-szlog-action-btn[b-391qktht7d] {
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    color: #334155;
    cursor: pointer;
    font-size: 0.9rem;
    line-height: 1;
    margin-left: 0.25rem;
    padding: 0.28rem 0.45rem;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.cs-szlog-action-btn:hover:not(:disabled)[b-391qktht7d] {
    background: #f1f5f9;
    border-color: #94a3b8;
    color: #0f172a;
}

.cs-szlog-action-btn:disabled[b-391qktht7d] {
    color: #cbd5e1;
    cursor: not-allowed;
}

.cs-szlog-action-btn-danger:hover:not(:disabled)[b-391qktht7d] {
    background: #fee2e2;
    border-color: #fca5a5;
    color: #991b1b;
}

.cs-int-subhead-btn-danger[b-391qktht7d] {
    color: #b91c1c;
}

.cs-int-subhead-btn-danger:hover:not(:disabled)[b-391qktht7d] {
    background: #fee2e2;
    border-color: #fca5a5;
}

/* ==================== Integrációk fül — tagolt elrendezés ==================== */

/* Fejléc jobb oldali összefoglaló (aktív / figyelmet igényel) */
.cs-int-summary[b-391qktht7d] {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.8rem;
    font-weight: 600;
}

.cs-int-summary-ok[b-391qktht7d] {
    background: #dcfce7;
    color: #166534;
    border-radius: 999px;
    padding: 0.15rem 0.6rem;
}

.cs-int-summary-warn[b-391qktht7d] {
    background: #fef3c7;
    color: #92400e;
    border-radius: 999px;
    padding: 0.15rem 0.6rem;
}

/* Áttekintő: kategóriánkénti kártya-csoportok */
.cs-int-overview[b-391qktht7d] {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
    margin-bottom: 1.5rem;
}

.cs-int-ovgroup-title[b-391qktht7d] {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #64748b;
    margin-bottom: 0.4rem;
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

/* Szekció: egy integráció-csoport a panelekkel */
.cs-int-section[b-391qktht7d] {
    margin-bottom: 1.5rem;
    border-top: 2px solid #e2e8f0;
    padding-top: 1rem;
}

.cs-int-section-head[b-391qktht7d] {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    margin-bottom: 0.75rem;
    color: #1a3a5c;
}

.cs-int-section-head > i[b-391qktht7d] {
    font-size: 1.35rem;
    margin-top: 0.1rem;
}

.cs-int-section-titles[b-391qktht7d] {
    display: flex;
    flex-direction: column;
}

.cs-int-section-title[b-391qktht7d] {
    font-size: 1.02rem;
    font-weight: 700;
    color: #1a3a5c;
}

.cs-int-section-desc[b-391qktht7d] {
    font-size: 0.82rem;
    color: #64748b;
}

/* Összecsukható integráció-panel */
.cs-int-panel[b-391qktht7d] {
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #ffffff;
    margin-bottom: 0.7rem;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.cs-int-panel-head[b-391qktht7d] {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.85rem 1rem;
    background: #f8fafc;
    border: none;
    border-bottom: 1px solid transparent;
    cursor: pointer;
    text-align: left;
}

.cs-int-panel-head:hover[b-391qktht7d] {
    background: #f1f5f9;
}

.cs-int-panel-icon[b-391qktht7d] {
    font-size: 1.3rem;
    color: #1a3a5c;
    flex-shrink: 0;
}

.cs-int-panel-titles[b-391qktht7d] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
}

.cs-int-panel-title[b-391qktht7d] {
    font-weight: 600;
    color: #1a3a5c;
    font-size: 0.95rem;
}

.cs-int-panel-sub[b-391qktht7d] {
    font-size: 0.78rem;
    color: #64748b;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cs-int-caret[b-391qktht7d] {
    color: #94a3b8;
    flex-shrink: 0;
}

.cs-int-panel-body[b-391qktht7d] {
    padding: 1rem;
    border-top: 1px solid #e2e8f0;
}

/* Állapot-chip a panel fejlécében */
.cs-int-chip[b-391qktht7d] {
    display: inline-block;
    padding: 0.15rem 0.6rem;
    border-radius: 999px;
    font-size: 0.73rem;
    font-weight: 700;
    white-space: nowrap;
    flex-shrink: 0;
}

.cs-int-chip-connected[b-391qktht7d] {
    background: #dcfce7;
    color: #166534;
}

.cs-int-chip-warning[b-391qktht7d] {
    background: #fef3c7;
    color: #92400e;
}

.cs-int-chip-disconnected[b-391qktht7d] {
    background: #e2e8f0;
    color: #475569;
}

/* Egymondatos állapot-sáv a panel törzsében */
.cs-int-verdict[b-391qktht7d] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.65rem 0.85rem;
    border-radius: 8px;
    font-size: 0.88rem;
    margin-bottom: 0.9rem;
}

.cs-int-verdict > i[b-391qktht7d] {
    font-size: 1.15rem;
}

.cs-int-verdict-connected[b-391qktht7d] {
    background: #f0fdf4;
    border: 1px solid #86efac;
    color: #166534;
}

.cs-int-verdict-warning[b-391qktht7d] {
    background: #fffbeb;
    border: 1px solid #fcd34d;
    color: #92400e;
}

.cs-int-verdict-disconnected[b-391qktht7d] {
    background: #f8fafc;
    border: 1px solid #cbd5e1;
    color: #475569;
}

/* Forgalmi mutatók */
.cs-int-metrics[b-391qktht7d] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: 0.6rem;
    margin-bottom: 1rem;
}

.cs-int-metric[b-391qktht7d] {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0.6rem 0.5rem;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #f8fafc;
}

.cs-int-metric-value[b-391qktht7d] {
    font-size: 1.25rem;
    font-weight: 700;
    color: #1a3a5c;
    line-height: 1.2;
}

.cs-int-metric-label[b-391qktht7d] {
    font-size: 0.72rem;
    color: #64748b;
    text-align: center;
    margin-top: 0.15rem;
}

.cs-int-metric-info[b-391qktht7d] {
    border-color: #a5b4fc;
    background: #eef2ff;
}

.cs-int-metric-warn[b-391qktht7d] {
    border-color: #fcd34d;
    background: #fffbeb;
}

.cs-int-metric-bad[b-391qktht7d] {
    border-color: #fca5a5;
    background: #fef2f2;
}

.cs-int-metric-bad .cs-int-metric-value[b-391qktht7d] {
    color: #b91c1c;
}

/* Bekötés lépései a Számlázz.hu panel tetején */
.cs-int-steps[b-391qktht7d] {
    margin: 0.25rem 0 0.5rem 0;
    padding-left: 1.3rem;
    font-size: 0.85rem;
    line-height: 1.6;
    color: #334155;
}

.cs-int-steps li[b-391qktht7d] {
    margin-bottom: 0.2rem;
}

.cs-int-guide-link[b-391qktht7d] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.85rem;
    font-weight: 600;
    color: #047857;
    text-decoration: none;
    margin-bottom: 0.75rem;
}

.cs-int-guide-link:hover[b-391qktht7d] {
    text-decoration: underline;
}

/* Kulcs-sor a mentett kapcsolat alatt */
.cs-int-keyrow[b-391qktht7d] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.5rem;
    padding: 0.5rem 0 0.9rem 0;
}

/* Panelen belüli alcím */
.cs-int-subhead[b-391qktht7d] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-weight: 600;
    color: #1a3a5c;
    font-size: 0.9rem;
    margin: 1rem 0 0.5rem 0;
    padding-top: 0.75rem;
    border-top: 1px solid #f1f5f9;
}

.cs-int-subhead-btn[b-391qktht7d] {
    margin-left: auto;
    font-size: 0.78rem;
    padding: 0.25rem 0.6rem;
}

/* Fogadó URL-ek */
.cs-int-endpoints[b-391qktht7d] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.cs-int-endpoint[b-391qktht7d] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.4rem 0.6rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    flex-wrap: wrap;
}

.cs-int-endpoint-label[b-391qktht7d] {
    font-size: 0.8rem;
    font-weight: 600;
    color: #1a3a5c;
    min-width: 130px;
}

.cs-int-endpoint-url[b-391qktht7d] {
    flex: 1;
    font-size: 0.78rem;
    color: #334155;
    word-break: break-all;
}

/* Ikonos apró gomb (másolás) */
.cs-icon-btn[b-391qktht7d] {
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    padding: 0.25rem 0.45rem;
    cursor: pointer;
    color: #1a3a5c;
    line-height: 1;
}

.cs-icon-btn:hover[b-391qktht7d] {
    background: #e2e8f0;
}

/* Figyelemfelhívó megjegyzés-doboz */
.cs-int-note[b-391qktht7d] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 0.65rem 0.85rem;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    font-size: 0.83rem;
    color: #1e3a5f;
    margin-bottom: 0.9rem;
}

.cs-int-note > i[b-391qktht7d] {
    font-size: 1.1rem;
    flex-shrink: 0;
}

/* Napló-szűrők */
.cs-szlog-filters[b-391qktht7d] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1.5rem;
    margin-bottom: 0.6rem;
}

.cs-szlog-filter-group[b-391qktht7d] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.3rem;
}

.cs-szlog-filter-label[b-391qktht7d] {
    font-size: 0.78rem;
    color: #64748b;
    margin-right: 0.2rem;
}

.cs-chip-btn[b-391qktht7d] {
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    padding: 0.2rem 0.7rem;
    font-size: 0.76rem;
    color: #475569;
    cursor: pointer;
}

.cs-chip-btn:hover[b-391qktht7d] {
    background: #f1f5f9;
}

.cs-chip-btn-active[b-391qktht7d] {
    background: #1a3a5c;
    border-color: #1a3a5c;
    color: #ffffff;
}

/* Keskeny kijelzőn a panel-fejléc tördelése */
@media (max-width: 640px) {
    .cs-int-panel-head[b-391qktht7d] {
        flex-wrap: wrap;
    }

    .cs-int-endpoint-label[b-391qktht7d] {
        min-width: 100%;
    }
}

/* Átvezetés az Import központba a Számlázz.hu naplóból — az elkönyvelt tételek
   ott láthatók és onnan vonhatók vissza. */
.cs-szlog-center-link[b-391qktht7d] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    color: #1e3a8a;
    font-size: 0.82rem;
    font-weight: 600;
    text-decoration: none;
}

.cs-szlog-center-link:hover[b-391qktht7d] {
    text-decoration: underline;
}

/* ==================== Beérkező e-mail: emberi cím (alias) ==================== */

/* Az alias mező szűkebb, mellette a fix domain — a felhasználó csak a cím elejét gépeli */
.cs-inbound-alias-input[b-391qktht7d] {
    flex: 0 1 260px;
}

.cs-inbound-domain[b-391qktht7d] {
    color: #475569;
    font-size: 0.9rem;
    font-weight: 600;
    white-space: nowrap;
}

/* A token-cím hosszú és olvashatatlan — kisebb, monospace, hogy ne uralja a panelt */
.cs-inbound-token-input[b-391qktht7d] {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.82rem;
}

.cs-inbound-hint[b-391qktht7d] {
    display: block;
    margin-top: 0.35rem;
    color: #64748b;
    font-size: 0.8rem;
    line-height: 1.4;
}

/* Gépelés közbeni előnézet: mi lesz a cím mentés után */
.cs-inbound-preview[b-391qktht7d] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    margin-top: 0.35rem;
    color: #1e3a8a;
    font-size: 0.82rem;
}

.cs-inbound-error[b-391qktht7d] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    margin-top: 0.35rem;
    color: #b91c1c;
    font-size: 0.82rem;
    font-weight: 600;
}

/* A jelenleg élő egyedi cím — zöld, mert ez a "kész" állapot */
.cs-inbound-active[b-391qktht7d] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin-top: 0.5rem;
    padding: 0.3rem 0.6rem;
    background-color: #ecfdf5;
    border: 1px solid #a7f3d0;
    border-radius: 6px;
    color: #065f46;
    font-size: 0.82rem;
}

/* Biztonsági figyelmeztetés az alias kitalálhatóságáról — nem hiba, de tudni kell róla */
.cs-inbound-notice[b-391qktht7d] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 0.6rem 0.75rem;
    background-color: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 6px;
    color: #92400e;
    font-size: 0.82rem;
    line-height: 1.45;
}

    .cs-inbound-notice i[b-391qktht7d] {
        font-size: 1.05rem;
        flex-shrink: 0;
        margin-top: 1px;
    }

/* Szöveges link-gomb (javaslat elfogadása, másolás) */
.cs-link-btn[b-391qktht7d] {
    background: none;
    border: none;
    padding: 0;
    color: #1e3a8a;
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
    text-decoration: underline;
}

    .cs-link-btn:hover:not(:disabled)[b-391qktht7d] {
        color: #1e40af;
    }

    .cs-link-btn:disabled[b-391qktht7d] {
        color: #94a3b8;
        cursor: not-allowed;
        text-decoration: none;
    }

/* Kikapcsolt beérkeztetés — erősebb (piros) figyelmeztetés, mert itt a cím egyszerűen nem működik */
.cs-inbound-notice-off[b-391qktht7d] {
    background-color: #fef2f2;
    border-color: #fecaca;
    color: #991b1b;
}

/* ===== Felszólítások: főkapcsoló, figyelmeztetés, előnézet ===== */
.cs-reminder-switch[b-391qktht7d] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 8px 0;
}

.cs-reminder-switch-label[b-391qktht7d] {
    font-weight: 600;
    color: #0f2444;
}

.cs-reminder-warning[b-391qktht7d] {
    background: #fef3c7;
    border: 1px solid #f59e0b;
    border-radius: 8px;
    padding: 10px 12px;
    color: #78350f;
}

.cs-reminder-preview[b-391qktht7d] {
    width: 100%;
    border-collapse: collapse;
    margin-top: 12px;
    font-size: 13px;
}

.cs-reminder-preview th[b-391qktht7d],
.cs-reminder-preview td[b-391qktht7d] {
    text-align: left;
    padding: 6px 8px;
    border-bottom: 1px solid #e2e8f0;
}

.cs-reminder-preview th[b-391qktht7d] {
    background: #f1f5f9;
    color: #0f2444;
}

.cs-reminder-skip td[b-391qktht7d] {
    color: #94a3b8;
}

/* Mező alatti rövid magyarázat */
.cs-field-hint[b-391qktht7d] {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    color: #64748b;
}
/* /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;
}

/* A csomag visszatekintési ablakán kívüli év: lakat, kattintásra csomagváltó ablak */
.db-year-btn-locked[b-2opx8ttbpm] {
    color: #94a3b8;
}

    .db-year-btn-locked:hover[b-2opx8ttbpm] {
        background: #eef2f7;
        color: #1a3a5c;
    }

.db-year-label[b-2opx8ttbpm] {
    font-size: 1.1rem;
    font-weight: 700;
    color: #1e293b;
    min-width: 50px;
    text-align: center;
}

/* ===== Widget rács ===== */
/* Négy oszlopos rács: így a widget lehet negyed, fél, háromnegyed vagy teljes szélességű.
   Korábban csak fél és teljes volt, ami nagy monitoron pazarló — egy KPI-csempe nem
   igényel fél képernyőt. */
/* Négy oszlop ÉS fix magasságú sor-egységek. A sor-egység az, amitől két kis widget
   pontosan kiad egy nagyot: span(n) magassága = n*60 + (n-1)*20, tehát két span-3-as
   egymás alatt 220+20+220 = 460 px, ami pontosan egy span-6-os magassága. Enélkül minden
   widget külön sorba került, és nem lehetett őket egymás alá pakolni egy magasabb mellé.

   A "dense" pakolás a keletkező lyukakat feltölti a következő beférő widgettel. */
.db-grid[b-2opx8ttbpm] {
    display: grid;
    /* Finomabb osztás: 8 oszlop és 30 px sor. A korábbi 4 × 60 túl durva volt — egy fokozat
       ugrása fél képernyőnyi változást jelentett vízszintesen és 60 pixelt függőlegesen.
       A feleződéssel a húzás érezhetően finomabb, a "két kicsi = egy nagy" viszony megmarad. */
    grid-template-columns: repeat(8, 1fr);
    grid-auto-rows: 30px;
    grid-auto-flow: row dense;
    gap: 1.25rem;
}

.db-widget-w1[b-2opx8ttbpm] {
    grid-column: span 1;
}

.db-widget-w2[b-2opx8ttbpm] {
    grid-column: span 2;
}

.db-widget-w3[b-2opx8ttbpm] {
    grid-column: span 3;
}

.db-widget-w4[b-2opx8ttbpm] {
    grid-column: span 4;
}

.db-widget[b-2opx8ttbpm] {
    /* A kártya kitölti a neki jutó sor-sávot, a törzs pedig görgethető marad benne —
       így a rács igazodik, a tartalom mégsem csonkul. */
    display: flex;
    flex-direction: column;
    min-height: 0;
    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: #5d6b7c;
    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;
    /* A fejléc alatt maradó teljes helyet kitölti; ami nem fér ki, az görgethető.
       A min-height: 0 nélkül a flex-elem nem tudna a tartalmánál kisebb lenni. */
    flex: 1;
    min-height: 0;
    overflow: auto;
}

    /* 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: #5d6b7c;
    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.6rem 0.5rem 0.4rem 0.5rem;
    margin-top: 0.25rem;
    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: #15803d;
}

.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: #15803d;
    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;
}

/* Csomag miatt zárt widget: kattintható (a csomagváltó ablakot nyitja), ezért nem „tiltott” kurzor */
.db-catalog-plan-locked[b-2opx8ttbpm] {
    opacity: 0.8;
    background: #f8fafc;
}

    .db-catalog-plan-locked .db-catalog-item-title[b-2opx8ttbpm] {
        color: #475569;
    }

.db-catalog-add-locked[b-2opx8ttbpm] {
    background: #eef2f7;
    color: #1a3a5c;
    border: 1px solid #cbd5e1;
}

.db-catalog-item:hover .db-catalog-add-locked[b-2opx8ttbpm] {
    background: #1a3a5c;
    color: #ffffff;
    box-shadow: 0 2px 6px rgba(26, 58, 92, 0.25);
}

/* ===== Reszponzív ===== */
@media (max-width: 1024px) {
    .db-kpi-grid[b-2opx8ttbpm] {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Közepes képernyőn két oszlop: a negyed szélesség itt már olvashatatlan lenne */
@media (max-width: 1400px) {
    .db-grid[b-2opx8ttbpm] {
        grid-template-columns: repeat(4, 1fr);
    }

    .db-widget-w1[b-2opx8ttbpm] {
        grid-column: span 1;
    }

    .db-widget-w2[b-2opx8ttbpm],
    .db-widget-w3[b-2opx8ttbpm],
    .db-widget-w4[b-2opx8ttbpm] {
        grid-column: span 2;
    }
}

@media (max-width: 768px) {
    .db-grid[b-2opx8ttbpm] {
        grid-template-columns: 1fr;
    }

    .db-widget-w1[b-2opx8ttbpm],
    .db-widget-w2[b-2opx8ttbpm],
    .db-widget-w3[b-2opx8ttbpm],
    .db-widget-w4[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: #b45309;
    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: #5d6b7c;
    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: #15803d; }
.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; }

/* Bevételi cél haladás-sáv (korábban inline stílusokkal) */
.db-goal-progress[b-2opx8ttbpm] { width: 100%; padding: 0.75rem 0 0 0; }
.db-goal-progress-head[b-2opx8ttbpm] { display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.5rem; }
.db-goal-progress-icon[b-2opx8ttbpm] { color: #1a3558; font-size: 1.15rem; }
.db-goal-progress-title[b-2opx8ttbpm] { font-size: 0.85rem; font-weight: 700; color: #1e293b; flex: 1; }
.db-goal-progress-pct[b-2opx8ttbpm] { font-size: 1rem; font-weight: 800; color: #1a3558; }
.db-goal-progress-pct-done[b-2opx8ttbpm] { color: #16a34a; }
.db-goal-progress-edit[b-2opx8ttbpm] { border: none; background: transparent; color: #94a3b8; cursor: pointer; padding: 2px; }
.db-goal-progress-edit:hover[b-2opx8ttbpm] { color: #1a3558; }
.db-goal-progress-edit i[b-2opx8ttbpm] { font-size: 0.85rem; }
.db-goal-progress-track[b-2opx8ttbpm] { position: relative; width: 100%; height: 32px; border-radius: 8px; overflow: hidden; background: #dce1e8; }
.db-goal-progress-fill[b-2opx8ttbpm] { position: absolute; left: 0; top: 0; height: 100%; background: #16a34a; }
.db-goal-progress-labels[b-2opx8ttbpm] { position: absolute; inset: 0; display: flex; align-items: center; gap: 0.75rem; padding: 0 12px; }
.db-goal-progress-actual[b-2opx8ttbpm] { font-size: 0.78rem; font-weight: 700; color: #ffffff; text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4); white-space: nowrap; }
/* A cél felirata a szürke (még nem teljesített) részen áll: sötét szöveg, különben fehér a világosszürkén nem olvasható. */
.db-goal-progress-target[b-2opx8ttbpm] { margin-left: auto; font-size: 0.72rem; font-weight: 600; color: #334155; white-space: nowrap; }
.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: #15803d; 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: #5d6b7c; 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: #b45309; color: #fff; }
.db-supplier-row:nth-child(2) .db-supplier-rank[b-2opx8ttbpm] { background: #5d6b7c; color: #fff; }
.db-supplier-row:nth-child(3) .db-supplier-rank[b-2opx8ttbpm] { background: #96591f; 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: #5d6b7c;
    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: #5d6b7c;
    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: #5d6b7c;
    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: #5d6b7c;
    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: #5d6b7c;
}

    .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: #5d6b7c;
    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: #5d6b7c;
}

.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: #5d6b7c;
    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: #5d6b7c;
}

.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: #5d6b7c;
    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: #5d6b7c;
    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: #5d6b7c;
}

.db-vat-month-due[b-2opx8ttbpm] {
    font-size: 0.7rem;
    color: #5d6b7c;
    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: #5d6b7c;
}

.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: #5d6b7c;
    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: #5d6b7c;
}

/* ==================== 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: #5d6b7c;
    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: #5d6b7c;
}

.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, #3472d8 0%, #173351 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(0, 0, 0, 0.28);
    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: #5d6b7c;
    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: #55626f;
    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: #5d6b7c;
}

.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: #5d6b7c;
}

.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: #5d6b7c;
    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: #5d6b7c;
    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: #5d6b7c;
}

.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: #5d6b7c;
}

.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: #5d6b7c;
    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: #5d6b7c;
    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],
    .db-tabs[b-2opx8ttbpm],
    .db-insight-actions[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 */
    [b-2opx8ttbpm] .apexcharts-toolbar {
        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: #5d6b7c;
    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;
    }

/* Csomag miatt zárt widget tartalma helyén megjelenő csomagváltó gomb */
.db-widget-upgrade-btn[b-2opx8ttbpm] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 8px;
    padding: 6px 14px;
    border: none;
    border-radius: 6px;
    background: #1a3a5c;
    color: #ffffff;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(26, 58, 92, 0.25);
    transition: background 0.15s ease;
}

    .db-widget-upgrade-btn:hover[b-2opx8ttbpm] {
        background: #244b73;
    }

/* Csomag miatt zárt export: halványabb lakat, kattintásra csomagváltó ablak */
.db-widget-export-locked[b-2opx8ttbpm] {
    color: #94a3b8;
}

.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: #5d6b7c;
    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: #b45309;
}

.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: #b45309;
    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: #5d6b7c;
    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: #5d6b7c;
}

.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: #5d6b7c;
}

.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;
}

/* Kimutatással bővített válasz: szöveg + grafikon(ok) egymás alatt */
.db-aichat-msg-stack[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1 1 auto;
    min-width: 0;
}

.db-aichat-msg-stack .db-aichat-msg-bubble[b-2opx8ttbpm] {
    max-width: 100%;
}

.db-aichat-msg-report[b-2opx8ttbpm] {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 10px;
    box-shadow: 0 2px 8px rgba(15, 37, 64, 0.08);
}

.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: #5d6b7c;
    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: #5d6b7c;
    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: #c2410c;
        font-weight: 700;
    }

    .db-taxcal-date-rel .db-taxcal-soon[b-2opx8ttbpm] {
        color: #a16207;
        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: #5d6b7c;
    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;
}

/* Forgatókönyv: tengelyes ApexCharts diagram helye */
.db-scenario-chart-area[b-2opx8ttbpm] {
    height: 260px;
    min-height: 0;
}

.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; }
}

/* Csak képernyőn: a nyomtatási lap is keskenyebb 768 px-nél, és a !important visszakapcsolta volna a preset-sort. */
@media screen and (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: #5d6b7c;
}

/* 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: #15803d;
}

/* Ö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;
    }

/* ===== Első belépés ("Kezdjük") =====
   Üres cégnél ez áll a widgetek helyén: két konkrét út a saját adatig. */
.db-firstrun[b-2opx8ttbpm] {
    background: linear-gradient(135deg, #0f2a44 0%, #1e3a8a 100%);
    border-radius: 14px;
    padding: 1.6rem 1.8rem;
    margin-bottom: 1.4rem;
    color: #ffffff;
    box-shadow: 0 6px 24px rgba(15, 42, 68, 0.25);
}

.db-firstrun-head[b-2opx8ttbpm] {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.3rem;
}

.db-firstrun-head > i[b-2opx8ttbpm] {
    font-size: 2rem;
    flex-shrink: 0;
}

.db-firstrun-head h2[b-2opx8ttbpm] {
    margin: 0 0 0.35rem 0;
    font-size: 1.3rem;
    font-weight: 700;
}

.db-firstrun-head p[b-2opx8ttbpm] {
    margin: 0;
    color: #cbd5e1;
    font-size: 0.92rem;
}

.db-firstrun-paths[b-2opx8ttbpm] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 1rem;
}

.db-firstrun-card[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.45rem;
    padding: 1.1rem 1.2rem;
    background: rgba(255, 255, 255, 0.08);
    border: 1.5px solid rgba(255, 255, 255, 0.22);
    border-radius: 11px;
    color: #ffffff;
    text-align: left;
    cursor: pointer;
    transition: all 0.2s ease;
}

.db-firstrun-card:hover:not(:disabled)[b-2opx8ttbpm] {
    background: rgba(255, 255, 255, 0.15);
    border-color: #ffffff;
    transform: translateY(-2px);
}

.db-firstrun-card:disabled[b-2opx8ttbpm] {
    opacity: 0.55;
    cursor: not-allowed;
}

.db-firstrun-card > i[b-2opx8ttbpm] {
    font-size: 1.5rem;
}

/* Az elsődleges út (saját fájl) kiemelve — ez a gyorsabb út a valódi értékhez */
.db-firstrun-card-primary[b-2opx8ttbpm] {
    background: #ffffff;
    color: #0f2a44;
    border-color: #ffffff;
}

.db-firstrun-card-primary:hover:not(:disabled)[b-2opx8ttbpm] {
    background: #f1f5f9;
    color: #0f2a44;
}

.db-firstrun-card-title[b-2opx8ttbpm] {
    font-size: 1rem;
    font-weight: 700;
}

.db-firstrun-card-desc[b-2opx8ttbpm] {
    font-size: 0.84rem;
    opacity: 0.85;
    line-height: 1.4;
}

.db-firstrun-skip[b-2opx8ttbpm] {
    margin-top: 1rem;
    background: transparent;
    border: none;
    color: #cbd5e1;
    font-size: 0.85rem;
    text-decoration: underline;
    cursor: pointer;
}

.db-firstrun-skip:hover:not(:disabled)[b-2opx8ttbpm] {
    color: #ffffff;
}

/* A csempe helyőrzője, amíg a widget teljes képernyőn van.
   Azért nem rajzoljuk ki a tartalmat, mert a chartok fix ElementId-t használnak,
   és két azonos id esetén a chart-JS a csempét találná meg a nagyított nézet helyett. */
.db-widget-in-fullscreen[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    height: 100%;
    min-height: 120px;
    color: #5d6b7c;
    font-size: 0.85rem;
}

.db-widget-in-fullscreen > i[b-2opx8ttbpm] {
    font-size: 1.6rem;
}


/* ===== Widget méretezés =====
   Négy fokozat a fejlécben. Azért gombsor és nem húzható sarok, mert a rács fix
   oszlopokra dolgozik: a kattintás pontos és megismételhető, a húzás csak közelítene. */
.db-widget-size[b-2opx8ttbpm] {
    display: inline-flex;
    align-items: center;
    gap: 0.15rem;
    margin-right: 0.25rem;
}

.db-widget-size-btn[b-2opx8ttbpm] {
    width: 20px;
    height: 20px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 1px solid #e2e8f0;
    border-radius: 4px;
    color: #94a3b8;
    font-size: 0.62rem;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.15s ease;
}

.db-widget-size-btn:hover[b-2opx8ttbpm] {
    border-color: #1e3a8a;
    color: #1e3a8a;
}

.db-widget-size-btn-active[b-2opx8ttbpm] {
    background: #0f2a44;
    border-color: #0f2a44;
    color: #ffffff;
}

@media (max-width: 1400px) {
    /* Két oszlopnál a negyed/háromnegyed nem értelmezhető — elrejtjük a választót */
    .db-widget-size[b-2opx8ttbpm] {
        display: none;
    }
}

/* ===== Widget magasság =====
   0 (automatikus) esetén nincs osztály, tehát a kártya a tartalomhoz igazodik — pontosan
   úgy, ahogy eddig. Rögzített fokozatnál a törzs kapja a magasságot és görgethető lesz:
   így a rövid tartalmú widget nem foglal fölösleges függőleges helyet, a hosszabb pedig
   nem csonkul, csak görgetni kell benne. */
/* Magasság sor-egységekben. A fokozatok szándékosan úgy vannak megválasztva, hogy
   kiadják egymást: 2 × h1 (3-3 sor) = h3 (6 sor), és 2 × h2 (4-4 sor) = h4 (8 sor).
   Így tudsz két kis widgetet egymás alá tenni egy nagyobb mellé úgy, hogy egy vonalban
   záruljanak. */
.db-widget-h1[b-2opx8ttbpm] {
    grid-row: span 3;
}

.db-widget-h2[b-2opx8ttbpm],
.db-widget-h0[b-2opx8ttbpm] {
    grid-row: span 4;
}

.db-widget-h3[b-2opx8ttbpm] {
    grid-row: span 6;
}

.db-widget-h4[b-2opx8ttbpm] {
    grid-row: span 8;
}

/* A magasság-választó egy hajszálnyival elválik a szélesség-gomboktól */
.db-widget-size-height[b-2opx8ttbpm] {
    margin-left: 0.35rem;
    padding-left: 0.35rem;
    border-left: 1px solid #e2e8f0;
}

/* ===== Húzható méretezés =====
   A fogantyú a kártya jobb alsó sarkában. Csak a widget fölé húzva látszik, hogy ne
   zavarja a képet — de húzás közben végig látható marad. */
.db-widget[b-2opx8ttbpm] {
    position: relative;
}

.db-widget-resize-handle[b-2opx8ttbpm] {
    position: absolute;
    right: 2px;
    bottom: 2px;
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #cbd5e1;
    cursor: nwse-resize;
    opacity: 0;
    transition: opacity 0.15s ease, color 0.15s ease;
    touch-action: none;
    z-index: 5;
}

.db-widget:hover .db-widget-resize-handle[b-2opx8ttbpm],
.db-widget-resizing .db-widget-resize-handle[b-2opx8ttbpm] {
    opacity: 1;
}

.db-widget-resize-handle:hover[b-2opx8ttbpm] {
    color: #1e3a8a;
}

.db-widget-resize-handle i[b-2opx8ttbpm] {
    font-size: 0.85rem;
}

/* A méretezett kártya kiemelve, hogy húzás közben egyértelmű legyen, mit mozgatunk */
.db-widget-resizing[b-2opx8ttbpm] {
    outline: 2px solid #1e3a8a;
    outline-offset: 2px;
    box-shadow: 0 8px 28px rgba(30, 58, 138, 0.25);
    z-index: 4;
}

/* Húzás közben felkockázott háttér — a cella-méretet a JS méri ki és adja át
   CSS változóban, mert az oszlopszélesség 1fr-ből számolódik, tehát nem fix. */
.db-grid-resizing[b-2opx8ttbpm] {
    background-image:
        linear-gradient(to right, rgba(30, 58, 138, 0.12) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(30, 58, 138, 0.12) 1px, transparent 1px);
    background-size: var(--db-cell-w, 100px) var(--db-cell-h, 80px);
    background-position: 0 0;
    border-radius: 8px;
}

/* Húzás közben ne jelöljön ki szöveget a böngésző */
.db-grid-resizing *[b-2opx8ttbpm] {
    user-select: none;
}

/* ==================== Adó-előrejelzés widget ==================== */

.db-taxfc[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    height: 100%;
    overflow-y: auto;
}

/* Következő esedékes befizetés — kiemelt, sötétkék kártya */
.db-taxfc-next[b-2opx8ttbpm] {
    padding: 12px 14px;
    border-radius: 10px;
    background: linear-gradient(135deg, #1e3a8a 0%, #1e40af 100%);
    color: #fff;
    box-shadow: 0 2px 8px rgba(30, 58, 138, 0.25);
}

/* A közeli és a lejárt határidő pirosra vált */
.db-taxfc-urgent[b-2opx8ttbpm] {
    background: linear-gradient(135deg, #991b1b 0%, #b91c1c 100%);
    box-shadow: 0 2px 8px rgba(153, 27, 27, 0.28);
}

.db-taxfc-overdue[b-2opx8ttbpm] {
    background: linear-gradient(135deg, #7f1d1d 0%, #991b1b 100%);
    box-shadow: 0 2px 8px rgba(127, 29, 29, 0.32);
}

.db-taxfc-next-head[b-2opx8ttbpm] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 6px;
}

.db-taxfc-next-label[b-2opx8ttbpm] {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    opacity: 0.85;
}

.db-taxfc-next-when[b-2opx8ttbpm] {
    font-size: 0.72rem;
    padding: 2px 8px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.18);
}

.db-taxfc-next-amount[b-2opx8ttbpm] {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.15;
}

.db-taxfc-next-name[b-2opx8ttbpm] {
    font-size: 0.75rem;
    opacity: 0.85;
    margin-top: 2px;
}

/* A három adónem csempéi */
.db-taxfc-grid[b-2opx8ttbpm] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}

.db-taxfc-tile[b-2opx8ttbpm] {
    padding: 10px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    text-align: center;
}

.db-taxfc-tile-head[b-2opx8ttbpm] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    font-size: 0.72rem;
    font-weight: 600;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.db-taxfc-tile-value[b-2opx8ttbpm] {
    margin-top: 4px;
    font-size: 1rem;
    font-weight: 700;
    color: #0f172a;
}

/* Visszaigényelhető ÁFA — zöld, mert pénz jön vissza */
.db-taxfc-negative[b-2opx8ttbpm] {
    color: #047857;
}

.db-taxfc-muted[b-2opx8ttbpm] {
    color: #5d6b7c;
    font-size: 0.8rem;
    font-weight: 600;
}

.db-taxfc-tile-sub[b-2opx8ttbpm] {
    margin-top: 2px;
    font-size: 0.68rem;
    color: #5d6b7c;
}

/* Éves összesített adóteher */
.db-taxfc-total[b-2opx8ttbpm] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 12px;
    background: #f1f5f9;
    border-radius: 8px;
    border-left: 3px solid #1e3a8a;
}

.db-taxfc-total-label[b-2opx8ttbpm] {
    font-size: 0.78rem;
    color: #475569;
}

.db-taxfc-total-value[b-2opx8ttbpm] {
    font-size: 1.05rem;
    font-weight: 700;
    color: #1e3a8a;
}

/* Alanyi adómentes keret sávja */
.db-taxfc-aam[b-2opx8ttbpm] {
    padding: 10px 12px;
    border-radius: 8px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}

.db-taxfc-aam-head[b-2opx8ttbpm] {
    display: flex;
    justify-content: space-between;
    font-size: 0.75rem;
    color: #475569;
    margin-bottom: 6px;
}

.db-taxfc-aam-bar[b-2opx8ttbpm] {
    height: 8px;
    border-radius: 999px;
    background: #e2e8f0;
    overflow: hidden;
}

.db-taxfc-aam-fill[b-2opx8ttbpm] {
    height: 100%;
    border-radius: 999px;
    background: #059669;
    transition: width 0.3s ease;
}

.db-taxfc-aam-watch .db-taxfc-aam-fill[b-2opx8ttbpm] {
    background: #f59e0b;
}

.db-taxfc-aam-critical .db-taxfc-aam-fill[b-2opx8ttbpm],
.db-taxfc-aam-breached .db-taxfc-aam-fill[b-2opx8ttbpm] {
    background: #dc2626;
}

.db-taxfc-aam-breached[b-2opx8ttbpm] {
    border-color: #fecaca;
    background: #fef2f2;
}

.db-taxfc-aam-sub[b-2opx8ttbpm] {
    margin-top: 4px;
    font-size: 0.7rem;
    color: #5d6b7c;
}

/* Figyelmeztetések */
.db-taxfc-warnings[b-2opx8ttbpm] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.db-taxfc-warning[b-2opx8ttbpm] {
    display: flex;
    gap: 8px;
    padding: 8px 10px;
    border-radius: 8px;
    font-size: 0.73rem;
    line-height: 1.35;
    background: #fffbeb;
    border: 1px solid #fde68a;
    color: #92400e;
}

    .db-taxfc-warning i[b-2opx8ttbpm] {
        flex-shrink: 0;
        font-size: 0.95rem;
        margin-top: 1px;
    }

.db-taxfc-warning-critical[b-2opx8ttbpm] {
    background: #fef2f2;
    border-color: #fecaca;
    color: #991b1b;
}

.db-taxfc-warning-info[b-2opx8ttbpm] {
    background: #eff6ff;
    border-color: #bfdbfe;
    color: #1e40af;
}

/* Lábjegyzet — a becslés korlátai */
.db-taxfc-note[b-2opx8ttbpm] {
    display: flex;
    gap: 8px;
    padding: 8px 10px;
    margin-top: auto;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    color: #64748b;
    font-size: 0.7rem;
    line-height: 1.4;
}

    .db-taxfc-note i[b-2opx8ttbpm] {
        flex-shrink: 0;
        font-size: 0.95rem;
        margin-top: 1px;
    }

/* Keskeny widgetnél egymás alá kerülnek a csempék */
@media (max-width: 480px) {
    .db-taxfc-grid[b-2opx8ttbpm] {
        grid-template-columns: 1fr;
    }
}

/* ==================== Fejléc-eszköztár: ne törjenek a feliratok (UI-kör, 2026-10-06) ====================
   Szűkebb képernyőn (pl. 1366 px) a gombok feliratai több sorba törtek („Bevétel és kiadás AlionOS import”
   négy sorban). A felirat egy sorban marad, és ha a gombok nem férnek el, a sor tördel. */
.db-controls[b-2opx8ttbpm] {
    flex-wrap: wrap;
    justify-content: flex-end;
    row-gap: 0.5rem;
}

.db-controls > button[b-2opx8ttbpm],
.db-controls > a[b-2opx8ttbpm],
.db-controls .db-quick-btn[b-2opx8ttbpm],
.db-init-import-btn[b-2opx8ttbpm],
.db-add-btn[b-2opx8ttbpm],
.db-print-btn[b-2opx8ttbpm],
.db-compare-btn[b-2opx8ttbpm],
.db-scenario-btn[b-2opx8ttbpm] {
    white-space: nowrap;
    flex-shrink: 0;
}

.db-quick-actions[b-2opx8ttbpm] {
    flex-wrap: wrap;
}

.db-presets[b-2opx8ttbpm] {
    flex-wrap: wrap;
    row-gap: 0.4rem;
}

.db-preset-btn[b-2opx8ttbpm] {
    white-space: nowrap;
}

/* Napi betekintés mobilon: az ikon és a gombok az első sorban, a szöveg alatta teljes szélességben
   (különben a szöveg egy keskeny oszlopba szorult a két oldalsó elem között). */
@media (max-width: 600px) {
    .db-insight-bar[b-2opx8ttbpm] {
        flex-wrap: wrap;
        align-items: flex-start;
    }

    .db-insight-icon[b-2opx8ttbpm] {
        order: 1;
    }

    .db-insight-actions[b-2opx8ttbpm] {
        order: 2;
        margin-left: auto;
    }

    .db-insight-content[b-2opx8ttbpm] {
        order: 3;
        flex: 1 1 100%;
        min-width: 0;
    }
}
/* /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: #5d6b7c; 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: #15803d; 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: #166534; }
.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: #5d6b7c; 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: #15803d; }
.emp-badge-inactive[b-krdcufrh9n] { font-size: 0.7rem; font-weight: 600; padding: 0.15rem 0.5rem; border-radius: 20px; background: #fee2e2; color: #b91c1c; }

.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: #5d6b7c; 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: #5d6b7c; 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: #5d6b7c; 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; }
.emp-loading-wait[b-krdcufrh9n] { flex-direction: column; align-items: center; gap: 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: #15803d; 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: #166534; }
.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: #15803d; 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: #5d6b7c; 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: #5d6b7c; 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: #5d6b7c; 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: #5d6b7c; 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: #5d6b7c; 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: #5d6b7c; 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: #5d6b7c; 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; }
/* Az AI modal fejléce sötét navy gradient — a .emp-form-title saját (#1e293b) színe
   erősebb a sáv örökölt fehérjénél, ezért itt kimondottan fehérre állítjuk. */
.emp-ai-header .emp-form-title[b-krdcufrh9n] { color: #fff; }
.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); }
}

/* ==================== Csomag: zárolt bérkezelés / AI ==================== */
.emp-upgrade-box[b-krdcufrh9n] { 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; box-shadow: 0 2px 6px rgba(15, 23, 42, 0.04), 0 8px 16px rgba(15, 23, 42, 0.06); }
.emp-upgrade-box i[b-krdcufrh9n] { font-size: 2.5rem; color: #b45309; }
.emp-upgrade-box h3[b-krdcufrh9n] { font-size: 1.2rem; font-weight: 600; color: #78350f; margin: 0; }
.emp-upgrade-box p[b-krdcufrh9n] { color: #92400e; margin: 0 0 10px 0; max-width: 560px; }
.emp-upgrade-btn[b-krdcufrh9n] { display: flex; align-items: center; gap: 0.45rem; padding: 0.55rem 1.2rem; background: linear-gradient(135deg, #1a3a5c 0%, #0f2d52 100%); color: #fff; border: none; border-radius: 8px; font-size: 0.85rem; font-weight: 600; cursor: pointer; box-shadow: 0 2px 6px rgba(15,45,82,0.25); }
.emp-upgrade-btn:hover[b-krdcufrh9n] { background: linear-gradient(135deg, #0f2d52 0%, #06182d 100%); }
.emp-upgrade-box .emp-upgrade-btn i[b-krdcufrh9n] { font-size: 1rem; color: #fbbf24; }
.emp-ai-btn.emp-ai-btn-locked[b-krdcufrh9n] { opacity: 0.8; }
.emp-ai-btn.emp-ai-btn-locked i[b-krdcufrh9n] { color: #cbd5e1; }
/* /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: #fecdd3;
}

.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: #5d6b7c;
    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 mellett a flex sor ezt nyomta 0 szélesre — így a kategória neve
       egyáltalán nem látszott, csak a mellette lévő évszám badge */
    min-width: 130px;
}

    .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: #5d6b7c;
    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: #5d6b7c;
    font-size: 0.7rem;
    font-weight: 500;
}

.exp-detail-orig-same[b-tc6f9ypoeb] {
    color: #5d6b7c;
    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: #5d6b7c;
    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: #5d6b7c;
    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: #15803d;
    color: #ffffff;
    border-radius: 8px;
    font-size: 0.6rem;
    font-weight: 700;
    line-height: 15px;
    text-align: center;
}

.exp-attachment-none[b-tc6f9ypoeb] {
    color: #5d6b7c;
    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: #15803d;
}

.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: #5d6b7c;
    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: #5d6b7c;
    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%;
    /* A sorban a név mellett elfér a havi keret, a "szállító kötelező" és a törlés is —
       500px-en a névmező 0 szélesre nyomódott össze, és csak az évszám látszott */
    max-width: 660px;
    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: #15803d;
    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: #166534;
}

.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;
    /* Szűk helyen inkább törjön új sorba, mint hogy a költséghely NEVE nyomódjon össze */
    flex-wrap: wrap;
    row-gap: 0.5rem;
    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;
    /* A név a sor legfontosabb eleme: kap egy garantált alapszélességet, és ha nem fér el
       minden egy sorban, a többi blokk törik alá — nem a név tűnik el */
    flex: 1 1 180px;
    min-width: 160px;
}

.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: #5d6b7c;
    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: #5d6b7c;
    gap: 0.5rem;
}

.exp-cat-empty i[b-tc6f9ypoeb] {
    font-size: 2rem;
}

.exp-cat-empty p[b-tc6f9ypoeb] {
    font-size: 0.85rem;
    margin: 0;
}






/* Opcionális mező jelzés a kötelező csillag helyett (pl. szállító nélküli kategóriánál) */

/* 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;
}



/* Kategória-javaslat jelzés a kiadás sorban */
.exp-invoice-cat-suggestion[b-tc6f9ypoeb] {
    font-size: 0.85rem;
    color: #b45309;
    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;
}


/* ===== 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;
    /* A süti-tájékoztató sáv z-indexe 2000: a magas szerkesztő modal láblécét takarná,
       ezért a felhasználó által megnyitott modal a sáv fölé kerül. */
    z-index: 2100;
    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: #15803d;
    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: #166534;
    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;
}



/* ===== 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;
    /* Ne zsugorodjon és ne is nyelje el a név helyét */
    flex: 0 0 auto;
}

.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: #b91c1c;
    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;
    }

/* ==================== Mini-dashboard ====================
   A bevétel oldali mini-dashboard párja, exp- prefixszel. Szándékosan ugyanaz a kártya-geometria
   (12 oszlopos trend + két sávos lista), hogy a két testvér-képernyő egy rendszernek látsszon.
   A színek viszont a KIADÁS logikáját követik: a trend semleges navy/szürke — egy növekvő kiadás
   önmagában nem rossz hír —, a piros/borostyán kizárólag a keret-túllépésé, ugyanazokkal a
   színkódokkal, mint a táblázat cellái (exp-td-cell-warning / exp-td-cell-over). */
.exp-mini-dashboard[b-tc6f9ypoeb] {
    display: grid;
    grid-template-columns: 2fr 2fr 1.6fr;
    gap: 1rem;
}

@media (max-width: 1100px) {
    .exp-mini-dashboard[b-tc6f9ypoeb] {
        grid-template-columns: 1fr;
    }
}

.exp-dash-card[b-tc6f9ypoeb] {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 1rem 1.25rem;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}

.exp-dash-title[b-tc6f9ypoeb] {
    margin: 0 0 0.85rem 0;
    font-size: 0.95rem;
    font-weight: 700;
    color: #1e293b;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

    .exp-dash-title i[b-tc6f9ypoeb] {
        color: #1a3a5c;
    }

.exp-dash-net-hint[b-tc6f9ypoeb] {
    display: inline-flex;
    align-items: center;
    color: #94a3b8;
    cursor: help;
}

    .exp-dash-net-hint i[b-tc6f9ypoeb] {
        color: #94a3b8;
        font-size: 0.85rem;
    }

.exp-dash-empty[b-tc6f9ypoeb] {
    color: #5d6b7c;
    font-size: 0.85rem;
    padding: 1rem 0;
    text-align: center;
}

/* ===== 1. Havi trend oszlopdiagram ===== */
.exp-dash-bars[b-tc6f9ypoeb] {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    align-items: end;
    gap: 0.35rem;
    height: 130px;
}

.exp-dash-bar-wrap[b-tc6f9ypoeb] {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
    justify-content: flex-end;
    gap: 0.25rem;
}

.exp-dash-bar[b-tc6f9ypoeb] {
    width: 100%;
    min-height: 2px;
    background: linear-gradient(180deg, #1a3a5c 0%, #64748b 100%);
    border-radius: 4px 4px 0 0;
    transition: height 0.4s ease;
}

.exp-dash-bar-label[b-tc6f9ypoeb] {
    font-size: 0.65rem;
    color: #64748b;
    font-weight: 600;
}

/* ===== YoY lábléc a trend kártyán ===== */
.exp-dash-yoy[b-tc6f9ypoeb] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    margin-top: 0.9rem;
    padding-top: 0.75rem;
    border-top: 1px solid #e2e8f0;
}

.exp-dash-yoy-row[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.exp-dash-yoy-label[b-tc6f9ypoeb] {
    font-size: 0.82rem;
    color: #64748b;
    font-weight: 600;
    display: inline-flex;
    align-items: baseline;
    gap: 0.35rem;
    flex-wrap: wrap;
}

.exp-dash-period-hint[b-tc6f9ypoeb] {
    font-size: 0.72rem;
    color: #5d6b7c;
    font-weight: 500;
    font-style: italic;
}

.exp-dash-yoy-value[b-tc6f9ypoeb] {
    font-size: 0.95rem;
    font-weight: 700;
    color: #1a3a5c;
    white-space: nowrap;
}

/* A YoY eltérés szándékosan semleges — se zöld, se piros. A kiadás növekedése
   önmagában nem ítélet, csak tény; a minősítés a keret-kártya dolga. */
.exp-dash-yoy-delta[b-tc6f9ypoeb] {
    color: #475569;
}

/* ===== 2. Keret-kihasználtság ===== */
.exp-dash-budget-list[b-tc6f9ypoeb] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

/* A sor egy blokk lett: fejléc (név + %), sáv, majd az összegek.
   Korábban egyetlen rácssor volt, és az összegek csak tooltipben látszottak. */
.exp-dash-budget-row[b-tc6f9ypoeb] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    padding: 0.5rem 0;
    border-bottom: 1px solid #f1f5f9;
}

.exp-dash-budget-row:last-child[b-tc6f9ypoeb] {
    border-bottom: none;
}

.exp-dash-budget-head[b-tc6f9ypoeb] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.6rem;
}

/* Keret-összegek: éves keret, eddig elköltve, és a hátralévő vagy a túllépés */
.exp-dash-budget-figures[b-tc6f9ypoeb] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
}

.exp-dash-budget-fig[b-tc6f9ypoeb] {
    display: flex;
    align-items: baseline;
    gap: 0.3rem;
    font-size: 0.76rem;
}

.exp-dash-budget-fig-label[b-tc6f9ypoeb] {
    color: #64748b;
}

.exp-dash-budget-fig-value[b-tc6f9ypoeb] {
    font-weight: 700;
    color: #0f2a44;
    font-variant-numeric: tabular-nums;
}

/* Hátralévő = zöld (van még mozgástér), túllépés = piros */
.exp-dash-budget-fig-left .exp-dash-budget-fig-value[b-tc6f9ypoeb] {
    color: #15803d;
}

.exp-dash-budget-fig-over .exp-dash-budget-fig-label[b-tc6f9ypoeb],
.exp-dash-budget-fig-over .exp-dash-budget-fig-value[b-tc6f9ypoeb] {
    color: #b91c1c;
}

.exp-dash-budget-name[b-tc6f9ypoeb] {
    font-size: 0.82rem;
    font-weight: 600;
    color: #1e293b;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.exp-dash-budget-track[b-tc6f9ypoeb] {
    background: #f1f5f9;
    border-radius: 4px;
    height: 8px;
    overflow: hidden;
}

.exp-dash-budget-fill[b-tc6f9ypoeb] {
    height: 100%;
    border-radius: 4px;
    transition: width 0.4s ease;
}

.exp-dash-budget-pct[b-tc6f9ypoeb] {
    font-size: 0.82rem;
    font-weight: 700;
    text-align: right;
    min-width: 46px;
}

/* Ugyanaz a három állapot-szín, mint a táblázat limit-cellái */
.exp-dash-budget-ok[b-tc6f9ypoeb] {
    background: #15803d;
}

span.exp-dash-budget-ok[b-tc6f9ypoeb] {
    background: transparent;
    color: #15803d;
}

.exp-dash-budget-warn[b-tc6f9ypoeb] {
    background: #fbbf24;
}

span.exp-dash-budget-warn[b-tc6f9ypoeb] {
    background: transparent;
    color: #b45309;
}

.exp-dash-budget-over[b-tc6f9ypoeb] {
    background: #dc2626;
}

span.exp-dash-budget-over[b-tc6f9ypoeb] {
    background: transparent;
    color: #991b1b;
}

/* ===== 3. Top szállítók ===== */
.exp-dash-top-list[b-tc6f9ypoeb] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.exp-dash-top-row[b-tc6f9ypoeb] {
    display: grid;
    grid-template-columns: 1fr 1.2fr auto;
    align-items: center;
    gap: 0.6rem;
}

.exp-dash-top-name[b-tc6f9ypoeb] {
    font-size: 0.82rem;
    font-weight: 600;
    color: #1e293b;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.exp-dash-top-bar-track[b-tc6f9ypoeb] {
    background: #f1f5f9;
    border-radius: 4px;
    height: 8px;
    overflow: hidden;
}

.exp-dash-top-bar-fill[b-tc6f9ypoeb] {
    height: 100%;
    background: linear-gradient(90deg, #1a3a5c 0%, #64748b 100%);
    border-radius: 4px;
    transition: width 0.4s ease;
}

.exp-dash-top-value[b-tc6f9ypoeb] {
    font-size: 0.82rem;
    font-weight: 700;
    color: #1a3a5c;
    text-align: right;
    min-width: 70px;
}

/* ===== Mini-dashboard ki/be gomb a fejléc toolbarban ===== */
.exp-view-btn[b-tc6f9ypoeb] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    background: #ffffff;
    color: #64748b;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}

    .exp-view-btn:hover[b-tc6f9ypoeb] {
        border-color: #9f1239;
        color: #9f1239;
    }

    .exp-view-btn.active[b-tc6f9ypoeb] {
        background: #9f1239;
        border-color: #9f1239;
        color: #ffffff;
    }

/* ===== Hiányzó számla lista: csatolás és kizárás =====
   A banki kiadások egy része természeténél fogva számla nélküli (bér, adó, banki költség).
   Ezek kizárhatók, hogy a figyelmeztetésben csak a valódi hiányok maradjanak. */
.exp-missing-bulk[b-tc6f9ypoeb] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    padding: 0.7rem 0.9rem;
    margin-bottom: 0.6rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
}

.exp-missing-selectall[b-tc6f9ypoeb] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.85rem;
    font-weight: 600;
    color: #0f2a44;
    cursor: pointer;
}

.exp-missing-count[b-tc6f9ypoeb] {
    color: #64748b;
    font-size: 0.8rem;
}

.exp-missing-reason[b-tc6f9ypoeb] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    flex: 1;
    min-width: 260px;
}

.exp-missing-reason-input[b-tc6f9ypoeb] {
    padding: 0.4rem 0.6rem;
    border: 1.5px solid #e2e8f0;
    border-radius: 6px;
    font-size: 0.84rem;
}

.exp-missing-reason-input:focus[b-tc6f9ypoeb] {
    outline: none;
    border-color: #1e3a8a;
}

.exp-missing-presets[b-tc6f9ypoeb] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
}

.exp-missing-preset-btn[b-tc6f9ypoeb] {
    padding: 0.2rem 0.55rem;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    color: #475569;
    font-size: 0.75rem;
    cursor: pointer;
}

.exp-missing-preset-btn:hover[b-tc6f9ypoeb] {
    border-color: #1e3a8a;
    color: #1e3a8a;
}

.exp-missing-exclude-btn[b-tc6f9ypoeb] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.45rem 0.9rem;
    background: #0f2a44;
    color: #ffffff;
    border: none;
    border-radius: 8px;
    font-size: 0.84rem;
    font-weight: 600;
    cursor: pointer;
}

.exp-missing-exclude-btn:hover:not(:disabled)[b-tc6f9ypoeb] {
    background: #1e3a8a;
}

.exp-missing-exclude-btn:disabled[b-tc6f9ypoeb] {
    opacity: 0.5;
    cursor: not-allowed;
}

.exp-missing-check-col[b-tc6f9ypoeb] {
    width: 34px;
    text-align: center;
}

.exp-missing-action-col[b-tc6f9ypoeb] {
    width: 190px;
}

.exp-missing-row-selected[b-tc6f9ypoeb] {
    background: #eff6ff;
}

.exp-missing-actions[b-tc6f9ypoeb] {
    display: flex;
    gap: 0.4rem;
}

.exp-missing-upload-btn[b-tc6f9ypoeb],
.exp-missing-skip-btn[b-tc6f9ypoeb] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.3rem 0.6rem;
    background: #ffffff;
    border: 1.5px solid #e2e8f0;
    border-radius: 6px;
    color: #0f2a44;
    font-size: 0.78rem;
    font-weight: 600;
    cursor: pointer;
}

.exp-missing-upload-btn:hover[b-tc6f9ypoeb],
.exp-missing-skip-btn:hover:not(:disabled)[b-tc6f9ypoeb] {
    border-color: #1e3a8a;
    color: #1e3a8a;
}

.exp-missing-skip-btn:disabled[b-tc6f9ypoeb] {
    opacity: 0.5;
    cursor: not-allowed;
}

/* ==================== Vegyes ÁFA-kulcs jelölés a részletező sorban ==================== */
/* Egy számlán több ÁFA-kulcs is lehet (pl. étel 5% + ital 27%). Ilyenkor egyetlen szám
   félrevezető lenne, ezért a kulcsokat soroljuk fel, és a sor alatt nyitható a pontos bontás. */

.exp-detail-vat-mixed[b-tc6f9ypoeb] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    background: rgba(26, 58, 92, 0.08);
    border: 1px solid rgba(26, 58, 92, 0.25);
    border-radius: 999px;
    color: #1a3a5c;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.15rem 0.55rem;
    cursor: pointer;
    font-family: inherit;
    transition: all 0.2s;
}

.exp-detail-vat-mixed:hover[b-tc6f9ypoeb] {
    background: rgba(26, 58, 92, 0.16);
    box-shadow: 0 2px 6px rgba(15, 37, 64, 0.15);
}

.exp-detail-vat-mixed i[b-tc6f9ypoeb] {
    font-size: 0.85rem;
}

.exp-detail-vat-row > td[b-tc6f9ypoeb] {
    background: #f8fafc;
    padding: 0.5rem 0.75rem;
    border-bottom: 1px solid #e2e8f0;
}

/* ==================== Kategória HIPA-jogcím legördülő ==================== */

.exp-cat-hipa-block[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 240px;
}

    .exp-cat-hipa-block i[b-tc6f9ypoeb] {
        color: #64748b;
        font-size: 0.95rem;
        flex-shrink: 0;
    }

.exp-cat-hipa-input[b-tc6f9ypoeb] {
    width: 100%;
    min-width: 210px;
    font-size: 0.8rem;
}

/* ==================== Kiadás-címkék ====================
   A címke a kategóriától és a költséghelytől független besorolás (pl. "Autó"):
   egy tételre több is tehető, és a szűrősávon keresztmetszetben látszik. */

.exp-tag-bar[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 0.6rem 0.9rem;
    margin-bottom: 0.75rem;
    box-shadow: 0 1px 3px rgba(15, 36, 68, 0.06);
}

.exp-tag-bar-left[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex-wrap: wrap;
}

.exp-tag-bar-icon[b-tc6f9ypoeb] {
    color: #2563eb;
    font-size: 1.05rem;
}

.exp-tag-bar-label[b-tc6f9ypoeb] {
    font-size: 0.82rem;
    font-weight: 600;
    color: #1a3a5c;
    margin-right: 0.25rem;
}

.exp-tag-empty[b-tc6f9ypoeb] {
    font-size: 0.8rem;
    color: #5d6b7c;
}

/* ===== Chip ===== */
.exp-tag-chip[b-tc6f9ypoeb] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.22rem 0.6rem;
    border-radius: 999px;
    border: 1px solid var(--exp-tag-color, #475569);
    background: color-mix(in srgb, var(--exp-tag-color, #475569) 10%, #ffffff);
    color: var(--exp-tag-color, #475569);
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.4;
    white-space: nowrap;
}

.exp-tag-chip-sm[b-tc6f9ypoeb] {
    padding: 0.12rem 0.45rem;
    font-size: 0.72rem;
}

.exp-tag-chip-filter[b-tc6f9ypoeb] {
    cursor: pointer;
    transition: background 0.15s, color 0.15s, box-shadow 0.15s;
}

    .exp-tag-chip-filter:hover[b-tc6f9ypoeb] {
        box-shadow: 0 0 0 2px color-mix(in srgb, var(--exp-tag-color, #475569) 20%, transparent);
    }

    .exp-tag-chip-filter.active[b-tc6f9ypoeb] {
        background: var(--exp-tag-color, #475569);
        color: #ffffff;
    }

.exp-tag-chip-count[b-tc6f9ypoeb] {
    font-size: 0.68rem;
    opacity: 0.75;
    font-weight: 700;
}

.exp-tag-chip-selectable[b-tc6f9ypoeb] {
    cursor: pointer;
}

    .exp-tag-chip-selectable.active[b-tc6f9ypoeb] {
        background: var(--exp-tag-color, #475569);
        color: #ffffff;
    }

.exp-tag-clear[b-tc6f9ypoeb],
.exp-tag-manage-btn[b-tc6f9ypoeb] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.28rem 0.7rem;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #f8fafc;
    color: #475569;
    font-size: 0.78rem;
    font-weight: 600;
    cursor: pointer;
}

    .exp-tag-clear:hover[b-tc6f9ypoeb],
    .exp-tag-manage-btn:hover[b-tc6f9ypoeb] {
        background: #eef2f7;
        color: #1a3a5c;
    }

.exp-tag-filter-count[b-tc6f9ypoeb] {
    font-size: 0.72rem;
    color: #64748b;
}

/* ===== Címke-kezelő panel ===== */
.exp-tag-manager[b-tc6f9ypoeb] {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 0.85rem;
    margin-bottom: 0.75rem;
}

.exp-tag-manager-new[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    flex-wrap: wrap;
    margin-bottom: 0.75rem;
}

    .exp-tag-manager-new input[type="text"][b-tc6f9ypoeb],
    .exp-tag-manager-item input[type="text"][b-tc6f9ypoeb] {
        padding: 0.35rem 0.6rem;
        border: 1px solid #cbd5e1;
        border-radius: 6px;
        font-size: 0.82rem;
        min-width: 220px;
    }

.exp-tag-color-picker[b-tc6f9ypoeb] {
    display: flex;
    gap: 0.25rem;
}

.exp-tag-color-dot[b-tc6f9ypoeb] {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 2px solid transparent;
    cursor: pointer;
    padding: 0;
}

    .exp-tag-color-dot.active[b-tc6f9ypoeb] {
        border-color: #0f2444;
        box-shadow: 0 0 0 2px #ffffff inset;
    }

.exp-tag-add-btn[b-tc6f9ypoeb] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.8rem;
    border: none;
    border-radius: 8px;
    background: linear-gradient(135deg, #1a3a5c 0%, #2563eb 100%);
    color: #ffffff;
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
}

    .exp-tag-add-btn[disabled][b-tc6f9ypoeb] {
        opacity: 0.55;
        cursor: not-allowed;
    }

.exp-tag-manager-list[b-tc6f9ypoeb] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.exp-tag-manager-item[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 0.35rem 0.6rem;
}

.exp-tag-usage[b-tc6f9ypoeb] {
    font-size: 0.75rem;
    color: #5d6b7c;
    margin-right: auto;
}

.exp-tag-mini-btn[b-tc6f9ypoeb] {
    border: none;
    background: transparent;
    color: #64748b;
    cursor: pointer;
    padding: 0.2rem 0.3rem;
    border-radius: 5px;
}

    .exp-tag-mini-btn:hover[b-tc6f9ypoeb] {
        background: #eef2f7;
        color: #1a3a5c;
    }

.exp-tag-mini-danger:hover[b-tc6f9ypoeb] {
    background: #fee2e2;
    color: #dc2626;
}

/* ===== Tömeges címkézés sáv ===== */
.exp-tag-bulk-bar[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    flex-wrap: wrap;
    background: #0f2444;
    color: #ffffff;
    border-radius: 10px;
    padding: 0.55rem 0.9rem;
    margin-bottom: 0.75rem;
    box-shadow: 0 4px 12px rgba(15, 36, 68, 0.2);
}

.exp-tag-bulk-count[b-tc6f9ypoeb] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.82rem;
    font-weight: 600;
    margin-right: auto;
}

.exp-tag-bulk-select[b-tc6f9ypoeb] {
    padding: 0.3rem 0.6rem;
    border-radius: 6px;
    border: 1px solid #334e6d;
    font-size: 0.8rem;
    min-width: 180px;
}

.exp-tag-bulk-btn[b-tc6f9ypoeb],
.exp-tag-bulk-clear[b-tc6f9ypoeb] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.3rem 0.75rem;
    border-radius: 8px;
    border: 1px solid transparent;
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
}

.exp-tag-bulk-btn[b-tc6f9ypoeb] {
    background: #22c55e;
    color: #06301a;
}

    .exp-tag-bulk-btn[disabled][b-tc6f9ypoeb] {
        opacity: 0.5;
        cursor: not-allowed;
    }

.exp-tag-bulk-remove[b-tc6f9ypoeb] {
    background: #f87171;
    color: #450a0a;
}

.exp-tag-bulk-clear[b-tc6f9ypoeb] {
    background: transparent;
    color: #cbd5e1;
    border-color: #334e6d;
}

/* ===== Részletes tábla: kijelölés és címke oszlop ===== */
.exp-detail-th-select[b-tc6f9ypoeb],
.exp-detail-select[b-tc6f9ypoeb] {
    width: 34px;
    text-align: center;
}

.exp-detail-row-selected[b-tc6f9ypoeb] {
    background: #eff6ff;
}

.exp-detail-th-tags[b-tc6f9ypoeb] {
    min-width: 150px;
}

.exp-detail-tags[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    flex-wrap: wrap;
}

.exp-tag-add-inline[b-tc6f9ypoeb] {
    border: 1px dashed #cbd5e1;
    background: transparent;
    color: #64748b;
    border-radius: 999px;
    width: 20px;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 0.7rem;
    padding: 0;
}

    .exp-tag-add-inline:hover[b-tc6f9ypoeb] {
        border-color: #2563eb;
        color: #2563eb;
        background: #eff6ff;
    }

/* ===== Címke-hozzárendelő modal ===== */
.exp-tag-modal[b-tc6f9ypoeb] {
    background: #ffffff;
    border-radius: 12px;
    width: 100%;
    max-width: 520px;
    box-shadow: 0 20px 50px rgba(15, 36, 68, 0.35);
    overflow: hidden;
}

.exp-tag-modal-header[b-tc6f9ypoeb] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.9rem 1.1rem;
    background: linear-gradient(135deg, #0f2444 0%, #1a3a5c 100%);
    color: #ffffff;
}

    .exp-tag-modal-header h3[b-tc6f9ypoeb] {
        margin: 0;
        font-size: 1rem;
        display: flex;
        align-items: center;
        gap: 0.45rem;
    }

.exp-tag-modal-close[b-tc6f9ypoeb] {
    background: transparent;
    border: none;
    color: #ffffff;
    cursor: pointer;
    font-size: 1.05rem;
}

.exp-tag-modal-body[b-tc6f9ypoeb] {
    padding: 1rem 1.1rem;
}

.exp-tag-modal-hint[b-tc6f9ypoeb] {
    display: flex;
    align-items: flex-start;
    gap: 0.4rem;
    font-size: 0.8rem;
    color: #64748b;
    margin: 0 0 0.85rem 0;
}

.exp-tag-modal-list[b-tc6f9ypoeb] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-bottom: 1rem;
}

.exp-tag-modal-new[b-tc6f9ypoeb] {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    border-top: 1px solid #e2e8f0;
    padding-top: 0.85rem;
}

    .exp-tag-modal-new input[type="text"][b-tc6f9ypoeb] {
        flex: 1;
        padding: 0.4rem 0.65rem;
        border: 1px solid #cbd5e1;
        border-radius: 6px;
        font-size: 0.85rem;
    }

.exp-tag-modal-footer[b-tc6f9ypoeb] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    padding: 0.75rem 1.1rem;
    background: #f8fafc;
    border-top: 1px solid #e2e8f0;
}

.exp-tag-modal-cancel[b-tc6f9ypoeb],
.exp-tag-modal-save[b-tc6f9ypoeb] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.45rem 1rem;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    border: 1px solid #cbd5e1;
    background: #ffffff;
    color: #475569;
}

.exp-tag-modal-save[b-tc6f9ypoeb] {
    border: none;
    background: linear-gradient(135deg, #1a3a5c 0%, #2563eb 100%);
    color: #ffffff;
}

    .exp-tag-modal-save[disabled][b-tc6f9ypoeb],
    .exp-tag-modal-cancel[disabled][b-tc6f9ypoeb] {
        opacity: 0.6;
        cursor: wait;
    }

/* ===== Csomag-korlátok: zárolt korábbi év, devizás upsell ===== */
.exp-year-btn.exp-year-btn-locked[b-tc6f9ypoeb] {
    color: #b45309;
}

    .exp-year-btn.exp-year-btn-locked:hover[b-tc6f9ypoeb] {
        background: #fef3c7;
    }

.exp-currency-upsell[b-tc6f9ypoeb] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    margin-top: 0.35rem;
    padding: 0.2rem 0.5rem;
    background: #fef3c7;
    border: 1px solid #fde68a;
    border-radius: 6px;
    color: #78350f;
    font-size: 0.75rem;
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 1px 3px rgba(180, 83, 9, 0.12);
}

    .exp-currency-upsell:hover[b-tc6f9ypoeb] {
        background: #fde68a;
    }

/* Hiányzó számlák sora: a „Számla” / „Nem kell” gombok felirata ne törjön két sorba */
.exp-missing-upload-btn[b-tc6f9ypoeb],
.exp-missing-skip-btn[b-tc6f9ypoeb] {
    white-space: nowrap;
}

.exp-missing-actions[b-tc6f9ypoeb] {
    flex-wrap: nowrap;
}

/* A rejtett fájlválasztó (InputFile gyerek-komponens, ezért ::deep) — korábban inline display:none */
.exp-missing-actions[b-tc6f9ypoeb]  .exp-missing-file-input {
    display: none;
}
/* /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)
   ============================================================ */

/* FIGYELEM: a komponens-szintű (scoped) CSS a ":root" szelektort ":root[b-...]"-re írja át, ami
   soha nem illeszkedik — ezért itt a változók a landing gyökérelemén vannak, onnan öröklődnek. */
.al-landing[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); }

/* ===== 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) ===== */
/* A regisztrációs és belépő gombok sima linkek (a Blazor-kapcsolat nélkül is működnek), ezért nincs aláhúzás */
.al-btn[b-w3xslwx9dl] {
    border: none;
    cursor: pointer;
    text-decoration: none;
    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-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;
    }

/* Fő cím: a havi munka, amit a rendszer elvégez */
.al-hero-title[b-w3xslwx9dl] {
    font-size: clamp(1.8rem, 3.8vw, 3rem);
    font-weight: 800;
    letter-spacing: -0.025em;
    line-height: 1.15;
    max-width: 900px;
    margin: 8px auto 22px;
    color: var(--al-text);
}

.al-hero-sub[b-w3xslwx9dl] {
    font-size: 1.12rem;
    color: var(--al-muted);
    max-width: 720px;
    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;
}

/* Az „Eddig:” sor: a régi kézi munka, áthúzott ikon mellett, visszafogott piros árnyalattal */
.al-sol-before[b-w3xslwx9dl] {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    margin: 0 0 10px;
    font-size: 0.88rem;
    color: var(--al-muted-2);
    line-height: 1.45;
}

    .al-sol-before i[b-w3xslwx9dl] {
        color: var(--al-danger);
        margin-top: 2px;
    }

/* Széles képernyőn négy kártya egy sorban, hogy a nyolc tétel két sorban elférjen */
@media (min-width: 1100px) {
    .al-solution-grid[b-w3xslwx9dl] {
        grid-template-columns: repeat(4, 1fr);
        gap: 20px;
    }

    .al-solution-card[b-w3xslwx9dl] {
        padding: 24px;
    }

        .al-solution-card h3[b-w3xslwx9dl] {
            font-size: 1.15rem;
        }

        .al-solution-card p[b-w3xslwx9dl] {
            font-size: 0.95rem;
        }

    .al-solution-card .al-sol-icon[b-w3xslwx9dl] {
        width: 48px;
        height: 48px;
        margin-bottom: 16px;
    }
}

/* ============================================================
   DASHBOARD MOCK
   ============================================================ */
.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 */
/* Charts grid */
/* Radial wrap */
/* Donut wrap */
/* AI Insights panel */
/* Bottom dashboard stats */
/* ============================================================
   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-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; }}

@media (max-width: 480px) {
    .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-title[b-w3xslwx9dl] { font-size: clamp(1.8rem, 4.5vw, 2.6rem); }
    .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-title[b-w3xslwx9dl] { font-size: clamp(1.6rem, 5vw, 2.2rem); line-height: 1.2; }
    .al-hero-sub[b-w3xslwx9dl] { font-size: 1rem; }    /* 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-title[b-w3xslwx9dl] { font-size: clamp(1.5rem, 6vw, 2rem); }
    .al-hero-sub[b-w3xslwx9dl] { font-size: 0.95rem; padding: 0 8px; }
    .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-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 */}

@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-title[b-w3xslwx9dl] { font-size: 1.5rem; }
    .al-section-head h2[b-w3xslwx9dl] { font-size: 1.5rem; }
    .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 */    /* 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-title[b-w3xslwx9dl] { font-size: 1.3rem; }
    .al-section-head h2[b-w3xslwx9dl] { font-size: 1.3rem; }
}

/* 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 */

/* Landscape mobilon: hero alacsonyabb */
@media (max-width: 900px) and (orientation: landscape) {
    .al-hero[b-w3xslwx9dl] { min-height: auto; padding: 80px 0 40px; }
}

/* 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-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;
}

/* ============================================================
   NAVIGÁCIÓ — "új" jelölés
   ============================================================ */

.al-nav-new[b-w3xslwx9dl] {
    position: relative;
}

.al-nav-new[b-w3xslwx9dl]::after {
    content: '';
    position: absolute;
    top: -2px;
    right: -9px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--al-accent);
    box-shadow: 0 0 0 3px var(--al-accent-soft);
}

.al-pill-new[b-w3xslwx9dl] {
    background: var(--al-accent-soft);
    border-color: rgba(16, 185, 129, 0.35);
    color: var(--al-emerald);
}

.al-new-badge[b-w3xslwx9dl] {
    display: inline-flex;
    align-items: center;
    margin-left: 6px;
    padding: 1px 8px;
    border-radius: 999px;
    background: var(--al-emerald);
    color: #ffffff;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    vertical-align: middle;
}

/* ============================================================
   ALIONOS KIMUTATÁSOK — bemutató chat + előnyök
   ============================================================ */

.al-ai-section[b-w3xslwx9dl] {
    background: linear-gradient(180deg, var(--al-bg) 0%, var(--al-bg-2) 100%);
}

.al-orb-ai-1[b-w3xslwx9dl] {
    width: 420px;
    height: 420px;
    top: 10%;
    left: -140px;
    background: radial-gradient(circle, rgba(16, 185, 129, 0.12), transparent 70%);
}

.al-ai-grid[b-w3xslwx9dl] {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
    gap: 48px;
    align-items: center;
    position: relative;
}

.al-ai-demo[b-w3xslwx9dl] {
    background: var(--al-card);
    border: 1px solid var(--al-border);
    border-radius: var(--al-radius-lg);
    box-shadow: 0 24px 60px rgba(15, 37, 64, 0.14);
    overflow: hidden;
}

.al-ai-demo-head[b-w3xslwx9dl] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
    background: linear-gradient(135deg, var(--al-primary-dark) 0%, var(--al-primary) 100%);
    color: #ffffff;
}

.al-ai-avatar[b-w3xslwx9dl] {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(16, 185, 129, 0.2);
    color: #6ee7b7;
    font-size: 1.25rem;
}

.al-ai-demo-name[b-w3xslwx9dl] {
    font-weight: 700;
    font-size: 0.98rem;
}

.al-ai-demo-status[b-w3xslwx9dl] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.78rem;
    color: #cbd5e1;
}

.al-ai-demo-body[b-w3xslwx9dl] {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 20px;
    min-height: 430px;
    background: var(--al-bg-2);
}

.al-ai-bubble[b-w3xslwx9dl] {
    max-width: 92%;
    padding: 12px 16px;
    border-radius: 16px;
    font-size: 0.92rem;
    line-height: 1.5;
    animation: al-ai-pop-b-w3xslwx9dl 0.45s var(--al-ease);
}

.al-ai-bubble p[b-w3xslwx9dl] {
    margin: 0 0 12px;
    color: var(--al-text);
}

.al-ai-bubble-user[b-w3xslwx9dl] {
    align-self: flex-end;
    background: var(--al-primary);
    color: #ffffff;
    border-bottom-right-radius: 4px;
    box-shadow: 0 6px 16px rgba(26, 58, 92, 0.25);
}

.al-ai-bubble-bot[b-w3xslwx9dl] {
    align-self: flex-start;
    width: 92%;
    background: var(--al-card);
    border: 1px solid var(--al-secondary);
    border-bottom-left-radius: 4px;
    box-shadow: 0 6px 16px rgba(15, 37, 64, 0.06);
}

@keyframes al-ai-pop-b-w3xslwx9dl {
    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.al-ai-chart[b-w3xslwx9dl] {
    border: 1px solid var(--al-secondary);
    border-radius: var(--al-radius-sm);
    padding: 12px 14px;
    background: var(--al-bg);
}

.al-ai-chart-title[b-w3xslwx9dl] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 12px;
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--al-primary);
}

.al-ai-vbars[b-w3xslwx9dl] {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 6px;
    height: 150px;
}

.al-ai-vbar-col[b-w3xslwx9dl] {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.al-ai-vbar-value[b-w3xslwx9dl] {
    font-size: 0.64rem;
    font-weight: 600;
    color: var(--al-muted-2);
    white-space: nowrap;
}

.al-ai-vbar-track[b-w3xslwx9dl] {
    flex: 1 1 auto;
    width: 100%;
    max-width: 30px;
    display: flex;
    align-items: flex-end;
}

.al-ai-vbar-fill[b-w3xslwx9dl] {
    display: block;
    width: 100%;
    border-radius: 5px 5px 2px 2px;
    background: linear-gradient(180deg, var(--al-accent) 0%, var(--al-primary) 100%);
    transition: height 0.6s var(--al-ease);
}

.al-ai-vbar-label[b-w3xslwx9dl] {
    font-size: 0.68rem;
    color: var(--al-muted);
    white-space: nowrap;
}

.al-ai-hbars[b-w3xslwx9dl] {
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.al-ai-hbar-row[b-w3xslwx9dl] {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr) 40px;
    align-items: center;
    gap: 8px;
}

.al-ai-hbar-label[b-w3xslwx9dl] {
    font-size: 0.74rem;
    color: var(--al-text);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.al-ai-hbar-track[b-w3xslwx9dl] {
    height: 14px;
    border-radius: 999px;
    background: var(--al-card-2);
    overflow: hidden;
}

.al-ai-hbar-fill[b-w3xslwx9dl] {
    display: block;
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--al-primary) 0%, var(--al-accent) 100%);
    transition: width 0.6s var(--al-ease);
}

.al-ai-hbar-value[b-w3xslwx9dl] {
    font-size: 0.72rem;
    font-weight: 700;
    color: var(--al-primary);
    text-align: right;
}

/* Oszlopméretek 5-ös lépcsőben — inline stílus helyett */
.al-ai-vbar-fill.al-bar-h5[b-w3xslwx9dl] { height: 5%; }
.al-ai-hbar-fill.al-bar-h5[b-w3xslwx9dl] { width: 5%; }
.al-ai-vbar-fill.al-bar-h10[b-w3xslwx9dl] { height: 10%; }
.al-ai-hbar-fill.al-bar-h10[b-w3xslwx9dl] { width: 10%; }
.al-ai-vbar-fill.al-bar-h15[b-w3xslwx9dl] { height: 15%; }
.al-ai-hbar-fill.al-bar-h15[b-w3xslwx9dl] { width: 15%; }
.al-ai-vbar-fill.al-bar-h20[b-w3xslwx9dl] { height: 20%; }
.al-ai-hbar-fill.al-bar-h20[b-w3xslwx9dl] { width: 20%; }
.al-ai-vbar-fill.al-bar-h25[b-w3xslwx9dl] { height: 25%; }
.al-ai-hbar-fill.al-bar-h25[b-w3xslwx9dl] { width: 25%; }
.al-ai-vbar-fill.al-bar-h30[b-w3xslwx9dl] { height: 30%; }
.al-ai-hbar-fill.al-bar-h30[b-w3xslwx9dl] { width: 30%; }
.al-ai-vbar-fill.al-bar-h35[b-w3xslwx9dl] { height: 35%; }
.al-ai-hbar-fill.al-bar-h35[b-w3xslwx9dl] { width: 35%; }
.al-ai-vbar-fill.al-bar-h40[b-w3xslwx9dl] { height: 40%; }
.al-ai-hbar-fill.al-bar-h40[b-w3xslwx9dl] { width: 40%; }
.al-ai-vbar-fill.al-bar-h45[b-w3xslwx9dl] { height: 45%; }
.al-ai-hbar-fill.al-bar-h45[b-w3xslwx9dl] { width: 45%; }
.al-ai-vbar-fill.al-bar-h50[b-w3xslwx9dl] { height: 50%; }
.al-ai-hbar-fill.al-bar-h50[b-w3xslwx9dl] { width: 50%; }
.al-ai-vbar-fill.al-bar-h55[b-w3xslwx9dl] { height: 55%; }
.al-ai-hbar-fill.al-bar-h55[b-w3xslwx9dl] { width: 55%; }
.al-ai-vbar-fill.al-bar-h60[b-w3xslwx9dl] { height: 60%; }
.al-ai-hbar-fill.al-bar-h60[b-w3xslwx9dl] { width: 60%; }
.al-ai-vbar-fill.al-bar-h65[b-w3xslwx9dl] { height: 65%; }
.al-ai-hbar-fill.al-bar-h65[b-w3xslwx9dl] { width: 65%; }
.al-ai-vbar-fill.al-bar-h70[b-w3xslwx9dl] { height: 70%; }
.al-ai-hbar-fill.al-bar-h70[b-w3xslwx9dl] { width: 70%; }
.al-ai-vbar-fill.al-bar-h75[b-w3xslwx9dl] { height: 75%; }
.al-ai-hbar-fill.al-bar-h75[b-w3xslwx9dl] { width: 75%; }
.al-ai-vbar-fill.al-bar-h80[b-w3xslwx9dl] { height: 80%; }
.al-ai-hbar-fill.al-bar-h80[b-w3xslwx9dl] { width: 80%; }
.al-ai-vbar-fill.al-bar-h85[b-w3xslwx9dl] { height: 85%; }
.al-ai-hbar-fill.al-bar-h85[b-w3xslwx9dl] { width: 85%; }
.al-ai-vbar-fill.al-bar-h90[b-w3xslwx9dl] { height: 90%; }
.al-ai-hbar-fill.al-bar-h90[b-w3xslwx9dl] { width: 90%; }
.al-ai-vbar-fill.al-bar-h95[b-w3xslwx9dl] { height: 95%; }
.al-ai-hbar-fill.al-bar-h95[b-w3xslwx9dl] { width: 95%; }
.al-ai-vbar-fill.al-bar-h100[b-w3xslwx9dl] { height: 100%; }
.al-ai-hbar-fill.al-bar-h100[b-w3xslwx9dl] { width: 100%; }

.al-ai-chart-actions[b-w3xslwx9dl] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.al-ai-action[b-w3xslwx9dl] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 10px;
    border-radius: 8px;
    border: 1px solid var(--al-border);
    background: var(--al-bg);
    color: var(--al-primary);
    font-size: 0.74rem;
    font-weight: 600;
}

.al-ai-action-primary[b-w3xslwx9dl] {
    border-color: var(--al-emerald);
    background: var(--al-emerald);
    color: #ffffff;
    box-shadow: 0 4px 10px rgba(5, 150, 105, 0.25);
}

.al-ai-demo-foot[b-w3xslwx9dl] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 20px;
    border-top: 1px solid var(--al-secondary);
    background: var(--al-card);
}

.al-ai-dots[b-w3xslwx9dl] {
    display: flex;
    gap: 6px;
}

.al-ai-dot[b-w3xslwx9dl] {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: var(--al-secondary);
    transition: all 0.3s var(--al-ease);
}

.al-ai-dot.al-active[b-w3xslwx9dl] {
    width: 22px;
    background: var(--al-accent);
}

.al-ai-demo-note[b-w3xslwx9dl] {
    font-size: 0.72rem;
    color: var(--al-muted-2);
}

.al-ai-points[b-w3xslwx9dl] {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.al-ai-point[b-w3xslwx9dl] {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.al-ai-point .al-sol-icon[b-w3xslwx9dl] {
    flex: 0 0 auto;
    margin-bottom: 0;
}

.al-ai-point h3[b-w3xslwx9dl] {
    margin: 2px 0 6px;
    font-size: 1.12rem;
    font-weight: 700;
    color: var(--al-text);
}

.al-ai-point p[b-w3xslwx9dl] {
    margin: 0;
    color: var(--al-muted);
    line-height: 1.6;
    font-size: 0.95rem;
}

.al-ai-examples[b-w3xslwx9dl] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    padding-top: 4px;
}

.al-ai-examples-label[b-w3xslwx9dl] {
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--al-muted);
    margin-right: 2px;
}

.al-ai-cta[b-w3xslwx9dl] {
    align-self: flex-start;
    margin-top: 4px;
}

/* ============================================================
   FUNKCIÓK — négy csoport
   ============================================================ */

.al-feature-groups[b-w3xslwx9dl] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    position: relative;
}

.al-feature-group[b-w3xslwx9dl] {
    background: var(--al-card);
    border: 1px solid var(--al-border);
    border-radius: var(--al-radius-lg);
    padding: 26px 28px;
    box-shadow: 0 10px 30px rgba(15, 37, 64, 0.05);
    transition: border-color 0.25s var(--al-ease), transform 0.25s var(--al-ease);
}

.al-feature-group:hover[b-w3xslwx9dl] {
    border-color: var(--al-primary-line);
    transform: translateY(-3px);
}

.al-feature-group-head[b-w3xslwx9dl] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
}

.al-feature-group-head .al-sol-icon[b-w3xslwx9dl] {
    margin-bottom: 0;
}

.al-feature-group-head h3[b-w3xslwx9dl] {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--al-text);
}

.al-feature-list[b-w3xslwx9dl] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.al-feature-item[b-w3xslwx9dl] {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

.al-feature-icon[b-w3xslwx9dl] {
    flex: 0 0 auto;
    width: 30px;
    height: 30px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--al-primary-soft);
    color: var(--al-primary);
    font-size: 1rem;
}

.al-feature-title[b-w3xslwx9dl] {
    font-weight: 700;
    font-size: 0.95rem;
    color: var(--al-text);
}

.al-feature-desc[b-w3xslwx9dl] {
    margin-top: 2px;
    font-size: 0.87rem;
    line-height: 1.5;
    color: var(--al-muted);
}

@media (max-width: 1024px) {
    .al-ai-grid[b-w3xslwx9dl] {
        grid-template-columns: minmax(0, 1fr);
        gap: 36px;
    }
}

@media (max-width: 768px) {
    .al-feature-groups[b-w3xslwx9dl] {
        grid-template-columns: minmax(0, 1fr);
    }

    .al-feature-group[b-w3xslwx9dl] {
        padding: 22px 20px;
    }

    .al-ai-demo-body[b-w3xslwx9dl] {
        min-height: 0;
        padding: 16px;
    }

    .al-ai-bubble[b-w3xslwx9dl],
    .al-ai-bubble-bot[b-w3xslwx9dl] {
        max-width: 100%;
        width: 100%;
    }

    .al-ai-hbar-row[b-w3xslwx9dl] {
        grid-template-columns: 90px minmax(0, 1fr) 36px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .al-ai-bubble[b-w3xslwx9dl],
    .al-ai-vbar-fill[b-w3xslwx9dl],
    .al-ai-hbar-fill[b-w3xslwx9dl] {
        animation: none;
        transition: none;
    }
}

/* ============================================================
   ÁRAZÁS — a kártyák száma a csomag-konfigurációtól függ
   ============================================================ */

.al-pricing-grid.al-pricing-cols-1[b-w3xslwx9dl] { grid-template-columns: minmax(0, 420px); justify-content: center; }
.al-pricing-grid.al-pricing-cols-2[b-w3xslwx9dl] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.al-pricing-grid.al-pricing-cols-3[b-w3xslwx9dl] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.al-pricing-grid.al-pricing-cols-4[b-w3xslwx9dl] { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }

.al-pricing-cols-4 .al-price-card[b-w3xslwx9dl] {
    padding-left: 22px;
    padding-right: 22px;
}

.al-pricing-fallback[b-w3xslwx9dl] {
    max-width: 560px;
    margin: 0 auto 24px;
    padding: 16px 20px;
    border: 1px solid var(--al-border);
    border-radius: var(--al-radius);
    background: var(--al-card);
    text-align: center;
    color: var(--al-muted);
}

.al-pricing-fallback a[b-w3xslwx9dl] {
    color: var(--al-primary);
    font-weight: 700;
}

@media (max-width: 1280px) {
    .al-pricing-grid.al-pricing-cols-4[b-w3xslwx9dl] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 1024px) {
    .al-pricing-grid.al-pricing-cols-2[b-w3xslwx9dl],
    .al-pricing-grid.al-pricing-cols-3[b-w3xslwx9dl],
    .al-pricing-grid.al-pricing-cols-4[b-w3xslwx9dl] { grid-template-columns: minmax(0, 1fr); max-width: 480px; margin: 0 auto; }
}

/* Gombként megjelenő hivatkozások (funkciókhoz görgetés, e-mailes kapcsolat) */
.al-hero-features-link[b-w3xslwx9dl],
.al-cta-contact[b-w3xslwx9dl] {
    text-decoration: none;
}

.al-hero-features-link:hover[b-w3xslwx9dl],
.al-cta-contact:hover[b-w3xslwx9dl] {
    text-decoration: none;
}

/* ============================================================
   13 HETES CASH-FLOW szekció
   A pontok bal oldalt, jobb oldalt a képernyő felépítését mutató illusztráció
   (kitalált számokkal). Három vonal: optimista zöld, normál navy, stressz piros.
   ============================================================ */
.al-forecast-section[b-w3xslwx9dl] {
    background: linear-gradient(180deg, var(--al-bg-2) 0%, var(--al-bg) 100%);
}

.al-forecast-grid[b-w3xslwx9dl] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: start;
}

.al-forecast-list[b-w3xslwx9dl] {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.al-forecast-point[b-w3xslwx9dl] {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

    .al-forecast-point h3[b-w3xslwx9dl] {
        margin: 0 0 4px;
        font-size: 1.05rem;
        font-weight: 700;
        color: var(--al-text);
    }

    .al-forecast-point p[b-w3xslwx9dl] {
        margin: 0;
        color: var(--al-muted);
        line-height: 1.55;
        font-size: 0.95rem;
    }

.al-forecast-icon[b-w3xslwx9dl] {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--al-primary-soft);
    color: var(--al-primary);
}

    .al-forecast-icon i[b-w3xslwx9dl] {
        font-size: 1.3rem;
    }

.al-forecast-mock[b-w3xslwx9dl] {
    background: var(--al-card);
    border: 1px solid var(--al-border);
    border-radius: var(--al-radius-lg);
    padding: 22px;
    box-shadow: 0 24px 48px -24px rgba(15, 37, 64, 0.25);
}

.al-forecast-mock-head[b-w3xslwx9dl] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    font-weight: 700;
    color: var(--al-text);
    margin-bottom: 12px;
}

.al-forecast-legend[b-w3xslwx9dl] {
    display: flex;
    gap: 12px;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--al-muted);
}

.al-lg[b-w3xslwx9dl]::before {
    content: "";
    display: inline-block;
    width: 14px;
    height: 3px;
    border-radius: 2px;
    margin-right: 5px;
    vertical-align: middle;
}

.al-lg-opt[b-w3xslwx9dl]::before { background: var(--al-emerald); }
.al-lg-norm[b-w3xslwx9dl]::before { background: var(--al-primary); }
.al-lg-stress[b-w3xslwx9dl]::before { background: var(--al-danger); }

.al-forecast-chart[b-w3xslwx9dl] {
    width: 100%;
    height: 170px;
    display: block;
    margin-bottom: 14px;
}

    .al-forecast-chart polyline[b-w3xslwx9dl] {
        fill: none;
        stroke-width: 3;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

.al-fc-opt[b-w3xslwx9dl] { stroke: var(--al-emerald); }
.al-fc-norm[b-w3xslwx9dl] { stroke: var(--al-primary); stroke-width: 4 !important; }
.al-fc-stress[b-w3xslwx9dl] { stroke: var(--al-danger); }

.al-fc-min[b-w3xslwx9dl] {
    stroke: #94a3b8;
    stroke-width: 1.5;
    stroke-dasharray: 6 5;
}

.al-fc-min-label[b-w3xslwx9dl] {
    font-size: 10px;
    fill: #94a3b8;
}

.al-fc-dot[b-w3xslwx9dl] {
    fill: var(--al-danger);
    stroke: #fff;
    stroke-width: 2;
}

.al-forecast-actions[b-w3xslwx9dl] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.al-fa[b-w3xslwx9dl] {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 10px 12px;
    border-radius: var(--al-radius-sm);
    font-size: 0.85rem;
    line-height: 1.4;
}

    .al-fa i[b-w3xslwx9dl] {
        font-size: 1.15rem;
        margin-top: 1px;
    }

    .al-fa strong[b-w3xslwx9dl] {
        display: block;
        color: var(--al-text);
    }

    .al-fa span[b-w3xslwx9dl] {
        color: var(--al-muted);
    }

.al-fa-warn[b-w3xslwx9dl] { background: var(--al-amber-soft); }
.al-fa-warn i[b-w3xslwx9dl] { color: var(--al-orange); }
.al-fa-info[b-w3xslwx9dl] { background: var(--al-blue-soft); }
.al-fa-info i[b-w3xslwx9dl] { color: var(--al-blue); }
.al-fa-ok[b-w3xslwx9dl] { background: var(--al-accent-soft); }
.al-fa-ok i[b-w3xslwx9dl] { color: var(--al-emerald); }

.al-forecast-note[b-w3xslwx9dl] {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: center;
    max-width: 760px;
    margin: 40px auto 0;
    text-align: center;
    color: var(--al-muted);
    font-size: 0.95rem;
}

    .al-forecast-note i[b-w3xslwx9dl] {
        color: var(--al-emerald);
        font-size: 1.3rem;
    }

@media (max-width: 900px) {
    .al-forecast-grid[b-w3xslwx9dl] {
        grid-template-columns: 1fr;
    }
}

/* ============================================================
   PRÓBAIDŐ A HERO GOMBJAI ALATT
   ============================================================ */
.al-hero-trial[b-w3xslwx9dl] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: -14px 0 28px;
    font-size: 0.92rem;
    color: var(--al-muted-2);
}

    .al-hero-trial i[b-w3xslwx9dl] {
        color: var(--al-accent);
    }

/* ============================================================
   REFERENCIA-SÁV: valódi ügyfél neve a hero alatt
   ============================================================ */
.al-proof-band[b-w3xslwx9dl] {
    padding: 22px 0;
    background: var(--al-bg-2);
    border-top: 1px solid var(--al-border);
    border-bottom: 1px solid var(--al-border);
}

.al-proof-inner[b-w3xslwx9dl] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px 28px;
}

.al-proof-label[b-w3xslwx9dl] {
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--al-muted-2);
}

.al-proof-name[b-w3xslwx9dl] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--al-primary);
}

    .al-proof-name i[b-w3xslwx9dl] {
        font-size: 1.2rem;
        color: var(--al-accent);
    }

/* Ügyfél-vélemény a referencia-sáv alatt: szó szerinti idézet, névvel */
.al-testimonial[b-w3xslwx9dl] {
    max-width: 760px;
    margin: 18px auto 0;
    padding: 22px 28px;
    background: #ffffff;
    border: 1px solid var(--al-border);
    border-left: 4px solid var(--al-accent);
    border-radius: 12px;
    box-shadow: 0 6px 20px rgba(15, 23, 42, 0.06);
    text-align: left;
}

.al-testimonial-mark[b-w3xslwx9dl] {
    display: block;
    font-size: 1.6rem;
    color: var(--al-accent);
    margin-bottom: 6px;
}

.al-testimonial blockquote[b-w3xslwx9dl] {
    margin: 0;
    font-size: 1.05rem;
    line-height: 1.6;
    color: var(--al-text);
    font-style: italic;
}

.al-testimonial figcaption[b-w3xslwx9dl] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 10px;
    margin-top: 14px;
    font-size: 0.92rem;
    color: var(--al-muted);
}

    .al-testimonial figcaption strong[b-w3xslwx9dl] {
        color: var(--al-primary);
    }

/* ============================================================
   ÍGY NÉZ KI: valódi képernyőképek
   ============================================================ */
.al-screens[b-w3xslwx9dl] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 40px;
    max-width: 1080px;
    margin: 0 auto;
}

/* min-width: 0, különben a rácselem a (mobilon széles) képhez nőne, és a felirat kicsúszna */
.al-screen[b-w3xslwx9dl] {
    margin: 0;
    min-width: 0;
}

.al-screen-frame[b-w3xslwx9dl] {
    background: var(--al-card);
    border: 1px solid var(--al-border);
    border-radius: var(--al-radius-lg);
    padding: 10px;
    box-shadow: 0 18px 40px rgba(15, 37, 64, 0.12), 0 2px 6px rgba(15, 37, 64, 0.06);
    overflow: hidden;
}

    .al-screen-frame img[b-w3xslwx9dl] {
        display: block;
        width: 100%;
        height: auto;
        border-radius: 10px;
    }

/* Csak telefonon látszik: jelzi, hogy a kép oldalra húzható */
.al-screen-swipe[b-w3xslwx9dl] {
    display: none;
}

/* Cégelemzés: szöveg balra, a valódi widget képe jobbra */
.al-analysis[b-w3xslwx9dl] {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    gap: 48px;
    align-items: center;
    margin-top: 72px;
}

.al-analysis-text h3[b-w3xslwx9dl] {
    margin: 0 0 14px;
    font-size: 1.6rem;
    font-weight: 800;
    color: var(--al-text);
    line-height: 1.25;
}

.al-analysis-text > p[b-w3xslwx9dl] {
    margin: 0 0 18px;
    color: var(--al-muted);
    line-height: 1.65;
}

.al-analysis-points[b-w3xslwx9dl] {
    list-style: none;
    margin: 0 0 18px;
    padding: 0;
    display: grid;
    gap: 10px;
}

    .al-analysis-points li[b-w3xslwx9dl] {
        display: flex;
        align-items: flex-start;
        gap: 10px;
        color: var(--al-text);
        font-weight: 500;
    }

    .al-analysis-points i[b-w3xslwx9dl] {
        color: var(--al-accent);
        font-size: 1.15rem;
        margin-top: 2px;
    }

.al-analysis-screen figcaption p[b-w3xslwx9dl] {
    margin: 0;
    font-size: 0.85rem;
    color: var(--al-muted);
}

.al-screen figcaption[b-w3xslwx9dl] {
    margin-top: 16px;
    text-align: center;
}

    .al-screen figcaption h3[b-w3xslwx9dl] {
        margin: 0 0 6px;
        font-size: 1.2rem;
        font-weight: 700;
        color: var(--al-text);
    }

    .al-screen figcaption p[b-w3xslwx9dl] {
        margin: 0 auto;
        max-width: 680px;
        color: var(--al-muted);
        line-height: 1.6;
    }

/* ============================================================
   CSOMAGJELÖLÉS: mi melyik csomagban van (őszinte ígéret)
   ============================================================ */
.al-plan-note[b-w3xslwx9dl] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 14px 0 0;
    font-size: 0.88rem;
    color: var(--al-muted-2);
}

    .al-plan-note i[b-w3xslwx9dl] {
        color: var(--al-violet);
    }

.al-plan-note-left[b-w3xslwx9dl] {
    justify-content: flex-start;
    margin: 4px 0 16px;
}

.al-sol-plan[b-w3xslwx9dl] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin: -4px 0 10px;
    padding: 2px 10px;
    border-radius: 999px;
    background: rgba(124, 58, 237, 0.10);
    color: var(--al-violet);
    font-size: 0.75rem;
    font-weight: 700;
}

/* ============================================================
   LENYITHATÓ FUNKCIÓLISTA: aki többet akar tudni
   ============================================================ */
.al-feature-details[b-w3xslwx9dl] {
    max-width: 1180px;
    margin: 0 auto;
}

.al-feature-summary[b-w3xslwx9dl] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    max-width: 520px;
    margin: 0 auto;
    padding: 16px 22px;
    background: var(--al-card);
    border: 1px solid var(--al-border);
    border-radius: 999px;
    box-shadow: 0 6px 18px rgba(15, 37, 64, 0.08);
    font-weight: 700;
    color: var(--al-primary);
    cursor: pointer;
    list-style: none;
    transition: border-color 0.2s var(--al-ease), box-shadow 0.2s var(--al-ease);
}

    .al-feature-summary[b-w3xslwx9dl]::-webkit-details-marker {
        display: none;
    }

    .al-feature-summary:hover[b-w3xslwx9dl] {
        border-color: var(--al-primary-line);
        box-shadow: 0 10px 24px rgba(15, 37, 64, 0.12);
    }

    .al-feature-summary span[b-w3xslwx9dl] {
        display: inline-flex;
        align-items: center;
        gap: 8px;
    }

.al-feature-chevron[b-w3xslwx9dl] {
    transition: transform 0.2s var(--al-ease);
}

.al-feature-details[open] .al-feature-chevron[b-w3xslwx9dl] {
    transform: rotate(180deg);
}

.al-feature-details[open] .al-feature-groups[b-w3xslwx9dl] {
    margin-top: 32px;
}

@media (max-width: 768px) {
    .al-hero-trial[b-w3xslwx9dl] { margin: -6px 0 22px; font-size: 0.85rem; }
    .al-proof-name[b-w3xslwx9dl] { font-size: 1.05rem; }
    .al-analysis[b-w3xslwx9dl] { grid-template-columns: minmax(0, 1fr); gap: 24px; margin-top: 48px; }
    /* A cégelemzés képe 2x felbontású: telefonon a saját 640 px-es méretében olvasható, a kereten belül húzható */
    .al-analysis-screen .al-screen-frame img[b-w3xslwx9dl] { width: 640px; }
    .al-analysis-text h3[b-w3xslwx9dl] { font-size: 1.3rem; }
    .al-testimonial[b-w3xslwx9dl] { margin: 16px 16px 0; width: auto; padding: 18px 18px; }
    .al-testimonial blockquote[b-w3xslwx9dl] { font-size: 0.98rem; }
    .al-screens[b-w3xslwx9dl] { gap: 28px; }
    /* Telefonon a széles képernyőkép olvasható méretben, a kereten belül oldalra húzható (az oldal nem lóg ki) */
    .al-screen-frame[b-w3xslwx9dl] {
        padding: 6px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .al-screen-frame img[b-w3xslwx9dl] {
        width: 860px;
        max-width: none;
    }
    .al-screen-swipe[b-w3xslwx9dl] {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        margin-top: 8px;
        font-size: 0.8rem;
        color: var(--al-muted-2);
    }
    .al-feature-summary[b-w3xslwx9dl] { border-radius: 16px; }
}
/* /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: #5d6b7c;
    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-count-bank[b-vjmjtp3gn8] {
    background: #eff6ff;
    color: #1e40af;
}

/* ===== Szűrősor ===== */
.ih-filters[b-vjmjtp3gn8] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.75rem;
    margin-bottom: 1rem;
    padding: 0.9rem 1rem;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    box-shadow: 0 1px 3px rgba(15, 42, 68, 0.06);
}

.ih-filter-item[b-vjmjtp3gn8] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 160px;
}

.ih-filter-item label[b-vjmjtp3gn8] {
    color: #475569;
    font-size: 0.78rem;
    font-weight: 600;
}

.ih-filter-input[b-vjmjtp3gn8] {
    padding: 0.45rem 0.6rem;
    border: 1.5px solid #e2e8f0;
    border-radius: 8px;
    background: #ffffff;
    color: #0f2a44;
    font-size: 0.88rem;
}

.ih-filter-input:focus[b-vjmjtp3gn8] {
    outline: none;
    border-color: #1e3a8a;
    box-shadow: 0 0 0 3px rgba(30, 58, 138, 0.12);
}

.ih-filter-clear-btn[b-vjmjtp3gn8] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.5rem 0.9rem;
    background: #f8fafc;
    color: #475569;
    border: 1.5px solid #e2e8f0;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.ih-filter-clear-btn:hover[b-vjmjtp3gn8] {
    background: #eef2f7;
    border-color: #cbd5e1;
}

/* ===== Kijelölés + tömeges műveletek ===== */
.ih-bulkbar[b-vjmjtp3gn8] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.9rem;
    margin-bottom: 0.9rem;
    padding: 0.7rem 1rem;
    background: #0f2a44;
    border-radius: 10px;
    color: #ffffff;
    box-shadow: 0 2px 8px rgba(15, 42, 68, 0.18);
}

.ih-bulk-selectall[b-vjmjtp3gn8] {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.88rem;
    font-weight: 600;
    cursor: pointer;
}

.ih-bulk-count[b-vjmjtp3gn8] {
    color: #cbd5e1;
    font-size: 0.82rem;
}

.ih-bulk-actions[b-vjmjtp3gn8] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-left: auto;
}

.ih-bulk-btn[b-vjmjtp3gn8] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.45rem 0.9rem;
    border-radius: 8px;
    border: 1.5px solid transparent;
    font-size: 0.83rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.ih-bulk-btn:disabled[b-vjmjtp3gn8] {
    opacity: 0.45;
    cursor: not-allowed;
}

.ih-bulk-btn-revert[b-vjmjtp3gn8] {
    background: #ffffff;
    color: #b91c1c;
    border-color: #fecaca;
}

.ih-bulk-btn-revert:hover:not(:disabled)[b-vjmjtp3gn8] {
    background: #fef2f2;
    border-color: #f87171;
}

.ih-bulk-btn-delete[b-vjmjtp3gn8] {
    background: transparent;
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.35);
}

.ih-bulk-btn-delete:hover:not(:disabled)[b-vjmjtp3gn8] {
    background: rgba(255, 255, 255, 0.12);
    border-color: #ffffff;
}

.ih-card-select[b-vjmjtp3gn8] {
    display: flex;
    align-items: flex-start;
    padding-top: 0.15rem;
    margin-right: 0.6rem;
}

.ih-card-selected[b-vjmjtp3gn8] {
    border-color: #1e3a8a;
    box-shadow: 0 0 0 2px rgba(30, 58, 138, 0.15);
}

.ih-delete-btn[b-vjmjtp3gn8] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin-left: 0.5rem;
    padding: 0.5rem 0.9rem;
    background: #ffffff;
    color: #475569;
    border: 1.5px solid #e2e8f0;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.ih-delete-btn:hover[b-vjmjtp3gn8] {
    background: #f8fafc;
    border-color: #cbd5e1;
    box-shadow: 0 2px 8px rgba(15, 42, 68, 0.12);
}

.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/InboundInvoices/InboundInvoicesComponent.razor.rz.scp.css */
.ii-page[b-t5618t8jck] {
    padding: 1.5rem;
    max-width: 1100px;
    margin: 0 auto;
}

.ii-loading[b-t5618t8jck] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 2rem;
    color: #64748b;
}

.ii-header[b-t5618t8jck] {
    margin-bottom: 1.25rem;
}

.ii-title[b-t5618t8jck] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: #0f2747;
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0 0 0.35rem 0;
}

.ii-subtitle[b-t5618t8jck] {
    color: #5d6b7c;
    font-size: 0.9rem;
    margin: 0;
    max-width: 760px;
}

.ii-notice[b-t5618t8jck] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.85rem 1rem;
    border-radius: 8px;
    font-size: 0.9rem;
}

.ii-notice-warn[b-t5618t8jck] {
    background: #fef3c7;
    color: #92400e;
    border: 1px solid #fcd34d;
}

/* ===== Feldolgozási sor állapot-sáv =====
   A review lista csak a jóváhagyásra várókat mutatja; ez a sáv teszi láthatóvá a még
   feldolgozatlan és a hibára futott csatolmányokat, a kézi indítás gombbal együtt. */
.ii-queue[b-t5618t8jck] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    background: #f8fafc;
    border: 1px solid #cbd5e1;
    border-left: 4px solid #0f2747;
    border-radius: 8px;
    margin-bottom: 1.25rem;
    box-shadow: 0 1px 2px rgba(15, 39, 71, 0.06);
}

.ii-queue-info[b-t5618t8jck] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
    flex: 1 1 auto;
}

.ii-queue-item[b-t5618t8jck] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.85rem;
    color: #0f2747;
}

.ii-queue-item-bad[b-t5618t8jck] {
    color: #b91c1c;
}

.ii-queue-error[b-t5618t8jck] {
    flex: 1 1 100%;
    display: flex;
    align-items: flex-start;
    gap: 0.35rem;
    font-size: 0.8rem;
    color: #92400e;
    background: #fef3c7;
    border-radius: 6px;
    padding: 0.4rem 0.6rem;
    word-break: break-word;
}

.ii-queue-btn[b-t5618t8jck] {
    flex: 0 0 auto;
}

/* ===== Megbízható szállítók chip-ek ===== */
.ii-trusted[b-t5618t8jck] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-radius: 8px;
    margin-bottom: 1.25rem;
}

.ii-trusted-label[b-t5618t8jck] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: #166534;
    font-weight: 600;
    font-size: 0.85rem;
}

.ii-chip[b-t5618t8jck] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    background: #fff;
    border: 1px solid #bbf7d0;
    color: #166534;
    border-radius: 999px;
    padding: 0.2rem 0.35rem 0.2rem 0.7rem;
    font-size: 0.82rem;
}

.ii-chip-x[b-t5618t8jck] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    color: #5d6b7c;
    cursor: pointer;
    padding: 0.1rem;
    border-radius: 50%;
}

    .ii-chip-x:hover[b-t5618t8jck] {
        color: #dc2626;
        background: #fee2e2;
    }

/* ===== Üres állapot ===== */
.ii-empty[b-t5618t8jck] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    padding: 3rem 1rem;
    color: #5d6b7c;
}

    .ii-empty i[b-t5618t8jck] {
        font-size: 2.5rem;
    }

/* ===== Review kártya ===== */
.ii-card[b-t5618t8jck] {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 1rem 1.25rem;
    margin-bottom: 1rem;
    box-shadow: 0 1px 3px rgba(15, 39, 71, 0.06);
}

.ii-card-lowconf[b-t5618t8jck] {
    border-left: 4px solid #f59e0b;
}

/* A már rögzített számla kártyája — erősebb jelzés, mint a bizonytalan felismerésé */
.ii-card-dup[b-t5618t8jck] {
    border-left: 4px solid #dc2626;
}

.ii-dup-note[b-t5618t8jck] {
    display: flex;
    align-items: flex-start;
    gap: 0.4rem;
    color: #991b1b;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 6px;
    padding: 0.45rem 0.6rem;
    font-size: 0.82rem;
    margin-bottom: 0.75rem;
    line-height: 1.35;
}

.ii-card-top[b-t5618t8jck] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}

.ii-card-file[b-t5618t8jck] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: #0f2747;
    font-weight: 600;
    min-width: 0;
}

.ii-file-name[b-t5618t8jck] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 360px;
}

.ii-badge[b-t5618t8jck] {
    font-size: 0.7rem;
    font-weight: 700;
    padding: 0.1rem 0.45rem;
    border-radius: 999px;
    text-transform: uppercase;
}

.ii-badge-ocr[b-t5618t8jck] {
    background: #e0e7ff;
    color: #3730a3;
}

.ii-badge-warn[b-t5618t8jck] {
    background: #fef3c7;
    color: #92400e;
}

/* Már rögzített (duplikátum) számla jelölése — a negatív/figyelmeztető piros a rendszer akcentusa */
.ii-badge-dup[b-t5618t8jck] {
    background: #fee2e2;
    color: #991b1b;
}

.ii-conf-note[b-t5618t8jck] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    color: #92400e;
    background: #fffbeb;
    border-radius: 6px;
    padding: 0.4rem 0.6rem;
    font-size: 0.82rem;
    margin-bottom: 0.75rem;
}

/* ===== Mezők ===== */
.ii-fields[b-t5618t8jck] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 0.85rem;
}

.ii-field[b-t5618t8jck] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    flex: 1 1 150px;
}

.ii-field-wide[b-t5618t8jck] {
    flex: 1 1 280px;
}

.ii-field-narrow[b-t5618t8jck] {
    flex: 0 1 90px;
}

.ii-label[b-t5618t8jck] {
    font-size: 0.75rem;
    color: #64748b;
    font-weight: 600;
}

.ii-input[b-t5618t8jck] {
    width: 100%;
}

/* ===== Akciók ===== */
.ii-card-actions[b-t5618t8jck] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.75rem;
    border-top: 1px solid #f1f5f9;
    padding-top: 0.85rem;
}

.ii-trust-check[b-t5618t8jck] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.85rem;
    color: #334155;
    cursor: pointer;
}

.ii-action-buttons[b-t5618t8jck] {
    display: flex;
    gap: 0.5rem;
}

.ii-btn[b-t5618t8jck] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    border: none;
    border-radius: 7px;
    padding: 0.5rem 0.9rem;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s, opacity 0.15s;
}

    .ii-btn:disabled[b-t5618t8jck] {
        opacity: 0.6;
        cursor: not-allowed;
    }

.ii-btn-ghost[b-t5618t8jck] {
    background: #f1f5f9;
    color: #0f2747;
}

    .ii-btn-ghost:hover[b-t5618t8jck] {
        background: #e2e8f0;
    }

.ii-btn-approve[b-t5618t8jck] {
    background: #15803d;
    color: #fff;
}

    .ii-btn-approve:hover:not(:disabled)[b-t5618t8jck] {
        background: #15803d;
    }

.ii-btn-reject[b-t5618t8jck] {
    background: #fff;
    color: #dc2626;
    border: 1px solid #fecaca;
}

    .ii-btn-reject:hover:not(:disabled)[b-t5618t8jck] {
        background: #fee2e2;
    }

/* Átvezetés az Import központba — ez az oldal a jóváhagyás előtti kapu,
   az elkönyvelt tételek ott élnek. */
.ii-center-link[b-t5618t8jck] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin-top: 0.5rem;
    color: #1e3a8a;
    font-size: 0.85rem;
    font-weight: 600;
    text-decoration: none;
}

.ii-center-link:hover[b-t5618t8jck] {
    text-decoration: underline;
}

/* ==================== Bizonylat feltöltése (beküldő panel) ==================== */

.ii-upload[b-t5618t8jck] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    background: #fff;
    border: 1px dashed #94a3b8;
    border-radius: 10px;
    padding: 1rem 1.25rem;
    margin-bottom: 1rem;
    box-shadow: 0 1px 3px rgba(15, 39, 71, 0.06);
}

.ii-upload-text[b-t5618t8jck] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    color: #0f2747;
}

    .ii-upload-text i[b-t5618t8jck] {
        font-size: 1.6rem;
        color: #1e3a8a;
    }

    .ii-upload-text b[b-t5618t8jck] {
        display: block;
        font-size: 0.95rem;
    }

.ii-upload-hint[b-t5618t8jck] {
    display: block;
    color: #64748b;
    font-size: 0.82rem;
    margin-top: 0.15rem;
}

/* A rejtett fájlválasztót a gomb-kinézetű label takarja — így a feltöltés
   ugyanolyan gomb, mint a többi művelet. */
.ii-upload-btn[b-t5618t8jck] {
    position: relative;
    overflow: hidden;
}

.ii-btn-busy[b-t5618t8jck] {
    opacity: 0.7;
    cursor: progress;
}

/* Az InputFile gyerekkomponens, a scoped CSS csak ::deep-pel éri el (enélkül a natív fájlválasztó
   „Fájlok kiválasztása / Nincs fájl kiválasztva” szövege látszott a gombon). */
.ii-upload-btn[b-t5618t8jck]  .ii-file-input {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
    font-size: 0;
}

/* ==================== Csoportos művelet sáv ==================== */

.ii-bulkbar[b-t5618t8jck] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    background: #0f2747;
    border-radius: 10px;
    padding: 0.65rem 1.1rem;
    margin-bottom: 1rem;
    box-shadow: 0 2px 6px rgba(15, 39, 71, 0.18);
}

.ii-bulk-check[b-t5618t8jck] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: #fff;
    font-size: 0.86rem;
    font-weight: 600;
    cursor: pointer;
}

    .ii-bulk-check input[b-t5618t8jck] {
        width: 16px;
        height: 16px;
        cursor: pointer;
    }

.ii-bulk-actions[b-t5618t8jck] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.ii-select-check[b-t5618t8jck] {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
}

    .ii-select-check input[b-t5618t8jck] {
        width: 16px;
        height: 16px;
        cursor: pointer;
    }

.ii-card-selected[b-t5618t8jck] {
    border-color: #1e3a8a;
    box-shadow: 0 0 0 2px rgba(30, 58, 138, 0.15), 0 1px 3px rgba(15, 39, 71, 0.06);
}

/* ==================== Forrás / kapu jelölések ==================== */

.ii-badge-src[b-t5618t8jck] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    background: #f1f5f9;
    color: #334155;
    text-transform: none;
    font-weight: 600;
}

/* Kötelezően jóváhagyandó tétel (a beküldőnek nincs jóváhagyói joga) */
.ii-badge-gate[b-t5618t8jck] {
    background: #1e3a8a;
    color: #fff;
}

.ii-resub-note[b-t5618t8jck] {
    display: flex;
    align-items: flex-start;
    gap: 0.4rem;
    color: #1e3a8a;
    background: #eef2ff;
    border: 1px solid #c7d2fe;
    border-radius: 6px;
    padding: 0.45rem 0.6rem;
    font-size: 0.82rem;
    margin-bottom: 0.75rem;
    line-height: 1.35;
}

/* ==================== Beküldéseim tábla ==================== */

.ii-own[b-t5618t8jck] {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 1rem 1.25rem;
    margin-top: 1.25rem;
    box-shadow: 0 1px 3px rgba(15, 39, 71, 0.06);
}

.ii-own-title[b-t5618t8jck] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 1rem;
    color: #0f2747;
    margin: 0 0 0.75rem 0;
}

.ii-own-table[b-t5618t8jck] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.85rem;
}

    .ii-own-table th[b-t5618t8jck] {
        text-align: left;
        color: #64748b;
        font-weight: 600;
        font-size: 0.78rem;
        text-transform: uppercase;
        border-bottom: 1px solid #e2e8f0;
        padding: 0.4rem 0.5rem;
    }

    .ii-own-table td[b-t5618t8jck] {
        border-bottom: 1px solid #f1f5f9;
        padding: 0.55rem 0.5rem;
        color: #0f2747;
        vertical-align: top;
    }

.ii-own-file[b-t5618t8jck] {
    max-width: 220px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 600;
}

.ii-own-amount[b-t5618t8jck] {
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.ii-own-actions[b-t5618t8jck] {
    display: flex;
    gap: 0.4rem;
    justify-content: flex-end;
}

.ii-own-reason[b-t5618t8jck] {
    display: flex;
    align-items: flex-start;
    gap: 0.3rem;
    margin-top: 0.35rem;
    color: #991b1b;
    font-size: 0.78rem;
    line-height: 1.35;
}

.ii-own-changed[b-t5618t8jck] {
    display: flex;
    align-items: flex-start;
    gap: 0.3rem;
    margin-top: 0.35rem;
    color: #92400e;
    font-size: 0.78rem;
    line-height: 1.35;
}

.ii-status[b-t5618t8jck] {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 700;
    padding: 0.12rem 0.5rem;
    border-radius: 999px;
    white-space: nowrap;
}

.ii-st-pending[b-t5618t8jck] {
    background: #f1f5f9;
    color: #475569;
}

.ii-st-review[b-t5618t8jck] {
    background: #dbeafe;
    color: #1e3a8a;
}

.ii-st-done[b-t5618t8jck] {
    background: #dcfce7;
    color: #166534;
}

.ii-st-rejected[b-t5618t8jck] {
    background: #fee2e2;
    color: #991b1b;
}

.ii-st-failed[b-t5618t8jck] {
    background: #fef3c7;
    color: #92400e;
}

/* ==================== Elutasítás indoklása (modal) ==================== */

.ii-modal-backdrop[b-t5618t8jck] {
    position: fixed;
    inset: 0;
    background: rgba(15, 39, 71, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1200;
}

.ii-modal[b-t5618t8jck] {
    background: #fff;
    border-radius: 12px;
    padding: 1.25rem 1.5rem;
    width: min(520px, calc(100vw - 2rem));
    box-shadow: 0 12px 32px rgba(15, 39, 71, 0.28);
}

.ii-modal-title[b-t5618t8jck] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 1.05rem;
    color: #0f2747;
    margin: 0 0 0.5rem 0;
}

.ii-modal-text[b-t5618t8jck] {
    color: #475569;
    font-size: 0.85rem;
    margin: 0 0 0.75rem 0;
    line-height: 1.45;
}

.ii-modal-input[b-t5618t8jck] {
    width: 100%;
}

.ii-modal-actions[b-t5618t8jck] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-top: 1rem;
}

/* ===== Elutasított beküldés javítása =====
   Ugyanaz a mezőrács (cf-form-*), mint a többi űrlapon. A sor alá nyíló panel azért
   kiemelt hátterű, hogy látszódjon: MELYIK tételt javítod. */
.ii-own-editrow > td[b-t5618t8jck] {
    background-color: #f8fafc;
    padding: 0.75rem 0.5rem;
}

.ii-own-edit-head[b-t5618t8jck] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin-bottom: 0.6rem;
    color: #1e3a8a;
    font-size: 0.82rem;
    font-weight: 600;
}

.ii-own-edit-actions[b-t5618t8jck] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-top: 0.75rem;
}
/* /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: #15803d;
    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: #5d6b7c;
}

    .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: #5d6b7c;
    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: #15803d;
    color: #ffffff;
}

    .rec-save-btn:hover[b-4vzku3s5e8] {
        background: #166534;
    }

.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;
    }
}

/* ==================== Felismert ismétlődések — sablon-javaslat ==================== */
.rec-suggest-panel[b-4vzku3s5e8] {
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-left: 4px solid #0f2d52;
    border-radius: 10px;
    padding: 0.9rem 1.1rem;
    margin-bottom: 1.1rem;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
}

.rec-suggest-header[b-4vzku3s5e8] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.rec-suggest-title[b-4vzku3s5e8] {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: #0f2d52;
    font-weight: 600;
    font-size: 1rem;
}

    .rec-suggest-title i[b-4vzku3s5e8] {
        color: #b45309;
        font-size: 1.15rem;
    }

.rec-suggest-dismiss-all[b-4vzku3s5e8] {
    background: transparent;
    border: none;
    color: #64748b;
    cursor: pointer;
    padding: 0.2rem;
    border-radius: 4px;
}

    .rec-suggest-dismiss-all:hover[b-4vzku3s5e8] {
        background: #f1f5f9;
        color: #0f2d52;
    }

.rec-suggest-lead[b-4vzku3s5e8] {
    margin: 0.35rem 0 0.75rem 0;
    color: #475569;
    font-size: 0.87rem;
}

.rec-suggest-list[b-4vzku3s5e8] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.rec-suggest-item[b-4vzku3s5e8] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 0.55rem 0.75rem;
}

.rec-suggest-info[b-4vzku3s5e8] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

    .rec-suggest-info strong[b-4vzku3s5e8] {
        color: #0f2d52;
        font-size: 0.92rem;
    }

.rec-suggest-meta[b-4vzku3s5e8] {
    color: #64748b;
    font-size: 0.8rem;
}

.rec-suggest-actions[b-4vzku3s5e8] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-shrink: 0;
}

.rec-suggest-accept[b-4vzku3s5e8] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    background: #0f2d52;
    border: 1px solid #0f2d52;
    color: #ffffff;
    border-radius: 6px;
    padding: 0.35rem 0.7rem;
    font-size: 0.84rem;
    cursor: pointer;
    transition: all 0.15s ease;
}

    .rec-suggest-accept:hover[b-4vzku3s5e8] {
        background: #1a3a5c;
    }

.rec-suggest-skip[b-4vzku3s5e8] {
    background: #ffffff;
    border: 1px solid #cbd5e1;
    color: #475569;
    border-radius: 6px;
    padding: 0.35rem 0.7rem;
    font-size: 0.84rem;
    cursor: pointer;
}

    .rec-suggest-skip:hover[b-4vzku3s5e8] {
        background: #f1f5f9;
    }

/* Javaslat-sor mobilon: a partner adatai teljes szélességben, a gombok alatta (különben a név egy keskeny
   oszlopba szorult a gombok mellett) */
@media (max-width: 600px) {
    .rec-suggest-item[b-4vzku3s5e8] {
        flex-wrap: wrap;
    }

    .rec-suggest-info[b-4vzku3s5e8] {
        flex: 1 1 100%;
    }
}
/* /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;
}

/* ===== Fizetési állapot kártyák (befolyt / kintlévőség / lejárt) =====
   Ugyanaz a kártya-forma, mint az összegeknél — csak bal oldali színsávval és egy
   kiegészítő sorral, hogy a pénz útja (számlázva → befolyt → kint → lejárt) egyetlen
   sorban végigolvasható legyen, külön diagram nélkül. */
.inc-summary-label i[b-w5crcox7we] {
    font-size: 0.9rem;
    margin-right: 0.15rem;
}

.inc-summary-sub[b-w5crcox7we] {
    font-size: 0.75rem;
    font-weight: 600;
    color: #64748b;
    white-space: nowrap;
}

.inc-summary-sub-extra[b-w5crcox7we] {
    color: #475569;
}

/* Behajtási arány mérőcsík — nem diagram, csak a kártya belső kiegészítője */
.inc-summary-meter[b-w5crcox7we] {
    height: 6px;
    border-radius: 999px;
    background: #e2e8f0;
    overflow: hidden;
    margin-top: 0.15rem;
}

.inc-summary-meter-fill[b-w5crcox7we] {
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, #16a34a, #22c55e);
    transition: width 0.3s ease;
}

.inc-summary-paid[b-w5crcox7we] {
    border-left: 4px solid #16a34a;
}

    .inc-summary-paid .inc-summary-value[b-w5crcox7we] {
        color: #15803d;
    }

    .inc-summary-paid .inc-summary-label i[b-w5crcox7we] {
        color: #16a34a;
    }

.inc-summary-open[b-w5crcox7we] {
    border-left: 4px solid #d97706;
}

    .inc-summary-open .inc-summary-value[b-w5crcox7we] {
        color: #b45309;
    }

    .inc-summary-open .inc-summary-label i[b-w5crcox7we] {
        color: #d97706;
    }

.inc-summary-overdue[b-w5crcox7we] {
    border-left: 4px solid #cbd5e1;
    min-width: 230px;
    max-width: 340px;
}

    .inc-summary-overdue .inc-summary-label i[b-w5crcox7we] {
        color: #94a3b8;
    }

    /* Itt a kiegészítő sor hosszabb (darabszám + arány + legrégebbi tétel), ezért törhet */
    .inc-summary-overdue .inc-summary-sub[b-w5crcox7we] {
        white-space: normal;
        line-height: 1.35;
    }

/* Csak akkor kap piros hangsúlyt, ha tényleg van lejárt tartozás — különben zaj lenne */
.inc-summary-overdue-active[b-w5crcox7we] {
    border-left-color: #dc2626;
    background: #fffbfb;
    box-shadow: 0 1px 6px rgba(220, 38, 38, 0.12);
}

    .inc-summary-overdue-active .inc-summary-value[b-w5crcox7we] {
        color: #b91c1c;
    }

    .inc-summary-overdue-active .inc-summary-label i[b-w5crcox7we] {
        color: #dc2626;
    }

.inc-summary-untracked[b-w5crcox7we] {
    border-left: 4px solid #94a3b8;
}

    .inc-summary-untracked .inc-summary-value[b-w5crcox7we] {
        color: #475569;
    }

    .inc-summary-untracked .inc-summary-label i[b-w5crcox7we] {
        color: #94a3b8;
    }

/* Lejárt korosodás — minél régebbi, annál sötétebb piros */
.inc-summary-aging[b-w5crcox7we] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    margin-top: 0.15rem;
}

.inc-aging-chip[b-w5crcox7we] {
    display: inline-flex;
    align-items: center;
    padding: 0.1rem 0.4rem;
    border-radius: 4px;
    font-size: 0.7rem;
    font-weight: 700;
    white-space: nowrap;
}

.inc-aging-1[b-w5crcox7we] {
    background: #fef3c7;
    color: #92400e;
}

.inc-aging-2[b-w5crcox7we] {
    background: #fed7aa;
    color: #9a3412;
}

.inc-aging-3[b-w5crcox7we] {
    background: #fecaca;
    color: #991b1b;
}

.inc-aging-4[b-w5crcox7we] {
    background: #b91c1c;
    color: #ffffff;
}

/* ===== "Nincs fizetési adat" magyarázó sor =====
   Nem kártya és nem figyelmeztetés — csak egy halk sor, ami megmondja, miért hiányzik a
   kintlévőség blokk, és egy kattintással el is indítja a megoldást. */
.inc-no-tracking-hint[b-w5crcox7we] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.55rem 0.9rem;
    background: #f8fafc;
    border: 1px dashed #cbd5e1;
    border-radius: 8px;
    color: #64748b;
    font-size: 0.8rem;
    line-height: 1.4;
}

    .inc-no-tracking-hint > i[b-w5crcox7we] {
        color: #94a3b8;
        font-size: 1rem;
        flex-shrink: 0;
    }

    .inc-no-tracking-hint > span[b-w5crcox7we] {
        flex: 1;
    }

.inc-no-tracking-btn[b-w5crcox7we] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.75rem;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    color: #1a3a5c;
    font-size: 0.78rem;
    font-weight: 600;
    font-family: inherit;
    white-space: nowrap;
    cursor: pointer;
    flex-shrink: 0;
    transition: all 0.2s ease;
}

    .inc-no-tracking-btn:hover[b-w5crcox7we] {
        background: #1a3a5c;
        border-color: #1a3a5c;
        color: #ffffff;
        box-shadow: 0 2px 6px rgba(15, 37, 64, 0.18);
    }

/* ===== 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: #5d6b7c;
    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;
}

/* ===== Lábléc: havi kintlévőség sor =====
   A "Összesen" sor alatt fut, és szintén a képernyő aljára tapad. Mivel két ragadós sor
   van, az "Összesen" sort ennek a sornak a magasságával feljebb kell tolni — a magasság
   ezért fix (--inc-open-row-h), nem tartalomfüggő. */
.inc-footer-row-open[b-w5crcox7we] {
    background: #fff7ed;
    position: sticky;
    bottom: 0;
    z-index: 3;
    box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.08);
}

.inc-footer-row-stacked[b-w5crcox7we] {
    bottom: 2.15rem;
}

.inc-footer-row-open > td[b-w5crcox7we] {
    height: 2.15rem;
    padding: 0.35rem 0.5rem;
    line-height: 1.25rem;
    font-size: 0.78rem;
}

.inc-td-footer-label-open[b-w5crcox7we] {
    padding-left: 1rem !important;
    font-weight: 700 !important;
    color: #b45309 !important;
    background: #fff7ed !important;
    white-space: nowrap;
}

    .inc-td-footer-label-open i[b-w5crcox7we] {
        margin-right: 0.3rem;
    }

.inc-td-footer-open[b-w5crcox7we] {
    color: #b45309;
    background: #fff7ed;
}

/* A hónap, ahol lejárt tétel is van — vizuálisan azonnal kiugrik */
.inc-td-footer-overdue[b-w5crcox7we] {
    color: #b91c1c !important;
    background: #fef2f2 !important;
}

.inc-td-grand-open[b-w5crcox7we] {
    color: #7c2d12 !important;
    background: #fed7aa !important;
}

/* ===== Üres állapot ===== */
.inc-empty[b-w5crcox7we] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem;
    color: #5d6b7c;
    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;
    position: sticky;
    left: 0;
    background: #ffffff;
    z-index: 1;
    min-width: 240px;
    max-width: 320px;
    vertical-align: top;
}

/* Import: partner-név szerkeszthető mező */
[b-w5crcox7we] .inc-imp-partner-input input {
    font-weight: 600;
    font-size: 0.85rem;
}

/* Import: számla-megjegyzés (valódi al-ügyfél) + "Partnernek" gomb */
.inc-imp-note[b-w5crcox7we] {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-top: 5px;
    padding: 3px 6px;
    background: #fffbeb;
    border: 1px solid #fcd34d;
    border-radius: 5px;
    font-weight: 400;
}

.inc-imp-note-text[b-w5crcox7we] {
    flex: 1;
    font-size: 0.74rem;
    color: #92400e;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.inc-imp-note-apply[b-w5crcox7we] {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 2px 7px;
    border: 1px solid #b45309;
    border-radius: 999px;
    background: #ffffff;
    color: #b45309;
    font-size: 0.72rem;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
}

.inc-imp-note-apply:hover[b-w5crcox7we] {
    background: #b45309;
    color: #ffffff;
}

.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: #15803d;
}

.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: #15803d;
    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: #166534;
    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-summary-overdue[b-w5crcox7we] {
        min-width: auto;
        max-width: none;
    }

    .inc-no-tracking-hint[b-w5crcox7we] {
        flex-direction: column;
        align-items: flex-start;
    }

    .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: #15803d;
    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: #166534;
    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: #5d6b7c;
    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: #5d6b7c;
    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;
}

/* ===== Bevétel-bizonylat (kiállított számla) csatolmány ===== */
.inc-attachment-wrap[b-w5crcox7we] {
    position: relative;
    display: inline-flex;
    gap: 0.3rem;
    align-items: center;
}

.inc-detail-attach-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;
    position: relative;
    transition: all 0.15s ease;
    margin: 0;
}

.inc-detail-attach-btn:hover[b-w5crcox7we] {
    background: #1a3a5c;
    border-color: #1a3a5c;
    color: #ffffff;
}

/* Van csatolt számla — zöld akcentus, hogy kiugorjon */
.inc-detail-attach-btn.has-file[b-w5crcox7we] {
    border-color: #16a34a;
    color: #15803d;
}

.inc-detail-attach-btn.has-file:hover[b-w5crcox7we] {
    background: #15803d;
    border-color: #16a34a;
    color: #ffffff;
}

.inc-attachment-count[b-w5crcox7we] {
    position: absolute;
    top: -6px;
    right: -6px;
    background: #15803d;
    color: #fff;
    font-size: 0.62rem;
    font-weight: 700;
    min-width: 15px;
    height: 15px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 3px;
}

.inc-attachment-menu[b-w5crcox7we] {
    position: absolute;
    top: 32px;
    right: 0;
    z-index: 20;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(15, 36, 56, 0.18);
    min-width: 240px;
    max-width: 340px;
    padding: 6px;
}

.inc-attachment-item[b-w5crcox7we] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 5px 6px;
    border-radius: 5px;
}

.inc-attachment-item:hover[b-w5crcox7we] {
    background: #f1f5f9;
}

.inc-attachment-name[b-w5crcox7we] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 0.8rem;
    color: #1e3a5f;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.inc-attachment-actions[b-w5crcox7we] {
    display: inline-flex;
    gap: 3px;
    flex-shrink: 0;
}

.inc-attachment-actions button[b-w5crcox7we] {
    background: transparent;
    border: none;
    color: #64748b;
    cursor: pointer;
    width: 24px;
    height: 24px;
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.inc-attachment-actions button:hover[b-w5crcox7we] {
    background: #e2e8f0;
    color: #0f2438;
}

.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;
    /* A süti-tájékoztató sáv z-indexe 2000, és a képernyő aljára tapad. A magas szerkesztő
       modal lábléce (Mentés / Mégse) alá csúszna, és a gombra nem lehetne rákattintani —
       ezért a felhasználó által megnyitott modal a sáv FÖLÉ kerül. */
    z-index: 2100;
    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: #15803d;
    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: #166534;
    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: #5d6b7c;
    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: #5d6b7c;
    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: #5d6b7c;
    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: #5d6b7c;
    font-weight: 600;
}

.inc-cell-target-label[b-w5crcox7we] {
    color: #5d6b7c;
    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: #15803d;
    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: #5d6b7c;
    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;
}

/* Üres állapot: magyarázat + konkrét következő lépés (nem csak "nincs adat") */
.inc-empty-hint[b-w5crcox7we] {
    max-width: 520px;
    margin: 0 auto 0.9rem auto;
    color: #5d6b7c;
    font-size: 0.88rem;
    line-height: 1.5;
}

.inc-empty-actions[b-w5crcox7we] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.6rem;
}

.inc-empty-action[b-w5crcox7we] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.55rem 1.1rem;
    border-radius: 8px;
    border: 1.5px solid #e2e8f0;
    background: #ffffff;
    color: #0f2a44;
    font-size: 0.88rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s ease;
}

.inc-empty-action:hover[b-w5crcox7we] {
    border-color: #cbd5e1;
    box-shadow: 0 2px 8px rgba(15, 42, 68, 0.12);
}

.inc-empty-action-primary[b-w5crcox7we] {
    background: #0f2a44;
    border-color: #0f2a44;
    color: #ffffff;
}

.inc-empty-action-primary:hover[b-w5crcox7we] {
    background: #1e3a8a;
    border-color: #1e3a8a;
}

/* ===== Kintlévőség-jelvény a partner során =====
   A fizetési állapot korábban csak a lenyitott tételes nézetben látszott — így végig kellett
   kattintani minden partnert ahhoz, hogy kiderüljön, hol van tartozás. */
.inc-partner-due[b-w5crcox7we] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    margin-left: 0.4rem;
    padding: 0.1rem 0.45rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    white-space: nowrap;
}

.inc-partner-due-overdue[b-w5crcox7we] {
    background: #fef2f2;
    color: #b91c1c;
}

.inc-partner-due-pending[b-w5crcox7we] {
    background: #fffbeb;
    color: #b45309;
}

/* ==================== Vegyes ÁFA-kulcs jelölés a részletező sorban ==================== */
/* Egy kimenő számlán is lehet több ÁFA-kulcs. Egyetlen átlagolt szám helyett a kulcsokat
   soroljuk fel, és a sor alatt nyitható a kulcsonkénti adóalap-bontás. */

.inc-detail-vat-mixed[b-w5crcox7we] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    background: rgba(26, 58, 92, 0.08);
    border: 1px solid rgba(26, 58, 92, 0.25);
    border-radius: 999px;
    color: #1a3a5c;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.15rem 0.55rem;
    cursor: pointer;
    font-family: inherit;
    transition: all 0.2s;
}

.inc-detail-vat-mixed:hover[b-w5crcox7we] {
    background: rgba(26, 58, 92, 0.16);
    box-shadow: 0 2px 6px rgba(15, 37, 64, 0.15);
}

.inc-detail-vat-mixed i[b-w5crcox7we] {
    font-size: 0.85rem;
}

.inc-detail-vat-row > td[b-w5crcox7we] {
    background: #f8fafc;
    padding: 0.5rem 0.75rem;
    border-bottom: 1px solid #e2e8f0;
}

/* ==================== Partnerhez rendelés (átsorolás + tanulás) ==================== */
.inc-detail-assign-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-assign-btn:hover[b-w5crcox7we] {
        background: #ecfdf5;
        border-color: #059669;
        color: #059669;
    }

.inc-assign-panel[b-w5crcox7we] {
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.35);
    width: 100%;
    max-width: 560px;
    max-height: 92vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #e2e8f0;
}

.inc-assign-info[b-w5crcox7we] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 0.6rem 0.75rem;
    color: #334155;
    font-size: 0.88rem;
    margin-bottom: 0.9rem;
}

    .inc-assign-info i[b-w5crcox7we] {
        color: #1a3a5c;
        font-size: 1.05rem;
    }

.inc-assign-options[b-w5crcox7we] {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    margin-top: 1rem;
}

.inc-assign-check[b-w5crcox7we] {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 0.65rem 0.75rem;
    cursor: pointer;
}

    .inc-assign-check span[b-w5crcox7we] {
        display: flex;
        flex-direction: column;
        gap: 0.15rem;
    }

    .inc-assign-check strong[b-w5crcox7we] {
        color: #0f2d52;
        font-size: 0.9rem;
        font-weight: 600;
    }

    .inc-assign-check small[b-w5crcox7we] {
        color: #64748b;
        font-size: 0.79rem;
        line-height: 1.35;
    }

/* Partner-szintű alapértékek előtöltése — jelzés a manuális űrlapon */
.inc-partner-defaults-hint[b-w5crcox7we] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: 0.3rem;
    color: #047857;
    font-size: 0.79rem;
}

    .inc-partner-defaults-hint i[b-w5crcox7we] {
        font-size: 0.95rem;
    }

/* ===== Csomag-korlátok: zárolt export, zárolt korábbi év, devizás upsell ===== */
.inc-export-btn.inc-export-btn-locked[b-w5crcox7we] {
    background: #fef3c7;
    border-color: #fde68a;
    color: #78350f;
}

    .inc-export-btn.inc-export-btn-locked i[b-w5crcox7we] {
        color: #b45309;
    }

.inc-year-btn.inc-year-btn-locked[b-w5crcox7we] {
    color: #b45309;
}

    .inc-year-btn.inc-year-btn-locked:hover[b-w5crcox7we] {
        background: #fef3c7;
    }

.inc-currency-upsell[b-w5crcox7we] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    margin-top: 0.35rem;
    padding: 0.2rem 0.5rem;
    background: #fef3c7;
    border: 1px solid #fde68a;
    border-radius: 6px;
    color: #78350f;
    font-size: 0.75rem;
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 1px 3px rgba(180, 83, 9, 0.12);
}

    .inc-currency-upsell:hover[b-w5crcox7we] {
        background: #fde68a;
    }

/* ==================== Fejléc-eszköztár: kiférés szűkebb képernyőn (UI-kör, 2026-10-06) ====================
   1366 px-en az eszköztár kilógott: a Nettó/Bruttó kapcsoló „Br”-re vágódott, a nézet-ikonok kívül estek, a
   gombfeliratok („Új bevétel”, „Adatok importálása”) két sorba törtek. A felirat egy sorban marad, a csoportok
   nem zsugorodnak, és ha nem férnek el, a sor tördel. */
.inc-controls[b-w5crcox7we] {
    flex-wrap: wrap;
    justify-content: flex-end;
    row-gap: 0.6rem;
    min-width: 0;
}

.inc-controls > *[b-w5crcox7we],
.inc-toggle[b-w5crcox7we],
.inc-view-toggles[b-w5crcox7we] {
    flex-shrink: 0;
}

.inc-controls button[b-w5crcox7we],
.inc-toggle-btn[b-w5crcox7we] {
    white-space: nowrap;
}

/* Kumulált kártya: az összeg és a „Ft” ne törjön ketté („0” / „Ft”) */
.inc-dash-cumulative-row[b-w5crcox7we] {
    gap: 0.75rem;
}

.inc-dash-cumulative-value[b-w5crcox7we] {
    white-space: nowrap;
}

/* ==================== Bevételi terv sáv + szerkesztő ==================== */
.inc-plan-strip[b-w5crcox7we] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin: 0 0 0.85rem 0;
    padding: 0.65rem 1rem;
    border: 1px solid #c7d2e0;
    border-left: 4px solid #1a3a5c;
    border-radius: 10px;
    background: #f5f8fc;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}

.inc-plan-strip-empty[b-w5crcox7we] {
    border-left-color: #f59e0b;
    background: #fffbeb;
    border-color: #fde68a;
}

.inc-plan-strip-icon[b-w5crcox7we] {
    color: #1a3a5c;
    font-size: 1.15rem;
}

.inc-plan-strip-text[b-w5crcox7we] {
    flex: 1 1 240px;
    font-size: 0.86rem;
    color: #1e293b;
}

.inc-plan-strip-btn[b-w5crcox7we] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.4rem 0.85rem;
    border: none;
    border-radius: 8px;
    background: #1a3a5c;
    color: #ffffff;
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.15s ease;
}

    .inc-plan-strip-btn:hover[b-w5crcox7we] {
        background: #234a73;
    }

.inc-plan-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-plan-panel[b-w5crcox7we] {
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 16px 44px rgba(15, 23, 42, 0.3);
    width: min(760px, 95vw);
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.inc-plan-header[b-w5crcox7we] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.5rem;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
}

.inc-plan-title[b-w5crcox7we] {
    margin: 0;
    font-size: 1.1rem;
    color: #1a3a5c;
    display: flex;
    align-items: center;
    gap: 0.55rem;
}

.inc-plan-close-btn[b-w5crcox7we] {
    background: transparent;
    border: none;
    color: #64748b;
    cursor: pointer;
    padding: 0.4rem;
    border-radius: 7px;
}

    .inc-plan-close-btn:hover[b-w5crcox7we] {
        background: #e2e8f0;
        color: #1a3a5c;
    }

.inc-plan-body[b-w5crcox7we] {
    padding: 1.1rem 1.5rem;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.inc-plan-hint[b-w5crcox7we] {
    margin: 0;
    font-size: 0.82rem;
    color: #475569;
}

.inc-plan-label[b-w5crcox7we] {
    font-size: 0.78rem;
    font-weight: 600;
    color: #334155;
}

.inc-plan-body[b-w5crcox7we]  .inc-plan-partners {
    width: 100%;
}

.inc-plan-fill[b-w5crcox7we] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.inc-plan-fill-row[b-w5crcox7we] {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

.inc-plan-fill-row[b-w5crcox7we]  .inc-plan-fill-input {
    width: 200px;
}

.inc-plan-fill-btn[b-w5crcox7we] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.45rem 0.85rem;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #ffffff;
    color: #1a3a5c;
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
}

    .inc-plan-fill-btn:disabled[b-w5crcox7we] {
        opacity: 0.5;
        cursor: not-allowed;
    }

.inc-plan-months[b-w5crcox7we] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.6rem 0.75rem;
    margin-top: 0.3rem;
}

.inc-plan-month[b-w5crcox7we] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
}

.inc-plan-month-label[b-w5crcox7we] {
    font-size: 0.75rem;
    font-weight: 600;
    color: #64748b;
}

.inc-plan-month[b-w5crcox7we]  .inc-plan-month-input {
    width: 100%;
}

.inc-plan-total[b-w5crcox7we] {
    margin-top: 0.3rem;
    font-size: 0.85rem;
    color: #1e293b;
    text-align: right;
}

.inc-plan-footer[b-w5crcox7we] {
    display: flex;
    justify-content: flex-end;
    gap: 0.6rem;
    padding: 0.85rem 1.5rem;
    border-top: 1px solid #e2e8f0;
    background: #f8fafc;
}

.inc-plan-cancel-btn[b-w5crcox7we] {
    padding: 0.5rem 1rem;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #ffffff;
    color: #334155;
    font-weight: 600;
    cursor: pointer;
}

.inc-plan-save-btn[b-w5crcox7we] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.5rem 1.1rem;
    border: none;
    border-radius: 8px;
    background: #16a34a;
    color: #ffffff;
    font-weight: 600;
    cursor: pointer;
}

    .inc-plan-save-btn:disabled[b-w5crcox7we] {
        opacity: 0.55;
        cursor: not-allowed;
    }

@media (max-width: 600px) {
    .inc-plan-months[b-w5crcox7we] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .inc-plan-fill-row[b-w5crcox7we] {
        flex-wrap: wrap;
    }

    .inc-plan-fill-row[b-w5crcox7we]  .inc-plan-fill-input {
        width: 100%;
    }
}

/* Rejtett fájlválasztó a tétel-csatolmány gombban (InputFile gyerek-komponens, ezért ::deep) — korábban inline display:none */
.inc-detail-table[b-w5crcox7we]  .inc-hidden-file-input {
    display: none;
}
/* /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: #5d6b7c; 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: #5d6b7c;
    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: #5d6b7c;
    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: #5d6b7c;
    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: #15803d;
    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: #15803d;
    color: #ffffff;
    border: none;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
}

.lead-import-approve-btn:hover[b-2dblurnctc] {
    background: #166534;
}

.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: #15803d;
    border: none;
}

.lead-funnel-fill.lead-status-negotiation[b-2dblurnctc] {
    background: #b45309;
    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: #5d6b7c;
    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: #5d6b7c;
    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: #5d6b7c;
    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: #5d6b7c;
    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: #5d6b7c;
    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);
    }
}

/* ===== Csomag-ajánló doboz (a csomag nem tartalmazza a leadkezelést) ===== */
.lead-upgrade-box[b-2dblurnctc] {
    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;
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.04), 0 8px 16px rgba(15, 23, 42, 0.06);
    text-align: center;
}

.lead-upgrade-box > i[b-2dblurnctc] {
    font-size: 2.5rem;
    color: #b45309;
}

.lead-upgrade-box h3[b-2dblurnctc] {
    font-size: 1.2rem;
    font-weight: 600;
    color: #78350f;
    margin: 0;
}

.lead-upgrade-box p[b-2dblurnctc] {
    color: #92400e;
    margin: 0 0 10px 0;
    max-width: 560px;
}

/* ===== Szerepkör-tiltás doboz ===== */
.lead-denied-box[b-2dblurnctc] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 48px 24px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.04);
    text-align: center;
}

.lead-denied-box i[b-2dblurnctc] {
    font-size: 2.5rem;
    color: #1a3a5c;
}

.lead-denied-box p[b-2dblurnctc] {
    color: #334155;
    margin: 0;
}
/* /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: #0e7490;
    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, #048197, #06677e) !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: #b91c1c;
    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: #047857;
        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;
        }

/* ===== 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: #5d6b7c;
    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: #5d6b7c;
    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: #15803d;
    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: #5d6b7c;
}

.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: #15803d;
    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: #5d6b7c;
}

.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;
}

/* Automatikus háttér-szinkron tájékoztató: visszafogott, zöld (pozitív) akcentussal */
.ni-auto-sync-info[b-tt2ibza1sp] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 10px;
    padding: 10px 14px;
    background: #ecfdf5;
    border: 1px solid #a7f3d0;
    border-radius: 8px;
    color: #065f46;
    font-size: 0.88rem;
}

    .ni-auto-sync-info i[b-tt2ibza1sp] {
        color: #10b981;
        font-size: 1.05rem;
    }
/* /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: #5d6b7c;
    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: #5d6b7c;
}

/* ===== 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: #5d6b7c;
    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;
}

/* ===== Alkalmazáson belüli megjelenítés blokk (belépési összefoglaló) ===== */
.np-inapp[b-zclyn5t9oa] {
    margin-bottom: 22px;
}

.np-inapp-head[b-zclyn5t9oa] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #5d6b7c;
}

.np-inapp-head i[b-zclyn5t9oa] {
    font-size: 16px;
    color: #0f2444;
}
/* /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: #5d6b7c;
    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: #5d6b7c;
    padding: 4rem 1rem;
}

.abc-empty i[b-7pvg1ktp0m] {
    font-size: 3rem;
    margin-bottom: 1rem;
    display: block;
}

/* ===== Összegző kártyák ===== */
/* Az elemzés alapjául szolgáló év */
.abc-basis[b-7pvg1ktp0m] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0 0 1rem 0;
    color: #5d6b7c;
    font-size: 0.875rem;
}

/* Kategória találat nélkül */
.abc-empty-row[b-7pvg1ktp0m] {
    text-align: center;
    padding: 1.25rem;
    color: #5d6b7c;
}

.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: #15803d; }
.abc-badge-b[b-7pvg1ktp0m] { background: #2563eb; }
.abc-badge-c[b-7pvg1ktp0m] { background: #b45309; }

/* ==================== Csomag: zárolt partner-analitika ==================== */
.abc-upgrade-box[b-7pvg1ktp0m] { 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; box-shadow: 0 2px 6px rgba(15, 23, 42, 0.04), 0 8px 16px rgba(15, 23, 42, 0.06); }
.abc-upgrade-box i[b-7pvg1ktp0m] { font-size: 2.5rem; color: #b45309; }
.abc-upgrade-box h3[b-7pvg1ktp0m] { font-size: 1.2rem; font-weight: 600; color: #78350f; margin: 0; }
.abc-upgrade-box p[b-7pvg1ktp0m] { color: #92400e; margin: 0 0 10px 0; max-width: 560px; }
.abc-upgrade-btn[b-7pvg1ktp0m] { display: flex; align-items: center; gap: 0.45rem; padding: 0.55rem 1.2rem; background: linear-gradient(135deg, #1a3a5c 0%, #0f2d52 100%); color: #fff; border: none; border-radius: 8px; font-size: 0.85rem; font-weight: 600; cursor: pointer; box-shadow: 0 2px 6px rgba(15,45,82,0.25); }
.abc-upgrade-btn:hover[b-7pvg1ktp0m] { background: linear-gradient(135deg, #0f2d52 0%, #06182d 100%); }
.abc-upgrade-box .abc-upgrade-btn i[b-7pvg1ktp0m] { font-size: 1rem; color: #fbbf24; }
/* /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: #5d6b7c;
    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: #5d6b7c;
}

.pa-empty i[b-9c6x3dsg4m] {
    font-size: 3rem;
}

/* Szűrő találat nélkül: kisebb, a lista helyén */
.pa-empty-filter[b-9c6x3dsg4m] {
    padding: 1.5rem;
}

.pa-empty-filter i[b-9c6x3dsg4m] {
    font-size: 2rem;
}

/* ===== 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: #5d6b7c;
    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: #5d6b7c;
}

.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: #5d6b7c;
    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: #b45309;
}

.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: #5d6b7c;
}

.pa-ai-empty[b-9c6x3dsg4m] {
    text-align: center;
    color: #5d6b7c;
    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: #5d6b7c;
    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: #2563eb;
    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: #5d6b7c;
    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: #5d6b7c;
    font-weight: 600;
}

.pa-clv-years[b-9c6x3dsg4m] {
    font-size: 0.7rem;
    color: #5d6b7c;
    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: #5d6b7c;
    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: #5d6b7c;
}

/* ==================== Csomag: zárolt partner-analitika / AI / régi évek ==================== */
.pa-upgrade-box[b-9c6x3dsg4m] {
    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;
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.04), 0 8px 16px rgba(15, 23, 42, 0.06);
}

.pa-upgrade-box i[b-9c6x3dsg4m] {
    font-size: 2.5rem;
    color: #b45309;
}

.pa-upgrade-box h3[b-9c6x3dsg4m] {
    font-size: 1.2rem;
    font-weight: 600;
    color: #78350f;
    margin: 0;
}

.pa-upgrade-box p[b-9c6x3dsg4m] {
    color: #92400e;
    margin: 0 0 10px 0;
    max-width: 560px;
}

.pa-upgrade-btn[b-9c6x3dsg4m] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.55rem 1.2rem;
    background: linear-gradient(135deg, #1a3a5c 0%, #0f2d52 100%);
    color: #ffffff;
    border: none;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(15, 45, 82, 0.25);
}

.pa-upgrade-btn:hover[b-9c6x3dsg4m] {
    background: linear-gradient(135deg, #0f2d52 0%, #06182d 100%);
}

.pa-upgrade-box .pa-upgrade-btn i[b-9c6x3dsg4m] {
    font-size: 1rem;
    color: #fbbf24;
}

.pa-ai-btn.pa-ai-btn-locked[b-9c6x3dsg4m] {
    opacity: 0.8;
}

.pa-ai-btn.pa-ai-btn-locked i[b-9c6x3dsg4m] {
    color: #cbd5e1;
}

.pa-year-lock-icon[b-9c6x3dsg4m] {
    font-size: 0.85rem;
    color: #b45309;
    margin-right: 0.3rem;
}

.pa-period-locked-hint[b-9c6x3dsg4m] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.3rem 0.7rem;
    background: #fef3c7;
    color: #92400e;
    border: 1px solid #fde68a;
    border-radius: 6px;
    font-size: 0.78rem;
    cursor: pointer;
}

.pa-period-locked-hint:hover[b-9c6x3dsg4m] {
    background: #fde68a;
}

/* ==================== Fülek: ügyfélelemzés / árazás ==================== */

.pa-tabs[b-9c6x3dsg4m] {
    display: flex;
    gap: 0.4rem;
    border-bottom: 2px solid #e2e8f0;
    margin-bottom: 1rem;
}

.pa-tab[b-9c6x3dsg4m] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    background: none;
    border: none;
    border-bottom: 3px solid transparent;
    margin-bottom: -2px;
    padding: 0.6rem 1.1rem;
    font-size: 0.95rem;
    font-weight: 600;
    color: #64748b;
    cursor: pointer;
    transition: all 0.15s ease;
}

.pa-tab:hover[b-9c6x3dsg4m] {
    color: #1a3a5c;
}

.pa-tab.active[b-9c6x3dsg4m] {
    color: #1a3a5c;
    border-bottom-color: #1a3a5c;
}

.pa-card-chart-label[b-9c6x3dsg4m] {
    display: block;
    font-size: 0.72rem;
    color: #64748b;
    margin-bottom: 0.15rem;
}
/* /Components/Pages/PartnerAnalytics/PartnerPricingPanel.razor.rz.scp.css */
/* ==================== Partneranalitika › Árazás fül ==================== */

.pp-panel[b-cl0f7ogtk4] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.pp-loading[b-cl0f7ogtk4] {
    display: flex;
    justify-content: center;
    padding: 3rem 0;
}

.pp-empty[b-cl0f7ogtk4] {
    background: #ffffff;
    border: 1px dashed #cbd5e1;
    border-radius: 12px;
    padding: 2.5rem 1.5rem;
    text-align: center;
    color: #64748b;
}

.pp-empty i[b-cl0f7ogtk4] {
    font-size: 2.2rem;
    color: #94a3b8;
}

.pp-empty h3[b-cl0f7ogtk4] {
    margin: 0.6rem 0 0.3rem;
    color: #1a3a5c;
    font-size: 1.1rem;
}

.pp-empty p[b-cl0f7ogtk4] {
    margin: 0 auto;
    max-width: 560px;
}

.pp-empty-filter[b-cl0f7ogtk4] {
    padding: 1.5rem;
}

/* ----- Politika-sáv ----- */

.pp-policy-bar[b-cl0f7ogtk4] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 0.7rem 1rem;
}

.pp-policy-chips[b-cl0f7ogtk4] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
}

.pp-policy-label[b-cl0f7ogtk4] {
    font-weight: 700;
    color: #1a3a5c;
    font-size: 0.88rem;
    margin-right: 0.2rem;
}

.pp-policy-chip[b-cl0f7ogtk4] {
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    padding: 0.2rem 0.65rem;
    font-size: 0.8rem;
    color: #1e293b;
}

.pp-policy-chip-off[b-cl0f7ogtk4] {
    color: #94a3b8;
    text-decoration: line-through;
}

.pp-policy-default[b-cl0f7ogtk4] {
    font-size: 0.78rem;
    color: #b45309;
    font-style: italic;
}

.pp-note[b-cl0f7ogtk4] {
    background: #fffbeb;
    border: 1px solid #fde68a;
    color: #92400e;
    border-radius: 8px;
    padding: 0.5rem 0.8rem;
    font-size: 0.85rem;
}

/* ----- Összegző kártyák ----- */

.pp-cards[b-cl0f7ogtk4] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 0.8rem;
}

.pp-card[b-cl0f7ogtk4] {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 0.9rem 1.1rem;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    text-align: left;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
    transition: all 0.18s ease;
    font: inherit;
}

button.pp-card[b-cl0f7ogtk4] {
    cursor: pointer;
}

button.pp-card:hover[b-cl0f7ogtk4] {
    border-color: #1a3a5c;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.1);
}

.pp-card-active[b-cl0f7ogtk4] {
    border-color: #1a3a5c;
    background: #f1f5f9;
    box-shadow: inset 0 0 0 1px #1a3a5c;
}

.pp-card-label[b-cl0f7ogtk4] {
    font-size: 0.8rem;
    color: #5d6b7c;
    font-weight: 600;
}

.pp-card-value[b-cl0f7ogtk4] {
    font-size: 1.5rem;
    font-weight: 700;
    color: #0f2d52;
}

.pp-card-due .pp-card-value[b-cl0f7ogtk4] {
    color: #b45309;
}

.pp-card-gain .pp-card-value[b-cl0f7ogtk4] {
    color: #15803d;
}

.pp-card-hint[b-cl0f7ogtk4] {
    font-size: 0.75rem;
    color: #94a3b8;
}

/* ----- Szűrők ----- */

.pp-filters[b-cl0f7ogtk4] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
}

.pp-search[b-cl0f7ogtk4] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    padding: 0.3rem 0.8rem;
    min-width: 240px;
}

.pp-search i[b-cl0f7ogtk4] {
    color: #64748b;
}

.pp-search-input[b-cl0f7ogtk4] {
    border: none;
    outline: none;
    font-size: 0.88rem;
    width: 100%;
    background: transparent;
}

.pp-chip[b-cl0f7ogtk4] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.38rem 0.8rem;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
    border: 1px solid #cbd5e1;
    background: #ffffff;
    color: #1e293b;
    transition: all 0.15s ease;
}

.pp-chip:hover[b-cl0f7ogtk4] {
    border-color: #1a3a5c;
}

.pp-chip.active[b-cl0f7ogtk4] {
    background: #1a3a5c;
    border-color: #1a3a5c;
    color: #ffffff;
}

.pp-chip-clear[b-cl0f7ogtk4] {
    color: #dc2626;
    border-color: #fecaca;
}

/* ----- Csoportos sáv ----- */

.pp-bulk-bar[b-cl0f7ogtk4] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    background: #0f2d52;
    color: #ffffff;
    border-radius: 10px;
    padding: 0.6rem 1rem;
    box-shadow: 0 2px 8px rgba(15, 45, 82, 0.25);
}

.pp-bulk-info[b-cl0f7ogtk4] {
    font-size: 0.88rem;
}

.pp-link[b-cl0f7ogtk4] {
    background: none;
    border: none;
    color: #bfdbfe;
    text-decoration: underline;
    cursor: pointer;
    margin-left: 0.5rem;
    font-size: 0.85rem;
}

/* ----- Gombok ----- */

.pp-btn[b-cl0f7ogtk4] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    border-radius: 8px;
    padding: 0.45rem 0.95rem;
    font-size: 0.88rem;
    font-weight: 600;
    cursor: pointer;
    border: 1px solid transparent;
    transition: all 0.15s ease;
}

.pp-btn:disabled[b-cl0f7ogtk4] {
    opacity: 0.55;
    cursor: not-allowed;
}

.pp-btn-primary[b-cl0f7ogtk4] {
    background: #15803d;
    color: #ffffff;
}

.pp-btn-primary:hover:not(:disabled)[b-cl0f7ogtk4] {
    background: #166534;
}

.pp-btn-ghost[b-cl0f7ogtk4] {
    background: #ffffff;
    border-color: #cbd5e1;
    color: #1a3a5c;
}

.pp-btn-ghost:hover[b-cl0f7ogtk4] {
    border-color: #1a3a5c;
}

/* ----- Tábla ----- */

.pp-table-wrap[b-cl0f7ogtk4] {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    overflow-x: auto;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}

.pp-table[b-cl0f7ogtk4] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.86rem;
}

.pp-table thead th[b-cl0f7ogtk4] {
    position: sticky;
    top: 0;
    background: #1a3a5c;
    color: #ffffff;
    text-align: left;
    font-weight: 600;
    padding: 0.6rem 0.65rem;
    white-space: nowrap;
    font-size: 0.8rem;
}

.pp-th-sort[b-cl0f7ogtk4] {
    cursor: pointer;
    user-select: none;
}

.pp-th-sort:hover[b-cl0f7ogtk4] {
    background: #0f2d52;
}

.pp-sort-idle[b-cl0f7ogtk4] {
    opacity: 0.45;
}

.pp-table td[b-cl0f7ogtk4] {
    padding: 0.55rem 0.65rem;
    border-bottom: 1px solid #f1f5f9;
    vertical-align: top;
}

.pp-row[b-cl0f7ogtk4] {
    cursor: pointer;
    transition: background 0.12s ease;
}

.pp-row:hover[b-cl0f7ogtk4] {
    background: #f8fafc;
}

.pp-row-open[b-cl0f7ogtk4] {
    background: #f1f5f9;
}

.pp-row-selected[b-cl0f7ogtk4] {
    background: #ecfdf5;
}

.pp-num[b-cl0f7ogtk4] {
    text-align: right;
    white-space: nowrap;
}

.pp-table thead th.pp-num[b-cl0f7ogtk4] {
    text-align: right;
}

.pp-th-check[b-cl0f7ogtk4],
.pp-td-check[b-cl0f7ogtk4] {
    width: 36px;
    text-align: center;
}

.pp-check[b-cl0f7ogtk4] {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 1.1rem;
    color: #94a3b8;
    padding: 0;
}

.pp-table thead .pp-check[b-cl0f7ogtk4] {
    color: #ffffff;
}

.pp-check.checked[b-cl0f7ogtk4] {
    color: #15803d;
}

.pp-table thead .pp-check.checked[b-cl0f7ogtk4] {
    color: #86efac;
}

.pp-td-partner[b-cl0f7ogtk4] {
    display: flex;
    align-items: flex-start;
    gap: 0.4rem;
    min-width: 220px;
}

.pp-expand-icon[b-cl0f7ogtk4] {
    color: #64748b;
    margin-top: 0.15rem;
}

.pp-partner-block[b-cl0f7ogtk4] {
    display: flex;
    flex-direction: column;
}

.pp-partner-name[b-cl0f7ogtk4] {
    font-weight: 700;
    color: #0f2d52;
}

.pp-top-icon[b-cl0f7ogtk4] {
    color: #d97706;
    font-size: 0.8rem;
    margin-left: 0.25rem;
}

.pp-template-name[b-cl0f7ogtk4] {
    font-size: 0.78rem;
    color: #64748b;
}

.pp-strong[b-cl0f7ogtk4] {
    font-weight: 700;
    color: #1e293b;
}

.pp-sub[b-cl0f7ogtk4] {
    display: block;
    font-size: 0.75rem;
    color: #64748b;
}

.pp-muted[b-cl0f7ogtk4] {
    color: #94a3b8;
}

.pp-warn[b-cl0f7ogtk4] {
    color: #b45309;
}

.pp-warn-strong[b-cl0f7ogtk4] {
    color: #dc2626;
}

.pp-pos[b-cl0f7ogtk4] {
    color: #15803d;
    font-weight: 700;
}

.pp-neg[b-cl0f7ogtk4] {
    color: #dc2626;
}

/* ----- Állapot és gond ----- */

.pp-status[b-cl0f7ogtk4] {
    display: inline-block;
    border-radius: 999px;
    padding: 0.15rem 0.6rem;
    font-size: 0.75rem;
    font-weight: 700;
    white-space: nowrap;
}

.pp-status-due[b-cl0f7ogtk4] {
    background: #fef3c7;
    color: #92400e;
}

.pp-status-recent[b-cl0f7ogtk4] {
    background: #dcfce7;
    color: #166534;
}

.pp-status-nochange[b-cl0f7ogtk4] {
    background: #f1f5f9;
    color: #475569;
}

.pp-status-inactive[b-cl0f7ogtk4] {
    background: #fee2e2;
    color: #991b1b;
}

.pp-trouble[b-cl0f7ogtk4] {
    display: inline-block;
    min-width: 1.4rem;
    text-align: center;
    border-radius: 6px;
    font-weight: 700;
    padding: 0 0.3rem;
}

.pp-trouble-1[b-cl0f7ogtk4] {
    background: #dcfce7;
    color: #166534;
}

.pp-trouble-2[b-cl0f7ogtk4] {
    background: #ecfccb;
    color: #3f6212;
}

.pp-trouble-3[b-cl0f7ogtk4] {
    background: #fef3c7;
    color: #92400e;
}

.pp-trouble-4[b-cl0f7ogtk4] {
    background: #fed7aa;
    color: #9a3412;
}

.pp-trouble-5[b-cl0f7ogtk4] {
    background: #fee2e2;
    color: #991b1b;
}

/* ----- Kinyitott sor ----- */

.pp-detail-row > td[b-cl0f7ogtk4] {
    background: #f8fafc;
    padding: 0;
}

.pp-detail[b-cl0f7ogtk4] {
    display: grid;
    grid-template-columns: minmax(320px, 1.1fr) minmax(320px, 1.3fr) minmax(240px, 0.8fr);
    gap: 1rem;
    padding: 1rem 1.2rem 1.2rem;
}

@media (max-width: 1200px) {
    .pp-detail[b-cl0f7ogtk4] {
        grid-template-columns: 1fr;
    }
}

.pp-detail-section[b-cl0f7ogtk4] {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 0.8rem 1rem;
}

.pp-detail-section h4[b-cl0f7ogtk4] {
    margin: 0 0 0.6rem;
    font-size: 0.92rem;
    color: #1a3a5c;
}

.pp-breakdown[b-cl0f7ogtk4] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.84rem;
}

.pp-breakdown td[b-cl0f7ogtk4] {
    padding: 0.35rem 0.3rem;
    border-bottom: 1px dashed #e2e8f0;
}

.pp-breakdown-total td[b-cl0f7ogtk4] {
    font-weight: 700;
    color: #0f2d52;
    border-bottom: none;
    border-top: 2px solid #1a3a5c;
}

.pp-detail-source[b-cl0f7ogtk4],
.pp-detail-hint[b-cl0f7ogtk4] {
    font-size: 0.78rem;
    color: #64748b;
    margin: 0.5rem 0 0;
}

.pp-detail-note[b-cl0f7ogtk4] {
    font-size: 0.8rem;
    color: #92400e;
    margin: 0.4rem 0 0;
}

.pp-detail-chart[b-cl0f7ogtk4]  .pp-chart {
    height: 230px;
    width: 100%;
}

.pp-chart-tt[b-cl0f7ogtk4] {
    font-size: 0.8rem;
}

/* ----- Gond-értékelés ----- */

.pp-rating-row[b-cl0f7ogtk4] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0.5rem 0;
}

.pp-rating-scale[b-cl0f7ogtk4] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    margin-bottom: 0.5rem;
    flex-wrap: wrap;
}

.pp-rating-btn[b-cl0f7ogtk4] {
    width: 2rem;
    height: 2rem;
    border-radius: 8px;
    border: 2px solid transparent;
    font-weight: 700;
    cursor: pointer;
    opacity: 0.55;
    transition: all 0.12s ease;
}

.pp-rating-btn:hover[b-cl0f7ogtk4] {
    opacity: 0.85;
}

.pp-rating-btn.active[b-cl0f7ogtk4] {
    opacity: 1;
    border-color: #0f2d52;
    box-shadow: 0 2px 6px rgba(15, 45, 82, 0.25);
}

.pp-rating-label[b-cl0f7ogtk4] {
    font-size: 0.8rem;
    color: #475569;
    margin-left: 0.3rem;
}

.pp-textarea[b-cl0f7ogtk4] {
    width: 100%;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    padding: 0.45rem 0.6rem;
    font: inherit;
    font-size: 0.85rem;
    margin-bottom: 0.5rem;
    resize: vertical;
}

.pp-select[b-cl0f7ogtk4] {
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    padding: 0.3rem 0.5rem;
    font: inherit;
    font-size: 0.85rem;
    background: #ffffff;
}

/* ----- Modálok ----- */

.pp-overlay[b-cl0f7ogtk4] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1500;
}

.pp-modal[b-cl0f7ogtk4] {
    background: #ffffff;
    border-radius: 14px;
    width: min(620px, 94vw);
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.3);
}

.pp-modal-header[b-cl0f7ogtk4] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #1a3a5c;
    color: #ffffff;
    padding: 0.8rem 1.1rem;
    border-radius: 14px 14px 0 0;
}

.pp-modal-header h3[b-cl0f7ogtk4] {
    margin: 0;
    font-size: 1.05rem;
}

.pp-modal-close[b-cl0f7ogtk4] {
    background: none;
    border: none;
    color: #ffffff;
    font-size: 1.2rem;
    cursor: pointer;
}

.pp-modal-body[b-cl0f7ogtk4] {
    padding: 1rem 1.2rem;
    overflow-y: auto;
}

.pp-modal-footer[b-cl0f7ogtk4] {
    display: flex;
    justify-content: flex-end;
    gap: 0.6rem;
    padding: 0.8rem 1.2rem;
    border-top: 1px solid #e2e8f0;
}

.pp-form-row[b-cl0f7ogtk4] {
    display: grid;
    grid-template-columns: 240px 140px 1fr;
    align-items: center;
    gap: 0.6rem;
    padding: 0.5rem 0;
    border-bottom: 1px solid #f1f5f9;
}

.pp-form-row-check[b-cl0f7ogtk4] {
    grid-template-columns: 24px 216px 1fr;
}

@media (max-width: 720px) {
    .pp-form-row[b-cl0f7ogtk4],
    .pp-form-row-check[b-cl0f7ogtk4] {
        grid-template-columns: 1fr;
    }
}

.pp-field-label[b-cl0f7ogtk4] {
    font-weight: 600;
    font-size: 0.85rem;
    color: #1e293b;
}

.pp-field-hint[b-cl0f7ogtk4] {
    font-size: 0.76rem;
    color: #64748b;
}

.pp-form-row[b-cl0f7ogtk4]  .pp-numeric {
    width: 130px;
}

.pp-validation[b-cl0f7ogtk4] {
    margin-top: 0.7rem;
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #b91c1c;
    border-radius: 8px;
    padding: 0.45rem 0.7rem;
    font-size: 0.84rem;
}

.pp-parallel[b-cl0f7ogtk4] {
    display: inline-block;
    margin-left: 0.3rem;
    padding: 0 0.35rem;
    border-radius: 6px;
    background: #e0e7ff;
    color: #1a3a5c;
    font-weight: 700;
}
/* /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: #5d6b7c; 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: #5d6b7c;
    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: #5d6b7c;
    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;
}

/* A fejléc-sáv címe: explicit navy. A globális `[class*="-head"] hN { color: inherit }`
   szabály óta a címsor a szülőt örökölné (Bootstrap body-szín), ezért itt kimondjuk. */
.pgs-portfolio-title[b-fjbso8hl1d] {
    color: #1a3a5c;
}

.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: #15803d;
    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: #166534;
    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);
    }
}

/* Felszólítás megerősítő szövege */
.pgs-reminder-confirm-text[b-fjbso8hl1d] {
    margin: 0;
    font-size: 0.9rem;
    line-height: 1.5;
    color: #1e293b;
}
/* /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: #5d6b7c;
    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: #5d6b7c;
    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: #5d6b7c; 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: #5d6b7c;
    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: #5d6b7c;
}

.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: #b91c1c;
    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%;
    }
}

/* ==================== Csomag: zárolt dokumentumtár ==================== */
.ps-doc-locked[b-huu5bybu53] { display: flex; align-items: center; gap: 0.5rem; width: 100%; margin-bottom: 12px; padding: 0.75rem 1rem; background: linear-gradient(135deg, #fef9c3 0%, #fef3c7 100%); color: #92400e; border: 1px solid #fde68a; border-radius: 10px; font-size: 0.85rem; text-align: left; cursor: pointer; box-shadow: 0 2px 6px rgba(15, 23, 42, 0.04); }
.ps-doc-locked:hover[b-huu5bybu53] { background: #fde68a; }
.ps-doc-locked i[b-huu5bybu53] { font-size: 1.2rem; color: #b45309; }

/* Partnerkereső mobilon: a mező teljes szélességben, a gombok alatta (különben a mező „Partn”-ra zsugorodott) */
@media (max-width: 600px) {
    .ps-search-bar[b-huu5bybu53] {
        flex-wrap: wrap;
    }

    .ps-search-input[b-huu5bybu53] {
        flex: 1 1 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: #047857;
    --clr-accent-dark: #065f46;
    --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);
}

/* ===== GDPR consent checkbox ===== */
.consent-row[b-6urlpfjisy] {
    margin-bottom: 20px;
    padding: 14px 16px;
    border: 1.5px solid var(--clr-border);
    border-radius: var(--radius-sm);
    background: var(--clr-primary-light);
    transition: border-color .25s var(--ease), box-shadow .25s var(--ease);
}

.consent-check[b-6urlpfjisy] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
    user-select: none;
}

/* Natív checkbox elrejtése, saját dobozzal helyettesítve — konzisztens megjelenés */
.consent-check input[type="checkbox"][b-6urlpfjisy] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.consent-box[b-6urlpfjisy] {
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    margin-top: 1px;
    border: 1.5px solid var(--clr-border);
    border-radius: 6px;
    background: var(--clr-surface);
    transition: all .2s var(--ease);
    position: relative;
}

.consent-check input[type="checkbox"]:checked + .consent-box[b-6urlpfjisy] {
    background: var(--clr-accent);
    border-color: var(--clr-accent);
}

/* Pipa a bejelölt állapothoz — tiszta CSS, kép nélkül */
.consent-check input[type="checkbox"]:checked + .consent-box[b-6urlpfjisy]::after {
    content: '';
    position: absolute;
    left: 6px;
    top: 2px;
    width: 5px;
    height: 10px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.consent-check input[type="checkbox"]:focus-visible + .consent-box[b-6urlpfjisy] {
    box-shadow: 0 0 0 4px var(--clr-primary-light);
}

.consent-text[b-6urlpfjisy] {
    font-size: .85rem;
    color: var(--clr-text);
    line-height: 1.5;
}

.consent-text a[b-6urlpfjisy] {
    color: var(--clr-accent);
    font-weight: 600;
    text-decoration: none;
}

.consent-text a:hover[b-6urlpfjisy] {
    color: var(--clr-accent-dark);
    text-decoration: underline;
}

/* Hibás (nem elfogadott) állapot — piros keret, mint a mezőknél */
.consent-invalid[b-6urlpfjisy] {
    border-color: var(--clr-danger);
    box-shadow: 0 0 0 2px rgba(220, 38, 38, .12);
}

.consent-invalid .consent-box[b-6urlpfjisy] {
    border-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%;
    }
}

/* ==================== E-mail kiküldési hiba képernyő ==================== */

.register-mail-failed[b-6urlpfjisy] {
    max-width: 480px;
    margin: 0 auto;
    padding: 40px 24px;
    text-align: center;
    color: #334155;
}

    .register-mail-failed i[b-6urlpfjisy] {
        font-size: 2.75rem;
        color: #dc2626;
    }

    .register-mail-failed h3[b-6urlpfjisy] {
        margin: 14px 0 10px 0;
        font-size: 1.15rem;
        font-weight: 700;
        color: #1e3a8a;
    }

    .register-mail-failed p[b-6urlpfjisy] {
        margin: 0 0 12px 0;
        font-size: 0.9rem;
        line-height: 1.55;
    }

    .register-mail-failed a[b-6urlpfjisy] {
        color: #1e40af;
        font-weight: 600;
    }

.register-mail-failed-btn[b-6urlpfjisy] {
    margin-top: 8px;
    padding: 10px 20px;
    border: none;
    border-radius: 8px;
    background: #1e3a8a;
    color: #fff;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(30, 58, 138, 0.25);
}

    .register-mail-failed-btn:hover[b-6urlpfjisy] {
        background: #1e40af;
    }
/* /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: #5d6b7c;
    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;
    }
}

/* ===== Zárolt generálás gomb (a csomag nem tartalmazza a PDF exportot) ===== */
.rp-generate-btn.rp-generate-btn-locked[b-a3glp6jj0y] {
    background: #fef3c7;
    color: #78350f;
    border: 1px solid #fde68a;
    box-shadow: 0 2px 6px rgba(180, 83, 9, 0.12);
}

.rp-generate-btn.rp-generate-btn-locked:hover:not(:disabled)[b-a3glp6jj0y] {
    background: #fde68a;
}

.rp-generate-btn.rp-generate-btn-locked i[b-a3glp6jj0y] {
    color: #b45309;
}
/* /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/TaxForecast/TaxForecastComponent.razor.rz.scp.css */
/* ==================== Adó-előrejelzés oldal ====================
   Színvilág: navy alap, világos szürke felületek, zöld = visszajár,
   piros = sürgős / lejárt. A becsült értékeket mindig külön jelöljük. */

.tf-container[b-2egteycsrp] {
    padding: 24px;
    max-width: 1400px;
    margin: 0 auto;
}

/* ==================== Fejléc ==================== */

.tf-header[b-2egteycsrp] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.tf-title[b-2egteycsrp] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    font-size: 1.5rem;
    font-weight: 700;
    color: #1e3a8a;
}

    .tf-title i[b-2egteycsrp] {
        font-size: 1.6rem;
    }

.tf-subtitle[b-2egteycsrp] {
    margin: 6px 0 0 0;
    font-size: 0.875rem;
    color: #5d6b7c;
    max-width: 720px;
}

.tf-header-right[b-2egteycsrp] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.tf-year-selector[b-2egteycsrp] {
    display: flex;
    align-items: center;
    gap: 4px;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 4px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
}

.tf-year-btn[b-2egteycsrp] {
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 6px;
    color: #475569;
    display: flex;
    align-items: center;
}

    .tf-year-btn:hover[b-2egteycsrp] {
        background: #f1f5f9;
        color: #1e3a8a;
    }

.tf-year-label[b-2egteycsrp] {
    min-width: 56px;
    text-align: center;
    font-weight: 700;
    color: #1e3a8a;
}

.tf-settings-btn[b-2egteycsrp] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    color: #475569;
    font-size: 0.85rem;
    cursor: pointer;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
}

    .tf-settings-btn:hover[b-2egteycsrp] {
        border-color: #1e3a8a;
        color: #1e3a8a;
    }

/* ==================== Üres és töltő állapot ==================== */

.tf-loading[b-2egteycsrp] {
    display: flex;
    justify-content: center;
    padding: 80px 0;
}

.tf-empty[b-2egteycsrp] {
    text-align: center;
    padding: 64px 24px;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    color: #64748b;
}

    .tf-empty i[b-2egteycsrp] {
        font-size: 2.5rem;
        color: #cbd5e1;
    }

    .tf-empty h3[b-2egteycsrp] {
        margin: 12px 0 6px 0;
        color: #1e293b;
        font-size: 1.1rem;
    }

    .tf-empty p[b-2egteycsrp] {
        margin: 0 auto;
        max-width: 480px;
        font-size: 0.875rem;
    }

/* ==================== KPI sáv ==================== */

.tf-kpi-row[b-2egteycsrp] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 14px;
    margin-bottom: 16px;
}

.tf-kpi[b-2egteycsrp] {
    padding: 16px 18px;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}

.tf-kpi-primary[b-2egteycsrp] {
    background: linear-gradient(135deg, #1e3a8a 0%, #1e40af 100%);
    border-color: transparent;
    color: #fff;
    box-shadow: 0 4px 12px rgba(30, 58, 138, 0.22);
}

    .tf-kpi-primary .tf-kpi-label[b-2egteycsrp],
    .tf-kpi-primary .tf-kpi-sub[b-2egteycsrp] {
        color: rgba(255, 255, 255, 0.82);
    }

    .tf-kpi-primary .tf-kpi-value[b-2egteycsrp] {
        color: #fff;
    }

/* Sürgős / lejárt következő befizetés */
.tf-kpi-urgent[b-2egteycsrp] {
    border-left: 4px solid #dc2626;
}

.tf-kpi-overdue[b-2egteycsrp] {
    border-left: 4px solid #7f1d1d;
    background: #fef2f2;
}

.tf-kpi-label[b-2egteycsrp] {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #64748b;
    font-weight: 600;
}

.tf-kpi-value[b-2egteycsrp] {
    margin-top: 6px;
    font-size: 1.65rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.15;
}

.tf-kpi-sub[b-2egteycsrp] {
    margin-top: 4px;
    font-size: 0.75rem;
    color: #5d6b7c;
}

/* ==================== Figyelmeztetések ==================== */

.tf-warnings[b-2egteycsrp] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 16px;
}

.tf-warning[b-2egteycsrp] {
    display: flex;
    gap: 10px;
    padding: 10px 14px;
    border-radius: 8px;
    font-size: 0.82rem;
    line-height: 1.45;
    background: #fffbeb;
    border: 1px solid #fde68a;
    color: #92400e;
}

    .tf-warning i[b-2egteycsrp] {
        flex-shrink: 0;
        font-size: 1.05rem;
        margin-top: 1px;
    }

.tf-warning-critical[b-2egteycsrp] {
    background: #fef2f2;
    border-color: #fecaca;
    color: #991b1b;
}

.tf-warning-info[b-2egteycsrp] {
    background: #eff6ff;
    border-color: #bfdbfe;
    color: #1e40af;
}

/* ==================== Kártyák ==================== */

.tf-card[b-2egteycsrp] {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    margin-bottom: 14px;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.tf-card-head[b-2egteycsrp] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 14px 18px;
    border-bottom: 1px solid #f1f5f9;
}

.tf-clickable[b-2egteycsrp] {
    cursor: pointer;
    user-select: none;
}

    .tf-clickable:hover[b-2egteycsrp] {
        background: #f8fafc;
    }

.tf-card-head h3[b-2egteycsrp] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    color: #1e293b;
}

    .tf-card-head h3 i[b-2egteycsrp] {
        color: #1e3a8a;
    }

.tf-card-head-right[b-2egteycsrp] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.tf-card-amount[b-2egteycsrp] {
    font-size: 1.15rem;
    font-weight: 700;
    color: #1e3a8a;
}

.tf-badge[b-2egteycsrp] {
    padding: 3px 10px;
    border-radius: 999px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1e40af;
    font-size: 0.72rem;
    font-weight: 600;
}

.tf-badge-neutral[b-2egteycsrp] {
    background: #f1f5f9;
    border-color: #e2e8f0;
    color: #5d6b7c;
}

.tf-card-body[b-2egteycsrp] {
    padding: 16px 18px;
}

.tf-help[b-2egteycsrp] {
    margin: 0 0 12px 0;
    font-size: 0.82rem;
    color: #64748b;
    line-height: 1.5;
}

.tf-help-hint[b-2egteycsrp] {
    display: flex;
    gap: 8px;
    margin-top: 12px;
    margin-bottom: 0;
    padding: 10px 12px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
}

    .tf-help-hint i[b-2egteycsrp] {
        flex-shrink: 0;
        color: #f59e0b;
        font-size: 1rem;
    }

.tf-summary-row[b-2egteycsrp] {
    display: flex;
    justify-content: space-between;
    padding: 10px 12px;
    margin-bottom: 12px;
    background: #f8fafc;
    border-radius: 8px;
    font-size: 0.85rem;
    color: #475569;
}

/* ==================== Részlet-rács ==================== */

.tf-detail-grid[b-2egteycsrp] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 12px;
}

.tf-detail[b-2egteycsrp] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: 10px 12px;
    background: #f8fafc;
    border: 1px solid #f1f5f9;
    border-radius: 8px;
}

.tf-detail-label[b-2egteycsrp] {
    font-size: 0.72rem;
    color: #5d6b7c;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.tf-detail-value[b-2egteycsrp] {
    font-size: 0.95rem;
    font-weight: 700;
    color: #0f172a;
}

.tf-muted[b-2egteycsrp] {
    color: #5d6b7c;
    font-weight: 400;
    font-size: 0.82rem;
}

/* ==================== Táblázat ==================== */

.tf-table-wrap[b-2egteycsrp] {
    overflow-x: auto;
}

.tf-table[b-2egteycsrp] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.82rem;
}

    .tf-table thead th[b-2egteycsrp] {
        text-align: left;
        padding: 8px 10px;
        background: #f8fafc;
        color: #64748b;
        font-weight: 600;
        text-transform: uppercase;
        font-size: 0.7rem;
        letter-spacing: 0.03em;
        border-bottom: 1px solid #e2e8f0;
        white-space: nowrap;
    }

    .tf-table tbody td[b-2egteycsrp] {
        padding: 8px 10px;
        border-bottom: 1px solid #f1f5f9;
        color: #1e293b;
        white-space: nowrap;
    }

    .tf-table tbody tr:hover[b-2egteycsrp] {
        background: #f8fafc;
    }

.tf-num[b-2egteycsrp] {
    text-align: right;
}

/* A becsült sorok halványabbak, hogy ránézésre elváljanak a tényadattól */
.tf-row-forecast td[b-2egteycsrp] {
    color: #64748b;
}

.tf-tag-forecast[b-2egteycsrp] {
    margin-left: 6px;
    padding: 1px 6px;
    border-radius: 4px;
    background: #f1f5f9;
    border: 1px dashed #cbd5e1;
    color: #5d6b7c;
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.tf-negative[b-2egteycsrp] {
    color: #047857;
}

.tf-status[b-2egteycsrp] {
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 600;
}

.tf-status-closed[b-2egteycsrp] {
    background: #f1f5f9;
    color: #5d6b7c;
}

.tf-status-due_soon[b-2egteycsrp] {
    background: #fffbeb;
    color: #92400e;
}

.tf-status-upcoming[b-2egteycsrp] {
    background: #eff6ff;
    color: #1e40af;
}

/* ==================== Alanyi adómentes keret ==================== */

.tf-aam-percent[b-2egteycsrp] {
    font-size: 1.15rem;
    font-weight: 700;
    color: #1e3a8a;
}

.tf-aam-bar[b-2egteycsrp] {
    height: 12px;
    margin: 0 18px;
    border-radius: 999px;
    background: #e2e8f0;
    overflow: hidden;
}

.tf-aam-fill[b-2egteycsrp] {
    height: 100%;
    border-radius: 999px;
    background: #059669;
    transition: width 0.3s ease;
}

.tf-aam-watch .tf-aam-fill[b-2egteycsrp] {
    background: #f59e0b;
}

.tf-aam-critical .tf-aam-fill[b-2egteycsrp],
.tf-aam-breached .tf-aam-fill[b-2egteycsrp] {
    background: #dc2626;
}

.tf-aam-breached[b-2egteycsrp] {
    border-color: #fecaca;
}

.tf-aam-numbers[b-2egteycsrp] {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
    padding: 12px 18px 16px 18px;
    font-size: 0.8rem;
    color: #64748b;
}

    .tf-aam-numbers strong[b-2egteycsrp] {
        color: #0f172a;
    }

/* ==================== Fizetési naptár ==================== */

.tf-payments[b-2egteycsrp] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.tf-payment[b-2egteycsrp] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    background: #f8fafc;
    border: 1px solid #f1f5f9;
    border-left: 3px solid #cbd5e1;
    border-radius: 8px;
}

.tf-payment-urgent[b-2egteycsrp] {
    border-left-color: #dc2626;
    background: #fef2f2;
}

.tf-payment-soon[b-2egteycsrp] {
    border-left-color: #f59e0b;
}

.tf-payment-overdue[b-2egteycsrp] {
    border-left-color: #7f1d1d;
    background: #fef2f2;
}

.tf-payment-icon[b-2egteycsrp] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 8px;
    background: #fff;
    border: 1px solid #e2e8f0;
    color: #1e3a8a;
    flex-shrink: 0;
}

.tf-payment-info[b-2egteycsrp] {
    flex: 1;
    min-width: 0;
}

.tf-payment-name[b-2egteycsrp] {
    font-size: 0.85rem;
    font-weight: 600;
    color: #1e293b;
}

.tf-payment-when[b-2egteycsrp] {
    font-size: 0.73rem;
    color: #5d6b7c;
}

.tf-payment-amount[b-2egteycsrp] {
    font-size: 0.95rem;
    font-weight: 700;
    color: #0f172a;
    white-space: nowrap;
}

/* ==================== Jogi lábjegyzet ==================== */

.tf-disclaimer[b-2egteycsrp] {
    display: flex;
    gap: 10px;
    padding: 12px 16px;
    margin-top: 4px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    color: #64748b;
    font-size: 0.78rem;
    line-height: 1.5;
}

    .tf-disclaimer i[b-2egteycsrp] {
        flex-shrink: 0;
        font-size: 1.05rem;
        margin-top: 1px;
    }

/* ==================== Reszponzív ==================== */

@media (max-width: 768px) {
    .tf-container[b-2egteycsrp] {
        padding: 14px;
    }

    .tf-header[b-2egteycsrp] {
        flex-direction: column;
        align-items: stretch;
    }

    .tf-header-right[b-2egteycsrp] {
        justify-content: space-between;
    }

    .tf-card-head[b-2egteycsrp] {
        flex-wrap: wrap;
    }

    .tf-kpi-value[b-2egteycsrp] {
        font-size: 1.35rem;
    }
}
/* /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: #55626f;
    --tkd-border: #cbd5e1;
    --tkd-success: #0c875e;
    --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), #04875e);
    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: #a16207;
    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-b-3mfhwd0v05 1s linear infinite;
}

@keyframes tkd-spin-b-3mfhwd0v05 {
    from { transform: rotate(0deg); }
    to   { 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: #55626f;
    --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;
}

/* ===== Lapozó (pager) ===== */
.tk-pager[b-3lfusqzjjg] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 20px;
    padding: 8px 0;
    flex-wrap: wrap;
}

.tk-pager-btn[b-3lfusqzjjg] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: 1px solid var(--tk-border);
    border-radius: 8px;
    background: #fff;
    color: var(--tk-text);
    cursor: pointer;
    transition: background .15s ease, border-color .15s ease, color .15s ease;
}

.tk-pager-btn:hover:not([disabled])[b-3lfusqzjjg] {
    background: var(--tk-primary);
    border-color: var(--tk-primary);
    color: #fff;
}

.tk-pager-btn[disabled][b-3lfusqzjjg] {
    opacity: .45;
    cursor: not-allowed;
}

.tk-pager-info[b-3lfusqzjjg] {
    min-width: 160px;
    text-align: center;
    font-size: .85rem;
    color: var(--tk-muted);
    font-variant-numeric: tabular-nums;
}

/* ===== Spin animation ===== */
.ti-spin[b-3lfusqzjjg] {
    animation: tk-spin-b-3lfusqzjjg 1s linear infinite;
}

@keyframes tk-spin-b-3lfusqzjjg {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}
/* /Components/Pages/Unsubscribe/UnsubscribeComponent.razor.rz.scp.css */
/* Nyilvános leiratkozó oldal: a jogi oldalak kártyája, egy kiemelt gombbal */

.unsub-card[b-rcgh5nfdpo] {
    max-width: 640px;
}

.unsub-button[b-rcgh5nfdpo] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 12px;
    padding: 12px 22px;
    border: none;
    border-radius: 8px;
    background: #14213d;
    color: #ffffff;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 6px 16px rgba(20, 33, 61, 0.25);
}

.unsub-button:hover:not(:disabled)[b-rcgh5nfdpo] {
    background: #1e3a8a;
}

.unsub-button:disabled[b-rcgh5nfdpo] {
    opacity: 0.6;
    cursor: wait;
}

.unsub-done[b-rcgh5nfdpo] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 16px;
    border-radius: 10px;
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    color: #166534;
}

.unsub-done i[b-rcgh5nfdpo] {
    font-size: 1.6rem;
}

.unsub-done p[b-rcgh5nfdpo] {
    margin: 0;
}

.unsub-note[b-rcgh5nfdpo] {
    color: #5d6b7c;
    font-size: 0.9rem;
    margin-top: 14px;
}

.unsub-link[b-rcgh5nfdpo] {
    background: none;
    border: none;
    padding: 0;
    margin-top: 10px;
    color: #1e3a8a;
    text-decoration: underline;
    cursor: pointer;
    font-size: 0.9rem;
}
/* /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: #5d6b7c;
}

/* ===== 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: #5d6b7c;
}

/* ===== 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: #5d6b7c;
    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: #5d6b7c;
    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, #046e4d 0%, #0c875e 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: #5d6b7c;
    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: #15803d;
    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: #5d6b7c;
    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: #15803d;
}

    .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: #5d6b7c;
    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;
}

/* ==================== GDPR szekció ==================== */
.us-gdpr-body[b-lgx4izexf6] {
    padding: 1rem 1.25rem 1.25rem;
}

.us-gdpr-row[b-lgx4izexf6],
.us-gdpr-danger[b-lgx4izexf6] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.us-gdpr-info[b-lgx4izexf6] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    flex: 1 1 320px;
}

.us-gdpr-info strong[b-lgx4izexf6] {
    font-size: 0.95rem;
    color: #0f2540;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.us-gdpr-info span[b-lgx4izexf6] {
    font-size: 0.85rem;
    color: #4f5b68;
    line-height: 1.5;
}

/* Veszélyzóna — halvány piros háttér, hogy vizuálisan elkülönüljön */
.us-gdpr-danger[b-lgx4izexf6] {
    margin-top: 0.25rem;
    padding: 1rem 1.1rem;
    background: linear-gradient(90deg, #fef2f2 0%, #fee2e2 100%);
    border: 1px solid #fecaca;
    border-radius: 10px;
}

.us-gdpr-danger .us-gdpr-info strong[b-lgx4izexf6] {
    color: #b91c1c;
}

.us-gdpr-confirm[b-lgx4izexf6] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    flex: 1 1 260px;
    min-width: 240px;
}

.us-gdpr-confirm label[b-lgx4izexf6] {
    font-size: 0.82rem;
    font-weight: 600;
    color: #b91c1c;
}

/* Felhasználói keret elérve: látható magyarázat és csomagváltás */
.us-limit-hint[b-lgx4izexf6] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    flex-wrap: wrap;
    margin-top: 0.9rem;
    padding: 0.7rem 0.9rem;
    border-radius: 10px;
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #991b1b;
    font-size: 0.85rem;
}

.us-limit-hint > i[b-lgx4izexf6] {
    font-size: 1.1rem;
}

.us-limit-upgrade[b-lgx4izexf6] {
    margin-left: auto;
}

/* 2FA-ajánló mobilon: a szöveg teljes szélességben, a gomb alatta (különben a szöveg összeszorult) */
@media (max-width: 600px) {
    .us-2fa-banner[b-lgx4izexf6] {
        flex-wrap: wrap;
    }

    .us-2fa-banner-text[b-lgx4izexf6] {
        flex: 1 1 calc(100% - 3rem);
        min-width: 0;
    }
}

/* A 2FA kikapcsolás jelszómezője teljes szélességben */
[b-lgx4izexf6] .us-full-width {
    width: 100%;
}
/* /Components/Shared/AccessDenied/AccessDeniedPanel.razor.rz.scp.css */
/* Oldal-szintű tiltás panel: középre igazított, nyugodt navy/szürke megjelenés */
.cf-access-denied[b-weoij38jwk] {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    max-width: 520px;
    margin: 4rem auto;
    padding: 2.5rem 2rem;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    box-shadow: 0 4px 16px rgba(11, 26, 51, 0.08);
}

.cf-access-denied-icon[b-weoij38jwk] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    margin-bottom: 1rem;
    border-radius: 16px;
    background: #eef2f7;
}

.cf-access-denied-icon i[b-weoij38jwk] {
    font-size: 2rem;
    color: #1a3558;
}

.cf-access-denied h3[b-weoij38jwk] {
    margin: 0 0 0.5rem;
    font-size: 1.15rem;
    font-weight: 700;
    color: #0b1a33;
}

.cf-access-denied p[b-weoij38jwk] {
    margin: 0;
    font-size: 0.9rem;
    color: #5d6b7c;
}
/* /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;
    /* Az ikon húzható — érintésnél a böngésző görgetése ne vigye el a mozdulatot */
    touch-action: none;
    /* Húzás közben ne jelöljön ki szöveget */
    user-select: none;
    -webkit-user-select: none;
    -webkit-user-drag: none;
}

    /* A böngésző a képeket alapból natívan húzhatónak tekinti. A natív dragstart
       pointercancel-t vált ki, ami megszakítja a saját pointer-alapú húzásunkat, és a
       kurzoron a kép "másolás" szellemképe jelenik meg az ikon mozgatása helyett. */
    .ai-fab img[b-7ysiyk4p2x],
    .ai-fab .ai-fab-avatar[b-7ysiyk4p2x] {
        -webkit-user-drag: none;
        user-select: none;
        -webkit-user-select: none;
    }

    .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%);
}

/* Amíg a szerver nem erősítette meg a hozzáférést (vagy a szerepköre miatt nem használhatja),
   az ikon a DOM-ban marad (a húzás JS-e hivatkozik rá), csak nem látszik */
.ai-fab-hidden[b-7ysiyk4p2x] {
    display: none;
}

/* Rövid megjegyzés a válasz alatt (pl. a grafikon nem mentődött el) */
.ai-msg-notice[b-7ysiyk4p2x] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #92400e;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 8px;
    padding: 6px 10px;
}

/* Kimutatással bővített asszisztens-válasz: szöveg + grafikon(ok) egymás alatt */
.ai-msg-stack[b-7ysiyk4p2x] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1 1 auto;
    min-width: 0;
}

.ai-msg-stack .ai-msg-bubble[b-7ysiyk4p2x] {
    max-width: 100%;
}

.ai-msg-report[b-7ysiyk4p2x] {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 10px;
    box-shadow: 0 2px 8px rgba(15, 37, 64, 0.08);
}

/* Letölthető fájlok a válasz alatt — a letöltés magától indul, a kártya az újraletöltéshez marad */
.ai-msg-files[b-7ysiyk4p2x] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.ai-file-card[b-7ysiyk4p2x] {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    text-align: left;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 10px 12px;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(15, 37, 64, 0.08);
    transition: all 0.2s;
}

    .ai-file-card:hover[b-7ysiyk4p2x] {
        border-color: #0f2540;
        box-shadow: 0 4px 14px rgba(15, 37, 64, 0.18);
        transform: translateY(-1px);
    }

    .ai-file-card:active[b-7ysiyk4p2x] {
        transform: translateY(0);
    }

.ai-file-icon[b-7ysiyk4p2x] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    border-radius: 10px;
    background: #0f2540;
    color: #ffffff;
    font-size: 18px;
}

.ai-file-text[b-7ysiyk4p2x] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    flex: 1 1 auto;
}

.ai-file-name[b-7ysiyk4p2x] {
    font-size: 13px;
    font-weight: 600;
    color: #0f2540;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ai-file-size[b-7ysiyk4p2x] {
    font-size: 11px;
    color: #64748b;
}

.ai-file-action[b-7ysiyk4p2x] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    border-radius: 50%;
    background: rgba(16, 185, 129, 0.12);
    color: #059669;
    font-size: 16px;
}

.ai-file-card:hover .ai-file-action[b-7ysiyk4p2x] {
    background: #10b981;
    color: #ffffff;
}

/* Húzás közben: nincs animáció (különben "úszna" az egér után) és megfogott kurzor */
.ai-fab-dragging[b-7ysiyk4p2x] {
    cursor: grabbing;
    transition: none;
    transform: scale(1.08);
    box-shadow: 0 16px 40px rgba(15, 37, 64, 0.5), 0 6px 16px rgba(15, 37, 64, 0.3);
}

    .ai-fab-dragging:hover[b-7ysiyk4p2x] {
        transform: scale(1.08);
    }

.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;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    padding: 14px 16px;
}

.ai-dots[b-7ysiyk4p2x] {
    display: flex;
    align-items: center;
    gap: 4px;
}

.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, #0c875e 0%, #046e4d 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/AiReport/AiReportView.razor.rz.scp.css */
/* ============================================================
   AI-kimutatás megjelenítése — chat-buborékban és dashboard-widgetben
   Navy / világosszürke / fehér alap, recesszív rács és tengelyek
   ============================================================ */

.air-root[b-klayop2rau] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
    height: 100%;
    min-width: 0;
}

.air-header[b-klayop2rau] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
}

.air-title-block[b-klayop2rau] {
    min-width: 0;
}

.air-title[b-klayop2rau] {
    font-weight: 600;
    font-size: 0.92rem;
    color: #0f2540;
    line-height: 1.3;
}

.air-subtitle[b-klayop2rau] {
    font-size: 0.76rem;
    color: #64748b;
    margin-top: 2px;
}

.air-icon-btn[b-klayop2rau] {
    flex-shrink: 0;
    width: 30px;
    height: 30px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #ffffff;
    color: #1a3a5c;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s, box-shadow 0.15s;
}

.air-icon-btn:hover[b-klayop2rau] {
    background: #f1f5f9;
    box-shadow: 0 2px 6px rgba(15, 37, 64, 0.12);
}

.air-chart[b-klayop2rau] {
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
}

.air-empty[b-klayop2rau] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 18px 8px;
    color: #64748b;
    font-size: 0.86rem;
}

/* ===== KPI ===== */
.air-kpi-row[b-klayop2rau] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.air-kpi[b-klayop2rau] {
    flex: 1 1 140px;
    padding: 12px 14px;
    border-radius: 10px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    box-shadow: 0 1px 3px rgba(15, 37, 64, 0.06);
}

.air-kpi-value[b-klayop2rau] {
    font-size: 1.35rem;
    font-weight: 700;
    color: #0f2540;
    font-variant-numeric: tabular-nums;
}

.air-kpi-label[b-klayop2rau] {
    font-size: 0.78rem;
    color: #64748b;
    margin-top: 2px;
}

/* ===== Táblázat ===== */
.air-table-wrap[b-klayop2rau] {
    flex: 1 1 auto;
    min-height: 0;
    max-height: 320px;
    overflow: auto;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
}

.air-table[b-klayop2rau] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.8rem;
    color: #0f2540;
}

.air-table th[b-klayop2rau] {
    position: sticky;
    top: 0;
    background: #1a3a5c;
    color: #ffffff;
    font-weight: 600;
    text-align: left;
    padding: 6px 8px;
    white-space: nowrap;
}

.air-table td[b-klayop2rau] {
    padding: 5px 8px;
    border-top: 1px solid #eef2f7;
}

.air-table tbody tr:nth-child(even)[b-klayop2rau] {
    background: #f8fafc;
}

.air-num[b-klayop2rau] {
    text-align: right !important;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

/* ===== Megjegyzések ===== */
.air-note[b-klayop2rau] {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    font-size: 0.76rem;
    color: #475569;
}

.air-note-warning[b-klayop2rau] {
    color: #92400e;
}

/* ===== Kitűzés ===== */
.air-actions[b-klayop2rau] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.air-pin-btn[b-klayop2rau] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 10px;
    border: 1px solid #1a3a5c;
    border-radius: 8px;
    background: #ffffff;
    color: #1a3a5c;
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s, color 0.15s, box-shadow 0.15s;
}

.air-pin-btn:hover:not(:disabled)[b-klayop2rau] {
    background: #1a3a5c;
    color: #ffffff;
    box-shadow: 0 2px 8px rgba(15, 37, 64, 0.25);
}

.air-pin-btn:disabled[b-klayop2rau] {
    opacity: 0.6;
    cursor: default;
}

.air-pin-message[b-klayop2rau] {
    font-size: 0.78rem;
}

.air-pin-ok[b-klayop2rau] {
    color: #15803d;
}

.air-pin-error[b-klayop2rau] {
    color: #b91c1c;
}

.air-pin-picker[b-klayop2rau] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 6px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #f8fafc;
    box-shadow: 0 4px 12px rgba(15, 37, 64, 0.1);
}

.air-pin-option[b-klayop2rau] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 8px;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: #0f2540;
    font-size: 0.82rem;
    text-align: left;
    cursor: pointer;
}

.air-pin-option:hover:not(:disabled)[b-klayop2rau] {
    background: #e2e8f0;
}

.air-pin-loading[b-klayop2rau] {
    font-size: 0.8rem;
    color: #64748b;
    padding: 4px 6px;
}
/* /Components/Shared/AiReport/AiReportWidget.razor.rz.scp.css */
/* ============================================================
   Dashboardra kitűzött AI-kimutatás
   ============================================================ */

.arw-root[b-bl83i3rzrc] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    height: 100%;
    min-height: 220px;
}

.arw-toolbar[b-bl83i3rzrc] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.arw-meta[b-bl83i3rzrc] {
    font-size: 0.78rem;
    color: #64748b;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.arw-toolbar-actions[b-bl83i3rzrc] {
    display: inline-flex;
    gap: 4px;
    flex-shrink: 0;
}

.arw-btn[b-bl83i3rzrc] {
    width: 28px;
    height: 28px;
    border: 1px solid #e2e8f0;
    border-radius: 7px;
    background: #ffffff;
    color: #1a3a5c;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s, box-shadow 0.15s;
}

.arw-btn:hover:not(:disabled)[b-bl83i3rzrc] {
    background: #f1f5f9;
    box-shadow: 0 2px 6px rgba(15, 37, 64, 0.12);
}

.arw-btn:disabled[b-bl83i3rzrc] {
    opacity: 0.6;
    cursor: default;
}

.arw-spin[b-bl83i3rzrc] {
    animation: arw-rotate-b-bl83i3rzrc 0.9s linear infinite;
}

@keyframes arw-rotate-b-bl83i3rzrc {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.arw-body[b-bl83i3rzrc] {
    flex: 1 1 auto;
    min-height: 200px;
    display: flex;
}

.arw-state[b-bl83i3rzrc] {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #64748b;
    font-size: 0.86rem;
    text-align: center;
    padding: 16px;
}

.arw-state-loading[b-bl83i3rzrc] {
    flex-direction: column;
}

.arw-state-error[b-bl83i3rzrc] {
    color: #b91c1c;
}

/* ===== Szerkesztő ===== */
.arw-edit[b-bl83i3rzrc] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 10px;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #f8fafc;
}

.arw-label[b-bl83i3rzrc] {
    font-size: 0.78rem;
    font-weight: 600;
    color: #0f2540;
    margin-top: 4px;
}

.arw-required[b-bl83i3rzrc] {
    color: #dc2626;
}

.arw-input[b-bl83i3rzrc] {
    width: 100%;
    padding: 6px 8px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    background: #ffffff;
    color: #0f2540;
    font-size: 0.85rem;
}

.arw-input:focus[b-bl83i3rzrc] {
    outline: none;
    border-color: #1a3a5c;
    box-shadow: 0 0 0 2px rgba(26, 58, 92, 0.15);
}

.arw-invalid[b-bl83i3rzrc] {
    border-color: #dc2626;
}

.arw-edit-error[b-bl83i3rzrc] {
    color: #b91c1c;
    font-size: 0.8rem;
}

.arw-edit-actions[b-bl83i3rzrc] {
    display: flex;
    justify-content: flex-end;
    gap: 6px;
    margin-top: 6px;
}

.arw-btn-primary[b-bl83i3rzrc],
.arw-btn-secondary[b-bl83i3rzrc] {
    padding: 6px 14px;
    border-radius: 7px;
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
}

.arw-btn-primary[b-bl83i3rzrc] {
    border: 1px solid #1a3a5c;
    background: #1a3a5c;
    color: #ffffff;
    box-shadow: 0 2px 6px rgba(15, 37, 64, 0.2);
}

.arw-btn-secondary[b-bl83i3rzrc] {
    border: 1px solid #cbd5e1;
    background: #ffffff;
    color: #0f2540;
}

.arw-btn-primary:disabled[b-bl83i3rzrc],
.arw-btn-secondary:disabled[b-bl83i3rzrc] {
    opacity: 0.6;
    cursor: default;
}

/* Kizárt tételek beszámítása — jelölő a szerkesztőben */
.arw-check[b-bl83i3rzrc] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 0.8rem;
    color: #0f2540;
    margin-top: 6px;
    cursor: pointer;
}

.arw-check input[b-bl83i3rzrc] {
    margin-top: 2px;
}

/* Rákérdezés a kimaradt tételekre, közvetlenül a kártyán */
.arw-decision[b-bl83i3rzrc] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin: 0 0 8px 0;
    padding: 8px 10px;
    border-radius: 8px;
    background: #fffbeb;
    border: 1px solid #fde68a;
    box-shadow: 0 1px 2px rgba(15, 37, 64, 0.06);
}

.arw-decision-text[b-bl83i3rzrc] {
    font-size: 0.8rem;
    color: #92400e;
    flex: 1 1 220px;
}

.arw-decision-actions[b-bl83i3rzrc] {
    display: flex;
    gap: 6px;
}
/* /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: #5d6b7c;
    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: #5d6b7c;
    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: #5d6b7c;
}

.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: #5d6b7c;
    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/Announcements/SystemAnnouncementBar.razor.rz.scp.css */
/* Rendszerüzenet-sáv és hírlevél-kérdés a tartalom tetején */

.cf-ann[b-vg40xr3u53],
.cf-consent-prompt[b-vg40xr3u53] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 11px 16px;
    border-radius: 10px;
    margin-bottom: 14px;
    font-size: 0.9rem;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.12);
}

.cf-ann > i[b-vg40xr3u53],
.cf-consent-prompt > i[b-vg40xr3u53] {
    font-size: 1.3rem;
    flex: 0 0 auto;
}

.cf-ann-text[b-vg40xr3u53] {
    flex: 1 1 auto;
    display: flex;
    flex-wrap: wrap;
    gap: 4px 8px;
}

.cf-ann-info[b-vg40xr3u53] {
    background: #1e3a8a;
    color: #ffffff;
}

.cf-ann-success[b-vg40xr3u53] {
    background: #15803d;
    color: #ffffff;
}

.cf-ann-warning[b-vg40xr3u53] {
    background: #f59e0b;
    color: #1f2937;
}

.cf-ann-link[b-vg40xr3u53] {
    background: rgba(255, 255, 255, 0.18);
    border: 1px solid rgba(255, 255, 255, 0.5);
    color: inherit;
    border-radius: 7px;
    padding: 5px 12px;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
}

.cf-ann-warning .cf-ann-link[b-vg40xr3u53] {
    background: rgba(31, 41, 55, 0.08);
    border-color: rgba(31, 41, 55, 0.4);
}

.cf-ann-close[b-vg40xr3u53] {
    background: none;
    border: none;
    color: inherit;
    opacity: 0.8;
    cursor: pointer;
    font-size: 1.1rem;
    padding: 2px 4px;
}

.cf-ann-close:hover[b-vg40xr3u53] {
    opacity: 1;
}

.cf-consent-prompt[b-vg40xr3u53] {
    background: #ffffff;
    border: 1px solid #c7d2fe;
    border-left: 4px solid #1e3a8a;
    color: #1f2937;
}

.cf-consent-prompt > i[b-vg40xr3u53] {
    color: #1e3a8a;
}

.cf-consent-yes[b-vg40xr3u53] {
    background: #16a34a;
    color: #ffffff;
    border: none;
    border-radius: 7px;
    padding: 7px 14px;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
}

.cf-consent-yes:hover:not(:disabled)[b-vg40xr3u53] {
    background: #15803d;
}

.cf-consent-no[b-vg40xr3u53] {
    background: #ffffff;
    color: #334155;
    border: 1px solid #cbd5e1;
    border-radius: 7px;
    padding: 7px 14px;
    cursor: pointer;
    white-space: nowrap;
}

@media (max-width: 700px) {
    .cf-ann[b-vg40xr3u53],
    .cf-consent-prompt[b-vg40xr3u53] {
        flex-wrap: wrap;
    }
}
/* /Components/Shared/Billing/BillingPanel.razor.rz.scp.css */
.bp-panel[b-sxa6bix8qi] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.bp-loading[b-sxa6bix8qi] {
    color: #64748b;
    padding: 12px 0;
}

.bp-info[b-sxa6bix8qi] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border-radius: 8px;
    background: #f1f5f9;
    color: #334155;
}

.bp-info-positive[b-sxa6bix8qi] {
    background: #f0fdf4;
    color: #166534;
    border: 1px solid #bbf7d0;
}

.bp-info-negative[b-sxa6bix8qi] {
    background: #fef2f2;
    color: #b91c1c;
    border: 1px solid #fecaca;
}

.bp-status[b-sxa6bix8qi] {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.bp-status-main[b-sxa6bix8qi] {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 12px;
}

.bp-label[b-sxa6bix8qi] {
    color: #64748b;
    font-size: 0.85rem;
}

.bp-plan[b-sxa6bix8qi] {
    color: #1e3a8a;
    font-size: 1.5rem;
    font-weight: 700;
}

.bp-status-text[b-sxa6bix8qi] {
    color: #334155;
    font-weight: 600;
}

.bp-status-facts[b-sxa6bix8qi] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.bp-fact[b-sxa6bix8qi] {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #334155;
}

.bp-fact-trial[b-sxa6bix8qi] {
    color: #166534;
}

.bp-fact-negative[b-sxa6bix8qi] {
    color: #b91c1c;
}

.bp-actions[b-sxa6bix8qi] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.bp-btn[b-sxa6bix8qi] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-radius: 8px;
    padding: 9px 16px;
    font-weight: 600;
    cursor: pointer;
    border: 1px solid #1e3a8a;
}

.bp-btn-primary[b-sxa6bix8qi] {
    background: #1e3a8a;
    color: #ffffff;
    box-shadow: 0 2px 6px rgba(30, 58, 138, 0.25);
}

.bp-btn-primary:hover[b-sxa6bix8qi] {
    background: #172e6e;
}

.bp-btn-secondary[b-sxa6bix8qi] {
    background: #ffffff;
    color: #1e3a8a;
}

.bp-btn-secondary:hover[b-sxa6bix8qi] {
    background: #eff4ff;
}

.bp-btn:disabled[b-sxa6bix8qi] {
    opacity: 0.6;
    cursor: default;
}

.bp-hint[b-sxa6bix8qi] {
    color: #64748b;
    font-size: 0.82rem;
    margin: 0;
}

.bp-section-title[b-sxa6bix8qi] {
    color: #1e3a8a;
    font-weight: 700;
    margin-top: 4px;
}

.bp-table[b-sxa6bix8qi] {
    width: 100%;
    border-collapse: collapse;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    overflow: hidden;
}

.bp-table th[b-sxa6bix8qi],
.bp-table td[b-sxa6bix8qi] {
    padding: 9px 12px;
    border-bottom: 1px solid #eef2f7;
    text-align: left;
}

.bp-table th[b-sxa6bix8qi] {
    background: #f8fafc;
    color: #475569;
    font-size: 0.8rem;
    font-weight: 600;
}

.bp-num[b-sxa6bix8qi] {
    text-align: right !important;
}

.bp-tag[b-sxa6bix8qi] {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 10px;
    background: #f1f5f9;
    color: #475569;
    font-size: 0.78rem;
}

.bp-tag-positive[b-sxa6bix8qi] {
    background: #dcfce7;
    color: #166534;
}
/* /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: #b45309;
    color: #ffffff;
    border-color: #b45309;
}

.cf-button-warning:hover:not(:disabled)[b-k7231em4tc] {
    background: #d97706;
}
/* /Components/Shared/CompanySwitcher/CompanySwitcher.razor.rz.scp.css */
/* ===== Felső sáv: cégváltó gomb ===== */
.cs-switcher[b-lia3vpgzno] {
    position: relative;
    display: flex;
    align-items: center;
    min-width: 0;
}

.cs-switcher-btn[b-lia3vpgzno] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
    max-width: 100%;
    padding: 0;
    border: none;
    background: transparent;
    color: #ffffff;
    font: inherit;
    font-weight: 600;
    cursor: default;
}

.cs-switcher-btn.cs-has-menu[b-lia3vpgzno] {
    cursor: pointer;
}

.cs-switcher-btn.cs-has-menu:hover .cs-switcher-name[b-lia3vpgzno] {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.cs-switcher-icon[b-lia3vpgzno] {
    color: #22c55e;
    font-size: 0.95rem;
    flex: 0 0 auto;
}

.cs-switcher-name[b-lia3vpgzno] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cs-chevron[b-lia3vpgzno] {
    font-size: 0.85rem;
    color: #cbd5e1;
    transition: transform 0.15s ease;
    flex: 0 0 auto;
}

.cs-chevron.open[b-lia3vpgzno] {
    transform: rotate(180deg);
}

.cs-backdrop[b-lia3vpgzno] {
    position: fixed;
    inset: 0;
    z-index: 190;
    background: transparent;
}

.cs-dropdown[b-lia3vpgzno] {
    position: absolute;
    top: calc(100% + 0.7rem);
    left: 50%;
    transform: translateX(-50%);
    z-index: 200;
    width: 340px;
    max-width: 90vw;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    box-shadow: 0 16px 40px rgba(11, 26, 51, 0.22);
    overflow: hidden;
    color: #1e293b;
}

.cs-dropdown-header[b-lia3vpgzno] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.7rem 0.9rem;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #1a3558;
}

.cs-usage[b-lia3vpgzno] {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
    color: #5d6b7c;
}

.cs-dropdown-list[b-lia3vpgzno] {
    max-height: 320px;
    overflow-y: auto;
    padding: 0.3rem 0;
}

.cs-item[b-lia3vpgzno] {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    width: 100%;
    padding: 0.55rem 0.9rem;
    border: none;
    background: transparent;
    text-align: left;
    color: #1e293b;
    cursor: pointer;
    transition: background 0.12s ease;
}

.cs-item:hover:not(:disabled)[b-lia3vpgzno] {
    background: #f1f5f9;
}

.cs-item:disabled[b-lia3vpgzno] {
    cursor: wait;
}

.cs-item-icon[b-lia3vpgzno] {
    font-size: 1.05rem;
    color: #5d6b7c;
    flex: 0 0 auto;
}

.cs-item-active[b-lia3vpgzno] {
    background: #f0fdf4;
}

.cs-item-active .cs-item-icon[b-lia3vpgzno] {
    color: #15803d;
}

.cs-item-text[b-lia3vpgzno] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.cs-item-name[b-lia3vpgzno] {
    font-size: 0.9rem;
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cs-item-meta[b-lia3vpgzno] {
    font-size: 0.75rem;
    color: #5d6b7c;
}

.cs-divider[b-lia3vpgzno] {
    height: 1px;
    background: #e2e8f0;
}

.cs-new[b-lia3vpgzno] {
    padding-top: 0.7rem;
    padding-bottom: 0.7rem;
}

.cs-new .cs-item-icon[b-lia3vpgzno],
.cs-new .cs-item-name[b-lia3vpgzno] {
    color: #15803d;
}

.cs-limit[b-lia3vpgzno] {
    display: flex;
    gap: 0.55rem;
    padding: 0.7rem 0.9rem;
    font-size: 0.8rem;
    color: #5d6b7c;
    background: #fafafa;
}

.cs-limit i[b-lia3vpgzno] {
    color: #b45309;
    margin-top: 0.1rem;
}

.cs-limit-link[b-lia3vpgzno] {
    margin-left: 0.25rem;
    font-weight: 700;
    color: #1a3558;
}

.cs-spin[b-lia3vpgzno] {
    animation: cs-spin-b-lia3vpgzno 1s linear infinite;
}

@keyframes cs-spin-b-lia3vpgzno {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

/* ===== Fiókom oldal: Cégeim kártya ===== */
.cs-card[b-lia3vpgzno] {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(11, 26, 51, 0.06);
}

.cs-card-header[b-lia3vpgzno] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.8rem 1.25rem;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
}

.cs-card-title[b-lia3vpgzno] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.9rem;
    font-weight: 700;
    color: #1e293b;
}

.cs-card-title i[b-lia3vpgzno] {
    font-size: 1.15rem;
    color: #1a3558;
}

.cs-card-new[b-lia3vpgzno] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.4rem 0.8rem;
    border: none;
    border-radius: 8px;
    background: #15803d;
    color: #ffffff;
    font-size: 0.82rem;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(21, 128, 61, 0.25);
}

.cs-card-new:hover[b-lia3vpgzno] {
    background: #166534;
}

.cs-card-list[b-lia3vpgzno] {
    display: flex;
    flex-direction: column;
}

.cs-card-row[b-lia3vpgzno] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.75rem 1.25rem;
    border-bottom: 1px solid #f1f5f9;
}

.cs-card-row:last-child[b-lia3vpgzno] {
    border-bottom: none;
}

.cs-card-row-active[b-lia3vpgzno] {
    background: #f0fdf4;
}

.cs-card-main[b-lia3vpgzno] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.cs-card-name[b-lia3vpgzno] {
    font-weight: 700;
    color: #0b1a33;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cs-card-meta[b-lia3vpgzno] {
    font-size: 0.78rem;
    color: #5d6b7c;
}

.cs-active-badge[b-lia3vpgzno] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.25rem 0.65rem;
    border-radius: 20px;
    background: #15803d;
    color: #ffffff;
    font-size: 0.72rem;
    font-weight: 700;
    white-space: nowrap;
}

.cs-card-switch[b-lia3vpgzno] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.35rem 0.75rem;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #ffffff;
    color: #1a3558;
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
}

.cs-card-switch:hover:not(:disabled)[b-lia3vpgzno] {
    background: #f1f5f9;
    border-color: #1a3558;
}

.cs-card-empty[b-lia3vpgzno] {
    padding: 1rem 1.25rem;
    color: #5d6b7c;
    font-size: 0.85rem;
}

.cs-note[b-lia3vpgzno] {
    display: flex;
    gap: 0.5rem;
    padding: 0.7rem 1.25rem;
    border-top: 1px solid #e2e8f0;
    background: #f8fafc;
    font-size: 0.8rem;
    color: #5d6b7c;
}

.cs-note-limit i[b-lia3vpgzno] {
    color: #b45309;
}
/* /Components/Shared/CompanySwitcher/NewCompanyModal.razor.rz.scp.css */
/* ===== Új cég modal — navy / fehér / zöld akcentus ===== */
.nc-overlay[b-sdwdusujc3] {
    position: fixed;
    inset: 0;
    background: rgba(11, 26, 51, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1500;
    padding: 1rem;
    backdrop-filter: blur(6px);
}

.nc-panel[b-sdwdusujc3] {
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 24px 64px rgba(11, 26, 51, 0.3);
    width: 100%;
    max-width: 720px;
    max-height: 92vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #e2e8f0;
}

.nc-header[b-sdwdusujc3] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.1rem 1.5rem;
    background: linear-gradient(135deg, #0b1a33 0%, #1a3558 100%);
    border-bottom: 2px solid #16a34a;
}

.nc-header-left[b-sdwdusujc3] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.nc-header-left i[b-sdwdusujc3] {
    font-size: 1.4rem;
    color: #22c55e;
}

.nc-title[b-sdwdusujc3] {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 700;
    color: #ffffff;
}

.nc-close[b-sdwdusujc3] {
    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: #cbd5e1;
    cursor: pointer;
    transition: all 0.15s ease;
}

.nc-close:hover[b-sdwdusujc3] {
    background: rgba(220, 38, 38, 0.2);
    color: #fca5a5;
}

.nc-body[b-sdwdusujc3] {
    padding: 1.25rem 1.5rem;
    overflow-y: auto;
}

.nc-info[b-sdwdusujc3] {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    padding: 0.75rem 1rem;
    margin-bottom: 1.1rem;
    background: #f0f7ff;
    border: 1px solid #cfe0f5;
    border-radius: 10px;
    color: #1e3a5f;
    font-size: 0.9rem;
}

.nc-info i[b-sdwdusujc3] {
    color: #1a3558;
    font-size: 1.1rem;
    margin-top: 0.1rem;
}

.nc-usage[b-sdwdusujc3] {
    color: #5d6b7c;
}

.nc-grid[b-sdwdusujc3] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem 1rem;
}

.nc-full[b-sdwdusujc3] {
    grid-column: 1 / -1;
}

.nc-field[b-sdwdusujc3] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.nc-label[b-sdwdusujc3] {
    font-size: 0.82rem;
    font-weight: 600;
    color: #1e293b;
}

.nc-required[b-sdwdusujc3]::after {
    content: " *";
    color: #dc2626;
}

.nc-field[b-sdwdusujc3]  .nc-input {
    width: 100%;
}

.nc-field-invalid[b-sdwdusujc3]  .nc-input {
    border-color: #dc2626;
    box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.15);
}

.nc-field-invalid .nc-label[b-sdwdusujc3] {
    color: #b91c1c;
}

.nc-subtitle[b-sdwdusujc3] {
    margin-top: 0.4rem;
    padding-top: 0.75rem;
    border-top: 1px solid #e2e8f0;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #5d6b7c;
}

.nc-error[b-sdwdusujc3] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 1rem;
    padding: 0.65rem 0.9rem;
    border-radius: 8px;
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #b91c1c;
    font-size: 0.88rem;
}

.nc-footer[b-sdwdusujc3] {
    display: flex;
    justify-content: flex-end;
    gap: 0.6rem;
    padding: 0.9rem 1.5rem;
    background: #f8fafc;
    border-top: 1px solid #e2e8f0;
}

.nc-btn[b-sdwdusujc3] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.55rem 1.1rem;
    border-radius: 8px;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s ease;
}

.nc-btn:disabled[b-sdwdusujc3] {
    opacity: 0.6;
    cursor: not-allowed;
}

.nc-btn-secondary[b-sdwdusujc3] {
    background: #ffffff;
    border: 1px solid #cbd5e1;
    color: #1e293b;
}

.nc-btn-secondary:hover:not(:disabled)[b-sdwdusujc3] {
    background: #f1f5f9;
}

.nc-btn-primary[b-sdwdusujc3] {
    background: #15803d;
    border: 1px solid #15803d;
    color: #ffffff;
    box-shadow: 0 2px 6px rgba(21, 128, 61, 0.25);
}

.nc-btn-primary:hover:not(:disabled)[b-sdwdusujc3] {
    background: #166534;
}

.nc-spin[b-sdwdusujc3] {
    animation: nc-spin-b-sdwdusujc3 1s linear infinite;
}

@keyframes nc-spin-b-sdwdusujc3 {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

@media (max-width: 600px) {
    .nc-grid[b-sdwdusujc3] {
        grid-template-columns: minmax(0, 1fr);
    }

    .nc-body[b-sdwdusujc3],
    .nc-header[b-sdwdusujc3],
    .nc-footer[b-sdwdusujc3] {
        padding-left: 1rem;
        padding-right: 1rem;
    }
}
/* /Components/Shared/CookieConsent/CookieConsentComponent.razor.rz.scp.css */
/* ===== Süti tájékoztató sáv — alul rögzített, navy/zöld téma ===== */
.cookie-consent[b-74ttqzewgg] {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    /* A sáv a normál tartalom fölött van, de MINDEN modális ALATT (azok 1000-től indulnak).
       2000-en ült korábban, ezért a modálisok alsó gombsorát (Mentés / Törlés) letakarta —
       a kattintás el sem jutott hozzájuk. Ezt eddig egyesével kerülgették: az app.css-ben
       a Bevétel/Kiadás szerkesztő overlay-t kifejezetten „a 2000-es süti-sáv miatt" emelték
       2100-ra. A helyes sorrend: tartalom < süti-sáv < modálisok < Radzen popup < értesítés.
       A projekt legalacsonyabb modális overlay-e 1000-en van, ezért a sáv 950-re kerül. */
    z-index: 950;
    background: rgba(15, 37, 64, 0.98);
    box-shadow: 0 -6px 24px rgba(15, 37, 64, 0.25);
    animation: cookieSlideUp-b-74ttqzewgg 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

@keyframes cookieSlideUp-b-74ttqzewgg {
    from { transform: translateY(100%); }
    to   { transform: translateY(0); }
}

.cookie-consent-inner[b-74ttqzewgg] {
    max-width: 1100px;
    margin: 0 auto;
    padding: 14px 24px;
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
    justify-content: center;
}

.cookie-consent-text[b-74ttqzewgg] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1 1 420px;
    color: #e2e8f0;
    font-size: 0.88rem;
    line-height: 1.55;
    font-family: 'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif;
}

.cookie-consent-text i[b-74ttqzewgg] {
    font-size: 1.5rem;
    color: #10b981;
    flex: 0 0 auto;
}

.cookie-consent-text a[b-74ttqzewgg] {
    color: #6ee7b7;
    font-weight: 600;
    text-decoration: none;
}

.cookie-consent-text a:hover[b-74ttqzewgg] {
    text-decoration: underline;
}

.cookie-consent-btn[b-74ttqzewgg] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, #0c875e, #046e4d);
    color: #fff;
    border: none;
    border-radius: 10px;
    padding: 10px 24px;
    font-size: 0.9rem;
    font-weight: 700;
    font-family: 'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif;
    cursor: pointer;
    transition: transform 0.2s, box-shadow 0.2s;
    box-shadow: 0 4px 14px rgba(16, 185, 129, 0.3);
}

.cookie-consent-btn:hover[b-74ttqzewgg] {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(16, 185, 129, 0.45);
}

@media (max-width: 560px) {
    .cookie-consent-inner[b-74ttqzewgg] {
        padding: 12px 16px;
        gap: 12px;
    }

    .cookie-consent-btn[b-74ttqzewgg] {
        width: 100%;
        justify-content: center;
    }
}

/* ===== Helyfoglaló ===== */
/* A fix sáv kikerül a normál folyamból, ezért a lap alján lévő tartalmat (gombokat)
   letakarná. Ez az üres blokk visszaadja a helyet, hogy a tartalom fölé görgethető legyen. */
.cookie-consent-spacer[b-74ttqzewgg] {
    height: 88px;
    flex: 0 0 auto;
    pointer-events: none;
}

@media (max-width: 560px) {
    .cookie-consent-spacer[b-74ttqzewgg] {
        height: 140px;
    }
}
/* /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: #5d6b7c;
}

/* 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;
}

/* Túl sok fájl: a korlát a mező alatt, a pontos számmal */
.cf-dz-limit[b-2c7hr8c0qp] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.6rem;
    padding: 0.6rem 0.8rem;
    border-radius: 8px;
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #b91c1c;
    font-size: 0.85rem;
    font-weight: 500;
}

.cf-dz-limit i[b-2c7hr8c0qp] {
    font-size: 1rem;
}
/* /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: #15803d;
    color: #ffffff;
    border: 1px solid #16a34a;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s ease;
}

.iw-close-action-btn:hover[b-4lglv8u2e4] {
    background: #166534;
}

/* ===== 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: #15803d;
    color: #ffffff;
}

.iw-cross-yes:hover[b-4lglv8u2e4] {
    background: #166534;
}

.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, #8558ec 0%, #5f62e7 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: #15803d;
    color: #ffffff;
}

.iw-fuzzy-accept:hover[b-4lglv8u2e4] {
    background: #166534;
}

.iw-fuzzy-dismiss[b-4lglv8u2e4] {
    background: #ffffff;
    color: #5d6b7c;
    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: #15803d;
}

.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: #15803d;
    color: #ffffff;
    cursor: pointer;
    font-weight: 600;
    transition: all 0.15s ease;
}

.iw-approve-btn:hover[b-4lglv8u2e4] {
    background: #166534;
}

.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/InvoiceImport/InvoiceImportComponent.razor.rz.scp.css */
/* ==================== Közös kiadás-import panel stílusai ====================
   A Kiadások képernyőről ide költöztetve, hogy a Bankpárosítás ugyanezt a panelt
   ugyanígy jelenítse meg. A shared komponens saját CSS-izolációt kap, ezért a
   szabályoknak itt kell lenniük.
   ==================================================================== */

/* ===== Import overlay ===== */
.exp-import-overlay[b-9oku9mpdvf] {
    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-9oku9mpdvf] {
    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-9oku9mpdvf] {
    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-9oku9mpdvf] {
    font-size: 1.25rem;
    font-weight: 700;
    color: #1e293b;
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin: 0;
}

.exp-import-title i[b-9oku9mpdvf] {
    color: #9f1239;
}

.exp-import-close-btn[b-9oku9mpdvf] {
    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-9oku9mpdvf] {
    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-9oku9mpdvf] {
    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-9oku9mpdvf] {
    flex-shrink: 0;
    color: #059669;
    font-size: 2.5rem;
    line-height: 1;
}

.exp-import-success-text[b-9oku9mpdvf] {
    flex: 1;
    min-width: 0;
}

.exp-import-success-text h4[b-9oku9mpdvf] {
    margin: 0 0 0.25rem 0;
    color: #064e3b;
    font-size: 1.1rem;
    font-weight: 700;
}

.exp-import-success-text p[b-9oku9mpdvf] {
    margin: 0;
    color: #065f46;
    font-size: 0.9rem;
}

.exp-import-success-errors[b-9oku9mpdvf] {
    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-9oku9mpdvf] {
    margin-left: 0.5rem;
    color: #1e3a5f;
    font-weight: 600;
}

.exp-import-success-actions[b-9oku9mpdvf] {
    display: flex;
    gap: 0.75rem;
    flex-shrink: 0;
}

.exp-import-undo-btn[b-9oku9mpdvf] {
    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-9oku9mpdvf] {
    background: #fef2f2;
    border-color: #f87171;
    box-shadow: 0 2px 8px rgba(239, 68, 68, 0.15);
}

.exp-import-undo-btn:disabled[b-9oku9mpdvf] {
    opacity: 0.6;
    cursor: not-allowed;
}

.exp-import-close-success-btn[b-9oku9mpdvf] {
    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-9oku9mpdvf] {
    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-9oku9mpdvf] {
    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-9oku9mpdvf] {
    color: #dc2626;
}

.exp-import-success-banner-error .exp-import-success-text h4[b-9oku9mpdvf] {
    color: #7f1d1d;
}

.exp-import-success-banner-error .exp-import-success-text p[b-9oku9mpdvf] {
    color: #991b1b;
}

.exp-import-success-banner-partial[b-9oku9mpdvf] {
    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-9oku9mpdvf] {
    color: #d97706;
}

.exp-import-success-banner-partial .exp-import-success-text h4[b-9oku9mpdvf] {
    color: #78350f;
}

.exp-import-success-banner-partial .exp-import-success-text p[b-9oku9mpdvf] {
    color: #92400e;
}

/* ===== Hibák részletes listája — banner alatt expandable ===== */
.exp-import-error-section[b-9oku9mpdvf] {
    margin: 0 2rem 1.5rem 2rem;
    border: 1.5px solid #fecaca;
    border-radius: 12px;
    background: #fef9f9;
    overflow: hidden;
}

.exp-import-error-toggle[b-9oku9mpdvf] {
    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-9oku9mpdvf] {
    background: #fee2e2;
}

.exp-import-error-toggle .ti-bug[b-9oku9mpdvf] {
    color: #dc2626;
}

.exp-import-error-list[b-9oku9mpdvf] {
    max-height: 320px;
    overflow-y: auto;
    padding: 0.5rem 0;
}

.exp-import-error-item[b-9oku9mpdvf] {
    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-9oku9mpdvf] {
    border-bottom: none;
}

.exp-import-error-item-label[b-9oku9mpdvf] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    color: #1a3a5c;
    font-size: 0.85rem;
    font-weight: 600;
}

.exp-import-error-item-label .ti[b-9oku9mpdvf] {
    color: #6b7280;
    font-size: 0.95rem;
}

.exp-import-error-item-reason[b-9oku9mpdvf] {
    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-9oku9mpdvf] {
    color: #dc2626;
    font-size: 0.95rem;
}

/* ===== Üres találat — cross-link a komplex importra ===== */
.exp-import-empty[b-9oku9mpdvf] {
    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-9oku9mpdvf] {
    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-9oku9mpdvf] {
    margin: 0;
    color: #0f2a44;
    font-size: 1.1rem;
}

.exp-import-empty p[b-9oku9mpdvf] {
    margin: 0;
    color: #64748b;
    max-width: 480px;
    font-size: 0.9rem;
}

.exp-import-bulk-link[b-9oku9mpdvf] {
    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-9oku9mpdvf] {
    background: #0f2a44;
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(26, 58, 92, 0.3);
}

/* ===== Import feldolgozás ===== */
.exp-import-processing[b-9oku9mpdvf] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem 2rem;
    gap: 1rem;
}

.exp-import-progress-text[b-9oku9mpdvf] {
    font-size: 0.95rem;
    font-weight: 500;
    color: #475569;
}

[b-9oku9mpdvf] .exp-import-progress-bar {
    width: 300px;
    max-width: 100%;
}

/* ===== Import dropzone ===== */
.exp-import-dropzone[b-9oku9mpdvf] {
    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-9oku9mpdvf],
.exp-dropzone-active[b-9oku9mpdvf] {
    border-color: #9f1239;
    background: #ffe4e6;
    box-shadow: 0 0 0 4px rgba(159, 18, 57, 0.08);
}

.exp-import-dropzone-content[b-9oku9mpdvf] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    pointer-events: none;
}

.exp-import-dropzone-icon[b-9oku9mpdvf] {
    font-size: 3rem;
    color: #e11d48;
}

.exp-import-dropzone:hover .exp-import-dropzone-icon[b-9oku9mpdvf] {
    color: #9f1239;
}

.exp-import-dropzone-text[b-9oku9mpdvf] {
    font-size: 1.1rem;
    font-weight: 600;
    color: #475569;
    margin: 0;
}

.exp-import-dropzone-hint[b-9oku9mpdvf] {
    font-size: 0.85rem;
    color: #94a3b8;
    margin: 0;
}

.exp-import-dropzone-formats[b-9oku9mpdvf] {
    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-9oku9mpdvf] {
    display: flex;
    flex-direction: column;
    flex: 1;
    overflow: hidden;
}

.exp-import-preview-header[b-9oku9mpdvf] {
    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-9oku9mpdvf] {
    font-size: 0.85rem;
    color: #9a3412;
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0;
}

.exp-import-select-actions[b-9oku9mpdvf] {
    display: flex;
    gap: 0.5rem;
}

.exp-import-select-btn[b-9oku9mpdvf] {
    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-9oku9mpdvf] {
    background: #f1f5f9;
    border-color: #94a3b8;
}

/* ===== Számla kártyák ===== */
.exp-import-list-wrapper[b-9oku9mpdvf] {
    overflow-y: auto;
    flex: 1;
    max-height: 50vh;
    padding: 1rem 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.exp-invoice-card[b-9oku9mpdvf] {
    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-9oku9mpdvf] {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    border-color: #cbd5e1;
}

.exp-invoice-disabled[b-9oku9mpdvf] {
    opacity: 0.45;
}

/* ===== Duplikált számla figyelmeztetés (import preview) ===== */
.exp-invoice-duplicate[b-9oku9mpdvf] {
    border-color: #fbbf24 !important;
    background: #fffbeb;
    opacity: 1;
}

.exp-invoice-duplicate.exp-invoice-disabled[b-9oku9mpdvf] {
    opacity: 0.85;
}

.exp-invoice-duplicate-banner[b-9oku9mpdvf] {
    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-9oku9mpdvf] {
    color: #d97706;
    font-size: 0.95rem;
}

/* Magyarázat, ha a duplikátum-gyanú számlaszám nélkül, hasonlóság alapján keletkezett */
.exp-invoice-duplicate-hint[b-9oku9mpdvf] {
    font-weight: 500;
    opacity: 0.85;
}

/* ===== "Tanult" kategória jelölés (múltbéli adat alapú javaslat) ===== */
.exp-invoice-category-learned[b-9oku9mpdvf] {
    border-left: 3px solid #16a34a;
    padding-left: 0.5rem;
    background: rgba(22, 163, 74, 0.04);
    border-radius: 4px;
}

.exp-invoice-learned-badge[b-9oku9mpdvf] {
    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: #166534;
    border-radius: 4px;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.exp-invoice-learned-badge i[b-9oku9mpdvf] {
    font-size: 0.7rem;
}

/* ===== Felülről számított adómérték visszafordítva (egyszerűsített számla / nyugta) =====
   A bizonylaton 21,26% látszik, a mezőben 27% — a jelzés megmagyarázza az eltérést. */
.exp-vat-grossbased-hint[b-9oku9mpdvf] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    margin-top: 0.25rem;
    color: #1e3a8a;
    font-size: 0.68rem;
    font-weight: 600;
    line-height: 1.2;
    cursor: help;
}

.exp-vat-grossbased-hint i[b-9oku9mpdvf] {
    font-size: 0.75rem;
    color: #2563eb;
}

/* ===== Sikertelen import elem (AI nem tudta feldolgozni) ===== */
.exp-invoice-failed[b-9oku9mpdvf] {
    border-color: #ef4444 !important;
    background: #fef2f2;
    opacity: 1;
}

.exp-invoice-failed-icon[b-9oku9mpdvf] {
    font-size: 1.5rem;
    color: #dc2626;
}

.exp-invoice-failed-banner[b-9oku9mpdvf] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: #991b1b;
    font-size: 0.92rem;
    margin-bottom: 0.4rem;
}

.exp-invoice-failed-banner i[b-9oku9mpdvf] {
    color: #dc2626;
    font-size: 1rem;
}

.exp-invoice-failed-reason[b-9oku9mpdvf] {
    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-9oku9mpdvf] {
    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-9oku9mpdvf] {
    color: #1a3a5c;
}






/* Opcionális mező jelzés a kötelező csillag helyett (pl. szállító nélküli kategóriánál) */

/* 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-9oku9mpdvf] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.8rem;
    color: #475569;
    cursor: pointer;
    user-select: none;
    white-space: nowrap;
}



/* ===== Forrás fájl jelzés a sikeres elemeknél ===== */
.exp-invoice-source[b-9oku9mpdvf] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    margin-left: 0.75rem;
    font-size: 0.75rem;
    color: #5d6b7c;
    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-9oku9mpdvf] {
    font-size: 0.7rem;
    color: #94a3b8;
}

/* ===== Preview header summary stats ===== */
.exp-import-preview-stats[b-9oku9mpdvf] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin: 0.5rem 0;
}

.exp-import-stat[b-9oku9mpdvf] {
    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-9oku9mpdvf] {
    background: rgba(22, 163, 74, 0.1);
    color: #166534;
}

.exp-import-stat-failed[b-9oku9mpdvf] {
    background: rgba(220, 38, 38, 0.1);
    color: #b91c1c;
}

/* ===== Pénznem szerkesztő (import preview) ===== */
.exp-invoice-currency[b-9oku9mpdvf] {
    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-9oku9mpdvf] {
    background: #fef3c7;
    border-color: #fbbf24;
}

.exp-invoice-currency-warn-text[b-9oku9mpdvf] {
    margin-left: 0.4rem;
    color: #b45309;
    font-size: 0.75rem;
    font-weight: 600;
    font-style: italic;
}

.exp-invoice-check[b-9oku9mpdvf] {
    display: flex;
    align-items: flex-start;
    padding-top: 0.25rem;
}

.exp-invoice-content[b-9oku9mpdvf] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.exp-invoice-top[b-9oku9mpdvf] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.exp-invoice-supplier[b-9oku9mpdvf] {
    font-size: 1rem;
    font-weight: 700;
    color: #1e293b;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.exp-invoice-supplier i[b-9oku9mpdvf] {
    color: #9f1239;
}

.exp-import-badge[b-9oku9mpdvf] {
    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-9oku9mpdvf] {
    background: #dcfce7;
    color: #16a34a;
}

.exp-badge-existing[b-9oku9mpdvf] {
    background: #e0e7ff;
    color: #4338ca;
}

.exp-invoice-details[b-9oku9mpdvf] {
    display: flex;
    gap: 1.5rem;
    flex-wrap: wrap;
}

.exp-invoice-field[b-9oku9mpdvf] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.exp-invoice-label[b-9oku9mpdvf] {
    font-size: 0.7rem;
    color: #94a3b8;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.exp-invoice-value[b-9oku9mpdvf] {
    font-size: 0.9rem;
    color: #475569;
    font-weight: 500;
}

.exp-amount[b-9oku9mpdvf] {
    font-weight: 700;
    color: #1e293b;
}

.exp-amount-gross[b-9oku9mpdvf] {
    color: #9f1239;
}

.exp-invoice-category[b-9oku9mpdvf] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding-top: 0.25rem;
    border-top: 1px solid #f1f5f9;
}

.exp-invoice-cat-label[b-9oku9mpdvf] {
    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-9oku9mpdvf] {
    color: #9f1239;
}

[b-9oku9mpdvf] .exp-invoice-cat-dropdown {
    flex: 1;
    max-width: 300px;
}

.exp-invoice-cat-suggestion[b-9oku9mpdvf] {
    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-9oku9mpdvf] {
    color: #f59e0b;
}

/* ===== Import összesítő ===== */
.exp-import-summary[b-9oku9mpdvf] {
    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-9oku9mpdvf] {
    font-size: 0.85rem;
    font-weight: 600;
    color: #475569;
}

.exp-import-summary-net[b-9oku9mpdvf] {
    font-size: 0.9rem;
    font-weight: 700;
    color: #1e293b;
}

.exp-import-summary-gross[b-9oku9mpdvf] {
    font-size: 0.9rem;
    font-weight: 700;
    color: #9f1239;
}

/* ===== Import műveleti gombok ===== */
.exp-import-actions[b-9oku9mpdvf] {
    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-9oku9mpdvf] {
    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-9oku9mpdvf] {
    background: #f1f5f9;
    border-color: #94a3b8;
}

.exp-import-approve-btn[b-9oku9mpdvf] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.55rem 1.25rem;
    border: none;
    border-radius: 8px;
    background: #15803d;
    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-9oku9mpdvf] {
    background: #166534;
    box-shadow: 0 4px 12px rgba(22, 163, 74, 0.3);
}

.exp-import-cancel-btn[b-9oku9mpdvf] {
    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-9oku9mpdvf] {
    background: #fef2f2;
    border-color: #f87171;
}

.exp-import-saving[b-9oku9mpdvf] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: #475569;
    font-size: 0.85rem;
    font-weight: 500;
}

/* ===== Nettó/bruttó tisztázó modal — import után, ha az AI bizonytalan ===== */
.exp-amount-type-overlay[b-9oku9mpdvf] {
    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-9oku9mpdvf] {
    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-9oku9mpdvf 0.18s ease-out;
}

@keyframes exp-amount-type-pop-b-9oku9mpdvf {
    from { transform: scale(0.92); opacity: 0; }
    to { transform: scale(1); opacity: 1; }
}

.exp-amount-type-header[b-9oku9mpdvf] {
    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-9oku9mpdvf] {
    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-9oku9mpdvf] {
    color: #fbbf24;
}

.exp-amount-type-body[b-9oku9mpdvf] {
    padding: 1.5rem;
    background: #f8fafc;
}

.exp-amount-type-question[b-9oku9mpdvf] {
    margin: 0 0 0.85rem 0;
    font-size: 1rem;
    font-weight: 600;
    color: #1e293b;
    line-height: 1.4;
}

.exp-amount-type-hint[b-9oku9mpdvf] {
    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-9oku9mpdvf] {
    color: #d97706;
    margin-top: 0.15rem;
    flex-shrink: 0;
}

.exp-amount-type-footer[b-9oku9mpdvf] {
    display: flex;
    gap: 0.75rem;
    padding: 1rem 1.5rem;
    background: #ffffff;
    border-top: 1px solid #e2e8f0;
}

.exp-amount-type-btn[b-9oku9mpdvf] {
    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-9oku9mpdvf] {
    border-color: #16a34a;
    color: #15803d;
}

.exp-amount-type-btn-net:hover[b-9oku9mpdvf] {
    background: #15803d;
    color: #ffffff;
    box-shadow: 0 6px 14px rgba(22, 163, 74, 0.35);
    transform: translateY(-1px);
}

.exp-amount-type-btn-gross[b-9oku9mpdvf] {
    border-color: #1a3a5c;
    color: #0f2d52;
}

.exp-amount-type-btn-gross:hover[b-9oku9mpdvf] {
    background: #1a3a5c;
    color: #ffffff;
    box-shadow: 0 6px 14px rgba(26, 58, 92, 0.35);
    transform: translateY(-1px);
}

/* Import előnézet: figyelmeztetés, ha a kulcsonkénti tételek összege eltér a végösszegtől */
.exp-import-vat-mismatch[b-9oku9mpdvf] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    background: #fef3c7;
    border: 1px solid #f59e0b;
    border-radius: 6px;
    color: #92400e;
    font-size: 0.78rem;
    font-weight: 600;
    padding: 0.4rem 0.65rem;
    margin-bottom: 0.5rem;
}

.exp-import-vat-mismatch i[b-9oku9mpdvf] {
    font-size: 0.95rem;
    flex-shrink: 0;
}


/* ===== Partner létrehozása a szállítóból =====
   A kiadásnak nincs partner-hivatkozása, ezért itt a "partnerhez kötés" a törzsadat
   létrehozását jelenti — ugyanaz a lehetőség, mint a bankpárosítás tétel-űrlapján. */


/* A szállító már szerepel a partnerek között — nem ajánlunk duplikátumot */
.exp-invoice-partner-known[b-9oku9mpdvf] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    margin-top: 0.3rem;
    color: #166534;
    font-size: 0.78rem;
    font-weight: 600;
}
/* /Components/Shared/InvoiceItems/InvoiceItemsEditor.razor.rz.scp.css */
/* ============================================================
   Számla-tételek ÁFA-kulcsonként — közös szerkesztő/megjelenítő
   Navy alapszín, zöld pozitív akcentus, enterprise megjelenés
   ============================================================ */

.cf-items[b-4b7wyeuaxh] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 14px 16px;
}

.cf-items-head[b-4b7wyeuaxh] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
}

.cf-items-title[b-4b7wyeuaxh] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.9rem;
    font-weight: 700;
    color: #0f2540;
}

.cf-items-title i[b-4b7wyeuaxh] {
    font-size: 1rem;
    color: #1a3a5c;
}

/* Vegyes ÁFA jelölés — a kulcsok felsorolása egy pillantásra */
.cf-items-mixed[b-4b7wyeuaxh] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: rgba(26, 58, 92, 0.08);
    border: 1px solid rgba(26, 58, 92, 0.25);
    color: #1a3a5c;
    font-size: 0.78rem;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 999px;
}

.cf-items-empty[b-4b7wyeuaxh] {
    color: #64748b;
    font-size: 0.85rem;
    padding: 4px 0;
}

/* Széles tábla vízszintesen görgethető — az oldal maga nem csúszik el */
.cf-items-table-wrap[b-4b7wyeuaxh] {
    overflow-x: auto;
}

.cf-items-table[b-4b7wyeuaxh] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.85rem;
    background: #ffffff;
    border-radius: 8px;
    overflow: hidden;
}

.cf-items-table thead th[b-4b7wyeuaxh] {
    background: #1a3a5c;
    color: #ffffff;
    font-weight: 600;
    text-align: left;
    padding: 8px 10px;
    white-space: nowrap;
}

.cf-items-table tbody td[b-4b7wyeuaxh] {
    padding: 6px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #0f2540;
    vertical-align: middle;
}

.cf-items-table tbody tr:last-child td[b-4b7wyeuaxh] {
    border-bottom: none;
}

.cf-items-col-num[b-4b7wyeuaxh] {
    width: 36px;
    color: #94a3b8;
    text-align: center;
}

.cf-items-col-desc[b-4b7wyeuaxh] {
    min-width: 180px;
}

.cf-items-col-money[b-4b7wyeuaxh] {
    text-align: right;
    white-space: nowrap;
    min-width: 110px;
}

.cf-items-col-vat[b-4b7wyeuaxh] {
    text-align: center;
    width: 90px;
}

.cf-items-col-action[b-4b7wyeuaxh] {
    width: 44px;
    text-align: center;
}

.cf-items-desc-text[b-4b7wyeuaxh] {
    color: #334155;
}

.cf-items-vat-badge[b-4b7wyeuaxh] {
    display: inline-block;
    background: rgba(16, 185, 129, 0.12);
    border: 1px solid rgba(16, 185, 129, 0.4);
    color: #047857;
    font-weight: 700;
    font-size: 0.78rem;
    padding: 2px 8px;
    border-radius: 999px;
}

.cf-items-vat-amount[b-4b7wyeuaxh] {
    color: #475569;
}

/* Összesítő sor — a bizonylat végösszege, kiemelve */
.cf-items-total-row td[b-4b7wyeuaxh] {
    background: #f1f5f9;
    font-weight: 700;
    color: #0f2540;
    border-top: 2px solid #cbd5e1;
    padding: 8px 10px;
    text-align: right;
}

.cf-items-total-row .cf-items-col-desc[b-4b7wyeuaxh] {
    text-align: left;
}

.cf-items-add[b-4b7wyeuaxh] {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #ffffff;
    border: 1px dashed #1a3a5c;
    color: #1a3a5c;
    font-size: 0.83rem;
    font-weight: 600;
    padding: 7px 14px;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s;
    font-family: inherit;
}

    .cf-items-add:hover[b-4b7wyeuaxh] {
        background: rgba(26, 58, 92, 0.06);
        border-style: solid;
        box-shadow: 0 2px 6px rgba(15, 37, 64, 0.12);
    }

.cf-items-remove[b-4b7wyeuaxh] {
    background: transparent;
    border: none;
    color: #5d6b7c;
    cursor: pointer;
    padding: 4px;
    border-radius: 6px;
    transition: all 0.2s;
}

    .cf-items-remove:hover[b-4b7wyeuaxh] {
        background: rgba(220, 38, 38, 0.1);
        color: #dc2626;
    }

/* ===== Kulcsonkénti összesítő kártyák (ÁFA-bevallás alapja) ===== */
.cf-items-summary[b-4b7wyeuaxh] {
    border-top: 1px solid #e2e8f0;
    padding-top: 10px;
}

.cf-items-summary-title[b-4b7wyeuaxh] {
    font-size: 0.8rem;
    font-weight: 700;
    color: #475569;
    margin-bottom: 8px;
}

.cf-items-summary-grid[b-4b7wyeuaxh] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.cf-items-summary-card[b-4b7wyeuaxh] {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-left: 3px solid #10b981;
    border-radius: 8px;
    padding: 10px 12px;
    min-width: 170px;
    box-shadow: 0 1px 3px rgba(15, 37, 64, 0.06);
}

.cf-items-summary-rate[b-4b7wyeuaxh] {
    font-size: 0.95rem;
    font-weight: 800;
    color: #0f2540;
    margin-bottom: 6px;
}

.cf-items-summary-line[b-4b7wyeuaxh] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    font-size: 0.8rem;
    color: #64748b;
    padding: 1px 0;
}

.cf-items-summary-line strong[b-4b7wyeuaxh] {
    color: #0f2540;
}

.cf-items-summary-gross[b-4b7wyeuaxh] {
    border-top: 1px solid #eef2f7;
    margin-top: 4px;
    padding-top: 4px;
}

/* Radzen input-ok illesztése a kompakt táblázathoz.
   ::deep kell hozzá: a class a Radzen GYERMEK komponens gyökerére kerül, arra pedig a
   CSS-izolációs attribútum nem íródik ki — enélkül a szabály nem érvényesülne. */
.cf-items[b-4b7wyeuaxh]  .cf-items-input {
    width: 100%;
    font-size: 0.83rem;
}

.cf-items[b-4b7wyeuaxh]  .cf-items-input-num {
    max-width: 130px;
}

@media (max-width: 640px) {
    .cf-items[b-4b7wyeuaxh] {
        padding: 10px;
    }

    .cf-items-summary-card[b-4b7wyeuaxh] {
        min-width: 100%;
    }
}
/* /Components/Shared/LoginDigest/LoginDigestModal.razor.rz.scp.css */
/* ===== Bejelentkezési összefoglaló — overlay ===== */
.digest-overlay[b-llsnnzfhcz] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(15, 36, 68, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1400;
    padding: 24px;
    animation: digest-fade-in-b-llsnnzfhcz 0.18s ease-out;
}

@keyframes digest-fade-in-b-llsnnzfhcz {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

/* ===== Panel ===== */
.digest-panel[b-llsnnzfhcz] {
    width: 640px;
    max-width: 100%;
    max-height: calc(100vh - 48px);
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 28px 64px rgba(15, 36, 68, 0.32), 0 6px 16px rgba(15, 36, 68, 0.14);
    overflow: hidden;
    animation: digest-slide-up-b-llsnnzfhcz 0.2s ease-out;
}

@keyframes digest-slide-up-b-llsnnzfhcz {
    from {
        transform: translateY(12px);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

/* ===== Fejléc ===== */
.digest-header[b-llsnnzfhcz] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 20px;
    background: #0f2444;
    color: #fff;
}

.digest-header-left[b-llsnnzfhcz] {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}

.digest-header-icon[b-llsnnzfhcz] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    flex-shrink: 0;
    background: rgba(255, 255, 255, 0.12);
    border-radius: 10px;
}

.digest-header-icon i[b-llsnnzfhcz] {
    font-size: 22px;
}

.digest-header-texts[b-llsnnzfhcz] {
    min-width: 0;
}

.digest-title[b-llsnnzfhcz] {
    margin: 0;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.2;
}

.digest-subtitle[b-llsnnzfhcz] {
    display: block;
    margin-top: 3px;
    font-size: 12.5px;
    color: #b6c6dd;
}

.digest-close[b-llsnnzfhcz] {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: transparent;
    border: none;
    border-radius: 8px;
    color: #cbd5e1;
    cursor: pointer;
    transition: background-color 0.15s, color 0.15s;
}

.digest-close:hover[b-llsnnzfhcz] {
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
}

.digest-close i[b-llsnnzfhcz] {
    font-size: 18px;
}

/* ===== Törzs ===== */
.digest-body[b-llsnnzfhcz] {
    flex: 1;
    overflow-y: auto;
    background: #f8fafc;
    padding: 12px;
}

.digest-empty[b-llsnnzfhcz] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 48px 20px;
    color: #64748b;
    text-align: center;
    gap: 10px;
}

.digest-empty i[b-llsnnzfhcz] {
    font-size: 34px;
    color: #94a3b8;
}

.digest-empty span[b-llsnnzfhcz] {
    font-size: 13.5px;
}

.digest-spin[b-llsnnzfhcz] {
    animation: digest-spin-b-llsnnzfhcz 1s linear infinite;
}

@keyframes digest-spin-b-llsnnzfhcz {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

/* ===== Szekció ===== */
.digest-section[b-llsnnzfhcz] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 14px 14px 14px 0;
    margin-bottom: 10px;
    position: relative;
    box-shadow: 0 1px 3px rgba(15, 36, 68, 0.06);
    transition: box-shadow 0.15s, transform 0.15s;
}

.digest-section:hover[b-llsnnzfhcz] {
    box-shadow: 0 6px 16px rgba(15, 36, 68, 0.1);
    transform: translateY(-1px);
}

.digest-section:last-child[b-llsnnzfhcz] {
    margin-bottom: 0;
}

.digest-section-marker[b-llsnnzfhcz] {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    border-radius: 10px 0 0 10px;
}

.digest-severity-critical .digest-section-marker[b-llsnnzfhcz] {
    background: #dc2626;
}

.digest-severity-warning .digest-section-marker[b-llsnnzfhcz] {
    background: #f59e0b;
}

.digest-severity-info .digest-section-marker[b-llsnnzfhcz] {
    background: #16a34a;
}

.digest-section-icon[b-llsnnzfhcz] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    margin-left: 14px;
    flex-shrink: 0;
    border-radius: 9px;
    background: #eef2f7;
    color: #0f2444;
}

.digest-severity-critical .digest-section-icon[b-llsnnzfhcz] {
    background: #fee2e2;
    color: #b91c1c;
}

.digest-severity-warning .digest-section-icon[b-llsnnzfhcz] {
    background: #fef3c7;
    color: #b45309;
}

.digest-severity-info .digest-section-icon[b-llsnnzfhcz] {
    background: #dcfce7;
    color: #15803d;
}

.digest-section-icon i[b-llsnnzfhcz] {
    font-size: 19px;
}

.digest-section-content[b-llsnnzfhcz] {
    flex: 1;
    min-width: 0;
}

.digest-section-head[b-llsnnzfhcz] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 3px;
}

.digest-section-title[b-llsnnzfhcz] {
    font-size: 14px;
    font-weight: 600;
    color: #0f2444;
}

.digest-section-count[b-llsnnzfhcz] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 20px;
    padding: 0 7px;
    border-radius: 10px;
    font-size: 11.5px;
    font-weight: 700;
    background: #e2e8f0;
    color: #334155;
}

.digest-severity-critical .digest-section-count[b-llsnnzfhcz] {
    background: #dc2626;
    color: #fff;
}

.digest-severity-warning .digest-section-count[b-llsnnzfhcz] {
    background: #b45309;
    color: #fff;
}

.digest-severity-info .digest-section-count[b-llsnnzfhcz] {
    background: #15803d;
    color: #fff;
}

.digest-section-desc[b-llsnnzfhcz] {
    font-size: 12.5px;
    color: #64748b;
    line-height: 1.45;
}

.digest-section-details[b-llsnnzfhcz] {
    margin: 7px 0 0 0;
    padding: 0;
    list-style: none;
}

.digest-section-details li[b-llsnnzfhcz] {
    font-size: 12px;
    color: #475569;
    padding: 2px 0 2px 12px;
    position: relative;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.digest-section-details li[b-llsnnzfhcz]::before {
    content: "";
    position: absolute;
    left: 0;
    top: 10px;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #cbd5e1;
}

.digest-section-action[b-llsnnzfhcz] {
    flex-shrink: 0;
    align-self: center;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 7px 12px;
    background: #fff;
    border: 1px solid #cbd5e1;
    border-radius: 7px;
    color: #0f2444;
    font-size: 12.5px;
    font-weight: 500;
    cursor: pointer;
    white-space: nowrap;
    transition: background-color 0.15s, border-color 0.15s, color 0.15s;
}

.digest-section-action:hover[b-llsnnzfhcz] {
    background: #0f2444;
    border-color: #0f2444;
    color: #fff;
}

.digest-section-action i[b-llsnnzfhcz] {
    font-size: 14px;
}

/* ===== Lábléc ===== */
.digest-footer[b-llsnnzfhcz] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 13px 20px;
    background: #fff;
    border-top: 1px solid #e2e8f0;
}

.digest-optout[b-llsnnzfhcz] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12.5px;
    color: #64748b;
    cursor: pointer;
    user-select: none;
}

.digest-optout input[type="checkbox"][b-llsnnzfhcz] {
    width: 15px;
    height: 15px;
    accent-color: #0f2444;
    cursor: pointer;
}

.digest-footer-close[b-llsnnzfhcz] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 18px;
    background: #0f2444;
    border: none;
    border-radius: 7px;
    color: #fff;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.15s;
}

.digest-footer-close:hover[b-llsnnzfhcz] {
    background: #1b3a68;
}

.digest-footer-close i[b-llsnnzfhcz] {
    font-size: 15px;
}

/* ===== Kisebb képernyő ===== */
@media (max-width: 700px) {
    .digest-overlay[b-llsnnzfhcz] {
        padding: 12px;
    }

    .digest-panel[b-llsnnzfhcz] {
        width: 100%;
        max-height: calc(100vh - 24px);
    }

    .digest-section[b-llsnnzfhcz] {
        flex-wrap: wrap;
    }

    .digest-section-action[b-llsnnzfhcz] {
        margin-left: 64px;
    }
}
/* /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: #b45309;
    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: #15803d;
    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: #15803d;
    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: #166534;
}

/* ===== 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%;
    }
}

/* ===== Online fizetés (Stripe) ===== */
/* Havi / éves választó: külön sorban, középen, térközzel; alatta a próbaidő-jelzések és a Portál-gomb */
.upgrade-billing-bar[b-c2xm55sp7l] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 20px 24px 18px;
}

.upgrade-billing-meta[b-c2xm55sp7l] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px 16px;
}

.upgrade-billing-meta:empty[b-c2xm55sp7l] {
    display: none;
}

.upgrade-interval[b-c2xm55sp7l] {
    display: inline-flex;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
}

.upgrade-interval-btn[b-c2xm55sp7l] {
    border: none;
    background: #ffffff;
    color: #1e3a8a;
    padding: 7px 16px;
    font-weight: 600;
    cursor: pointer;
}

.upgrade-interval-btn.active[b-c2xm55sp7l] {
    background: #1e3a8a;
    color: #ffffff;
}

.upgrade-billing-note[b-c2xm55sp7l] {
    color: #16a34a;
    font-weight: 600;
    font-size: 0.88rem;
}

.upgrade-portal-btn[b-c2xm55sp7l] {
    border: 1px solid #1e3a8a;
    background: #ffffff;
    color: #1e3a8a;
    border-radius: 8px;
    padding: 7px 14px;
    font-weight: 600;
    cursor: pointer;
}

.upgrade-portal-btn:hover[b-c2xm55sp7l] {
    background: #eff4ff;
}

.upgrade-billing-info[b-c2xm55sp7l],
.upgrade-billing-error[b-c2xm55sp7l] {
    margin: 0 24px 12px;
    padding: 10px 14px;
    border-radius: 8px;
    font-size: 0.88rem;
}

.upgrade-billing-info[b-c2xm55sp7l] {
    background: #f1f5f9;
    color: #334155;
}

.upgrade-billing-error[b-c2xm55sp7l] {
    background: #fef2f2;
    color: #b91c1c;
    border: 1px solid #fecaca;
}

.upgrade-plan-price[b-c2xm55sp7l] {
    color: #1e3a8a;
    font-weight: 700;
    font-size: 0.95rem;
    margin: -4px 0 10px;
}

/* Fizetős csomag ár nélkül a választott időszakra: magyarázat a hiányzó gomb helyett */
.upgrade-plan-noprice[b-c2xm55sp7l] {
    color: #64748b;
    font-size: 0.8rem;
    line-height: 1.35;
    background: #f1f5f9;
    border-radius: 6px;
    padding: 6px 8px;
    margin: -4px 0 10px;
}
/* /Components/Shared/WaitingStatus/WaitingStatus.razor.rz.scp.css */
/* Hosszabb várakozás élő szövege */
.cf-wait[b-pt5d75p02b] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    text-align: center;
    max-width: 460px;
    margin: 0 auto;
}

.cf-wait-headline[b-pt5d75p02b] {
    color: #64748b;
    font-size: 0.85rem;
}

.cf-wait-step[b-pt5d75p02b] {
    color: #0f2444;
    font-size: 1rem;
    font-weight: 600;
    animation: cf-wait-fade-b-pt5d75p02b 0.45s ease-out;
}

.cf-wait-elapsed[b-pt5d75p02b] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #64748b;
    font-size: 0.8rem;
    font-variant-numeric: tabular-nums;
}

.cf-wait-hint[b-pt5d75p02b] {
    margin-top: 4px;
    padding: 6px 10px;
    border-radius: 6px;
    background-color: #f1f5f9;
    color: #334155;
    font-size: 0.8rem;
    line-height: 1.4;
}

.cf-wait-compact[b-pt5d75p02b] {
    gap: 3px;
}

.cf-wait-compact .cf-wait-step[b-pt5d75p02b] {
    font-size: 0.88rem;
}

.cf-wait-compact .cf-wait-hint[b-pt5d75p02b] {
    font-size: 0.75rem;
}

@keyframes cf-wait-fade-b-pt5d75p02b {
    from {
        opacity: 0;
        transform: translateY(4px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}
