/* /Components/Billing/GatewayConfigModal.razor.rz.scp.css */
.gc-head[b-shszml6boc] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.gc-head-text[b-shszml6boc] {
    display: grid;
}

.gc-name[b-shszml6boc] {
    font-weight: 700;
}

.gc-muted[b-shszml6boc] {
    color: var(--text-muted);
    font-size: 0.8rem;
}

.gc-gap[b-shszml6boc] {
    margin-block-start: 0.9rem;
}

.gc-fields[b-shszml6boc] {
    display: grid;
    gap: 0.75rem;
    min-width: 0;
    margin: 1rem 0 0;
    padding: 0;
    border: 0;
}

.gc-row[b-shszml6boc] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.75rem;
}

.gc-pill[b-shszml6boc] {
    padding: 0.1rem 0.55rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 600;
}

.tone-warning[b-shszml6boc] {
    background: var(--warning-soft);
    color: var(--warning);
}

.gc-section[b-shszml6boc] {
    padding-block-start: 0.75rem;
    border-block-start: 1px solid var(--border);
}

.gc-label[b-shszml6boc] {
    margin-block-end: 0.25rem;
    font-size: 0.85rem;
    font-weight: 700;
}

.gc-currencies[b-shszml6boc] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-block-start: 0.4rem;
}

.gc-currency[b-shszml6boc] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.35rem 0.7rem;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    font-family: var(--font-mono);
    font-size: 0.8rem;
    font-weight: 700;
    cursor: pointer;
}

.gc-currency:has(input:checked)[b-shszml6boc] {
    border-color: color-mix(in srgb, var(--primary) 50%, transparent);
    background: var(--primary-soft);
    color: var(--primary);
}

.gc-credential[b-shszml6boc] {
    display: grid;
}

.gc-set[b-shszml6boc] {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    margin-inline-start: 0.4rem;
    padding: 0 0.4rem;
    border-radius: var(--radius-sm);
    background: var(--success-soft);
    color: var(--success);
    font-family: var(--font-mono);
    font-size: 0.68rem;
    font-weight: 600;
}

.gc-input[b-shszml6boc] {
    position: relative;
    display: flex;
}

.gc-input .input[b-shszml6boc] {
    padding-inline-end: 2.6rem;
    font-family: var(--font-mono);
    font-size: 0.85rem;
}

.gc-reveal[b-shszml6boc] {
    position: absolute;
    inset-block: 0;
    inset-inline-end: 0.15rem;
    width: 2.3rem;
    height: auto;
}
/* /Components/Billing/InvoicePreviewModal.razor.rz.scp.css */
.ip-banner[b-zehwxvovb2] {
    align-items: center;
    margin-block-end: 1rem;
}

.ip-banner > span[b-zehwxvovb2] {
    flex: 1;
}

/* The "desk" the paper lies on: a neutral backdrop that makes the page edges visible in both themes. */
.ip-desk[b-zehwxvovb2] {
    margin: -1.25rem;
    padding: 1.5rem;
    background: var(--bg);
}

.ip-skeleton[b-zehwxvovb2] {
    display: grid;
    gap: 0.75rem;
}

.ip-shimmer[b-zehwxvovb2] {
    display: block;
    height: 4rem;
    border-radius: var(--radius);
    background: linear-gradient(90deg, var(--surface-2), var(--surface-hover), var(--surface-2));
    background-size: 200% 100%;
    animation: ip-shimmer-b-zehwxvovb2 1.2s linear infinite;
}

.ip-shimmer.is-tall[b-zehwxvovb2] {
    height: 12rem;
}

@keyframes ip-shimmer-b-zehwxvovb2 {
    to { background-position: -200% 0; }
}

.ip-spacer[b-zehwxvovb2] {
    flex: 1;
}

@media (max-width: 640px) {
    .ip-desk[b-zehwxvovb2] {
        padding: 0.75rem;
    }
}
/* /Components/Billing/InvoicePrintTemplate.razor.rz.scp.css */
/* The paper follows the app theme on screen; printing happens in a light-themed frame, see eyeVoipUi.printElement. */
.inv-paper[b-xxo76t2yio] {
    position: relative;
    max-width: 210mm;
    margin-inline: auto;
    padding: 2.25rem 2.5rem;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--surface);
    box-shadow: var(--shadow);
    color: var(--text);
    font-size: 0.85rem;
    line-height: 1.5;
}

.inv-paper p[b-xxo76t2yio] {
    margin: 0;
}

.inv-pre[b-xxo76t2yio] {
    white-space: pre-line;
}

.inv-label[b-xxo76t2yio] {
    margin-block-end: 0.35rem !important;
    color: var(--text-muted);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

/* ---- Header ---- */
.inv-head[b-xxo76t2yio] {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 1.5rem;
    padding-block-end: 1.25rem;
    border-block-end: 3px solid var(--primary-solid);
}

.inv-brand[b-xxo76t2yio] {
    display: flex;
    gap: 0.9rem;
    max-width: 22rem;
}

.inv-logo[b-xxo76t2yio] {
    flex: none;
    width: 3.25rem;
    height: 3.25rem;
    border-radius: var(--radius);
    object-fit: contain;
}

.inv-logo-mark[b-xxo76t2yio] {
    display: grid;
    place-items: center;
    background: var(--primary-solid);
    color: #fff;
    font-size: 1.1rem;
    font-weight: 800;
}

.inv-seller[b-xxo76t2yio] {
    display: grid;
    gap: 0.1rem;
    color: var(--text-muted);
    font-size: 0.78rem;
}

.inv-company[b-xxo76t2yio] {
    color: var(--text);
    font-size: 1.1rem;
    font-weight: 800;
}

.inv-contact[b-xxo76t2yio] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.15rem 0.75rem;
}

.inv-title[b-xxo76t2yio] {
    display: grid;
    align-content: start;
    justify-items: end;
    gap: 0.6rem;
    text-align: end;
}

.inv-doc[b-xxo76t2yio] {
    color: var(--primary);
    font-size: 1.6rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.inv-meta[b-xxo76t2yio] {
    display: grid;
    gap: 0.15rem;
    margin: 0;
    font-size: 0.8rem;
}

.inv-meta > div[b-xxo76t2yio] {
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
}

.inv-meta dt[b-xxo76t2yio] {
    color: var(--text-muted);
}

.inv-meta dd[b-xxo76t2yio] {
    min-width: 7.5rem;
    margin: 0;
    font-weight: 600;
}

/* ---- Parties ---- */
.inv-parties[b-xxo76t2yio] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 15rem);
    gap: 1.5rem;
    margin-block: 1.5rem;
}

.inv-party[b-xxo76t2yio] {
    display: grid;
    align-content: start;
    gap: 0.1rem;
    color: var(--text-muted);
}

.inv-party-name[b-xxo76t2yio] {
    color: var(--text);
    font-size: 1rem;
    font-weight: 700;
}

.inv-due[b-xxo76t2yio] {
    display: grid;
    align-content: center;
    gap: 0.15rem;
    padding: 1rem 1.1rem;
    border-radius: var(--radius);
    text-align: end;
}

.inv-due.is-open[b-xxo76t2yio] {
    background: var(--primary-soft);
}

.inv-due.is-settled[b-xxo76t2yio] {
    background: var(--success-soft);
}

.inv-due-amount[b-xxo76t2yio] {
    font-size: 1.45rem;
    font-weight: 800;
}

.inv-due-note[b-xxo76t2yio] {
    color: var(--text-muted);
    font-size: 0.78rem;
}

/* ---- Lines ---- */
.inv-lines[b-xxo76t2yio] {
    width: 100%;
    border-collapse: collapse;
}

.inv-lines th[b-xxo76t2yio] {
    padding: 0.55rem 0.6rem;
    background: var(--surface-2);
    color: var(--text-muted);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-align: start;
    text-transform: uppercase;
}

.inv-lines td[b-xxo76t2yio] {
    padding: 0.65rem 0.6rem;
    border-block-end: 1px solid var(--border);
    vertical-align: top;
}

.inv-lines .c-n[b-xxo76t2yio] {
    width: 2.25rem;
    color: var(--text-muted);
}

.inv-lines .c-q[b-xxo76t2yio] {
    width: 4rem;
    text-align: center;
}

.inv-lines .c-m[b-xxo76t2yio] {
    width: 8.5rem;
    text-align: end;
    white-space: nowrap;
}

.inv-line-name[b-xxo76t2yio] {
    display: block;
    font-weight: 600;
}

.inv-line-meta[b-xxo76t2yio] {
    color: var(--text-muted);
    font-size: 0.75rem;
}

.inv-lines-compact td[b-xxo76t2yio] {
    padding-block: 0.45rem;
    font-size: 0.8rem;
}

/* ---- Totals ---- */
.inv-bottom[b-xxo76t2yio] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 17rem);
    gap: 1.5rem;
    margin-block: 1.25rem 1.5rem;
}

.inv-notes[b-xxo76t2yio] {
    color: var(--text-muted);
    font-size: 0.8rem;
}

.inv-fx[b-xxo76t2yio] {
    margin-block-start: 0.75rem !important;
    padding: 0.5rem 0.65rem;
    border: 1px dashed var(--border);
    border-radius: var(--radius-sm);
}

.inv-fx-rate[b-xxo76t2yio] {
    font-size: 0.72rem;
}

.inv-totals[b-xxo76t2yio] {
    display: grid;
    gap: 0.35rem;
    margin: 0;
}

.inv-totals > div[b-xxo76t2yio] {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}

.inv-totals dt[b-xxo76t2yio] {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    color: var(--text-muted);
}

.inv-totals dd[b-xxo76t2yio] {
    margin: 0;
    text-align: end;
    white-space: nowrap;
}

.inv-totals .is-total[b-xxo76t2yio] {
    margin-block-start: 0.25rem;
    padding: 0.55rem 0.7rem;
    border-radius: var(--radius-sm);
    background: var(--primary-solid);
    color: #fff;
    font-size: 1rem;
    font-weight: 800;
}

.inv-totals .is-total dt[b-xxo76t2yio] {
    color: inherit;
}

.inv-totals .is-balance dd[b-xxo76t2yio] {
    font-weight: 800;
}

.inv-code[b-xxo76t2yio] {
    padding: 0 0.35rem;
    border: 1px dashed var(--border);
    border-radius: var(--radius-sm);
    font-family: var(--font-mono);
    font-size: 0.68rem;
}

.inv-payments[b-xxo76t2yio] {
    margin-block-end: 1.5rem;
}

/* ---- Validation stamp ---- */
.inv-stamp[b-xxo76t2yio] {
    position: absolute;
    inset-block-start: 9.5rem;
    inset-inline-end: 2.5rem;
    display: grid;
    justify-items: center;
    padding: 0.4rem 1.1rem;
    border: 4px double currentColor;
    border-radius: 0.5rem;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    opacity: 0.82;
    pointer-events: none;
    transform: rotate(-12deg);
}

[dir="rtl"] .inv-stamp[b-xxo76t2yio] {
    transform: rotate(12deg);
}

.inv-stamp-title[b-xxo76t2yio] {
    font-size: 1.5rem;
    line-height: 1.2;
}

.inv-stamp-detail[b-xxo76t2yio] {
    font-size: 0.66rem;
    letter-spacing: 0.04em;
}

.stamp-paid[b-xxo76t2yio] { color: var(--success); }
.stamp-partial[b-xxo76t2yio] { color: var(--info); }
.stamp-overdue[b-xxo76t2yio] { color: var(--danger); }
.stamp-void[b-xxo76t2yio] { color: var(--neutral); }
.stamp-refunded[b-xxo76t2yio] { color: var(--warning); }

/* ---- Footer ---- */
.inv-foot[b-xxo76t2yio] {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0.5rem 1rem;
    padding-block-start: 0.9rem;
    border-block-start: 1px solid var(--border);
    color: var(--text-muted);
    font-size: 0.72rem;
}

@media (max-width: 640px) {
    .inv-paper[b-xxo76t2yio] {
        padding: 1.25rem;
    }

    .inv-parties[b-xxo76t2yio],
    .inv-bottom[b-xxo76t2yio] {
        grid-template-columns: minmax(0, 1fr);
    }

    .inv-title[b-xxo76t2yio] {
        justify-items: start;
        text-align: start;
    }

    .inv-stamp[b-xxo76t2yio] {
        inset-block-start: 1rem;
        inset-inline-end: 1rem;
    }
}

/* Paper output: no card chrome, full width, and keep rows / totals from splitting across pages. */
@media print {
    .inv-paper[b-xxo76t2yio] {
        max-width: none;
        padding: 0;
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }

    .inv-lines tr[b-xxo76t2yio],
    .inv-bottom[b-xxo76t2yio],
    .inv-foot[b-xxo76t2yio] {
        break-inside: avoid;
    }

    .inv-lines thead[b-xxo76t2yio] {
        display: table-header-group;
    }
}
/* /Components/Billing/InvoiceReminderDialog.razor.rz.scp.css */
.ir-summary[b-jzfvz05rrt] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 0.85rem;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--surface-2);
}

.ir-icon[b-jzfvz05rrt] {
    display: grid;
    flex: none;
    place-items: center;
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 50%;
    background: var(--primary-soft);
    color: var(--primary);
}

.ir-text[b-jzfvz05rrt] {
    display: grid;
    flex: 1;
    min-width: 0;
    justify-items: start;
    gap: 0.15rem;
}

.ir-muted[b-jzfvz05rrt] {
    overflow: hidden;
    max-width: 100%;
    color: var(--text-muted);
    font-size: 0.8rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ir-last[b-jzfvz05rrt] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    margin-block-start: 0.75rem;
    color: var(--text-muted);
    font-size: 0.8rem;
}

.ir-gap[b-jzfvz05rrt] {
    margin-block-start: 0.75rem;
}
/* /Components/Billing/MoneyAmount.razor.rz.scp.css */
.money[b-kuvicu96xu] {
    display: inline-grid;
    gap: 0.05rem;
    line-height: 1.3;
}

.money.align-end[b-kuvicu96xu] {
    justify-items: end;
    text-align: end;
}

.money.align-start[b-kuvicu96xu] {
    justify-items: start;
}

.money-main[b-kuvicu96xu] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    white-space: nowrap;
}

.money-value[b-kuvicu96xu] {
    font-weight: 500;
}

.is-strong .money-value[b-kuvicu96xu] {
    font-weight: 700;
}

.money-alt[b-kuvicu96xu] {
    color: var(--text-muted);
    font-size: 0.72rem;
    white-space: nowrap;
    cursor: help;
}

.cur-chip[b-kuvicu96xu] {
    display: inline-block;
    padding: 0 0.35rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--surface-2);
    color: var(--text-muted);
    font-family: var(--font-mono);
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.5;
}

.cur-irr[b-kuvicu96xu] {
    border-color: color-mix(in srgb, var(--success) 35%, transparent);
    background: var(--success-soft);
    color: var(--success);
}

.cur-usd[b-kuvicu96xu] {
    border-color: color-mix(in srgb, var(--info) 35%, transparent);
    background: var(--info-soft);
    color: var(--info);
}
/* /Components/Billing/OrderActionDialog.razor.rz.scp.css */
.oa-summary[b-r7jgno2ayv] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 0.85rem;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--surface-2);
}

.oa-icon[b-r7jgno2ayv] {
    display: grid;
    flex: none;
    place-items: center;
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 50%;
}

.tone-success[b-r7jgno2ayv] { background: var(--success-soft); color: var(--success); }
.tone-danger[b-r7jgno2ayv] { background: var(--danger-soft); color: var(--danger); }

.oa-summary-text[b-r7jgno2ayv] {
    display: grid;
    flex: 1;
    min-width: 0;
    justify-items: start;
    gap: 0.15rem;
}

.oa-muted[b-r7jgno2ayv] {
    overflow: hidden;
    color: var(--text-muted);
    font-size: 0.8rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.oa-text[b-r7jgno2ayv] {
    margin-block-start: 0.9rem;
    color: var(--text-muted);
    font-size: 0.875rem;
}

.oa-error[b-r7jgno2ayv] {
    margin-block-start: 0.9rem;
}

.oa-choice[b-r7jgno2ayv] {
    display: grid;
    gap: 0.4rem;
    margin-block-start: 0.9rem;
}

.oa-radio[b-r7jgno2ayv] {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.55rem 0.7rem;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    font-size: 0.875rem;
    cursor: pointer;
}

.oa-radio:has(input:checked)[b-r7jgno2ayv] {
    border-color: color-mix(in srgb, var(--primary) 50%, transparent);
    background: var(--primary-soft);
}

.oa-amount[b-r7jgno2ayv] {
    display: flex;
    align-items: stretch;
}

.oa-amount .input[b-r7jgno2ayv] {
    border-start-end-radius: 0;
    border-end-end-radius: 0;
}

.cur-tag[b-r7jgno2ayv] {
    display: grid;
    place-items: center;
    padding-inline: 0.7rem;
    border: 1px solid var(--border);
    border-inline-start: 0;
    border-start-end-radius: var(--radius);
    border-end-end-radius: var(--radius);
    background: var(--surface-2);
    color: var(--text-muted);
    font-family: var(--font-mono);
    font-size: 0.75rem;
    font-weight: 700;
}
/* /Components/Billing/OrderDetailsModal.razor.rz.scp.css */
.od-banner[b-w6tvr8xzn4] {
    align-items: center;
    margin-block-end: 1rem;
}

.od-banner > span[b-w6tvr8xzn4] {
    flex: 1;
}

.od-skeleton[b-w6tvr8xzn4] {
    display: grid;
    gap: 0.75rem;
}

.od-shimmer[b-w6tvr8xzn4] {
    display: block;
    height: 3.5rem;
    border-radius: var(--radius);
    background: linear-gradient(90deg, var(--surface-2), var(--surface-hover), var(--surface-2));
    background-size: 200% 100%;
    animation: od-shimmer-b-w6tvr8xzn4 1.2s linear infinite;
}

@keyframes od-shimmer-b-w6tvr8xzn4 {
    to { background-position: -200% 0; }
}

/* ---- Header ---- */
.od-head[b-w6tvr8xzn4] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
    gap: 0.75rem;
    margin-block-end: 1rem;
}

.od-head-block[b-w6tvr8xzn4] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.35rem;
    padding: 0.85rem 1rem;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--surface-2);
}

.od-label[b-w6tvr8xzn4] {
    color: var(--text-muted);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.od-strong[b-w6tvr8xzn4] {
    font-weight: 600;
}

.od-muted[b-w6tvr8xzn4] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    color: var(--text-muted);
    font-size: 0.8rem;
}

.od-small[b-w6tvr8xzn4] {
    font-size: 0.75rem;
}

.od-copy[b-w6tvr8xzn4] {
    width: 1.75rem;
    height: 1.75rem;
}

.od-note[b-w6tvr8xzn4] {
    margin-block-end: 1rem;
}

/* ---- Sections ---- */
.od-section[b-w6tvr8xzn4] {
    margin-block-end: 1.25rem;
}

.od-title[b-w6tvr8xzn4] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin-block-end: 0.6rem;
    font-size: 0.95rem;
}

.od-title .icon[b-w6tvr8xzn4] {
    color: var(--primary);
}

.od-card[b-w6tvr8xzn4] {
    padding: 1rem;
    border: 1px solid var(--border);
    border-radius: var(--radius);
}

.od-grid[b-w6tvr8xzn4] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
    margin-block-end: 1.25rem;
}

.od-grid .od-section[b-w6tvr8xzn4] {
    margin-block-end: 0;
}

@media (min-width: 760px) {
    .od-grid[b-w6tvr8xzn4] {
        grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    }
}

/* ---- Items table ---- */
.od-table-wrap[b-w6tvr8xzn4] {
    overflow-x: auto;
    border: 1px solid var(--border);
    border-radius: var(--radius);
}

.od-table[b-w6tvr8xzn4] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.85rem;
}

.od-table th[b-w6tvr8xzn4] {
    padding: 0.55rem 0.75rem;
    border-block-end: 1px solid var(--border);
    background: var(--surface-2);
    color: var(--text-muted);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-align: start;
    text-transform: uppercase;
    white-space: nowrap;
}

.od-table td[b-w6tvr8xzn4] {
    padding: 0.6rem 0.75rem;
    border-block-end: 1px solid var(--border);
    vertical-align: middle;
}

.od-table tbody tr:last-child td[b-w6tvr8xzn4] {
    border-block-end: 0;
}

.od-table .end[b-w6tvr8xzn4] {
    text-align: end;
}

.od-table .center[b-w6tvr8xzn4] {
    text-align: center;
}

/* ---- Pricing breakdown ---- */
.od-breakdown[b-w6tvr8xzn4] {
    display: grid;
    gap: 0.45rem;
    margin: 0;
    font-size: 0.875rem;
}

.od-breakdown > div[b-w6tvr8xzn4] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.od-breakdown dt[b-w6tvr8xzn4] {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
    color: var(--text-muted);
}

.od-breakdown dd[b-w6tvr8xzn4] {
    margin: 0;
    text-align: end;
}

.od-breakdown .is-discount dd[b-w6tvr8xzn4] {
    color: var(--success);
}

.od-breakdown .is-total[b-w6tvr8xzn4] {
    margin-block-start: 0.2rem;
    padding-block-start: 0.6rem;
    border-block-start: 1px dashed var(--border);
}

.od-breakdown .is-total dt[b-w6tvr8xzn4] {
    color: var(--text);
    font-weight: 700;
}

.od-breakdown .is-due dd[b-w6tvr8xzn4] {
    color: var(--danger);
    font-weight: 700;
}

.od-paid[b-w6tvr8xzn4] {
    color: var(--success);
}

.od-coupon[b-w6tvr8xzn4] {
    padding: 0 0.4rem;
    border: 1px dashed color-mix(in srgb, var(--success) 55%, transparent);
    border-radius: var(--radius-sm);
    background: var(--success-soft);
    color: var(--success);
    font-family: var(--font-mono);
    font-size: 0.7rem;
    font-weight: 700;
}

/* ---- Timeline ---- */
.od-timeline[b-w6tvr8xzn4] {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.od-step[b-w6tvr8xzn4] {
    position: relative;
    display: flex;
    gap: 0.75rem;
    padding-block-end: 0.9rem;
}

.od-step:last-child[b-w6tvr8xzn4] {
    padding-block-end: 0;
}

.od-step:not(:last-child)[b-w6tvr8xzn4]::before {
    content: "";
    position: absolute;
    inset-block: 0.9rem 0;
    inset-inline-start: 0.42rem;
    width: 2px;
    background: var(--border);
}

.od-step-dot[b-w6tvr8xzn4] {
    position: relative;
    z-index: 1;
    flex: none;
    width: 0.9rem;
    height: 0.9rem;
    margin-block-start: 0.2rem;
    border: 2px solid currentColor;
    border-radius: 50%;
    background: var(--surface);
}

.od-step.is-done .od-step-dot[b-w6tvr8xzn4] {
    background: currentColor;
}

.od-step.is-pending[b-w6tvr8xzn4] {
    color: var(--text-muted);
}

.od-step.tone-success[b-w6tvr8xzn4] { color: var(--success); }
.od-step.tone-info[b-w6tvr8xzn4] { color: var(--info); }
.od-step.tone-danger[b-w6tvr8xzn4] { color: var(--danger); }
.od-step.tone-neutral[b-w6tvr8xzn4] { color: var(--neutral); }
.od-step.is-pending.tone-success[b-w6tvr8xzn4],
.od-step.is-pending.tone-info[b-w6tvr8xzn4] { color: var(--text-muted); }

.od-step-text[b-w6tvr8xzn4] {
    display: grid;
    color: var(--text);
}

/* ---- Transactions ---- */
.od-empty[b-w6tvr8xzn4] {
    padding: 0.9rem;
    border: 1px dashed var(--border);
    border-radius: var(--radius);
    color: var(--text-muted);
    font-size: 0.85rem;
    text-align: center;
}

.od-tx-list[b-w6tvr8xzn4] {
    display: grid;
    gap: 0.5rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.od-tx[b-w6tvr8xzn4] {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.7rem 0.85rem;
    border: 1px solid var(--border);
    border-radius: var(--radius);
}

.od-tx-main[b-w6tvr8xzn4] {
    display: grid;
    flex: 1;
    min-width: 0;
    gap: 0.15rem;
}

.od-tx-main code[b-w6tvr8xzn4] {
    font-family: var(--font-mono);
    font-size: 0.75rem;
}

.od-tx-side[b-w6tvr8xzn4] {
    display: grid;
    justify-items: end;
    gap: 0.25rem;
}

.od-notes[b-w6tvr8xzn4] {
    padding: 0.75rem 0.9rem;
    border-radius: var(--radius);
    background: var(--surface-2);
    font-size: 0.875rem;
    white-space: pre-line;
}

/* ---- Footer ---- */
.od-footer-spacer[b-w6tvr8xzn4] {
    flex: 1;
}

.od-btn-danger:not(:disabled)[b-w6tvr8xzn4] {
    border-color: color-mix(in srgb, var(--danger) 40%, transparent);
    color: var(--danger);
}

.od-btn-danger:hover:not(:disabled)[b-w6tvr8xzn4] {
    background: var(--danger-soft);
}

@media (max-width: 560px) {
    .od-tx[b-w6tvr8xzn4] {
        flex-wrap: wrap;
    }

    .od-tx-side[b-w6tvr8xzn4] {
        justify-items: start;
        width: 100%;
    }
}
/* /Components/Catalog/LicenseGeneratorModal.razor.rz.scp.css */
.lgm-banner[b-uicupr7a8w] {
    margin-block-end: 1rem;
}

.lgm-row[b-uicupr7a8w] {
    margin-block-start: 1rem;
}

.check[b-uicupr7a8w] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.9rem;
}
/* /Components/Catalog/PlanModal.razor.rz.scp.css */
.plm-banner[b-tp7lw474jd] {
    margin-block-end: 1rem;
}

.plm-row[b-tp7lw474jd] {
    margin-block-start: 1rem;
}

.check[b-tp7lw474jd] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.9rem;
}

.check-popular[b-tp7lw474jd] {
    align-self: end;
    padding-block-end: 0.5rem;
}

.plm-section[b-tp7lw474jd] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-block: 1.25rem 0.75rem;
    padding-block-end: 0.4rem;
    border-block-end: 1px solid var(--border);
    font-size: 0.9rem;
    color: var(--text-muted);
}

.plm-features[b-tp7lw474jd] {
    display: grid;
    gap: 0.6rem;
}

.plm-feature[b-tp7lw474jd] {
    display: grid;
    grid-template-columns: 1.4fr 1.4fr auto auto;
    align-items: end;
    gap: 0.6rem;
}

.feature-included[b-tp7lw474jd] {
    align-self: center;
    white-space: nowrap;
}

@media (max-width: 720px) {
    .plm-feature[b-tp7lw474jd] {
        grid-template-columns: minmax(0, 1fr);
    }

    .plm-feature .icon-btn[b-tp7lw474jd] {
        justify-self: end;
    }
}
/* /Components/Catalog/ProductModal.razor.rz.scp.css */
.pm-banner[b-wqfiou6zwx] {
    margin-block-end: 1rem;
}

.pm-hint[b-wqfiou6zwx] {
    margin-block-end: 0.85rem;
    font-size: 0.85rem;
}

.pm-add[b-wqfiou6zwx] {
    margin-block-start: 0.5rem;
}

/* ---- Tabs ---- */
.tabs[b-wqfiou6zwx] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    margin-block-end: 1.25rem;
    padding: 0.25rem;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--surface-2);
}

.tab[b-wqfiou6zwx] {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.5rem 0.9rem;
    border: 0;
    border-radius: var(--radius-sm);
    background: transparent;
    color: var(--text-muted);
    font-weight: 600;
    font-size: 0.875rem;
    cursor: pointer;
}

.tab:hover[b-wqfiou6zwx] {
    color: var(--text);
    background: var(--surface-hover);
}

.tab.is-active[b-wqfiou6zwx] {
    background: var(--surface);
    color: var(--primary);
    box-shadow: var(--shadow-sm);
}

.tab-badge[b-wqfiou6zwx] {
    padding: 0.05rem 0.4rem;
    border-radius: 999px;
    background: var(--primary-soft);
    color: var(--primary);
    font-size: 0.6875rem;
}

/* ---- Variant cards ---- */
.variant-list[b-wqfiou6zwx] {
    display: grid;
    gap: 0.9rem;
}

.variant-card[b-wqfiou6zwx] {
    padding: 0.9rem 1rem 1rem;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--surface-2);
}

.variant-head[b-wqfiou6zwx] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-block-end: 0.75rem;
}

.variant-head h3[b-wqfiou6zwx] {
    font-size: 0.95rem;
}

.plans-block[b-wqfiou6zwx] {
    margin-block-start: 0.75rem;
    padding-block-start: 0.75rem;
    border-block-start: 1px dashed var(--border);
}

.plans-head[b-wqfiou6zwx] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-block-end: 0.6rem;
}

.plans-head h4[b-wqfiou6zwx] {
    font-size: 0.85rem;
    color: var(--text-muted);
}

.plan-row[b-wqfiou6zwx] {
    display: grid;
    grid-template-columns: minmax(7rem, 1fr) repeat(3, minmax(5rem, 1fr)) auto;
    align-items: end;
    gap: 0.6rem;
    padding: 0.5rem 0;
}

.plan-remove[b-wqfiou6zwx] {
    align-self: end;
}

/* ---- Features & docs ---- */
.feature-list[b-wqfiou6zwx],
.doc-list[b-wqfiou6zwx] {
    display: grid;
    gap: 0.6rem;
}

.feature-row[b-wqfiou6zwx] {
    display: grid;
    grid-template-columns: minmax(6rem, 0.9fr) 1.4fr 1.4fr auto auto;
    align-items: end;
    gap: 0.6rem;
}

.feature-included[b-wqfiou6zwx] {
    align-self: center;
    white-space: nowrap;
}

.doc-row[b-wqfiou6zwx] {
    display: grid;
    grid-template-columns: 1fr 1fr 1.6fr auto;
    align-items: end;
    gap: 0.6rem;
}

.check[b-wqfiou6zwx] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.9rem;
}

.sm[b-wqfiou6zwx] {
    font-size: 0.8125rem;
}

@media (max-width: 720px) {
    .plan-row[b-wqfiou6zwx],
    .feature-row[b-wqfiou6zwx],
    .doc-row[b-wqfiou6zwx] {
        grid-template-columns: minmax(0, 1fr);
    }

    .plan-remove[b-wqfiou6zwx],
    .feature-row .icon-btn[b-wqfiou6zwx],
    .doc-row .icon-btn[b-wqfiou6zwx] {
        justify-self: end;
    }
}
/* /Components/Chat/ChatPresenceSwitch.razor.rz.scp.css */
.presence-switch[b-qhbc94enjp] {
    align-items: center;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 999px;
    color: var(--text);
    cursor: pointer;
    display: inline-flex;
    font-size: 0.8rem;
    gap: 8px;
    height: 36px;
    padding: 0 12px;
}

.presence-switch:hover:not(:disabled)[b-qhbc94enjp] {
    background: var(--surface-hover);
}

.presence-switch:focus-visible[b-qhbc94enjp] {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}

.presence-switch:disabled[b-qhbc94enjp] {
    cursor: default;
}

.presence-dot[b-qhbc94enjp] {
    background: var(--text-muted);
    border-radius: 50%;
    height: 10px;
    width: 10px;
}

.is-available .presence-dot[b-qhbc94enjp] {
    background: var(--success);
    box-shadow: 0 0 0 3px var(--success-soft);
}

.is-away .presence-dot[b-qhbc94enjp] {
    background: var(--warning);
    box-shadow: 0 0 0 3px var(--warning-soft);
}

.is-connecting .presence-dot[b-qhbc94enjp] {
    animation: presence-pulse-b-qhbc94enjp 1.2s ease-in-out infinite;
    background: var(--warning);
}

@keyframes presence-pulse-b-qhbc94enjp {
    50% { opacity: 0.3; }
}

@media (prefers-reduced-motion: reduce) {
    .is-connecting .presence-dot[b-qhbc94enjp] {
        animation: none;
    }
}

/* Below tablet width only the dot stays, so the Topbar keeps its room; the label remains for screen readers. */
@media (max-width: 640px) {
    .presence-label[b-qhbc94enjp] {
        border: 0;
        clip: rect(0 0 0 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px;
    }

    .presence-switch[b-qhbc94enjp] {
        padding: 0 11px;
    }
}
/* /Components/Cms/ArticleEditorModal.razor.rz.scp.css */
/* Scoped styles of ArticleEditorModal: tabs, checkboxes, the Markdown split editor and the SEO analyzer. */

.pm-banner[b-oxmsewzlwg] {
    margin-bottom: 14px;
}

.pm-hint[b-oxmsewzlwg] {
    margin: 2px 0 12px;
    font-size: 0.86rem;
}

.tabs[b-oxmsewzlwg] {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    border-bottom: 1px solid var(--border);
    padding-bottom: 8px;
    margin-bottom: 14px;
}

.tab[b-oxmsewzlwg] {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 14px;
    border: 1px solid transparent;
    border-radius: var(--radius);
    background: transparent;
    color: var(--text-muted);
    font: inherit;
    font-size: 0.88rem;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}

.tab:hover[b-oxmsewzlwg] {
    background: var(--surface-hover);
    color: var(--text);
}

.tab.is-active[b-oxmsewzlwg] {
    background: var(--primary-soft);
    border-color: var(--primary-soft);
    color: var(--primary);
    font-weight: 600;
}

.form-fields[b-oxmsewzlwg] {
    border: 0;
    padding: 0;
    margin: 0;
    min-width: 0;
}

.check[b-oxmsewzlwg] {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 0.9rem;
    padding: 7px 4px;
    cursor: pointer;
}

.check input[b-oxmsewzlwg] {
    accent-color: var(--primary);
    width: 16px;
    height: 16px;
    flex: none;
}

.cover-row[b-oxmsewzlwg] {
    display: flex;
    gap: 8px;
    align-items: center;
}

.cover-row .input[b-oxmsewzlwg] {
    flex: 1;
    min-width: 0;
}

.file-btn[b-oxmsewzlwg] {
    position: relative;
    overflow: hidden;
    white-space: nowrap;
}

.file-btn input[type=file][b-oxmsewzlwg] {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}

.cat-picker[b-oxmsewzlwg] {
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 8px 10px;
    max-height: 220px;
    overflow: auto;
    background: var(--surface);
}

.cat-picker .check[b-oxmsewzlwg] {
    padding: 5px 4px;
}

/* ---- Markdown editor ---- */

.md-editor-head[b-oxmsewzlwg] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 14px;
}

.md-lang[b-oxmsewzlwg],
.md-mode[b-oxmsewzlwg] {
    display: inline-flex;
    gap: 4px;
}

.chip-btn[b-oxmsewzlwg] {
    border: 1px solid var(--border);
    background: var(--surface);
    color: var(--text-muted);
    border-radius: 999px;
    padding: 4px 12px;
    font-size: 0.8rem;
    cursor: pointer;
}

.chip-btn.is-on[b-oxmsewzlwg] {
    background: var(--primary-soft);
    border-color: var(--primary);
    color: var(--primary);
    font-weight: 600;
}

.md-split[b-oxmsewzlwg] {
    display: grid;
    gap: 12px;
    margin-top: 8px;
}

.md-split.mode-split[b-oxmsewzlwg] {
    grid-template-columns: 1fr 1fr;
}

.md-split.mode-edit[b-oxmsewzlwg],
.md-split.mode-preview[b-oxmsewzlwg] {
    grid-template-columns: 1fr;
}

.md-area[b-oxmsewzlwg] {
    font-family: var(--font-mono);
    font-size: 0.85rem;
    line-height: 1.6;
    resize: vertical;
    min-height: 260px;
}

/* ---- SEO analyzer ---- */

.seo-analyzer[b-oxmsewzlwg] {
    display: flex;
    gap: 18px;
    align-items: flex-start;
    background: var(--surface-hover);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 14px 16px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}

.seo-score[b-oxmsewzlwg] {
    display: flex;
    align-items: baseline;
    gap: 2px;
    font-weight: 700;
    font-size: 1.7rem;
    line-height: 1;
    min-width: 84px;
}

.seo-score .seo-of[b-oxmsewzlwg] {
    font-size: 0.85rem;
    color: var(--text-muted);
    font-weight: 500;
}

.seo-score.is-good[b-oxmsewzlwg] {
    color: var(--success);
}

.seo-score.is-ok[b-oxmsewzlwg] {
    color: var(--warning);
}

.seo-score.is-bad[b-oxmsewzlwg] {
    color: var(--danger);
}

.seo-checks[b-oxmsewzlwg] {
    list-style: none;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 4px 16px;
    margin: 0;
    padding: 0;
    flex: 1;
    min-width: 260px;
}

.seo-checks li[b-oxmsewzlwg] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.82rem;
    color: var(--text-muted);
}

.seo-checks li.is-ok[b-oxmsewzlwg] {
    color: var(--text);
}

.seo-checks li.is-ok svg[b-oxmsewzlwg] {
    color: var(--success);
}

.seo-checks li.is-miss svg[b-oxmsewzlwg] {
    color: var(--warning);
}

.jsonld-row[b-oxmsewzlwg] {
    display: grid;
    gap: 8px;
    justify-items: start;
}

.jsonld-row textarea[b-oxmsewzlwg] {
    width: 100%;
    font-family: var(--font-mono);
    font-size: 0.8rem;
}

@media (max-width: 900px) {
    .md-split.mode-split[b-oxmsewzlwg] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Cms/BannerModal.razor.rz.scp.css */
.cover-row[b-m39pl40ci2] {
    display: flex;
    gap: 8px;
    align-items: center;
}

.cover-row .input[b-m39pl40ci2] {
    flex: 1;
    min-width: 0;
}

.file-btn[b-m39pl40ci2] {
    position: relative;
    overflow: hidden;
    white-space: nowrap;
}

.file-btn[b-m39pl40ci2]  input[type=file] {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}

.slide-preview[b-m39pl40ci2] {
    display: block;
    width: 100%;
    max-height: 9rem;
    margin-block-start: 0.6rem;
    border: 1px dashed var(--border);
    border-radius: var(--radius);
    background: var(--surface-2);
    object-fit: cover;
}
/* /Components/Cms/CustomerLogoModal.razor.rz.scp.css */
.logo-preview[b-74y7cy3902] {
    display: block;
    max-width: 12rem;
    max-height: 4rem;
    margin-block-start: 0.6rem;
    padding: 0.4rem;
    border: 1px dashed var(--border);
    border-radius: var(--radius);
    background: var(--surface-2);
    object-fit: contain;
}

.cover-row[b-74y7cy3902] {
    display: flex;
    gap: 8px;
    align-items: center;
}

.cover-row .input[b-74y7cy3902] {
    flex: 1;
    min-width: 0;
}

.file-btn[b-74y7cy3902] {
    position: relative;
    overflow: hidden;
    white-space: nowrap;
}

.file-btn input[type=file][b-74y7cy3902] {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}
/* /Components/Cms/DocEditorModal.razor.rz.scp.css */
/* Scoped styles of DocEditorModal (tabs/checks come from theme.css defaults; these are page-specific). */

.md-editor-head[b-jmey9np3rv] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 14px;
}

.md-lang[b-jmey9np3rv],
.md-mode[b-jmey9np3rv] {
    display: inline-flex;
    gap: 4px;
}

.chip-btn[b-jmey9np3rv] {
    border: 1px solid var(--border);
    background: var(--surface);
    color: var(--text-muted);
    border-radius: 999px;
    padding: 4px 12px;
    font-size: 0.8rem;
    cursor: pointer;
}

.chip-btn.is-on[b-jmey9np3rv] {
    background: var(--primary-soft);
    border-color: var(--primary);
    color: var(--primary);
    font-weight: 600;
}

.md-split[b-jmey9np3rv] {
    display: grid;
    gap: 12px;
    margin-top: 8px;
}

.md-split.mode-split[b-jmey9np3rv] {
    grid-template-columns: 1fr 1fr;
}

.md-split.mode-edit[b-jmey9np3rv],
.md-split.mode-preview[b-jmey9np3rv] {
    grid-template-columns: 1fr;
}

.md-area[b-jmey9np3rv] {
    font-family: var(--font-mono);
    font-size: 0.85rem;
    line-height: 1.6;
    resize: vertical;
    min-height: 260px;
}

/* ---- Settings tab ---- */

.product-picker[b-jmey9np3rv] {
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 8px 10px;
    max-height: 200px;
    overflow: auto;
    background: var(--surface);
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 2px 14px;
}

.version-head[b-jmey9np3rv] {
    margin: 18px 0 8px;
    font-size: 0.92rem;
}

.version-list[b-jmey9np3rv] {
    list-style: none;
    margin: 0;
    padding: 0;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    overflow: hidden;
}

    .version-list li[b-jmey9np3rv] {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 8px 12px;
        font-size: 0.85rem;
        border-bottom: 1px solid var(--border);
        flex-wrap: wrap;
    }

        .version-list li:last-child[b-jmey9np3rv] {
            border-bottom: 0;
        }

        .version-list li.is-current[b-jmey9np3rv] {
            background: var(--primary-soft);
        }

    .version-list .ver[b-jmey9np3rv] {
        font-weight: 700;
        color: var(--primary);
        min-width: 46px;
    }

    .version-list .ver-note[b-jmey9np3rv] {
        flex: 1;
        color: var(--text-muted);
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

@media (max-width: 900px) {
    .md-split.mode-split[b-jmey9np3rv] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Cms/MarkdownPreview.razor.rz.scp.css */
.md-preview[b-s1glqwr0fa] {
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--surface);
    padding: 14px 18px;
    font-size: 0.92rem;
    line-height: 1.7;
    min-height: 160px;
    max-height: 520px;
    overflow: auto;
    overflow-wrap: anywhere;
}

.md-preview-empty[b-s1glqwr0fa] {
    margin: 0;
    font-size: 0.85rem;
}

.md-preview :global(h1)[b-s1glqwr0fa],
.md-preview :global(h2)[b-s1glqwr0fa],
.md-preview :global(h3)[b-s1glqwr0fa] {
    margin: 0.7em 0 0.35em;
    line-height: 1.3;
}

.md-preview :global(h1)[b-s1glqwr0fa] {
    font-size: 1.35rem;
    border-bottom: 1px solid var(--border);
    padding-bottom: 6px;
}

.md-preview :global(h2)[b-s1glqwr0fa] {
    font-size: 1.15rem;
}

.md-preview :global(h3)[b-s1glqwr0fa] {
    font-size: 1rem;
}

.md-preview :global(p)[b-s1glqwr0fa] {
    margin: 0.5em 0;
}

.md-preview :global(ul)[b-s1glqwr0fa] {
    margin: 0.5em 0;
    padding-inline-start: 1.4em;
}

.md-preview :global(code)[b-s1glqwr0fa] {
    font-family: var(--font-mono);
    font-size: 0.85em;
    background: var(--neutral-soft);
    border-radius: var(--radius-sm);
    padding: 1px 5px;
}

.md-preview :global(pre)[b-s1glqwr0fa] {
    background: var(--neutral-soft);
    border-radius: var(--radius);
    padding: 12px 14px;
    overflow: auto;
    direction: ltr;
    text-align: left;
}

.md-preview :global(pre code)[b-s1glqwr0fa] {
    background: none;
    padding: 0;
    font-size: 0.82rem;
    line-height: 1.6;
}

.md-preview :global(blockquote)[b-s1glqwr0fa] {
    border-inline-start: 3px solid var(--primary);
    margin: 0.6em 0;
    padding: 2px 12px;
    color: var(--text-muted);
    background: var(--surface-hover);
    border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
}

.md-preview :global(a)[b-s1glqwr0fa] {
    color: var(--primary);
}

.md-preview :global(strong)[b-s1glqwr0fa] {
    color: var(--text);
}
/* /Components/Cms/RichContentEditor.razor.rz.scp.css */
.rce[b-auvi6jfjkj] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* ---- Toolbar ---- */

.rce-bar[b-auvi6jfjkj] {
    align-items: center;
    background: var(--surface-hover);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    display: flex;
    flex-wrap: wrap;
    gap: 6px 10px;
    padding: 6px 8px;
}

.rce-group[b-auvi6jfjkj] {
    align-items: center;
    display: inline-flex;
    flex-wrap: wrap;
    gap: 3px;
}

.rce-group + .rce-group[b-auvi6jfjkj] {
    border-inline-start: 1px solid var(--border);
    padding-inline-start: 10px;
}

.rce-modes[b-auvi6jfjkj] {
    margin-inline-start: auto;
}

.rce-btn[b-auvi6jfjkj] {
    align-items: center;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    color: var(--text);
    cursor: pointer;
    display: inline-flex;
    font-size: 0.8rem;
    gap: 5px;
    line-height: 1;
    min-height: 30px;
    padding: 4px 9px;
}

.rce-btn:hover:not(:disabled)[b-auvi6jfjkj] {
    border-color: var(--primary);
    color: var(--primary);
}

.rce-btn:focus-visible[b-auvi6jfjkj] {
    outline: 2px solid var(--primary);
    outline-offset: 1px;
}

.rce-btn:disabled[b-auvi6jfjkj] {
    cursor: not-allowed;
    opacity: 0.45;
}

.rce-btn.is-on[b-auvi6jfjkj] {
    background: var(--primary-soft);
    border-color: var(--primary);
    color: var(--primary);
    font-weight: 600;
}

.rce-bold[b-auvi6jfjkj] { font-weight: 800; }
.rce-italic[b-auvi6jfjkj] { font-style: italic; font-family: serif; }
.rce-info[b-auvi6jfjkj] { border-inline-start: 3px solid #17a2b8; }
.rce-warn[b-auvi6jfjkj] { border-inline-start: 3px solid #f1a005; }
.rce-tip[b-auvi6jfjkj] { border-inline-start: 3px solid #28a745; }

/* ---- Editing area ---- */

.rce-split[b-auvi6jfjkj] {
    display: grid;
    gap: 12px;
}

.rce-split.mode-split[b-auvi6jfjkj] {
    grid-template-columns: 1fr 1fr;
}

.rce-split.mode-edit[b-auvi6jfjkj],
.rce-split.mode-preview[b-auvi6jfjkj] {
    grid-template-columns: 1fr;
}

/* The textarea stays mounted in preview mode so the JS hooks keep their element. */
.rce-split.mode-preview .rce-area[b-auvi6jfjkj] {
    display: none;
}

.rce-area[b-auvi6jfjkj] {
    font-family: var(--font-mono);
    font-size: 0.85rem;
    line-height: 1.6;
    min-height: 280px;
    resize: vertical;
}

.rce-area.is-dragging[b-auvi6jfjkj] {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px var(--primary-soft);
}

.rce-hint[b-auvi6jfjkj],
.rce-status[b-auvi6jfjkj] {
    margin: 0;
}

.rce-file[b-auvi6jfjkj] {
    display: none;
}

/* ---- Alt text / caption panel for a freshly uploaded image ---- */

.rce-alt[b-auvi6jfjkj] {
    align-items: flex-start;
    background: var(--surface-hover);
    border: 1px solid var(--primary);
    border-radius: var(--radius);
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    padding: 10px 12px;
}

.rce-alt-thumb[b-auvi6jfjkj] {
    border-radius: var(--radius-sm);
    height: 72px;
    object-fit: cover;
    width: 96px;
}

.rce-alt-fields[b-auvi6jfjkj] {
    display: grid;
    flex: 1;
    gap: 8px;
    grid-template-columns: 2fr 1fr;
    min-width: 260px;
}

.rce-alt-fields label[b-auvi6jfjkj] {
    display: grid;
    font-size: 0.8rem;
    gap: 4px;
}

.rce-alt-actions[b-auvi6jfjkj] {
    align-self: flex-end;
    display: flex;
    gap: 6px;
}

@media (max-width: 900px) {
    .rce-split.mode-split[b-auvi6jfjkj] {
        grid-template-columns: 1fr;
    }

    .rce-modes[b-auvi6jfjkj] {
        margin-inline-start: 0;
    }
}
/* /Components/Common/ConfirmDialog.razor.rz.scp.css */
.cd-backdrop[b-o87vki7m95] {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: grid;
    place-items: center;
    padding: 1rem;
    background: rgb(8 12 24 / 0.55);
    backdrop-filter: blur(2px);
    animation: cd-fade-b-o87vki7m95 0.15s ease-out;
}

.cd-dialog[b-o87vki7m95] {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.25rem 1rem;
    width: min(100%, 27rem);
    padding: 1.5rem;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    animation: cd-pop-b-o87vki7m95 0.18s ease-out;
}

.cd-icon[b-o87vki7m95] {
    display: grid;
    place-items: center;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 50%;
}

.tone-primary[b-o87vki7m95] { background: var(--primary-soft); color: var(--primary); }
.tone-success[b-o87vki7m95] { background: var(--success-soft); color: var(--success); }
.tone-warning[b-o87vki7m95] { background: var(--warning-soft); color: var(--warning); }
.tone-danger[b-o87vki7m95] { background: var(--danger-soft); color: var(--danger); }
.tone-info[b-o87vki7m95] { background: var(--info-soft); color: var(--info); }
.tone-neutral[b-o87vki7m95] { background: var(--neutral-soft); color: var(--neutral); }

.cd-title[b-o87vki7m95] {
    font-size: 1.05rem;
    margin-block-start: 0.35rem;
}

.cd-body[b-o87vki7m95] {
    margin-block-start: 0.35rem;
    color: var(--text-muted);
}

.cd-actions[b-o87vki7m95] {
    grid-column: 1 / -1;
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-block-start: 1.25rem;
}

@keyframes cd-fade-b-o87vki7m95 {
    from { opacity: 0; }
}

@keyframes cd-pop-b-o87vki7m95 {
    from { opacity: 0; transform: translateY(8px) scale(0.97); }
}
/* /Components/Common/DataTable.razor.rz.scp.css */
.dt[b-n5n7odwqr0] {
    overflow: hidden;
}

.dt-toolbar[b-n5n7odwqr0] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.9rem 1.1rem;
    border-block-end: 1px solid var(--border);
}

.dt-search[b-n5n7odwqr0] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex: 1 1 15rem;
    max-width: 22rem;
    padding-inline: 0.7rem;
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    color: var(--text-muted);
}

.dt-search:focus-within[b-n5n7odwqr0] {
    border-color: var(--primary);
    box-shadow: var(--focus-ring);
}

.dt-search-input[b-n5n7odwqr0] {
    flex: 1;
    min-width: 0;
    padding-block: 0.5rem;
    border: 0;
    background: transparent;
    color: var(--text);
    font: inherit;
}

.dt-search-input:focus[b-n5n7odwqr0] {
    outline: none;
    box-shadow: none;
}

.dt-toolbar-end[b-n5n7odwqr0] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.dt-scroll[b-n5n7odwqr0] {
    overflow-x: auto;
}

.dt-table[b-n5n7odwqr0] {
    width: 100%;
    border-collapse: collapse;
    white-space: nowrap;
}

.dt-table th[b-n5n7odwqr0],
.dt-table td[b-n5n7odwqr0] {
    padding: 0.75rem 1.1rem;
    text-align: start;
}

.dt-table .align-end[b-n5n7odwqr0] {
    text-align: end;
}

.dt-table .align-center[b-n5n7odwqr0] {
    text-align: center;
}

.dt-table thead th[b-n5n7odwqr0] {
    background: var(--surface-2);
    border-block-end: 1px solid var(--border);
    color: var(--text-muted);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

[dir="rtl"] .dt-table thead th[b-n5n7odwqr0] {
    letter-spacing: 0;
    text-transform: none;
}

.dt-table tbody tr[b-n5n7odwqr0] {
    border-block-end: 1px solid var(--border);
    transition: background-color 0.12s;
}

.dt-table tbody tr:last-child[b-n5n7odwqr0] {
    border-block-end: 0;
}

.dt-table tbody tr:hover[b-n5n7odwqr0] {
    background: var(--surface-hover);
}

.dt-sort[b-n5n7odwqr0] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0;
    border: 0;
    background: none;
    font: inherit;
    letter-spacing: inherit;
    text-transform: inherit;
    color: inherit;
    cursor: pointer;
}

.dt-sort:hover[b-n5n7odwqr0] {
    color: var(--text);
}

.dt-sort[b-n5n7odwqr0]  .icon {
    opacity: 0.5;
}

.dt-sort[b-n5n7odwqr0]  .dt-sort-active {
    color: var(--primary);
    opacity: 1;
}

.dt-empty[b-n5n7odwqr0] {
    padding-block: 2.5rem;
    text-align: center !important;
    color: var(--text-muted);
}

.dt-shimmer[b-n5n7odwqr0] {
    display: block;
    height: 0.9rem;
    border-radius: 4px;
    background: linear-gradient(90deg, var(--surface-hover), var(--border), var(--surface-hover));
    background-size: 200% 100%;
    animation: dt-shimmer-b-n5n7odwqr0 1.4s linear infinite;
}

.dt-footer[b-n5n7odwqr0] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem 1.5rem;
    padding: 0.75rem 1.1rem;
    border-block-start: 1px solid var(--border);
    color: var(--text-muted);
    font-size: 0.8125rem;
}

.dt-footer-end[b-n5n7odwqr0] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1.25rem;
}

.dt-page-size[b-n5n7odwqr0] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.dt-page-size .input[b-n5n7odwqr0] {
    width: auto;
    padding-block: 0.25rem;
}

.dt-pager[b-n5n7odwqr0] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.dt-pager .icon-btn[b-n5n7odwqr0] {
    width: 2rem;
    height: 2rem;
}

.dt-pager .icon-btn:disabled[b-n5n7odwqr0] {
    opacity: 0.4;
    cursor: not-allowed;
}

.dt-page[b-n5n7odwqr0] {
    min-width: 2rem;
    height: 2rem;
    padding: 0 0.4rem;
    border: 0;
    border-radius: var(--radius);
    background: transparent;
    color: var(--text-muted);
    cursor: pointer;
}

.dt-page:hover[b-n5n7odwqr0] {
    background: var(--surface-hover);
    color: var(--text);
}

.dt-page.is-current[b-n5n7odwqr0] {
    background: var(--primary-solid);
    color: #fff;
    font-weight: 600;
}

@keyframes dt-shimmer-b-n5n7odwqr0 {
    to { background-position: -200% 0; }
}

/* Server-side reload: keep the old rows visible but dimmed instead of flashing a skeleton on every keystroke. */
.dt-table.is-loading tbody[b-n5n7odwqr0] {
    opacity: 0.55;
    pointer-events: none;
    transition: opacity 0.15s ease;
}
/* /Components/Common/FormField.razor.rz.scp.css */
.form-field label[b-0wrttj3wg5] {
    display: block;
    margin-block-end: 0.35rem;
    font-size: 0.875rem;
    font-weight: 600;
}

.required[b-0wrttj3wg5] {
    margin-inline-start: 0.15rem;
    color: var(--danger);
}

.field-error[b-0wrttj3wg5],
.field-hint[b-0wrttj3wg5] {
    margin-block-start: 0.3rem;
    font-size: 0.8125rem;
}

.field-error[b-0wrttj3wg5] {
    color: var(--danger);
}

.field-hint[b-0wrttj3wg5] {
    color: var(--text-muted);
}

/* The control is a child component's element: reach it with ::deep. Validation state is shown with the border;
   the global outline rules for .valid/.invalid were removed from app.css for this reason. */
.has-error[b-0wrttj3wg5]  .input {
    border-color: var(--danger);
}

.has-error[b-0wrttj3wg5]  .input:focus {
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--danger) 30%, transparent);
}
/* /Components/Common/Modal.razor.rz.scp.css */
.modal-backdrop[b-wc5j58s0tw] {
    position: fixed;
    inset: 0;
    z-index: 950;
    display: grid;
    place-items: center;
    padding: 1rem;
    overflow-y: auto;
    background: rgb(8 12 24 / 0.55);
    backdrop-filter: blur(2px);
    animation: modal-fade-b-wc5j58s0tw 0.15s ease-out;
}

.modal-dialog[b-wc5j58s0tw] {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-height: calc(100vh - 2rem);
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    animation: modal-pop-b-wc5j58s0tw 0.18s ease-out;
}

.modal-dialog:focus[b-wc5j58s0tw] {
    outline: none;
}

.size-small[b-wc5j58s0tw] { max-width: 26rem; }
.size-medium[b-wc5j58s0tw] { max-width: 38rem; }
.size-large[b-wc5j58s0tw] { max-width: 56rem; }
.size-extralarge[b-wc5j58s0tw] { max-width: 82rem; }

.modal-header[b-wc5j58s0tw] {
    display: flex;
    flex: none;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.25rem;
    border-block-end: 1px solid var(--border);
}

.modal-title[b-wc5j58s0tw] {
    font-size: 1.1rem;
}

.modal-body[b-wc5j58s0tw] {
    flex: 1;
    min-height: 0;
    padding: 1.25rem;
    overflow-y: auto;
}

.modal-footer[b-wc5j58s0tw] {
    display: flex;
    flex: none;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    padding: 0.9rem 1.25rem;
    border-block-start: 1px solid var(--border);
    background: var(--surface-2);
    border-end-start-radius: var(--radius-lg);
    border-end-end-radius: var(--radius-lg);
}

@keyframes modal-fade-b-wc5j58s0tw {
    from { opacity: 0; }
}

@keyframes modal-pop-b-wc5j58s0tw {
    from { opacity: 0; transform: translateY(10px) scale(0.98); }
}
/* /Components/Common/StatCard.razor.rz.scp.css */
.stat-card[b-i6w46zqudh] {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1.15rem 1.25rem;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    transition: box-shadow 0.15s, transform 0.15s;
}

.stat-card:hover[b-i6w46zqudh] {
    box-shadow: var(--shadow);
    transform: translateY(-1px);
}

.stat-icon[b-i6w46zqudh] {
    display: grid;
    place-items: center;
    flex: none;
    width: 2.9rem;
    height: 2.9rem;
    border-radius: var(--radius);
}

.tone-primary[b-i6w46zqudh] { background: var(--primary-soft); color: var(--primary); }
.tone-success[b-i6w46zqudh] { background: var(--success-soft); color: var(--success); }
.tone-warning[b-i6w46zqudh] { background: var(--warning-soft); color: var(--warning); }
.tone-danger[b-i6w46zqudh] { background: var(--danger-soft); color: var(--danger); }
.tone-info[b-i6w46zqudh] { background: var(--info-soft); color: var(--info); }
.tone-neutral[b-i6w46zqudh] { background: var(--neutral-soft); color: var(--neutral); }

.stat-body[b-i6w46zqudh] {
    min-width: 0;
}

.stat-title[b-i6w46zqudh] {
    color: var(--text-muted);
    font-size: 0.8125rem;
    font-weight: 500;
}

.stat-value[b-i6w46zqudh] {
    margin-block: 0.15rem 0.35rem;
    font-size: 1.65rem;
    font-weight: 700;
    line-height: 1.2;
}

.stat-change[b-i6w46zqudh] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.8125rem;
    font-weight: 600;
}

.stat-change.is-good[b-i6w46zqudh] { color: var(--success); }
.stat-change.is-bad[b-i6w46zqudh] { color: var(--danger); }
.stat-change.is-flat[b-i6w46zqudh] { color: var(--text-muted); }

.stat-change-label[b-i6w46zqudh] {
    color: var(--text-muted);
    font-weight: 400;
}
/* /Components/Common/StatusBadge.razor.rz.scp.css */
.badge[b-1h7buuo22t] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.15rem 0.6rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.5;
    white-space: nowrap;
}

.badge-dot[b-1h7buuo22t] {
    width: 0.4rem;
    height: 0.4rem;
    border-radius: 50%;
    background: currentColor;
}

.tone-primary[b-1h7buuo22t] { background: var(--primary-soft); color: var(--primary); }
.tone-success[b-1h7buuo22t] { background: var(--success-soft); color: var(--success); }
.tone-warning[b-1h7buuo22t] { background: var(--warning-soft); color: var(--warning); }
.tone-danger[b-1h7buuo22t] { background: var(--danger-soft); color: var(--danger); }
.tone-info[b-1h7buuo22t] { background: var(--info-soft); color: var(--info); }
.tone-neutral[b-1h7buuo22t] { background: var(--neutral-soft); color: var(--neutral); }
/* /Components/Common/ToastHost.razor.rz.scp.css */
.toast-host[b-g28h0q4sn4] {
    position: fixed;
    inset-block-end: 1rem;
    inset-inline-end: 1rem;
    z-index: 1200;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    width: min(24rem, calc(100vw - 2rem));
    pointer-events: none;
}

.toast[b-g28h0q4sn4] {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    padding: 0.75rem 0.85rem;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--surface);
    box-shadow: var(--shadow-lg);
    font-size: 0.875rem;
    pointer-events: auto;
    animation: toast-in-b-g28h0q4sn4 0.2s ease-out;
}

.toast.tone-success[b-g28h0q4sn4] { border-inline-start: 4px solid var(--success); }
.toast.tone-success[b-g28h0q4sn4] >  .icon { color: var(--success); }
.toast.tone-danger[b-g28h0q4sn4] { border-inline-start: 4px solid var(--danger-solid); }
.toast.tone-danger[b-g28h0q4sn4] >  .icon { color: var(--danger); }
.toast.tone-warning[b-g28h0q4sn4] { border-inline-start: 4px solid var(--warning); }
.toast.tone-info[b-g28h0q4sn4] { border-inline-start: 4px solid var(--info); }

.toast-text[b-g28h0q4sn4] {
    flex: 1;
    min-width: 0;
    overflow-wrap: anywhere;
}

.toast-close[b-g28h0q4sn4] {
    display: grid;
    flex: none;
    place-items: center;
    width: 1.5rem;
    height: 1.5rem;
    padding: 0;
    border: 0;
    border-radius: var(--radius-sm);
    background: transparent;
    color: var(--text-muted);
    cursor: pointer;
}

.toast-close:hover[b-g28h0q4sn4] {
    background: var(--surface-hover);
    color: var(--text);
}

@keyframes toast-in-b-g28h0q4sn4 {
    from { opacity: 0; transform: translateY(8px); }
}
/* /Components/Layout/AuthLayout.razor.rz.scp.css */
.auth-shell[b-lhlcyq8ade] {
    display: grid;
    min-height: 100vh;
    grid-template-columns: minmax(0, 1fr);
}

/* Brand panel: only on wide screens */
.auth-aside[b-lhlcyq8ade] {
    display: none;
    flex-direction: column;
    justify-content: space-between;
    padding: 2.5rem 3rem;
    color: #fff;
    background:
        radial-gradient(60rem 40rem at 0% 0%, rgb(129 140 248 / 0.45), transparent 60%),
        radial-gradient(40rem 30rem at 100% 100%, rgb(14 165 233 / 0.3), transparent 60%),
        linear-gradient(160deg, #1e1b4b, #312e81 55%, #1e3a8a);
}

.auth-brand[b-lhlcyq8ade] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.auth-logo[b-lhlcyq8ade] {
    display: grid;
    place-items: center;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: var(--radius);
    background: rgb(255 255 255 / 0.15);
    border: 1px solid rgb(255 255 255 / 0.25);
}

.auth-brand-name[b-lhlcyq8ade] {
    font-size: 1.35rem;
    font-weight: 700;
}

.auth-pitch h2[b-lhlcyq8ade] {
    max-width: 24rem;
    font-size: 2rem;
    line-height: 1.25;
}

.auth-pitch p[b-lhlcyq8ade] {
    max-width: 26rem;
    margin-block-start: 1rem;
    color: rgb(224 231 255 / 0.85);
}

.auth-copy[b-lhlcyq8ade] {
    color: rgb(224 231 255 / 0.65);
    font-size: 0.8125rem;
}

.auth-main[b-lhlcyq8ade] {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 1rem;
}

.auth-tools[b-lhlcyq8ade] {
    display: flex;
    justify-content: flex-end;
    gap: 0.25rem;
}

.auth-lang[b-lhlcyq8ade] {
    width: auto;
    gap: 0.35rem;
    padding-inline: 0.65rem;
    font-weight: 600;
}

.auth-content[b-lhlcyq8ade] {
    display: grid;
    flex: 1;
    place-items: center;
    padding-block: 1.5rem;
}

@media (min-width: 960px) {
    .auth-shell[b-lhlcyq8ade] {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
    }

    .auth-aside[b-lhlcyq8ade] {
        display: flex;
    }

    .auth-main[b-lhlcyq8ade] {
        padding: 1.5rem 2rem;
    }
}

#blazor-error-ui[b-lhlcyq8ade] {
    color-scheme: light only;
    background: #fff3cd;
    color: #3d2f00;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    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-lhlcyq8ade] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.shell[b-4rofk30cj5] {
    --sidebar-rail-w: 4.5rem;
    --sb: var(--sidebar-w); /* width of the persistent sidebar at the current mode */

    min-height: 100vh;
}

.skip-link[b-4rofk30cj5] {
    position: fixed;
    inset-block-start: 0.5rem;
    inset-inline-start: 0.5rem;
    z-index: 2000;
    padding: 0.5rem 1rem;
    border-radius: var(--radius);
    background: var(--primary-solid);
    color: #fff;
    transform: translateY(-200%);
}

.skip-link:focus[b-4rofk30cj5] {
    transform: none;
    text-decoration: none;
}

/* ---------- Sidebar: off-canvas drawer by default (mobile first) ---------- */

.shell-sidebar[b-4rofk30cj5] {
    position: fixed;
    inset-block: 0;
    inset-inline-start: 0;
    z-index: 900;
    width: min(var(--sidebar-w), 86vw);
    background: var(--surface);
    border-inline-end: 1px solid var(--border);
    transform: translateX(calc(-100% * var(--dir)));
    transition: transform 0.28s cubic-bezier(0.32, 0.72, 0, 1), visibility 0.28s;
    visibility: hidden;
}

.shell.is-open .shell-sidebar[b-4rofk30cj5] {
    transform: none;
    visibility: visible;
    box-shadow: var(--shadow-lg);
    /* Visible at once when opening so it can take focus; closing keeps the delay so the slide-out is seen. */
    transition: transform 0.28s cubic-bezier(0.32, 0.72, 0, 1), visibility 0s;
}

.shell-scrim[b-4rofk30cj5] {
    position: fixed;
    inset: 0;
    z-index: 800;
    background: rgb(8 12 24 / 0.55);
    backdrop-filter: blur(2px);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.28s ease;
}

.shell.is-open .shell-scrim[b-4rofk30cj5] {
    opacity: 1;
    pointer-events: auto;
}

.shell-main[b-4rofk30cj5] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 100vh;
}

.shell-content[b-4rofk30cj5] {
    flex: 1;
    width: 100%;
    max-width: 90rem;
    margin-inline: auto;
    padding: 1.25rem 1rem 2.5rem;
}

.shell-content:focus[b-4rofk30cj5] {
    outline: none;
}

/* ---------- Desktop: persistent sidebar that can shrink to an icon rail ---------- */

@media (min-width: 1024px) {
    .shell.is-collapsed[b-4rofk30cj5] {
        --sb: var(--sidebar-rail-w);
    }

    .shell-sidebar[b-4rofk30cj5] {
        width: var(--sb);
        transform: none;
        visibility: visible;
        box-shadow: none;
        transition: width 0.28s cubic-bezier(0.32, 0.72, 0, 1);
    }

    .shell-scrim[b-4rofk30cj5] {
        display: none;
    }

    .shell-main[b-4rofk30cj5] {
        margin-inline-start: var(--sb);
        transition: margin 0.28s cubic-bezier(0.32, 0.72, 0, 1);
    }

    .shell-content[b-4rofk30cj5] {
        padding: 1.75rem 2rem 3rem;
    }
}

/* ---------- Blazor error banner ---------- */

#blazor-error-ui[b-4rofk30cj5] {
    color-scheme: light only;
    background: #fff3cd;
    color: #3d2f00;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    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-4rofk30cj5] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }

/* The drawer container receives programmatic focus only; the focus ring belongs to its controls. */
.shell-sidebar:focus[b-4rofk30cj5] {
    outline: none;
}
/* /Components/Layout/NavBadge.razor.rz.scp.css */
.nav-badge[b-ng9l1s79mp] {
    flex: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.35rem;
    height: 1.35rem;
    padding-inline: 0.4rem;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 700;
    line-height: 1;
    font-variant-numeric: tabular-nums;
}

.tone-primary[b-ng9l1s79mp] { background: var(--primary-solid); color: #fff; }
.tone-danger[b-ng9l1s79mp] { background: var(--danger-solid); color: #fff; }
.tone-success[b-ng9l1s79mp] { background: var(--success-soft); color: var(--success); }
.tone-warning[b-ng9l1s79mp] { background: var(--warning-soft); color: var(--warning); }
.tone-info[b-ng9l1s79mp] { background: var(--info-soft); color: var(--info); }
.tone-neutral[b-ng9l1s79mp] { background: var(--neutral-soft); color: var(--neutral); }
/* /Components/Layout/NavGroup.razor.rz.scp.css */
.nav-group[b-k31pqqjqyf] {
    display: flex;
    flex-direction: column;
}

/* Active indicator bar on the sidebar edge; also marks a collapsed group that contains the current page */
.nav-group-btn[b-k31pqqjqyf]::before {
    content: "";
    position: absolute;
    inset-block: 22%;
    inset-inline-start: -0.75rem;
    width: 3px;
    border-start-end-radius: 3px;
    border-end-end-radius: 3px;
    background: var(--primary-solid);
    opacity: 0;
    transform: scaleY(0.4);
    transition: opacity 0.18s ease, transform 0.18s ease;
}

.nav-group.has-active:not(.is-expanded) > .nav-group-btn[b-k31pqqjqyf]::before {
    opacity: 1;
    transform: none;
}

.nav-group.has-active > .nav-group-btn[b-k31pqqjqyf] {
    color: var(--text);
    font-weight: 600;
}

.nav-group.has-active > .nav-group-btn > .icon:first-child[b-k31pqqjqyf] {
    color: var(--primary);
}

/* ---------- Chevron + expand/collapse (animates height without measuring: grid row 0fr -> 1fr) ---------- */

.nav-group-btn[b-k31pqqjqyf]  .nav-chevron {
    flex: none;
    transition: transform 0.25s ease;
}

.nav-group.is-expanded > .nav-group-btn[b-k31pqqjqyf]  .nav-chevron {
    transform: rotate(180deg);
}

.nav-sub[b-k31pqqjqyf] {
    display: grid;
    grid-template-rows: 0fr;
    opacity: 0;
    transition: grid-template-rows 0.25s ease, opacity 0.2s ease;
}

.nav-group.is-expanded > .nav-sub[b-k31pqqjqyf] {
    grid-template-rows: 1fr;
    opacity: 1;
}

.nav-sub > ul[b-k31pqqjqyf] {
    min-height: 0;
    margin: 0;
    padding: 0.15rem 0 0.25rem;
    overflow: hidden;
    list-style: none;
}

/* The group's own counter is redundant while its children show theirs */
.nav-group.is-expanded .nav-group-btn[b-k31pqqjqyf]  .nav-badge-group {
    display: none;
}

/* ---------- Rail tooltip ---------- */

@media (min-width: 1024px) {
    .is-collapsed .nav-group-btn:hover[b-k31pqqjqyf]::after,
    .is-collapsed .nav-group-btn:focus-visible[b-k31pqqjqyf]::after {
        content: attr(data-tip);
        position: absolute;
        inset-block-start: 50%;
        inset-inline-start: calc(100% + 0.65rem);
        z-index: 60;
        padding: 0.35rem 0.65rem;
        border-radius: var(--radius-sm);
        background: #0f172a;
        box-shadow: var(--shadow);
        color: #fff;
        font-size: 0.8125rem;
        font-weight: 500;
        pointer-events: none;
        transform: translateY(-50%);
    }

    /* Rail: the active group is shown by a filled icon tile */
    .is-collapsed .nav-group.has-active > .nav-group-btn[b-k31pqqjqyf] {
        background: var(--primary-soft);
    }

    /* Counter becomes a dot on the icon corner */
    .is-collapsed .nav-group-btn[b-k31pqqjqyf]  .nav-badge-group {
        position: absolute;
        inset-block-start: 0.45rem;
        inset-inline-end: 0.7rem;
        display: block;
        min-width: 0.6rem;
        width: 0.6rem;
        height: 0.6rem;
        padding: 0;
        overflow: hidden;
        font-size: 0;
        box-shadow: 0 0 0 2px var(--surface);
    }

    .is-collapsed .nav-group-btn[b-k31pqqjqyf]  .nav-badge-group > * {
        display: none;
    }
}
/* /Components/Layout/NavItem.razor.rz.scp.css */
.nav-item[b-r2ulux1s8e] {
    /* 2.8rem lines child labels up with the group labels above them (row padding + icon + gap) */
    padding-inline-start: 2.8rem;
    min-height: 2.35rem;
    font-size: 0.875rem;
}

/* Active indicator bar on the sidebar edge */
.nav-item[b-r2ulux1s8e]::before {
    content: "";
    position: absolute;
    inset-block: 22%;
    inset-inline-start: -0.75rem;
    width: 3px;
    border-start-end-radius: 3px;
    border-end-end-radius: 3px;
    background: var(--primary-solid);
    opacity: 0;
    transform: scaleY(0.4);
    transition: opacity 0.18s ease, transform 0.18s ease;
}

.nav-item.is-active[b-r2ulux1s8e] {
    background: var(--primary-soft);
    color: var(--primary);
    font-weight: 600;
}

.nav-item.is-active[b-r2ulux1s8e]::before {
    opacity: 1;
    transform: none;
}

/* Bullet sits under the centre of the group icon */
.nav-dot[b-r2ulux1s8e] {
    position: absolute;
    inset-inline-start: 1.25rem;
    width: 0.35rem;
    height: 0.35rem;
    border-radius: 50%;
    background: currentColor;
    opacity: 0.45;
    transition: opacity 0.15s ease, transform 0.15s ease;
}

.nav-item:hover .nav-dot[b-r2ulux1s8e] {
    opacity: 0.9;
}

.nav-item.is-active .nav-dot[b-r2ulux1s8e] {
    opacity: 1;
    transform: scale(1.35);
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
/* Layout of the sidebar column: brand / scrolling nav / footer. */
.nav-root[b-520oekdj4j] {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.nav-brand[b-520oekdj4j] {
    display: flex;
    flex: none;
    align-items: center;
    gap: 0.75rem;
    height: var(--topbar-h);
    padding-inline: 1.15rem;
    border-block-end: 1px solid var(--border);
    white-space: nowrap;
}

.nav-logo[b-520oekdj4j] {
    display: grid;
    flex: none;
    place-items: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: var(--radius);
    background: linear-gradient(135deg, #6366f1, #4338ca);
    box-shadow: 0 2px 8px rgb(79 70 229 / 0.35);
    color: #fff;
}

.nav-brand-name[b-520oekdj4j] {
    font-weight: 700;
    line-height: 1.2;
}

.nav-brand-sub[b-520oekdj4j] {
    color: var(--text-muted);
    font-size: 0.75rem;
}

.nav-scroll[b-520oekdj4j] {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 0.25rem;
    min-height: 0;
    padding: 0.75rem;
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-width: thin;
}

.nav-footer[b-520oekdj4j] {
    flex: none;
    padding: 0.75rem;
    border-block-start: 1px solid var(--border);
}

/* Row base look lives in wwwroot/css/nav.css. Icons drift slightly toward the reading direction on hover. */
.nav-root[b-520oekdj4j]  .nav-row > .icon:first-child {
    transition: transform 0.2s ease, color 0.15s ease;
}

.nav-root[b-520oekdj4j]  .nav-row:hover > .icon:first-child {
    transform: translateX(calc(2px * var(--dir)));
}

.nav-collapse-icon[b-520oekdj4j] {
    transition: transform 0.25s ease;
}

.is-collapsed .nav-collapse-icon[b-520oekdj4j] {
    transform: rotate(180deg);
}

[dir="rtl"] .nav-collapse-icon[b-520oekdj4j] {
    transform: scaleX(-1);
}

[dir="rtl"] .is-collapsed .nav-collapse-icon[b-520oekdj4j] {
    transform: none;
}

/* The drawer on small screens closes by scrim/Esc/navigation, so no collapse button there */
.nav-root .nav-collapse.nav-row[b-520oekdj4j] {
    display: none;
}

/* ---------- Icon rail (desktop, collapsed) ---------- */

@media (min-width: 1024px) {
    .nav-root .nav-collapse.nav-row[b-520oekdj4j] {
        display: flex;
    }

    .nav-root.is-collapsed .nav-brand[b-520oekdj4j] {
        justify-content: center;
        padding-inline: 0;
    }

    .nav-root.is-collapsed .nav-brand-text[b-520oekdj4j] {
        display: none;
    }

    /* Tooltips are positioned outside the rail, so the nav may not clip them */
    .nav-root.is-collapsed .nav-scroll[b-520oekdj4j] {
        overflow: visible;
    }

    .nav-root.is-collapsed[b-520oekdj4j]  .nav-row {
        justify-content: center;
        padding-inline: 0;
    }

    /* Labels stay available to screen readers but leave the layout */
    .nav-root.is-collapsed[b-520oekdj4j]  .nav-text {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
    }

    .nav-root.is-collapsed[b-520oekdj4j]  .nav-chevron {
        display: none;
    }

    .nav-root.is-collapsed[b-520oekdj4j]  .nav-sub {
        display: none;
    }
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-cq3bih0pwh],
.components-reconnect-repeated-attempt-visible[b-cq3bih0pwh],
.components-reconnect-failed-visible[b-cq3bih0pwh],
.components-pause-visible[b-cq3bih0pwh],
.components-resume-failed-visible[b-cq3bih0pwh],
.components-rejoining-animation[b-cq3bih0pwh] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-cq3bih0pwh],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-cq3bih0pwh],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-cq3bih0pwh],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-cq3bih0pwh],
#components-reconnect-modal.components-reconnect-retrying[b-cq3bih0pwh],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-cq3bih0pwh],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-cq3bih0pwh],
#components-reconnect-modal.components-reconnect-failed[b-cq3bih0pwh],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-cq3bih0pwh] {
    display: block;
}


#components-reconnect-modal[b-cq3bih0pwh] {
    background-color: var(--surface, white);
    color: var(--text, inherit);
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-cq3bih0pwh 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-cq3bih0pwh 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-cq3bih0pwh 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-cq3bih0pwh]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-cq3bih0pwh 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-cq3bih0pwh {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-cq3bih0pwh {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-cq3bih0pwh {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-cq3bih0pwh] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-cq3bih0pwh] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-cq3bih0pwh] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-cq3bih0pwh] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-cq3bih0pwh] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-cq3bih0pwh] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-cq3bih0pwh] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-cq3bih0pwh 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-cq3bih0pwh] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-cq3bih0pwh {
    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/Layout/SiteAuthLayout.razor.rz.scp.css */
.auth-logo[b-1n3p9jegku] {
    max-height: 3rem;
}

#blazor-error-ui[b-1n3p9jegku] {
    color-scheme: light only;
    background: #fff3cd;
    color: #3d2f00;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    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-1n3p9jegku] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }

/* Over the page rather than above the card, so the card sits where the template puts it (56px from the top). */
.auth-bar[b-1n3p9jegku] {
    position: absolute;
    inset-block-start: 0;
    inset-inline: 0;
    margin-inline: auto;
}

.auth-logo[b-1n3p9jegku] {
    max-height: 2.5rem;
}

/* flow-root keeps main's top margin inside the photo background (it would collapse through and leave a white strip). */
.auth-bg[b-1n3p9jegku] {
    display: flow-root;
}
/* /Components/Layout/Topbar.razor.rz.scp.css */
.topbar[b-m85vzx4zw5] {
    position: sticky;
    inset-block-start: 0;
    z-index: 700;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    height: var(--topbar-h);
    padding-inline: 0.75rem;
    background: color-mix(in srgb, var(--surface) 88%, transparent);
    backdrop-filter: saturate(1.4) blur(10px);
    border-block-end: 1px solid var(--border);
}

.topbar-spacer[b-m85vzx4zw5] {
    flex: 1;
}

.topbar-actions[b-m85vzx4zw5] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.lang-btn[b-m85vzx4zw5] {
    display: inline-flex;
    flex-direction: row;
    width: auto;
    gap: 0.3rem;
    padding-inline: 0.6rem;
}

.lang-code[b-m85vzx4zw5] {
    font-size: 0.75rem;
    font-weight: 700;
}

/* ---------- Dropdowns ---------- */

.dropdown[b-m85vzx4zw5] {
    position: relative;
}

.dd-backdrop[b-m85vzx4zw5] {
    position: fixed;
    inset: 0;
    z-index: 10;
    border: 0;
    background: transparent;
    cursor: default;
}

.dd-panel[b-m85vzx4zw5] {
    position: absolute;
    inset-block-start: calc(100% + 0.5rem);
    inset-inline-end: 0;
    z-index: 20;
    padding: 0.35rem;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    animation: dd-in-b-m85vzx4zw5 0.12s ease-out;
}

.dd-narrow[b-m85vzx4zw5] {
    min-width: 13rem;
}

.dd-wide[b-m85vzx4zw5] {
    width: min(22rem, calc(100vw - 1.5rem));
    padding: 0;
}

/* Keep the panel on screen: on phones the dropdown anchors to the viewport, not the button. */
@media (max-width: 599px) {
    .dropdown[b-m85vzx4zw5] {
        position: static;
    }

    .dd-panel[b-m85vzx4zw5] {
        inset-inline: 0.75rem;
        inset-block-start: calc(var(--topbar-h) + 0.25rem);
        width: auto;
    }
}

.dd-header[b-m85vzx4zw5] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.7rem 0.85rem;
    border-block-end: 1px solid var(--border);
}

.dd-header h2[b-m85vzx4zw5] {
    font-size: 0.95rem;
}

.dd-identity[b-m85vzx4zw5] {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    margin-block-end: 0.25rem;
    padding: 0.5rem 0.65rem 0.65rem;
}

.dd-item[b-m85vzx4zw5] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    width: 100%;
    padding: 0.55rem 0.65rem;
    border: 0;
    border-radius: var(--radius);
    background: transparent;
    color: var(--text);
    text-align: start;
    text-decoration: none;
    cursor: pointer;
}

.dd-item:hover[b-m85vzx4zw5] {
    background: var(--surface-hover);
    text-decoration: none;
}

.dd-item-text[b-m85vzx4zw5] {
    flex: 1;
}

.dd-item.is-danger[b-m85vzx4zw5] {
    color: var(--danger);
}

@keyframes dd-in-b-m85vzx4zw5 {
    from { opacity: 0; transform: translateY(-4px); }
}

/* ---------- Notifications ---------- */

.bell-count[b-m85vzx4zw5] {
    position: absolute;
    inset-block-start: 0.15rem;
    inset-inline-end: 0.1rem;
    min-width: 1.05rem;
    height: 1.05rem;
    padding-inline: 0.25rem;
    border-radius: 999px;
    background: var(--danger-solid);
    color: #fff;
    font-size: 0.65rem;
    font-weight: 700;
    line-height: 1.05rem;
    text-align: center;
}

.notif-list[b-m85vzx4zw5] {
    max-height: 20rem;
    margin: 0;
    padding: 0.25rem;
    overflow-y: auto;
    list-style: none;
}

.notif[b-m85vzx4zw5] {
    display: flex;
    gap: 0.7rem;
    padding: 0.65rem 0.6rem;
    border-radius: var(--radius);
}

.notif.is-unread[b-m85vzx4zw5] {
    background: var(--primary-soft);
}

.notif-dot[b-m85vzx4zw5] {
    flex: none;
    width: 0.55rem;
    height: 0.55rem;
    margin-block-start: 0.4rem;
    border-radius: 50%;
}

.notif-dot.tone-success[b-m85vzx4zw5] { background: var(--success); }
.notif-dot.tone-danger[b-m85vzx4zw5] { background: var(--danger); }
.notif-dot.tone-warning[b-m85vzx4zw5] { background: var(--warning); }
.notif-dot.tone-primary[b-m85vzx4zw5] { background: var(--primary); }
.notif-dot.tone-info[b-m85vzx4zw5] { background: var(--info); }
.notif-dot.tone-neutral[b-m85vzx4zw5] { background: var(--neutral); }

.notif-title[b-m85vzx4zw5] {
    font-size: 0.875rem;
    font-weight: 500;
}

.notif-time[b-m85vzx4zw5] {
    font-size: 0.75rem;
}

/* ---------- Profile ---------- */

.profile-btn[b-m85vzx4zw5] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.25rem 0.5rem;
    border: 0;
    border-radius: var(--radius);
    background: transparent;
    cursor: pointer;
}

.profile-btn:hover[b-m85vzx4zw5],
.profile-btn[aria-expanded="true"][b-m85vzx4zw5] {
    background: var(--surface-hover);
}

.avatar[b-m85vzx4zw5] {
    display: grid;
    place-items: center;
    width: 2.1rem;
    height: 2.1rem;
    border-radius: 50%;
    background: linear-gradient(135deg, #6366f1, #4338ca);
    color: #fff;
    font-weight: 700;
}

.profile-meta[b-m85vzx4zw5] {
    display: none;
    flex-direction: column;
    text-align: start;
    line-height: 1.25;
}

.profile-name[b-m85vzx4zw5] {
    font-size: 0.875rem;
    font-weight: 600;
}

.profile-role[b-m85vzx4zw5] {
    color: var(--text-muted);
    font-size: 0.75rem;
}

.profile-btn[b-m85vzx4zw5]  .profile-chevron {
    display: none;
    color: var(--text-muted);
}

@media (min-width: 640px) {
    .profile-meta[b-m85vzx4zw5],
    .profile-btn[b-m85vzx4zw5]  .profile-chevron {
        display: flex;
    }
}

@media (min-width: 1024px) {
    .topbar[b-m85vzx4zw5] {
        padding-inline: 1.5rem;
    }
}
/* /Components/Localization/LanguageModal.razor.rz.scp.css */
.switch-row[b-vsylwgcaxg] {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    cursor: pointer;
    font-size: 0.875rem;
    user-select: none;
}

.switch-row input[b-vsylwgcaxg] {
    width: 1.05rem;
    height: 1.05rem;
    accent-color: var(--primary);
    cursor: pointer;
}
/* /Components/Pages/Admin/Billing/Carts.razor.rz.scp.css */
.carts-items[b-rqpmfrt88a] {
    max-width: 16rem;
    font-weight: 500;
}

.carts-lines[b-rqpmfrt88a] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
}

.carts-lines th[b-rqpmfrt88a],
.carts-lines td[b-rqpmfrt88a] {
    padding: 0.5rem 0.4rem;
    border-block-end: 1px solid var(--border, rgba(127, 127, 127, 0.25));
    text-align: start;
    vertical-align: top;
}

.carts-lines th.num[b-rqpmfrt88a],
.carts-lines td.num[b-rqpmfrt88a] {
    text-align: end;
    white-space: nowrap;
}

.carts-lines tfoot th[b-rqpmfrt88a] {
    border-block-end: 0;
}
/* /Components/Pages/Admin/Billing/InvoicesList.razor.rz.scp.css */
/* ---- Ledger strip under the stat cards ---- */
.ledger-strip[b-rr08ev8rf0] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 2rem;
    padding: 0.85rem 1.1rem;
    margin-block-end: 1rem;
}

.ledger-item[b-rr08ev8rf0] {
    display: grid;
    gap: 0.25rem;
}

.ledger-label[b-rr08ev8rf0] {
    color: var(--text-muted);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.ledger-item.is-danger .ledger-label[b-rr08ev8rf0] {
    color: var(--danger);
}

.ledger-values[b-rr08ev8rf0] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 1.25rem;
}

.ledger-rate[b-rr08ev8rf0] {
    font-weight: 600;
}

/* ---- Cells ---- */
.ledger-end[b-rr08ev8rf0] {
    justify-items: end;
}

.ledger-status[b-rr08ev8rf0] {
    display: inline-grid;
    justify-items: center;
    gap: 0.3rem;
}

.ledger-progress[b-rr08ev8rf0] {
    display: block;
    width: 4.5rem;
    height: 0.3rem;
    overflow: hidden;
    border-radius: 999px;
    background: var(--neutral-soft);
}

.ledger-progress > span[b-rr08ev8rf0] {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--info);
}
/* /Components/Pages/Admin/Billing/OrdersList.razor.rz.scp.css */
.orders-items[b-pg38pcxfhh] {
    max-width: 14rem;
    font-weight: 500;
}

.orders-fx-note[b-pg38pcxfhh] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin-block-start: 0.75rem;
    color: var(--text-muted);
    font-size: 0.78rem;
}
/* /Components/Pages/Admin/Billing/PaymentGateways.razor.rz.scp.css */
.pg-muted[b-kfmgi5m8ch] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    color: var(--text-muted);
    font-size: 0.8rem;
}

.pg-small[b-kfmgi5m8ch] {
    font-size: 0.78rem;
}

.pg-spacer[b-kfmgi5m8ch] {
    flex: 1;
}

.pg-shimmer[b-kfmgi5m8ch] {
    display: block;
    height: 6rem;
    border-radius: var(--radius);
    background: linear-gradient(90deg, var(--surface-2), var(--surface-hover), var(--surface-2));
    background-size: 200% 100%;
    animation: pg-shimmer-b-kfmgi5m8ch 1.2s linear infinite;
}

.pg-shimmer.is-card[b-kfmgi5m8ch] {
    height: 17rem;
}

@keyframes pg-shimmer-b-kfmgi5m8ch {
    to { background-position: -200% 0; }
}

/* ---- Currency rules ---- */
.pg-rules[b-kfmgi5m8ch] {
    padding: 1.1rem 1.25rem;
    margin-block-end: 1.5rem;
}

.pg-rules-head[b-kfmgi5m8ch] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.5rem 1rem;
    margin-block-end: 0.5rem;
}

.pg-rules-head h2[b-kfmgi5m8ch] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
}

.pg-rules-head h2 .icon[b-kfmgi5m8ch] {
    color: var(--primary);
}

.pg-rules-grid[b-kfmgi5m8ch] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
    gap: 0 1rem;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.pg-rules-foot[b-kfmgi5m8ch] {
    display: flex;
    flex-wrap: wrap;
    grid-column: 1 / -1;
    align-items: center;
    gap: 0.6rem;
    margin-block-start: 1rem;
    padding-block-start: 0.9rem;
    border-block-start: 1px solid var(--border);
}

.pg-rules-error[b-kfmgi5m8ch] {
    padding-block: 0.5rem;
}

.pg-rate[b-kfmgi5m8ch] {
    display: flex;
    align-items: stretch;
}

.pg-rate .input[b-kfmgi5m8ch] {
    border-radius: 0;
}

.pg-rate-tag[b-kfmgi5m8ch] {
    display: grid;
    place-items: center;
    padding-inline: 0.65rem;
    border: 1px solid var(--border);
    background: var(--surface-2);
    color: var(--text-muted);
    font-size: 0.78rem;
    font-weight: 600;
    white-space: nowrap;
}

.pg-rate-tag:first-child[b-kfmgi5m8ch] {
    border-inline-end: 0;
    border-start-start-radius: var(--radius);
    border-end-start-radius: var(--radius);
}

.pg-rate-tag:last-child[b-kfmgi5m8ch] {
    border-inline-start: 0;
    border-start-end-radius: var(--radius);
    border-end-end-radius: var(--radius);
}

/* ---- Gateway cards ---- */
.pg-region[b-kfmgi5m8ch] {
    margin-block-end: 1.5rem;
}

.pg-region-title[b-kfmgi5m8ch] {
    display: flex;
    align-items: baseline;
    gap: 0.6rem;
    margin-block-end: 0.75rem;
    font-size: 1rem;
}

.pg-region-count[b-kfmgi5m8ch] {
    color: var(--text-muted);
    font-size: 0.78rem;
    font-weight: 500;
}

.pg-grid[b-kfmgi5m8ch] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(19rem, 1fr));
    gap: 1rem;
}

.pg-card[b-kfmgi5m8ch] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 1rem 1.1rem;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.pg-card.is-on[b-kfmgi5m8ch] {
    border-color: color-mix(in srgb, var(--success) 35%, var(--border));
}

.pg-card.is-off[b-kfmgi5m8ch] {
    background: var(--surface-2);
}

.pg-card.is-off .bl-logo[b-kfmgi5m8ch] {
    filter: grayscale(0.6);
    opacity: 0.75;
}

.pg-card-head[b-kfmgi5m8ch] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.pg-card-title[b-kfmgi5m8ch] {
    display: grid;
    flex: 1;
    min-width: 0;
    gap: 0.25rem;
}

.pg-name[b-kfmgi5m8ch] {
    font-weight: 700;
}

.pg-badges[b-kfmgi5m8ch] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
}

.pg-desc[b-kfmgi5m8ch] {
    color: var(--text-muted);
    font-size: 0.82rem;
}

.pg-currencies[b-kfmgi5m8ch] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.pg-cur[b-kfmgi5m8ch] {
    padding: 0.05rem 0.45rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--surface);
    font-family: var(--font-mono);
    font-size: 0.7rem;
    font-weight: 700;
}

.pg-cur-irr[b-kfmgi5m8ch] {
    border-color: color-mix(in srgb, var(--success) 35%, transparent);
    background: var(--success-soft);
    color: var(--success);
}

.pg-cur-usd[b-kfmgi5m8ch] {
    border-color: color-mix(in srgb, var(--info) 35%, transparent);
    background: var(--info-soft);
    color: var(--info);
}

.pg-creds[b-kfmgi5m8ch] {
    display: grid;
    gap: 0.3rem;
    margin: 0;
    padding: 0.6rem 0.7rem;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--surface);
    list-style: none;
}

.pg-creds li[b-kfmgi5m8ch] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.pg-masked[b-kfmgi5m8ch] {
    font-family: var(--font-mono);
    font-size: 0.75rem;
}

.pg-warn[b-kfmgi5m8ch] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    color: var(--warning);
    font-size: 0.8rem;
    font-weight: 600;
}

.pg-stats[b-kfmgi5m8ch] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.5rem;
    margin: 0;
}

.pg-stats dt[b-kfmgi5m8ch] {
    color: var(--text-muted);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.pg-stats dd[b-kfmgi5m8ch] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0.15rem 0 0;
    font-weight: 600;
}

.pg-rate-bar[b-kfmgi5m8ch] {
    display: block;
    flex: 1;
    max-width: 3.5rem;
    height: 0.3rem;
    overflow: hidden;
    border-radius: 999px;
    background: var(--neutral-soft);
}

.pg-rate-bar > span[b-kfmgi5m8ch] {
    display: block;
    height: 100%;
    border-radius: inherit;
}

.pg-rate-bar.is-good > span[b-kfmgi5m8ch] { background: var(--success); }
.pg-rate-bar.is-fair > span[b-kfmgi5m8ch] { background: var(--warning); }
.pg-rate-bar.is-poor > span[b-kfmgi5m8ch] { background: var(--danger); }

.pg-test[b-kfmgi5m8ch] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    padding: 0.45rem 0.6rem;
    border-radius: var(--radius-sm);
    font-size: 0.8rem;
}

.pg-test.is-ok[b-kfmgi5m8ch] {
    background: var(--success-soft);
    color: var(--success);
}

.pg-test.is-fail[b-kfmgi5m8ch] {
    background: var(--danger-soft);
    color: var(--danger);
}

.pg-card-foot[b-kfmgi5m8ch] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-block-start: auto;
    padding-block-start: 0.75rem;
    border-block-start: 1px solid var(--border);
}

/* ---- Transactions ---- */
.pg-tx[b-kfmgi5m8ch] {
    margin-block-start: 0.5rem;
}

.pg-copy[b-kfmgi5m8ch] {
    width: 1.7rem;
    height: 1.7rem;
}

.pg-response[b-kfmgi5m8ch] {
    display: inline-block;
    min-width: 2.5rem;
    padding: 0.1rem 0.45rem;
    border-radius: var(--radius-sm);
    font-family: var(--font-mono);
    font-size: 0.75rem;
    font-weight: 700;
    text-align: center;
}

.tone-success[b-kfmgi5m8ch] { background: var(--success-soft); color: var(--success); }
.tone-warning[b-kfmgi5m8ch] { background: var(--warning-soft); color: var(--warning); }
.tone-danger[b-kfmgi5m8ch] { background: var(--danger-soft); color: var(--danger); }
.tone-info[b-kfmgi5m8ch] { background: var(--info-soft); color: var(--info); }
.tone-neutral[b-kfmgi5m8ch] { background: var(--neutral-soft); color: var(--neutral); }

.pg-ref[b-kfmgi5m8ch] {
    display: inline-block;
    max-width: 11rem;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: middle;
}

.pg-center[b-kfmgi5m8ch] {
    justify-items: center;
}

.pg-reason[b-kfmgi5m8ch] {
    max-width: 10rem;
}

@media (max-width: 480px) {
    .pg-stats[b-kfmgi5m8ch] {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* /Components/Pages/Admin/Catalog/LicenseKeys.razor.rz.scp.css */
.load-error[b-qseovmt2ne] {
    align-items: center;
    margin-block-end: 1rem;
}

.load-error-text[b-qseovmt2ne] {
    flex: 1;
}

/* ---- Filter bar ---- */
.filter-bar[b-qseovmt2ne] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.6rem;
    padding: 0.85rem 1rem;
    margin-block-end: 1rem;
}

.f-search[b-qseovmt2ne] {
    position: relative;
    display: flex;
    flex: 1 1 18rem;
    align-items: center;
    min-width: 0;
    color: var(--text-muted);
}

.f-search .icon[b-qseovmt2ne] {
    position: absolute;
    inset-inline-start: 0.7rem;
    pointer-events: none;
}

.f-search .input[b-qseovmt2ne] {
    padding-inline-start: 2.2rem;
}

.filter .input[b-qseovmt2ne] {
    width: auto;
    min-width: 9rem;
    padding-block: 0.45rem;
}

.clear-filters[b-qseovmt2ne] {
    flex: none;
}

/* ---- Key cells ---- */
.cell-key[b-qseovmt2ne] {
    display: flex;
    align-items: center;
    gap: 0.1rem;
}

.key-code[b-qseovmt2ne] {
    padding: 0.2rem 0.5rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--surface-2);
    font-family: var(--font-mono);
    font-size: 0.78rem;
    white-space: nowrap;
}

.key-btn[b-qseovmt2ne] {
    width: 1.9rem;
    height: 1.9rem;
}

.cell-customer-text[b-qseovmt2ne] {
    display: grid;
    min-width: 0;
}

.cell-customer-name[b-qseovmt2ne] {
    overflow: hidden;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cell-customer-email[b-qseovmt2ne] {
    overflow: hidden;
    color: var(--text-muted);
    font-size: 0.75rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cell-expiry[b-qseovmt2ne] {
    font-size: 0.82rem;
}

.cell-perpetual[b-qseovmt2ne] {
    padding: 0.1rem 0.55rem;
    border: 1px solid color-mix(in srgb, var(--info) 35%, transparent);
    border-radius: 999px;
    background: var(--info-soft);
    color: var(--info);
    font-size: 0.7rem;
    font-weight: 600;
    white-space: nowrap;
}

.cell-hw[b-qseovmt2ne] {
    font-family: var(--font-mono);
    font-size: 0.78rem;
}

/* ---- Confirm-dialog inline fields ---- */
.cd-field[b-qseovmt2ne] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    margin-block: 0.75rem 0.35rem;
    font-weight: 600;
    font-size: 0.85rem;
}

.required[b-qseovmt2ne] {
    color: var(--danger);
}

.field-error[b-qseovmt2ne] {
    margin-block-start: 0.35rem;
    color: var(--danger);
    font-size: 0.8125rem;
}

/* ---- Table ---- */
.licenses-table[b-qseovmt2ne]  .col-actions {
    position: sticky;
    inset-inline-end: 0;
    z-index: 1;
    background: var(--surface);
    box-shadow: inset 1px 0 0 var(--border);
}

[dir="rtl"] .licenses-table[b-qseovmt2ne]  .col-actions {
    box-shadow: inset -1px 0 0 var(--border);
}

.licenses-table[b-qseovmt2ne]  thead .col-actions {
    background: var(--surface-2);
}

.licenses-table[b-qseovmt2ne]  tbody tr:hover .col-actions {
    background: var(--surface-hover);
}

.licenses-table[b-qseovmt2ne]  .dt-table th,
.licenses-table[b-qseovmt2ne]  .dt-table td {
    padding-inline: 0.8rem;
}

.licenses-table[b-qseovmt2ne]  .dt-table {
    font-size: 0.875rem;
}

.row-actions[b-qseovmt2ne] {
    display: inline-flex;
    gap: 0.1rem;
}

.row-actions .icon-btn[b-qseovmt2ne] {
    width: 2.1rem;
    height: 2.1rem;
}

.row-actions .icon-btn:disabled[b-qseovmt2ne] {
    opacity: 0.4;
    cursor: not-allowed;
}

.row-actions .icon-btn.danger:hover:not(:disabled)[b-qseovmt2ne] {
    background: var(--danger-soft);
    color: var(--danger);
}
/* /Components/Pages/Admin/Catalog/ProductsList.razor.rz.scp.css */
.load-error[b-tz4njtmfcx] {
    align-items: center;
    margin-block-end: 1rem;
}

.load-error-text[b-tz4njtmfcx] {
    flex: 1;
}

/* ---- Filter bar ---- */
.filter-bar[b-tz4njtmfcx] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.6rem;
    padding: 0.85rem 1rem;
    margin-block-end: 1rem;
}

.f-search[b-tz4njtmfcx] {
    position: relative;
    display: flex;
    flex: 1 1 18rem;
    align-items: center;
    min-width: 0;
    color: var(--text-muted);
}

.f-search .icon[b-tz4njtmfcx] {
    position: absolute;
    inset-inline-start: 0.7rem;
    pointer-events: none;
}

.f-search .input[b-tz4njtmfcx] {
    padding-inline-start: 2.2rem;
}

.filter .input[b-tz4njtmfcx] {
    width: auto;
    min-width: 9rem;
    padding-block: 0.45rem;
}

.view-toggle[b-tz4njtmfcx] {
    display: inline-flex;
    gap: 0.15rem;
    padding: 0.15rem;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--surface-2);
}

.view-toggle .icon-btn.is-on[b-tz4njtmfcx] {
    background: var(--primary-soft);
    color: var(--primary);
}

/* ---- Product card grid ---- */
.product-grid[b-tz4njtmfcx] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(17.5rem, 1fr));
    gap: 1rem;
}

.product-card[b-tz4njtmfcx] {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.product-card:hover[b-tz4njtmfcx] {
    transform: translateY(-2px);
    box-shadow: var(--shadow);
}

.product-thumb[b-tz4njtmfcx] {
    position: relative;
    display: grid;
    place-items: center;
    aspect-ratio: 16 / 9;
    background: linear-gradient(135deg, var(--primary-soft), var(--surface-2));
    border-block-end: 1px solid var(--border);
}

.product-thumb img[b-tz4njtmfcx] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.thumb-fallback[b-tz4njtmfcx] {
    display: grid;
    place-items: center;
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 50%;
    background: var(--primary-soft);
    color: var(--primary);
}

.thumb-badge[b-tz4njtmfcx] {
    position: absolute;
    inset-block-start: 0.6rem;
    inset-inline-end: 0.6rem;
}

.product-body[b-tz4njtmfcx] {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 0.7rem;
    padding: 0.95rem 1rem 1rem;
}

.product-title-row[b-tz4njtmfcx] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.6rem;
}

.product-titles[b-tz4njtmfcx] {
    min-width: 0;
}

.product-titles h3[b-tz4njtmfcx] {
    font-size: 1rem;
    overflow-wrap: anywhere;
}

.sku[b-tz4njtmfcx] {
    color: var(--text-muted);
    font-size: 0.75rem;
    overflow-wrap: anywhere;
}

.type-chip[b-tz4njtmfcx] {
    flex: none;
    padding: 0.1rem 0.55rem;
    border: 1px solid color-mix(in srgb, var(--primary) 35%, transparent);
    border-radius: 999px;
    background: var(--primary-soft);
    color: var(--primary);
    font-size: 0.7rem;
    font-weight: 600;
    white-space: nowrap;
}

.product-desc[b-tz4njtmfcx] {
    display: -webkit-box;
    overflow: hidden;
    color: var(--text-muted);
    font-size: 0.8125rem;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
}

.product-meta[b-tz4njtmfcx] {
    display: grid;
    gap: 0.4rem;
    padding-block: 0.55rem;
    border-block: 1px solid var(--border);
}

.meta-row[b-tz4njtmfcx] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    font-size: 0.8125rem;
}

.meta-label[b-tz4njtmfcx] {
    color: var(--text-muted);
}

.chips[b-tz4njtmfcx] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
}

.chip[b-tz4njtmfcx] {
    padding: 0.1rem 0.5rem;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--surface-2);
    color: var(--text-muted);
    font-size: 0.7rem;
    font-weight: 600;
}

.product-actions[b-tz4njtmfcx] {
    display: flex;
    gap: 0.2rem;
    margin-block-start: auto;
    padding-block-start: 0.35rem;
}

.product-actions .icon-btn.danger:hover:not(:disabled)[b-tz4njtmfcx] {
    background: var(--danger-soft);
    color: var(--danger);
}

.product-actions .icon-btn.success:hover:not(:disabled)[b-tz4njtmfcx] {
    background: var(--success-soft);
    color: var(--success);
}

.is-skeleton .thumb[b-tz4njtmfcx] {
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 0;
}

.is-skeleton .line[b-tz4njtmfcx] {
    width: 80%;
    height: 0.75rem;
    border-radius: var(--radius-sm);
}

/* ---- Pager / empty state ---- */
.simple-pager[b-tz4njtmfcx] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    margin-block-start: 1.25rem;
}

.page-chip[b-tz4njtmfcx] {
    min-width: 2rem;
    padding: 0.3rem 0.5rem;
    border: 1px solid transparent;
    border-radius: var(--radius);
    background: transparent;
    color: var(--text-muted);
    font-weight: 600;
    cursor: pointer;
}

.page-chip:hover[b-tz4njtmfcx] {
    background: var(--surface-hover);
    color: var(--text);
}

.page-chip.is-current[b-tz4njtmfcx] {
    border-color: color-mix(in srgb, var(--primary) 40%, transparent);
    background: var(--primary-soft);
    color: var(--primary);
}

.empty-state[b-tz4njtmfcx] {
    display: grid;
    place-items: center;
    gap: 0.7rem;
    padding: 3rem 1.5rem;
    color: var(--text-muted);
    text-align: center;
}

/* ---- Table view ---- */
.products-table[b-tz4njtmfcx]  .col-actions {
    position: sticky;
    inset-inline-end: 0;
    z-index: 1;
    background: var(--surface);
    box-shadow: inset 1px 0 0 var(--border);
}

[dir="rtl"] .products-table[b-tz4njtmfcx]  .col-actions {
    box-shadow: inset -1px 0 0 var(--border);
}

.products-table[b-tz4njtmfcx]  thead .col-actions {
    background: var(--surface-2);
}

.products-table[b-tz4njtmfcx]  tbody tr:hover .col-actions {
    background: var(--surface-hover);
}

.products-table[b-tz4njtmfcx]  .dt-table th,
.products-table[b-tz4njtmfcx]  .dt-table td {
    padding-inline: 0.8rem;
}

.products-table[b-tz4njtmfcx]  .dt-table {
    font-size: 0.875rem;
}

.cell-product[b-tz4njtmfcx] {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    min-width: 0;
}

.cell-thumb[b-tz4njtmfcx] {
    display: grid;
    flex: none;
    place-items: center;
    width: 2.4rem;
    height: 2.4rem;
    border-radius: var(--radius-sm);
    object-fit: cover;
    background: var(--primary-soft);
    color: var(--primary);
}

.cell-product-text[b-tz4njtmfcx] {
    display: grid;
    min-width: 0;
}

.cell-product-name[b-tz4njtmfcx] {
    overflow: hidden;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cell-product-sku[b-tz4njtmfcx] {
    color: var(--text-muted);
    font-size: 0.75rem;
}

.row-actions[b-tz4njtmfcx] {
    display: inline-flex;
    gap: 0.1rem;
}

.row-actions .icon-btn[b-tz4njtmfcx] {
    width: 2.1rem;
    height: 2.1rem;
}

.row-actions .icon-btn:disabled[b-tz4njtmfcx] {
    opacity: 0.4;
    cursor: not-allowed;
}

.row-actions .icon-btn.danger:hover:not(:disabled)[b-tz4njtmfcx] {
    background: var(--danger-soft);
    color: var(--danger);
}

.row-actions .icon-btn.success:hover:not(:disabled)[b-tz4njtmfcx] {
    background: var(--success-soft);
    color: var(--success);
}

@media (max-width: 640px) {
    .filter-bar[b-tz4njtmfcx] {
        overflow-x: auto;
    }
}

/* /Components/Pages/Admin/Catalog/SubscriptionPlans.razor.rz.scp.css */
.load-error[b-noi0jpe9zi] {
    align-items: center;
    margin-block-end: 1rem;
}

.load-error-text[b-noi0jpe9zi] {
    flex: 1;
}

/* ---- Toolbar: cycle + currency + filters ---- */
.plan-toolbar[b-noi0jpe9zi] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.6rem 1rem;
    padding: 0.85rem 1rem;
    margin-block-end: 1rem;
}

.cycle-switch[b-noi0jpe9zi] {
    display: inline-flex;
    gap: 0.15rem;
    padding: 0.2rem;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--surface-2);
}

.chip-btn[b-noi0jpe9zi] {
    padding: 0.35rem 0.9rem;
    border: 0;
    border-radius: var(--radius-sm);
    background: transparent;
    color: var(--text-muted);
    font-weight: 600;
    font-size: 0.8125rem;
    cursor: pointer;
}

.chip-btn:hover[b-noi0jpe9zi] {
    color: var(--text);
}

.chip-btn.is-on[b-noi0jpe9zi] {
    background: var(--surface);
    color: var(--primary);
    box-shadow: var(--shadow-sm);
}

.filter[b-noi0jpe9zi] {
    margin-inline-start: auto;
}

.filter .input[b-noi0jpe9zi] {
    width: auto;
    min-width: 9rem;
    padding-block: 0.45rem;
}

/* ---- Pricing matrix ---- */
.plan-grid[b-noi0jpe9zi] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(20rem, 100%), 1fr));
    align-items: start;
    gap: 1rem;
}

.plan-card[b-noi0jpe9zi] {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
    padding: 1.25rem;
}

.plan-card.is-popular[b-noi0jpe9zi] {
    border-color: color-mix(in srgb, var(--primary) 55%, transparent);
    box-shadow: 0 8px 32px rgb(79 70 229 / 0.16);
}

.popular-flag[b-noi0jpe9zi] {
    position: absolute;
    inset-block-start: -0.7rem;
    inset-inline-start: 1rem;
    padding: 0.12rem 0.7rem;
    border-radius: 999px;
    background: var(--primary-solid);
    color: #fff;
    font-size: 0.7rem;
    font-weight: 700;
}

.plan-head[b-noi0jpe9zi] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.6rem;
}

.plan-titles h3[b-noi0jpe9zi] {
    font-size: 1.1rem;
}

.plan-desc[b-noi0jpe9zi] {
    margin-block-start: 0.2rem;
    color: var(--text-muted);
    font-size: 0.8125rem;
}

.plan-price[b-noi0jpe9zi] {
    text-align: center;
}

.price-value[b-noi0jpe9zi] {
    font-size: 1.9rem;
    font-weight: 800;
    line-height: 1.2;
}

.price-cycle[b-noi0jpe9zi] {
    color: var(--text-muted);
    font-size: 0.8125rem;
}

.price-old[b-noi0jpe9zi] {
    color: var(--text-muted);
    font-size: 0.85rem;
    text-decoration: line-through;
}

.price-off[b-noi0jpe9zi] {
    padding: 0.08rem 0.5rem;
    border-radius: 999px;
    background: var(--success-soft);
    color: var(--success);
    font-size: 0.72rem;
    font-weight: 700;
}

/* ---- Cycle comparison strip ---- */
.cycle-prices[b-noi0jpe9zi] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.4rem;
}

.cycle-price[b-noi0jpe9zi] {
    display: grid;
    gap: 0.15rem;
    padding: 0.45rem 0.5rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--surface-2);
    font-size: 0.75rem;
    text-align: center;
}

.cycle-price b[b-noi0jpe9zi] {
    color: var(--text-muted);
    font-weight: 600;
}

.cycle-price span[b-noi0jpe9zi] {
    font-weight: 700;
}

.cycle-price.is-on[b-noi0jpe9zi] {
    border-color: color-mix(in srgb, var(--primary) 45%, transparent);
    background: var(--primary-soft);
    color: var(--primary);
}

.cycle-price.is-on b[b-noi0jpe9zi] {
    color: var(--primary);
}

/* ---- Limits & features ---- */
.limit-list[b-noi0jpe9zi] {
    display: grid;
    gap: 0.35rem;
    margin: 0;
    padding: 0.75rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--surface-2);
    list-style: none;
    font-size: 0.8125rem;
}

.limit-list li[b-noi0jpe9zi] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.limit-list li span[b-noi0jpe9zi] {
    color: var(--text-muted);
}

.feature-check[b-noi0jpe9zi] {
    display: grid;
    gap: 0.35rem;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 0.85rem;
}

.feature-check li[b-noi0jpe9zi] {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
}

.feature-check .is-out[b-noi0jpe9zi] {
    color: var(--text-muted);
    text-decoration: line-through;
}

.feature-check li[b-noi0jpe9zi]  .icon {
    flex: none;
    margin-block-start: 0.2rem;
}

.is-in[b-noi0jpe9zi]  .icon {
    color: var(--success);
}

.is-out[b-noi0jpe9zi]  .icon {
    color: var(--text-muted);
}

/* ---- Footer & actions ---- */
.plan-foot[b-noi0jpe9zi] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding-block-start: 0.75rem;
    border-block-start: 1px solid var(--border);
    color: var(--text-muted);
    font-size: 0.8rem;
}

.plan-foot span:first-child[b-noi0jpe9zi] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.plan-actions[b-noi0jpe9zi] {
    display: flex;
    justify-content: flex-end;
    gap: 0.2rem;
    padding-block-start: 0.25rem;
}

.plan-actions .icon-btn.danger:hover:not(:disabled)[b-noi0jpe9zi] {
    background: var(--danger-soft);
    color: var(--danger);
}

.plan-actions .icon-btn.success:hover:not(:disabled)[b-noi0jpe9zi] {
    background: var(--success-soft);
    color: var(--success);
}

.is-skeleton .line[b-noi0jpe9zi] {
    width: 100%;
    height: 0.8rem;
    border-radius: var(--radius-sm);
}

.is-skeleton .wide[b-noi0jpe9zi] {
    width: 55%;
}

.is-skeleton .short[b-noi0jpe9zi] {
    width: 70%;
}

.is-skeleton .price[b-noi0jpe9zi] {
    width: 45%;
    height: 1.6rem;
    margin-inline: auto;
}

.empty-state[b-noi0jpe9zi] {
    display: grid;
    place-items: center;
    gap: 0.7rem;
    padding: 3rem 1.5rem;
    color: var(--text-muted);
    text-align: center;
}

/* /Components/Pages/Admin/Cms/AiSeoDashboard.razor.rz.scp.css */
/* Scoped styles of the AI SEO & GEO dashboard. */

.load-error[b-4nxsputa68] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
}

.tab-badge.dot-warning[b-4nxsputa68] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--warning);
    padding: 0;
}

/* ---- llms.txt tab ---- */

.file-grid[b-4nxsputa68] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 14px;
    margin-bottom: 16px;
}

.file-card[b-4nxsputa68] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.file-head[b-4nxsputa68] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.file-head h3[b-4nxsputa68] {
    margin: 0;
    font-size: 1.02rem;
    flex: 1;
}

.file-stats[b-4nxsputa68] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin: 0;
}

    .file-stats div[b-4nxsputa68] {
        background: var(--surface-hover);
        border: 1px solid var(--border);
        border-radius: var(--radius);
        padding: 8px 10px;
    }

    .file-stats dt[b-4nxsputa68] {
        font-size: 0.72rem;
        color: var(--text-muted);
        margin-bottom: 3px;
    }

    .file-stats dd[b-4nxsputa68] {
        margin: 0;
        font-weight: 700;
        font-size: 0.92rem;
        overflow: hidden;
        text-overflow: ellipsis;
    }

.file-actions[b-4nxsputa68] {
    display: flex;
    gap: 8px;
}

.settings-card .card-header[b-4nxsputa68],
.seo-grid .card-header[b-4nxsputa68] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.settings-card .card-header h2[b-4nxsputa68],
.seo-grid .card-header h2[b-4nxsputa68] {
    margin: 0;
    font-size: 1.02rem;
}

.switch-list[b-4nxsputa68] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    background: var(--surface-hover);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 8px 12px;
}

/* ---- sitemaps & robots ---- */

.seo-grid[b-4nxsputa68] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    align-items: start;
}

.block-all[b-4nxsputa68] {
    background: var(--danger-soft);
    border: 1px solid var(--danger);
    border-radius: var(--radius);
    margin-bottom: 12px;
}

    .block-all span[b-4nxsputa68] {
        display: flex;
        flex-direction: column;
    }

.cms-plain-table[b-4nxsputa68] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.87rem;
}

    .cms-plain-table th[b-4nxsputa68] {
        text-align: start;
        font-size: 0.74rem;
        text-transform: uppercase;
        letter-spacing: 0.04em;
        color: var(--text-muted);
        padding: 8px 10px;
        border-bottom: 1px solid var(--border);
        white-space: nowrap;
    }

    .cms-plain-table td[b-4nxsputa68] {
        padding: 9px 10px;
        border-bottom: 1px solid var(--border);
        vertical-align: middle;
    }

        .cms-plain-table tr:last-child td[b-4nxsputa68] {
            border-bottom: 0;
        }

    .cms-plain-table .col-center[b-4nxsputa68] {
        text-align: center;
        width: 96px;
    }

    .cms-plain-table .col-end[b-4nxsputa68] {
        text-align: end;
        white-space: nowrap;
    }

    .cms-plain-table td .muted.sm[b-4nxsputa68] {
        display: block;
        margin-top: 2px;
    }

.chip-cat[b-4nxsputa68] {
    color: var(--info);
    border-color: var(--info);
    font-size: 0.72rem;
}

.chip-warn[b-4nxsputa68] {
    color: var(--warning);
    border-color: var(--warning);
    font-size: 0.7rem;
    margin-inline-start: 6px;
}

/* Toggle switch */
.switch[b-4nxsputa68] {
    position: relative;
    display: inline-block;
    width: 38px;
    height: 20px;
}

    .switch input[b-4nxsputa68] {
        position: absolute;
        opacity: 0;
        width: 100%;
        height: 100%;
        margin: 0;
        cursor: pointer;
        z-index: 1;
    }

    .switch span[b-4nxsputa68] {
        position: absolute;
        inset: 0;
        background: var(--neutral-soft);
        border: 1px solid var(--border);
        border-radius: 999px;
        transition: background 0.15s;
    }

        .switch span[b-4nxsputa68]::after {
            content: "";
            position: absolute;
            top: 2px;
            inset-inline-start: 2px;
            width: 14px;
            height: 14px;
            border-radius: 50%;
            background: var(--text-muted);
            transition: transform 0.15s, background 0.15s;
        }

    .switch input:checked + span[b-4nxsputa68] {
        background: var(--primary-soft);
        border-color: var(--primary);
    }

        .switch input:checked + span[b-4nxsputa68]::after {
            transform: translateX(18px);
            background: var(--primary);
        }

    .switch input:focus-visible + span[b-4nxsputa68] {
        outline: 2px solid var(--primary);
        outline-offset: 2px;
    }

[dir="rtl"] .switch input:checked + span[b-4nxsputa68]::after {
    transform: translateX(-18px);
}

.rules-list[b-4nxsputa68] {
    margin-top: 10px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    overflow: hidden;
}

.rule-row[b-4nxsputa68] {
    display: flex;
    gap: 10px;
    align-items: baseline;
    flex-wrap: wrap;
    padding: 7px 10px;
    font-size: 0.8rem;
    border-bottom: 1px solid var(--border);
}

    .rule-row:last-child[b-4nxsputa68] {
        border-bottom: 0;
    }

    .rule-row code[b-4nxsputa68] {
        font-family: var(--font-mono);
        background: var(--neutral-soft);
        border-radius: var(--radius-sm);
        padding: 1px 6px;
        min-width: 70px;
    }

/* ---- crawler monitor ---- */

.filter-bar[b-4nxsputa68] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    padding: 12px 14px;
    margin-bottom: 16px;
}

.f-search[b-4nxsputa68] {
    position: relative;
    display: flex;
    align-items: center;
    flex: 1;
    min-width: 200px;
}

.f-search .icon[b-4nxsputa68] {
    position: absolute;
    inset-inline-start: 10px;
    color: var(--text-muted);
    pointer-events: none;
}

.f-search .input[b-4nxsputa68] {
    padding-inline-start: 34px;
}

.filter .input[b-4nxsputa68] {
    min-width: 140px;
}

.cms-table[b-4nxsputa68] {
    padding: 6px 14px 14px;
}

.col-path[b-4nxsputa68] {
    font-family: var(--font-mono);
    font-size: 0.78rem;
    max-width: 260px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.col-ip[b-4nxsputa68] {
    font-family: var(--font-mono);
    font-size: 0.78rem;
    color: var(--text-muted);
}

.status-code[b-4nxsputa68] {
    font-weight: 700;
    padding: 1px 7px;
    border-radius: var(--radius-sm);
    border: 1px solid var(--border);
}

    .status-code.is-2[b-4nxsputa68] {
        color: var(--success);
        border-color: var(--success);
    }

    .status-code.is-4[b-4nxsputa68] {
        color: var(--warning);
        border-color: var(--warning);
    }

    .status-code.is-5[b-4nxsputa68] {
        color: var(--danger);
        border-color: var(--danger);
    }

/* ---- FAQ & banners ---- */

.banner-cell[b-4nxsputa68] {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

    .banner-cell img[b-4nxsputa68] {
        width: 54px;
        height: 34px;
        object-fit: cover;
        border-radius: var(--radius-sm);
        border: 1px solid var(--border);
        flex: none;
    }

    .banner-cell span[b-4nxsputa68] {
        display: flex;
        flex-direction: column;
        min-width: 0;
    }

    .banner-cell b[b-4nxsputa68] {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

.row-actions[b-4nxsputa68] {
    display: inline-flex;
    gap: 4px;
    justify-content: flex-end;
}

    .row-actions .icon-btn.danger:hover:not(:disabled)[b-4nxsputa68] {
        background: var(--danger-soft);
        color: var(--danger);
    }

    .row-actions .icon-btn.success:hover:not(:disabled)[b-4nxsputa68] {
        background: var(--success-soft);
        color: var(--success);
    }

/* ---- dialogs ---- */

.code-view[b-4nxsputa68] {
    background: var(--neutral-soft);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 14px 16px;
    font-family: var(--font-mono);
    font-size: 0.78rem;
    line-height: 1.6;
    max-height: 60vh;
    overflow: auto;
    white-space: pre-wrap;
    word-break: break-word;
    direction: ltr;
    text-align: left;
    margin: 0;
}

.roles-loading[b-4nxsputa68] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 38px 12px;
    color: var(--text-muted);
}

@media (max-width: 1100px) {
    .seo-grid[b-4nxsputa68] {
        grid-template-columns: 1fr;
    }

    .file-stats[b-4nxsputa68] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
/* /Components/Pages/Admin/Cms/ArticleComments.razor.rz.scp.css */
/* Settings card */

.comment-settings[b-1ibjjvu0wu] {
    margin-bottom: 1.25rem;
}

.comment-settings-body[b-1ibjjvu0wu] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem 1.5rem;
}

/* Filter bar: status tabs and search */

.filter-bar.glass[b-1ibjjvu0wu] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.6rem 0.75rem;
    padding: 0.75rem 1rem;
    border-radius: var(--radius-lg, var(--radius));
    background: color-mix(in srgb, var(--surface) 58%, transparent);
    border: 1px solid var(--border);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    margin-bottom: 1.25rem;
}

.status-tabs[b-1ibjjvu0wu] {
    background: var(--surface-2);
    border-radius: var(--radius);
    display: inline-flex;
    flex-wrap: wrap;
    gap: 2px;
    padding: 3px;
}

.status-tab[b-1ibjjvu0wu] {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: var(--radius-sm, 6px);
    color: var(--text-muted);
    cursor: pointer;
    display: inline-flex;
    font-size: 0.82rem;
    gap: 6px;
    min-height: 34px;
    padding: 4px 12px;
}

.status-tab[aria-selected="true"][b-1ibjjvu0wu] {
    background: var(--surface);
    box-shadow: var(--shadow-sm);
    color: var(--text);
    font-weight: 600;
}

.status-tab:focus-visible[b-1ibjjvu0wu] {
    outline: 2px solid var(--primary);
    outline-offset: 1px;
}

.status-count[b-1ibjjvu0wu] {
    background: var(--surface-2);
    border-radius: 999px;
    color: var(--text-muted);
    font-size: 0.7rem;
    font-weight: 700;
    min-width: 1.25rem;
    padding: 2px 6px;
    text-align: center;
}

.status-tab[aria-selected="true"] .status-count[b-1ibjjvu0wu] {
    background: var(--primary);
    color: #fff;
}

.filter-bar .f-search[b-1ibjjvu0wu] {
    position: relative;
    display: flex;
    align-items: center;
    flex: 1 1 240px;
    min-width: 200px;
    gap: 0.35rem;
    padding-inline-start: 0.3rem;
}

.filter-bar .f-search input[b-1ibjjvu0wu] {
    padding-inline-start: 2rem;
    background: color-mix(in srgb, var(--surface) 88%, transparent);
}

/* Table */

.card.glass.cms-table[b-1ibjjvu0wu] {
    background: color-mix(in srgb, var(--surface) 72%, transparent);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg, var(--radius));
    box-shadow: var(--shadow);
}

.cell-sender[b-1ibjjvu0wu] {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.sender-name[b-1ibjjvu0wu] {
    font-weight: 600;
    color: var(--text);
}

.sender-email[b-1ibjjvu0wu] {
    font-size: 0.8rem;
}

.col-message[b-1ibjjvu0wu] {
    max-width: 340px;
}

.message-preview[b-1ibjjvu0wu] {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    white-space: normal;
}

/* Thread dialog */

.payload-grid[b-1ibjjvu0wu] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.6rem 1rem;
    margin: 0 0 1rem;
}

.payload-grid > div[b-1ibjjvu0wu] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    padding: 0.6rem 0.7rem;
    border: 1px solid var(--border);
    border-radius: 0.5rem;
    background: var(--surface);
}

.payload-grid > div dt[b-1ibjjvu0wu] {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--text-muted);
}

.payload-grid > div dd[b-1ibjjvu0wu] {
    margin: 0;
    font-size: 0.88rem;
    word-break: break-word;
}

.payload-block h4[b-1ibjjvu0wu] {
    margin: 0 0 0.5rem;
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-muted);
}

.payload-block + .payload-block[b-1ibjjvu0wu] {
    margin-top: 0.9rem;
}

.message-body[b-1ibjjvu0wu] {
    margin: 0;
    padding: 0.85rem 1rem;
    border: 1px solid var(--border);
    border-radius: 0.5rem;
    background: var(--surface-2);
    font-family: inherit;
    font-size: 0.9rem;
    line-height: 1.6;
    white-space: pre-wrap;
    word-break: break-word;
}

/* A staff reply is set apart by an accent edge on the reading-start side, in both directions. */
.thread-reply .message-body[b-1ibjjvu0wu] {
    border-inline-start: 3px solid var(--primary);
}

.reply-label[b-1ibjjvu0wu] {
    color: var(--text-muted);
    display: block;
    font-size: 0.8rem;
    font-weight: 600;
    margin: 1rem 0 0.25rem;
}

.reply-body[b-1ibjjvu0wu] {
    resize: vertical;
}

@media (max-width: 600px) {
    .status-tabs[b-1ibjjvu0wu] {
        width: 100%;
    }

    .status-tab[b-1ibjjvu0wu] {
        flex: 1 1 auto;
        justify-content: center;
    }
}
/* /Components/Pages/Admin/Cms/ArticlesList.razor.rz.scp.css */
/* Scoped styles of the Articles & Blog admin page. */

.load-error[b-5ar7wxqnde] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
}

.load-error-text[b-5ar7wxqnde] {
    flex: 1;
}

.filter-bar[b-5ar7wxqnde] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    padding: 12px 14px;
    margin-bottom: 16px;
}

.f-search[b-5ar7wxqnde] {
    position: relative;
    display: flex;
    align-items: center;
    flex: 1;
    min-width: 200px;
}

.f-search .icon[b-5ar7wxqnde] {
    position: absolute;
    inset-inline-start: 10px;
    color: var(--text-muted);
    pointer-events: none;
}

.f-search .input[b-5ar7wxqnde] {
    padding-inline-start: 34px;
}

.filter .input[b-5ar7wxqnde] {
    min-width: 150px;
}

.lang-toggle[b-5ar7wxqnde],
.chip-btn[b-5ar7wxqnde] {
    display: inline-flex;
    gap: 4px;
}

.chip-btn[b-5ar7wxqnde] {
    border: 1px solid var(--border);
    background: var(--surface);
    color: var(--text-muted);
    border-radius: 999px;
    padding: 6px 13px;
    font-size: 0.8rem;
    cursor: pointer;
}

.chip-btn.is-on[b-5ar7wxqnde] {
    background: var(--primary-soft);
    border-color: var(--primary);
    color: var(--primary);
    font-weight: 600;
}

.roles-loading[b-5ar7wxqnde] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 42px 12px;
    color: var(--text-muted);
}

.cms-table[b-5ar7wxqnde] {
    padding: 6px 14px 14px;
}

/* ---- Table cells ---- */

.cell-article[b-5ar7wxqnde] {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.cell-thumb[b-5ar7wxqnde] {
    width: 42px;
    height: 42px;
    border-radius: var(--radius);
    object-fit: cover;
    flex: none;
    border: 1px solid var(--border);
}

.thumb-fallback[b-5ar7wxqnde] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--neutral-soft);
    color: var(--text-muted);
}

.cell-article-text[b-5ar7wxqnde] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.cell-article-title[b-5ar7wxqnde] {
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.chip-star[b-5ar7wxqnde] {
    color: var(--warning);
    border-color: var(--warning);
    width: max-content;
}

.chip-scheduled[b-5ar7wxqnde] {
    display: inline-block;
    margin-inline-start: 6px;
    color: var(--info);
    border-color: var(--info);
}

.col-slug[b-5ar7wxqnde] {
    font-family: var(--font-mono);
    font-size: 0.8rem;
    color: var(--text-muted);
    max-width: 170px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cms-table[b-5ar7wxqnde]  .col-actions {
    width: 170px;
}

.row-actions[b-5ar7wxqnde] {
    display: inline-flex;
    gap: 4px;
    justify-content: flex-end;
}

.row-actions .icon-btn.danger:hover:not(:disabled)[b-5ar7wxqnde] {
    background: var(--danger-soft);
    color: var(--danger);
}

.row-actions .icon-btn.success:hover:not(:disabled)[b-5ar7wxqnde] {
    background: var(--success-soft);
    color: var(--success);
}

/* ---- Preview dialog ---- */

.preview-pane[b-5ar7wxqnde] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.preview-head[b-5ar7wxqnde] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.preview-excerpt[b-5ar7wxqnde] {
    margin: 0;
    color: var(--text-muted);
    font-size: 0.95rem;
}

.preview-tags[b-5ar7wxqnde] {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

@media (max-width: 720px) {
    .filter-bar[b-5ar7wxqnde] {
        flex-direction: column;
        align-items: stretch;
    }

    .f-search[b-5ar7wxqnde] {
        min-width: 0;
    }
}
/* /Components/Pages/Admin/Cms/ContactMessages.razor.rz.scp.css */
/* Filter bar */

.filter-bar.glass[b-rf60od0i1t] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.6rem 0.75rem;
    padding: 0.75rem 1rem;
    border-radius: var(--radius-lg, var(--radius));
    background: color-mix(in srgb, var(--surface) 58%, transparent);
    border: 1px solid var(--border);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    margin-bottom: 1.25rem;
    transition: border-color 0.2s, background 0.2s;
}

.filter-bar.glass:focus-within[b-rf60od0i1t] {
    border-color: color-mix(in srgb, var(--primary) 40%, transparent);
}

.filter-bar .filter[b-rf60od0i1t],
.filter-bar .f-search[b-rf60od0i1t] {
    position: relative;
    display: flex;
    align-items: center;
}

.filter-bar .f-search[b-rf60od0i1t] {
    flex: 1 1 240px;
    min-width: 200px;
    gap: 0.35rem;
    padding-inline-start: 0.3rem;
}

.filter-bar .f-search input[b-rf60od0i1t] {
    padding-inline-start: 2rem;
    background: color-mix(in srgb, var(--surface) 88%, transparent);
}

.filter-bar .filter select.input[b-rf60od0i1t] {
    min-width: 150px;
}

/* Card surface */

.card.glass.cms-table[b-rf60od0i1t] {
    background: color-mix(in srgb, var(--surface) 72%, transparent);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg, var(--radius));
    box-shadow: var(--shadow);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

/* Sender cell */

.cell-sender[b-rf60od0i1t] {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.sender-name[b-rf60od0i1t] {
    font-weight: 600;
    color: var(--text);
}

.sender-email[b-rf60od0i1t] {
    font-size: 0.8rem;
}

/* Message preview */

.col-message[b-rf60od0i1t] {
    max-width: 320px;
}

.message-preview[b-rf60od0i1t] {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    white-space: normal;
}

/* Details modal */

.payload-grid[b-rf60od0i1t] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.6rem 1rem;
    margin: 0 0 1rem;
}

.payload-grid > div[b-rf60od0i1t] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    padding: 0.6rem 0.7rem;
    border: 1px solid var(--border);
    border-radius: 0.5rem;
    background: var(--surface);
}

.payload-grid > div dt[b-rf60od0i1t] {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--text-muted);
}

.payload-grid > div dd[b-rf60od0i1t] {
    margin: 0;
    font-size: 0.88rem;
    word-break: break-word;
}

.payload-block h4[b-rf60od0i1t] {
    margin-bottom: 0.5rem;
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-muted);
}

.message-body[b-rf60od0i1t] {
    margin: 0;
    padding: 0.85rem 1rem;
    border: 1px solid var(--border);
    border-radius: 0.5rem;
    background: var(--surface-2);
    font-family: inherit;
    font-size: 0.9rem;
    line-height: 1.6;
    white-space: pre-wrap;
    word-break: break-word;
}

/* Responsive */

@media (max-width: 640px) {
    .filter-bar.glass[b-rf60od0i1t] {
        flex-direction: column;
        align-items: stretch;
    }

    .filter-bar .filter[b-rf60od0i1t],
    .filter-bar .f-search[b-rf60od0i1t] {
        width: 100%;
        min-width: 0;
    }

    .col-message[b-rf60od0i1t] {
        max-width: none;
    }
}

/* Reply dialog */

.reply-to[b-rf60od0i1t] {
    margin: 0 0 0.75rem;
}

.reply-label[b-rf60od0i1t] {
    color: var(--text-muted);
    display: block;
    font-size: 0.8rem;
    font-weight: 600;
    margin: 0.75rem 0 0.25rem;
}

.reply-body[b-rf60od0i1t] {
    resize: vertical;
}
/* /Components/Pages/Admin/Cms/DocumentationList.razor.rz.scp.css */
/* Scoped styles of the Knowledge Base tree page. */

.load-error[b-amsctt8ujh] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
}

.filter-bar[b-amsctt8ujh] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    padding: 12px 14px;
    margin-bottom: 16px;
}

.f-search[b-amsctt8ujh] {
    position: relative;
    display: flex;
    align-items: center;
    flex: 1;
    min-width: 220px;
}

.f-search .icon[b-amsctt8ujh] {
    position: absolute;
    inset-inline-start: 10px;
    color: var(--text-muted);
    pointer-events: none;
}

.f-search .input[b-amsctt8ujh] {
    padding-inline-start: 34px;
}

.empty-state[b-amsctt8ujh] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 46px 16px;
    color: var(--text-muted);
    text-align: center;
}

/* ---- Tree ---- */

.tree-card[b-amsctt8ujh] {
    padding: 8px 10px 12px;
    overflow-x: auto;
}

.tree-row[b-amsctt8ujh] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 8px;
    border-radius: var(--radius);
    font-size: 0.9rem;
    min-height: 42px;
}

.tree-row:hover[b-amsctt8ujh] {
    background: var(--surface-hover);
}

.tree-row.section[b-amsctt8ujh] {
    font-weight: 600;
    border-bottom: 1px solid var(--border);
    border-radius: 0;
    margin-top: 4px;
}

.tree-row.doc[b-amsctt8ujh] {
    color: var(--text);
    font-weight: 400;
}

.tree-row.depth-1[b-amsctt8ujh] {
    padding-inline-start: 26px;
}

.tree-row.depth-2[b-amsctt8ujh] {
    padding-inline-start: 48px;
}

.tree-toggle[b-amsctt8ujh] {
    flex: none;
}

.tree-icon[b-amsctt8ujh] {
    color: var(--text-muted);
    flex: none;
}

.tree-stem[b-amsctt8ujh] {
    width: 14px;
    flex: none;
    border-inline-start: 1px dashed var(--border);
    height: 22px;
    margin-inline-start: 3px;
}

.tree-name[b-amsctt8ujh] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 44vw;
}

.tree-actions[b-amsctt8ujh] {
    margin-inline-start: auto;
    opacity: 0.55;
    transition: opacity 0.15s;
}

.tree-row:hover .tree-actions[b-amsctt8ujh],
.tree-row:focus-within .tree-actions[b-amsctt8ujh] {
    opacity: 1;
}

.chip-kind[b-amsctt8ujh] {
    color: var(--info);
    border-color: var(--info);
    font-size: 0.72rem;
}

.chip-off[b-amsctt8ujh] {
    color: var(--text-muted);
    border-color: var(--border);
}

.row-actions[b-amsctt8ujh] {
    display: inline-flex;
    gap: 4px;
    justify-content: flex-end;
}

.row-actions .icon-btn.danger:hover:not(:disabled)[b-amsctt8ujh] {
    background: var(--danger-soft);
    color: var(--danger);
}

.row-actions .icon-btn.success:hover:not(:disabled)[b-amsctt8ujh] {
    background: var(--success-soft);
    color: var(--success);
}

@media (max-width: 760px) {
    .tree-name[b-amsctt8ujh] {
        max-width: 34vw;
    }

    .tree-actions[b-amsctt8ujh] {
        opacity: 1;
    }
}
/* /Components/Pages/Admin/Cms/HomeSlider.razor.rz.scp.css */
.hs-card[b-hcccpt0ay7] {
    padding: 1.25rem 1.5rem;
}

.hs-card h2[b-hcccpt0ay7] {
    margin-block-end: 1rem;
    font-size: 1.1rem;
}

.hs-list[b-hcccpt0ay7] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.hs-item[b-hcccpt0ay7] {
    display: grid;
    grid-template-columns: 11rem minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 1rem;
    padding: 0.75rem;
    border: 1px solid var(--border);
    border-radius: var(--radius);
}

.hs-item.is-off[b-hcccpt0ay7] {
    opacity: 0.6;
}

.hs-thumb[b-hcccpt0ay7] {
    width: 11rem;
    height: 5rem;
    border-radius: var(--radius-sm);
    border: 1px solid var(--border);
    background: var(--surface-2);
    object-fit: cover;
}

.hs-text[b-hcccpt0ay7] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.hs-text > *[b-hcccpt0ay7] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.hs-status[b-hcccpt0ay7] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.3rem;
}

.hs-actions[b-hcccpt0ay7] {
    display: inline-flex;
    gap: 0.25rem;
}

@media (max-width: 900px) {
    .hs-item[b-hcccpt0ay7] {
        grid-template-columns: 7rem minmax(0, 1fr);
    }

    .hs-thumb[b-hcccpt0ay7] {
        width: 7rem;
        height: 4rem;
    }
}
/* /Components/Pages/Admin/Cms/SitePageEditor.razor.rz.scp.css */
.sp-card[b-zff95i3g5n] {
    margin-block-end: 1.5rem;
    padding: 1.25rem 1.5rem;
}

.sp-card h2[b-zff95i3g5n] {
    margin-block-end: 1rem;
    font-size: 1.1rem;
}

.cover-row[b-zff95i3g5n] {
    display: flex;
    gap: 8px;
    align-items: center;
}

.cover-row .input[b-zff95i3g5n] {
    flex: 1;
    min-width: 0;
}

.file-btn[b-zff95i3g5n] {
    position: relative;
    overflow: hidden;
    white-space: nowrap;
}

.file-btn[b-zff95i3g5n]  input[type=file] {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}

.image-preview[b-zff95i3g5n] {
    display: block;
    max-width: 14rem;
    max-height: 9rem;
    margin-block-start: 0.6rem;
    padding: 0.4rem;
    border: 1px dashed var(--border);
    border-radius: var(--radius);
    background: var(--surface-2);
    object-fit: contain;
}
/* /Components/Pages/Admin/Cms/SocialProof.razor.rz.scp.css */
.sp-section[b-bp9r3y69j9] {
    margin-block-end: 1.5rem;
    padding: 1.25rem 1.5rem;
}

.sp-head[b-bp9r3y69j9] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-block-end: 1rem;
}

.sp-head h2[b-bp9r3y69j9] {
    font-size: 1.1rem;
}

.sp-table[b-bp9r3y69j9] {
    width: 100%;
    border-collapse: collapse;
}

.sp-table th[b-bp9r3y69j9],
.sp-table td[b-bp9r3y69j9] {
    padding: 0.6rem 0.5rem;
    border-block-end: 1px solid var(--border);
    text-align: start;
    vertical-align: middle;
}

.sp-table th[b-bp9r3y69j9] {
    color: var(--text-muted);
    font-size: 0.8rem;
    font-weight: 600;
}

.sp-table tr.is-off[b-bp9r3y69j9] {
    opacity: 0.6;
}

.sp-logo[b-bp9r3y69j9] {
    display: block;
    max-width: 7rem;
    max-height: 2.75rem;
    object-fit: contain;
}

.sp-actions[b-bp9r3y69j9] {
    white-space: nowrap;
    text-align: end;
}
/* /Components/Pages/Admin/Dashboard.razor.rz.scp.css */
.bars[b-qvrvqokba9] {
    display: flex;
    align-items: flex-end;
    gap: clamp(0.5rem, 3vw, 1.5rem);
    height: 14rem;
}

.bar-col[b-qvrvqokba9] {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    gap: 0.35rem;
    height: 100%;
}

.bar[b-qvrvqokba9] {
    width: 100%;
    max-width: 3.5rem;
    min-height: 4px;
    border-radius: 6px 6px 2px 2px;
    background: linear-gradient(180deg, var(--primary-hover), var(--primary-solid));
    transition: filter 0.15s;
}

.bar-col:hover .bar[b-qvrvqokba9] {
    filter: brightness(1.15);
}

.bar-value[b-qvrvqokba9],
.bar-label[b-qvrvqokba9] {
    color: var(--text-muted);
    font-size: 0.75rem;
}

.status-list[b-qvrvqokba9] {
    margin: 0;
    padding: 0.75rem 1.25rem 1.25rem;
    list-style: none;
}

.status-list li[b-qvrvqokba9] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-block: 0.6rem;
    border-block-end: 1px solid var(--border);
}

.status-list li:last-child[b-qvrvqokba9] {
    border-block-end: 0;
}

[b-qvrvqokba9] .cell-strong {
    font-weight: 600;
}
/* /Components/Pages/Admin/SystemAdmin/AuditLogs.razor.rz.scp.css */
.filter-bar.glass[b-vuw4xa6sbq] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.6rem 0.75rem;
    padding: 0.75rem 1rem;
    border-radius: var(--radius-lg);
    background: color-mix(in srgb, var(--surface) 58%, transparent);
    border: 1px solid var(--border);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    margin-bottom: 1.25rem;
    transition: border-color 0.2s, background 0.2s;
}

.filter-bar.glass:focus-within[b-vuw4xa6sbq] {
    border-color: color-mix(in srgb, var(--primary) 40%, transparent);
}

.filter-bar .filter[b-vuw4xa6sbq],
.filter-bar .f-search[b-vuw4xa6sbq] {
    position: relative;
    display: flex;
    align-items: center;
}

.filter-bar .f-search[b-vuw4xa6sbq] {
    flex: 1 1 240px;
    min-width: 200px;
    gap: 0.35rem;
    padding-inline-start: 0.3rem;
}

.filter-bar .f-search input[b-vuw4xa6sbq] {
    padding-inline-start: 2rem;
    background: color-mix(in srgb, var(--surface) 88%, transparent);
}

.filter-bar .input[b-vuw4xa6sbq],
.filter-bar select.input[b-vuw4xa6sbq] {
    min-width: 120px;
    border-color: var(--border);
    transition: border-color 0.15s;
}

.filter-bar .input:focus[b-vuw4xa6sbq],
.filter-bar select.input:focus[b-vuw4xa6sbq] {
    border-color: var(--primary);
}

/* Card surface */

.card.glass.cms-table[b-vuw4xa6sbq] {
    background: color-mix(in srgb, var(--surface) 72%, transparent);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    transition: box-shadow 0.2s;
}

.card.glass.cms-table:hover[b-vuw4xa6sbq] {
    box-shadow: var(--shadow-lg);
}

/* Data table */

.card.cms-table .dt-table[b-vuw4xa6sbq] {
    border-collapse: collapse;
    width: 100%;
}

.card.cms-table .dt-table th[b-vuw4xa6sbq],
.card.cms-table .dt-table td[b-vuw4xa6sbq] {
    padding: 0.65rem 0.75rem;
    border-bottom: 1px solid var(--border);
    vertical-align: middle;
}

.card.cms-table .dt-table thead th[b-vuw4xa6sbq] {
    background: color-mix(in srgb, var(--surface) 40%, transparent);
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--ink-secondary, var(--text-muted));
    font-weight: 600;
    border-bottom-width: 1px;
}

.card.cms-table .dt-table tbody tr:hover[b-vuw4xa6sbq] {
    background: color-mix(in srgb, var(--surface) 86%, var(--shade, #0001));
}

.card.cms-table .dt-table tbody tr.is-loading td[b-vuw4xa6sbq] {
    background: color-mix(in srgb, var(--surface) 72%, var(--shade, #0001));
}

.card.cms-table .dt-table .num[b-vuw4xa6sbq] {
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum";
}

.card.cms-table .dt-table .muted[b-vuw4xa6sbq] {
    color: var(--ink-secondary, var(--text-muted));
}

/* Actor cell */

.card.cms-table .dt-table .actor-cell[b-vuw4xa6sbq] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.card.cms-table .dt-table .avatar[b-vuw4xa6sbq] {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    border: 1px solid var(--border);
}

.card.cms-table .dt-table .avatar-placeholder[b-vuw4xa6sbq] {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: color-mix(in srgb, var(--shade, #0001) 30%, transparent);
    color: var(--ink-secondary, var(--text-muted));
    border: 1px solid var(--border);
    flex-shrink: 0;
}

.card.cms-table .dt-table .actor-meta[b-vuw4xa6sbq] {
    display: flex;
    flex-direction: column;
    line-height: 1.3;
}

.card.cms-table .dt-table .actor-name[b-vuw4xa6sbq] {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--ink, var(--text));
}

.card.cms-table .dt-table .actor-display[b-vuw4xa6sbq] {
    font-size: 0.72rem;
    color: var(--ink-secondary, var(--text-muted));
}

/* Chips */

.card.cms-table .dt-table .chip[b-vuw4xa6sbq] {
    display: inline-flex;
    align-items: center;
    padding: 0.22rem 0.6rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.card.cms-table .dt-table .chip-action[b-vuw4xa6sbq] {
    background: color-mix(in srgb, var(--success) 16%, transparent);
    color: var(--success);
}

.card.cms-table .dt-table .chip-action[b-vuw4xa6sbq]::before {
    content: "▸";
    margin-inline-end: 0.35rem;
}

.card.cms-table .dt-table .entity[b-vuw4xa6sbq] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.22rem 0.5rem;
    border-radius: 0.35rem;
    background: color-mix(in srgb, var(--surface) 72%, var(--shade, #0001));
    font-size: 0.78rem;
}

.card.cms-table .dt-table .entity-name[b-vuw4xa6sbq] {
    font-size: 0.78rem;
    color: var(--ink-secondary, var(--text-muted));
}

/* IP cell */

.card.cms-table .dt-table .col-ip .ip-cell[b-vuw4xa6sbq] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}

.card.cms-table .dt-table .col-ip .ip[b-vuw4xa6sbq] {
    font-family: var(--mono);
    font-size: 0.8rem;
    color: var(--ink-secondary, var(--text-muted));
}

.card.cms-table .dt-table .location-badge[b-vuw4xa6sbq] {
    display: inline-flex;
    align-items: center;
    opacity: 0.6;
    color: var(--info);
}

/* Status badges */

.card.cms-table .dt-table .badge[b-vuw4xa6sbq] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.22rem 0.6rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
}

.card.cms-table .dt-table .badge.tone-success[b-vuw4xa6sbq] {
    background: color-mix(in srgb, var(--success) 16%, transparent);
    color: var(--success);
}

.card.cms-table .dt-table .badge.tone-danger[b-vuw4xa6sbq] {
    background: color-mix(in srgb, var(--danger) 16%, transparent);
    color: var(--danger);
}

.card.cms-table .dt-table .badge.tone-info[b-vuw4xa6sbq] {
    background: color-mix(in srgb, var(--info) 16%, transparent);
    color: var(--info);
}

/* Column alignment */

.card.cms-table .dt-table .align-end[b-vuw4xa6sbq] {
    text-align: end;
}

.card.cms-table .dt-table .align-center[b-vuw4xa6sbq] {
    text-align: center;
}

/* Row actions */

.card.cms-table .dt-table .col-actions .row-actions[b-vuw4xa6sbq] {
    display: flex;
    gap: 0.35rem;
    justify-content: flex-end;
}

.card.cms-table .dt-table .col-actions .row-actions .icon-btn[b-vuw4xa6sbq] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 0.5rem;
    color: var(--ink, var(--text));
    background: var(--surface);
    border: 1px solid var(--border);
    transition: transform 120ms ease, background 120ms ease, color 120ms ease, border-color 120ms ease;
}

.card.cms-table .dt-table .col-actions .row-actions .icon-btn:hover:not(:disabled)[b-vuw4xa6sbq] {
    transform: translateY(-1px);
    background: var(--surface-hover, var(--shade, #f1f5f9));
    border-color: var(--ink-secondary, var(--text-muted));
    color: var(--primary);
}

.card.cms-table .dt-table .col-actions .row-actions .icon-btn:disabled[b-vuw4xa6sbq] {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Pagination (reused) */

.cms-pagination[b-vuw4xa6sbq] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.85rem 1rem;
    border-top: 1px solid var(--border);
    background: color-mix(in srgb, var(--surface) 55%, transparent);
    font-size: 0.82rem;
    color: var(--ink-secondary, var(--text-muted));
}

.cms-pagination .page-info[b-vuw4xa6sbq] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.cms-pagination .page-controls[b-vuw4xa6sbq] {
    display: flex;
    align-items: center;
    gap: 0.3rem;
}

.cms-pagination .page-btn[b-vuw4xa6sbq] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--surface);
    color: var(--ink, var(--text));
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s, color 0.15s;
}

.cms-pagination .page-btn:hover:not(:disabled)[b-vuw4xa6sbq] {
    background: var(--surface-hover, var(--shade, #f1f5f9));
    border-color: var(--primary);
    color: var(--primary);
}

.cms-pagination .page-btn:disabled[b-vuw4xa6sbq] {
    opacity: 0.4;
    cursor: not-allowed;
}

.cms-pagination .per-page label[b-vuw4xa6sbq] {
    display: flex;
    align-items: center;
    gap: 0.3rem;
}

.cms-pagination .per-page select[b-vuw4xa6sbq] {
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--surface);
    padding: 0.2rem 0.5rem;
    color: var(--ink, var(--text));
    transition: border-color 0.15s;
}

.cms-pagination .per-page select:focus[b-vuw4xa6sbq] {
    border-color: var(--primary);
}

/* Audit detail modal */

.modal-dialog.size-extra-large .audit-head[b-vuw4xa6sbq] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 0.6rem 1rem;
    margin-bottom: 1rem;
}

.modal-dialog.size-extra-large .audit-head > div[b-vuw4xa6sbq] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    padding: 0.6rem 0.7rem;
    border: 1px solid var(--border);
    border-radius: 0.5rem;
    background: var(--surface);
}

.modal-dialog.size-extra-large .audit-head > div dt[b-vuw4xa6sbq] {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--ink-secondary, var(--text-muted));
}

.modal-dialog.size-extra-large .audit-head > div dd[b-vuw4xa6sbq] {
    margin: 0;
    font-size: 0.88rem;
    word-break: break-word;
}

.modal-dialog.size-extra-large .audit-head > div dd.num[b-vuw4xa6sbq] {
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum";
    font-family: var(--mono);
    font-size: 0.8rem;
}

.modal-dialog.size-extra-large .audit-head .actor-row[b-vuw4xa6sbq] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.modal-dialog.size-extra-large .audit-head .avatar.sm[b-vuw4xa6sbq] {
    width: 24px;
    height: 24px;
}

.modal-dialog.size-extra-large .audit-head .ip-cell[b-vuw4xa6sbq] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}

/* Diff table */

.modal-dialog.size-extra-large .diff-section[b-vuw4xa6sbq] {
    margin-bottom: 1.5rem;
}

.modal-dialog.size-extra-large .diff-section h4[b-vuw4xa6sbq] {
    margin-bottom: 0.5rem;
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--ink-secondary, var(--text-muted));
}

.modal-dialog.size-extra-large .diff-table[b-vuw4xa6sbq] {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 1px;
    border: 1px solid var(--border);
    border-radius: 0.5rem;
    overflow: hidden;
    background: var(--border);
}

.modal-dialog.size-extra-large .diff-header[b-vuw4xa6sbq] {
    display: contents;
    font-weight: 600;
    background: color-mix(in srgb, var(--surface) 60%, transparent);
}

.modal-dialog.size-extra-large .diff-header > div[b-vuw4xa6sbq] {
    padding: 0.5rem 0.6rem;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--ink-secondary, var(--text-muted));
}

.modal-dialog.size-extra-large .diff-row[b-vuw4xa6sbq] {
    display: contents;
}

.modal-dialog.size-extra-large .diff-field[b-vuw4xa6sbq] {
    padding: 0.5rem 0.6rem;
    font-size: 0.78rem;
    color: var(--ink, var(--text));
}

.modal-dialog.size-extra-large .diff-cell[b-vuw4xa6sbq] {
    padding: 0.45rem 0.6rem;
    font-family: var(--mono);
    font-size: 0.75rem;
    line-height: 1.4;
    color: var(--ink-secondary, var(--text-muted));
    white-space: pre-wrap;
    word-break: break-word;
}

.modal-dialog.size-extra-large .diff-before[b-vuw4xa6sbq] {
    background: color-mix(in srgb, var(--warning) 10%, transparent);
}

.modal-dialog.size-extra-large .diff-after[b-vuw4xa6sbq] {
    background: color-mix(in srgb, var(--success) 10%, transparent);
}

.modal-dialog.size-extra-large .payload-block[b-vuw4xa6sbq] {
    margin-bottom: 1rem;
}

.modal-dialog.size-extra-large .payload-block h4[b-vuw4xa6sbq] {
    margin-bottom: 0.5rem;
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--ink-secondary, var(--text-muted));
}

.modal-dialog.size-extra-large .payload-block .code-view[b-vuw4xa6sbq] {
    background: var(--surface-dark, #0a0f1d);
    border: 1px solid var(--border);
    border-radius: 0.5rem;
    padding: 0.85rem 1rem;
    overflow: auto;
    font-family: var(--mono);
    font-size: 0.8rem;
    line-height: 1.6;
    color: var(--ink, var(--text));
    white-space: pre-wrap;
    word-break: break-word;
}

.modal-dialog.size-extra-large .payload-block .code-view a[b-vuw4xa6sbq] {
    color: var(--primary);
    text-decoration: none;
}

.modal-dialog.size-extra-large .payload-block .code-view a:hover[b-vuw4xa6sbq] {
    text-decoration: underline;
}

.modal-dialog.size-extra-large .actions[b-vuw4xa6sbq] {
    display: flex;
    justify-content: flex-end;
    gap: 0.6rem;
    margin-top: 0.5rem;
}

/* Custom scrollbars */

.glass[b-vuw4xa6sbq]::-webkit-scrollbar,
.cms-table[b-vuw4xa6sbq]::-webkit-scrollbar,
.code-view[b-vuw4xa6sbq]::-webkit-scrollbar,
.diff-cell[b-vuw4xa6sbq]::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

.glass[b-vuw4xa6sbq]::-webkit-scrollbar-track,
.cms-table[b-vuw4xa6sbq]::-webkit-scrollbar-track,
.code-view[b-vuw4xa6sbq]::-webkit-scrollbar-track,
.diff-cell[b-vuw4xa6sbq]::-webkit-scrollbar-track {
    background: color-mix(in srgb, var(--surface) 60%, transparent);
    border-radius: 4px;
}

.glass[b-vuw4xa6sbq]::-webkit-scrollbar-thumb,
.cms-table[b-vuw4xa6sbq]::-webkit-scrollbar-thumb,
.code-view[b-vuw4xa6sbq]::-webkit-scrollbar-thumb,
.diff-cell[b-vuw4xa6sbq]::-webkit-scrollbar-thumb {
    background: color-mix(in srgb, var(--shade, #0001) 50%, transparent);
    border-radius: 4px;
    transition: background 0.2s;
}

.glass[b-vuw4xa6sbq]::-webkit-scrollbar-thumb:hover,
.cms-table[b-vuw4xa6sbq]::-webkit-scrollbar-thumb:hover,
.code-view[b-vuw4xa6sbq]::-webkit-scrollbar-thumb:hover,
.diff-cell[b-vuw4xa6sbq]::-webkit-scrollbar-thumb:hover {
    background: color-mix(in srgb, var(--shade, #0001) 70%, transparent);
}

/* Responsive */

@media (max-width: 640px) {
    .filter-bar.glass[b-vuw4xa6sbq] {
        flex-direction: column;
        align-items: stretch;
    }

    .filter-bar .filter[b-vuw4xa6sbq],
    .filter-bar .f-search[b-vuw4xa6sbq] {
        width: 100%;
        min-width: 0;
    }

    .filter-bar .input[b-vuw4xa6sbq],
    .filter-bar select.input[b-vuw4xa6sbq] {
        min-width: 0;
    }

    .card.cms-table .dt-table th[b-vuw4xa6sbq],
    .card.cms-table .dt-table td[b-vuw4xa6sbq] {
        padding: 0.45rem 0.5rem;
        font-size: 0.8rem;
    }

    .card.cms-table .dt-table .actor-meta[b-vuw4xa6sbq] {
        display: none;
    }

    .card.cms-table .dt-table .row-actions[b-vuw4xa6sbq] {
        flex-wrap: wrap;
    }

    .modal-dialog.size-extra-large .audit-head[b-vuw4xa6sbq] {
        grid-template-columns: 1fr;
    }

    .modal-dialog.size-extra-large .diff-table[b-vuw4xa6sbq] {
        grid-template-columns: 1fr;
    }

    .modal-dialog.size-extra-large .diff-header[b-vuw4xa6sbq],
    .modal-dialog.size-extra-large .diff-row[b-vuw4xa6sbq] {
        display: block;
    }
}
/* /Components/Pages/Admin/SystemAdmin/NotificationLogs.razor.rz.scp.css */
.filter-bar.glass[b-ikaxpj7sat] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.6rem 0.75rem;
    padding: 0.75rem 1rem;
    border-radius: var(--radius-lg);
    background: color-mix(in srgb, var(--surface) 58%, transparent);
    border: 1px solid var(--border);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    margin-bottom: 1.25rem;
    transition: border-color 0.2s, background 0.2s;
}

.filter-bar.glass:focus-within[b-ikaxpj7sat] {
    border-color: color-mix(in srgb, var(--primary) 40%, transparent);
}

.filter-bar .filter[b-ikaxpj7sat],
.filter-bar .f-search[b-ikaxpj7sat] {
    position: relative;
    display: flex;
    align-items: center;
}

.filter-bar .f-search[b-ikaxpj7sat] {
    flex: 1 1 240px;
    min-width: 200px;
    gap: 0.35rem;
    padding-inline-start: 0.3rem;
}

.filter-bar .f-search input[b-ikaxpj7sat] {
    padding-inline-start: 2rem;
    background: color-mix(in srgb, var(--surface) 88%, transparent);
}

.filter-bar .filter-group[b-ikaxpj7sat] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.filter-bar .filter-group .filter[b-ikaxpj7sat] {
    min-width: 130px;
}

.filter-bar .filter-group .muted[b-ikaxpj7sat] {
    padding-inline: 0.2rem;
}

.filter-bar .input[b-ikaxpj7sat],
.filter-bar select.input[b-ikaxpj7sat] {
    min-width: 120px;
    border-color: var(--border);
    transition: border-color 0.15s;
}

.filter-bar .input:focus[b-ikaxpj7sat],
.filter-bar select.input:focus[b-ikaxpj7sat] {
    border-color: var(--primary);
}

/* Card surface */

.card.glass.cms-table[b-ikaxpj7sat] {
    background: color-mix(in srgb, var(--surface) 72%, transparent);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    transition: box-shadow 0.2s;
}

.card.glass.cms-table:hover[b-ikaxpj7sat] {
    box-shadow: var(--shadow-lg);
}

/* Data table */

.card.cms-table .dt-table[b-ikaxpj7sat] {
    border-collapse: collapse;
    width: 100%;
}

.card.cms-table .dt-table th[b-ikaxpj7sat],
.card.cms-table .dt-table td[b-ikaxpj7sat] {
    padding: 0.65rem 0.75rem;
    border-bottom: 1px solid var(--border);
    vertical-align: middle;
}

.card.cms-table .dt-table thead th[b-ikaxpj7sat] {
    background: color-mix(in srgb, var(--surface) 40%, transparent);
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--ink-secondary, var(--text-muted));
    font-weight: 600;
    border-bottom-width: 1px;
}

.card.cms-table .dt-table tbody tr:hover[b-ikaxpj7sat] {
    background: color-mix(in srgb, var(--surface) 86%, var(--shade, #0001));
}

.card.cms-table .dt-table tbody tr.is-loading td[b-ikaxpj7sat] {
    background: color-mix(in srgb, var(--surface) 72%, var(--shade, #0001));
}

.card.cms-table .dt-table .num[b-ikaxpj7sat] {
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum";
}

.card.cms-table .dt-table .recipient[b-ikaxpj7sat] {
    font-weight: 600;
    color: var(--ink, var(--text));
}

.card.cms-table .dt-table .title-fa[b-ikaxpj7sat] {
    font-size: 0.82rem;
    color: var(--ink-secondary, var(--text-muted));
}

.card.cms-table .dt-table .muted[b-ikaxpj7sat] {
    color: var(--ink-secondary, var(--text-muted));
}

/* Chips */

.card.cms-table .dt-table .chip[b-ikaxpj7sat] {
    display: inline-flex;
    align-items: center;
    padding: 0.22rem 0.6rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.card.cms-table .dt-table .chip-type.sms[b-ikaxpj7sat] {
    background: color-mix(in srgb, var(--sms) 18%, transparent);
    color: var(--sms);
}

.card.cms-table .dt-table .chip-type.email[b-ikaxpj7sat] {
    background: color-mix(in srgb, var(--mail) 18%, transparent);
    color: var(--mail);
}

/* Status badges — tone-*/

.card.cms-table .dt-table .badge[b-ikaxpj7sat] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.22rem 0.6rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    white-space: nowrap;
}

.card.cms-table .dt-table .badge .badge-inner[b-ikaxpj7sat] {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
}

.card.cms-table .dt-table .badge.tone-success[b-ikaxpj7sat] {
    background: color-mix(in srgb, var(--success) 16%, transparent);
    color: var(--success);
}

.card.cms-table .dt-table .badge.tone-danger[b-ikaxpj7sat] {
    background: color-mix(in srgb, var(--danger) 16%, transparent);
    color: var(--danger);
}

.card.cms-table .dt-table .badge.tone-warning[b-ikaxpj7sat] {
    background: color-mix(in srgb, var(--warning) 16%, transparent);
    color: var(--warning);
}

.card.cms-table .dt-table .badge.tone-info[b-ikaxpj7sat] {
    background: color-mix(in srgb, var(--info) 16%, transparent);
    color: var(--info);
}

.card.cms-table .dt-table .badge .dot[b-ikaxpj7sat] {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
    display: inline-block;
}

.card.cms-table .dt-table .badge .dot.pulse[b-ikaxpj7sat] {
    animation: pulse-b-ikaxpj7sat 1.4s ease-in-out infinite;
}

@keyframes pulse-b-ikaxpj7sat {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.3; }
}

/* Column alignment */

.card.cms-table .dt-table .align-end[b-ikaxpj7sat] {
    text-align: end;
}

.card.cms-table .dt-table .align-center[b-ikaxpj7sat] {
    text-align: center;
}

/* Row actions */

.card.cms-table .dt-table .col-actions .row-actions[b-ikaxpj7sat] {
    display: flex;
    gap: 0.35rem;
    justify-content: flex-end;
}

.card.cms-table .dt-table .col-actions .row-actions .icon-btn[b-ikaxpj7sat] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 0.5rem;
    color: var(--ink, var(--text));
    background: var(--surface);
    border: 1px solid var(--border);
    transition: transform 120ms ease, background 120ms ease, color 120ms ease, border-color 120ms ease;
}

.card.cms-table .dt-table .col-actions .row-actions .icon-btn:hover:not(:disabled)[b-ikaxpj7sat] {
    transform: translateY(-1px);
    background: var(--surface-hover, var(--shade, #f1f5f9));
    border-color: var(--ink-secondary, var(--text-muted));
    color: var(--primary);
}

.card.cms-table .dt-table .col-actions .row-actions .icon-btn:disabled[b-ikaxpj7sat] {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Pagination */

.cms-pagination[b-ikaxpj7sat] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.85rem 1rem;
    border-top: 1px solid var(--border);
    background: color-mix(in srgb, var(--surface) 55%, transparent);
    font-size: 0.82rem;
    color: var(--ink-secondary, var(--text-muted));
}

.cms-pagination .page-info[b-ikaxpj7sat] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.cms-pagination .page-controls[b-ikaxpj7sat] {
    display: flex;
    align-items: center;
    gap: 0.3rem;
}

.cms-pagination .page-btn[b-ikaxpj7sat] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--surface);
    color: var(--ink, var(--text));
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s, color 0.15s;
}

.cms-pagination .page-btn:hover:not(:disabled)[b-ikaxpj7sat] {
    background: var(--surface-hover, var(--shade, #f1f5f9));
    border-color: var(--primary);
    color: var(--primary);
}

.cms-pagination .page-btn:disabled[b-ikaxpj7sat] {
    opacity: 0.4;
    cursor: not-allowed;
}

.cms-pagination .per-page label[b-ikaxpj7sat] {
    display: flex;
    align-items: center;
    gap: 0.3rem;
}

.cms-pagination .per-page select[b-ikaxpj7sat] {
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--surface);
    padding: 0.2rem 0.5rem;
    color: var(--ink, var(--text));
    transition: border-color 0.15s;
}

.cms-pagination .per-page select:focus[b-ikaxpj7sat] {
    border-color: var(--primary);
}

/* Loading skeleton */

.skeleton[b-ikaxpj7sat] {
    position: relative;
    overflow: hidden;
}

.skeleton[b-ikaxpj7sat]::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90, 15%) color-mix(in srgb, var(--shade, #0001) 40%, transparent);
    background: linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--shade, #0001) 30%, transparent) 50%, transparent 100%);
    animation: skeleton-b-ikaxpj7sat 1.4s ease-in-out infinite;
}

@keyframes skeleton-b-ikaxpj7sat {
    0% { transform: translateX(-100%); }
    100% { transform: translateX(100%); }
}

.skeleton-text[b-ikaxpj7sat] {
    height: 0.9rem;
    border-radius: var(--radius-sm);
    background: color-mix(in srgb, var(--shade, #0001) 40%, transparent);
}

.skeleton-text.short[b-ikaxpj7sat] { width: 60%; }
.skeleton-text.tall[b-ikaxpj7sat] { height: 1.2rem; }

/* Custom scrollbars */

.glass[b-ikaxpj7sat]::-webkit-scrollbar,
.cms-table[b-ikaxpj7sat]::-webkit-scrollbar,
.code-view[b-ikaxpj7sat]::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

.glass[b-ikaxpj7sat]::-webkit-scrollbar-track,
.cms-table[b-ikaxpj7sat]::-webkit-scrollbar-track,
.code-view[b-ikaxpj7sat]::-webkit-scrollbar-track {
    background: color-mix(in srgb, var(--surface) 60%, transparent);
    border-radius: 4px;
}

.glass[b-ikaxpj7sat]::-webkit-scrollbar-thumb,
.cms-table[b-ikaxpj7sat]::-webkit-scrollbar-thumb,
.code-view[b-ikaxpj7sat]::-webkit-scrollbar-thumb {
    background: color-mix(in srgb, var(--shade, #0001) 50%, transparent);
    border-radius: 4px;
    transition: background 0.2s;
}

.glass[b-ikaxpj7sat]::-webkit-scrollbar-thumb:hover,
.cms-table[b-ikaxpj7sat]::-webkit-scrollbar-thumb:hover,
.code-view[b-ikaxpj7sat]::-webkit-scrollbar-thumb:hover {
    background: color-mix(in srgb, var(--shade, #0001) 70%, transparent);
}

/* Payload drawer / modal */

.modal-dialog.size-extra-large .payload-grid[b-ikaxpj7sat] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 0.6rem 1rem;
}

.modal-dialog.size-extra-large .payload-grid > div[b-ikaxpj7sat] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    padding: 0.6rem 0.7rem;
    border: 1px solid var(--border);
    border-radius: 0.5rem;
    background: var(--surface);
}

.modal-dialog.size-extra-large .payload-grid > div dt[b-ikaxpj7sat] {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--ink-secondary, var(--text-muted));
}

.modal-dialog.size-extra-large .payload-grid > div dd[b-ikaxpj7sat] {
    margin: 0;
    font-size: 0.88rem;
    word-break: break-word;
}

.modal-dialog.size-extra-large .payload-grid > div dd.num[b-ikaxpj7sat] {
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum";
    font-family: var(--mono);
    font-size: 0.8rem;
}

.modal-dialog.size-extra-large .payload-block[b-ikaxpj7sat] {
    margin-bottom: 1rem;
}

.modal-dialog.size-extra-large .payload-block h4[b-ikaxpj7sat] {
    margin-bottom: 0.5rem;
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--ink-secondary, var(--text-muted));
}

.modal-dialog.size-extra-large .payload-block .code-view[b-ikaxpj7sat] {
    background: var(--surface-dark, #0a0f1d);
    border: 1px solid var(--border);
    border-radius: 0.5rem;
    padding: 0.85rem 1rem;
    overflow: auto;
    font-family: var(--mono);
    font-size: 0.8rem;
    line-height: 1.6;
    color: var(--ink, var(--text));
    white-space: pre-wrap;
    word-break: break-word;
}

.modal-dialog.size-extra-large .payload-loading[b-ikaxpj7sat] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 2rem;
    color: var(--ink-secondary, var(--text-muted));
}

.modal-dialog.size-extra-large .actions[b-ikaxpj7sat] {
    display: flex;
    justify-content: flex-end;
    gap: 0.6rem;
    margin-top: 0.5rem;
}

.modal-dialog.size-extra-large .actions .btn[b-ikaxpj7sat] {
    min-width: 80px;
}

/* Responsive */

@media (max-width: 640px) {
    .filter-bar.glass[b-ikaxpj7sat] {
        flex-direction: column;
        align-items: stretch;
    }

    .filter-bar .filter[b-ikaxpj7sat],
    .filter-bar .f-search[b-ikaxpj7sat],
    .filter-bar .filter-group[b-ikaxpj7sat] {
        width: 100%;
        min-width: 0;
    }

    .filter-bar .filter-group[b-ikaxpj7sat] {
        flex-direction: row;
        gap: 0.3rem;
    }

    .filter-bar .filter-group .filter[b-ikaxpj7sat] {
        min-width: 0;
    }

    .card.cms-table .dt-table th[b-ikaxpj7sat],
    .card.cms-table .dt-table td[b-ikaxpj7sat] {
        padding: 0.45rem 0.5rem;
        font-size: 0.8rem;
    }

    .card.cms-table .dt-table .row-actions[b-ikaxpj7sat] {
        flex-wrap: wrap;
    }
}
/* /Components/Pages/Admin/SystemAdmin/SystemSettings.razor.rz.scp.css */
/* ==========================================================================
   System Settings — glassmorphic settings console.
   Uses only the design tokens from theme.css (--text, --text-muted, --surface,
   --border, --primary, --focus-ring, ...). Logical properties keep every layout
   working in LTR and RTL.
   ========================================================================== */

/* ---------- Page header ---------- */
.page-header[b-3tqc41eiz2] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem 1.5rem;
    margin-bottom: 1.5rem;
}

.page-header h1[b-3tqc41eiz2] {
    margin: 0 0 0.3rem;
    font-size: 1.45rem;
    letter-spacing: -0.01em;
}

.page-header .lead[b-3tqc41eiz2] {
    margin: 0;
    max-width: 62ch;
    color: var(--text-muted);
    font-size: 0.9rem;
    line-height: 1.65;
}

.page-header .header-actions[b-3tqc41eiz2] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

/* ---------- Load error ---------- */
.load-error[b-3tqc41eiz2] {
    margin-bottom: 1.25rem;
}

.load-error .load-error-text[b-3tqc41eiz2] {
    flex: 1;
    min-width: 0;
}

/* ---------- Tabs ---------- */
.tabs[b-3tqc41eiz2] {
    display: flex;
    gap: 0.35rem;
    flex-wrap: wrap;
    margin-bottom: 1.25rem;
}

.tabs .tab[b-3tqc41eiz2] {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.5rem 0.95rem;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: color-mix(in srgb, var(--surface) 70%, transparent);
    color: var(--text-muted);
    font-size: 0.86rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease,
                border-color 0.15s ease, box-shadow 0.15s ease;
}

.tabs .tab:hover[b-3tqc41eiz2] {
    background: var(--surface-hover);
    color: var(--text);
}

.tabs .tab.is-active[b-3tqc41eiz2] {
    background: var(--primary-soft);
    border-color: color-mix(in srgb, var(--primary) 40%, transparent);
    color: var(--primary);
    box-shadow: var(--shadow-sm);
}

/* ---------- Glass card ---------- */
.settings-card[b-3tqc41eiz2] {
    position: relative;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--border) 90%, transparent);
    border-radius: var(--radius-lg);
    background: color-mix(in srgb, var(--surface) 78%, transparent);
    box-shadow: var(--shadow);
    backdrop-filter: blur(18px) saturate(1.5);
    -webkit-backdrop-filter: blur(18px) saturate(1.5);
}

/* Hairline accent across the top edge */
.settings-card[b-3tqc41eiz2]::before {
    content: "";
    position: absolute;
    inset-block-start: 0;
    inset-inline: 0;
    height: 1px;
    background: linear-gradient(90deg,
        transparent,
        color-mix(in srgb, var(--primary) 45%, transparent),
        transparent);
    opacity: 0.7;
}

.settings-card .card-header[b-3tqc41eiz2] {
    padding: 1.05rem 1.35rem 0;
}

.settings-card .card-title[b-3tqc41eiz2] {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    min-width: 0;
}

.settings-card .card-title h2[b-3tqc41eiz2] {
    margin: 0;
    font-size: 1.05rem;
    letter-spacing: -0.005em;
}

.card-icon[b-3tqc41eiz2] {
    display: inline-grid;
    place-items: center;
    flex: none;
    width: 2.1rem;
    height: 2.1rem;
    border-radius: var(--radius-sm);
    background: var(--primary-soft);
    color: var(--primary);
}

.card-icon.tone-sms[b-3tqc41eiz2] {
    background: var(--sms-soft);
    color: var(--sms);
}

.card-icon.tone-mail[b-3tqc41eiz2] {
    background: var(--mail-soft);
    color: var(--mail);
}

.settings-body[b-3tqc41eiz2] {
    padding: 1.15rem 1.35rem 1.35rem;
}

/* ---------- Fieldset-style groups ---------- */
.settings-group[b-3tqc41eiz2] {
    margin-top: 1.4rem;
}

.settings-group:first-of-type[b-3tqc41eiz2] {
    margin-top: 0;
}

.settings-group-title[b-3tqc41eiz2] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.9rem;
    font-size: 0.74rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--text-muted);
}

.settings-group-title[b-3tqc41eiz2]::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--border);
}

.settings-row[b-3tqc41eiz2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem 1rem;
    flex-wrap: wrap;
    margin-top: 1.4rem;
    padding-top: 1.1rem;
    border-top: 1px solid var(--border);
}

.gateway-actions[b-3tqc41eiz2] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

/* ---------- Form fields ---------- */
.form-field[b-3tqc41eiz2] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    min-width: 0;
}

.form-field > label[b-3tqc41eiz2] {
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--text-muted);
}

.field-hint[b-3tqc41eiz2] {
    margin: 0;
    font-size: 0.75rem;
    line-height: 1.5;
    color: var(--text-muted);
}

.field-error[b-3tqc41eiz2] {
    margin: 0;
    font-size: 0.75rem;
    line-height: 1.5;
    color: var(--danger);
}

/* Inline validation styles */
.form-field.has-error .input[b-3tqc41eiz2] {
    border-color: var(--danger);
}

.form-field.has-error .input:focus[b-3tqc41eiz2] {
    border-color: var(--danger);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--danger) 25%, transparent);
}

/* ---------- Secret input (password + show/hide) ---------- */
.secret-field[b-3tqc41eiz2] {
    position: relative;
    display: flex;
    align-items: center;
}

.secret-field .input[b-3tqc41eiz2] {
    padding-inline-end: 2.75rem;
}

.secret-toggle[b-3tqc41eiz2] {
    position: absolute;
    inset-inline-end: 0.3rem;
    display: inline-grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: 0;
    border-radius: var(--radius-sm);
    background: transparent;
    color: var(--text-muted);
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.secret-toggle:hover[b-3tqc41eiz2] {
    background: var(--surface-hover);
    color: var(--text);
}

/* ---------- Custom toggle switch ---------- */
.switch[b-3tqc41eiz2] {
    display: inline-flex;
    align-items: flex-start;
    gap: 0.7rem;
    padding: 0.2rem 0;
    cursor: pointer;
    user-select: none;
}

.switch input[b-3tqc41eiz2] {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}

.switch .slider[b-3tqc41eiz2] {
    position: relative;
    flex: none;
    width: 2.65rem;
    height: 1.5rem;
    margin-top: 0.1rem;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: color-mix(in srgb, var(--text-muted) 28%, transparent);
    transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.15s ease;
}

.switch .slider[b-3tqc41eiz2]::before {
    content: "";
    position: absolute;
    top: 50%;
    inset-inline-start: 0.2rem;
    width: 1.04rem;
    height: 1.04rem;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 3px rgb(2 6 23 / 0.3);
    transform: translateY(-50%);
    transition: transform 0.22s cubic-bezier(0.32, 0.72, 0, 1);
}

.switch input:checked + .slider[b-3tqc41eiz2] {
    border-color: var(--primary-solid);
    background: var(--primary-solid);
}

/* --dir is -1 in RTL, so the knob travels toward the inline-end either way */
.switch input:checked + .slider[b-3tqc41eiz2]::before {
    transform: translateY(-50%) translateX(calc(1.13rem * var(--dir)));
}

.switch input:focus-visible + .slider[b-3tqc41eiz2] {
    box-shadow: var(--focus-ring);
}

.switch-text[b-3tqc41eiz2] {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    min-width: 0;
}

.switch-label[b-3tqc41eiz2] {
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--text);
}

.switch-hint[b-3tqc41eiz2] {
    font-size: 0.75rem;
    line-height: 1.5;
    color: var(--text-muted);
}

/* ---------- Sticky bottom action bar ---------- */
.settings-action-bar[b-3tqc41eiz2] {
    position: sticky;
    bottom: 0.75rem;
    z-index: 30;
    margin-top: 1.5rem;
    border: 1px solid color-mix(in srgb, var(--border) 85%, transparent);
    border-radius: var(--radius-lg);
    background: color-mix(in srgb, var(--surface) 72%, transparent);
    box-shadow: var(--shadow-lg);
    backdrop-filter: blur(18px) saturate(1.5);
    -webkit-backdrop-filter: blur(18px) saturate(1.5);
}

.action-bar-inner[b-3tqc41eiz2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.6rem 1rem;
    flex-wrap: wrap;
    padding: 0.7rem 0.9rem;
}

.change-hint[b-3tqc41eiz2] {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.82rem;
    color: var(--text-muted);
}

.change-hint.is-dirty[b-3tqc41eiz2] {
    color: var(--warning);
    font-weight: 600;
}

.action-buttons[b-3tqc41eiz2] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

/* ---------- Skeleton loading ---------- */
.skeleton-overlay[b-3tqc41eiz2] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.skeleton-card[b-3tqc41eiz2] {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    padding: 1.35rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    background: color-mix(in srgb, var(--surface) 70%, transparent);
}

.skeleton-line[b-3tqc41eiz2] {
    height: 1rem;
    border-radius: var(--radius-sm);
    background: linear-gradient(90deg,
        color-mix(in srgb, var(--text-muted) 9%, transparent),
        color-mix(in srgb, var(--text-muted) 20%, transparent),
        color-mix(in srgb, var(--text-muted) 9%, transparent));
    background-size: 200% 100%;
    animation: settings-shimmer-b-3tqc41eiz2 1.6s linear infinite;
}

@keyframes settings-shimmer-b-3tqc41eiz2 {
    to {
        background-position: -200% 0;
    }
}

/* ---------- Small screens ---------- */
@media (max-width: 599px) {
    .settings-body[b-3tqc41eiz2] {
        padding: 1rem;
    }

    .settings-card .card-header[b-3tqc41eiz2] {
        padding-inline: 1rem;
    }

    .action-bar-inner[b-3tqc41eiz2] {
        padding-inline: 0.7rem;
    }

    .action-buttons .btn[b-3tqc41eiz2] {
        flex: 1;
    }
}
/* /Components/Pages/Admin/SystemPages/Localization.razor.rz.scp.css */
/* ---- Page layout: languages | translation editor ---- */

.loc-grid[b-mubs0g46oy] {
    display: grid;
    grid-template-columns: minmax(15rem, 21rem) minmax(0, 1fr);
    gap: 1.25rem;
    align-items: start;
}

.header-actions[b-mubs0g46oy] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.load-error[b-mubs0g46oy] {
    align-items: center;
    margin-block-end: 1rem;
}

.load-error-text[b-mubs0g46oy] {
    flex: 1;
}

/* ---- Languages panel ---- */

.lang-card[b-mubs0g46oy] {
    overflow: hidden;
}

.lang-list[b-mubs0g46oy] {
    list-style: none;
    margin: 0;
    padding: 0;
}

.lang-row[b-mubs0g46oy] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    border-top: 1px solid var(--border);
    transition: background 0.12s ease;
}

.lang-row:first-child[b-mubs0g46oy] {
    border-top: none;
}

.lang-row:hover[b-mubs0g46oy],
.lang-row.is-active[b-mubs0g46oy] {
    background: var(--surface-hover);
}

.lang-row.is-active[b-mubs0g46oy] {
    box-shadow: inset 3px 0 0 var(--primary);
}

.lang-pick[b-mubs0g46oy] {
    flex: 1;
    display: grid;
    gap: 0.25rem;
    padding: 0.8rem 1rem;
    background: none;
    border: none;
    text-align: start;
    font: inherit;
    color: inherit;
    cursor: pointer;
    min-width: 0;
}

.lang-name[b-mubs0g46oy] {
    font-weight: 650;
}

.lang-meta[b-mubs0g46oy] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.75rem;
}

.lang-flags[b-mubs0g46oy] {
    display: flex;
    gap: 0.35rem;
    flex-wrap: wrap;
}

.lang-flag[b-mubs0g46oy] {
    padding: 0.05rem 0.5rem;
    border-radius: 999px;
    background: var(--primary-soft);
    color: var(--primary);
    font-size: 0.6875rem;
    font-weight: 600;
}

.lang-flag.is-off[b-mubs0g46oy] {
    background: var(--neutral-soft);
    color: var(--text-muted);
}

.lang-actions[b-mubs0g46oy] {
    padding-inline-end: 0.6rem;
    flex-shrink: 0;
}

.lang-help[b-mubs0g46oy] {
    margin: 0;
    padding: 0.8rem 1rem;
    border-top: 1px solid var(--border);
    font-size: 0.75rem;
}

/* ---- Translation editor ---- */

.loc-toolbar[b-mubs0g46oy] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.loc-current[b-mubs0g46oy] {
    color: var(--text-muted);
    font-weight: 500;
}

.loc-locale .input[b-mubs0g46oy] {
    min-width: 12rem;
}

.loc-savebar[b-mubs0g46oy] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    padding: 0.6rem 1.15rem;
    background: var(--warning-soft);
    border-block-end: 1px solid var(--border);
    font-size: 0.875rem;
}

.loc-dirty[b-mubs0g46oy] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.loc-dirty .num[b-mubs0g46oy] {
    font-weight: 700;
}

.loc-savebar-actions[b-mubs0g46oy] {
    display: inline-flex;
    gap: 0.5rem;
}

.loc-source[b-mubs0g46oy] {
    display: block;
    font-family: var(--font-mono);
    font-size: 0.8125rem;
    word-break: break-word;
    max-width: 30rem;
}

.loc-input[b-mubs0g46oy] {
    width: 100%;
    transition: border-color 0.12s ease, background 0.12s ease;
}

.loc-input.is-dirty[b-mubs0g46oy] {
    border-color: var(--warning);
    background: var(--warning-soft);
}

.loc-help[b-mubs0g46oy] {
    margin: 0;
    padding: 0.8rem 1.15rem;
    border-top: 1px solid var(--border);
    font-size: 0.75rem;
}

@media (max-width: 960px) {
    .loc-grid[b-mubs0g46oy] {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* /Components/Pages/Admin/Users/ActiveSessions.razor.rz.scp.css */
.load-error[b-r2xrmnplth] {
    align-items: center;
    margin-block-end: 1rem;
}

.load-error-text[b-r2xrmnplth] {
    flex: 1;
}

.header-actions[b-r2xrmnplth] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

/* ---- Live indicator ---- */

.live-pill[b-r2xrmnplth] {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.8125rem;
}

.live-dot[b-r2xrmnplth] {
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    background: var(--success);
    box-shadow: 0 0 0 0 color-mix(in srgb, var(--success) 55%, transparent);
    animation: live-pulse-b-r2xrmnplth 2s ease-out infinite;
}

@keyframes live-pulse-b-r2xrmnplth {
    0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--success) 55%, transparent); }
    70% { box-shadow: 0 0 0 6px transparent; }
    100% { box-shadow: 0 0 0 0 transparent; }
}

.live-toggle[b-r2xrmnplth] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.35rem 0.6rem;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--surface);
    color: var(--text-muted);
    font-size: 0.75rem;
    font-weight: 600;
    cursor: pointer;
    transition: border-color 0.15s, color 0.15s;
}

.live-toggle:hover[b-r2xrmnplth] {
    color: var(--text);
}

.live-toggle input[type="checkbox"][b-r2xrmnplth] {
    width: 0.9rem;
    height: 0.9rem;
    margin: 0;
    accent-color: var(--primary-solid);
}

.live-toggle:has(input:checked)[b-r2xrmnplth] {
    border-color: color-mix(in srgb, var(--success) 50%, transparent);
    color: var(--success);
}

/* ---- Table cells ---- */

.cell-user[b-r2xrmnplth] {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    min-width: 0;
}

.avatar[b-r2xrmnplth] {
    display: grid;
    flex: none;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background: var(--primary-soft);
    color: var(--primary);
    font-size: 0.8125rem;
    font-weight: 700;
}

.cell-user-text[b-r2xrmnplth] {
    display: grid;
    min-width: 0;
}

.cell-user-name[b-r2xrmnplth] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    font-weight: 600;
}

.cell-user-sub[b-r2xrmnplth] {
    overflow: hidden;
    color: var(--text-muted);
    font-size: 0.75rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.you[b-r2xrmnplth] {
    padding: 0.05rem 0.45rem;
    border-radius: 999px;
    background: var(--neutral-soft);
    color: var(--neutral);
    font-size: 0.6875rem;
    font-weight: 600;
}

.cell-device[b-r2xrmnplth] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    color: var(--text);
}

.cell-device .icon[b-r2xrmnplth] {
    color: var(--text-muted);
}

.cell-ip[b-r2xrmnplth] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

/* The explicit "no geolocation yet" marker beside every IP. */
.loc-placeholder[b-r2xrmnplth] {
    display: inline-grid;
    place-items: center;
    width: 1.15rem;
    height: 1.15rem;
    border: 1px dashed var(--border);
    border-radius: 50%;
    color: var(--text-muted);
    cursor: help;
}

.time-cell[b-r2xrmnplth] {
    white-space: nowrap;
    color: var(--text-muted);
    font-size: 0.8125rem;
}

.row-actions[b-r2xrmnplth] {
    display: inline-flex;
    gap: 0.1rem;
}

.row-actions .icon-btn[b-r2xrmnplth] {
    width: 2.05rem;
    height: 2.05rem;
}

.row-actions .icon-btn:disabled[b-r2xrmnplth] {
    opacity: 0.4;
    cursor: not-allowed;
}

.row-actions .icon-btn.danger:hover:not(:disabled)[b-r2xrmnplth] {
    background: var(--danger-soft);
    color: var(--danger);
}

/* Wide tables scroll sideways; keep the row actions pinned to the end so they are always reachable. */
.sessions-table[b-r2xrmnplth]  .col-actions {
    position: sticky;
    inset-inline-end: 0;
    z-index: 1;
    background: var(--surface);
    box-shadow: inset 1px 0 0 var(--border);
}

[dir="rtl"] .sessions-table[b-r2xrmnplth]  .col-actions {
    box-shadow: inset -1px 0 0 var(--border);
}

.sessions-table[b-r2xrmnplth]  thead .col-actions {
    background: var(--surface-2);
}

.sessions-table[b-r2xrmnplth]  tbody tr:hover .col-actions {
    background: var(--surface-hover);
}

.sessions-table[b-r2xrmnplth]  .dt-table th,
.sessions-table[b-r2xrmnplth]  .dt-table td {
    padding-inline: 0.8rem;
}

.sessions-table[b-r2xrmnplth]  .dt-table {
    font-size: 0.875rem;
}

@media (max-width: 700px) {
    .header-actions[b-r2xrmnplth] {
        width: 100%;
        justify-content: space-between;
    }
}
/* /Components/Pages/Admin/Users/RolesPermissions.razor.rz.scp.css */
.load-error[b-us2anv4ew7] {
    align-items: center;
    margin-block-end: 1rem;
}

.load-error-text[b-us2anv4ew7] {
    flex: 1;
}

.roles-loading[b-us2anv4ew7] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 2rem 0;
    color: var(--text-muted);
}

/* ---- Role cards ---- */

.role-grid[b-us2anv4ew7] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr));
    gap: 1rem;
    margin-block-end: 1.5rem;
}

.role-card[b-us2anv4ew7] {
    display: grid;
    gap: 0.8rem;
    padding: 1.1rem 1.15rem;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.role-card:hover[b-us2anv4ew7] {
    transform: translateY(-2px);
    box-shadow: var(--shadow);
}

.role-card-head[b-us2anv4ew7] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.5rem;
}

.role-card-title[b-us2anv4ew7] {
    display: grid;
    gap: 0.25rem;
    min-width: 0;
}

.role-name[b-us2anv4ew7] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    font-size: 1rem;
    font-weight: 700;
}

.role-flag[b-us2anv4ew7] {
    padding: 0.05rem 0.5rem;
    border-radius: 999px;
    background: var(--neutral-soft);
    color: var(--neutral);
    font-size: 0.6875rem;
    font-weight: 600;
}

.role-desc[b-us2anv4ew7] {
    font-size: 0.8125rem;
    line-height: 1.45;
}

.role-stats[b-us2anv4ew7] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
}

.role-stat[b-us2anv4ew7] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: var(--text-muted);
    font-size: 0.8125rem;
}

.role-stat .num[b-us2anv4ew7] {
    color: var(--text);
    font-weight: 700;
}

.chip-perm[b-us2anv4ew7] {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
}

.row-actions[b-us2anv4ew7] {
    display: inline-flex;
    gap: 0.1rem;
}

.row-actions .icon-btn[b-us2anv4ew7] {
    width: 2.05rem;
    height: 2.05rem;
}

.row-actions .icon-btn:disabled[b-us2anv4ew7] {
    opacity: 0.4;
    cursor: not-allowed;
}

.row-actions .icon-btn.danger:hover:not(:disabled)[b-us2anv4ew7] {
    background: var(--danger-soft);
    color: var(--danger);
}

/* ---- Permission matrix ---- */

.matrix-card[b-us2anv4ew7] {
    overflow: hidden;
}

.matrix-hint[b-us2anv4ew7] {
    font-size: 0.8125rem;
    text-align: end;
}

.matrix-scroll[b-us2anv4ew7] {
    overflow: auto;
    max-height: 32rem;
    border-block-start: 1px solid var(--border);
}

.matrix[b-us2anv4ew7] {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 0.8125rem;
}

.matrix th[b-us2anv4ew7],
.matrix td[b-us2anv4ew7] {
    padding: 0.5rem 0.7rem;
    border-block-end: 1px solid var(--border);
    text-align: start;
}

/* Permission column stays reachable while scrolling sideways. */
.matrix-perm-head[b-us2anv4ew7],
.matrix-perm[b-us2anv4ew7] {
    position: sticky;
    inset-inline-start: 0;
    z-index: 1;
    min-width: 17rem;
    background: var(--surface);
    box-shadow: inset -1px 0 0 var(--border);
}

.matrix thead .matrix-perm-head[b-us2anv4ew7],
.matrix thead .matrix-role-head[b-us2anv4ew7] {
    position: sticky;
    inset-block-start: 0;
    z-index: 2;
    background: var(--surface-2);
    font-weight: 700;
    white-space: nowrap;
}

.matrix thead .matrix-perm-head[b-us2anv4ew7] {
    z-index: 3;
}

.matrix-role-head[b-us2anv4ew7] {
    text-align: center;
}

.matrix-role-name[b-us2anv4ew7] {
    display: block;
}

.matrix-lock[b-us2anv4ew7] {
    display: inline-flex;
    margin-block-start: 0.15rem;
    color: var(--text-muted);
}

.matrix-group th[b-us2anv4ew7] {
    background: var(--surface-2);
    color: var(--text-muted);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.matrix-group th .icon[b-us2anv4ew7] {
    vertical-align: -2px;
    margin-inline-end: 0.35rem;
}

.matrix-group-count[b-us2anv4ew7] {
    margin-inline-start: 0.4rem;
    padding: 0 0.4rem;
    border-radius: 999px;
    background: var(--neutral-soft);
    font-size: 0.6875rem;
}

.matrix-perm[b-us2anv4ew7] {
    display: grid;
    gap: 0.1rem;
    font-weight: 500;
}

.matrix-perm-key[b-us2anv4ew7] {
    font-family: var(--font-mono);
    font-size: 0.75rem;
    font-weight: 600;
}

.matrix-perm-desc[b-us2anv4ew7] {
    color: var(--text-muted);
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 1.4;
}

.matrix-cell[b-us2anv4ew7] {
    text-align: center;
    vertical-align: middle;
}

.matrix-cell input[type="checkbox"][b-us2anv4ew7] {
    width: 1.05rem;
    height: 1.05rem;
    accent-color: var(--primary-solid);
    cursor: pointer;
}

.matrix-cell input[type="checkbox"]:disabled[b-us2anv4ew7] {
    cursor: not-allowed;
    opacity: 0.45;
}

.matrix-cell.is-busy[b-us2anv4ew7] {
    background: var(--primary-soft);
}

.matrix tbody tr:hover .matrix-perm[b-us2anv4ew7],
.matrix tbody tr:hover td[b-us2anv4ew7] {
    background: var(--surface-hover);
}

.matrix tbody tr.matrix-group:hover th[b-us2anv4ew7] {
    background: var(--surface-2);
}

/* ---- Narrow screens ---- */

@media (max-width: 700px) {
    .role-grid[b-us2anv4ew7] {
        grid-template-columns: minmax(0, 1fr);
    }

    .matrix-hint[b-us2anv4ew7] {
        display: none;
    }
}

/* ---- Header actions & tabs ---- */

.header-actions[b-us2anv4ew7] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.tabs[b-us2anv4ew7] {
    display: flex;
    gap: 0.25rem;
    border-bottom: 1px solid var(--border);
    margin-block-end: 1.25rem;
}

.tab[b-us2anv4ew7] {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.6rem 0.9rem;
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    color: var(--text-muted);
    font: inherit;
    font-weight: 600;
    font-size: 0.9rem;
    cursor: pointer;
    transition: color 0.15s ease, border-color 0.15s ease;
}

.tab:hover[b-us2anv4ew7] {
    color: var(--text);
}

.tab.is-active[b-us2anv4ew7] {
    color: var(--primary);
    border-bottom-color: var(--primary);
}

.tab-count[b-us2anv4ew7] {
    font-size: 0.6875rem;
    padding: 0.05rem 0.45rem;
    border-radius: 999px;
    background: var(--neutral-soft);
    color: var(--text-muted);
}

.tab.is-active .tab-count[b-us2anv4ew7] {
    background: var(--primary-soft);
    color: var(--primary);
}

/* ---- Permission catalogue ---- */

.perm-card[b-us2anv4ew7] {
    margin-block-end: 0.75rem;
}

.perm-toolbar[b-us2anv4ew7] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.perm-search[b-us2anv4ew7] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex: 1;
    min-width: 14rem;
    max-width: 28rem;
    color: var(--text-muted);
}

.perm-search .input[b-us2anv4ew7] {
    flex: 1;
}

.perm-count[b-us2anv4ew7] {
    font-size: 0.8125rem;
    white-space: nowrap;
}

.perm-list[b-us2anv4ew7] {
    list-style: none;
    margin: 0;
    padding: 0;
}

.perm-row[b-us2anv4ew7] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.85rem 1.15rem;
    border-top: 1px solid var(--border);
    transition: background 0.12s ease;
}

.perm-row:hover[b-us2anv4ew7] {
    background: var(--surface-hover);
}

.perm-row-main[b-us2anv4ew7] {
    display: grid;
    gap: 0.3rem;
    min-width: 0;
}

.perm-row-title[b-us2anv4ew7] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.perm-group[b-us2anv4ew7] {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--text-muted);
}

.perm-desc[b-us2anv4ew7] {
    margin: 0;
    font-size: 0.8125rem;
}

.perm-row-side[b-us2anv4ew7] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-shrink: 0;
}

.perm-roles[b-us2anv4ew7] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.8125rem;
    color: var(--text-muted);
}

.perm-empty[b-us2anv4ew7] {
    padding: 2rem 1.15rem;
    text-align: center;
    border-top: 1px solid var(--border);
}

.perm-help[b-us2anv4ew7] {
    margin-block-start: 0.75rem;
    font-size: 0.8125rem;
}

@media (max-width: 700px) {
    .perm-row[b-us2anv4ew7] {
        flex-direction: column;
        align-items: flex-start;
    }

    .perm-row-side[b-us2anv4ew7] {
        align-self: flex-end;
    }
}
/* /Components/Pages/Admin/Users/UsersList.razor.rz.scp.css */
.load-error[b-ur82lsxo6x] {
    align-items: center;
    margin-block-end: 1rem;
}

.load-error-text[b-ur82lsxo6x] {
    flex: 1;
}

/* ---- Filter bar (the advanced header) ---- */

.filter-bar[b-ur82lsxo6x] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.6rem;
    padding: 0.85rem 1rem;
    margin-block-end: 1rem;
}

.f-search[b-ur82lsxo6x] {
    position: relative;
    display: flex;
    flex: 1 1 16rem;
    align-items: center;
    min-width: 0;
    color: var(--text-muted);
}

.f-search .icon[b-ur82lsxo6x] {
    position: absolute;
    inset-inline-start: 0.7rem;
    pointer-events: none;
}

.f-search .input[b-ur82lsxo6x] {
    padding-inline-start: 2.2rem;
}

.filter .input[b-ur82lsxo6x] {
    width: auto;
    min-width: 9rem;
    padding-block: 0.45rem;
}

.clear-filters[b-ur82lsxo6x] {
    flex: none;
}

/* ---- Table cells ---- */

.cell-user[b-ur82lsxo6x] {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    min-width: 0;
}

.avatar[b-ur82lsxo6x] {
    display: grid;
    flex: none;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background: var(--primary-soft);
    color: var(--primary);
    font-size: 0.8125rem;
    font-weight: 700;
}

.cell-user-text[b-ur82lsxo6x] {
    display: grid;
    min-width: 0;
}

.cell-user-name[b-ur82lsxo6x] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    font-weight: 600;
}

.cell-user-sub[b-ur82lsxo6x] {
    overflow: hidden;
    color: var(--text-muted);
    font-size: 0.75rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.you[b-ur82lsxo6x] {
    padding: 0.05rem 0.45rem;
    border-radius: 999px;
    background: var(--neutral-soft);
    color: var(--neutral);
    font-size: 0.6875rem;
    font-weight: 600;
}

.chips[b-ur82lsxo6x] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
}

.chip[b-ur82lsxo6x] {
    padding: 0.1rem 0.55rem;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--surface-2);
    color: var(--text-muted);
    font-size: 0.75rem;
    font-weight: 600;
}

.chip-admin[b-ur82lsxo6x] {
    border-color: color-mix(in srgb, var(--primary) 40%, transparent);
    background: var(--primary-soft);
    color: var(--primary);
}

.row-actions[b-ur82lsxo6x] {
    display: inline-flex;
    gap: 0.1rem;
}

.row-actions .icon-btn[b-ur82lsxo6x] {
    width: 2.1rem;
    height: 2.1rem;
}

.row-actions .icon-btn:disabled[b-ur82lsxo6x] {
    opacity: 0.4;
    cursor: not-allowed;
}

.row-actions .icon-btn.danger:hover:not(:disabled)[b-ur82lsxo6x] {
    background: var(--danger-soft);
    color: var(--danger);
}

.row-actions .icon-btn.success:hover:not(:disabled)[b-ur82lsxo6x] {
    background: var(--success-soft);
    color: var(--success);
}

/* Wide tables scroll sideways; keep the row actions pinned to the end so they are always reachable. */
.users-table[b-ur82lsxo6x]  .col-actions {
    position: sticky;
    inset-inline-end: 0;
    z-index: 1;
    background: var(--surface);
    box-shadow: inset 1px 0 0 var(--border);
}

[dir="rtl"] .users-table[b-ur82lsxo6x]  .col-actions {
    box-shadow: inset -1px 0 0 var(--border);
}

.users-table[b-ur82lsxo6x]  thead .col-actions {
    background: var(--surface-2);
}

.users-table[b-ur82lsxo6x]  tbody tr:hover .col-actions {
    background: var(--surface-hover);
}

/* Seven columns: a little tighter than the default so the table fits a 1440px screen without sideways scrolling. */
.users-table[b-ur82lsxo6x]  .dt-table th,
.users-table[b-ur82lsxo6x]  .dt-table td {
    padding-inline: 0.8rem;
}

.users-table[b-ur82lsxo6x]  .dt-table {
    font-size: 0.875rem;
}
/* /Components/Pages/Auth/AccessDenied.razor.rz.scp.css */
.denied[b-p8dksdpso5] {
    display: grid;
    justify-items: center;
    gap: 0.75rem;
    max-width: 28rem;
    margin: 4rem auto;
    padding: 2.5rem 2rem;
    text-align: center;
}

.denied-icon[b-p8dksdpso5] {
    display: grid;
    place-items: center;
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 50%;
    background: var(--danger-soft);
    color: var(--danger);
}

.denied .btn[b-p8dksdpso5] {
    margin-block-start: 0.5rem;
}
/* /Components/Pages/Auth/AuthPanel.razor.rz.scp.css */
/* The template gives .login a fixed 450px width; never wider than a small phone's screen. */
.auth-card[b-3z2gkroh9f] {
    max-width: 100%;
}

/* First / last name side by side from the sm breakpoint up (Bootstrap 4's .row gutters misalign the stacked fields). */
.auth-card[b-3z2gkroh9f]  .auth-name-row {
    display: grid;
    grid-template-columns: 1fr;
    column-gap: 1rem;
}

@media (min-width: 576px) {
    .auth-card[b-3z2gkroh9f]  .auth-name-row {
        grid-template-columns: 1fr 1fr;
    }
}

/* ---- Pieces the template's login form does not have, kept inside its look ---- */

/* Placeholder text instead of visible labels, as in the template. */
.auth-card[b-3z2gkroh9f]  .form-control::placeholder {
    color: #8a8a8a;
    opacity: 1;
}

/* The show/hide-password button sits inside the input so the field keeps the template's height. */
.auth-card[b-3z2gkroh9f]  .auth-password {
    position: relative;
}

/* Physical padding keyed to the page direction: a typed value is always LTR (the input has dir="ltr"), so a logical
   padding would land on the opposite side from the eye button in Persian. */
html[dir="rtl"] .auth-card[b-3z2gkroh9f]  .auth-password .form-control {
    padding-left: 2.75rem;
}

html[dir="ltr"] .auth-card[b-3z2gkroh9f]  .auth-password .form-control {
    padding-right: 2.75rem;
}

/* An empty field shows its placeholder in the page's direction (right-aligned in Persian, as in the template);
   typed values stay LTR for emails and passwords. */
.auth-card[b-3z2gkroh9f]  .form-control:placeholder-shown {
    direction: inherit;
    text-align: start;
}

/* The template's Sign in button: label plus chevron, centred. */
.auth-card[b-3z2gkroh9f]  .btn-block {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

/* The pills' shadow: Menu-demo2.css (loaded on the public site) restyles .nav, the template's login page does not load it. */
.auth-card .nav-pills.shadow-sm[b-3z2gkroh9f] {
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}

.auth-card[b-3z2gkroh9f]  .auth-eye {
    position: absolute;
    inset-block: 0;
    inset-inline-end: 0.35rem;
    width: 2.25rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: #6c757d;
    cursor: pointer;
}

.auth-card[b-3z2gkroh9f]  .auth-eye:hover,
.auth-card[b-3z2gkroh9f]  .auth-eye:focus-visible {
    color: #212529;
}

.auth-card[b-3z2gkroh9f]  .auth-remember {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.8125rem;
    cursor: pointer;
}

.auth-card[b-3z2gkroh9f]  .auth-remember input {
    margin: 0;
}

/* Visible keyboard focus on every control, in the theme's yellow. */
.auth-card[b-3z2gkroh9f]  .form-control:focus,
.auth-card[b-3z2gkroh9f]  .btn:focus-visible,
.auth-card[b-3z2gkroh9f]  a:focus-visible,
.auth-card[b-3z2gkroh9f]  .auth-remember input:focus-visible {
    outline: 2px solid #fdb900;
    outline-offset: 2px;
    box-shadow: none;
}

/* The theme's bundle zeroes .alert's bottom margin; keep a gap before the first field. */
.auth-card .alert[b-3z2gkroh9f] {
    margin-bottom: 1rem;
}

/* The active Sign in / Register pill and the buttons use the theme's amber (as .btn-warning / .bg-warning), not Bootstrap's blue. */
.auth-card .nav-pills .nav-link.active[b-3z2gkroh9f] {
    background-color: #f1a005;
    color: #212529;
}

.auth-card .nav-pills .nav-link:not(.active):hover[b-3z2gkroh9f] {
    color: #d39e00;
}
/* /Components/Pages/Site/Blog.razor.rz.scp.css */
/* Filter bar above the grid: chips left, search right. */
.blog-chips[b-v1u96gb5qj] {
    display: flex;
    flex-wrap: wrap;
}

.blog-chip[b-v1u96gb5qj] {
    background: #fff;
    border: 1px solid #e3e8ef;
    border-radius: 1rem;
    color: #3d4852;
    display: inline-block;
    font-size: 0.85rem;
    margin: 0.25rem;
    padding: 0.3rem 0.9rem;
}

.blog-chip[b-v1u96gb5qj],
.blog-pager a[b-v1u96gb5qj] {
    text-decoration: none;
}

.blog-chip:hover[b-v1u96gb5qj] {
    border-color: var(--site-accent);
    color: #1f2933;
}

.blog-chip:focus-visible[b-v1u96gb5qj],
.blog-pager a:focus-visible[b-v1u96gb5qj] {
    outline: 2px solid var(--site-accent);
    outline-offset: 2px;
}

.blog-chip-active[b-v1u96gb5qj] {
    background: var(--site-accent);
    border-color: var(--site-accent);
    color: #212529;
    font-weight: 600;
}

.blog-search[b-v1u96gb5qj] {
    max-width: 20rem;
    width: 100%;
}

.blog-page-info[b-v1u96gb5qj] {
    color: #7b8794;
    font-size: 0.9rem;
}

/* Sidebar: search box and the category menu, styled like the article page's side panels. */
.blog-side[b-v1u96gb5qj] {
    background: #fff;
    border: 1px solid #e3e8ef;
    border-top: 4px solid #fdb900;
    padding: 1.25rem;
}

.blog-cats a[b-v1u96gb5qj] {
    border-radius: 0.5rem;
    color: #3d4852;
    display: block;
    padding: 0.5rem 0.75rem;
    text-decoration: none;
}

.blog-cats a:hover[b-v1u96gb5qj] {
    background: #f2f4f7;
    color: #1f2933;
}

.blog-cats a.blog-cat-active[b-v1u96gb5qj] {
    background: #fdb900;
    color: #212529;
    font-weight: 600;
}

@media (min-width: 992px) {
    .blog-aside[b-v1u96gb5qj] {
        align-self: flex-start;
        position: sticky;
        inset-block-start: 1rem;
    }
}

/* ---- Article grid: equal cards that reflow with the available width -------------------------------------------------
   auto-fill (not auto-fit) keeps a lone card at the same size as in a full row. min(100%, 17rem) lets one column fit
   on a 320px phone without overflowing. */
.blog-cards[b-v1u96gb5qj] {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr));
    padding: 0.5rem 0.25rem 1rem;
}

/* The card's own markup lives in ArticleCard, hence ::deep. Its outer margin (made for the home carousel) is replaced
   by the grid gap, and the card is turned into a column so the footer line always sits at the bottom. */
.blog-cards[b-v1u96gb5qj]  .blog_style {
    display: flex;
    flex-direction: column;
    height: 100%;
    margin: 0 !important;
    overflow: hidden;
}

.blog-cards[b-v1u96gb5qj]  .blog_style > a {
    display: block;
    flex: none;
}

.blog-cards[b-v1u96gb5qj]  .blog_style img {
    aspect-ratio: 16 / 10;
    height: auto;
}

.blog-cards[b-v1u96gb5qj]  .blog_style .card-body {
    display: flex;
    flex: 1;
    flex-direction: column;
}

/* Long titles and summaries are cut at a fixed number of lines so a verbose article cannot stretch its row. */
.blog-cards[b-v1u96gb5qj]  .blog_style h3 {
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    line-clamp: 2;
    overflow: hidden;
}

.blog-cards[b-v1u96gb5qj]  .blog_style .card-body > p {
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    display: -webkit-box;
    line-clamp: 3;
    overflow: hidden;
}

.blog-cards[b-v1u96gb5qj]  .blog_style .card-body > div.d-flex {
    flex-wrap: wrap;
    gap: 0.25rem 0.75rem;
    margin-top: auto !important;
}

/* The space between the category tags and the footer line is taken by the spacer, not by the footer's own margin. */
.blog-cards[b-v1u96gb5qj]  .blog_style .card-body > span {
    margin-bottom: 0.75rem;
}
/* /Components/Pages/Site/BlogPost.razor.rz.scp.css */
/* The "From the blog" crumb in the heading block links back to the list. */
.detailblog .singletitle span a[b-cyqkfifh28] {
    color: inherit;
    text-decoration: none;
}

.detailblog .singletitle span a:hover[b-cyqkfifh28] {
    color: var(--site-accent);
}

.site-post-cover[b-cyqkfifh28] {
    max-height: 26rem;
    object-fit: cover;
}

/* The article sits in a card, like the template's .box panels; the cover bleeds to its edges. */
.site-post-card[b-cyqkfifh28] {
    background: #fff;
    border: 1px solid #e3e8ef;
    overflow: hidden;
}

.site-post-category[b-cyqkfifh28] {
    background: #fdb900;
    border-radius: 1rem;
    color: #212529 !important;
    font-size: 0.75rem;
    padding: 0.1rem 0.7rem;
    text-decoration: none !important;
}

.site-post-tags[b-cyqkfifh28] {
    border-top: 1px dashed #c8d4d9;
}

.site-post-side[b-cyqkfifh28] {
    background: #fff;
    border: 1px solid #e3e8ef;
    border-top: 4px solid #fdb900;
    padding: 1.25rem;
}

.site-post-related + .site-post-related[b-cyqkfifh28] {
    border-top: 1px dashed #c8d4d9;
    margin-top: 0.6rem;
    padding-top: 0.6rem;
}

.site-post-related a[b-cyqkfifh28] {
    color: inherit;
    font-weight: 600;
    text-decoration: none;
}

.site-post-related a:hover[b-cyqkfifh28] {
    color: var(--site-accent);
}

.site-post-cta[b-cyqkfifh28] {
    background: #212529;
    border-color: #212529;
    border-top-color: #fdb900;
    color: #fff;
}

.site-post-cta i[b-cyqkfifh28] {
    color: #fdb900;
}

@media (min-width: 992px) {
    .site-post-aside[b-cyqkfifh28] {
        align-self: flex-start;
        position: sticky;
        inset-block-start: 1rem;
    }
}

/* Tags below the article: plain chips, not links — the site API's search covers slugs and
   titles only, so a tag link would promise a result the list cannot deliver. */
.site-tag[b-cyqkfifh28] {
    background: #f2f4f7;
    border: 1px solid #e3e8ef;
    border-radius: 1rem;
    display: inline-block;
    font-size: 0.8rem;
    margin-block: 0.375rem;
    margin-inline-end: 0.375rem;
    padding: 0.2rem 0.75rem;
}

/* Blog.razor's chip styles are scoped to that page, so the sidebar's category chips need their own copy. */
.blog-chips[b-cyqkfifh28] {
    display: flex;
    flex-wrap: wrap;
}

.blog-chip[b-cyqkfifh28] {
    background: #fff;
    border: 1px solid #e3e8ef;
    border-radius: 1rem;
    color: #3d4852;
    display: inline-block;
    font-size: 0.85rem;
    margin: 0.25rem;
    padding: 0.3rem 0.9rem;
    text-decoration: none;
}

.blog-chip:hover[b-cyqkfifh28] {
    border-color: var(--site-accent);
    color: #1f2933;
}
/* /Components/Pages/Site/Contact.razor.rz.scp.css */
/* Honeypot: present in the DOM and the tab order is skipped (tabindex="-1"), but visually and
   programmatically hidden from anyone who isn't a bot filling every input it finds. */
.contact-honeypot[b-i65hueh8fw] {
    height: 1px;
    left: -9999px;
    overflow: hidden;
    position: absolute;
    width: 1px;
}
/* /Components/Pages/Site/Docs.razor.rz.scp.css */
/* One root documentation section per card, in the template's amber-topped panel look. */
.docs-card[b-q7ytkr12uy] {
    background: #fff;
    border: 1px solid #e3e8ef;
    border-top: 4px solid #fdb900;
    padding: 1.5rem;
}
/* /Components/Pages/Site/DocsDetail.razor.rz.scp.css */
/* The sidebar tree stays in view while the long-form content scrolls past it. */
@media (min-width: 992px) {
    .docs-sidebar[b-05ffhxbogh] {
        position: sticky;
        inset-block-start: 1rem;
        max-height: calc(100vh - 2rem);
        overflow-y: auto;
    }
}

/* DocCategoryTree's own badge is scoped to that component; this page shows the same badge
   on the page header outside the tree, so it needs its own copy of the same small style. */
.docs-kind-badge[b-05ffhxbogh] {
    background: #f2f4f7;
    border-radius: 1rem;
    color: #55606a;
    font-size: 0.72rem;
    padding: 0.1rem 0.6rem;
}

/* ---- Page chrome: sidebar panel, article card, previous / next ---- */

.docs-side[b-05ffhxbogh] {
    background: #fff;
    border: 1px solid #e3e8ef;
    border-top: 4px solid #fdb900;
    padding: 1.25rem;
}

.docs-article[b-05ffhxbogh] {
    background: #fff;
    border: 1px solid #e3e8ef;
    padding: 2rem;
}

.docs-article .singletitle span a[b-05ffhxbogh] {
    color: inherit;
    text-decoration: none;
}

.docs-meta[b-05ffhxbogh] {
    align-items: center;
    border-bottom: 1px dashed #c8d4d9;
    display: flex;
    flex-wrap: wrap;
    padding-bottom: 1rem;
    row-gap: 0.4rem;
}

.docs-related[b-05ffhxbogh] {
    border-top: 1px dashed #c8d4d9;
}

.docs-pager-card[b-05ffhxbogh] {
    background: #fff;
    border: 1px solid #e3e8ef;
    color: inherit;
    display: block;
    padding: 1rem 1.25rem;
    text-decoration: none;
    transition: border-color 0.2s, transform 0.2s;
}

.docs-pager-card:hover[b-05ffhxbogh] {
    border-color: #fdb900;
    color: inherit;
    transform: translateY(-3px);
}

.docs-pager-card small[b-05ffhxbogh] {
    color: #7b8794;
    display: block;
}

.docs-pager-next[b-05ffhxbogh] {
    text-align: end;
}

@media (max-width: 575.98px) {
    .docs-article[b-05ffhxbogh] {
        padding: 1.25rem;
    }
}
/* /Components/Pages/Site/Products.razor.rz.scp.css */
.products-group-title[b-yo506wcouy] {
    border-inline-start: 4px solid #fdb900;
    font-size: 1.35rem;
    margin-top: 1.5rem;
    padding-inline-start: 0.75rem;
    scroll-margin-top: 5rem;
}

.products-count[b-yo506wcouy] {
    background: #fdb900;
    border-radius: 1rem;
    color: #212529;
    font-size: 0.7rem;
    margin-inline-start: 0.5rem;
    padding: 0 0.45rem;
}

.product-card[b-yo506wcouy] {
    background: #fff;
    border: 1px solid #e3e8ef;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: transform 0.3s, box-shadow 0.3s;
}

.product-card:hover[b-yo506wcouy] {
    box-shadow: 0 0 20px 6px rgba(154, 161, 171, 0.35) !important;
    transform: translateY(-6px);
}

.product-card-img[b-yo506wcouy] {
    display: block;
    overflow: hidden;
    position: relative;
}

.product-card-img img[b-yo506wcouy] {
    aspect-ratio: 16 / 10;
    display: block;
    object-fit: cover;
    transition: transform 0.5s;
    width: 100%;
}

.product-card:hover .product-card-img img[b-yo506wcouy] {
    transform: scale(1.06);
}

.product-card-tag[b-yo506wcouy] {
    background: #fdb900;
    border-radius: 1rem;
    color: #212529;
    font-size: 0.72rem;
    font-weight: 600;
    inset-block-start: 0.75rem;
    inset-inline-start: 0.75rem;
    padding: 0.15rem 0.7rem;
    position: absolute;
}

.product-card-body[b-yo506wcouy] {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 1.25rem;
}

.product-card-body h3 a[b-yo506wcouy] {
    color: inherit;
    text-decoration: none;
}

.product-card-body h3 a:hover[b-yo506wcouy] {
    color: var(--site-accent);
}

.product-card-text[b-yo506wcouy] {
    flex: 1;
}

.product-card-foot[b-yo506wcouy] {
    align-items: center;
    border-top: 1px dashed #c8d4d9;
    display: flex;
    justify-content: space-between;
    padding-top: 0.9rem;
}

.product-card-price strong[b-yo506wcouy] {
    display: block;
    font-size: 1.05rem;
}

.products-jump .blog-chip[b-yo506wcouy] {
    background: #fff;
    border: 1px solid #e3e8ef;
    border-radius: 1rem;
    color: #3d4852;
    display: inline-block;
    font-size: 0.85rem;
    margin: 0.25rem;
    padding: 0.3rem 0.9rem;
    text-decoration: none;
}

.products-jump[b-yo506wcouy] {
    display: flex;
    flex-wrap: wrap;
}
/* /Components/Pages/Site/ProductsDetail.razor.rz.scp.css */
.product-panel[b-pnmb4cbrik] {
    background: #fff;
    border: 1px solid #e3e8ef;
    overflow: hidden;
}

.product-hero[b-pnmb4cbrik] {
    aspect-ratio: 16 / 7;
    object-fit: cover;
}

.product-detail .singletitle span a[b-pnmb4cbrik] {
    color: inherit;
    text-decoration: none;
}

.product-pill[b-pnmb4cbrik] {
    background: #f2f4f7;
    border: 1px solid #e3e8ef;
    border-radius: 1rem;
    font-size: 0.78rem;
    padding: 0.15rem 0.75rem;
}

.product-features li[b-pnmb4cbrik] {
    align-items: baseline;
    display: flex;
    gap: 0.6rem;
    padding-block: 0.3rem;
}

.product-features i[b-pnmb4cbrik],
.product-offer-meta i[b-pnmb4cbrik] {
    color: #fdb900;
}

.product-offer[b-pnmb4cbrik] {
    background: #fff;
    border: 1px solid #e3e8ef;
    border-top: 4px solid #fdb900;
    padding: 1.25rem;
}

.product-offer-price[b-pnmb4cbrik] {
    font-size: 1.3rem;
}

.product-offer-meta[b-pnmb4cbrik] {
    border-top: 1px dashed #c8d4d9;
    font-size: 0.88rem;
    margin: 0.9rem 0;
    padding-top: 0.8rem;
}

.product-offer-meta li[b-pnmb4cbrik] {
    padding-block: 0.15rem;
}

.product-offer-meta i[b-pnmb4cbrik] {
    margin-inline-end: 0.5rem;
}

@media (min-width: 992px) {
    .product-aside[b-pnmb4cbrik] {
        align-self: flex-start;
        position: sticky;
        inset-block-start: 1rem;
    }
}
/* /Components/Routes.razor.rz.scp.css */
.boot-screen[b-1du6jsre29] {
    display: grid;
    place-items: center;
    min-height: 100vh;
}

.boot-spinner[b-1du6jsre29] {
    width: 2.25rem;
    height: 2.25rem;
    border: 3px solid var(--border);
    border-top-color: var(--primary-solid);
    border-radius: 50%;
    animation: boot-spin-b-1du6jsre29 0.8s linear infinite;
}

@keyframes boot-spin-b-1du6jsre29 {
    to { transform: rotate(360deg); }
}
/* /Components/Site/ArticleComments.razor.rz.scp.css */
/* Reader comments under a blog article. Logical properties throughout, so the thread, the reply indent and the badge
   mirror in Persian; the dark rules follow the public site's html[data-theme="dark"] switch. */

.comments[b-cjm9tkvejf] {
    --cm-surface: #fff;
    --cm-surface-2: #f6f7f9;
    --cm-border: #e3e8ef;
    --cm-text: #1f2933;
    --cm-muted: #7b8794;
    --cm-accent: #fdb900;
    --cm-danger: #c62828;

    background: var(--cm-surface);
    border: 1px solid var(--cm-border);
    color: var(--cm-text);
    margin-top: 1.5rem;
    padding: 1.5rem;
}

.comments-title[b-cjm9tkvejf] {
    align-items: center;
    display: flex;
    gap: 0.6rem;
    margin-bottom: 1rem;
}

.comments-count[b-cjm9tkvejf] {
    background: var(--cm-accent);
    border-radius: 999px;
    color: #212529;
    font-size: 0.8rem;
    font-weight: 700;
    padding: 0.1rem 0.6rem;
}

.comments-empty[b-cjm9tkvejf] {
    color: var(--cm-muted);
    margin-bottom: 1.5rem;
}

.comments-list[b-cjm9tkvejf] {
    list-style: none;
    margin: 0 0 1rem;
    padding: 0;
}

.comment[b-cjm9tkvejf] {
    border-block-end: 1px solid var(--cm-border);
    padding-block: 1rem;
    scroll-margin-block-start: 5rem;
}

.comment:last-child[b-cjm9tkvejf] {
    border-block-end: 0;
}

.comment-head[b-cjm9tkvejf] {
    align-items: center;
    display: flex;
    gap: 0.75rem;
}

/* Name, badge and date are separate flex items, each its own bidi isolate. As loose inline text they were reordered
   across scripts in Persian: a badge such as "team EyeVoip" was split in two with the date wedged between the halves. */
.comment-meta[b-cjm9tkvejf] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem 0.6rem;
    min-width: 0;
}

.comment-meta > *[b-cjm9tkvejf] {
    unicode-bidi: isolate;
}

.comment-avatar[b-cjm9tkvejf] {
    align-items: center;
    background: var(--cm-accent);
    border-radius: 50%;
    color: #212529;
    display: inline-flex;
    flex: none;
    font-size: 0.8rem;
    font-weight: 700;
    height: 2.4rem;
    justify-content: center;
    width: 2.4rem;
}

.comment-avatar.is-staff[b-cjm9tkvejf] {
    background: #1f2933;
    color: var(--cm-accent);
}

.comment-author[b-cjm9tkvejf] {
    font-weight: 700;
}

.comment-time[b-cjm9tkvejf] {
    color: var(--cm-muted);
    font-size: 0.8rem;
    white-space: nowrap;
}

.comment-badge[b-cjm9tkvejf] {
    background: rgba(253, 185, 0, 0.2);
    border: 1px solid var(--cm-accent);
    border-radius: 999px;
    display: inline-block;
    font-size: 0.7rem;
    font-weight: 700;
    line-height: 1.5;
    padding: 0.05rem 0.6rem;
    white-space: nowrap;
}

.comment-body[b-cjm9tkvejf] {
    margin: 0.6rem 0 0;
    overflow-wrap: anywhere;
    white-space: pre-line;
}

/* The team's answer sits under the comment, indented from the reading start with an accent edge. */
.comment-reply[b-cjm9tkvejf] {
    background: var(--cm-surface-2);
    border-inline-start: 3px solid var(--cm-accent);
    border-radius: 0.5rem;
    margin-block-start: 0.9rem;
    margin-inline-start: 2.4rem;
    padding: 0.8rem 1rem;
    scroll-margin-block-start: 5rem;
}

.comments-more[b-cjm9tkvejf] {
    margin-bottom: 1.5rem;
}

/* ---- Form ---- */

.comments-form-title[b-cjm9tkvejf] {
    border-block-start: 1px solid var(--cm-border);
    margin: 1.5rem 0 1rem;
    padding-block-start: 1.25rem;
}

.comments-form label[b-cjm9tkvejf] {
    display: block;
    font-size: 0.85rem;
    font-weight: 600;
    margin: 0.75rem 0 0.25rem;
}

.comments-fields[b-cjm9tkvejf] {
    display: grid;
    gap: 0 1rem;
    grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
}

.comments-form .form-control[aria-invalid="true"][b-cjm9tkvejf] {
    border-color: var(--cm-danger);
}

.comments-hint[b-cjm9tkvejf] {
    color: var(--cm-muted);
    display: flex;
    font-size: 0.8rem;
    gap: 0.75rem;
    justify-content: space-between;
    margin: 0.3rem 0 1rem;
}

.comments-hint .is-near[b-cjm9tkvejf] {
    color: var(--cm-danger);
    font-weight: 700;
}

/* Out of sight but still in the DOM, so a script fills it and a person never sees it. */
.comments-hp[b-cjm9tkvejf] {
    height: 1px;
    inset-inline-start: -10000px;
    overflow: hidden;
    position: absolute;
    width: 1px;
}

.comments-notice[b-cjm9tkvejf] {
    border-radius: 0.5rem;
    margin: 0 0 1rem;
    padding: 0.75rem 1rem;
}

.comments-notice.is-success[b-cjm9tkvejf] {
    background: rgba(34, 177, 76, 0.12);
    border: 1px solid rgba(34, 177, 76, 0.5);
}

.comments-notice.is-error[b-cjm9tkvejf] {
    background: rgba(198, 40, 40, 0.1);
    border: 1px solid var(--cm-danger);
    color: var(--cm-danger);
}

.comments-form button:focus-visible[b-cjm9tkvejf],
.comments-more:focus-visible[b-cjm9tkvejf] {
    outline: 3px solid #1f6feb;
    outline-offset: 2px;
}

@media (max-width: 575.98px) {
    .comments[b-cjm9tkvejf] {
        padding: 1rem;
    }

    .comment-reply[b-cjm9tkvejf] {
        margin-inline-start: 0.75rem;
    }
}

/* ---- Dark theme ---- */

html[data-theme="dark"] .comments[b-cjm9tkvejf] {
    --cm-surface: var(--sd-surface, #181e26);
    --cm-surface-2: var(--sd-surface-2, #202833);
    --cm-border: var(--sd-border, #2c3643);
    --cm-text: var(--sd-text, #d9dee6);
    --cm-muted: var(--sd-muted, #98a3b3);
    --cm-danger: #ff6b6b;
}

html[data-theme="dark"] .comment-avatar.is-staff[b-cjm9tkvejf] {
    background: #0e1217;
}

html[data-theme="dark"] .comments-notice.is-error[b-cjm9tkvejf] {
    color: #ff9a9a;
}
/* /Components/Site/Sections/DocCategoryTree.razor.rz.scp.css */
.docs-node[b-5s4axhcet3] {
    margin-bottom: 1.5rem;
}

.docs-category-title[b-5s4axhcet3] {
    font-size: 1.1rem;
}

.docs-doc-list li[b-5s4axhcet3] {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    padding-block: 0.3rem;
}

.docs-doc-list a[b-5s4axhcet3] {
    color: inherit;
    text-decoration: none;
}

.docs-doc-list a:hover[b-5s4axhcet3] {
    color: var(--site-accent);
    text-decoration: underline;
}

.docs-doc-active > a[b-5s4axhcet3] {
    color: var(--site-accent);
    font-weight: 600;
}

.docs-kind-badge[b-5s4axhcet3] {
    background: #f2f4f7;
    border-radius: 1rem;
    color: #55606a;
    font-size: 0.72rem;
    padding: 0.1rem 0.6rem;
}
/* /Components/Site/Sections/FaqSection.razor.rz.scp.css */
/* Accordion built on <details>. The template has no styling for it, so the look is matched
   to the surrounding cards by hand. */

.site-faq[b-jylxp2g7ta] {
    background: #fff;
    border: 1px solid #e3e8ef;
    border-radius: 0.625rem;
    margin-bottom: 0.75rem;
}

.site-faq summary[b-jylxp2g7ta] {
    align-items: center;
    cursor: pointer;
    display: flex;
    font-weight: 600;
    gap: 1rem;
    justify-content: space-between;
    list-style: none;
    padding: 1rem 1.25rem;
}

/* Safari/Chrome draw their own marker on top of ours. */
.site-faq summary[b-jylxp2g7ta]::-webkit-details-marker {
    display: none;
}

.site-faq summary:focus-visible[b-jylxp2g7ta] {
    outline: 2px solid #f1ac00;
    outline-offset: -2px;
}

.site-faq summary i[b-jylxp2g7ta] {
    color: #f1ac00;
    flex: none;
    transition: transform 0.2s ease-in-out;
}

.site-faq[open] summary i[b-jylxp2g7ta] {
    transform: rotate(45deg);
}

.site-faq-answer[b-jylxp2g7ta] {
    border-top: 1px solid #eef1f6;
    line-height: 1.9;
    padding: 1rem 1.25rem;
}

@media (prefers-reduced-motion: reduce) {
    .site-faq summary i[b-jylxp2g7ta] {
        transition: none;
    }
}
/* /Components/Users/RoleModal.razor.rz.scp.css */
.banner[b-vclvu2unrl] {
    margin-block-end: 1rem;
}

.form-fields[b-vclvu2unrl] {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

/* ---- Permission picker ---- */

.rm-groups[b-vclvu2unrl] {
    display: grid;
    gap: 0.75rem;
    max-height: 18rem;
    overflow-y: auto;
    padding: 0.2rem 0.2rem 0.2rem 0;
}

.rm-group[b-vclvu2unrl] {
    border: 1px solid var(--border);
    border-radius: var(--radius);
    overflow: hidden;
}

.rm-group-head[b-vclvu2unrl] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.45rem 0.7rem;
    background: var(--surface-2);
    border-block-end: 1px solid var(--border);
    font-size: 0.8125rem;
    font-weight: 700;
}

.rm-group-all[b-vclvu2unrl] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
}

.rm-group-all input[type="checkbox"][b-vclvu2unrl],
.rm-perm input[type="checkbox"][b-vclvu2unrl] {
    width: 1rem;
    height: 1rem;
    margin: 0;
    accent-color: var(--primary-solid);
    flex: none;
}

.rm-group-count[b-vclvu2unrl] {
    color: var(--text-muted);
    font-size: 0.75rem;
}

.rm-perms[b-vclvu2unrl] {
    display: grid;
}

.rm-perm[b-vclvu2unrl] {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    padding: 0.5rem 0.7rem;
    cursor: pointer;
    transition: background-color 0.12s;
}

.rm-perm + .rm-perm[b-vclvu2unrl] {
    border-block-start: 1px solid color-mix(in srgb, var(--border) 55%, transparent);
}

.rm-perm:hover[b-vclvu2unrl] {
    background: var(--surface-hover);
}

.rm-perm.is-on[b-vclvu2unrl] {
    background: var(--primary-soft);
}

.rm-perm input[type="checkbox"][b-vclvu2unrl] {
    margin-block-start: 0.2rem;
}

.rm-perm-body[b-vclvu2unrl] {
    display: grid;
    gap: 0.05rem;
    min-width: 0;
}

.rm-perm-key[b-vclvu2unrl] {
    font-family: var(--font-mono);
    font-size: 0.75rem;
    font-weight: 600;
}

.rm-perm-desc[b-vclvu2unrl] {
    color: var(--text-muted);
    font-size: 0.75rem;
    line-height: 1.4;
}
/* /Components/Users/UserModal.razor.rz.scp.css */
.banner[b-8hggpci34q] {
    margin-block-end: 1rem;
}

/* ---- Tabs ---- */

.um-tabs[b-8hggpci34q] {
    display: flex;
    gap: 0.25rem;
    margin-block-end: 1rem;
    padding: 0.25rem;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--surface-2);
}

.um-tab[b-8hggpci34q] {
    display: inline-flex;
    flex: 1;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    padding: 0.45rem 0.75rem;
    border: 0;
    border-radius: calc(var(--radius) - 0.15rem);
    background: transparent;
    color: var(--text-muted);
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.15s, color 0.15s, box-shadow 0.15s;
}

.um-tab:hover[b-8hggpci34q] {
    color: var(--text);
}

.um-tab.is-active[b-8hggpci34q] {
    background: var(--surface);
    color: var(--primary);
    box-shadow: var(--shadow-sm);
}

.um-tab-count[b-8hggpci34q] {
    display: inline-grid;
    place-items: center;
    min-width: 1.3rem;
    height: 1.3rem;
    padding-inline: 0.3rem;
    border-radius: 999px;
    background: var(--primary-soft);
    color: var(--primary);
    font-size: 0.6875rem;
}

/* ---- Panels ---- */

.um-panel[hidden][b-8hggpci34q] {
    display: none;
}

.form-fields[b-8hggpci34q] {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

/* Password box with the show/hide button inside the field */
.pw-wrap[b-8hggpci34q] {
    position: relative;
}

.pw-wrap[b-8hggpci34q]  .input {
    padding-inline-end: 2.75rem;
}

.pw-reveal[b-8hggpci34q] {
    position: absolute;
    inset-block-start: 50%;
    inset-inline-end: 0.35rem;
    display: grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: 0;
    border-radius: var(--radius-sm);
    background: transparent;
    color: var(--text-muted);
    cursor: pointer;
    transform: translateY(-50%);
}

.pw-reveal:hover[b-8hggpci34q] {
    background: var(--surface-hover);
    color: var(--text);
}

/* ---- Roles tab ---- */

.um-roles-hint[b-8hggpci34q] {
    margin-block-end: 0.85rem;
    font-size: 0.8125rem;
}

.um-roles-loading[b-8hggpci34q] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 1.25rem 0;
    color: var(--text-muted);
}

.um-roles[b-8hggpci34q] {
    display: grid;
    gap: 0.5rem;
    max-height: 17rem;
    overflow-y: auto;
    padding-inline-end: 0.2rem; /* keep the focus ring clear of the scrollbar */
}

.um-role[b-8hggpci34q] {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    padding: 0.65rem 0.8rem;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--surface);
    cursor: pointer;
    transition: border-color 0.15s, background-color 0.15s;
}

.um-role:hover[b-8hggpci34q] {
    background: var(--surface-hover);
}

.um-role.is-on[b-8hggpci34q] {
    border-color: color-mix(in srgb, var(--primary) 45%, transparent);
    background: var(--primary-soft);
}

.um-role.is-busy[b-8hggpci34q] {
    opacity: 0.6;
    cursor: wait;
}

.um-role input[type="checkbox"][b-8hggpci34q] {
    width: 1.05rem;
    height: 1.05rem;
    margin: 0.2rem 0 0;
    accent-color: var(--primary-solid);
    flex: none;
}

.um-role-body[b-8hggpci34q] {
    display: grid;
    gap: 0.1rem;
    min-width: 0;
}

.um-role-name[b-8hggpci34q] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
    font-weight: 600;
}

.um-role-flag[b-8hggpci34q] {
    padding: 0.05rem 0.45rem;
    border-radius: 999px;
    background: var(--neutral-soft);
    color: var(--neutral);
    font-size: 0.6875rem;
    font-weight: 600;
}

.um-role-count[b-8hggpci34q] {
    color: var(--text-muted);
    font-size: 0.6875rem;
    font-weight: 500;
}

.um-role-desc[b-8hggpci34q] {
    color: var(--text-muted);
    font-size: 0.8125rem;
}
/* /Components/Users/UserSessionsModal.razor.rz.scp.css */
.sess-head[b-zwsdcr5aag] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-block-end: 1rem;
}

.sess-user[b-zwsdcr5aag] {
    display: flex;
    flex-direction: column;
    line-height: 1.35;
}

.sess-user-name[b-zwsdcr5aag] {
    font-weight: 600;
}

.sess-actions[b-zwsdcr5aag] {
    display: flex;
    gap: 0.5rem;
}

.banner[b-zwsdcr5aag] {
    margin-block-end: 1rem;
}

.sess-loading[b-zwsdcr5aag] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding-block: 1.5rem;
    color: var(--text-muted);
}

.sess-empty[b-zwsdcr5aag] {
    padding-block: 2rem;
    text-align: center;
}

.sess-scroll[b-zwsdcr5aag] {
    overflow-x: auto;
    border: 1px solid var(--border);
    border-radius: var(--radius);
}

.sess-table[b-zwsdcr5aag] {
    width: 100%;
    border-collapse: collapse;
    white-space: nowrap;
}

.sess-table th[b-zwsdcr5aag],
.sess-table td[b-zwsdcr5aag] {
    padding: 0.7rem 1rem;
    text-align: start;
}

.sess-table thead th[b-zwsdcr5aag] {
    background: var(--surface-2);
    border-block-end: 1px solid var(--border);
    color: var(--text-muted);
    font-size: 0.75rem;
    font-weight: 600;
}

.sess-table tbody tr + tr td[b-zwsdcr5aag] {
    border-block-start: 1px solid var(--border);
}

.sess-end[b-zwsdcr5aag] {
    text-align: end !important;
}

.sess-device[b-zwsdcr5aag] {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    font-weight: 500;
}

.sess-device[b-zwsdcr5aag]  .icon {
    color: var(--text-muted);
}

.sess-note[b-zwsdcr5aag] {
    margin-block-start: 0.9rem;
    font-size: 0.8125rem;
}
