/* /Admin/AdminUsersPage.razor.rz.scp.css */
.users-page[b-s60vyd62bx] {
    display: flex;
    flex-direction: column;
    gap: var(--card-gap);
}

.users-toolbar[b-s60vyd62bx] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.users-count[b-s60vyd62bx] {
    font-size: 0.78125rem;
    color: var(--dim);
}

.btn-primary[b-s60vyd62bx] {
    height: 36px;
    padding: 0 16px;
    background: var(--accent);
    color: var(--accent-text);
    border: none;
    border-radius: var(--radius);
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
}

.btn-primary:disabled[b-s60vyd62bx] {
    opacity: 0.45;
    cursor: default;
}

.btn-ghost[b-s60vyd62bx] {
    height: 36px;
    padding: 0 14px;
    background: none;
    color: var(--dim);
    border: 1px solid var(--border-2);
    border-radius: var(--radius);
    font-size: 0.8125rem;
    cursor: pointer;
}

.btn-ghost:hover[b-s60vyd62bx] {
    color: var(--text);
    border-color: var(--text-dim);
}

[b-s60vyd62bx] .user-cell {
    display: flex;
    flex-direction: column;
    gap: 1px;
    min-width: 0;
}

[b-s60vyd62bx] .user-cell-name {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--text);
}

[b-s60vyd62bx] .user-cell-email {
    font-family: var(--mono);
    font-size: 0.6875rem;
    color: var(--faint);
}

[b-s60vyd62bx] .provider-cell {
    font-size: 0.75rem;
    color: var(--dim);
}

[b-s60vyd62bx] .mono-cell {
    font-family: var(--mono);
    font-size: 0.71875rem;
    color: var(--dim);
}

.create-form[b-s60vyd62bx] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.create-field[b-s60vyd62bx] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.create-field input[b-s60vyd62bx] {
    height: 34px;
    padding: 0 10px;
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    color: var(--text);
    font-family: var(--font);
    font-size: 0.8125rem;
}

.create-field input:focus-visible[b-s60vyd62bx] {
    outline: none;
    border-color: var(--accent);
}

.create-error[b-s60vyd62bx] {
    margin: 0;
    font-size: 0.75rem;
    color: var(--red);
}

.create-success[b-s60vyd62bx] {
    margin: 0 0 12px;
    font-size: 0.8125rem;
    color: var(--text);
    line-height: 1.5;
}

.password-box[b-s60vyd62bx] {
    padding: 12px 14px;
    background: var(--bg);
    border: 1px solid var(--border-2);
    border-radius: var(--radius);
    font-family: var(--mono);
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    color: var(--accent);
    text-align: center;
    user-select: all;
}

.create-hint[b-s60vyd62bx] {
    margin: 12px 0 0;
    font-size: 0.71875rem;
    color: var(--faint);
    line-height: 1.5;
}

.detail-footer[b-s60vyd62bx] {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
}

.detail-spacer[b-s60vyd62bx] {
    flex: 1;
}

/* One visually-joined bar for the three status/destructive actions (reset
   password, deactivate/activate, delete) instead of separate buttons — each
   segment keeps its own color but the group reads as a single control. */
.action-bar[b-s60vyd62bx] {
    display: flex;
    border-radius: var(--radius);
    overflow: hidden;
    border: 1px solid var(--border-2);
}

.action-bar-btn[b-s60vyd62bx] {
    height: 36px;
    padding: 0 9px;
    border: none;
    font-size: 0.75rem;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.action-bar-btn:not(:first-child)[b-s60vyd62bx] {
    border-left: 1px solid oklch(0 0 0 / 0.15);
}

.action-bar-btn:disabled[b-s60vyd62bx] {
    opacity: 0.45;
    cursor: default;
}

.action-info[b-s60vyd62bx] {
    background: var(--blue);
    color: oklch(0.16 0.02 255);
}

.action-warn[b-s60vyd62bx] {
    background: var(--amber);
    color: oklch(0.16 0.02 255);
}

.action-go[b-s60vyd62bx] {
    background: var(--green);
    color: oklch(0.16 0.02 255);
}

.action-danger[b-s60vyd62bx] {
    background: var(--red);
    color: oklch(0.99 0 0);
}

.action-cancel[b-s60vyd62bx] {
    background: var(--surface-3);
    color: var(--dim);
}

.set-password-row[b-s60vyd62bx] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.set-password-row input[b-s60vyd62bx] {
    flex: 1;
    height: 34px;
    padding: 0 10px;
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    color: var(--text);
    font-family: var(--font);
    font-size: 0.8125rem;
}

.set-password-row input:focus-visible[b-s60vyd62bx] {
    outline: none;
    border-color: var(--accent);
}

.detail-head[b-s60vyd62bx] {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.detail-avatar[b-s60vyd62bx] {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    flex-shrink: 0;
    object-fit: cover;
}

.detail-avatar-fallback[b-s60vyd62bx] {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--surface-3);
    color: var(--dim);
    font-family: var(--mono);
    font-size: 0.75rem;
}

.detail-head-text[b-s60vyd62bx] {
    display: flex;
    flex-direction: column;
    gap: 1px;
    min-width: 0;
}

.detail-title[b-s60vyd62bx] {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--text);
}

.detail-sub[b-s60vyd62bx] {
    font-family: var(--mono);
    font-size: 0.6875rem;
    color: var(--faint);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.detail-section[b-s60vyd62bx] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid var(--border);
}

.status-row[b-s60vyd62bx] {
    flex-direction: row;
    align-items: center;
    gap: 10px;
}

.field-hint[b-s60vyd62bx] {
    font-size: 0.71875rem;
    color: var(--faint);
}

.identity-row[b-s60vyd62bx] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.78125rem;
    color: var(--dim);
}

.audit-row[b-s60vyd62bx] {
    display: flex;
    flex-direction: column;
    gap: 1px;
    padding: 8px 0;
    border-bottom: 1px solid var(--border);
}

.audit-row:last-child[b-s60vyd62bx] {
    border-bottom: none;
}

.audit-action[b-s60vyd62bx] {
    font-size: 0.78125rem;
    font-weight: 600;
    color: var(--text);
}

.audit-details[b-s60vyd62bx] {
    font-size: 0.75rem;
    color: var(--dim);
}

.audit-meta[b-s60vyd62bx] {
    font-family: var(--mono);
    font-size: 0.65625rem;
    color: var(--faint);
}
/* /Auth/Login.razor.rz.scp.css */
.login-page[b-cg7r079k2x] {
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--bg);
}

.login-card[b-cg7r079k2x] {
    width: 340px;
    max-width: 92vw;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: calc(var(--radius) + 3px);
    padding: 28px 26px;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.login-brand[b-cg7r079k2x] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.login-monogram[b-cg7r079k2x] {
    width: 32px;
    height: 32px;
    border-radius: var(--radius);
    background: var(--accent);
    color: var(--accent-text);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--mono);
    font-weight: 700;
}

.login-brand-name[b-cg7r079k2x] {
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--text);
}

.login-error[b-cg7r079k2x] {
    margin: 0;
    padding: 8px 10px;
    border-radius: var(--radius-sm);
    background: color-mix(in srgb, var(--red) 15%, transparent);
    color: var(--red);
    font-size: 0.75rem;
}

form[b-cg7r079k2x] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.login-field[b-cg7r079k2x] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.login-field input[b-cg7r079k2x] {
    height: 38px;
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 0 12px;
    font-family: var(--font);
    font-size: 0.8125rem;
    color: var(--text);
}

.login-field input:focus-visible[b-cg7r079k2x] {
    outline: none;
    border-color: var(--accent);
}

.login-submit[b-cg7r079k2x] {
    height: 40px;
    background: var(--accent);
    color: var(--accent-text);
    border: none;
    border-radius: var(--radius);
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
    margin-top: 4px;
}

.login-divider[b-cg7r079k2x] {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--faint);
    font-size: 0.71875rem;
}

.login-divider[b-cg7r079k2x]::before,
.login-divider[b-cg7r079k2x]::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--border);
}

.login-oidc[b-cg7r079k2x] {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    background: none;
    color: var(--text);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
}

.login-oidc:hover[b-cg7r079k2x] {
    border-color: var(--border-2);
    background: var(--surface-2);
    color: var(--text);
    text-decoration: none;
}
/* /Auth/Setup.razor.rz.scp.css */
/* Mirrors Login.razor.css — same visual language, one step wider because the
   wizard carries more fields and a lede. Scoped CSS: duplication over a shared
   file is the Blazor-idiomatic trade here. */

.setup-page[b-66povow0dq] {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--bg);
    padding: 24px 0;
}

.setup-card[b-66povow0dq] {
    width: 380px;
    max-width: 92vw;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: calc(var(--radius) + 3px);
    padding: 28px 26px;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.setup-brand[b-66povow0dq] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.setup-monogram[b-66povow0dq] {
    width: 32px;
    height: 32px;
    border-radius: var(--radius);
    background: var(--accent);
    color: var(--accent-text);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--mono);
    font-weight: 700;
}

.setup-brand-name[b-66povow0dq] {
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--text);
}

.setup-title[b-66povow0dq] {
    margin: 0 0 6px;
    font-size: 1.0625rem;
    font-weight: 700;
    color: var(--text);
}

.setup-lede[b-66povow0dq] {
    margin: 0;
    font-size: 0.75rem;
    line-height: 1.5;
    color: var(--text-dim);
}

.setup-error[b-66povow0dq] {
    margin: 0;
    padding: 8px 10px;
    border-radius: var(--radius-sm);
    background: color-mix(in srgb, var(--red) 15%, transparent);
    color: var(--red);
    font-size: 0.75rem;
}

form[b-66povow0dq] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.setup-field[b-66povow0dq] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.setup-field input[b-66povow0dq] {
    height: 38px;
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 0 12px;
    font-family: var(--font);
    font-size: 0.8125rem;
    color: var(--text);
}

.setup-field input:focus-visible[b-66povow0dq] {
    outline: none;
    border-color: var(--accent);
}

.setup-hint[b-66povow0dq] {
    font-size: 0.6875rem;
    color: var(--text-dim);
}

.setup-submit[b-66povow0dq] {
    height: 40px;
    background: var(--accent);
    color: var(--accent-text);
    border: none;
    border-radius: var(--radius);
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
    margin-top: 4px;
}
/* /AutoDns/DnsZonesPage.razor.rz.scp.css */
.dns-zones-page[b-xxcmf0xpu5] {
    display: flex;
    flex-direction: column;
    gap: var(--card-gap);
}

.dns-filters[b-xxcmf0xpu5] {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

.dns-field[b-xxcmf0xpu5] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    min-width: 18rem;
    flex: 1 1 18rem;
}

.dns-toolbar[b-xxcmf0xpu5] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
}

.dns-count[b-xxcmf0xpu5] {
    font-size: var(--fs-micro);
    color: var(--dim);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.dns-zone-origin[b-xxcmf0xpu5] {
    font-family: var(--font-mono);
    font-size: var(--fs-body);
    color: var(--text);
}

.dns-error[b-xxcmf0xpu5] {
    color: var(--red);
    font-size: var(--fs-small);
}

.dns-banner[b-xxcmf0xpu5] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.dns-banner-title[b-xxcmf0xpu5] {
    color: var(--amber);
    font-weight: 600;
}

.dns-banner-text[b-xxcmf0xpu5] {
    color: var(--dim);
    font-size: var(--fs-small);
}

.btn-ghost[b-xxcmf0xpu5] {
    background: transparent;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    color: var(--text);
    padding: 0.3rem 0.7rem;
    font: inherit;
    font-size: var(--fs-small);
    cursor: pointer;
}

.btn-ghost:hover[b-xxcmf0xpu5] {
    border-color: var(--border-2);
    background: var(--surface-2);
}

/* Cells rendered into DataTable need ::deep — CSS isolation does not reach
   markup a child component owns. */
[b-xxcmf0xpu5] .mono-cell {
    font-family: var(--font-mono);
    font-size: var(--fs-small);
}

[b-xxcmf0xpu5] .dns-origin {
    color: var(--text);
}

[b-xxcmf0xpu5] .dns-record-name,
[b-xxcmf0xpu5] .dns-record-value {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block;
}

[b-xxcmf0xpu5] .dns-ttl-default {
    color: var(--dim);
}

/* ----- record detail + change preview ----- */

.detail-grid[b-xxcmf0xpu5] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.field-value.wrap[b-xxcmf0xpu5] {
    overflow-wrap: anywhere;
}

.field-value.mono[b-xxcmf0xpu5] {
    font-family: var(--font-mono);
    font-size: var(--fs-small);
}

.create-form[b-xxcmf0xpu5] {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
}

.create-field[b-xxcmf0xpu5] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.create-error[b-xxcmf0xpu5] {
    color: var(--red);
    font-size: var(--fs-small);
    margin: 0;
}

.confirm-intro[b-xxcmf0xpu5] {
    color: var(--dim);
    font-size: var(--fs-small);
    margin: 0 0 0.8rem;
}

.confirm-intro .mono[b-xxcmf0xpu5] {
    font-family: var(--font-mono);
    color: var(--text);
}

.patch-preview[b-xxcmf0xpu5] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 0.7rem 0.9rem;
    overflow-x: auto;
}

.patch-line[b-xxcmf0xpu5] {
    font-family: var(--font-mono);
    font-size: var(--fs-small);
    white-space: pre;
    color: var(--dim);
}

.patch-line.add[b-xxcmf0xpu5] {
    color: var(--green);
}

.patch-line.remove[b-xxcmf0xpu5] {
    color: var(--red);
}

.ttl-notes[b-xxcmf0xpu5] {
    margin-top: 0.9rem;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.btn-primary[b-xxcmf0xpu5] {
    background: var(--accent, var(--blue));
    border: 1px solid transparent;
    border-radius: var(--radius);
    color: var(--bg);
    padding: 0.35rem 0.9rem;
    font: inherit;
    font-size: var(--fs-small);
    font-weight: 600;
    cursor: pointer;
}

.btn-primary:disabled[b-xxcmf0xpu5],
.btn-danger:disabled[b-xxcmf0xpu5],
.btn-ghost:disabled[b-xxcmf0xpu5] {
    opacity: 0.5;
    cursor: not-allowed;
}

.btn-danger[b-xxcmf0xpu5] {
    background: transparent;
    border: 1px solid var(--red);
    border-radius: var(--radius);
    color: var(--red);
    padding: 0.35rem 0.9rem;
    font: inherit;
    font-size: var(--fs-small);
    cursor: pointer;
}

.btn-danger:hover:not(:disabled)[b-xxcmf0xpu5] {
    background: color-mix(in oklch, var(--red) 12%, transparent);
}

/* ----- create grid: one row per record, tab flows into the next ----- */

.record-grid[b-xxcmf0xpu5] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.record-grid-head[b-xxcmf0xpu5],
.record-grid-row[b-xxcmf0xpu5] {
    display: grid;
    grid-template-columns: 1.3fr 0.9fr 2.4fr 0.6fr 0.7fr 2rem;
    gap: 0.4rem;
    align-items: center;
}

.record-grid-row .setting-input[b-xxcmf0xpu5] {
    min-width: 0;
}

.record-grid-row.has-error .setting-input[b-xxcmf0xpu5] {
    border-color: var(--red);
}

.row-error[b-xxcmf0xpu5] {
    grid-column: 1 / -1;
    color: var(--red);
    font-size: var(--fs-micro);
}

.row-remove[b-xxcmf0xpu5] {
    padding: 0.2rem 0.4rem;
    line-height: 1;
}

.add-row[b-xxcmf0xpu5] {
    margin-top: 0.8rem;
}

/* ----- staged changes ----- */

.staged-list[b-xxcmf0xpu5] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.staged-row[b-xxcmf0xpu5] {
    display: grid;
    grid-template-columns: 5.5rem 1fr auto;
    gap: 0.6rem;
    align-items: center;
}

.staged-text[b-xxcmf0xpu5] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--fs-small);
}

.staged-actions[b-xxcmf0xpu5] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-top: 0.8rem;
}

.dns-field.grow[b-xxcmf0xpu5] {
    flex: 1 1 20rem;
}

/* ----- blocking problems in the confirmation ----- */

.problem-box[b-xxcmf0xpu5] {
    border: 1px solid var(--red);
    border-radius: var(--radius);
    padding: 0.6rem 0.8rem;
    margin-bottom: 0.9rem;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.problem-line[b-xxcmf0xpu5] {
    color: var(--red);
    font-size: var(--fs-small);
}
/* /Autotask/TicketSearch/TicketDetailDrawer.razor.rz.scp.css */
.drawer-title-row[b-jbiczwy3cj] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 4px;
}

.mono-id[b-jbiczwy3cj] {
    font-family: var(--mono);
    font-size: 0.75rem;
    color: var(--dim);
}

.drawer-title[b-jbiczwy3cj] {
    margin: 0;
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--text);
}

.meta-grid[b-jbiczwy3cj] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-bottom: 20px;
}

.timeline-heading[b-jbiczwy3cj] {
    margin: 0 0 10px;
    font-size: 0.84375rem;
    font-weight: 700;
    color: var(--text);
}

.timeline[b-jbiczwy3cj] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.timeline-item[b-jbiczwy3cj] {
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--bg);
}

.timeline-item-head[b-jbiczwy3cj] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 4px;
}

.timeline-date[b-jbiczwy3cj],
.timeline-hours[b-jbiczwy3cj] {
    font-size: 0.6875rem;
    color: var(--faint);
    font-family: var(--mono);
}

/* The person who wrote the entry is the thing readers scan for, so it carries
   weight, full-strength text colour and a quiet chip — all at the same size as
   the rest of the metadata row. A name is not data, so it drops the mono face
   the timestamps use and reads in the body font. */
.timeline-resource[b-jbiczwy3cj] {
    font-size: 0.6875rem;
    font-weight: 650;
    color: var(--text);
    letter-spacing: 0.01em;
    background: var(--surface-3);
    border: 1px solid var(--border);
    border-radius: 999px;
    padding: 0.05rem 0.45rem;
    white-space: nowrap;
}

.timeline-title[b-jbiczwy3cj] {
    font-size: 0.78125rem;
    font-weight: 600;
    color: var(--text);
    margin-bottom: 2px;
}

.timeline-text[b-jbiczwy3cj] {
    font-size: 0.75rem;
    color: var(--dim);
    white-space: pre-wrap;
}

.open-in-autotask[b-jbiczwy3cj] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 38px;
    padding: 0 16px;
    background: var(--accent);
    color: var(--accent-text);
    border-radius: var(--radius);
    font-size: 0.8125rem;
    font-weight: 600;
    text-decoration: none;
}

.open-in-autotask svg[b-jbiczwy3cj] {
    width: 15px;
    height: 15px;
}

.open-in-autotask:hover[b-jbiczwy3cj] {
    text-decoration: none;
    opacity: 0.92;
}
/* /Autotask/TicketSearch/TicketSearchPage.razor.rz.scp.css */
.ticket-search[b-opvn7babbe] {
    display: flex;
    flex-direction: column;
    gap: var(--card-gap);
}

.search-row[b-opvn7babbe] {
    margin-bottom: var(--card-gap);
}

.search-input[b-opvn7babbe] {
    width: 100%;
    height: 38px;
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 0 14px;
    font-size: 0.8125rem;
    font-family: var(--font);
    color: var(--text);
}

.search-input:focus-visible[b-opvn7babbe] {
    outline: none;
    border-color: var(--accent);
}

.filters-row[b-opvn7babbe] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--card-gap);
}

.results-area[b-opvn7babbe] {
    min-height: 200px;
}

[b-opvn7babbe] .mono-cell {
    font-family: var(--mono);
    font-size: 0.71875rem;
    color: var(--dim);
}

[b-opvn7babbe] .title-cell {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

[b-opvn7babbe] .title-text {
    font-size: 0.78125rem;
    color: var(--text);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

[b-opvn7babbe] .snippet {
    font-size: 0.71875rem;
    color: var(--dim);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

[b-opvn7babbe] .snippet mark {
    background: var(--accent-soft);
    color: var(--accent);
    border-radius: 2px;
    padding: 0 1px;
}
/* /Components/Pages/Appearance.razor.rz.scp.css */
.appearance-page[b-33ipdziyi2] {
    display: flex;
    flex-direction: column;
    gap: var(--card-gap);
    max-width: 640px;
}

.setting-row[b-33ipdziyi2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 8px 0;
}

.setting-row + .setting-row[b-33ipdziyi2] {
    border-top: 1px solid var(--border);
}

.accent-grid[b-33ipdziyi2] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 8px;
}

.font-grid[b-33ipdziyi2] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 8px;
}

.accent-swatch[b-33ipdziyi2],
.font-pill[b-33ipdziyi2] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    color: var(--dim);
    font-size: var(--fs-caption);
    cursor: pointer;
    text-align: left;
}

.accent-swatch:hover[b-33ipdziyi2],
.font-pill:hover[b-33ipdziyi2] {
    border-color: var(--border-2);
    color: var(--text);
}

.accent-swatch.active[b-33ipdziyi2],
.font-pill.active[b-33ipdziyi2] {
    border-color: var(--accent);
    background: var(--accent-soft);
    color: var(--text);
    font-weight: 600;
}

.swatch-dot[b-33ipdziyi2] {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--accent);
    flex-shrink: 0;
}

.swatch-label[b-33ipdziyi2] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.font-pill-label[b-33ipdziyi2] {
    white-space: normal;
    line-height: 1.25;
}

.font-preview[b-33ipdziyi2] {
    font-size: var(--fs-body-lg);
    font-weight: 600;
    color: var(--text);
    flex-shrink: 0;
    width: 1.4em;
}

.custom-accent-row[b-33ipdziyi2] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid var(--border);
}

.accent-color-input[b-33ipdziyi2] {
    width: 34px;
    height: 34px;
    padding: 2px;
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    cursor: pointer;
    flex-shrink: 0;
}

.custom-font-row[b-33ipdziyi2] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid var(--border);
}

.custom-font-row input[type="file"][b-33ipdziyi2] {
    font-size: var(--fs-caption);
    color: var(--dim);
    max-width: 100%;
}

.remove-font-button[b-33ipdziyi2] {
    background: none;
    border: 1px solid var(--border-2);
    border-radius: var(--radius-sm);
    color: var(--dim);
    font-size: var(--fs-caption);
    padding: 5px 10px;
    cursor: pointer;
    white-space: nowrap;
}

.remove-font-button:hover[b-33ipdziyi2] {
    border-color: var(--red);
    color: var(--red);
}

.avatar-row[b-33ipdziyi2] {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}

.avatar-preview[b-33ipdziyi2] {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    flex-shrink: 0;
    object-fit: cover;
}

.avatar-fallback[b-33ipdziyi2] {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--surface-3);
    color: var(--dim);
    font-family: var(--mono);
    font-size: var(--fs-caption);
}

.avatar-controls[b-33ipdziyi2] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.avatar-controls input[type="file"][b-33ipdziyi2] {
    font-size: var(--fs-caption);
    color: var(--dim);
    max-width: 100%;
}

.font-upload-error[b-33ipdziyi2] {
    margin: 6px 0 0;
    font-size: var(--fs-caption);
    color: var(--red);
}
/* /Components/Pages/Settings.razor.rz.scp.css */
.settings-subnav[b-235131njnd] {
    margin-bottom: 14px;
}

.save-bar[b-235131njnd] {
    position: sticky;
    top: 0;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
    padding: 10px 14px;
    background: color-mix(in srgb, var(--accent) 10%, var(--surface));
    border: 1px solid var(--accent);
    border-radius: var(--radius);
}

.save-bar-count[b-235131njnd] {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--text);
}

.save-bar-actions[b-235131njnd] {
    display: flex;
    gap: 8px;
}

.settings-list[b-235131njnd] {
    display: flex;
    flex-direction: column;
}

.setting-row[b-235131njnd] {
    display: grid;
    grid-template-columns: minmax(220px, 1.2fr) minmax(240px, 1.6fr) minmax(130px, 0.7fr) auto;
    gap: 16px;
    align-items: start;
    padding: 14px 0;
    border-bottom: 1px solid var(--border);
}

.setting-row:last-child[b-235131njnd] {
    border-bottom: none;
}

.setting-info[b-235131njnd] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.setting-label[b-235131njnd] {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--text);
}

.setting-key[b-235131njnd] {
    font-family: var(--mono);
    font-size: 0.6875rem;
    color: var(--text-dim);
}

.setting-help[b-235131njnd] {
    font-size: 0.6875rem;
    line-height: 1.45;
    color: var(--text-dim);
    margin-top: 2px;
}

.setting-editor[b-235131njnd] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.setting-error[b-235131njnd] {
    font-size: 0.6875rem;
    color: var(--red);
}

.setting-default[b-235131njnd] {
    font-size: 0.6875rem;
    color: var(--text-dim);
}

.setting-default code[b-235131njnd] {
    font-family: var(--mono);
}

.setting-state[b-235131njnd] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    padding-top: 6px;
}

.setting-updated[b-235131njnd] {
    font-size: 0.6875rem;
    color: var(--text-dim);
}

.setting-actions[b-235131njnd] {
    display: flex;
    gap: 8px;
    padding-top: 4px;
    white-space: nowrap;
}

.btn-primary[b-235131njnd] {
    height: 32px;
    padding: 0 14px;
    background: var(--accent);
    color: var(--accent-text);
    border: none;
    border-radius: var(--radius);
    font-size: 0.75rem;
    font-weight: 600;
    cursor: pointer;
}

.btn-primary:disabled[b-235131njnd] {
    opacity: 0.45;
    cursor: default;
}

.btn-ghost[b-235131njnd] {
    height: 32px;
    padding: 0 12px;
    background: transparent;
    color: var(--text-dim);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    font-size: 0.75rem;
    cursor: pointer;
}

.btn-ghost:hover:not(:disabled)[b-235131njnd] {
    color: var(--text);
    border-color: var(--text-dim);
}

.vault-warning[b-235131njnd] {
    margin-bottom: 12px;
    padding: 10px 12px;
    border-radius: var(--radius-sm);
    background: color-mix(in srgb, var(--red) 12%, transparent);
    color: var(--red);
    font-size: 0.75rem;
    line-height: 1.5;
}

@media (max-width: 900px) {
    .setting-row[b-235131njnd] {
        grid-template-columns: 1fr;
        gap: 8px;
    }
}
/* /Components/Shared/Badge.razor.rz.scp.css */
.badge[b-z4z2aa8gts] {
    display: inline-flex;
    align-items: center;
    font-family: var(--mono);
    font-size: 0.65625rem;
    font-weight: 600;
    padding: 3px 10px;
    border-radius: 20px;
    white-space: nowrap;
    color: var(--badge-color);
    background: color-mix(in srgb, var(--badge-color) 15%, transparent);
    border: 1px solid color-mix(in srgb, var(--badge-color) 15%, transparent);
}
/* /Components/Shared/Card.razor.rz.scp.css */
.card[b-l3koejae0g] {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius);
}

.card-header[b-l3koejae0g] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--sec-pad) var(--pad-card);
    border-bottom: 1px solid var(--border);
}

.card-header h2[b-l3koejae0g] {
    margin: 0;
    font-size: 0.84375rem;
    font-weight: 700;
    color: var(--text);
}

.card-header-action[b-l3koejae0g] {
    font-size: 0.71875rem;
    font-weight: 600;
    color: var(--accent);
}

.card-body[b-l3koejae0g] {
    padding: var(--pad-card);
}
/* /Components/Shared/Checkbox.razor.rz.scp.css */
.checkbox[b-mzs3ud4r73] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}

.checkbox input[b-mzs3ud4r73] {
    position: absolute;
    opacity: 0;
    width: 16px;
    height: 16px;
    margin: 0;
    cursor: pointer;
}

.checkbox-box[b-mzs3ud4r73] {
    width: 16px;
    height: 16px;
    border-radius: var(--radius-sm);
    border: 1.5px solid var(--border-2);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--accent-text);
    flex-shrink: 0;
}

.checkbox-box.checked[b-mzs3ud4r73] {
    background: var(--accent);
    border-color: var(--accent);
}

.checkbox-box svg[b-mzs3ud4r73] {
    width: 10px;
    height: 10px;
}

.checkbox input:focus-visible + .checkbox-box[b-mzs3ud4r73] {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
}

.checkbox-label[b-mzs3ud4r73] {
    font-size: 0.78125rem;
    color: var(--text);
}
/* /Components/Shared/CommandPalette.razor.rz.scp.css */
.cmdk-scrim[b-w38ywp1ein] {
    position: fixed;
    inset: 0;
    background: var(--scrim);
    backdrop-filter: blur(3px);
    z-index: 250;
}

.cmdk-panel[b-w38ywp1ein] {
    position: fixed;
    top: 14vh;
    left: 50%;
    transform: translateX(-50%);
    width: min(560px, 92vw);
    background: var(--surface);
    border: 1px solid var(--border-2);
    border-radius: calc(var(--radius) + 3px);
    box-shadow: 0 20px 60px oklch(0.1 0.01 255 / 0.3);
    z-index: 251;
    overflow: hidden;
    animation: slideup var(--dur-panel) var(--ease);
}

.cmdk-input-row[b-w38ywp1ein] {
    border-bottom: 1px solid var(--border);
}

.cmdk-input[b-w38ywp1ein] {
    width: 100%;
    height: 46px;
    background: none;
    border: none;
    padding: 0 16px;
    font-size: 0.84375rem;
    font-family: var(--font);
    color: var(--text);
}

.cmdk-input:focus[b-w38ywp1ein] {
    outline: none;
}

.cmdk-results[b-w38ywp1ein] {
    max-height: 50vh;
    overflow-y: auto;
    padding: 6px;
}

.cmdk-result[b-w38ywp1ein] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border-radius: var(--radius-sm);
    cursor: pointer;
}

.cmdk-result.highlighted[b-w38ywp1ein],
.cmdk-result:hover[b-w38ywp1ein] {
    background: var(--accent-soft);
}

.cmdk-tag[b-w38ywp1ein] {
    flex-shrink: 0;
    min-width: 52px;
}

.cmdk-label[b-w38ywp1ein] {
    flex: 1;
    font-size: 0.78125rem;
    color: var(--text);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cmdk-sub[b-w38ywp1ein] {
    font-size: 0.6875rem;
    color: var(--faint);
    flex-shrink: 0;
}

.cmdk-empty[b-w38ywp1ein] {
    padding: 20px;
    text-align: center;
    color: var(--faint);
    font-size: 0.78125rem;
}
/* /Components/Shared/DataTable.razor.rz.scp.css */
.data-table-wrap[b-4rm8g2d2yi] {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    overflow: hidden;
}

.data-table-wrap.resizing[b-4rm8g2d2yi] {
    user-select: none;
}

.data-table-scroll[b-4rm8g2d2yi] {
    overflow-x: auto;
}

.data-table[b-4rm8g2d2yi] {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
}

.data-table thead[b-4rm8g2d2yi] {
    background: var(--table-head-bg);
}

.data-table thead th[b-4rm8g2d2yi] {
    border-bottom: 1px solid var(--border-2);
}

.data-table thead .micro-label[b-4rm8g2d2yi] {
    color: var(--dim);
    font-weight: 600;
}

.data-table th[b-4rm8g2d2yi],
.data-table td[b-4rm8g2d2yi] {
    padding: var(--row-pad) var(--pad-card);
    border-right: 1px solid var(--col-divider);
    vertical-align: middle;
    text-align: left;
}

.data-table th:last-child[b-4rm8g2d2yi],
.data-table td:last-child[b-4rm8g2d2yi] {
    border-right: none;
}

.data-table th[b-4rm8g2d2yi] {
    position: relative;
}

.data-table tbody td[b-4rm8g2d2yi] {
    border-bottom: 1px solid var(--border);
}

.data-table tbody tr:last-child td[b-4rm8g2d2yi] {
    border-bottom: none;
}

.data-table tbody tr:nth-child(even)[b-4rm8g2d2yi] {
    background: var(--row-alt);
}

.data-table tbody tr:hover[b-4rm8g2d2yi] {
    background: var(--surface-2);
}

.data-table tbody tr.clickable[b-4rm8g2d2yi] {
    cursor: pointer;
}

.data-table tbody tr.empty-row:hover[b-4rm8g2d2yi] {
    background: none;
}

.data-table tbody tr.selected[b-4rm8g2d2yi] {
    background: var(--accent-soft);
}

.select-col[b-4rm8g2d2yi] {
    width: 36px;
}

.select-col input[type="checkbox"][b-4rm8g2d2yi] {
    cursor: pointer;
}

.th-inner[b-4rm8g2d2yi] {
    display: flex;
    align-items: center;
}

.align-right[b-4rm8g2d2yi] { text-align: right; }
.align-center[b-4rm8g2d2yi] { text-align: center; }

th.align-right .th-inner[b-4rm8g2d2yi] { justify-content: flex-end; }
th.align-center .th-inner[b-4rm8g2d2yi] { justify-content: center; }

.col-resize-handle[b-4rm8g2d2yi] {
    position: absolute;
    top: 0;
    bottom: 0;
    right: -6px;
    width: 12px;
    cursor: col-resize;
    z-index: 2;
}

.col-resize-handle[b-4rm8g2d2yi]::after {
    content: "";
    position: absolute;
    top: 15%;
    bottom: 15%;
    left: 50%;
    width: 2px;
    transform: translateX(-50%);
    background: transparent;
}

.col-resize-handle:hover[b-4rm8g2d2yi]::after,
.col-resize-handle.active[b-4rm8g2d2yi]::after {
    background: var(--accent);
}

.col-resize-overlay[b-4rm8g2d2yi] {
    position: fixed;
    inset: 0;
    z-index: 300;
    cursor: col-resize;
}

.cell-ellipsis[b-4rm8g2d2yi] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cell-full[b-4rm8g2d2yi] {
    white-space: nowrap;
}

.sort-button[b-4rm8g2d2yi] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
}

.sort-arrow[b-4rm8g2d2yi] {
    font-size: var(--fs-micro);
    color: var(--accent);
}

.data-table-footer[b-4rm8g2d2yi] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: var(--row-pad) var(--pad-card);
    border-top: 1px solid var(--border);
    flex-wrap: wrap;
}

.data-table-count[b-4rm8g2d2yi] {
    font-size: var(--fs-caption);
    color: var(--dim);
}

.data-table-footer-left[b-4rm8g2d2yi] {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}

.page-size-picker[b-4rm8g2d2yi] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.page-size-picker select[b-4rm8g2d2yi] {
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    color: var(--text);
    font-size: var(--fs-caption);
    font-family: var(--font);
    padding: 3px 6px;
    cursor: pointer;
}

.page-size-picker select:focus-visible[b-4rm8g2d2yi] {
    outline: none;
    border-color: var(--accent);
}

.pagination[b-4rm8g2d2yi] {
    display: flex;
    gap: 4px;
}

.pagination button[b-4rm8g2d2yi] {
    background: none;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    color: var(--dim);
    font-size: var(--fs-caption);
    padding: 4px 9px;
    cursor: pointer;
}

.pagination button:hover:not(:disabled)[b-4rm8g2d2yi] {
    border-color: var(--border-2);
    color: var(--text);
}

.pagination button:disabled[b-4rm8g2d2yi] {
    opacity: 0.4;
    cursor: default;
}

.pagination button.current[b-4rm8g2d2yi] {
    background: var(--accent-soft);
    color: var(--accent);
    border-color: transparent;
    font-weight: 600;
}
/* /Components/Shared/DateRangeField.razor.rz.scp.css */
.date-range[b-1x471je00s] {
    display: flex;
    gap: var(--card-gap);
}

.date-field[b-1x471je00s] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.date-field input[b-1x471je00s] {
    height: 34px;
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 0 10px;
    font-family: var(--mono);
    font-size: 0.71875rem;
    color: var(--text);
}

.date-field input:focus-visible[b-1x471je00s] {
    border-color: var(--accent);
}
/* /Components/Shared/Drawer.razor.rz.scp.css */
.drawer-scrim[b-q62hav0vmw] {
    position: fixed;
    inset: 0;
    background: var(--scrim);
    backdrop-filter: blur(3px);
    z-index: 150;
}

.drawer-panel[b-q62hav0vmw] {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: 470px;
    max-width: 100vw;
    background: var(--surface);
    border-left: 1px solid var(--border);
    box-shadow: -12px 0 50px oklch(0.1 0.01 255 / 0.25);
    z-index: 151;
    display: flex;
    flex-direction: column;
    animation: slideright var(--dur-panel) var(--ease);
}

.drawer-header[b-q62hav0vmw] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: var(--pad-card);
    border-bottom: 1px solid var(--border);
}

.drawer-header-text[b-q62hav0vmw] {
    flex: 1;
    min-width: 0;
}

.drawer-close[b-q62hav0vmw] {
    background: none;
    border: none;
    color: var(--faint);
    cursor: pointer;
    font-size: 0.875rem;
    padding: 4px;
    flex-shrink: 0;
}

.drawer-close:hover[b-q62hav0vmw] {
    color: var(--text);
}

.drawer-body[b-q62hav0vmw] {
    flex: 1;
    overflow-y: auto;
    padding: var(--pad-card);
}

.drawer-footer[b-q62hav0vmw] {
    padding: var(--pad-card);
    border-top: 1px solid var(--border);
}

/* ----- drag to resize ----- */

.drawer-resize-handle[b-q62hav0vmw] {
    position: absolute;
    top: 0;
    left: 0;
    width: 6px;
    height: 100%;
    cursor: col-resize;
    /* Sits above the body so the grab area is never covered by content. */
    z-index: 2;
    background: transparent;
    transition: background var(--dur-fast) var(--ease);
}

.drawer-resize-handle:hover[b-q62hav0vmw],
.drawer-resize-handle.active[b-q62hav0vmw] {
    background: var(--accent, var(--blue));
}

/* Full-screen catcher, so a fast drag does not lose the pointer. */
.drawer-resize-overlay[b-q62hav0vmw] {
    position: fixed;
    inset: 0;
    z-index: 3000;
    cursor: col-resize;
}
/* /Components/Shared/EmptyState.razor.rz.scp.css */
.empty-state[b-8l1y5ixii7] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    color: var(--faint);
    font-size: 0.78125rem;
    text-align: center;
}
/* /Components/Shared/FontScaleControl.razor.rz.scp.css */
.font-scale[b-j0nckx3yfa] {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    background: var(--bg);
    border-radius: var(--radius);
    padding: 2px;
}

.font-scale-btn[b-j0nckx3yfa] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    background: none;
    border: none;
    border-radius: calc(var(--radius) - 2px);
    color: var(--dim);
    cursor: pointer;
}

.font-scale-btn:hover:not(:disabled)[b-j0nckx3yfa] {
    background: var(--surface-2);
    color: var(--text);
}

.font-scale-btn:disabled[b-j0nckx3yfa] {
    opacity: 0.4;
    cursor: default;
}

.font-scale-a[b-j0nckx3yfa] {
    font-weight: 700;
    line-height: 1;
}

.font-scale-a.small[b-j0nckx3yfa] {
    font-size: 0.625rem;
}

.font-scale-a.large[b-j0nckx3yfa] {
    font-size: 0.875rem;
}

.font-scale-value[b-j0nckx3yfa] {
    min-width: 34px;
    text-align: center;
    font-family: var(--mono);
    font-size: var(--fs-caption);
    color: var(--faint);
}
/* /Components/Shared/KpiStat.razor.rz.scp.css */
.kpi[b-tvrxgnu9pv] {
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.kpi-top[b-tvrxgnu9pv] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.kpi-value[b-tvrxgnu9pv] {
    font-size: var(--kpi-size);
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--text);
}

.kpi-note[b-tvrxgnu9pv] {
    font-size: 0.71875rem;
    color: var(--dim);
}
/* /Components/Shared/MetaField.razor.rz.scp.css */
.meta-field[b-ztik3kxa0n] {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.meta-value[b-ztik3kxa0n] {
    font-size: 0.78125rem;
    color: var(--text);
}

.meta-value.mono[b-ztik3kxa0n] {
    font-family: var(--mono);
}
/* /Components/Shared/Modal.razor.rz.scp.css */
.modal-scrim[b-i1hwo1lpuh] {
    position: fixed;
    inset: 0;
    background: var(--scrim);
    backdrop-filter: blur(3px);
    z-index: 200;
}

.modal-panel[b-i1hwo1lpuh] {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90vw;
    max-height: 82vh;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: calc(var(--radius) + 3px);
    box-shadow: 0 20px 60px oklch(0.1 0.01 255 / 0.3);
    z-index: 201;
    display: flex;
    flex-direction: column;
    animation: slideup var(--dur-panel) var(--ease);
}

.modal-header[b-i1hwo1lpuh] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: var(--pad-card);
    border-bottom: 1px solid var(--border);
}

.modal-header-text[b-i1hwo1lpuh] {
    flex: 1;
    min-width: 0;
}

.modal-close[b-i1hwo1lpuh] {
    background: none;
    border: none;
    color: var(--faint);
    cursor: pointer;
    font-size: 0.875rem;
    padding: 4px;
    flex-shrink: 0;
}

.modal-close:hover[b-i1hwo1lpuh] {
    color: var(--text);
}

.modal-body[b-i1hwo1lpuh] {
    flex: 1;
    overflow-y: auto;
    padding: var(--pad-card);
}

.modal-footer[b-i1hwo1lpuh] {
    padding: var(--pad-card);
    border-top: 1px solid var(--border);
}
/* /Components/Shared/SearchableSelect.razor.rz.scp.css */
.ss[b-socqdokcmu] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    position: relative;
}

.ss-control[b-socqdokcmu] {
    position: relative;
}

.ss-input[b-socqdokcmu] {
    width: 100%;
    height: 34px;
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 0 46px 0 10px;
    font-size: 0.78125rem;
    font-family: var(--font);
    color: var(--text);
    cursor: pointer;
}

.ss-input:focus-visible[b-socqdokcmu] {
    outline: none;
    border-color: var(--accent);
}

.ss-icons[b-socqdokcmu] {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    gap: 4px;
}

.ss-clear[b-socqdokcmu] {
    background: none;
    border: none;
    color: var(--faint);
    font-size: 0.625rem;
    cursor: pointer;
    padding: 4px;
}

.ss-clear:hover[b-socqdokcmu] {
    color: var(--text);
}

.ss-chevron[b-socqdokcmu] {
    display: flex;
    color: var(--faint);
    pointer-events: none;
    transition: transform var(--dur-fast);
}

.ss-chevron svg[b-socqdokcmu] {
    width: 13px;
    height: 13px;
}

.ss-chevron.open[b-socqdokcmu] {
    transform: rotate(180deg);
}

.ss-dropdown[b-socqdokcmu] {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    z-index: 50;
    background: var(--surface);
    border: 1px solid var(--border-2);
    border-radius: var(--radius);
    box-shadow: 0 12px 32px oklch(0.1 0.01 255 / 0.2);
    max-height: 220px;
    overflow-y: auto;
    padding: 4px;
}

.ss-option[b-socqdokcmu] {
    padding: 7px 10px;
    border-radius: var(--radius-sm);
    font-size: 0.78125rem;
    color: var(--text);
    cursor: pointer;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ss-option.highlighted[b-socqdokcmu],
.ss-option:hover[b-socqdokcmu] {
    background: var(--accent-soft);
}

.ss-empty[b-socqdokcmu] {
    padding: 10px;
    text-align: center;
    color: var(--faint);
    font-size: 0.75rem;
}
/* /Components/Shared/SegmentedControl.razor.rz.scp.css */
.segmented[b-itnubcae1o] {
    display: inline-flex;
    background: var(--bg);
    border-radius: var(--radius);
    padding: 2px;
    gap: 2px;
}

.segment[b-itnubcae1o] {
    background: none;
    border: none;
    padding: var(--nav-pad);
    font-size: 0.71875rem;
    font-weight: 600;
    color: var(--dim);
    border-radius: calc(var(--radius) - 2px);
    cursor: pointer;
    transition: background var(--dur-fast), color var(--dur-fast);
}

.segment:hover[b-itnubcae1o] {
    color: var(--text);
}

.segment.active[b-itnubcae1o] {
    background: var(--accent);
    color: var(--accent-text);
}
/* /Components/Shared/SelectField.razor.rz.scp.css */
.select-field[b-out22wh27a] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.select-field select[b-out22wh27a] {
    height: 34px;
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 0 10px;
    font-size: 0.78125rem;
    font-family: var(--font);
    color: var(--text);
    cursor: pointer;
}

.select-field select:focus-visible[b-out22wh27a] {
    border-color: var(--accent);
}
/* /Components/Shared/StatusDot.razor.rz.scp.css */
.status-dot[b-mfynmbnb5c] {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

.status-dot.pulse[b-mfynmbnb5c] {
    animation: pulse 1.35s infinite;
}
/* /Components/Shared/ToastHost.razor.rz.scp.css */
.toast-stack[b-5ssnqponnl] {
    position: fixed;
    right: 16px;
    bottom: 16px;
    z-index: 200;
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-width: 340px;
}

.toast[b-5ssnqponnl] {
    display: flex;
    align-items: center;
    gap: 9px;
    background: var(--surface);
    border: 1px solid var(--border-2);
    border-left: 3px solid var(--toast-color);
    border-radius: var(--radius);
    padding: 10px 12px;
    box-shadow: 0 8px 24px oklch(0.1 0.01 255 / 0.18);
    animation: slideup var(--dur-panel) var(--ease);
}

.toast-success[b-5ssnqponnl] { --toast-color: var(--green); }
.toast-error[b-5ssnqponnl] { --toast-color: var(--red); }
.toast-info[b-5ssnqponnl] { --toast-color: var(--blue); }

.toast-dot[b-5ssnqponnl] {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--toast-color);
    flex-shrink: 0;
}

.toast-message[b-5ssnqponnl] {
    font-size: 0.78125rem;
    color: var(--text);
    flex: 1;
}

.toast-dismiss[b-5ssnqponnl] {
    background: none;
    border: none;
    color: var(--faint);
    cursor: pointer;
    font-size: 0.75rem;
    line-height: 1;
    padding: 2px;
}

.toast-dismiss:hover[b-5ssnqponnl] {
    color: var(--text);
}
/* /Jamf/JamfDevicesPage.razor.rz.scp.css */
.jamf-devices-page[b-opcbr1jxwe] {
    display: flex;
    flex-direction: column;
    gap: var(--card-gap);
}

.filters-row[b-opcbr1jxwe] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--card-gap);
}

.search-field[b-opcbr1jxwe] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 220px;
}

.search-field input[b-opcbr1jxwe] {
    height: 34px;
    padding: 0 10px;
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    color: var(--text);
    font-family: var(--font);
    font-size: 0.8125rem;
}

.search-field input:focus-visible[b-opcbr1jxwe] {
    outline: none;
    border-color: var(--accent);
}

.jamf-toolbar[b-opcbr1jxwe] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.jamf-count[b-opcbr1jxwe] {
    font-size: 0.78125rem;
    color: var(--dim);
}

.bulk-toolbar[b-opcbr1jxwe] {
    display: flex;
    align-items: center;
    gap: 14px;
}

.bulk-actions[b-opcbr1jxwe] {
    display: flex;
    gap: 8px;
}

.btn-ghost[b-opcbr1jxwe] {
    height: 34px;
    padding: 0 12px;
    background: none;
    color: var(--dim);
    border: 1px solid var(--border-2);
    border-radius: var(--radius);
    font-size: 0.78125rem;
    cursor: pointer;
}

.btn-ghost:hover[b-opcbr1jxwe] {
    color: var(--text);
    border-color: var(--text-dim);
}

.btn-danger[b-opcbr1jxwe] {
    height: 34px;
    padding: 0 12px;
    background: var(--red);
    color: white;
    border: none;
    border-radius: var(--radius);
    font-size: 0.78125rem;
    font-weight: 600;
    cursor: pointer;
}

[b-opcbr1jxwe] .location-name {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--text);
}

[b-opcbr1jxwe] .mono-cell {
    font-family: var(--mono);
    font-size: 0.71875rem;
    color: var(--dim);
}

[b-opcbr1jxwe] .quick-actions {
    display: flex;
    align-items: center;
    gap: 6px;
}

[b-opcbr1jxwe] .quick-action {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    padding: 0;
    background: none;
    border: 1px solid var(--border-2);
    border-radius: var(--radius-sm);
    color: var(--dim);
    cursor: pointer;
}

[b-opcbr1jxwe] .quick-action svg {
    width: 14px;
    height: 14px;
}

[b-opcbr1jxwe] .quick-action:hover {
    color: var(--accent);
    border-color: var(--accent);
}

.detail-head-text[b-opcbr1jxwe] {
    display: flex;
    flex-direction: column;
    gap: 1px;
    min-width: 0;
}

.detail-title[b-opcbr1jxwe] {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--text);
}

.detail-sub[b-opcbr1jxwe] {
    font-family: var(--mono);
    font-size: 0.6875rem;
    color: var(--faint);
}

.detail-section[b-opcbr1jxwe] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid var(--border);
}

.field-value[b-opcbr1jxwe] {
    font-size: 0.8125rem;
    color: var(--text);
    line-height: 1.5;
}

.field-hint[b-opcbr1jxwe] {
    font-size: 0.71875rem;
    color: var(--faint);
}
/* /Jamf/JamfLocationsPage.razor.rz.scp.css */
.jamf-locations-page[b-loiku199ab] {
    display: flex;
    flex-direction: column;
    gap: var(--card-gap);
}

.jamf-toolbar[b-loiku199ab] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.jamf-count[b-loiku199ab] {
    font-size: 0.78125rem;
    color: var(--dim);
}

[b-loiku199ab] .location-name {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--text);
}

[b-loiku199ab] .mono-cell {
    font-family: var(--mono);
    font-size: 0.71875rem;
    color: var(--dim);
}

[b-loiku199ab] .license-count-link {
    color: var(--accent);
    font-family: var(--mono);
    font-weight: 600;
    text-decoration: none;
}

[b-loiku199ab] .license-count-link:hover {
    text-decoration: underline;
}

.field-hint[b-loiku199ab] {
    font-size: 0.71875rem;
    color: var(--faint);
}

.detail-head-text[b-loiku199ab] {
    display: flex;
    flex-direction: column;
    gap: 1px;
    min-width: 0;
}

.detail-title[b-loiku199ab] {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--text);
}

.detail-sub[b-loiku199ab] {
    font-family: var(--mono);
    font-size: 0.6875rem;
    color: var(--faint);
}

.detail-section[b-loiku199ab] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid var(--border);
}

.field-value[b-loiku199ab] {
    font-size: 0.8125rem;
    color: var(--text);
    line-height: 1.5;
}

.license-summary .license-counts[b-loiku199ab] {
    display: flex;
    gap: 20px;
}

.license-count-link[b-loiku199ab] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    text-decoration: none;
    color: inherit;
}

.license-count-value[b-loiku199ab] {
    font-family: var(--mono);
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--accent);
}

.license-count-label[b-loiku199ab] {
    font-size: 0.65625rem;
    color: var(--faint);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
/* /Jobs/BackgroundJobsPage.razor.rz.scp.css */
.jobs-page[b-1jkl6dra5k] {
    display: flex;
    flex-direction: column;
    gap: var(--card-gap);
}

.kpi-grid[b-1jkl6dra5k] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: var(--card-gap);
}

[b-1jkl6dra5k] .mono-cell {
    font-family: var(--mono);
    font-size: 0.71875rem;
    color: var(--dim);
}

[b-1jkl6dra5k] .status-cell {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 0.78125rem;
    color: var(--text);
}

[b-1jkl6dra5k] .run-chip,
[b-1jkl6dra5k] .history-chip {
    font-family: var(--mono);
    font-size: 0.65625rem;
    padding: 0.3125rem 0.625rem;
    border-radius: var(--radius-sm);
    border: 1px solid var(--border-2);
    background: none;
    color: var(--dim);
    cursor: pointer;
    white-space: nowrap;
}

[b-1jkl6dra5k] .run-chip:hover,
[b-1jkl6dra5k] .history-chip:hover {
    border-color: var(--accent);
    color: var(--accent);
}

[b-1jkl6dra5k] .run-log-cell {
    font-family: var(--mono);
    font-size: 0.671875rem;
    color: var(--dim);
    white-space: pre-wrap;
    word-break: break-word;
    margin: 0;
    max-height: 6.5em;
    overflow-y: auto;
}

.drawer-title-row[b-1jkl6dra5k] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.mono-id[b-1jkl6dra5k] {
    font-family: var(--mono);
    font-size: 0.8125rem;
    color: var(--text);
}

.meta-grid[b-1jkl6dra5k] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-bottom: 18px;
}

.schedule-editor[b-1jkl6dra5k] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.schedule-editor .setting-input[b-1jkl6dra5k] {
    flex: 1;
}

.schedule-actions[b-1jkl6dra5k] {
    display: flex;
    gap: 8px;
    margin-top: 8px;
}

.error-heading[b-1jkl6dra5k],
.log-heading[b-1jkl6dra5k] {
    margin: 0 0 8px;
    font-size: 0.78125rem;
    font-weight: 700;
    color: var(--red);
}

.log-heading[b-1jkl6dra5k] {
    color: var(--text);
    margin-top: 18px;
}

.error-text[b-1jkl6dra5k],
.log-text[b-1jkl6dra5k] {
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 10px 12px;
    font-family: var(--mono);
    font-size: 0.71875rem;
    color: var(--text);
    white-space: pre-wrap;
    word-break: break-word;
    max-height: 260px;
    overflow-y: auto;
}

.history-window-note[b-1jkl6dra5k] {
    margin: 0 0 12px;
    font-size: 0.71875rem;
    color: var(--faint);
}

.drawer-actions[b-1jkl6dra5k] {
    display: flex;
    gap: 10px;
}

.history-button[b-1jkl6dra5k] {
    height: 38px;
    padding: 0 16px;
    background: none;
    color: var(--dim);
    border: 1px solid var(--border-2);
    border-radius: var(--radius);
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
}

.history-button:hover[b-1jkl6dra5k] {
    border-color: var(--accent);
    color: var(--accent);
}

.run-now-button[b-1jkl6dra5k] {
    height: 38px;
    padding: 0 16px;
    background: var(--accent);
    color: var(--accent-text);
    border: none;
    border-radius: var(--radius);
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
}
/* /Layout/MainLayout.razor.rz.scp.css */
.app-shell[b-ic1lmbt5s6] {
    display: flex;
    height: 100vh;
    overflow: hidden;
    background: var(--bg);
    color: var(--text);
    font-family: var(--font);
}

.app-main-col[b-ic1lmbt5s6] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.app-main[b-ic1lmbt5s6] {
    flex: 1;
    overflow-y: auto;
    padding: var(--content-pad) var(--content-padx) 50px;
}

/* Page-transition fade (task: quick fade between pages). @key="NavManager.Uri"
   on this wrapper (see MainLayout.razor) makes every navigation a fresh
   element as far as Blazor's diffing is concerned, so this mount-animation
   replays on every page change without any extra script. The fade-OUT half
   can't work the same way — there's no "unmount" animation hook — so
   Routes.razor's Router.OnNavigateAsync toggles .page-fade-out via JS just
   before the swap; the element is then thrown away anyway (a new one takes
   its place), so there's nothing to reset afterwards. */
.page-fade[b-ic1lmbt5s6] {
    animation: page-fade-in-b-ic1lmbt5s6 160ms var(--ease);
}

.page-fade.page-fade-out[b-ic1lmbt5s6] {
    animation: none;
    opacity: 0;
    transition: opacity 110ms var(--ease);
}

@keyframes page-fade-in-b-ic1lmbt5s6 {
    from { opacity: 0; }
    to { opacity: 1; }
}
/* /Layout/NavMenu.razor.rz.scp.css */
.sidebar[b-i3kbtqzx5m] {
    width: 260px;
    flex-shrink: 0;
    background: var(--surface);
    border-right: 1px solid var(--border);
    display: flex;
    flex-direction: column;
    transition: width var(--dur-panel) var(--ease);
}

.sidebar.collapsed[b-i3kbtqzx5m] {
    width: 60px;
}

/* Extends the topbar's own color band into this corner — same --accent
   background, same --topbar-widget-bg/-fg chip for the logo mark, same
   --topbar-title ink for the text sitting directly on the accent.
   --topbar-h is rem-based (see tokens.css), so it grows in lockstep with
   this strip's own rem-sized content (the badge, the brand name) exactly
   as it does for .topbar — both stay at that same min-height rather than
   one overflowing past the other at larger font scales. */
.sidebar-brand[b-i3kbtqzx5m] {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: var(--topbar-h);
    padding: 0 var(--content-padx);
    background: var(--accent);
    flex-shrink: 0;
}

.sidebar.collapsed .sidebar-brand[b-i3kbtqzx5m] {
    padding: 0;
    justify-content: center;
}

.brand-monogram[b-i3kbtqzx5m] {
    width: 1.75rem;
    height: 1.75rem;
    border-radius: var(--radius-sm);
    background: var(--topbar-widget-bg);
    color: var(--topbar-widget-fg);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--mono);
    font-weight: 700;
    font-size: 0.9375rem;
    flex-shrink: 0;
}

.brand-name[b-i3kbtqzx5m] {
    font-family: var(--mono);
    font-weight: 700;
    font-size: 1rem;
    color: var(--topbar-title);
    white-space: nowrap;
}

.sidebar-nav[b-i3kbtqzx5m] {
    flex: 1;
    overflow-y: auto;
    padding: 8px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.sidebar.collapsed .sidebar-nav[b-i3kbtqzx5m] {
    align-items: center;
}

.nav-section-label[b-i3kbtqzx5m] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    width: 100%;
    margin: 12px 0 4px;
    padding: 4px 10px;
    background: none;
    border: none;
    border-radius: var(--radius-sm);
    font-family: var(--mono);
    font-size: var(--fs-micro);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--faint);
    cursor: pointer;
}

.nav-section-label:hover[b-i3kbtqzx5m] {
    color: var(--dim);
    background: var(--surface-2);
}

.nav-section-chevron[b-i3kbtqzx5m] {
    display: flex;
    width: 10px;
    height: 10px;
    flex-shrink: 0;
    transition: transform var(--dur-panel) var(--ease);
}

.nav-section-chevron.expanded[b-i3kbtqzx5m] {
    transform: rotate(90deg);
}

.nav-section-chevron svg[b-i3kbtqzx5m] {
    width: 100%;
    height: 100%;
}

/* .nav-item itself lives in wwwroot/css/app.css (global, unscoped) — it's
   the root <a> that NavLink (a built-in framework component) renders
   internally. Blazor's CSS isolation only stamps the scope attribute onto
   elements literally authored in this file; a child component's own root
   element never receives it, so a scoped `.nav-item[b-xxx]` rule here would
   silently never match and the link would fall through to tokens.css's
   global `a { color: var(--accent) }`. */

.nav-icon[b-i3kbtqzx5m] {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    display: flex;
}

.nav-icon svg[b-i3kbtqzx5m] {
    width: 100%;
    height: 100%;
}

.nav-label[b-i3kbtqzx5m] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sidebar-user[b-i3kbtqzx5m] {
    position: relative;
    padding: 10px var(--content-padx);
    border-top: 1px solid var(--border);
    flex-shrink: 0;
}

.user-badge-button[b-i3kbtqzx5m] {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    background: none;
    border: none;
    padding: 0;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.user-avatar[b-i3kbtqzx5m] {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--surface-3);
    color: var(--dim);
    font-family: var(--mono);
    font-size: 0.6875rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.user-avatar-img[b-i3kbtqzx5m] {
    object-fit: cover;
}

.user-info[b-i3kbtqzx5m] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
}

.user-name[b-i3kbtqzx5m] {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--text);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.user-role[b-i3kbtqzx5m] {
    font-size: 0.65625rem;
    color: var(--faint);
    text-transform: uppercase;
    font-family: var(--mono);
}

.user-popover-backdrop[b-i3kbtqzx5m] {
    position: fixed;
    inset: 0;
    z-index: 90;
}

.user-popover[b-i3kbtqzx5m] {
    position: absolute;
    left: var(--content-padx);
    bottom: calc(100% + 8px);
    width: 220px;
    background: var(--surface);
    border: 1px solid var(--border-2);
    border-radius: var(--radius);
    box-shadow: 0 12px 30px oklch(0.1 0.01 255 / 0.28);
    padding: 4px;
    z-index: 91;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.user-popover-header[b-i3kbtqzx5m] {
    padding: 8px 10px 10px;
    margin-bottom: 4px;
    border-bottom: 1px solid var(--border);
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.popover-name[b-i3kbtqzx5m] {
    font-size: var(--fs-caption);
    font-weight: 600;
    color: var(--text);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.popover-email[b-i3kbtqzx5m] {
    font-family: var(--mono);
    font-size: var(--fs-micro);
    color: var(--faint);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.popover-logout-form[b-i3kbtqzx5m] {
    display: contents;
}

.popover-link[b-i3kbtqzx5m] {
    display: block;
    width: 100%;
    padding: 8px 10px;
    background: none;
    border: none;
    border-radius: var(--radius-sm);
    color: var(--dim);
    font-size: var(--fs-caption);
    font-family: var(--font);
    text-align: left;
    text-decoration: none;
    cursor: pointer;
}

.popover-link:hover[b-i3kbtqzx5m] {
    background: var(--surface-2);
    color: var(--text);
    text-decoration: none;
}

.popover-link.logout[b-i3kbtqzx5m] {
    color: var(--red);
}
/* /Layout/Topbar.razor.rz.scp.css */
/* The bar itself is a solid block of --accent. The title/subtitle and the
   plain icon buttons (sidebar toggle, theme toggle) sit directly on it in
   --topbar-title. The search box, font-scale and density controls are their
   own light/dark chips regardless of theme — --topbar-widget-bg/-fg give
   dark mode a dark chip with light content and light mode a light chip with
   dark content, the same pairing those controls would have anywhere else in
   the app; see tokens.css for the values. */
.topbar[b-zyrc00v6oq] {
    min-height: var(--topbar-h);
    flex-shrink: 0;
    background: var(--accent);
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 6px var(--content-padx);
}

.icon-button[b-zyrc00v6oq] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    background: none;
    border: none;
    border-radius: var(--radius-sm);
    color: var(--topbar-title);
    cursor: pointer;
    flex-shrink: 0;
}

.icon-button svg[b-zyrc00v6oq] {
    width: 17px;
    height: 17px;
}

.icon-button:hover[b-zyrc00v6oq] {
    background: color-mix(in oklch, var(--topbar-title) 15%, transparent);
}

.topbar-title[b-zyrc00v6oq] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.topbar-title h1[b-zyrc00v6oq] {
    margin: 0;
    /* Topbar text is pinned to 1.2x its plain size regardless of density —
       see .nav-item in app.css for the sidebar's own fixed multiplier. */
    font-size: calc(1rem * 1.2);
    font-weight: 700;
    letter-spacing: -0.01em;
    color: var(--topbar-title);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.topbar-subtitle[b-zyrc00v6oq] {
    font-size: calc(0.71875rem * 1.2);
    color: var(--topbar-title);
    opacity: 0.75;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.topbar-actions[b-zyrc00v6oq] {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

.palette-trigger[b-zyrc00v6oq] {
    display: flex;
    align-items: center;
    gap: 8px;
    height: 32px;
    padding: 0 10px;
    background: var(--topbar-widget-bg);
    border: none;
    border-radius: var(--radius);
    color: var(--topbar-widget-fg);
    font-size: calc(0.75rem * 1.2);
    cursor: pointer;
}

.palette-trigger svg[b-zyrc00v6oq] {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
}

.palette-trigger:hover[b-zyrc00v6oq] {
    opacity: 0.85;
}

.kbd-chip[b-zyrc00v6oq] {
    font-family: var(--mono);
    font-size: calc(0.625rem * 1.2);
    padding: 1px 5px;
    border-radius: var(--radius-sm);
    background: color-mix(in oklch, var(--topbar-widget-fg) 15%, transparent);
    color: var(--topbar-widget-fg);
}

/* FontScaleControl and SegmentedControl are shared components (also used
   outside the topbar, e.g. the Settings sub-nav) — their own CSS targets the
   normal --bg/--text ramp, so override them here, scoped to this instance,
   via ::deep rather than changing their shared styles. */
[b-zyrc00v6oq] .font-scale,
[b-zyrc00v6oq] .segmented {
    background: var(--topbar-widget-bg);
}

[b-zyrc00v6oq] .font-scale-btn,
[b-zyrc00v6oq] .font-scale-value,
[b-zyrc00v6oq] .segment {
    color: var(--topbar-widget-fg);
}

/* Same fixed 1.2x multiplier as the rest of the topbar's own text, applied
   on top of these shared components' own (smaller, unscoped) sizes. */
[b-zyrc00v6oq] .font-scale-a.small {
    font-size: calc(0.625rem * 1.2);
}

[b-zyrc00v6oq] .font-scale-a.large {
    font-size: calc(0.875rem * 1.2);
}

[b-zyrc00v6oq] .font-scale-value {
    font-size: calc(var(--fs-caption) * 1.2);
}

[b-zyrc00v6oq] .segment {
    font-size: calc(0.71875rem * 1.2);
}

[b-zyrc00v6oq] .font-scale-btn:hover:not(:disabled) {
    background: color-mix(in oklch, var(--topbar-widget-fg) 15%, transparent);
}

[b-zyrc00v6oq] .segment:hover {
    color: var(--topbar-widget-fg);
}

/* The selected layout uses the app's own configured accent (same convention
   as SegmentedControl's default .segment.active elsewhere) — everything
   else in this file stays the fixed light/dark widget pairing. */
[b-zyrc00v6oq] .segment.active {
    background: var(--accent);
    color: var(--accent-text);
}
/* /Mailgun/MailgunDomainsPage.razor.rz.scp.css */
.mailgun-domains-page[b-7q92c1gttt] {
    display: flex;
    flex-direction: column;
    gap: var(--card-gap);
}

.mg-filters[b-7q92c1gttt] {
    display: flex;
    align-items: flex-end;
    gap: 12px;
}

.mg-field[b-7q92c1gttt] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1 1 320px;
    min-width: 0;
}

.mg-toolbar[b-7q92c1gttt] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.mg-count[b-7q92c1gttt] {
    font-size: 0.78125rem;
    color: var(--dim);
}

.mg-banner[b-7q92c1gttt] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.mg-banner-title[b-7q92c1gttt] {
    color: var(--amber);
    font-weight: 600;
}

.mg-banner-error[b-7q92c1gttt] {
    color: var(--red);
    font-weight: 600;
}

.mg-banner-text[b-7q92c1gttt] {
    color: var(--dim);
    font-size: var(--fs-small);
}

.btn-ghost[b-7q92c1gttt] {
    background: transparent;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    color: var(--text);
    padding: 0.3rem 0.7rem;
    font: inherit;
    font-size: var(--fs-small);
    cursor: pointer;
}

.btn-ghost:hover:not(:disabled)[b-7q92c1gttt] {
    border-color: var(--border-2);
}

.btn-ghost:disabled[b-7q92c1gttt] {
    color: var(--faint);
    cursor: default;
}

/* ::deep — DataTable renders the cells, so a plain rule would never reach them. */
[b-7q92c1gttt] .mg-domain-name {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--text);
}

[b-7q92c1gttt] .mono-cell {
    font-family: var(--mono);
    font-size: 0.71875rem;
    color: var(--dim);
}

.detail-head-text[b-7q92c1gttt] {
    display: flex;
    flex-direction: column;
    gap: 1px;
    min-width: 0;
}

.detail-title[b-7q92c1gttt] {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--text);
}

.detail-sub[b-7q92c1gttt] {
    font-family: var(--mono);
    font-size: 0.6875rem;
    color: var(--faint);
}

.detail-section[b-7q92c1gttt] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid var(--border);
}

.field-value[b-7q92c1gttt] {
    font-size: 0.8125rem;
    color: var(--text);
    line-height: 1.5;
}

.field-hint[b-7q92c1gttt] {
    font-size: 0.71875rem;
    color: var(--faint);
}

.mono[b-7q92c1gttt] {
    font-family: var(--mono);
}

.mg-meta[b-7q92c1gttt] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.mg-console-link[b-7q92c1gttt] {
    align-self: flex-start;
    margin-top: 6px;
    color: var(--accent);
    font-size: var(--fs-small);
    text-decoration: none;
}

.mg-console-link:hover[b-7q92c1gttt] {
    text-decoration: underline;
}

.mg-records[b-7q92c1gttt] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.mg-record[b-7q92c1gttt] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: 7px 9px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
}

.mg-record-head[b-7q92c1gttt] {
    display: flex;
    align-items: center;
    gap: 7px;
    flex-wrap: wrap;
}

.mg-record-name[b-7q92c1gttt] {
    font-size: 0.75rem;
    color: var(--text);
    word-break: break-all;
}

.mg-record-value[b-7q92c1gttt] {
    font-size: 0.71875rem;
    color: var(--dim);
    word-break: break-all;
}

/* ----- verification findings (stage 2) ----- */

.mg-health-banner[b-7q92c1gttt] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.mg-health-list[b-7q92c1gttt] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.mg-health-item[b-7q92c1gttt] {
    font-size: var(--fs-small);
    color: var(--dim);
}

.mg-health-item .mono[b-7q92c1gttt] {
    font-family: var(--font-mono);
    color: var(--text);
}

/* ----- create (stage 3) ----- */

.mg-actions[b-7q92c1gttt] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
}

.create-form[b-7q92c1gttt] {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
}

.create-field[b-7q92c1gttt] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.create-error[b-7q92c1gttt] {
    color: var(--red);
    font-size: var(--fs-small);
    margin: 0;
}

.plan-box[b-7q92c1gttt] {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
}

.plan-line[b-7q92c1gttt] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    font-size: var(--fs-small);
}

.plan-line .mono[b-7q92c1gttt] {
    font-family: var(--font-mono);
    color: var(--text);
}
