/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-j7fiwz1ldh] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-j7fiwz1ldh] {
    flex: 1;
}

.sidebar[b-j7fiwz1ldh] {
    /* DesignTokens: keine Gradienten — flache Token-Fläche */
    background: var(--fn-bg-alt);
}

.top-row[b-j7fiwz1ldh] {
    background-color: var(--fn-bg-muted);
    border-bottom: var(--fn-border-width) solid var(--fn-border);
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-j7fiwz1ldh]  a, .top-row[b-j7fiwz1ldh]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-j7fiwz1ldh]  a:hover, .top-row[b-j7fiwz1ldh]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-j7fiwz1ldh]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row[b-j7fiwz1ldh] {
        justify-content: space-between;
    }

    .top-row[b-j7fiwz1ldh]  a, .top-row[b-j7fiwz1ldh]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-j7fiwz1ldh] {
        flex-direction: row;
    }

    .sidebar[b-j7fiwz1ldh] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-j7fiwz1ldh] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-j7fiwz1ldh]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-j7fiwz1ldh], article[b-j7fiwz1ldh] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

#blazor-error-ui[b-j7fiwz1ldh] {
    background: var(--fn-warning);
    color: var(--fn-on-primary);
    bottom: 0;
    box-shadow: 0 -1px 2px var(--fn-shadow);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-j7fiwz1ldh] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-6qyn8kyz12],
.components-reconnect-repeated-attempt-visible[b-6qyn8kyz12],
.components-reconnect-failed-visible[b-6qyn8kyz12],
.components-pause-visible[b-6qyn8kyz12],
.components-resume-failed-visible[b-6qyn8kyz12],
.components-rejoining-animation[b-6qyn8kyz12] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-6qyn8kyz12],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-6qyn8kyz12],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-6qyn8kyz12],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-6qyn8kyz12],
#components-reconnect-modal.components-reconnect-retrying[b-6qyn8kyz12],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-6qyn8kyz12],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-6qyn8kyz12],
#components-reconnect-modal.components-reconnect-failed[b-6qyn8kyz12],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-6qyn8kyz12] {
    display: block;
}


#components-reconnect-modal[b-6qyn8kyz12] {
    background-color: var(--fn-surface);
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: var(--fn-radius);
    box-shadow: var(--fn-elevation-3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-6qyn8kyz12 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-6qyn8kyz12 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-6qyn8kyz12 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-6qyn8kyz12]::backdrop {
    background-color: var(--fn-shadow-hover);
    animation: components-reconnect-modal-fadeInOpacity-b-6qyn8kyz12 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-6qyn8kyz12 {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-6qyn8kyz12 {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-6qyn8kyz12 {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-6qyn8kyz12] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-6qyn8kyz12] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-6qyn8kyz12] {
    border: 0;
    background-color: var(--fn-primary);
    color: var(--fn-on-primary);
    padding: 4px 24px;
    border-radius: var(--fn-radius-sm);
}

    #components-reconnect-modal button:hover[b-6qyn8kyz12] {
        background-color: var(--fn-primary-hover);
    }

    #components-reconnect-modal button:active[b-6qyn8kyz12] {
        background-color: var(--fn-primary);
    }

.components-rejoining-animation[b-6qyn8kyz12] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-6qyn8kyz12] {
        position: absolute;
        border: 3px solid var(--fn-primary);
        opacity: 1;
        border-radius: var(--fn-radius-round);
        animation: components-rejoining-animation-b-6qyn8kyz12 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-6qyn8kyz12] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-6qyn8kyz12 {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Localization/LanguageSelector.razor.rz.scp.css */
.language-selector[b-tybfx20oew] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-family: var(--fn-font);
    color: var(--fn-text);
}

.language-selector__label[b-tybfx20oew] {
    font-weight: var(--fn-font-weight-medium);
    color: var(--fn-text-secondary);
}

.language-selector__select[b-tybfx20oew] {
    padding: 0.4rem 0.6rem;
    border-radius: var(--fn-radius-sm);
    border: var(--fn-border-width) solid var(--fn-input-border);
    background: var(--fn-input-bg);
    color: var(--fn-text);
    font-family: inherit;
}

.language-selector__select:focus-visible[b-tybfx20oew] {
    outline: none;
    box-shadow: var(--fn-focus-ring);
    border-color: var(--fn-primary);
}
/* /Components/MarketData/MarketSyncBar.razor.rz.scp.css */
.msync[b-npa5fmq6m6] {
    display: flex;
    flex-direction: column;
    gap: 7px;
    min-width: 280px;
    font-size: 12px;
    color: var(--fn-text-dim, #9fb0c0);
}

.msync-line[b-npa5fmq6m6] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.msync-status[b-npa5fmq6m6] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.msync-status b[b-npa5fmq6m6] {
    color: var(--fn-text, #e7edf3);
    font-weight: 600;
}

.msync-dot[b-npa5fmq6m6] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex: 0 0 auto;
}

.msync-dot.live[b-npa5fmq6m6] {
    background: var(--fn-success, #36c98d);
    box-shadow: 0 0 0 0 rgba(54, 201, 141, .55);
    animation: msync-pulse-b-npa5fmq6m6 2s infinite;
}

.msync-dot.delayed[b-npa5fmq6m6] {
    background: var(--fn-warning, #f5b942);
}

@keyframes msync-pulse-b-npa5fmq6m6 {
    0% { box-shadow: 0 0 0 0 rgba(54, 201, 141, .5); }
    70% { box-shadow: 0 0 0 6px rgba(54, 201, 141, 0); }
    100% { box-shadow: 0 0 0 0 rgba(54, 201, 141, 0); }
}

.msync-btn[b-npa5fmq6m6] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--fn-surface, #161d27);
    border: 1px solid var(--fn-border, #2a3645);
    color: var(--fn-text, #e7edf3);
    border-radius: 7px;
    padding: 5px 11px;
    font-size: 12px;
    cursor: pointer;
    white-space: nowrap;
}

.msync-btn:hover:not(:disabled)[b-npa5fmq6m6] {
    border-color: var(--fn-accent, #3da9fc);
    color: #fff;
}

.msync-btn:disabled[b-npa5fmq6m6] {
    opacity: .6;
    cursor: default;
}

.msync-btn .spin[b-npa5fmq6m6] {
    animation: msync-spin-b-npa5fmq6m6 1s linear infinite;
}

@keyframes msync-spin-b-npa5fmq6m6 {
    to { transform: rotate(360deg); }
}

.msync-prog[b-npa5fmq6m6] {
    height: 4px;
    background: var(--fn-surface, #161d27);
    border-radius: 3px;
    overflow: hidden;
}

.msync-prog > i[b-npa5fmq6m6] {
    display: block;
    height: 100%;
    background: linear-gradient(90deg, var(--fn-accent, #3da9fc), var(--fn-success, #36c98d));
    transition: width .6s ease;
}

.msync-sub[b-npa5fmq6m6] {
    font-size: 11px;
    color: var(--fn-text-faint, #6b7c8d);
}

.msync-src[b-npa5fmq6m6] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.msync-badge[b-npa5fmq6m6] {
    display: inline-block;
    min-width: 20px;
    text-align: center;
    border: var(--fn-border-width) solid var(--fn-border);
    border-radius: 5px;
    padding: 1px 6px;
    font-family: var(--fn-font-mono);
    font-weight: var(--fn-font-weight-bold);
    font-size: 11px;
    color: var(--fn-text-secondary);
}

.msync-badge.delayed[b-npa5fmq6m6] { color: var(--fn-warning); border-color: var(--fn-warning); background: var(--fn-warning-soft); }
.msync-badge.live[b-npa5fmq6m6] { color: var(--fn-success); border-color: var(--fn-success); background: var(--fn-success-soft); }
.msync-delayed[b-npa5fmq6m6] { color: var(--fn-warning); }
.msync-live[b-npa5fmq6m6] { color: var(--fn-success); }
/* /Components/News/MarketNewsSidebar.razor.rz.scp.css */
.ns[b-4t1hthkgmj] {
    width: 340px;
    flex: 0 0 auto;
    background: var(--fn-bg-alt, #161d27);
    border-left: 1px solid var(--fn-border, #2a3645);
    display: flex;
    flex-direction: column;
    position: sticky;
    top: 0;
    height: 100vh;
    color: var(--fn-text, #e7edf3);
}

.ns-collapsed[b-4t1hthkgmj] {
    width: 44px;
    align-items: center;
    padding-top: 12px;
}

.ns-reopen[b-4t1hthkgmj], .ns-collapse[b-4t1hthkgmj] {
    background: none;
    border: 1px solid var(--fn-border, #2a3645);
    border-radius: 6px;
    color: var(--fn-text-secondary, #9fb0c0);
    cursor: pointer;
    /* gleiche Größe wie der linke Sidebar-Toggle (.sn-collapse-btn): 26×26, Icon 14px */
    width: 26px; height: 26px; padding: 0; flex: 0 0 auto;
    display: inline-flex; align-items: center; justify-content: center;
}
.ns-reopen .lucide[b-4t1hthkgmj], .ns-collapse .lucide[b-4t1hthkgmj] { width: 14px; height: 14px; }

.ns-reopen:hover[b-4t1hthkgmj], .ns-collapse:hover[b-4t1hthkgmj] { color: #fff; border-color: var(--fn-accent, #3da9fc); }

/* header */
.ns-h[b-4t1hthkgmj] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 13px 14px;
    border-bottom: 1px solid var(--fn-border, #2a3645);
}
.ns-t[b-4t1hthkgmj] { font-weight: 700; font-size: 14px; display: inline-flex; align-items: center; gap: 7px; }
/* Datum heller (war text-tertiary, kaum lesbar) und vom rechten Rand eingerückt (mehr nach links). */
.ns-date[b-4t1hthkgmj] { color: var(--fn-text-secondary, #9fb0c0); font-size: 11.5px; margin-left: auto; margin-right: 10px; }

/* tabs */
.ns-tabs[b-4t1hthkgmj] { display: flex; gap: 4px; padding: 10px 12px 0; }
.ns-tab[b-4t1hthkgmj] {
    flex: 1;
    background: none;
    border: 1px solid transparent;
    border-bottom: none;
    border-radius: 8px 8px 0 0;
    color: var(--fn-text-secondary, #9fb0c0);
    cursor: pointer;
    padding: 8px 6px;
    font-size: 13px;
}
.ns-tab.on[b-4t1hthkgmj] {
    background: var(--fn-bg, #0f141b);
    color: var(--fn-text, #e7edf3);
    border-color: var(--fn-border, #2a3645);
    font-weight: 600;
}
.ns-badge[b-4t1hthkgmj] { font-size: 10px; background: var(--fn-accent, #3da9fc); color: #04121e; border-radius: 10px; padding: 0 6px; margin-left: 5px; font-weight: 700; }

/* filter chips — positioned a bit lower (Niko 09.06.2026): extra top spacing + divider */
.ns-filter[b-4t1hthkgmj] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 16px 12px 12px;
    margin-top: 4px;
    border-top: 1px solid var(--fn-border, #2a3645);
}
.ns-chip[b-4t1hthkgmj] {
    font-size: 11px;
    color: var(--fn-text-secondary, #9fb0c0);
    background: none;
    border: 1px solid var(--fn-border, #2a3645);
    border-radius: 14px;
    padding: 4px 11px;
    cursor: pointer;
}
.ns-chip.on[b-4t1hthkgmj] { background: var(--fn-accent, #3da9fc); color: #04121e; border-color: var(--fn-accent, #3da9fc); font-weight: 600; }

/* body */
.ns-body[b-4t1hthkgmj] { flex: 1; overflow-y: auto; padding: 10px 12px 16px; }
.ns-group[b-4t1hthkgmj] { font-size: 11px; text-transform: uppercase; letter-spacing: .5px; color: var(--fn-text-tertiary, #6b7c8d); margin: 8px 2px 8px; }
.ns-empty[b-4t1hthkgmj] { color: var(--fn-text-tertiary, #6b7c8d); font-size: 13px; padding: 22px 6px; text-align: center; }

/* feed item */
.ns-item[b-4t1hthkgmj] {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    background: var(--fn-bg, #0f141b);
    border: 1px solid var(--fn-border, #2a3645);
    border-left: 4px solid transparent;
    border-radius: 8px;
    padding: 10px 11px;
    margin-bottom: 8px;
}
.ns-item.event[b-4t1hthkgmj] { border-left-color: var(--fn-warning, #f5b942); }
.ns-item.pinned[b-4t1hthkgmj] { border-left-color: var(--fn-accent, #3da9fc); }
.ns-ico[b-4t1hthkgmj] { flex: 0 0 auto; font-size: 15px; line-height: 1.3; }
.ns-main[b-4t1hthkgmj] { flex: 1; min-width: 0; }
.ns-title[b-4t1hthkgmj] { display: block; font-size: 13px; font-weight: 600; color: var(--fn-text, #e7edf3); text-decoration: none; margin-bottom: 4px; }
.ns-title:hover[b-4t1hthkgmj] { color: var(--fn-accent, #3da9fc); }

/* summary teaser (Variante B — auf Klick ausklappen, Niko-Abnahme 12.06.2026) */
.ns-sum[b-4t1hthkgmj] {
    font-size: 11.5px;
    line-height: 1.45;
    color: var(--fn-text-secondary, #9fb0c0);
    margin: 2px 0 6px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    -webkit-line-clamp: 2;
}
.ns-more[b-4t1hthkgmj] {
    background: none;
    border: none;
    color: var(--fn-accent, #3da9fc);
    cursor: pointer;
    font-size: 11px;
    padding: 0;
    margin: 0 0 5px;
    display: inline-flex;
    align-items: center;
    gap: 3px;
}
.ns-more:hover[b-4t1hthkgmj] { text-decoration: underline; }
.ns-item .ns-sum.collapsible[b-4t1hthkgmj] { display: none; }
.ns-item.open .ns-sum.collapsible[b-4t1hthkgmj] { display: -webkit-box; }
.ns-item.open .ns-more .chev[b-4t1hthkgmj] { transform: rotate(180deg); }
.chev[b-4t1hthkgmj] { display: inline-block; transition: transform .15s; }
.ns-meta[b-4t1hthkgmj] { display: flex; gap: 7px; align-items: center; flex-wrap: wrap; font-size: 11px; color: var(--fn-text-tertiary, #6b7c8d); }
.ns-src[b-4t1hthkgmj] { color: var(--fn-text-secondary, #9fb0c0); }
.ns-tkr[b-4t1hthkgmj] { font-size: 10px; border: 1px solid var(--fn-border, #2a3645); border-radius: 4px; padding: 1px 5px; color: var(--fn-text-secondary, #9fb0c0); }
.ns-tkr.mine[b-4t1hthkgmj] { color: var(--fn-success, #36c98d); border-color: rgba(54,201,141,.4); }
.ns-impact[b-4t1hthkgmj] { font-size: 10px; border-radius: 4px; padding: 1px 5px; background: rgba(245,185,66,.15); color: var(--fn-warning, #f5b942); border: 1px solid rgba(245,185,66,.35); }
.ns-impact.high[b-4t1hthkgmj] { background: rgba(239,107,115,.15); color: var(--fn-danger, #ef6b73); border-color: rgba(239,107,115,.35); }
.ns-pin[b-4t1hthkgmj] {
    flex: 0 0 auto;
    background: none;
    border: 1px solid transparent;
    border-radius: 6px;
    cursor: pointer;
    font-size: 14px;
    padding: 3px 5px;
    opacity: .4;
}
.ns-item:hover .ns-pin[b-4t1hthkgmj] { opacity: .85; }
.ns-pin.on[b-4t1hthkgmj] { opacity: 1; border-color: var(--fn-border, #2a3645); }
/* /Components/Pages/LocalizationDemo.razor.rz.scp.css */
.localization-demo[b-yq6mzu7cep] {
    max-width: 42rem;
    margin: 2rem 0;
    padding: 1.5rem;
    border-radius: var(--fn-radius);
    border: var(--fn-border-width) solid var(--fn-border);
    background: var(--fn-surface);
    box-shadow: var(--fn-elevation-1);
    color: var(--fn-text);
    font-family: var(--fn-font);
}

.localization-demo__title[b-yq6mzu7cep] {
    margin-top: 0;
    color: var(--fn-text);
}

.localization-demo__intro[b-yq6mzu7cep] {
    color: var(--fn-text-secondary);
}

.localization-demo__facts[b-yq6mzu7cep] {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 0.5rem 1.5rem;
    margin: 1.5rem 0;
    padding: 1rem;
    border-radius: var(--fn-radius-sm);
    background: var(--fn-bg-muted);
}

.localization-demo__facts dt[b-yq6mzu7cep] {
    font-weight: var(--fn-font-weight-medium);
    color: var(--fn-text-secondary);
}

.localization-demo__facts dd[b-yq6mzu7cep] {
    margin: 0;
    color: var(--fn-text);
}

.localization-demo__greeting[b-yq6mzu7cep] {
    font-weight: var(--fn-font-weight-bold);
    color: var(--fn-primary);
}

.localization-demo__hint[b-yq6mzu7cep] {
    color: var(--fn-text-tertiary);
    font-size: 0.9rem;
}
/* /Components/Pages/TokenTest.razor.rz.scp.css */
/* Scoped CSS der Token-Testseite — ausschließlich var(--fn-*), keine rohen Hex. */

.tok[b-e1m4za7s4g] {
    max-width: 1100px;
    margin: 0 auto;
    padding: 28px;
    font-family: var(--fn-font);
    color: var(--fn-text);
}

.tok__eyebrow[b-e1m4za7s4g] {
    margin: 0 0 6px;
    color: var(--fn-primary);
    font-size: 12px;
    font-weight: var(--fn-font-weight-bold);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.tok__title[b-e1m4za7s4g] {
    margin: 0 0 6px;
    font-size: 26px;
    font-weight: var(--fn-font-weight-bold);
}

.tok__hint[b-e1m4za7s4g] {
    margin: 0 0 8px;
    color: var(--fn-text-secondary);
}

.tok__hint code[b-e1m4za7s4g] {
    font-family: var(--fn-font-mono);
    color: var(--fn-primary);
}

.tok__group[b-e1m4za7s4g] {
    margin: 26px 0 12px;
    font-size: 13px;
    font-weight: var(--fn-font-weight-medium);
    color: var(--fn-text-secondary);
    text-transform: uppercase;
    letter-spacing: .06em;
    border-bottom: var(--fn-border-width) solid var(--fn-border);
    padding-bottom: 6px;
}

.tok__grid[b-e1m4za7s4g] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 12px;
}

.tok__item[b-e1m4za7s4g] {
    margin: 0;
}

.tok__item figcaption[b-e1m4za7s4g] {
    margin-top: 6px;
    font-family: var(--fn-font-mono);
    font-size: 12px;
    color: var(--fn-text-secondary);
}

.tok__sw[b-e1m4za7s4g] {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 60px;
    border-radius: var(--fn-radius);
    border: var(--fn-border-width) solid var(--fn-border);
    font-weight: var(--fn-font-weight-bold);
}

/* Hintergrund */
.tok__sw--bg[b-e1m4za7s4g]          { background: var(--fn-bg); }
.tok__sw--bg-alt[b-e1m4za7s4g]      { background: var(--fn-bg-alt); }
.tok__sw--bg-muted[b-e1m4za7s4g]    { background: var(--fn-bg-muted); }
.tok__sw--surface[b-e1m4za7s4g]     { background: var(--fn-surface); }
.tok__sw--surface-alt[b-e1m4za7s4g] { background: var(--fn-surface-alt); }
.tok__sw--hover[b-e1m4za7s4g]       { background: var(--fn-hover); }

/* Marke & Text */
.tok__sw--primary[b-e1m4za7s4g]       { background: var(--fn-primary); }
.tok__sw--primary-hover[b-e1m4za7s4g] { background: var(--fn-primary-hover); }
.tok__on-primary[b-e1m4za7s4g]        { color: var(--fn-on-primary); }
.tok__sw--text-sample[b-e1m4za7s4g]   { background: var(--fn-bg-alt); color: var(--fn-text); }
.tok__sw--text-secondary[b-e1m4za7s4g] { color: var(--fn-text-secondary); }
.tok__sw--text-tertiary[b-e1m4za7s4g]  { color: var(--fn-text-tertiary); }

/* Semantisch */
.tok__sw--success[b-e1m4za7s4g] { background: var(--fn-success); }
.tok__sw--warning[b-e1m4za7s4g] { background: var(--fn-warning); }
.tok__sw--danger[b-e1m4za7s4g]  { background: var(--fn-danger); }
.tok__sw--info[b-e1m4za7s4g]    { background: var(--fn-info); }

/* Funktionale Akzent-Palette */
.tok__sw--cat-blue[b-e1m4za7s4g]   { background: var(--fn-cat-blue); }
.tok__sw--cat-purple[b-e1m4za7s4g] { background: var(--fn-cat-purple); }
.tok__sw--cat-pink[b-e1m4za7s4g]   { background: var(--fn-cat-pink); }
.tok__sw--cat-orange[b-e1m4za7s4g] { background: var(--fn-cat-orange); }
.tok__sw--cat-gold[b-e1m4za7s4g]   { background: var(--fn-cat-gold); }
.tok__sw--cat-teal[b-e1m4za7s4g]   { background: var(--fn-cat-teal); }

/* Geometrie & Typografie */
.tok__radius-sm[b-e1m4za7s4g] { border-radius: var(--fn-radius-sm); }
.tok__radius-lg[b-e1m4za7s4g] { border-radius: var(--fn-radius-lg); }
.tok__mono[b-e1m4za7s4g]      { font-family: var(--fn-font-mono); color: var(--fn-text); }
/* /Components/Shared/EmailTemplateDialog.razor.rz.scp.css */
/* E-Mail-Vorlage-Dialog (Niko 13.06.2026): Betreff + Nachricht + Platzhalter-Chips. Nur --fn-*-Tokens. */

.tpl-form[b-vj68s0f58k] {
    gap: 4px;
}

.tpl-scope[b-vj68s0f58k] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 4px;
    font-size: 12.5px;
    color: var(--fn-text-secondary);
}

.tpl-badge[b-vj68s0f58k] {
    font-size: 9.5px;
    font-weight: var(--fn-font-weight-bold);
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--fn-primary);
    border: var(--fn-border-width) solid var(--fn-primary);
    border-radius: 5px;
    padding: 1px 6px;
}

.tpl-chips[b-vj68s0f58k] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 8px;
}

.tpl-chip-group[b-vj68s0f58k] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}

.tpl-chip-label[b-vj68s0f58k] {
    flex: 0 0 84px;
    font-size: 10px;
    font-weight: var(--fn-font-weight-bold);
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--fn-text-tertiary);
}

.tpl-chip[b-vj68s0f58k] {
    border: var(--fn-border-width) solid var(--fn-border);
    background: var(--fn-bg-muted);
    color: var(--fn-text-secondary);
    border-radius: 999px;
    padding: 3px 10px;
    font-size: 11.5px;
    font-family: var(--fn-font);
    cursor: pointer;
    transition: background .14s, color .14s, border-color .14s;
}

.tpl-chip:hover[b-vj68s0f58k] {
    background: var(--fn-primary);
    color: var(--fn-on-primary);
    border-color: var(--fn-primary);
}

.tpl-spacer[b-vj68s0f58k] {
    flex: 1 1 auto;
}

.tpl-reset[b-vj68s0f58k] {
    color: var(--fn-danger);
}
/* /Components/Shared/FnReportHost.razor.rz.scp.css */
/* E-Mail-Composer (Niko 13.06.2026): Empfänger-Block (An/Cc/Bcc), Signatur-Dropdown, ⋮-Menü.
   Ausschließlich --fn-*-Tokens (tokens.css ist die einzige Hex-Quelle). */

.em-compose[b-ghji7imgoq] {
    gap: 4px;
}

.em-recipients[b-ghji7imgoq] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.em-row[b-ghji7imgoq] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.em-row > label[b-ghji7imgoq] {
    flex: 0 0 38px;
    margin-top: 0;
}

.em-row > input[b-ghji7imgoq] {
    flex: 1 1 auto;
}

.em-row-toggles[b-ghji7imgoq] {
    display: flex;
    gap: 4px;
}

.em-toggle[b-ghji7imgoq] {
    border: var(--fn-border-width) solid var(--fn-border);
    background: transparent;
    color: var(--fn-text-tertiary);
    border-radius: 6px;
    padding: 5px 9px;
    font-size: 11px;
    font-weight: var(--fn-font-weight-medium);
    text-transform: uppercase;
    letter-spacing: .06em;
    cursor: pointer;
    font-family: var(--fn-font);
    transition: background .14s, color .14s, border-color .14s;
}

.em-toggle:hover[b-ghji7imgoq] {
    background: var(--fn-bg-muted);
    color: var(--fn-text);
}

.em-toggle-on[b-ghji7imgoq] {
    background: var(--fn-bg-muted);
    color: var(--fn-text);
    border-color: var(--fn-border-strong);
}

.em-row-x[b-ghji7imgoq] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: var(--fn-border-width) solid var(--fn-border);
    background: transparent;
    color: var(--fn-text-tertiary);
    border-radius: 6px;
    cursor: pointer;
    transition: background .14s, color .14s;
}

.em-row-x:hover[b-ghji7imgoq] {
    background: var(--fn-bg-muted);
    color: var(--fn-text);
}

.em-row-x[b-ghji7imgoq]  .lucide,
.em-row-x svg[b-ghji7imgoq] {
    width: 14px;
    height: 14px;
}

.em-hint[b-ghji7imgoq] {
    margin: 0 0 2px 46px;
    font-size: 11.5px;
}

.em-msg-head[b-ghji7imgoq] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.em-msg-tools[b-ghji7imgoq] {
    position: relative;
    display: flex;
    align-items: center;
    gap: 6px;
}

.em-sig-select[b-ghji7imgoq] {
    max-width: 200px;
}

.em-kebab[b-ghji7imgoq] {
    padding: 6px 8px;
}

.em-kebab[b-ghji7imgoq]  .lucide,
.em-kebab svg[b-ghji7imgoq] {
    width: 15px;
    height: 15px;
}

.em-menu[b-ghji7imgoq] {
    position: absolute;
    top: calc(100% + 4px);
    right: 0;
    z-index: 20;
    min-width: 220px;
    display: flex;
    flex-direction: column;
    padding: 4px;
    background: var(--fn-bg-alt);
    border: var(--fn-border-width) solid var(--fn-border);
    border-radius: 10px;
    box-shadow: 0 8px 24px var(--fn-shadow);
}

.em-menu-item[b-ghji7imgoq] {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 8px 10px;
    background: transparent;
    border: 0;
    border-radius: 7px;
    color: var(--fn-text-secondary);
    font-size: 12.5px;
    font-family: var(--fn-font);
    text-align: left;
    cursor: pointer;
    transition: background .14s, color .14s;
}

.em-menu-item:hover[b-ghji7imgoq] {
    background: var(--fn-bg-muted);
    color: var(--fn-text);
}

.em-menu-item svg[b-ghji7imgoq] {
    width: 14px;
    height: 14px;
}
/* /Components/Shared/SignatureManagerDialog.razor.rz.scp.css */
/* Signaturen-Manager (Niko 13.06.2026): Liste links, Editor rechts. Nur --fn-*-Tokens. */

.sig-layout[b-so4v8ukc1b] {
    display: flex;
    gap: 14px;
    height: 100%;
}

.sig-list[b-so4v8ukc1b] {
    flex: 0 0 220px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    overflow-y: auto;
    border-right: var(--fn-border-width) solid var(--fn-border);
    padding-right: 12px;
}

.sig-new[b-so4v8ukc1b] {
    justify-content: flex-start;
    margin-bottom: 6px;
}

.sig-new svg[b-so4v8ukc1b] {
    width: 14px;
    height: 14px;
}

.sig-empty[b-so4v8ukc1b] {
    font-size: 12px;
    color: var(--fn-text-tertiary);
    margin: 4px 2px;
}

.sig-item[b-so4v8ukc1b] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 7px 8px;
    border-radius: 7px;
    cursor: pointer;
    transition: background .14s;
}

.sig-item:hover[b-so4v8ukc1b] {
    background: var(--fn-bg-muted);
}

.sig-item-active[b-so4v8ukc1b] {
    background: var(--fn-bg-muted);
}

.sig-item-name[b-so4v8ukc1b] {
    flex: 1 1 auto;
    font-size: 13px;
    color: var(--fn-text);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sig-badge[b-so4v8ukc1b] {
    font-size: 9.5px;
    font-weight: var(--fn-font-weight-bold);
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--fn-primary);
    border: var(--fn-border-width) solid var(--fn-primary);
    border-radius: 5px;
    padding: 1px 5px;
}

.sig-del[b-so4v8ukc1b] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border: 0;
    background: transparent;
    color: var(--fn-text-tertiary);
    border-radius: 5px;
    cursor: pointer;
    transition: background .14s, color .14s;
}

.sig-del:hover[b-so4v8ukc1b] {
    background: var(--fn-bg-muted);
    color: var(--fn-danger);
}

.sig-del svg[b-so4v8ukc1b] {
    width: 14px;
    height: 14px;
}

.sig-editor[b-so4v8ukc1b] {
    flex: 1 1 auto;
    min-width: 0;
}

.sig-default-toggle[b-so4v8ukc1b] {
    display: flex;
    align-items: center;
    gap: 8px;
    text-transform: none;
    letter-spacing: normal;
    font-size: 12.5px;
    color: var(--fn-text-secondary);
    margin-top: 8px;
}

.sig-default-toggle input[b-so4v8ukc1b] {
    width: auto;
    flex: 0 0 auto;
}
