@import '_content/Blazor.Flags/Blazor.Flags.bundle.scp.484eab0385.css';
@import '_content/Microtec.Components.Blazor/Microtec.Components.Blazor.j5ywodp1m0.bundle.scp.194faaa4ea.css';

/* /Features/AdminRoles/Pages/AdminRolesPage.razor.rz.scp.css */
/* Admin Roles - scoped layout. Surfaces and colors come from the design kit tokens. */

/* Master/detail that fits the viewport: each pane scrolls on its own, the page does not. */
.roles-layout[b-tc8rv14552] {
    display: grid;
    grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
    gap: 16px;
    height: calc(100dvh - 190px);
    min-height: 520px;
}

.roles-layout[b-tc8rv14552]  .roles-list-panel,
.roles-layout[b-tc8rv14552]  .roles-editor-panel {
    min-height: 0;
}

.roles-layout[b-tc8rv14552]  .roles-list-panel .ds-panel__body,
.roles-layout[b-tc8rv14552]  .roles-editor-panel .ds-panel__body {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

/* Roles list */
.roles-count[b-tc8rv14552] {
    color: var(--mud-palette-text-secondary);
    font-size: var(--font-size-caption);
}

.roles-list[b-tc8rv14552] {
    overflow-y: auto;
    padding: 6px;
}

.role-row[b-tc8rv14552] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    width: 100%;
    padding: 10px 12px;
    border: 1px solid transparent;
    border-radius: var(--radius-sm);
    background: transparent;
    color: inherit;
    font: inherit;
    text-align: start;
    cursor: pointer;
    transition: background-color var(--dur-fast) var(--ease-out);
}

.role-row:hover[b-tc8rv14552] {
    background: var(--mud-palette-action-default-hover);
}

.role-row:active[b-tc8rv14552] {
    transform: scale(0.99);
}

.role-row--selected[b-tc8rv14552],
.role-row--selected:hover[b-tc8rv14552] {
    background: var(--mud-palette-primary-hover);
    border-color: var(--mud-palette-primary);
}

.role-row__name[b-tc8rv14552] {
    font-weight: var(--font-weight-semibold);
}

.role-row__meta[b-tc8rv14552] {
    color: var(--mud-palette-text-secondary);
    font-size: var(--font-size-caption);
}

/* Editor header: name + description inline, actions right */
.editor-head[b-tc8rv14552] {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 14px 18px;
    border-bottom: 1px solid var(--mud-palette-divider);
}

.editor-head__fields[b-tc8rv14552] {
    flex: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
    gap: 12px;
}

.editor-head__actions[b-tc8rv14552] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.unsaved-note[b-tc8rv14552] {
    color: var(--mud-palette-warning);
    font-size: var(--font-size-caption);
    font-weight: var(--font-weight-medium);
    white-space: nowrap;
}

/* Tabs */
.editor-tabs[b-tc8rv14552] {
    display: flex;
    gap: 4px;
    padding: 0 18px;
    border-bottom: 1px solid var(--mud-palette-divider);
}

.editor-tab[b-tc8rv14552] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    border: 0;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    background: transparent;
    color: var(--mud-palette-text-secondary);
    font: inherit;
    font-weight: var(--font-weight-medium);
    cursor: pointer;
    transition: color var(--dur-fast) var(--ease-out);
}

.editor-tab:hover[b-tc8rv14552] {
    color: var(--mud-palette-text-primary);
}

.editor-tab--active[b-tc8rv14552] {
    color: var(--mud-palette-primary);
    border-bottom-color: var(--mud-palette-primary);
}

.editor-tab__count[b-tc8rv14552] {
    font-size: var(--font-size-caption);
    padding: 1px 6px;
    border-radius: var(--radius-sm);
    background: var(--mud-palette-action-default-hover);
}

/* Policy toolbar */
.policy-toolbar[b-tc8rv14552] {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 10px 18px;
    border-bottom: 1px solid var(--mud-palette-divider);
}

.policy-toolbar[b-tc8rv14552]  .policy-toolbar__search {
    flex: 1;
    max-width: 360px;
    margin: 0;
}

/* Rail + pane */
.policy-body[b-tc8rv14552] {
    flex: 1;
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(180px, 220px) minmax(0, 1fr);
}

.category-rail[b-tc8rv14552] {
    overflow-y: auto;
    padding: 8px;
    border-inline-end: 1px solid var(--mud-palette-divider);
}

.category-item[b-tc8rv14552] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    padding: 7px 10px;
    border: 0;
    border-radius: var(--radius-sm);
    background: transparent;
    color: var(--mud-palette-text-secondary);
    font: inherit;
    font-size: var(--font-size-body2);
    text-align: start;
    cursor: pointer;
    transition: background-color var(--dur-fast) var(--ease-out);
}

.category-item:hover[b-tc8rv14552] {
    background: var(--mud-palette-action-default-hover);
    color: var(--mud-palette-text-primary);
}

.category-item--active[b-tc8rv14552],
.category-item--active:hover[b-tc8rv14552] {
    background: var(--mud-palette-primary-hover);
    color: var(--mud-palette-primary);
    font-weight: var(--font-weight-medium);
}

.category-item__count[b-tc8rv14552] {
    font-size: var(--font-size-caption);
    color: var(--mud-palette-text-secondary);
}

.category-item__count--on[b-tc8rv14552] {
    color: var(--mud-palette-primary);
}

.policy-pane[b-tc8rv14552] {
    overflow-y: auto;
    padding: 4px 18px 18px;
}

.policy-group + .policy-group[b-tc8rv14552] {
    border-top: 1px solid var(--mud-palette-divider);
}

.policy-group__head[b-tc8rv14552] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 10px;
}

.policy-group__title[b-tc8rv14552] {
    font-size: var(--font-size-body2);
    font-weight: var(--font-weight-semibold);
}

.policy-item[b-tc8rv14552] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.policy-item__requires[b-tc8rv14552] {
    margin-inline-start: 34px;
    margin-top: -6px;
    padding-bottom: 4px;
    font-size: var(--font-size-caption);
    color: var(--mud-palette-text-secondary);
}

.policy-grid[b-tc8rv14552] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
    padding-bottom: 8px;
}

/* Users */
.users-pane[b-tc8rv14552] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
}

.users-pane__toolbar[b-tc8rv14552] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 18px;
    border-bottom: 1px solid var(--mud-palette-divider);
}

.users-pane__hint[b-tc8rv14552] {
    color: var(--mud-palette-text-secondary);
}

.users-pane[b-tc8rv14552]  .users-pane__action {
    text-align: end;
}

/* Visible keyboard focus */
.role-row:focus-visible[b-tc8rv14552],
.editor-tab:focus-visible[b-tc8rv14552],
.category-item:focus-visible[b-tc8rv14552] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
    .role-row[b-tc8rv14552],
    .editor-tab[b-tc8rv14552],
    .category-item[b-tc8rv14552] {
        transition: none;
    }

    .role-row:active[b-tc8rv14552] {
        transform: none;
    }
}

/* Narrow screens: stack panes and let the page scroll again */
@media (max-width: 960px) {
    .roles-layout[b-tc8rv14552] {
        grid-template-columns: minmax(0, 1fr);
        height: auto;
    }

    .roles-list[b-tc8rv14552] {
        max-height: 240px;
    }

    .editor-head[b-tc8rv14552] {
        flex-direction: column;
        align-items: stretch;
    }

    .editor-head__fields[b-tc8rv14552] {
        grid-template-columns: minmax(0, 1fr);
    }

    .policy-toolbar[b-tc8rv14552] {
        flex-wrap: wrap;
        gap: 8px 16px;
    }

    .policy-toolbar[b-tc8rv14552]  .policy-toolbar__search {
        flex-basis: 100%;
        max-width: none;
    }

    .policy-body[b-tc8rv14552] {
        grid-template-columns: minmax(0, 1fr);
    }

    .category-rail[b-tc8rv14552] {
        display: flex;
        gap: 4px;
        overflow-x: auto;
        border-inline-end: 0;
        border-bottom: 1px solid var(--mud-palette-divider);
    }

    .category-item[b-tc8rv14552] {
        width: auto;
        white-space: nowrap;
    }
}
/* /Features/AdminUsers/Pages/AdminUsersPage.razor.rz.scp.css */
/* Admin Users - Scoped Styles (layout only; surfaces owned by the design kit) */

.user-avatar[b-tyab36qh2x] {
    font-size: 0.7rem;
}
/* /Features/AppInsights/Components/TraceTimelineView.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════════════════
   TRACE WATERFALL — rendered as a full-width view inside the page
   ═══════════════════════════════════════════════════════════════════════════ */
.trace-view[b-0p5ah3aj6t] {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.trace-view__head[b-0p5ah3aj6t] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 0 10px;
    border-bottom: 1px solid var(--mud-palette-divider);
}

.trace-view__icon[b-0p5ah3aj6t]  { color: var(--mud-palette-primary); }
.trace-view__title[b-0p5ah3aj6t] { font-weight: 600; font-size: .9375rem; }

.trace-view__id[b-0p5ah3aj6t] {
    font-size: .75rem;
    color: var(--mud-palette-text-secondary);
}

.trace-view__body[b-0p5ah3aj6t] {
    flex: 1 1 auto;
    min-height: 0;
    padding: 16px 0 0;
}

.trace-title[b-0p5ah3aj6t] {
    display: flex;
    align-items: baseline;
    gap: 10px;
    flex-wrap: wrap;
}

.trace-title__text[b-0p5ah3aj6t] { font-weight: 600; }

.trace-title__id[b-0p5ah3aj6t] {
    font-size: .75rem;
    color: var(--mud-palette-text-secondary);
}

.trace-title__meta[b-0p5ah3aj6t] {
    margin-inline-start: auto;
    font-size: .75rem;
    color: var(--mud-palette-text-secondary);
    font-variant-numeric: tabular-nums;
}

.trace-skeleton[b-0p5ah3aj6t] { border-radius: 4px; margin-bottom: 6px; }

/* ── Summary strip: the numbers you look for before the rows ──────────────── */
.trace-summary[b-0p5ah3aj6t] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 12px;
}

.trace-stat[b-0p5ah3aj6t] {
    flex: 1 1 128px;
    padding: 8px 12px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 8px;
    background: var(--mud-palette-background-gray, var(--mud-palette-surface));
}

.trace-stat__value[b-0p5ah3aj6t] {
    display: block;
    font-size: 1.0625rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    line-height: 1.3;
}

.trace-stat__label[b-0p5ah3aj6t] {
    display: block;
    font-size: .6875rem;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--mud-palette-text-secondary);
}

.trace-stat--bad .trace-stat__value[b-0p5ah3aj6t] { color: var(--mud-palette-error); }

/* ── Legend ──────────────────────────────────────────────────────────────── */
.trace-legend[b-0p5ah3aj6t] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 14px;
    padding-bottom: 10px;
    margin-bottom: 4px;
    font-size: .75rem;
    color: var(--mud-palette-text-secondary);
}

.trace-legend__item[b-0p5ah3aj6t] { display: inline-flex; align-items: center; gap: 6px; }

.trace-legend__swatch[b-0p5ah3aj6t] {
    width: 9px; height: 9px; border-radius: 2px; display: inline-block;
}

/* ── Waterfall ───────────────────────────────────────────────────────────── */
.trace-grid[b-0p5ah3aj6t] {
    --trace-label: 46%;
    --trace-duration: 82px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 8px;
    overflow: auto;
    /* Bounded so the waterfall scrolls inside its host instead of stretching a dialog off-screen. */
    max-height: min(58vh, 620px);
}

.trace-grid__head[b-0p5ah3aj6t],
.trace-row[b-0p5ah3aj6t] {
    display: grid;
    grid-template-columns: var(--trace-label) 1fr var(--trace-duration);
    align-items: center;
    column-gap: 12px;
}

.trace-grid__head[b-0p5ah3aj6t] {
    position: sticky;
    top: 0;
    z-index: 1;
    padding: 7px 12px;
    background: var(--mud-palette-background-gray, var(--mud-palette-surface));
    border-bottom: 1px solid var(--mud-palette-lines-default);
    font-size: .6875rem;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--mud-palette-text-secondary);
}

.trace-grid__ruler[b-0p5ah3aj6t] { position: relative; height: 12px; }

.trace-tick[b-0p5ah3aj6t] {
    position: absolute;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    transform: translateX(-50%);
}

.trace-tick:first-child[b-0p5ah3aj6t] { transform: none; }
.trace-tick:last-child[b-0p5ah3aj6t]  { transform: translateX(-100%); }

.trace-grid__duration[b-0p5ah3aj6t] { text-align: end; }

.trace-row[b-0p5ah3aj6t] {
    padding: 0 12px;
    min-height: 26px;
    border-bottom: 1px solid var(--mud-palette-divider);
    cursor: pointer;
    transition: background var(--dur-fast) var(--ease-out);
}

.trace-row:last-of-type[b-0p5ah3aj6t] { border-bottom: none; }
.trace-row:hover[b-0p5ah3aj6t] { background: var(--mud-palette-action-default-hover); }
.trace-row--open[b-0p5ah3aj6t] { background: var(--mud-palette-action-default-hover); }

/* ── Label: tree rails, then the name ────────────────────────────────────── */
.trace-row__label[b-0p5ah3aj6t] {
    display: flex;
    align-items: center;
    min-width: 0;
    height: 26px;
}

.trace-rail[b-0p5ah3aj6t] {
    flex: 0 0 13px;
    align-self: stretch;
    border-inline-start: 1px solid var(--mud-palette-lines-default);
    margin-inline-start: 5px;
}

.trace-row__kind[b-0p5ah3aj6t] {
    flex: 0 0 auto;
    width: 6px; height: 6px;
    border-radius: 50%;
    margin-inline-end: 8px;
    margin-inline-start: 3px;
}

.trace-row__name[b-0p5ah3aj6t] {
    font-size: 12px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: var(--mud-palette-text-primary);
}

.trace-row--failed .trace-row__name[b-0p5ah3aj6t] { color: var(--mud-palette-error); }

/* Service is printed only where it changes — repeating it on every row is noise. */
.trace-row__service[b-0p5ah3aj6t] {
    flex: 0 0 auto;
    margin-inline-start: 8px;
    padding: 1px 7px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 600;
    white-space: nowrap;
    color: var(--service-tone, var(--mud-palette-text-secondary));
    border: 1px solid var(--service-tone, var(--mud-palette-lines-default));
}

/* ── Track ───────────────────────────────────────────────────────────────── */
.trace-row__track[b-0p5ah3aj6t] {
    position: relative;
    height: 26px;
    /* Quarter gridlines, so a bar can be read against the ruler above. */
    background-image: repeating-linear-gradient(
        to right,
        var(--mud-palette-divider) 0 1px,
        transparent 1px 25%);
}

.trace-row__bar[b-0p5ah3aj6t] {
    position: absolute;
    top: 7px;
    height: 12px;
    min-width: 2px;
    border-radius: 3px;
    background: var(--service-tone, var(--mud-palette-primary));
}

.trace-row--failed .trace-row__bar[b-0p5ah3aj6t] { background: var(--mud-palette-error); }

.trace-row__duration[b-0p5ah3aj6t] {
    text-align: end;
    font-size: 11.5px;
    font-variant-numeric: tabular-nums;
    color: var(--mud-palette-text-primary);
    white-space: nowrap;
}

.trace-row--slow .trace-row__duration[b-0p5ah3aj6t] { color: var(--mud-palette-warning); font-weight: 600; }

/* ── Expanded detail ─────────────────────────────────────────────────────── */
.trace-detail[b-0p5ah3aj6t] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 4px 20px;
    padding: 8px 12px 10px calc(var(--trace-label) * 0.06 + 26px);
    background: var(--mud-palette-background-gray, var(--mud-palette-surface));
    border-bottom: 1px solid var(--mud-palette-divider);
    font-size: 11px;
    color: var(--mud-palette-text-secondary);
}

.trace-detail b[b-0p5ah3aj6t] {
    color: var(--mud-palette-text-primary);
    font-weight: 600;
    margin-inline-end: 6px;
}

@media (prefers-reduced-motion: reduce) {
    .trace-row[b-0p5ah3aj6t] { transition: none; }
}
/* /Features/Auth/Pages/login-redirect.razor.rz.scp.css */
/* Login redirect — "precision ops console" identity.
   Renders under EmptyLayout (no MudThemeProvider), so --mud-palette-* do not
   resolve here. Colours use the literal dark-console tokens from DESIGN.md §2;
   motion uses the global tokens from app.css (defined on :root, always available).
   No gradients / no glassmorphism (DESIGN.md §2 bans). */

/* Main Container */
.auth-portal-container[b-nn6jw7zhcv] {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #0B1014;                 /* --bg */
}

/* Ambient Background */
.auth-background[b-nn6jw7zhcv] {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 1;
}

.floating-particles[b-nn6jw7zhcv] {
    position: relative;
    width: 100%;
    height: 100%;
}

.particle[b-nn6jw7zhcv] {
    position: absolute;
    border-radius: 50%;
    background: rgba(47, 182, 217, 0.08);   /* --primary tint */
    animation: floatParticle-b-nn6jw7zhcv 15s infinite ease-in-out;
}

.particle-1[b-nn6jw7zhcv] {
    width: 60px;
    height: 60px;
    top: 10%;
    left: 10%;
    animation-delay: 0s;
}

.particle-2[b-nn6jw7zhcv] {
    width: 40px;
    height: 40px;
    top: 70%;
    left: 80%;
    animation-delay: -3s;
}

.particle-3[b-nn6jw7zhcv] {
    width: 80px;
    height: 80px;
    top: 30%;
    right: 20%;
    animation-delay: -6s;
}

.particle-4[b-nn6jw7zhcv] {
    width: 30px;
    height: 30px;
    bottom: 20%;
    left: 30%;
    animation-delay: -9s;
}

.particle-5[b-nn6jw7zhcv] {
    width: 50px;
    height: 50px;
    top: 60%;
    left: 60%;
    animation-delay: -12s;
}

.particle-6[b-nn6jw7zhcv] {
    width: 70px;
    height: 70px;
    bottom: 40%;
    right: 10%;
    animation-delay: -15s;
}

/* Content Wrapper */
.auth-content-wrapper[b-nn6jw7zhcv] {
    position: relative;
    z-index: 10;
    width: 100%;
    max-width: 500px;
    padding: 32px;
}

/* Brand Header */
.brand-header[b-nn6jw7zhcv] {
    text-align: center;
    margin-bottom: 48px;
    opacity: 0;
    transform: translateY(-40px);
    transition: all var(--dur-slow) var(--ease-out);
}

    .brand-header.animate-in[b-nn6jw7zhcv] {
        opacity: 1;
        transform: translateY(0);
    }

.brand-logo[b-nn6jw7zhcv] {
    margin-bottom: 24px;
}

.logo-icon[b-nn6jw7zhcv] {
    width: 80px;
    height: 80px;
    margin: 0 auto;
    background: #172128;                 /* --surface-raised */
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #243139;           /* --border */
    animation: logoFloat-b-nn6jw7zhcv 3s ease-in-out infinite;
}

.logo-svg[b-nn6jw7zhcv] {
    width: 40px;
    height: 40px;
    color: #2FB6D9;                      /* --primary */
}

.brand-title[b-nn6jw7zhcv] {
    font-size: 1.875rem;
    font-weight: 700;
    color: #E8EEF2;                      /* --ink */
    margin: 0 0 8px 0;
    letter-spacing: -0.02em;
}

.brand-subtitle[b-nn6jw7zhcv] {
    font-size: 1.125rem;
    color: #A3B4BD;                      /* --ink-secondary */
    margin: 0;
    font-weight: 400;
}

/* Status Card */
.auth-status-card[b-nn6jw7zhcv] {
    background: #11181D;                 /* --surface */
    border-radius: var(--radius-xl);
    padding: 48px 40px;
    box-shadow: 0 4px 16px rgb(0 0 0 / 0.35); /* --shadow-2 */
    border: 1px solid #243139;          /* --border */
    margin-bottom: 32px;
    opacity: 0;
    transform: translateY(40px) scale(0.97);
    transition: all var(--dur-slow) var(--ease-out) 0.1s;
}

    .auth-status-card.animate-in[b-nn6jw7zhcv] {
        opacity: 1;
        transform: translateY(0) scale(1);
    }

/* Processing State */
.processing-state[b-nn6jw7zhcv] {
    text-align: center;
}

.loading-complex[b-nn6jw7zhcv] {
    position: relative;
    width: 120px;
    height: 120px;
    margin: 0 auto 32px;
}

.loading-rings[b-nn6jw7zhcv] {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.ring[b-nn6jw7zhcv] {
    position: absolute;
    border-radius: 50%;
    border: 2px solid transparent;
    animation: spinRing-b-nn6jw7zhcv 3s linear infinite;
}

.ring-1[b-nn6jw7zhcv] {
    width: 100%;
    height: 100%;
    border-top-color: rgba(47, 182, 217, 0.8);
    border-right-color: rgba(47, 182, 217, 0.4);
    animation-duration: 2s;
}

.ring-2[b-nn6jw7zhcv] {
    width: 80%;
    height: 80%;
    top: 10%;
    left: 10%;
    border-left-color: rgba(111, 171, 232, 0.6);   /* --info */
    border-bottom-color: rgba(111, 171, 232, 0.3);
    animation-duration: 2.5s;
    animation-direction: reverse;
}

.ring-3[b-nn6jw7zhcv] {
    width: 60%;
    height: 60%;
    top: 20%;
    left: 20%;
    border-top-color: rgba(47, 182, 217, 0.4);
    border-right-color: rgba(47, 182, 217, 0.2);
    animation-duration: 3s;
}

.loading-core[b-nn6jw7zhcv] {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 40px;
    height: 40px;
    background: rgba(47, 182, 217, 0.12);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.security-icon[b-nn6jw7zhcv] {
    width: 24px;
    height: 24px;
    color: #2FB6D9;                      /* --primary */
    animation: iconPulse-b-nn6jw7zhcv 2s ease-in-out infinite;
}

.status-text[b-nn6jw7zhcv] {
    margin-bottom: 40px;
}

.status-title[b-nn6jw7zhcv] {
    font-size: 1.5rem;
    font-weight: 600;
    color: #E8EEF2;                      /* --ink */
    margin: 0 0 8px 0;
    letter-spacing: -0.02em;
}

.status-description[b-nn6jw7zhcv] {
    font-size: 1.125rem;
    color: #A3B4BD;                      /* --ink-secondary */
    margin: 0;
    line-height: 1.6;
}

/* Custom Professional Stepper */
.custom-stepper[b-nn6jw7zhcv] {
    margin: 40px 0;
}

.stepper-track[b-nn6jw7zhcv] {
    position: relative;
    width: 100%;
    height: 4px;
    background: #243139;                 /* --border */
    border-radius: 2px;
    margin-bottom: 32px;
    overflow: hidden;
}

.progress-line[b-nn6jw7zhcv] {
    height: 100%;
    background: #2FB6D9;                 /* --primary */
    border-radius: 2px;
    transition: width var(--dur-slow) var(--ease-out);
    position: relative;
}

.progress-glow[b-nn6jw7zhcv] {
    position: absolute;
    top: -2px;
    right: -10px;
    width: 20px;
    height: 8px;
    background: radial-gradient(ellipse, rgba(47, 182, 217, 0.6), transparent);
    animation: progressGlow-b-nn6jw7zhcv 2s ease-in-out infinite;
}

.stepper-steps[b-nn6jw7zhcv] {
    display: flex;
    justify-content: space-between;
    position: relative;
}

.step-item[b-nn6jw7zhcv] {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1;
    position: relative;
    transition: all var(--dur-base) var(--ease-out);
}

.step-circle[b-nn6jw7zhcv] {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #172128;                 /* --surface-raised */
    border: 2px solid #243139;          /* --border */
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    transition: all var(--dur-base) var(--ease-out);
    position: relative;
    z-index: 2;
}

.step-item.active .step-circle[b-nn6jw7zhcv] {
    background: #2FB6D9;                 /* --primary */
    border-color: #2FB6D9;
    box-shadow: 0 0 0 4px rgba(47, 182, 217, 0.2);
    animation: stepPulse-b-nn6jw7zhcv 2s ease-in-out infinite;
}

.step-item.completed .step-circle[b-nn6jw7zhcv] {
    background: #3FBF7F;                 /* --success */
    border-color: #3FBF7F;
    transform: scale(1.1);
}

.step-number[b-nn6jw7zhcv] {
    font-size: 1rem;
    font-weight: 600;
    color: #A3B4BD;                      /* --ink-secondary */
}

.step-item.active .step-number[b-nn6jw7zhcv] {
    color: #06252E;                     /* --primary-ink (on teal) */
}

.step-check[b-nn6jw7zhcv] {
    color: #06252E;
}

.check-icon[b-nn6jw7zhcv] {
    width: 20px;
    height: 20px;
}

.step-pulse[b-nn6jw7zhcv] {
    width: 16px;
    height: 16px;
    background: #06252E;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pulse-dot[b-nn6jw7zhcv] {
    width: 8px;
    height: 8px;
    background: #2FB6D9;                 /* --primary */
    border-radius: 50%;
    animation: pulseDot-b-nn6jw7zhcv 1.5s ease-in-out infinite;
}

.step-content[b-nn6jw7zhcv] {
    text-align: center;
    max-width: 120px;
}

.step-icon[b-nn6jw7zhcv] {
    margin-bottom: 8px;
}

.step-svg[b-nn6jw7zhcv] {
    width: 20px;
    height: 20px;
    color: #6E8290;                     /* --ink-faint */
    transition: color var(--dur-base) var(--ease-out);
}

.step-item.active .step-svg[b-nn6jw7zhcv],
.step-item.completed .step-svg[b-nn6jw7zhcv] {
    color: #2FB6D9;                     /* --primary */
}

.step-label[b-nn6jw7zhcv] {
    display: block;
    font-size: 0.875rem;
    font-weight: 600;
    color: #E8EEF2;                     /* --ink */
    margin-bottom: 4px;
}

.step-sublabel[b-nn6jw7zhcv] {
    display: block;
    font-size: 0.75rem;
    color: #6E8290;                     /* --ink-faint */
    line-height: 1.3;
}

/* Progress Statistics */
.progress-stats[b-nn6jw7zhcv] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    margin-top: 32px;
    padding: 16px;
    background: #172128;                 /* --surface-raised */
    border-radius: var(--radius-lg);
    border: 1px solid #243139;          /* --border */
}

.stat-item[b-nn6jw7zhcv] {
    text-align: center;
}

.stat-value[b-nn6jw7zhcv] {
    display: block;
    font-size: 1.5rem;
    font-weight: 700;
    color: #2FB6D9;                     /* --primary */
    line-height: 1;
}

.stat-label[b-nn6jw7zhcv] {
    display: block;
    font-size: 0.75rem;
    color: #A3B4BD;                     /* --ink-secondary */
    font-weight: 500;
    margin-top: 4px;
}

.stat-divider[b-nn6jw7zhcv] {
    width: 1px;
    height: 32px;
    background: #243139;                /* --border */
}

/* Error State */
.error-state[b-nn6jw7zhcv] {
    text-align: center;
}

.error-visual[b-nn6jw7zhcv] {
    margin-bottom: 32px;
}

.error-icon-wrapper[b-nn6jw7zhcv] {
    position: relative;
    display: inline-block;
    width: 100px;
    height: 100px;
}

.error-rings[b-nn6jw7zhcv] {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.error-ring[b-nn6jw7zhcv] {
    position: absolute;
    border: 2px solid #F2594B;         /* --danger */
    border-radius: 50%;
    opacity: 0.3;
    animation: errorRipple-b-nn6jw7zhcv 2s ease-out infinite;
}

    .error-ring:nth-child(1)[b-nn6jw7zhcv] {
        width: 100%;
        height: 100%;
        animation-delay: 0s;
    }

    .error-ring:nth-child(2)[b-nn6jw7zhcv] {
        width: 80%;
        height: 80%;
        top: 10%;
        left: 10%;
        animation-delay: 1s;
    }

.error-icon[b-nn6jw7zhcv] {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 48px;
    height: 48px;
    color: #F2594B;                     /* --danger */
}

.error-title[b-nn6jw7zhcv] {
    font-size: 1.5rem;
    font-weight: 600;
    color: #F2594B;                     /* --danger */
    margin: 0 0 8px 0;
}

.error-message[b-nn6jw7zhcv] {
    font-size: 1.125rem;
    color: #A3B4BD;                     /* --ink-secondary */
    margin: 0 0 24px 0;
    line-height: 1.5;
}

.error-details-wrapper[b-nn6jw7zhcv] {
    margin: 24px 0;
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    transition: all var(--dur-base) var(--ease-out);
}

    .error-details-wrapper.show[b-nn6jw7zhcv] {
        opacity: 1;
        max-height: 200px;
    }

.error-details[b-nn6jw7zhcv] {
    background: rgba(242, 89, 75, 0.12);
    border: 1px solid rgba(242, 89, 75, 0.30);
    border-radius: var(--radius-md);
    padding: 16px;
    text-align: left;
}

.detail-item[b-nn6jw7zhcv] {
    display: flex;
    justify-content: space-between;
    margin-bottom: 8px;
}

    .detail-item:last-child[b-nn6jw7zhcv] {
        margin-bottom: 0;
    }

.detail-label[b-nn6jw7zhcv] {
    font-weight: 500;
    color: #E8A99F;                     /* danger, lightened for label */
}

.detail-value[b-nn6jw7zhcv] {
    font-family: var(--font-mono);
    color: #F2594B;                     /* --danger */
}

/* Success State */
.success-state[b-nn6jw7zhcv] {
    text-align: center;
}

.success-visual[b-nn6jw7zhcv] {
    margin-bottom: 32px;
}

.success-icon-wrapper[b-nn6jw7zhcv] {
    position: relative;
    display: inline-block;
    width: 100px;
    height: 100px;
}

.success-rings[b-nn6jw7zhcv] {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.success-ring[b-nn6jw7zhcv] {
    position: absolute;
    border: 2px solid #3FBF7F;         /* --success */
    border-radius: 50%;
    opacity: 0.3;
    animation: successRipple-b-nn6jw7zhcv 2s ease-out infinite;
}

    .success-ring:nth-child(1)[b-nn6jw7zhcv] {
        width: 100%;
        height: 100%;
        animation-delay: 0s;
    }

    .success-ring:nth-child(2)[b-nn6jw7zhcv] {
        width: 80%;
        height: 80%;
        top: 10%;
        left: 10%;
        animation-delay: 1s;
    }

.success-icon[b-nn6jw7zhcv] {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 60px;
    height: 60px;
}

.checkmark-animation[b-nn6jw7zhcv] {
    width: 100%;
    height: 100%;
}

.success-svg[b-nn6jw7zhcv] {
    width: 100%;
    height: 100%;
    color: #3FBF7F;                     /* --success */
}

.checkmark-path[b-nn6jw7zhcv] {
    stroke-dasharray: 24;
    stroke-dashoffset: 24;
    animation: drawCheckmark-b-nn6jw7zhcv var(--dur-slow) var(--ease-out) 0.3s forwards;
}

.success-title[b-nn6jw7zhcv] {
    font-size: 1.5rem;
    font-weight: 600;
    color: #3FBF7F;                     /* --success */
    margin: 0 0 8px 0;
}

.success-message[b-nn6jw7zhcv] {
    font-size: 1.125rem;
    color: #A3B4BD;                     /* --ink-secondary */
    margin: 0 0 32px 0;
    line-height: 1.5;
}

.redirect-info[b-nn6jw7zhcv] {
    margin-bottom: 32px;
}

.redirect-countdown[b-nn6jw7zhcv] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-bottom: 16px;
    font-size: 1rem;
    color: #A3B4BD;                     /* --ink-secondary */
}

.countdown-number[b-nn6jw7zhcv] {
    font-size: 2rem;
    font-weight: 700;
    color: #3FBF7F;                     /* --success */
    min-width: 3rem;
    text-align: center;
    animation: countdownPulse-b-nn6jw7zhcv 1s ease-in-out infinite;
}

.redirect-progress[b-nn6jw7zhcv] {
    width: 100%;
    height: 4px;
    background: #243139;                /* --border */
    border-radius: 2px;
    overflow: hidden;
}

.redirect-bar[b-nn6jw7zhcv] {
    width: 100%;
    height: 100%;
    position: relative;
}

.redirect-fill[b-nn6jw7zhcv] {
    height: 100%;
    background: #3FBF7F;                /* --success */
    border-radius: 2px;
    animation: redirectProgress-b-nn6jw7zhcv 3s linear;
}

/* Action Buttons */
.error-actions[b-nn6jw7zhcv],
.success-actions[b-nn6jw7zhcv] {
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 24px;
}

.action-button[b-nn6jw7zhcv] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 14px 24px;
    border-radius: var(--radius-lg);
    font-weight: 600;
    font-size: 0.875rem;
    border: none;
    cursor: pointer;
    transition: transform var(--dur-fast) var(--ease-out),
                box-shadow var(--dur-fast) var(--ease-out);
    text-decoration: none;
    position: relative;
    overflow: hidden;
}

    .action-button[b-nn6jw7zhcv]::before {
        content: '';
        position: absolute;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100%;
        background: linear-gradient(90deg, transparent, rgba(47, 182, 217, 0.18), transparent);
        transition: left var(--dur-slow) var(--ease-out);
    }

    .action-button:hover[b-nn6jw7zhcv]::before {
        left: 100%;
    }

    .action-button:active[b-nn6jw7zhcv] {
        transform: scale(0.97);
    }

.primary-action[b-nn6jw7zhcv] {
    background: #2FB6D9;                /* --primary */
    color: #06252E;                    /* --primary-ink */
    box-shadow: 0 1px 2px rgb(0 0 0 / 0.25);
}

    .primary-action:hover[b-nn6jw7zhcv] {
        transform: translateY(-2px);
        box-shadow: 0 4px 16px rgb(0 0 0 / 0.35);
    }

    .primary-action:disabled[b-nn6jw7zhcv] {
        opacity: 0.7;
        cursor: not-allowed;
        transform: none;
    }

.secondary-action[b-nn6jw7zhcv] {
    background: #172128;               /* --surface-raised */
    color: #E8EEF2;                    /* --ink */
    border: 1px solid #243139;         /* --border */
}

    .secondary-action:hover[b-nn6jw7zhcv] {
        background: #1A242B;           /* --divider */
        transform: translateY(-1px);
        box-shadow: 0 4px 16px rgb(0 0 0 / 0.35);
    }

.button-icon[b-nn6jw7zhcv] {
    width: 16px;
    height: 16px;
}

.button-spinner[b-nn6jw7zhcv] {
    width: 16px;
    height: 16px;
    border: 2px solid transparent;
    border-top: 2px solid currentColor;
    border-radius: 50%;
    animation: spin-b-nn6jw7zhcv 1s linear infinite;
}

.toggle-details[b-nn6jw7zhcv] {
    background: transparent;
    border: none;
    color: #A3B4BD;                    /* --ink-secondary */
    font-size: 0.875rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 auto;
    padding: 8px;
    transition: color var(--dur-fast) var(--ease-out);
}

    .toggle-details:hover[b-nn6jw7zhcv] {
        color: #E8EEF2;               /* --ink */
    }

.toggle-icon[b-nn6jw7zhcv] {
    width: 16px;
    height: 16px;
    transition: transform var(--dur-base) var(--ease-out);
}

    .toggle-icon.rotated[b-nn6jw7zhcv] {
        transform: rotate(180deg);
    }

/* Security Footer */
.security-footer[b-nn6jw7zhcv] {
    text-align: center;
    opacity: 0;
    transform: translateY(20px);
    transition: all var(--dur-slow) var(--ease-out) 0.2s;
}

    .security-footer.animate-in[b-nn6jw7zhcv] {
        opacity: 1;
        transform: translateY(0);
    }

.security-badge[b-nn6jw7zhcv] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-bottom: 16px;
    padding: 12px 16px;
    background: #172128;               /* --surface-raised */
    border-radius: var(--radius-lg);
    border: 1px solid #243139;         /* --border */
}

.security-icon[b-nn6jw7zhcv] {
    width: 24px;
    height: 24px;
    color: #3FBF7F;                    /* --success */
}

.security-text[b-nn6jw7zhcv] {
    text-align: left;
}

.security-title[b-nn6jw7zhcv] {
    display: block;
    font-size: 0.875rem;
    font-weight: 600;
    color: #E8EEF2;                    /* --ink */
}

.security-subtitle[b-nn6jw7zhcv] {
    display: block;
    font-size: 0.75rem;
    color: #A3B4BD;                    /* --ink-secondary */
}

.footer-links[b-nn6jw7zhcv] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex-wrap: wrap;
}

.footer-link[b-nn6jw7zhcv] {
    color: #A3B4BD;                    /* --ink-secondary */
    text-decoration: none;
    font-size: 0.875rem;
    transition: color var(--dur-fast) var(--ease-out);
}

    .footer-link:hover[b-nn6jw7zhcv] {
        color: #E8EEF2;               /* --ink */
    }

.link-separator[b-nn6jw7zhcv] {
    color: #6E8290;                   /* --ink-faint */
}

/* Focus — never suppress keyboard outlines (palette vars unavailable here). */
.auth-portal-container :focus-visible[b-nn6jw7zhcv] {
    outline: 2px solid #2FB6D9;
    outline-offset: 2px;
    border-radius: var(--radius-sm);
}

/* Animations */
@keyframes floatParticle-b-nn6jw7zhcv {
    0%, 100% {
        transform: translateY(0px) rotate(0deg);
    }

    33% {
        transform: translateY(-20px) rotate(120deg);
    }

    66% {
        transform: translateY(20px) rotate(240deg);
    }
}

@keyframes logoFloat-b-nn6jw7zhcv {
    0%, 100% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-10px);
    }
}

@keyframes spinRing-b-nn6jw7zhcv {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

@keyframes iconPulse-b-nn6jw7zhcv {
    0%, 100% {
        opacity: 1;
        transform: scale(1);
    }

    50% {
        opacity: 0.8;
        transform: scale(1.1);
    }
}

@keyframes progressGlow-b-nn6jw7zhcv {
    0%, 100% {
        opacity: 0.5;
    }

    50% {
        opacity: 1;
    }
}

@keyframes stepPulse-b-nn6jw7zhcv {
    0%, 100% {
        box-shadow: 0 0 0 4px rgba(47, 182, 217, 0.2);
    }

    50% {
        box-shadow: 0 0 0 8px rgba(47, 182, 217, 0.1);
    }
}

@keyframes pulseDot-b-nn6jw7zhcv {
    0%, 100% {
        opacity: 1;
        transform: scale(1);
    }

    50% {
        opacity: 0.7;
        transform: scale(1.2);
    }
}

@keyframes errorRipple-b-nn6jw7zhcv {
    0% {
        transform: scale(0.8);
        opacity: 0.8;
    }

    100% {
        transform: scale(1.4);
        opacity: 0;
    }
}

@keyframes successRipple-b-nn6jw7zhcv {
    0% {
        transform: scale(0.8);
        opacity: 0.8;
    }

    100% {
        transform: scale(1.4);
        opacity: 0;
    }
}

@keyframes drawCheckmark-b-nn6jw7zhcv {
    to {
        stroke-dashoffset: 0;
    }
}

@keyframes countdownPulse-b-nn6jw7zhcv {
    0%, 100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.1);
    }
}

@keyframes redirectProgress-b-nn6jw7zhcv {
    from {
        width: 0%;
    }

    to {
        width: 100%;
    }
}

@keyframes spin-b-nn6jw7zhcv {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

/* Responsive Design */
@media (max-width: 768px) {
    .auth-content-wrapper[b-nn6jw7zhcv] {
        padding: 16px;
    }

    .brand-title[b-nn6jw7zhcv] {
        font-size: 1.5rem;
    }

    .auth-status-card[b-nn6jw7zhcv] {
        padding: 32px 24px;
    }

    .stepper-steps[b-nn6jw7zhcv] {
        flex-direction: column;
        gap: 16px;
    }

    .step-item[b-nn6jw7zhcv] {
        flex-direction: row;
        text-align: left;
    }

    .step-content[b-nn6jw7zhcv] {
        max-width: none;
        margin-left: 16px;
    }

    .error-actions[b-nn6jw7zhcv],
    .success-actions[b-nn6jw7zhcv] {
        flex-direction: column;
    }

    .action-button[b-nn6jw7zhcv] {
        width: 100%;
        justify-content: center;
    }

    .security-badge[b-nn6jw7zhcv] {
        flex-direction: column;
        gap: 8px;
    }

    .footer-links[b-nn6jw7zhcv] {
        flex-direction: column;
        gap: 4px;
    }
}

@media (max-width: 480px) {
    .auth-content-wrapper[b-nn6jw7zhcv] {
        padding: 8px;
    }

    .brand-title[b-nn6jw7zhcv] {
        font-size: 1.25rem;
    }

    .auth-status-card[b-nn6jw7zhcv] {
        padding: 24px 16px;
    }

    .loading-complex[b-nn6jw7zhcv],
    .error-icon-wrapper[b-nn6jw7zhcv],
    .success-icon-wrapper[b-nn6jw7zhcv] {
        width: 80px;
        height: 80px;
    }

    .progress-stats[b-nn6jw7zhcv] {
        flex-direction: column;
        gap: 16px;
    }

    .stat-divider[b-nn6jw7zhcv] {
        width: 100%;
        height: 1px;
    }
}

/* High Contrast Mode */
@media (prefers-contrast: high) {
    .auth-status-card[b-nn6jw7zhcv] {
        border: 3px solid #E8EEF2;
    }

    .step-circle[b-nn6jw7zhcv] {
        border-width: 3px;
    }

    .action-button[b-nn6jw7zhcv] {
        border: 2px solid currentColor;
    }
}

/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {
    *[b-nn6jw7zhcv], *[b-nn6jw7zhcv]::before, *[b-nn6jw7zhcv]::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}
/* /Features/Auth/Pages/Login.razor.rz.scp.css */
/* Login — "precision ops console" identity.
   This page renders under EmptyLayout, which has NO MudThemeProvider, so
   --mud-palette-* custom properties are not available here. Colours are the
   literal design tokens from DESIGN.md §2 (dark surface family). Motion uses
   the global tokens from app.css, which are defined on :root and always available. */

/* ========== Container & Background ========== */
.login-container[b-lnu99aiefe] {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px;
    background: #0B1014;            /* --bg (dark, cool/teal-tinted, never pure black) */
    position: relative;
    overflow: hidden;
}

/* ========== Card ========== */
.login-card[b-lnu99aiefe] {
    background: #11181D !important;  /* --surface */
    border: 1px solid #243139 !important; /* --border */
    border-radius: var(--radius-lg) !important;
    max-width: 440px;
    width: 100%;
    position: relative;
    box-shadow: 0 4px 16px rgb(0 0 0 / 0.35) !important; /* --shadow-2 */
    animation: loginCardEntry-b-lnu99aiefe var(--dur-slow) var(--ease-out);
}

@keyframes loginCardEntry-b-lnu99aiefe {
    from { opacity: 0; transform: translateY(6px) scale(0.97); }
    to   { opacity: 1; transform: translateY(0)   scale(1);    }
}

/* ========== Header / Logo ========== */
.login-logo-wrapper[b-lnu99aiefe] {
    margin-bottom: 20px;
}

.login-logo[b-lnu99aiefe] {
    width: 64px;
    height: auto;
}

/* ========== Typography ========== */
.login-title[b-lnu99aiefe] {
    font-weight: 700 !important;
    color: #E8EEF2;                 /* --ink */
    margin-bottom: 8px !important;
    letter-spacing: -0.02em;
}

.login-subtitle[b-lnu99aiefe] {
    color: #A3B4BD;                 /* --ink-secondary */
    margin-bottom: 0 !important;
    line-height: 1.55;
}

/* ========== Spinner ========== */
.login-spinner-section[b-lnu99aiefe] {
    padding: 32px 0;
}

.login-spinner[b-lnu99aiefe] {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
}

.login-spinner-ring[b-lnu99aiefe] {
    width: 44px;
    height: 44px;
    border: 3px solid #243139;      /* --border */
    border-top-color: #2FB6D9;      /* --primary (teal, dark) */
    border-radius: 50%;
    animation: loginSpin-b-lnu99aiefe 0.8s linear infinite;
}

@keyframes loginSpin-b-lnu99aiefe {
    to { transform: rotate(360deg); }
}

.login-status-text[b-lnu99aiefe] {
    color: #6E8290 !important;      /* --ink-faint */
    font-weight: 500 !important;
    letter-spacing: 0.02em;
}

/* ========== Security Notice ========== */
.login-security-notice[b-lnu99aiefe] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 14px;
    background: color-mix(in srgb, #2FB6D9 12%, transparent);
    border: 1px solid color-mix(in srgb, #2FB6D9 28%, transparent);
    border-radius: var(--radius-sm);
}

[b-lnu99aiefe] .login-security-icon {
    font-size: 0.875rem !important;
    color: #2FB6D9;
    margin-right: 6px;
    vertical-align: middle;
}

.login-security-text[b-lnu99aiefe] {
    color: #2FB6D9;
    display: inline;
    font-weight: 500;
    font-family: var(--font-mono);
    letter-spacing: 0;
}

/* Keyboard focus is never suppressed (EmptyLayout has no themed --mud-palette-primary). */
.login-card :focus-visible[b-lnu99aiefe] {
    outline: 2px solid #2FB6D9;
    outline-offset: 2px;
    border-radius: 4px;
}

/* ========== Responsive ========== */
@media (max-width: 640px) {
    .login-container[b-lnu99aiefe] { padding: 16px; }
    .login-logo[b-lnu99aiefe] { width: 56px; }
}

/* ========== Reduced motion ========== */
@media (prefers-reduced-motion: reduce) {
    .login-card[b-lnu99aiefe] { animation: none; }
    .login-spinner-ring[b-lnu99aiefe] { animation-duration: 1.6s; }
}
/* /Features/Auth/Pages/NotAuthorized.razor.rz.scp.css */
/* Not Authorized — calm, centered console message.
   Renders under EmptyLayout (no MudThemeProvider), so --mud-palette-* do not
   resolve here. Colours use the literal dark-console tokens from DESIGN.md §2.
   Accent is warning (amber), never a scary red wall. */

.na-page[b-9hd131895t] {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px;
    background: #0B1014;               /* --bg */
}

.na-card[b-9hd131895t] {
    width: 100%;
    max-width: 440px;
    text-align: center;
    padding: 40px 32px;
    background: #11181D;               /* --surface */
    border: 1px solid #243139;         /* --border */
    border-radius: var(--radius-lg);
    box-shadow: 0 4px 16px rgb(0 0 0 / 0.35); /* --shadow-2 */
    animation: naEntry-b-9hd131895t var(--dur-slow) var(--ease-out);
}

@keyframes naEntry-b-9hd131895t {
    from { opacity: 0; transform: translateY(6px) scale(0.97); }
    to   { opacity: 1; transform: translateY(0)   scale(1);    }
}

.na-icon-wrap[b-9hd131895t] {
    display: flex;
    justify-content: center;
    margin-bottom: 20px;
}

[b-9hd131895t] .na-icon {
    font-size: 3.5rem !important;
    width: 3.5rem;
    height: 3.5rem;
    color: #E0A62E;                    /* --warning (amber accent) */
}

.na-title[b-9hd131895t] {
    color: #E8EEF2;                    /* --ink */
    font-weight: 600;
    letter-spacing: -0.02em;
    margin-bottom: 12px;
}

.na-message[b-9hd131895t] {
    color: #A3B4BD;                    /* --ink-secondary */
    line-height: 1.55;
    margin-bottom: 28px;
}

/* Primary action styled with literal teal (palette vars unavailable here). */
[b-9hd131895t] .na-action {
    background-color: #2FB6D9;         /* --primary */
    color: #06252E;                    /* --primary-ink */
    font-weight: 600;
}

[b-9hd131895t] .na-action:hover {
    background-color: #57C6E2;
}

[b-9hd131895t] .na-action:active {
    transform: scale(0.97);
}

.na-card :focus-visible[b-9hd131895t] {
    outline: 2px solid #2FB6D9;
    outline-offset: 2px;
    border-radius: var(--radius-sm);
}

@media (max-width: 640px) {
    .na-card[b-9hd131895t] { padding: 32px 20px; }
}

@media (prefers-reduced-motion: reduce) {
    .na-card[b-9hd131895t] { animation: none; }
    [b-9hd131895t] .na-action:active { transform: none; }
}
/* /Features/Auth/Pages/Unauthorized.razor.rz.scp.css */
/* Unauthorized — calm, centered console message.
   Renders under AuthLayout (has MudThemeProvider), so --mud-palette-* resolve.
   Accent is warning, never a scary red wall. */

.unauth-page[b-czbdwja2hj] {
    display: flex;
    justify-content: center;
    padding: 24px;
}

.unauth-card[b-czbdwja2hj] {
    width: 100%;
    max-width: 460px;
    padding: 40px 32px;
    text-align: center;
    background: var(--mud-palette-surface);
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--radius-lg);
    animation: unauthEntry-b-czbdwja2hj var(--dur-slow) var(--ease-out);
}

@keyframes unauthEntry-b-czbdwja2hj {
    from { opacity: 0; transform: translateY(6px) scale(0.97); }
    to   { opacity: 1; transform: translateY(0)   scale(1);    }
}

.unauth-icon-wrap[b-czbdwja2hj] {
    display: flex;
    justify-content: center;
    margin-bottom: 20px;
}

[b-czbdwja2hj] .unauth-icon {
    font-size: 3.5rem !important;
    width: 3.5rem;
    height: 3.5rem;
    color: var(--mud-palette-warning);
}

.unauth-title[b-czbdwja2hj] {
    color: var(--mud-palette-text-primary);
    font-weight: 600;
    letter-spacing: -0.02em;
    margin-bottom: 12px;
}

.unauth-message[b-czbdwja2hj] {
    color: var(--mud-palette-text-secondary);
    line-height: 1.55;
    margin-bottom: 28px;
}

.unauth-actions[b-czbdwja2hj] {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
}

.unauth-card :focus-visible[b-czbdwja2hj] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
    border-radius: var(--radius-sm);
}

@media (max-width: 480px) {
    .unauth-actions[b-czbdwja2hj] { flex-direction: column; }
    .unauth-card[b-czbdwja2hj] { padding: 32px 20px; }
}

@media (prefers-reduced-motion: reduce) {
    .unauth-card[b-czbdwja2hj] { animation: none; }
}
/* /Features/BasePrices/Pages/BasePriceAdd.razor.rz.scp.css */
/* BasePriceAdd - layout only */

.form-actions[b-ueufuhkqci] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-bottom: 16px;
}
/* /Features/BasePrices/Pages/BasePriceList.razor.rz.scp.css */
/* BasePriceList - Scoped Styles (chrome owned by DsPage/DsPanel/DsToolbar) */

.prices__search[b-ozgg8eq2eu] {
    max-width: 480px;
}
/* /Features/BOs/Components/QuotaModulesComponent.razor.rz.scp.css */
/* ESS is sold by the seat, so its licence hangs off the feature toggle as its own level:
   Personal > Employee Self-Service > Employee Licence > count + price. */
.feature-licence[b-0nq1j6r6gf] {
    margin-inline-start: 2.25rem;
    padding: 0.75rem 1rem;
    border-inline-start: 2px solid var(--mud-palette-primary);
    background: var(--mud-palette-background-grey);
    border-radius: 0 6px 6px 0;
}
/* /Features/BOs/Pages/BusinessOwnersForm.razor.rz.scp.css */
/* BusinessOwnersForm - layout only */

.bo-form[b-ddzf4lkdlu] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.bo-form__grid[b-ddzf4lkdlu] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.bo-form__actions[b-ddzf4lkdlu] {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
}

@media (max-width: 960px) {
    .bo-form__grid[b-ddzf4lkdlu] {
        grid-template-columns: 1fr;
    }
}
/* /Features/BOs/Pages/BusinessOwnersIndex.razor.rz.scp.css */
/* BusinessOwnersIndex - Scoped Styles (chrome owned by DsPage/DsPanel/DsToolbar/DsEmptyState) */

.search-field[b-d9phgp7ss9] {
    min-width: 300px;
}

.filter-field[b-d9phgp7ss9] {
    min-width: 200px;
}

.menu-item-label[b-d9phgp7ss9] {
    margin: auto;
}

/* ── Per-subdomain column alignment ─────────────────────────────────────────
   Subdomains, Total, Status and Actions each render one .bo-sub-cell per
   subdomain in the same order. Locking every cell to the same height — and
   giving the non-subdomain columns a .bo-sub-head spacer matching the
   "N active / M total" line — makes the four columns line up row-for-row. */

.bo-sub-list[b-d9phgp7ss9] {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.bo-sub-head[b-d9phgp7ss9] {
    min-height: 22px;
    display: flex;
    align-items: center;
}

.bo-sub-cell[b-d9phgp7ss9] {
    min-height: 46px;
    display: flex;
    align-items: center;
}

.bo-sub-list--actions[b-d9phgp7ss9],
.bo-sub-cell--actions[b-d9phgp7ss9] {
    justify-content: center;
}

.bo-sub-cell--domain[b-d9phgp7ss9] {
    white-space: nowrap;
}

.bo-sub-period[b-d9phgp7ss9] {
    margin-top: 2px;
}

.bo-period-date[b-d9phgp7ss9] {
    font-weight: 500;
}

.bo-period-date--start[b-d9phgp7ss9] {
    color: var(--mud-palette-success);
}

.bo-period-date--end[b-d9phgp7ss9] {
    color: var(--mud-palette-error);
}

.bo-sub-total[b-d9phgp7ss9] {
    white-space: nowrap;
}

/* Dense data grid — hairline dividers, hover rows */
[b-d9phgp7ss9] .grid-modern .mud-table-row:hover {
    background-color: var(--mud-palette-action-default-hover);
    transition: background-color var(--dur-fast) var(--ease-out);
}

/* Responsive adjustments */
@media (max-width: 1400px) {
    [b-d9phgp7ss9] .mud-table-container {
        overflow-x: auto !important;
    }

    [b-d9phgp7ss9] .mud-table {
        min-width: 1200px !important;
    }
}

@media (max-width: 768px) {
    [b-d9phgp7ss9] .mud-table-container {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }

    [b-d9phgp7ss9] .mud-table {
        min-width: 1400px !important;
    }
}
/* /Features/BulkOperations/Pages/AuditLogDetails.razor.rz.scp.css */
/* AuditLogDetails — scoped styles for the audit__* markup in AuditLogDetails.razor.
   These classes were authored with no stylesheet backing them, so the page rendered
   as unstyled block elements. Tokens only (see Shared/Design/README.md): no raw hex,
   no rgb()/rgba(), no inline styles. */

/* ---------- identity strip (job id + triggering user) ---------- */

.audit__ident[b-e8vztxme8f] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 20px;
    padding: 10px 14px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--radius-md, 8px);
    background: var(--mud-palette-background-grey);
    font-size: var(--font-size-caption, 13px);
    color: var(--mud-palette-text-secondary);
}

.audit__job[b-e8vztxme8f],
.audit__user[b-e8vztxme8f] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.audit__user-icon[b-e8vztxme8f] {
    font-size: 1rem;
    color: var(--mud-palette-text-secondary);
}

.audit__user-id[b-e8vztxme8f] {
    color: var(--mud-palette-text-disabled);
}

/* ---------- metric row ---------- */

.audit__metrics[b-e8vztxme8f] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
}

/* ---------- progress ---------- */

.audit__progress[b-e8vztxme8f] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.audit__progress-top[b-e8vztxme8f] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.audit__progress-pct[b-e8vztxme8f] {
    font-size: 2rem;
    font-weight: var(--font-weight-bold, 700);
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: var(--mud-palette-text-primary);
}

.audit__progress-count[b-e8vztxme8f] {
    color: var(--mud-palette-text-secondary);
    font-size: var(--font-size-body2, 14px);
}

.audit__progress-bar[b-e8vztxme8f] {
    height: 10px;
}

/* Live badge in the panel header */

.audit__live[b-e8vztxme8f] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px 10px;
    border-radius: var(--radius-full, 9999px);
    background: color-mix(in srgb, var(--mud-palette-info) 14%, transparent);
    border: 1px solid color-mix(in srgb, var(--mud-palette-info) 35%, transparent);
    color: var(--mud-palette-info);
    font-size: var(--font-size-small, 12px);
    font-weight: var(--font-weight-medium, 500);
    white-space: nowrap;
}

.audit__live-dot[b-e8vztxme8f] {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: currentColor;
    flex-shrink: 0;
    animation: audit-pulse-b-e8vztxme8f 1.6s var(--ease-in-out, ease-in-out) infinite;
}

@keyframes audit-pulse-b-e8vztxme8f {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.25; }
}

.audit__updated[b-e8vztxme8f] {
    color: var(--mud-palette-text-secondary);
    font-size: var(--font-size-small, 12px);
    white-space: nowrap;
}

/* Succeeded / failed / remaining legend */

.audit__progress-legend[b-e8vztxme8f] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
}

.audit__leg[b-e8vztxme8f] {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: var(--font-size-caption, 13px);
    color: var(--mud-palette-text-secondary);
}

.audit__leg-dot[b-e8vztxme8f] {
    width: 8px;
    height: 8px;
    border-radius: 2px;
    flex-shrink: 0;
}

.audit__leg--ok .audit__leg-dot[b-e8vztxme8f] { background: var(--mud-palette-success); }
.audit__leg--fail .audit__leg-dot[b-e8vztxme8f] { background: var(--mud-palette-error); }
.audit__leg--rest .audit__leg-dot[b-e8vztxme8f] { background: var(--mud-palette-lines-default); }

/* Currently-processing callout */

.audit__current[b-e8vztxme8f] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 12px;
    border-radius: var(--radius-md, 8px);
    background: color-mix(in srgb, var(--mud-palette-info) 10%, transparent);
    border: 1px solid color-mix(in srgb, var(--mud-palette-info) 28%, transparent);
    font-size: var(--font-size-caption, 13px);
    color: var(--mud-palette-text-secondary);
}

.audit__current-icon[b-e8vztxme8f] {
    color: var(--mud-palette-info);
    font-size: 1rem;
}

.audit__current strong[b-e8vztxme8f] {
    color: var(--mud-palette-text-primary);
}

/* Started / completed / duration facts */

.audit__facts[b-e8vztxme8f] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 32px;
    margin: 0;
    padding-top: 12px;
    border-top: 1px solid var(--mud-palette-divider);
}

.audit__fact[b-e8vztxme8f] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

    .audit__fact dt[b-e8vztxme8f] {
        font-size: var(--font-size-small, 12px);
        color: var(--mud-palette-text-secondary);
        text-transform: uppercase;
        letter-spacing: 0.04em;
    }

    .audit__fact dd[b-e8vztxme8f] {
        margin: 0;
        font-size: var(--font-size-body2, 14px);
        color: var(--mud-palette-text-primary);
    }

/* ---------- operation metadata: labels, SQL, JSON ---------- */

.audit__section-label[b-e8vztxme8f] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 6px;
    font-size: var(--font-size-small, 12px);
    font-weight: var(--font-weight-semibold, 600);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--mud-palette-text-secondary);
}

.audit__section-icon[b-e8vztxme8f] {
    font-size: 1rem;
}

.audit__code[b-e8vztxme8f],
.audit__json[b-e8vztxme8f] {
    margin: 0;
    padding: 12px 14px;
    max-height: 320px;
    overflow: auto;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--radius-md, 8px);
    background: var(--mud-palette-background-grey);
    color: var(--mud-palette-text-primary);
    font-family: var(--font-mono);
    font-size: 0.8125rem;
    line-height: var(--line-height-normal, 1.5);
    white-space: pre-wrap;
    word-break: break-word;
    tab-size: 2;
}

/* ---------- rollback script ---------- */

.audit__rollback[b-e8vztxme8f] {
    border: 1px solid color-mix(in srgb, var(--mud-palette-warning) 40%, transparent);
    border-radius: var(--radius-md, 8px);
    overflow: hidden;
}

.audit__rollback-head[b-e8vztxme8f] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    padding: 8px 8px 8px 12px;
    background: color-mix(in srgb, var(--mud-palette-warning) 12%, transparent);
    border-bottom: 1px solid color-mix(in srgb, var(--mud-palette-warning) 30%, transparent);
}

.audit__rollback-title[b-e8vztxme8f] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: var(--font-size-caption, 13px);
    font-weight: var(--font-weight-semibold, 600);
    color: var(--mud-palette-text-primary);
}

.audit__rollback-icon[b-e8vztxme8f] {
    color: var(--mud-palette-warning);
    font-size: 1.1rem;
}

.audit__rollback-warn[b-e8vztxme8f] {
    padding: 2px 8px;
    border-radius: var(--radius-full, 9999px);
    background: color-mix(in srgb, var(--mud-palette-warning) 22%, transparent);
    color: var(--mud-palette-warning);
    font-size: 10px;
    font-weight: var(--font-weight-bold, 700);
    letter-spacing: 0.06em;
    white-space: nowrap;
}

.audit__rollback-pre[b-e8vztxme8f] {
    margin: 0;
    padding: 12px 14px;
    max-height: 360px;
    overflow: auto;
    background: var(--mud-palette-background-grey);
    color: var(--mud-palette-text-primary);
    font-family: var(--font-mono);
    font-size: 0.8125rem;
    line-height: var(--line-height-normal, 1.5);
    white-space: pre-wrap;
    word-break: break-word;
}

/* ---------- captured table data ---------- */

.audit__captured[b-e8vztxme8f] {
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--radius-md, 8px);
    overflow: hidden;
    margin-bottom: 10px;
}

.audit__captured-head[b-e8vztxme8f] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    padding: 8px 12px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.audit__captured-head--delete[b-e8vztxme8f] { background: color-mix(in srgb, var(--mud-palette-error) 10%, transparent); }
.audit__captured-head--update[b-e8vztxme8f] { background: color-mix(in srgb, var(--mud-palette-warning) 10%, transparent); }
.audit__captured-head--info[b-e8vztxme8f] { background: color-mix(in srgb, var(--mud-palette-info) 10%, transparent); }

.audit__captured-label[b-e8vztxme8f] {
    font-family: var(--font-mono);
    font-size: 0.8125rem;
    font-weight: var(--font-weight-semibold, 600);
    color: var(--mud-palette-text-primary);
}

.audit__captured-count[b-e8vztxme8f] {
    font-size: var(--font-size-small, 12px);
    color: var(--mud-palette-text-secondary);
    font-variant-numeric: tabular-nums;
}

.audit__captured-badge[b-e8vztxme8f] {
    margin-left: auto;
    padding: 2px 8px;
    border-radius: var(--radius-full, 9999px);
    font-size: 10px;
    font-weight: var(--font-weight-bold, 700);
    letter-spacing: 0.06em;
}

.audit__captured-badge--delete[b-e8vztxme8f] {
    background: color-mix(in srgb, var(--mud-palette-error) 18%, transparent);
    color: var(--mud-palette-error);
}

.audit__captured-badge--update[b-e8vztxme8f] {
    background: color-mix(in srgb, var(--mud-palette-warning) 20%, transparent);
    color: var(--mud-palette-warning);
}

.audit__captured-badge--info[b-e8vztxme8f] {
    background: color-mix(in srgb, var(--mud-palette-info) 18%, transparent);
    color: var(--mud-palette-info);
}

/* Wide captured tables scroll inside their own container — the page never scrolls sideways. */
.audit__captured-scroll[b-e8vztxme8f] {
    max-height: 340px;
    overflow: auto;
}

.audit__captured-table[b-e8vztxme8f] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-small, 12px);
}

    .audit__captured-table th[b-e8vztxme8f],
    .audit__captured-table td[b-e8vztxme8f] {
        padding: 6px 10px;
        text-align: left;
        white-space: nowrap;
        border-bottom: 1px solid var(--mud-palette-divider);
    }

    .audit__captured-table th[b-e8vztxme8f] {
        position: sticky;
        top: 0;
        z-index: 1;
        font-weight: var(--font-weight-semibold, 600);
        color: var(--mud-palette-text-secondary);
        background: var(--mud-palette-surface);
    }

    .audit__captured-table td[b-e8vztxme8f] {
        font-family: var(--font-mono);
        color: var(--mud-palette-text-primary);
        max-width: 320px;
        overflow: hidden;
        text-overflow: ellipsis;
    }

.audit__captured-thead--delete th[b-e8vztxme8f] { color: var(--mud-palette-error); }
.audit__captured-thead--update th[b-e8vztxme8f] { color: var(--mud-palette-warning); }
.audit__captured-thead--info th[b-e8vztxme8f] { color: var(--mud-palette-info); }

.audit__row-odd[b-e8vztxme8f] { background: var(--mud-palette-background-grey); }

.audit__cell-null[b-e8vztxme8f] {
    color: var(--mud-palette-text-disabled);
    font-style: italic;
}

.audit__captured-empty[b-e8vztxme8f] {
    padding: 14px;
    text-align: center;
}

/* ---------- subdomain reports ---------- */

.audit__report-head[b-e8vztxme8f] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    width: 100%;
}

.audit__report-name[b-e8vztxme8f] {
    font-weight: var(--font-weight-semibold, 600);
    font-size: var(--font-size-body1, 15px);
    color: var(--mud-palette-text-primary);
}

.audit__report-meta[b-e8vztxme8f] {
    font-size: var(--font-size-small, 12px);
    color: var(--mud-palette-text-secondary);
    padding: 2px 8px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--radius-full, 9999px);
    white-space: nowrap;
}

.audit__report-meta--fail[b-e8vztxme8f] {
    color: var(--mud-palette-error);
    border-color: color-mix(in srgb, var(--mud-palette-error) 40%, transparent);
}

.audit__tables[b-e8vztxme8f] {
    font-size: var(--font-size-caption, 13px);
}

/* ---------- FK mapping rows ---------- */

.audit__fk-list[b-e8vztxme8f] {
    display: flex;
    flex-direction: column;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--radius-md, 8px);
    overflow: hidden;
}

.audit__fk-row[b-e8vztxme8f] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    padding: 6px 8px 6px 12px;
    border-bottom: 1px solid var(--mud-palette-divider);
}

    .audit__fk-row:last-child[b-e8vztxme8f] {
        border-bottom: none;
    }

    .audit__fk-row:hover[b-e8vztxme8f] {
        background: var(--mud-palette-action-default-hover);
    }

.audit__fk-name[b-e8vztxme8f] {
    font-size: 0.8125rem;
    color: var(--mud-palette-text-primary);
}

.audit__fk-actions[b-e8vztxme8f] {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-wrap: wrap;
}

.audit__fk-id[b-e8vztxme8f] {
    font-size: 0.75rem;
}

/* ---------- dialogs ---------- */

.audit__stacktrace[b-e8vztxme8f]  textarea {
    font-family: var(--font-mono);
    font-size: 0.75rem;
    line-height: var(--line-height-normal, 1.5);
}

/* ---------- responsive ---------- */

@media (max-width: 700px) {
    .audit__progress-pct[b-e8vztxme8f] {
        font-size: 1.5rem;
    }

    .audit__facts[b-e8vztxme8f] {
        gap: 10px 20px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .audit__live-dot[b-e8vztxme8f] {
        animation: none;
    }
}
/* /Features/ClarityViewer/Pages/ClarityViewerPage.razor.rz.scp.css */
/* Clarity Viewer — scoped layout (Precision Ops Console).
   Surfaces/labels now come from the design-system kit (DsPage / DsPanel);
   only page-local layout remains here. */

/* Keep the page narrow like the other single-column monitoring tools. */
.clarity-page[b-kny60gxjai] {
    max-width: 900px;
}

/* Spacing between the two stacked panels. */
.clarity-page[b-kny60gxjai]  .clarity-session-panel {
    margin-top: 16px;
}

/* Inputs grow to fill the row; the action button hugs its label. */
.clarity-field[b-kny60gxjai] {
    flex: 1;
}

.clarity-action-btn[b-kny60gxjai] {
    height: 40px;
    white-space: nowrap;
}
/* /Features/ContainerApps/Pages/ContainerAppDetails.razor.rz.scp.css */
/* Container App Details - layout only (surfaces/metrics/status owned by the design kit) */

.ca__btn-spinner[b-o2eay7ay1a] {
    color: inherit;
}

/* Overview: metadata panel + two metric cards */
.ca__overview[b-o2eay7ay1a] {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 16px;
    margin-bottom: 16px;
    align-items: stretch;
}

.ca__overview-info .ca__kv[b-o2eay7ay1a] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 6px 0;
}

.ca__kv + .ca__kv[b-o2eay7ay1a] {
    border-top: 1px solid var(--mud-palette-lines-default);
}

.ca__kv-label[b-o2eay7ay1a] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

.ca__kv-value[b-o2eay7ay1a] {
    font-weight: 600;
    word-break: break-all;
}

/* Metric tile rows */
.ca__metrics[b-o2eay7ay1a] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

/* Revisions */
.revision-card[b-o2eay7ay1a] {
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 8px;
    transition: border-color var(--dur-fast) var(--ease-out);
}

.revision-card:hover[b-o2eay7ay1a] {
    border-color: var(--mud-palette-primary);
}

/* Active revision: full border + tint, not a side-stripe accent */
.revision-active[b-o2eay7ay1a] {
    border-color: var(--mud-palette-success);
    background: var(--mud-palette-success-hover);
}

.ca__rev-name[b-o2eay7ay1a] {
    font-weight: 600;
}

/* Simple tables inside surfaces */
.ca__table[b-o2eay7ay1a] {
    background: transparent;
}

.ca__th[b-o2eay7ay1a] {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.ca__th-action[b-o2eay7ay1a] {
    width: 48px;
}

.ca__th-icon[b-o2eay7ay1a] {
    width: 36px;
}

.ca__replica-name[b-o2eay7ay1a] {
    font-size: 12px;
}

.ca__container-chip[b-o2eay7ay1a] {
    font-size: 11px;
}

/* Container failure detail rows */
.ca__fail-row[b-o2eay7ay1a] {
    background: var(--mud-palette-error-hover);
}

.ca__fail-cell[b-o2eay7ay1a] {
    padding-bottom: 8px;
}

.ca__fail-item[b-o2eay7ay1a] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 11px;
    margin-top: 4px;
}

.ca__fail-icon[b-o2eay7ay1a] {
    font-size: 14px;
    flex-shrink: 0;
    margin-top: 1px;
}

.ca__fail-name[b-o2eay7ay1a] {
    font-weight: 600;
}

.ca__fail-chip[b-o2eay7ay1a] {
    font-size: 10px;
    height: 18px;
    margin: 0 4px;
}

.ca__fail-detail[b-o2eay7ay1a] {
    color: var(--mud-palette-error);
    margin-left: 4px;
}

/* Logs toolbar selects */
.ca__select-rev[b-o2eay7ay1a] {
    min-width: 200px;
}

.ca__select-replica[b-o2eay7ay1a] {
    min-width: 180px;
}

.ca__select-lines[b-o2eay7ay1a] {
    min-width: 90px;
}

.ca__monitor-title[b-o2eay7ay1a] {
    font-weight: 600;
}

/* Environment table */
.ca__env-key[b-o2eay7ay1a] {
    font-size: 12px;
    font-weight: 600;
}

.ca__env-value[b-o2eay7ay1a] {
    font-size: 12px;
    max-width: 480px;
    word-break: break-all;
}

.ca__secret-dots[b-o2eay7ay1a] {
    color: var(--mud-palette-text-disabled);
    letter-spacing: 2px;
}

.ca__empty[b-o2eay7ay1a] {
    color: var(--mud-palette-text-disabled);
}

.ca__logs-empty-icon[b-o2eay7ay1a] {
    font-size: 40px;
}

/* Log Output — console surface, token-driven for both themes */
.logs-output[b-o2eay7ay1a] {
    background: var(--mud-palette-surface);
    border-radius: 8px;
    padding: 16px;
    min-height: 200px;
    max-height: 560px;
    overflow-y: auto;
    font-family: var(--font-mono);
    font-size: 12px;
    line-height: 1.6;
    border: 1px solid var(--mud-palette-lines-default);
}

.logs-placeholder[b-o2eay7ay1a] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    color: var(--mud-palette-text-disabled);
    padding: 48px 24px;
    text-align: center;
}

.log-line[b-o2eay7ay1a] {
    display: flex;
    gap: 12px;
    padding: 1px 4px;
    color: var(--mud-palette-text-primary);
    white-space: pre-wrap;
    word-break: break-all;
}

.log-line:hover[b-o2eay7ay1a] {
    background: var(--mud-palette-action-default-hover);
    border-radius: 2px;
}

/* stderr lines carry warning semantics */
.log-stderr[b-o2eay7ay1a] {
    color: var(--mud-palette-warning);
}

.log-stderr .log-ts[b-o2eay7ay1a] {
    color: var(--mud-palette-warning-darken);
}

.log-ts[b-o2eay7ay1a] {
    color: var(--mud-palette-text-disabled);
    flex-shrink: 0;
    user-select: none;
}

.log-msg[b-o2eay7ay1a] {
    flex: 1;
}

/* Grafana — DESIGN §6 iframe idiom: r-md, 1px border, 70vh min-height */
.grafana-iframe[b-o2eay7ay1a] {
    width: 100%;
    min-height: 70vh;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--radius-md);
}

/* Responsive */
@media (max-width: 1100px) {
    .ca__overview[b-o2eay7ay1a] {
        grid-template-columns: 1fr 1fr;
    }
    .ca__metrics[b-o2eay7ay1a] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 960px) {
    .logs-output[b-o2eay7ay1a] {
        max-height: 400px;
        font-size: 11px;
    }
}

@media (max-width: 600px) {
    .ca__overview[b-o2eay7ay1a],
    .ca__metrics[b-o2eay7ay1a] {
        grid-template-columns: 1fr;
    }
}
/* /Features/ContainerApps/Pages/ContainerAppsIndex.razor.rz.scp.css */
/* ContainerAppsIndex - layout only (cards, surfaces, chips, empty states come from the kit) */

.apps__cards[b-jl6goxjph2] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 14px;
    margin-bottom: 16px;
}

.apps__toolbar[b-jl6goxjph2] {
    padding: 12px 16px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.apps__search[b-jl6goxjph2] {
    min-width: 260px;
    flex: 1;
}

.apps__name[b-jl6goxjph2] {
    font-weight: 600;
}

.apps__tag[b-jl6goxjph2] {
    color: var(--mud-palette-text-secondary);
    font-size: 12px;
}
/* /Features/DatabaseBackup/Components/BackupStateFilter.razor.rz.scp.css */
/* BackupStateFilter - flat status pills with counts (same idiom as the Tenant Control Center quick filters) */

.bh-filter[b-953kyshrel] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
}

.bh-filter__item[b-953kyshrel] {
    appearance: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 28px;
    padding: 0 10px;
    border: 1px solid transparent;
    border-radius: 999px;
    background: transparent;
    color: var(--mud-palette-text-secondary);
    font: inherit;
    font-size: 0.8125rem;
    font-weight: 500;
    cursor: pointer;
}

    .bh-filter__item:hover[b-953kyshrel] {
        color: var(--mud-palette-text-primary);
        background: var(--mud-palette-action-default-hover);
    }

    .bh-filter__item:focus-visible[b-953kyshrel] {
        outline: 2px solid var(--mud-palette-primary);
        outline-offset: 2px;
    }

.bh-filter__item--active[b-953kyshrel],
.bh-filter__item--active:hover[b-953kyshrel] {
    color: var(--mud-palette-primary);
    border-color: color-mix(in srgb, var(--mud-palette-primary) 40%, transparent);
    background: color-mix(in srgb, var(--mud-palette-primary) 12%, transparent);
}

.bh-filter__count[b-953kyshrel] {
    color: var(--mud-palette-text-primary);
    font-weight: 600;
}

.bh-filter__item--active .bh-filter__count[b-953kyshrel] {
    color: inherit;
}

.bh-filter__item--danger .bh-filter__count[b-953kyshrel] {
    color: var(--mud-palette-error);
}
/* /Features/DatabaseBackup/Pages/BackupHistoryPage.razor.rz.scp.css */
/* BackupHistoryPage - one panel: status pills + link expiry, then a calm grid whose rows expand to a restore script.
   Header, surfaces, status chips and empty states come from the Ds kit; this file owns the cells and the child row. */

.bh[b-go2bttgxxz] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* ── Toolbar ───────────────────────────────────────────── */
[b-go2bttgxxz] .bh__toolbar {
    padding: 10px 16px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

[b-go2bttgxxz] .bh__expiry {
    width: 150px;
}

    [b-go2bttgxxz] .bh__expiry .mud-input-control {
        margin: 0;
    }

/* ── Grid ──────────────────────────────────────────────── */
[b-go2bttgxxz] .bh__grid .mud-table-container {
    max-height: max(360px, calc(100dvh - 380px));
}

[b-go2bttgxxz] .bh__grid .mud-table-cell {
    vertical-align: middle;
    padding-block: 8px;
}

[b-go2bttgxxz] .bh__grid .mud-table-head .mud-table-cell {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
    background: var(--mud-palette-surface);
    white-space: nowrap;
}

[b-go2bttgxxz] .bh__num {
    text-align: end;
}

.bh__time[b-go2bttgxxz] {
    font-size: 0.8125rem;
    white-space: nowrap;
}

.bh__muted[b-go2bttgxxz] {
    color: var(--mud-palette-text-disabled);
}

.bh__secondary[b-go2bttgxxz] {
    display: block;
    max-width: 220px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
}

/* ── Databases ─────────────────────────────────────────── */
.bh__targets[b-go2bttgxxz] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.bh__target[b-go2bttgxxz] {
    display: inline-block;
    max-width: 150px;
    padding: 1px 8px;
    border-radius: var(--radius-sm);
    border: 1px solid var(--mud-palette-lines-default);
    background: var(--mud-palette-background-gray);
    font-size: 0.75rem;
    line-height: 1.5;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.bh__target--more[b-go2bttgxxz] {
    color: var(--mud-palette-text-secondary);
    cursor: default;
}

/* ── Format badge ──────────────────────────────────────── */
.bh__format[b-go2bttgxxz] {
    display: inline-block;
    padding: 1px 8px;
    border-radius: var(--radius-sm);
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.bh__format--bak[b-go2bttgxxz] {
    background: color-mix(in srgb, var(--mud-palette-warning) 14%, transparent);
    color: var(--mud-palette-warning);
}

.bh__format--sql[b-go2bttgxxz] {
    background: color-mix(in srgb, var(--mud-palette-info) 14%, transparent);
    color: var(--mud-palette-info);
}

/* ── Output (file or error) ────────────────────────────── */
.bh__output[b-go2bttgxxz] {
    display: block;
    max-width: 280px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
}

.bh__output--error[b-go2bttgxxz] {
    color: var(--mud-palette-error);
}

.bh__expired[b-go2bttgxxz] {
    font-size: 0.75rem;
    font-style: italic;
    color: var(--mud-palette-text-disabled);
}

/* ── Row actions (sticky on the end edge while the grid scrolls sideways) ── */
[b-go2bttgxxz] .bh__actions {
    width: 112px;
    text-align: end;
}

.bh__row-actions[b-go2bttgxxz] {
    display: inline-flex;
    align-items: center;
    gap: 2px;
}

[b-go2bttgxxz] .bh__grid .mud-table-cell.sticky-right {
    box-shadow: inset 1px 0 0 var(--mud-palette-lines-default);
    background-color: var(--mud-palette-surface);
}

[b-go2bttgxxz] .bh__grid .mud-table-row:hover .mud-table-cell.sticky-right {
    background-image: linear-gradient(var(--mud-palette-table-hover), var(--mud-palette-table-hover));
}

/* ── Restore script (expanded child row) ───────────────── */
.bh__restore[b-go2bttgxxz] {
    padding: 12px 16px 16px;
    background: var(--mud-palette-background-gray);
    border-top: 1px solid var(--mud-palette-lines-default);
}

.bh__restore-head[b-go2bttgxxz] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 10px;
}

[b-go2bttgxxz] .bh__restore-icon {
    margin-top: 2px;
    color: var(--mud-palette-primary);
}

.bh__restore-text[b-go2bttgxxz] {
    flex: 1 1 auto;
    min-width: 0;
}

[b-go2bttgxxz] .bh__restore-hint {
    display: block;
    max-width: 90ch;
    color: var(--mud-palette-text-secondary);
}

.bh__restore-sql[b-go2bttgxxz] {
    margin: 0;
    padding: 12px 14px;
    border-radius: var(--radius-sm);
    background: var(--mud-palette-surface);
    border: 1px solid var(--mud-palette-lines-default);
    font-family: var(--font-mono);
    font-size: 0.75rem;
    line-height: 1.55;
    color: var(--mud-palette-text-primary);
    white-space: pre;
    overflow-x: auto;
}

/* ── Loading skeleton ──────────────────────────────────── */
.bh__skeleton[b-go2bttgxxz] {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 16px;
}

.bh__skeleton-row[b-go2bttgxxz] {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr) 140px;
    align-items: center;
    gap: 24px;
}

@media (max-width: 960px) {
    [b-go2bttgxxz] .bh__toolbar .ds-toolbar__end {
        width: 100%;
    }

    .bh__restore-head[b-go2bttgxxz] {
        flex-wrap: wrap;
    }
}
/* /Features/DatabaseBackup/Pages/DatabaseBackupPage.razor.rz.scp.css */
/* ══════════════════════════════════════════════════════════════
   Database Backup — Precision Ops Console (see DESIGN.md §6)
   No inline styles, no gradients, tokenized surfaces only.
   ══════════════════════════════════════════════════════════════ */

/* ── Page grid ─────────────────────────────────────────── */

.dashboard-grid[b-tlwrdlm13u] {
    display: grid;
    grid-template-columns: 380px 1fr;
    gap: 16px;
    height: calc(100vh - 180px);
    overflow: hidden;
}

.config-panel[b-tlwrdlm13u] {
    overflow-y: auto;
    padding-right: 2px;
}

.history-panel[b-tlwrdlm13u] {
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

/* ── Config panel fills the left column ────────────────── */

[b-tlwrdlm13u] .dbbak__config {
    overflow: hidden;
}

/* ── History panel: fixed head + scrollable feed ───────── */

[b-tlwrdlm13u] .dbbak__history {
    height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

[b-tlwrdlm13u] .dbbak__history .ds-panel__body {
    flex: 1;
    overflow-y: auto;
    min-height: 0;
}

/* ── Tab content area ──────────────────────────────────── */

.tab-body[b-tlwrdlm13u] {
    padding: 12px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-height: 110px;
}

.tab-hint[b-tlwrdlm13u] {
    font-size: 0.8rem;
    color: var(--mud-palette-text-secondary);
    margin: 0;
}

/* ── Selected-item chips ───────────────────────────────── */

.chip-area[b-tlwrdlm13u] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.chip-meta[b-tlwrdlm13u] {
    font-size: 0.68rem;
    opacity: 0.7;
    margin-left: 4px;
}

/* ── Section scaffolding ───────────────────────────────── */

.config-divider[b-tlwrdlm13u] {
    height: 1px;
    background: var(--mud-palette-lines-default);
    margin: 0 12px;
}

.config-divider--spaced[b-tlwrdlm13u] {
    margin: 14px 12px 0 12px;
}

.section-label[b-tlwrdlm13u] {
    font-size: 0.67rem;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: var(--mud-palette-text-secondary);
    margin-bottom: 10px;
}

.format-section[b-tlwrdlm13u] {
    padding: 14px 14px 0 14px;
}

.expiry-section[b-tlwrdlm13u] {
    padding: 12px 14px 0 14px;
}

.expiry-section .section-label[b-tlwrdlm13u] {
    margin-bottom: 6px;
}

.info-note[b-tlwrdlm13u] {
    margin: 12px 14px 0 14px;
}

.run-section[b-tlwrdlm13u] {
    padding: 14px;
}

/* ── Format card (flat primary-tinted surface, no gradient) */

.format-row[b-tlwrdlm13u] {
    display: flex;
    gap: 8px;
}

.format-card[b-tlwrdlm13u] {
    padding: 7px 10px;
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    gap: 7px;
    user-select: none;
    background: color-mix(in srgb, var(--mud-palette-primary) 12%, transparent);
    border: 1px solid var(--mud-palette-primary);
    color: var(--mud-palette-primary);
}

.format-card__icon[b-tlwrdlm13u] {
    font-size: 1.1rem;
    color: var(--mud-palette-primary);
}

.format-card__title[b-tlwrdlm13u] {
    font-size: 0.77rem;
    font-weight: 700;
    line-height: 1.2;
}

.format-card__sub[b-tlwrdlm13u] {
    font-size: 0.62rem;
    opacity: 0.82;
}

/* ── Run button ────────────────────────────────────────── */

.run-btn[b-tlwrdlm13u] {
    border-radius: var(--radius-lg);
    height: 46px;
    font-weight: 700;
    font-size: 0.92rem;
    letter-spacing: 0.5px;
}

/* ── History feed ──────────────────────────────────────── */

.history-feed[b-tlwrdlm13u] {
    padding: 10px 10px 4px 10px;
}

/* ── History item card (no colored side-stripe accents) ── */

.history-item[b-tlwrdlm13u] {
    border-radius: var(--radius-md);
    overflow: hidden;
    margin-bottom: 9px;
    background: var(--mud-palette-surface);
    border: 1px solid var(--mud-palette-lines-default);
    transition: border-color var(--dur-fast) var(--ease-out);
}

.history-item:hover[b-tlwrdlm13u] {
    border-color: var(--mud-palette-primary);
}

.history-item__body[b-tlwrdlm13u] {
    padding: 11px 13px;
}

.history-item__row1[b-tlwrdlm13u] {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 8px;
}

.state-avatar[b-tlwrdlm13u] {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    flex-shrink: 0;
    background: var(--mud-palette-background-grey);
    border: 1px solid var(--mud-palette-lines-default);
    display: flex;
    align-items: center;
    justify-content: center;
}

.item-identity[b-tlwrdlm13u] {
    min-width: 0;
    flex: 1;
}

.item-name[b-tlwrdlm13u] {
    font-weight: 700;
    font-size: 0.85rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    line-height: 1.3;
}

.item-email[b-tlwrdlm13u] {
    font-size: 0.68rem;
    color: var(--mud-palette-text-secondary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin-top: 1px;
}

.time-pill[b-tlwrdlm13u] {
    font-size: 0.63rem;
    white-space: nowrap;
    flex-shrink: 0;
    background: var(--mud-palette-background-grey);
    padding: 3px 9px;
    border-radius: var(--radius-full);
    color: var(--mud-palette-text-secondary);
}

/* ── Badge row (status chip + format + duration) ───────── */

.badge-row[b-tlwrdlm13u] {
    display: flex;
    align-items: center;
    gap: 5px;
    flex-wrap: wrap;
    margin-bottom: 6px;
}

.badge-row--last[b-tlwrdlm13u] {
    margin-bottom: 9px;
}

/* Format badge */
.format-badge[b-tlwrdlm13u] {
    font-size: 0.63rem;
    font-weight: 700;
    padding: 2px 9px;
    border-radius: var(--radius-full);
    letter-spacing: 0.5px;
    text-transform: uppercase;
    font-family: var(--font-mono);
}

.format-badge--bak[b-tlwrdlm13u] {
    background: color-mix(in srgb, var(--mud-palette-warning) 14%, transparent);
    color: var(--mud-palette-warning);
}

.format-badge--sql[b-tlwrdlm13u] {
    background: color-mix(in srgb, var(--mud-palette-info) 14%, transparent);
    color: var(--mud-palette-info);
}

/* Neutral meta pill (duration) */
.meta-pill[b-tlwrdlm13u] {
    font-size: 0.63rem;
    padding: 2px 9px;
    border-radius: var(--radius-full);
    background: var(--mud-palette-background-grey);
    color: var(--mud-palette-text-secondary);
}

/* ── Target (database) chips ───────────────────────────── */

.target-chip-row[b-tlwrdlm13u] {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-wrap: wrap;
    margin-bottom: 9px;
}

.target-chip[b-tlwrdlm13u] {
    font-size: 0.6rem;
    padding: 2px 8px;
    border-radius: var(--radius-full);
    background: var(--mud-palette-background-grey);
    border: 1px solid var(--mud-palette-lines-default);
    color: var(--mud-palette-text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 120px;
    display: inline-block;
}

.target-chip--more[b-tlwrdlm13u] {
    color: var(--mud-palette-text-secondary);
}

/* ── Live progress ─────────────────────────────────────── */

.progress-section[b-tlwrdlm13u] {
    margin-top: 7px;
}

.progress-caption[b-tlwrdlm13u] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: 3px;
}

.progress-db[b-tlwrdlm13u] {
    font-size: 0.69rem;
    color: var(--mud-palette-text-secondary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.progress-pct[b-tlwrdlm13u] {
    font-size: 0.69rem;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
    flex-shrink: 0;
}

/* ── Error box (full tint, no side-stripe) ─────────────── */

.error-box[b-tlwrdlm13u] {
    margin-top: 7px;
    padding: 7px 10px;
    border-radius: var(--radius-md);
    background: color-mix(in srgb, var(--mud-palette-error) 8%, transparent);
    border: 1px solid color-mix(in srgb, var(--mud-palette-error) 30%, transparent);
    font-size: 0.73rem;
    color: var(--mud-palette-error);
    line-height: 1.4;
}

/* ── Skeleton rows ─────────────────────────────────────── */

.skeleton-card[b-tlwrdlm13u] {
    border-radius: var(--radius-md);
    border: 1px solid var(--mud-palette-lines-default);
    padding: 11px 13px;
    margin-bottom: 9px;
}

/* ── Responsive ────────────────────────────────────────── */

@media (max-width: 900px) {
    .dashboard-grid[b-tlwrdlm13u] {
        grid-template-columns: 1fr;
        height: auto;
        overflow: visible;
    }

    .history-panel[b-tlwrdlm13u] {
        min-height: 400px;
    }
}
/* /Features/DatabaseExplorer/Components/AddRowDialog.razor.rz.scp.css */
/* AddRowDialog - Scoped Styles */

.dbe-dlg-title[b-91jfqu5sy1] {
    display: flex;
    align-items: center;
}

.dbe-dlg-body[b-91jfqu5sy1] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 420px;
    max-width: 640px;
}

.dbe-dlg-target[b-91jfqu5sy1] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    background: var(--mud-palette-gray-lighter);
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 6px;
    color: var(--mud-palette-text-primary);
}

.dbe-dlg-target-text[b-91jfqu5sy1] {
    font-weight: 600;
    font-family: var(--font-mono);
    font-size: 0.875rem;
}

.dbe-dlg-alert[b-91jfqu5sy1] {
    margin: 4px 0;
}

.dbe-dlg-fields[b-91jfqu5sy1] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 12px;
}

.dbe-dlg-field[b-91jfqu5sy1] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.dbe-dlg-field-hint[b-91jfqu5sy1] {
    font-size: 0.65rem;
    color: var(--mud-palette-text-disabled);
}

.dbe-dlg-switch-row[b-91jfqu5sy1] {
    display: flex;
    align-items: center;
    min-height: 48px;
    padding: 0 4px;
}

@@media (max-width: 599px) {
    .dbe-dlg-body[b-91jfqu5sy1] {
        min-width: auto;
    }

    .dbe-dlg-fields[b-91jfqu5sy1] {
        grid-template-columns: 1fr;
    }
}
/* /Features/DatabaseExplorer/Components/ConfirmWriteDialog.razor.rz.scp.css */
/* ConfirmWriteDialog - Scoped Styles */

.dbe-cw-title[b-vvtd2kn0ti] {
    display: flex;
    align-items: center;
}

.dbe-cw-body[b-vvtd2kn0ti] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 420px;
    max-width: 620px;
}

.dbe-cw-alert[b-vvtd2kn0ti] {
    font-weight: 500;
}

.dbe-cw-sql-label[b-vvtd2kn0ti] {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--mud-palette-text-secondary);
}

.dbe-cw-sql[b-vvtd2kn0ti] {
    margin: 0;
    padding: 12px;
    background: var(--mud-palette-background);
    color: var(--mud-palette-text-primary);
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 6px;
    font-family: var(--font-mono);
    font-size: 0.8rem;
    white-space: pre-wrap;
    word-break: break-word;
    max-height: 220px;
    overflow: auto;
}

.dbe-cw-instruction[b-vvtd2kn0ti] {
    color: var(--mud-palette-text-secondary);
}

.dbe-cw-word[b-vvtd2kn0ti] {
    font-family: var(--font-mono);
    font-weight: 700;
    color: var(--mud-palette-error);
    background: color-mix(in srgb, var(--mud-palette-error) 14%, transparent);
    padding: 1px 6px;
    border-radius: 4px;
}

/* Typed-confirmation input — danger-bordered so an irreversible write is unmistakable */
[b-vvtd2kn0ti] .dbe-cw-input .mud-input-outlined-border {
    border-color: color-mix(in srgb, var(--mud-palette-error) 55%, transparent);
}

[b-vvtd2kn0ti] .dbe-cw-input .mud-input.mud-input-focused .mud-input-outlined-border {
    border-color: var(--mud-palette-error);
}

@@media (max-width: 599px) {
    .dbe-cw-body[b-vvtd2kn0ti] {
        min-width: auto;
    }
}
/* /Features/DatabaseExplorer/Components/DbeObjectTree.razor.rz.scp.css */
/* DbeObjectTree - filter on top, schema groups of monospace table rows below */

.dbe-tree[b-uobh3157ar] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
}

.dbe-tree__search[b-uobh3157ar] {
    flex-shrink: 0;
    padding: 10px 12px;
    border-bottom: 1px solid var(--mud-palette-divider);
}

.dbe-tree__list[b-uobh3157ar] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding-block: 4px 12px;
}

.dbe-tree__skeleton[b-uobh3157ar] {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 16px;
}

/* ── Schema group ── */
.dbe-tree__schema[b-uobh3157ar] {
    position: sticky;
    top: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 10px 12px 4px;
    background: var(--mud-palette-surface);
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
}

[b-uobh3157ar] .dbe-tree__schema-icon {
    font-size: 0.9375rem;
}

.dbe-tree__schema-name[b-uobh3157ar] {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-family: var(--font-mono);
}

.dbe-tree__schema-count[b-uobh3157ar] {
    font-weight: 500;
}

/* ── Table row ── */
.dbe-tree__item[b-uobh3157ar] {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 5px 12px 5px 20px;
    border: 0;
    background: transparent;
    color: var(--mud-palette-text-primary);
    font-family: var(--font-mono);
    font-size: 0.8125rem;
    line-height: 1.4;
    text-align: start;
    cursor: pointer;
    transition: background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
}

.dbe-tree__item:hover[b-uobh3157ar] {
    background: var(--mud-palette-action-default-hover);
}

.dbe-tree__item:focus-visible[b-uobh3157ar] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: -2px;
}

.dbe-tree__item--active[b-uobh3157ar] {
    background: color-mix(in srgb, var(--mud-palette-primary) 14%, transparent);
    color: var(--mud-palette-primary);
    font-weight: 600;
}

    .dbe-tree__item--active:hover[b-uobh3157ar] {
        background: color-mix(in srgb, var(--mud-palette-primary) 18%, transparent);
    }

[b-uobh3157ar] .dbe-tree__item-icon {
    font-size: 0.9375rem;
    color: var(--mud-palette-text-secondary);
    flex-shrink: 0;
}

.dbe-tree__item--active[b-uobh3157ar]  .dbe-tree__item-icon {
    color: var(--mud-palette-primary);
}

.dbe-tree__item-name[b-uobh3157ar] {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dbe-tree__item-rows[b-uobh3157ar] {
    flex-shrink: 0;
    font-size: 0.75rem;
    font-weight: 400;
    color: var(--mud-palette-text-secondary);
    font-variant-numeric: tabular-nums;
}

@media (prefers-reduced-motion: reduce) {
    .dbe-tree__item[b-uobh3157ar] {
        transition: none;
    }
}
/* /Features/DatabaseExplorer/Components/DbePager.razor.rz.scp.css */
/* DbePager - one quiet row under the grid */

.dbe-pager[b-ms86dpo4wa] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px 16px;
    padding: 6px 12px 6px 16px;
    border-top: 1px solid var(--mud-palette-lines-default);
    background: var(--mud-palette-surface);
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
}

.dbe-pager__range[b-ms86dpo4wa],
.dbe-pager__current[b-ms86dpo4wa] {
    font-variant-numeric: tabular-nums;
}

.dbe-pager__nav[b-ms86dpo4wa] {
    display: flex;
    align-items: center;
    gap: 2px;
}

.dbe-pager__current[b-ms86dpo4wa] {
    min-width: 96px;
    padding: 0 8px;
    text-align: center;
    color: var(--mud-palette-text-primary);
}

.dbe-pager__size[b-ms86dpo4wa] {
    display: flex;
    align-items: center;
    gap: 8px;
}

[b-ms86dpo4wa] .dbe-pager__select {
    width: 84px;
    flex: 0 0 auto;
}

/* /Features/DatabaseExplorer/Components/DbeResultGrid.razor.rz.scp.css */
/* DbeResultGrid - dense console grid: sticky typed headers, monospace cells, hover-revealed row tools */

.dbe-grid[b-7j61lbfp88] {
    transition: opacity var(--dur-base) var(--ease-out);
}

.dbe-grid--busy[b-7j61lbfp88] {
    opacity: 0.55;
    pointer-events: none;
}

.dbe-grid__table[b-7j61lbfp88] {
    min-width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 0.8125rem;
    line-height: 1.4;
    white-space: nowrap;
}

/* ── Header ── */
.dbe-grid__th[b-7j61lbfp88] {
    position: sticky;
    top: 0;
    z-index: 1;
    padding: 8px 12px;
    text-align: start;
    vertical-align: bottom;
    background: var(--mud-palette-background-gray);
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.dbe-grid__th--num[b-7j61lbfp88] {
    text-align: end;
}

.dbe-grid__col-name[b-7j61lbfp88] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
}

.dbe-grid__col-type[b-7j61lbfp88] {
    display: block;
    margin-top: 1px;
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    font-weight: 400;
    color: var(--mud-palette-text-secondary);
}

[b-7j61lbfp88] .dbe-grid__pk {
    font-size: 0.875rem;
    color: var(--mud-palette-warning);
}

/* ── Body ── */
.dbe-grid__td[b-7j61lbfp88] {
    padding: 5px 12px;
    color: var(--mud-palette-text-primary);
    border-bottom: 1px solid var(--mud-palette-divider);
    background: var(--mud-palette-surface);
    transition: background-color var(--dur-fast) var(--ease-out);
}

.dbe-grid__cell[b-7j61lbfp88] {
    max-width: 360px;
    overflow: hidden;
    text-overflow: ellipsis;
    font-family: var(--font-mono);
    font-variant-numeric: tabular-nums;
    cursor: copy;
}

.dbe-grid__td--num[b-7j61lbfp88] {
    text-align: end;
}

.dbe-grid__td--null[b-7j61lbfp88] {
    color: var(--mud-palette-text-disabled);
    font-style: italic;
}

.dbe-grid__tr:hover .dbe-grid__td[b-7j61lbfp88],
.dbe-grid__tr:focus-within .dbe-grid__td[b-7j61lbfp88] {
    /* Opaque tint, so cells scrolling under the sticky gutter never show through. */
    background: color-mix(in srgb, var(--mud-palette-primary) 7%, var(--mud-palette-surface));
}

/* ── Row tools gutter ── */
.dbe-grid__gutter[b-7j61lbfp88] {
    position: sticky;
    inset-inline-start: 0;
    z-index: 1;
    width: 40px;
    padding: 2px 4px;
}

.dbe-grid__th.dbe-grid__gutter[b-7j61lbfp88] {
    z-index: 2;
}

.dbe-grid__gutter--wide[b-7j61lbfp88] {
    width: 100px;
}

.dbe-grid__tools[b-7j61lbfp88] {
    display: flex;
    align-items: center;
    gap: 2px;
    opacity: 0.35;
    transition: opacity var(--dur-fast) var(--ease-out);
}

.dbe-grid__tr:hover .dbe-grid__tools[b-7j61lbfp88],
.dbe-grid__tr:focus-within .dbe-grid__tools[b-7j61lbfp88] {
    opacity: 1;
}

[b-7j61lbfp88] .dbe-grid__tool {
    width: 28px;
    height: 28px;
    padding: 4px;
}

    [b-7j61lbfp88] .dbe-grid__tool .mud-icon-root {
        font-size: 1rem;
    }

.dbe-visually-hidden[b-7j61lbfp88] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

@media (hover: none) {
    .dbe-grid__tools[b-7j61lbfp88] {
        opacity: 1;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dbe-grid[b-7j61lbfp88],
    .dbe-grid__td[b-7j61lbfp88],
    .dbe-grid__tools[b-7j61lbfp88] {
        transition: none;
    }
}
/* /Features/DatabaseExplorer/Components/EditRowDialog.razor.rz.scp.css */
/* EditRowDialog - Scoped Styles */

.dbe-dlg-title[b-bbbshxzy0t] {
    display: flex;
    align-items: center;
}

.dbe-dlg-body[b-bbbshxzy0t] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 420px;
    max-width: 640px;
}

.dbe-dlg-target[b-bbbshxzy0t] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    background: var(--mud-palette-gray-lighter);
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 6px;
    color: var(--mud-palette-text-primary);
}

.dbe-dlg-target-text[b-bbbshxzy0t] {
    font-weight: 600;
    font-family: var(--font-mono);
    font-size: 0.875rem;
}

.dbe-dlg-alert[b-bbbshxzy0t] {
    margin: 4px 0;
}

.dbe-dlg-section-label[b-bbbshxzy0t] {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--mud-palette-text-secondary);
    margin-top: 8px;
}

.dbe-dlg-fields[b-bbbshxzy0t] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 12px;
}

.dbe-dlg-field[b-bbbshxzy0t] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.dbe-dlg-field-key[b-bbbshxzy0t] {
    opacity: 0.85;
}

.dbe-dlg-field-hint[b-bbbshxzy0t] {
    font-size: 0.65rem;
    color: var(--mud-palette-text-disabled);
}

.dbe-dlg-switch-row[b-bbbshxzy0t] {
    display: flex;
    align-items: center;
    min-height: 48px;
    padding: 0 4px;
}

@@media (max-width: 599px) {
    .dbe-dlg-body[b-bbbshxzy0t] {
        min-width: auto;
    }

    .dbe-dlg-fields[b-bbbshxzy0t] {
        grid-template-columns: 1fr;
    }
}
/* /Features/DatabaseExplorer/Components/RestoreDatabaseDialog.razor.rz.scp.css */
/* RestoreDatabaseDialog - Scoped Styles */

.dbe-rs-title[b-o0ckwgrwfo] {
    display: flex;
    align-items: center;
}

.dbe-rs-body[b-o0ckwgrwfo] {
    display: flex;
    flex-direction: column;
    gap: 14px;
    min-width: 440px;
    max-width: 560px;
}

.dbe-rs-alert[b-o0ckwgrwfo] {
    margin: 0;
}

.dbe-rs-file[b-o0ckwgrwfo] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    background: var(--mud-palette-gray-lighter);
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 6px;
}

.dbe-rs-file-name[b-o0ckwgrwfo] {
    font-weight: 600;
    font-family: var(--font-mono);
    font-size: 0.85rem;
    color: var(--mud-palette-text-primary);
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dbe-rs-file-size[b-o0ckwgrwfo] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
    flex-shrink: 0;
    font-variant-numeric: tabular-nums;
}

.dbe-rs-instruction[b-o0ckwgrwfo] {
    color: var(--mud-palette-text-secondary);
}

.dbe-rs-word[b-o0ckwgrwfo] {
    font-family: var(--font-mono);
    font-weight: 700;
    color: var(--mud-palette-primary);
    background: color-mix(in srgb, var(--mud-palette-primary) 12%, transparent);
    padding: 1px 6px;
    border-radius: 4px;
}

.dbe-rs-progress[b-o0ckwgrwfo] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.dbe-rs-progress-target[b-o0ckwgrwfo] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    background: var(--mud-palette-gray-lighter);
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 6px;
}

.dbe-rs-progress-target-name[b-o0ckwgrwfo] {
    font-weight: 600;
    font-family: var(--font-mono);
    font-size: 0.85rem;
    color: var(--mud-palette-text-primary);
}

[b-o0ckwgrwfo] .dbe-rs-progress-bar {
    height: 8px;
    border-radius: 4px;
}

.dbe-rs-step[b-o0ckwgrwfo] {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.85rem;
    color: var(--mud-palette-text-secondary);
}

.dbe-rs-step-pct[b-o0ckwgrwfo] {
    margin-left: auto;
    font-weight: 600;
    color: var(--mud-palette-primary);
    font-variant-numeric: tabular-nums;
}

@@media (max-width: 599px) {
    .dbe-rs-body[b-o0ckwgrwfo] {
        min-width: auto;
    }
}
/* /Features/DatabaseExplorer/Pages/DatabaseExplorerPage.razor.rz.scp.css */
/* DatabaseExplorerPage - console shell: kit header, then a full-height workbench (object tree | tabbed workspace) */

/* ── Shell: DsPage stretched to the viewport so the panes own their scrolling ── */
.dbe-shell[b-q0d2sqb9jk] {
    display: flex;
    flex-direction: column;
    height: calc(100vh - 120px);
    min-height: 520px;
}

.dbe-shell[b-q0d2sqb9jk]  .ds-page {
    flex: 1;
    min-height: 0;
    gap: 16px;
}

.dbe-shell[b-q0d2sqb9jk]  .ds-page__body {
    flex: 1;
    min-height: 0;
}

/* ── Header actions: source picker + load, then the query action ── */
.dbe-source[b-q0d2sqb9jk] {
    display: flex;
    align-items: center;
    gap: 8px;
}

[b-q0d2sqb9jk] .dbe-source__picker {
    width: 280px;
    margin: 0;
}

/* The option template renders in the popover, outside the page tree — so these rules carry no ancestor. */
.dbe-source__option[b-q0d2sqb9jk] {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    min-width: 0;
}

.dbe-source__option[b-q0d2sqb9jk]  .dbe-source__option-icon {
    color: var(--mud-palette-text-secondary);
    flex-shrink: 0;
}

.dbe-source__option-name[b-q0d2sqb9jk] {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-family: var(--font-mono);
    font-size: 0.8125rem;
}

.dbe-actions-divider[b-q0d2sqb9jk] {
    align-self: center;
    width: 1px;
    height: 24px;
    margin-inline: 4px;
    background: var(--mud-palette-lines-default);
}

/* ── Workbench: two panes that fill the rest of the viewport ── */
.dbe-workbench[b-q0d2sqb9jk] {
    flex: 1;
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(240px, 300px) minmax(0, 1fr);
    gap: 16px;
}

[b-q0d2sqb9jk] .dbe-pane {
    min-height: 0;
    min-width: 0;
    height: 100%;
}

    [b-q0d2sqb9jk] .dbe-pane > .ds-panel__body {
        flex: 1;
        min-height: 0;
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }

[b-q0d2sqb9jk] .dbe-pane--tree .ds-panel__head {
    padding: 12px 14px;
}

[b-q0d2sqb9jk] .dbe-pane--tree .ds-panel__title {
    font-family: var(--font-mono);
    font-size: 0.875rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dbe-workspace-empty[b-q0d2sqb9jk] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ── Tabs strip ── */
[b-q0d2sqb9jk] .dbe-tabs {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

    [b-q0d2sqb9jk] .dbe-tabs .mud-tabs-tabbar {
        flex-shrink: 0;
        background: var(--mud-palette-background-gray);
        border-bottom: 1px solid var(--mud-palette-lines-default);
    }

    [b-q0d2sqb9jk] .dbe-tabs .mud-tabs-tabbar-inner {
        min-height: 40px;
    }

    [b-q0d2sqb9jk] .dbe-tabs .mud-tab-slider {
        height: 2px;
    }

[b-q0d2sqb9jk] .dbe-tabs__panel {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

[b-q0d2sqb9jk] .dbe-tab.mud-tab {
    width: auto;
    min-width: 0;
    min-height: 40px;
    padding: 0 4px 0 12px;
    font-size: 0.8125rem;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
    color: var(--mud-palette-text-secondary);
    border-inline-end: 1px solid var(--mud-palette-divider);
}

    [b-q0d2sqb9jk] .dbe-tab.mud-tab.mud-tab-active {
        color: var(--mud-palette-text-primary);
        background: var(--mud-palette-surface);
    }

    [b-q0d2sqb9jk] .dbe-tab.mud-tab:focus-visible {
        outline: 2px solid var(--mud-palette-primary);
        outline-offset: -2px;
    }

.dbe-tab__head[b-q0d2sqb9jk] {
    display: flex;
    align-items: center;
    gap: 6px;
    max-width: 280px;
}

[b-q0d2sqb9jk] .dbe-tab__icon {
    font-size: 1rem;
    flex-shrink: 0;
}

.dbe-tab__title[b-q0d2sqb9jk] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-family: var(--font-mono);
    font-size: 0.8125rem;
}

.dbe-tab__write-dot[b-q0d2sqb9jk] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--mud-palette-error);
    flex-shrink: 0;
}

[b-q0d2sqb9jk] .dbe-tab__close {
    width: 24px;
    height: 24px;
    padding: 4px;
    flex-shrink: 0;
}

    [b-q0d2sqb9jk] .dbe-tab__close .mud-icon-root {
        font-size: 0.9375rem;
    }

/* ── Tab body ── */
.dbe-tab-content[b-q0d2sqb9jk] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

[b-q0d2sqb9jk] .dbe-bar {
    flex-shrink: 0;
    padding: 8px 12px;
    background: var(--mud-palette-surface);
    border-bottom: 1px solid var(--mud-palette-divider);
}

.dbe-bar__title[b-q0d2sqb9jk] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
}

    .dbe-bar__title[b-q0d2sqb9jk]  .dbe-bar__title-icon {
        font-size: 1.125rem;
        color: var(--mud-palette-primary);
    }

.dbe-count[b-q0d2sqb9jk] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    margin-inline-start: 6px;
    padding: 0 5px;
    border-radius: 9px;
    font-size: 0.6875rem;
    font-weight: 600;
    background: color-mix(in srgb, currentColor 16%, transparent);
}

[b-q0d2sqb9jk] .dbe-progress {
    flex-shrink: 0;
}

/* ── Filters ── */
.dbe-filter-chips[b-q0d2sqb9jk] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    min-width: 0;
}

[b-q0d2sqb9jk] .dbe-filter-chip {
    margin: 0;
    font-size: 0.75rem;
}

.dbe-filter-chip__col[b-q0d2sqb9jk] {
    font-weight: 600;
}

    .dbe-filter-chip__col[b-q0d2sqb9jk]::after {
        content: ":";
        margin-inline-end: 4px;
        font-weight: 400;
        opacity: 0.7;
    }

.dbe-filter-chip__val[b-q0d2sqb9jk] {
    font-family: var(--font-mono);
}

.dbe-filter-panel[b-q0d2sqb9jk] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 12px;
    background: var(--mud-palette-background-gray);
    border-bottom: 1px solid var(--mud-palette-divider);
}

[b-q0d2sqb9jk] .dbe-filter-panel__search {
    flex: 0 0 auto;
    max-width: 320px;
    margin: 0;
}

.dbe-filter-grid[b-q0d2sqb9jk] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 4px 12px;
    max-height: 260px;
    overflow-y: auto;
    padding-inline-end: 4px;
}

[b-q0d2sqb9jk] .dbe-filter-field__input {
    margin: 0;
}

    [b-q0d2sqb9jk] .dbe-filter-field__input .mud-input-helper-text {
        font-family: var(--font-mono);
        font-size: 0.6875rem;
    }

.dbe-filter-field--set[b-q0d2sqb9jk]  .mud-input-outlined-border {
    border-color: var(--mud-palette-primary);
}

/* ── Results area ── */
.dbe-results-frame[b-q0d2sqb9jk] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.dbe-results[b-q0d2sqb9jk] {
    flex: 1;
    min-height: 0;
    overflow: auto;
    background: var(--mud-palette-surface);
}

.dbe-results--center[b-q0d2sqb9jk] {
    display: flex;
    align-items: center;
    justify-content: center;
}

.dbe-skeleton[b-q0d2sqb9jk] {
    display: flex;
    flex-direction: column;
}

.dbe-skeleton__row[b-q0d2sqb9jk] {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(0, 1fr);
    align-items: center;
    gap: 24px;
    padding: 12px 16px;
    border-bottom: 1px solid var(--mud-palette-divider);
}

/* ── SQL tab ── */
.dbe-sql__editor[b-q0d2sqb9jk] {
    flex-shrink: 0;
    max-height: 55%;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 12px;
    background: var(--mud-palette-background-gray);
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

[b-q0d2sqb9jk] .dbe-sql__textarea {
    margin: 0;
}

    [b-q0d2sqb9jk] .dbe-sql__textarea textarea {
        font-family: var(--font-mono);
        font-size: 0.8125rem;
        line-height: 1.55;
    }

.dbe-sql--write[b-q0d2sqb9jk]  .dbe-sql__textarea .mud-input-outlined-border {
    border-color: var(--mud-palette-error);
}

.dbe-sql__warning[b-q0d2sqb9jk] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 8px 12px;
    border: 1px solid color-mix(in srgb, var(--mud-palette-error) 45%, transparent);
    border-radius: var(--radius-sm);
    background: color-mix(in srgb, var(--mud-palette-error) 10%, transparent);
    color: var(--mud-palette-error);
    font-size: 0.8125rem;
    line-height: 1.45;
}

[b-q0d2sqb9jk] .dbe-sql__write-switch {
    margin: 0;
}

    [b-q0d2sqb9jk] .dbe-sql__write-switch .mud-typography {
        font-size: 0.8125rem;
    }

.dbe-sql__params[b-q0d2sqb9jk] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.dbe-sql__params-title[b-q0d2sqb9jk] {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
}

.dbe-sql__param[b-q0d2sqb9jk] {
    display: flex;
    align-items: center;
    gap: 8px;
}

[b-q0d2sqb9jk] .dbe-sql__param-name,
[b-q0d2sqb9jk] .dbe-sql__param-value {
    min-width: 0;
    margin: 0;
}

[b-q0d2sqb9jk] .dbe-sql__param-name {
    flex: 1 1 0;
}

[b-q0d2sqb9jk] .dbe-sql__param-value {
    flex: 2 1 0;
}

    [b-q0d2sqb9jk] .dbe-sql__param-name input,
    [b-q0d2sqb9jk] .dbe-sql__param-value input {
        font-family: var(--font-mono);
        font-size: 0.8125rem;
    }

.dbe-sql__run[b-q0d2sqb9jk] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}

.dbe-sql__target[b-q0d2sqb9jk] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
}

/* ── Write result ── */
.dbe-write-result[b-q0d2sqb9jk] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 18px;
    border: 1px solid color-mix(in srgb, var(--mud-palette-success) 45%, transparent);
    border-radius: var(--radius-md);
    background: color-mix(in srgb, var(--mud-palette-success) 10%, transparent);
}

.dbe-write-result__text[b-q0d2sqb9jk] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.dbe-write-result__rows[b-q0d2sqb9jk] {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
}

.dbe-write-result__time[b-q0d2sqb9jk] {
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
}

/* ── Narrow screens: stack the panes and let the page scroll ── */
@media (max-width: 959px) {
    .dbe-shell[b-q0d2sqb9jk] {
        height: auto;
    }

    .dbe-source[b-q0d2sqb9jk] {
        flex: 1 1 100%;
    }

    [b-q0d2sqb9jk] .dbe-source__picker {
        flex: 1;
        width: auto;
    }

    .dbe-actions-divider[b-q0d2sqb9jk] {
        display: none;
    }

    .dbe-workbench[b-q0d2sqb9jk] {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: minmax(240px, 36vh) minmax(520px, 75vh);
    }

    .dbe-sql__param[b-q0d2sqb9jk] {
        flex-wrap: wrap;
    }
}
/* /Features/DatabaseManager/Components/ApplyConfirmDialog.razor.rz.scp.css */
/* ApplyConfirmDialog - Scoped Styles */

[b-v8f51hg4ch] .confirm-dialog {
    min-width: 400px;
}

@media (max-width: 600px) {
    [b-v8f51hg4ch] .confirm-dialog {
        min-width: unset;
    }
}
/* /Features/DatabaseManager/Components/BulkMigrationDialog.razor.rz.scp.css */
/* BulkMigrationDialog - Scoped Styles */

[b-gdq5vhfu9v] .bulk-dialog {
    min-width: 600px;
}

.chip-container[b-gdq5vhfu9v] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

@media (max-width: 960px) {
    [b-gdq5vhfu9v] .bulk-dialog {
        min-width: unset;
    }
}
/* /Features/DatabaseManager/Components/MigrationPreviewDialog.razor.rz.scp.css */
/* Dialog sizing */
[b-lq88g9soh6] .preview-dialog {
    min-width: min(720px, 92vw);
    max-width: 92vw;
}

/* Title row */
.preview-title-row[b-lq88g9soh6] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.preview-title-text[b-lq88g9soh6] {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Direction badge */
.dir-badge[b-lq88g9soh6] {
    padding: 2px 10px;
    border-radius: 12px;
    font-size: 0.72rem;
    font-weight: 700;
    flex-shrink: 0;
}

.dir-badge--rollback[b-lq88g9soh6] {
    background: color-mix(in srgb, var(--mud-palette-error) 14%, transparent);
    color: var(--mud-palette-error);
}

.dir-badge--forward[b-lq88g9soh6] {
    background: color-mix(in srgb, var(--mud-palette-success) 14%, transparent);
    color: var(--mud-palette-success);
}

/* Loading state */
.preview-loading[b-lq88g9soh6] {
    padding: 32px 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    min-height: 260px;
}

.preview-loading-text[b-lq88g9soh6] {
    color: var(--mud-palette-text-secondary);
}

.preview-skeleton-stack[b-lq88g9soh6] {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 8px;
}

/* Info bar */
.info-bar[b-lq88g9soh6] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    background: var(--mud-palette-background-grey);
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 8px;
    margin-bottom: 8px;
    flex-wrap: wrap;
}

.info-bar-item[b-lq88g9soh6] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.info-bar-label[b-lq88g9soh6] {
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: var(--mud-palette-text-secondary);
    text-transform: uppercase;
}

.info-bar-value[b-lq88g9soh6] {
    font-size: 0.74rem;
    font-family: var(--font-mono);
    color: var(--mud-palette-text-secondary);
    max-width: 240px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.info-bar-value--primary[b-lq88g9soh6] {
    font-weight: 600;
    color: var(--mud-palette-primary);
}

.info-bar-arrow[b-lq88g9soh6] {
    color: var(--mud-palette-text-disabled);
}

.data-loss-warn[b-lq88g9soh6] {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-left: auto;
    padding: 4px 12px;
    background: color-mix(in srgb, var(--mud-palette-error) 12%, transparent);
    border: 1px solid color-mix(in srgb, var(--mud-palette-error) 40%, transparent);
    border-radius: 20px;
    color: var(--mud-palette-error);
    font-size: 0.74rem;
    font-weight: 600;
}

/* Tab content */
.tab-scroll[b-lq88g9soh6] {
    max-height: 320px;
    overflow-y: auto;
    margin-top: 6px;
}

.tab-tables[b-lq88g9soh6] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* Schema table */
.table-name[b-lq88g9soh6] {
    font-weight: 600;
    font-size: 0.8rem;
}

.cell-muted[b-lq88g9soh6] {
    font-size: 0.78rem;
    color: var(--mud-palette-text-secondary);
}

/* Data tables */
.data-table-card[b-lq88g9soh6] {
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 8px;
    overflow: hidden;
}

.data-table-header[b-lq88g9soh6] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    background: var(--mud-palette-background-grey);
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.data-table-name[b-lq88g9soh6] {
    font-weight: 700;
    font-size: 0.85rem;
    flex: 1;
}

.data-table-scroll[b-lq88g9soh6] {
    overflow-x: auto;
    max-height: 160px;
    overflow-y: auto;
}

.nowrap[b-lq88g9soh6] {
    white-space: nowrap;
}

.cell-data[b-lq88g9soh6] {
    font-size: 0.74rem;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
}

/* Code panels */
.code-panel[b-lq88g9soh6] {
    margin-top: 6px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.code-copy-row[b-lq88g9soh6] {
    display: flex;
    justify-content: flex-end;
}

.code-block[b-lq88g9soh6] {
    background: #1e293b;
    border-radius: 8px;
    padding: 12px;
    max-height: 300px;
    overflow-y: auto;
}

.code-pre[b-lq88g9soh6] {
    font-family: 'Cascadia Code', 'Fira Code', 'Consolas', monospace;
    font-size: 0.74rem;
    white-space: pre-wrap;
    word-break: break-word;
    margin: 0;
    color: #e2e8f0;
    line-height: 1.6;
}

.rollback-warn-row[b-lq88g9soh6] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 4px;
}

.rollback-warn[b-lq88g9soh6] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    background: color-mix(in srgb, var(--mud-palette-error) 12%, transparent);
    border: 1px solid color-mix(in srgb, var(--mud-palette-error) 40%, transparent);
    border-radius: 6px;
    color: var(--mud-palette-error);
    font-size: 0.75rem;
    font-weight: 600;
    flex: 1;
}

/* Tab fix */
[b-lq88g9soh6] .mud-tabs-panels {
    overflow: visible;
}
/* /Features/DatabaseManager/Components/MigrationTimeline.razor.rz.scp.css */
/* Section header badges */
.section-badge[b-ad11gsvyeu] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 5px 10px;
    border-radius: 6px;
    margin-bottom: 6px;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.07em;
}

.section-badge--pending[b-ad11gsvyeu] {
    background: color-mix(in srgb, var(--mud-palette-warning) 14%, transparent);
    color: var(--mud-palette-warning);
}

.section-badge--applied[b-ad11gsvyeu] {
    background: color-mix(in srgb, var(--mud-palette-success) 14%, transparent);
    color: var(--mud-palette-success);
}

.section-badge--mt[b-ad11gsvyeu] {
    margin-top: 14px;
}

/* Timeline rows */
.timeline-row[b-ad11gsvyeu] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 8px 7px 0;
    border-radius: 8px;
    border: 1px solid transparent;
    background: transparent;
    margin-bottom: 2px;
    cursor: pointer;
    transition: background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);
}

.timeline-row:hover[b-ad11gsvyeu],
.timeline-row--hovered[b-ad11gsvyeu] {
    background: var(--mud-palette-background-grey);
}

.timeline-row--pending[b-ad11gsvyeu] {
    opacity: 0.8;
}

.timeline-row--current[b-ad11gsvyeu] {
    background: color-mix(in srgb, var(--mud-palette-primary) 10%, transparent);
    border-color: color-mix(in srgb, var(--mud-palette-primary) 35%, transparent);
}

.timeline-row--current:hover[b-ad11gsvyeu] {
    background: color-mix(in srgb, var(--mud-palette-primary) 18%, transparent);
}

/* Left accent bar */
.row-accent[b-ad11gsvyeu] {
    width: 4px;
    align-self: stretch;
    min-height: 32px;
    border-radius: 0 2px 2px 0;
    flex-shrink: 0;
}

.row-accent--amber[b-ad11gsvyeu] {
    background: var(--mud-palette-warning);
}

.row-accent--green[b-ad11gsvyeu] {
    background: var(--mud-palette-success);
}

.row-accent--blue[b-ad11gsvyeu] {
    background: var(--mud-palette-primary);
}

/* Index number */
.row-index[b-ad11gsvyeu] {
    width: 24px;
    text-align: right;
    font-size: 0.68rem;
    color: var(--mud-palette-text-disabled);
    flex-shrink: 0;
}

/* Row info block */
.row-info[b-ad11gsvyeu] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.row-name-row[b-ad11gsvyeu] {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
}

.row-name[b-ad11gsvyeu] {
    font-size: 0.83rem;
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--mud-palette-text-primary);
}

.row-name--muted[b-ad11gsvyeu] {
    color: var(--mud-palette-text-secondary);
    font-weight: 500;
}

.row-id[b-ad11gsvyeu] {
    font-size: 0.68rem;
    color: var(--mud-palette-text-secondary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-family: var(--font-mono);
}

.row-date[b-ad11gsvyeu] {
    font-size: 0.63rem;
    color: var(--mud-palette-text-disabled);
}

.row-date--pending[b-ad11gsvyeu] {
    color: var(--mud-palette-warning);
}

/* Current badge */
.current-badge[b-ad11gsvyeu] {
    display: inline-block;
    padding: 1px 7px;
    background: var(--mud-palette-primary);
    color: var(--mud-palette-primary-text);
    border-radius: 10px;
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    white-space: nowrap;
    flex-shrink: 0;
}

/* Hover action button */
.row-action[b-ad11gsvyeu] {
    flex-shrink: 0;
    opacity: 0;
    transition: opacity var(--dur-fast) var(--ease-out);
}

.row-action--visible[b-ad11gsvyeu] {
    opacity: 1;
}
/* /Features/DatabaseManager/Pages/DatabaseManagerPage.razor.rz.scp.css */
/* Database Manager - layout only (surfaces/metrics/status owned by the design kit) */

.db-mgr__metrics[b-di004bfkhe] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-bottom: 16px;
}

.db-mgr__search[b-di004bfkhe] {
    flex: 1;
    max-width: 400px;
}

.db-mgr__migration[b-di004bfkhe] {
    max-width: 260px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block;
}

@media (max-width: 700px) {
    .db-mgr__metrics[b-di004bfkhe] {
        grid-template-columns: 1fr;
    }
}
/* /Features/DatabaseManager/Pages/SubdomainMigrationsPage.razor.rz.scp.css */
/* Subdomain Migrations - layout only (surfaces/metrics owned by the design kit) */

.mig__metrics[b-xi540h9f6y] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-bottom: 16px;
}

.mig__loading[b-xi540h9f6y] {
    min-height: 300px;
}

.mig__current[b-xi540h9f6y] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding-bottom: 12px;
    margin-bottom: 12px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.mig__current-label[b-xi540h9f6y] {
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--mud-palette-text-secondary);
}

.mig__current-name[b-xi540h9f6y] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block;
}

.mig__timeline-scroll[b-xi540h9f6y] {
    max-height: 65vh;
    overflow-y: auto;
    scrollbar-width: thin;
}

@media (max-width: 700px) {
    .mig__metrics[b-xi540h9f6y] {
        grid-template-columns: 1fr;
    }
}
/* /Features/DeviceDebug/Components/RequestDbDialog.razor.rz.scp.css */
/* Request DB Dialog - Scoped Styles */

.request-db-content[b-8bsxjlkouh] {
    min-width: 420px;
    max-width: 560px;
}

.upload-url-row[b-8bsxjlkouh] {
    width: 100%;
}

.upload-url-text[b-8bsxjlkouh] {
    flex: 1;
    font-family: var(--font-mono);
    font-size: 12px;
    word-break: break-all;
    color: var(--mud-palette-text-primary);
}

.waiting-note[b-8bsxjlkouh] {
    padding: 8px 12px;
    background: var(--mud-palette-background-grey);
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 8px;
}

@media (max-width: 600px) {
    .request-db-content[b-8bsxjlkouh] {
        min-width: 0;
    }
}
/* /Features/DeviceDebug/Pages/DeviceDebugPage.razor.rz.scp.css */
/* Device Debug Page - layout only (header, panels, chips, empty states come from the kit) */

.device-debug__panel[b-ekalb17fo5] {
    margin-bottom: 16px;
}

.device-debug__toolbar[b-ekalb17fo5] {
    padding: 12px 16px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.device-debug__search[b-ekalb17fo5] {
    min-width: 320px;
    flex: 1;
}

/* Sessions table */
.sessions-table[b-ekalb17fo5] {
    width: 100%;
}

.sessions-table .actions-col[b-ekalb17fo5] {
    text-align: center;
    width: 220px;
}

.sessions-table .row-selected[b-ekalb17fo5] {
    background: color-mix(in srgb, var(--mud-palette-primary) 12%, transparent);
}

.session-time[b-ekalb17fo5] {
    font-size: 0.78rem;
}

.muted[b-ekalb17fo5] {
    color: var(--mud-palette-text-secondary);
}

/* Viewer iframe panel (mirrors grafana-iframe convention) */
.viewer-panel[b-ekalb17fo5] {
    border-top: 1px solid var(--mud-palette-lines-default);
    display: flex;
    flex-direction: column;
}

.viewer-panel-header[b-ekalb17fo5] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    padding: 10px 16px;
    background: var(--mud-palette-background-grey);
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.viewer-iframe[b-ekalb17fo5] {
    width: 100%;
    height: 640px;
    border: none;
    background: var(--mud-palette-surface);
}

/* Responsive */
@media (max-width: 960px) {
    .device-debug__search[b-ekalb17fo5] {
        min-width: 100%;
    }

    .viewer-iframe[b-ekalb17fo5] {
        height: 460px;
    }

    .sessions-table .actions-col[b-ekalb17fo5] {
        width: auto;
    }
}
/* /Features/DeviceDebug/Pages/ViewerPage.razor.rz.scp.css */
/* Device Debug Viewer - full-screen iframe host */

.viewer-page[b-83j7v2x0ni] {
    display: flex;
    flex-direction: column;
    /* Fill the content area; subtract the app header/breadcrumb chrome. */
    height: calc(100vh - 140px);
    min-height: 400px;
}

.viewer-page__center[b-83j7v2x0ni] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.viewer-page__header[b-83j7v2x0ni] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    padding: 10px 16px;
    background: var(--mud-palette-background-grey);
    border: 1px solid var(--mud-palette-lines-default);
    border-bottom: none;
    border-radius: 8px 8px 0 0;
}

.viewer-page__title[b-83j7v2x0ni] {
    min-width: 0;
    overflow: hidden;
}

.viewer-page__iframe[b-83j7v2x0ni] {
    flex: 1;
    width: 100%;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 0 0 8px 8px;
    background: var(--mud-palette-surface);
}

/* Responsive */
@media (max-width: 960px) {
    .viewer-page[b-83j7v2x0ni] {
        height: calc(100vh - 120px);
    }

    .viewer-page__header[b-83j7v2x0ni] {
        flex-direction: column;
        align-items: stretch;
    }
}
/* /Features/Encryption/Components/CipherOutput.razor.rz.scp.css */
/* CipherOutput - a recessed well under the action: head (label, status, copy), then the text or its state */

.enc-output[b-77menkky6l] {
    display: flex;
    flex-direction: column;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--radius-md);
    background: var(--mud-palette-background);
    overflow: hidden;
}

.enc-output__head[b-77menkky6l] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    min-height: 44px;
    padding-block: 6px;
    padding-inline: 12px 8px;
    border-bottom: 1px solid var(--mud-palette-divider);
}

.enc-output__label[b-77menkky6l] {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--mud-palette-text-secondary);
}

.enc-output__status[b-77menkky6l] {
    display: inline-flex;
    align-items: center;
    flex: 1 1 auto;
}

.enc-output__actions[b-77menkky6l] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.enc-output__text[b-77menkky6l] {
    margin: 0;
    padding: 12px;
    max-height: 240px;
    overflow: auto;
    font-size: 0.8125rem;
    line-height: 1.5;
    white-space: pre-wrap;
    word-break: break-all;
    color: var(--mud-palette-text-primary);
}

    .enc-output__text:focus-visible[b-77menkky6l] {
        outline: 2px solid var(--mud-palette-primary);
        outline-offset: -2px;
    }

.enc-output__skeleton[b-77menkky6l] {
    padding: 12px;
}

.enc-output__error[b-77menkky6l],
.enc-output__masked[b-77menkky6l] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 14px 12px;
    font-size: 0.875rem;
    color: var(--mud-palette-text-secondary);
}

.enc-output__error[b-77menkky6l] {
    color: var(--mud-palette-error);
}

.enc-output[b-77menkky6l]  .enc-output__empty {
    padding-block: 20px;
}
/* /Features/Encryption/Components/CipherToolPanel.razor.rz.scp.css */
/* CipherToolPanel - input, the primary action row, then the output area */

.enc-tool__body[b-wxz3n23tkv] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* Ciphertext is data: the mono font, slightly smaller so long base64 runs stay readable. */
.enc-tool__body[b-wxz3n23tkv]  .enc-tool__input--mono textarea {
    font-family: var(--font-mono);
    font-size: 0.8125rem;
    line-height: 1.5;
    word-break: break-all;
}

.enc-tool__actions[b-wxz3n23tkv] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
}

.enc-tool__hint[b-wxz3n23tkv] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

    .enc-tool__hint kbd[b-wxz3n23tkv] {
        font-family: var(--font-mono);
        font-size: 0.6875rem;
        padding: 1px 6px;
        border: 1px solid var(--mud-palette-lines-default);
        border-radius: var(--radius-sm);
        background: var(--mud-palette-background);
        color: var(--mud-palette-text-primary);
    }

    .enc-tool__hint span[b-wxz3n23tkv] {
        margin-inline-start: 4px;
    }
/* /Features/Encryption/Pages/Encryption.razor.rz.scp.css */
/* Encryption Management - the two cipher tools side by side on wide screens, stacked below that */

.enc-page[b-30nxezoksl] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

@media (min-width: 1100px) {
    .enc-page[b-30nxezoksl] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
/* /Features/HangfireMonitoring/Pages/HangfireMonitoringPage.razor.rz.scp.css */
/* ────────────────────────────────────────────────────
   Hangfire Monitor — split view, scoped styles
   ──────────────────────────────────────────────────── */

.hfm-root[b-vlbvhqrdex] {
    background: var(--mud-palette-background);
    min-height: 100vh;
}

/* ── Page Header ──────────────────────────────────── */
.hfm-header[b-vlbvhqrdex] {
    border-bottom: 1px solid var(--mud-palette-lines-default);
    background: var(--mud-palette-surface);
    position: sticky;
    top: 0;
    z-index: var(--z-sticky);
}

.hfm-title[b-vlbvhqrdex] {
    font-weight: 700;
    letter-spacing: -0.3px;
}

.hfm-live-toggle[b-vlbvhqrdex] {
    user-select: none;
}

.hfm-pulse-dot[b-vlbvhqrdex] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--mud-palette-lines-default);
    display: inline-block;
}

.hfm-pulse-dot--active[b-vlbvhqrdex] {
    background: var(--mud-palette-success);
    animation: hfm-pulse-b-vlbvhqrdex 1.6s ease-in-out infinite;
}

@keyframes hfm-pulse-b-vlbvhqrdex {
    0%, 100% { opacity: 1; transform: scale(1); }
    50%       { opacity: 0.5; transform: scale(1.35); }
}

/* ── Compact stat strip (single row pills) ────────── */
.hfm-stat-strip[b-vlbvhqrdex] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.hfm-stat-pill[b-vlbvhqrdex] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    border-radius: 999px;
    border: 1px solid var(--mud-palette-lines-default);
    background: var(--mud-palette-surface);
    cursor: pointer;
    transition: background var(--dur-fast) var(--ease-out),
                border-color var(--dur-fast) var(--ease-out),
                box-shadow var(--dur-fast) var(--ease-out);
    user-select: none;
}

.hfm-stat-pill:hover[b-vlbvhqrdex] {
    background: var(--mud-palette-background-grey);
}

.hfm-stat-pill-label[b-vlbvhqrdex] {
    font-size: 0.78rem;
    color: var(--mud-palette-text-secondary);
}

.hfm-stat-pill-count[b-vlbvhqrdex] {
    font-size: 0.95rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.hfm-stat-pill--info[b-vlbvhqrdex]    { color: var(--mud-palette-info);    }
.hfm-stat-pill--warning[b-vlbvhqrdex] { color: var(--mud-palette-warning); }
.hfm-stat-pill--success[b-vlbvhqrdex] { color: var(--mud-palette-success); }
.hfm-stat-pill--error[b-vlbvhqrdex]   { color: var(--mud-palette-error);   }
.hfm-stat-pill--muted[b-vlbvhqrdex]   { color: var(--mud-palette-text-secondary); }

.hfm-stat-pill--active[b-vlbvhqrdex] {
    border-width: 2px;
    box-shadow: 0 0 0 3px var(--mud-palette-primary-hover);
}

.hfm-stat-pill--active.hfm-stat-pill--info[b-vlbvhqrdex]    { border-color: var(--mud-palette-info);    box-shadow: 0 0 0 3px var(--mud-palette-info-hover); }
.hfm-stat-pill--active.hfm-stat-pill--warning[b-vlbvhqrdex] { border-color: var(--mud-palette-warning); box-shadow: 0 0 0 3px var(--mud-palette-warning-hover); }
.hfm-stat-pill--active.hfm-stat-pill--success[b-vlbvhqrdex] { border-color: var(--mud-palette-success); box-shadow: 0 0 0 3px var(--mud-palette-success-hover); }
.hfm-stat-pill--active.hfm-stat-pill--error[b-vlbvhqrdex]   { border-color: var(--mud-palette-error);   box-shadow: 0 0 0 3px var(--mud-palette-error-hover); }
.hfm-stat-pill--active.hfm-stat-pill--muted[b-vlbvhqrdex]   { border-color: var(--mud-palette-text-secondary); }

.hfm-stat-spacer[b-vlbvhqrdex] { flex: 1; }

.hfm-stat-meta[b-vlbvhqrdex] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.82rem;
    color: var(--mud-palette-text-secondary);
}

.hfm-stat-meta-divider[b-vlbvhqrdex] {
    width: 1px;
    height: 16px;
    background: var(--mud-palette-lines-default);
    margin: 0 4px;
}

.hfm-online-dot[b-vlbvhqrdex] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--mud-palette-success);
    animation: hfm-pulse-b-vlbvhqrdex 1.6s ease-in-out infinite;
    display: inline-block;
}

.hfm-offline-dot[b-vlbvhqrdex] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--mud-palette-text-disabled);
    display: inline-block;
}

/* ── Tab bar ──────────────────────────────────────── */
.hfm-tab-bar[b-vlbvhqrdex] {
    display: flex;
    gap: 4px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.hfm-tab[b-vlbvhqrdex] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    cursor: pointer;
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--mud-palette-text-secondary);
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    transition: color var(--dur-fast) var(--ease-out),
                border-color var(--dur-fast) var(--ease-out);
    user-select: none;
    white-space: nowrap;
}

.hfm-tab:hover[b-vlbvhqrdex] {
    color: var(--mud-palette-text-primary);
    background: var(--mud-palette-action-default-hover);
}

.hfm-tab--active[b-vlbvhqrdex] {
    color: var(--mud-palette-primary);
    border-bottom-color: var(--mud-palette-primary);
    font-weight: 600;
}

.hfm-tab-badge[b-vlbvhqrdex] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 18px;
    padding: 0 6px;
    border-radius: 9px;
    font-size: 0.7rem;
    font-weight: 700;
    background: var(--mud-palette-background-grey);
    color: var(--mud-palette-text-secondary);
}

.hfm-tab--active .hfm-tab-badge[b-vlbvhqrdex] {
    background: var(--mud-palette-primary-hover);
    color: var(--mud-palette-primary);
}

.hfm-tab-badge--cyan[b-vlbvhqrdex] {
    background: var(--mud-palette-info-hover);
    color: var(--mud-palette-info);
}

/* ── Filter / action bar ──────────────────────────── */
.hfm-filter-bar[b-vlbvhqrdex] {
    /* the inner MudStack handles the layout */
}

/* ── Split layout: list left, detail right ────────── */
.hfm-split[b-vlbvhqrdex] {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

@media (max-width: 1280px) {
    .hfm-split[b-vlbvhqrdex] {
        grid-template-columns: 1fr;
    }
}

.hfm-list-paper[b-vlbvhqrdex],
.hfm-detail-paper[b-vlbvhqrdex] {
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 12px;
    overflow: hidden;
    background: var(--mud-palette-surface);
}

.hfm-detail-paper[b-vlbvhqrdex] {
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    display: flex;
    flex-direction: column;
}

/* ── Table toolbar ────────────────────────────────── */
.hfm-table-toolbar[b-vlbvhqrdex] {
    padding: 10px 14px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
    background: var(--mud-palette-background-grey);
}

/* ── Table ────────────────────────────────────────── */
.hfm-th[b-vlbvhqrdex] {
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--mud-palette-text-secondary) !important;
    background: var(--mud-palette-background-grey) !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

.hfm-table td[b-vlbvhqrdex] {
    font-size: 0.9rem !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    vertical-align: top;
}

.hfm-row[b-vlbvhqrdex] {
    cursor: pointer;
    transition: background var(--dur-fast) var(--ease-out);
}

.hfm-row:hover[b-vlbvhqrdex] {
    background: var(--mud-palette-action-default-hover) !important;
}

.hfm-row-failed td[b-vlbvhqrdex] {
    background: var(--mud-palette-error-hover) !important;
}

.hfm-row-selected[b-vlbvhqrdex] {
    background: var(--mud-palette-primary-hover) !important;
}

.hfm-row-selected:hover[b-vlbvhqrdex] {
    background: var(--mud-palette-primary-hover) !important;
}

/* ── Job cell content ─────────────────────────────── */
.hfm-job-cell[b-vlbvhqrdex] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.hfm-method-name[b-vlbvhqrdex] {
    font-size: 0.92rem;
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-family: var(--font-mono);
}

.hfm-class-name[b-vlbvhqrdex] {
    font-size: 0.78rem;
    color: var(--mud-palette-text-secondary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-family: var(--font-mono);
}

.hfm-job-meta[b-vlbvhqrdex] {
    display: flex;
    gap: 6px;
    margin-top: 4px;
}

.hfm-meta-pill[b-vlbvhqrdex] {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-size: 0.7rem;
    padding: 1px 8px;
    border-radius: 999px;
    border: 1px solid var(--mud-palette-lines-default);
    background: var(--mud-palette-background-grey);
}

.hfm-meta-pill--sub[b-vlbvhqrdex]   { color: var(--mud-palette-info); }
.hfm-meta-pill--retry[b-vlbvhqrdex] { color: var(--mud-palette-warning-darken); }

.hfm-state-chip[b-vlbvhqrdex] {
    font-size: 0.72rem !important;
}

/* ── Pagination ───────────────────────────────────── */
.hfm-pagination[b-vlbvhqrdex] {
    padding: 8px 14px;
    border-top: 1px solid var(--mud-palette-lines-default);
    background: var(--mud-palette-background-grey);
}

.hfm-page-indicator[b-vlbvhqrdex] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 28px;
    border-radius: 6px;
    background: var(--mud-palette-primary);
    color: var(--mud-palette-primary-text);
    font-size: 0.8rem;
    font-weight: 700;
    padding: 0 8px;
    margin: 0 2px;
}

/* ── Detail panel ─────────────────────────────────── */
.hfm-detail-empty[b-vlbvhqrdex] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 48px 24px;
    text-align: center;
    color: var(--mud-palette-text-secondary);
}

.hfm-detail-header[b-vlbvhqrdex] {
    padding: 12px 16px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
    background: var(--mud-palette-background-grey);
}

.hfm-detail-title[b-vlbvhqrdex] {
    font-family: var(--font-mono);
    font-weight: 600;
    font-size: 0.95rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 360px;
}

.hfm-detail-body[b-vlbvhqrdex] {
    padding: 16px;
    overflow-y: auto;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.hfm-detail-field[b-vlbvhqrdex] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.hfm-detail-field-row[b-vlbvhqrdex] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.hfm-detail-field--half[b-vlbvhqrdex] {
    /* sized by the grid */
}

.hfm-detail-field-head[b-vlbvhqrdex] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.hfm-detail-label[b-vlbvhqrdex] {
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: .1em;
    color: var(--mud-palette-text-secondary);
    text-transform: uppercase;
}

.hfm-error-label[b-vlbvhqrdex] { color: var(--mud-palette-error) !important; }

.hfm-relative[b-vlbvhqrdex] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.78rem;
    margin-left: 4px;
}

/* Inline code snippet */
.hfm-inline-code[b-vlbvhqrdex] {
    font-family: var(--font-mono);
    font-size: 0.82rem;
    background: var(--mud-palette-background-grey);
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 4px;
    padding: 2px 8px;
    display: inline-block;
}

.hfm-break[b-vlbvhqrdex] {
    word-break: break-all;
    display: block;
}

/* Pre-formatted JSON / args block */
.hfm-code-block[b-vlbvhqrdex] {
    background: var(--mud-palette-background-grey);
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 8px;
    padding: 10px 12px;
    overflow-x: auto;
    max-height: 220px;
    overflow-y: auto;
}

.hfm-code-block code[b-vlbvhqrdex] {
    font-family: var(--font-mono);
    font-size: 0.78rem;
    white-space: pre-wrap;
    word-break: break-all;
}

/* Soft info block (state reason) */
.hfm-info-block[b-vlbvhqrdex] {
    background: var(--mud-palette-background-grey);
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 8px;
    padding: 10px 12px;
    font-size: 0.85rem;
    max-height: 160px;
    overflow-y: auto;
    white-space: pre-wrap;
    word-break: break-word;
}

.hfm-exception-type[b-vlbvhqrdex] {
    font-weight: 400;
    font-size: 0.7rem;
    font-family: var(--font-mono);
    color: var(--mud-palette-error);
    margin-left: 8px;
    opacity: 0.85;
}

.exception-container[b-vlbvhqrdex] {
    background: var(--mud-palette-error-hover);
    border: 1px solid var(--mud-palette-error);
    border-radius: 8px;
    padding: 12px 14px;
    overflow-x: auto;
    max-height: 320px;
    overflow-y: auto;
}

.exception-text[b-vlbvhqrdex] {
    font-family: var(--font-mono);
    font-size: 0.78rem;
    white-space: pre-wrap;
    word-break: break-word;
    color: var(--mud-palette-error-text);
    margin: 0;
    line-height: 1.55;
}

/* ── Empty state ──────────────────────────────────── */
.hfm-empty-state[b-vlbvhqrdex] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 80px 24px;
    text-align: center;
    border: 2px dashed var(--mud-palette-lines-default);
    border-radius: 16px;
    background: var(--mud-palette-surface);
}

.hfm-empty-icon[b-vlbvhqrdex] {
    font-size: 4rem !important;
    color: var(--mud-palette-text-disabled);
}
/* /Features/Hub/Pages/HubConnectionsPage.razor.rz.scp.css */
.hub-filter[b-bpyxyy7n6g] { min-width: 16rem; }
/* /Features/Hub/Pages/HubEventsPage.razor.rz.scp.css */
.hub-filter[b-i8og35pama] { min-width: 16rem; }

.hub-muted[b-i8og35pama] { color: var(--mud-palette-text-secondary); }

.hub-error[b-i8og35pama] { color: var(--mud-palette-error); }
/* /Features/Hub/Pages/HubOverviewPage.razor.rz.scp.css */
.hub-filter[b-hz0wjrrlzf] { min-width: 16rem; }
/* /Features/Hub/Pages/HubSyncRunsPage.razor.rz.scp.css */
.hub-filter[b-65ymqlcs4y] { min-width: 16rem; }

.hub-muted[b-65ymqlcs4y] { color: var(--mud-palette-text-secondary); }

.hub-error[b-65ymqlcs4y] { color: var(--mud-palette-error); }
/* /Features/Installer/Pages/InstallerPage.razor.rz.scp.css */
/* Installer Page - Scoped Styles (layout only; surfaces owned by the design kit) */

/* Card body — the DsPanel owns the surface; this only stacks the upload elements */
.installer-body[b-mi6eioeb36] {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Upload dropzone affordance */
.upload-field[b-mi6eioeb36] {
    display: block;
    width: 100%;
}

.upload-dropzone[b-mi6eioeb36] {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 8px;
    padding: 40px 24px;
    border: 1px dashed var(--mud-palette-lines-default);
    border-radius: var(--radius-md);
    background: var(--mud-palette-background-grey);
    cursor: pointer;
    transition: border-color var(--dur-fast) var(--ease-out),
                background-color var(--dur-fast) var(--ease-out);
}

.upload-dropzone:hover[b-mi6eioeb36] {
    border-color: var(--mud-palette-primary);
    background: var(--mud-palette-action-default-hover);
}

.upload-dropzone:active[b-mi6eioeb36] {
    transform: scale(0.99);
}

[b-mi6eioeb36] .upload-dropzone__icon {
    font-size: 2.75rem !important;
    width: 2.75rem;
    height: 2.75rem;
    color: var(--mud-palette-primary);
}

.upload-dropzone__title[b-mi6eioeb36] {
    font-weight: 600;
    color: var(--mud-palette-text-primary);
}

.upload-dropzone__hint[b-mi6eioeb36] {
    color: var(--mud-palette-text-secondary);
}

/* Selected file */
.selected-file-card[b-mi6eioeb36] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    background: var(--mud-palette-background-grey);
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--radius-md);
}

[b-mi6eioeb36] .selected-file-card__icon {
    color: var(--mud-palette-primary);
}

.selected-file-card__meta[b-mi6eioeb36] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.file-name[b-mi6eioeb36] {
    font-weight: 600;
    color: var(--mud-palette-text-primary);
    word-break: break-all;
}

.file-size[b-mi6eioeb36] {
    color: var(--mud-palette-text-secondary);
}

/* Upload progress */
.upload-progress[b-mi6eioeb36] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.upload-progress__label[b-mi6eioeb36] {
    color: var(--mud-palette-text-secondary);
    text-align: center;
}

/* Actions — single primary action */
.installer-actions[b-mi6eioeb36] {
    display: flex;
    justify-content: flex-end;
}

/* Focus */
.installer-body :focus-visible[b-mi6eioeb36] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
    border-radius: var(--radius-sm);
}

@media (max-width: 600px) {
    .upload-dropzone[b-mi6eioeb36] {
        padding: 28px 16px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .upload-dropzone[b-mi6eioeb36] {
        transition: none;
    }
}
/* /Features/Invoices/Components/ProvisioningStatusIndicator.razor.rz.scp.css */
.provisioning-indicator[b-8iowbbx3km] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}
/* /Features/Invoices/Pages/InvoicesIndex.razor.rz.scp.css */
/* InvoicesIndex - layout only (surfaces, header, chips, empty states come from the kit) */

.invoices__cards[b-j2ve53iis3] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 14px;
    margin-bottom: 16px;
}

.invoices__toolbar[b-j2ve53iis3] {
    padding: 12px 16px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.invoices__search[b-j2ve53iis3] {
    min-width: 240px;
    flex: 1;
}

.invoices__filter[b-j2ve53iis3] {
    min-width: 180px;
}

/* Invoice type badge - main / renewal / quota */
.invoices__type-badge[b-j2ve53iis3] {
    font-size: 0.68rem;
    font-weight: 700;
    padding: 2px 9px;
    border-radius: 20px;
    letter-spacing: 0.4px;
    text-transform: uppercase;
    white-space: nowrap;
    background: var(--mud-palette-background-grey);
    color: var(--mud-palette-text-secondary);
    border: 1px solid var(--mud-palette-lines-default);
}

.invoices__type-badge--maininvoice[b-j2ve53iis3] {
    background: color-mix(in srgb, var(--mud-palette-primary) 14%, transparent);
    color: var(--mud-palette-primary);
    border-color: transparent;
}

.invoices__type-badge--reninvoice[b-j2ve53iis3],
.invoices__type-badge--renewinvoice[b-j2ve53iis3] {
    background: color-mix(in srgb, var(--mud-palette-success) 14%, transparent);
    color: var(--mud-palette-success);
    border-color: transparent;
}

.invoices__type-badge--subinvoice[b-j2ve53iis3] {
    background: color-mix(in srgb, var(--mud-palette-warning) 14%, transparent);
    color: var(--mud-palette-warning);
    border-color: transparent;
}

.muted[b-j2ve53iis3] {
    color: var(--mud-palette-text-secondary);
}

.currency-icon[b-j2ve53iis3] {
    width: 16px;
    height: 16px;
    display: inline-block;
    vertical-align: middle;
    margin-left: 4px;
}
/* /Features/Invoices/Pages/ViewInvoice.razor.rz.scp.css */
/* ViewInvoice - layout only */

.vi-loading[b-1pmysuyt66] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
    min-height: 400px;
}

/* ── Invoice type badge ────────────────────────────────── */
.vi-type-badge[b-1pmysuyt66] {
    font-size: 0.68rem;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 20px;
    letter-spacing: 0.4px;
    text-transform: uppercase;
    white-space: nowrap;
    background: var(--mud-palette-background-grey);
    color: var(--mud-palette-text-secondary);
    border: 1px solid var(--mud-palette-lines-default);
}

.vi-type-badge--maininvoice[b-1pmysuyt66] {
    background: color-mix(in srgb, var(--mud-palette-primary) 14%, transparent);
    color: var(--mud-palette-primary);
    border-color: transparent;
}

.vi-type-badge--reninvoice[b-1pmysuyt66],
.vi-type-badge--renewinvoice[b-1pmysuyt66] {
    background: color-mix(in srgb, var(--mud-palette-success) 14%, transparent);
    color: var(--mud-palette-success);
    border-color: transparent;
}

.vi-type-badge--subinvoice[b-1pmysuyt66] {
    background: color-mix(in srgb, var(--mud-palette-warning) 14%, transparent);
    color: var(--mud-palette-warning);
    border-color: transparent;
}

/* ── Long identifiers / notes ──────────────────────────── */
.vi-wrap[b-1pmysuyt66] {
    overflow-wrap: anywhere;
    text-align: end;
    max-width: 60%;
}

.vi-notes[b-1pmysuyt66] {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.vi-muted[b-1pmysuyt66] {
    color: var(--mud-palette-text-secondary);
}

.vi-tx-failure[b-1pmysuyt66] {
    font-size: 0.76rem;
    color: var(--mud-palette-error);
    background: color-mix(in srgb, var(--mud-palette-error) 7%, transparent);
}
/* /Features/JwtDecoder/Pages/JwtDecoderPage.razor.rz.scp.css */
/* JWT Decoder - Scoped Styles (layout only) */

.jwt__fill[b-q4j9v7k3ex] {
    height: 100%;
}

.jwt__expiry[b-q4j9v7k3ex] {
    align-self: center;
}

/* Table claim columns */
.jwt__claim-col[b-q4j9v7k3ex] {
    width: 35%;
}

.jwt__action-col[b-q4j9v7k3ex] {
    width: 40px;
}

.jwt__claim-key[b-q4j9v7k3ex] {
    font-weight: 600;
}

.jwt__claim-value[b-q4j9v7k3ex] {
    word-break: break-all;
}

/* Signature block — monospace token */
.jwt__signature[b-q4j9v7k3ex] {
    background: var(--mud-palette-background-grey);
    color: var(--mud-palette-text-primary);
    font-size: 0.75rem;
    word-break: break-all;
    border-radius: var(--radius-md);
    border: 1px solid var(--mud-palette-lines-default);
    padding: 12px;
}
/* /Features/KeycloakManagement/Components/GroupAttributesDialog.razor.rz.scp.css */
.attribute-row[b-sludx8mn2c] {
    background-color: var(--mud-palette-surface);
    border: 1px solid var(--mud-palette-primary);
    border-radius: var(--r-sm);
    transition: background-color var(--dur-fast) var(--ease-out);
}

.attribute-row:hover[b-sludx8mn2c] {
    background-color: var(--mud-palette-action-default-hover);
}

.flex-wrap[b-sludx8mn2c] {
    flex-wrap: wrap;
}
/* /Features/KeycloakManagement/Components/UserAttributesDialog.razor.rz.scp.css */
.attribute-row[b-tewmc9w726] {
    background-color: var(--mud-palette-surface);
    border: 1px solid var(--mud-palette-primary);
    border-radius: var(--r-sm);
    transition: background-color var(--dur-fast) var(--ease-out);
}

.attribute-row:hover[b-tewmc9w726] {
    background-color: var(--mud-palette-action-default-hover);
}

.flex-wrap[b-tewmc9w726] {
    flex-wrap: wrap;
}
/* /Features/KeycloakManagement/Pages/KeycloakManagementIndex.razor.rz.scp.css */
/* KeycloakManagementIndex - Scoped Styles (layout only; surfaces owned by the design kit) */

.realm-select[b-utoqkox0yb] {
    min-width: 350px;
}

.user-search[b-utoqkox0yb] {
    flex: 1;
}

.event-max-select[b-utoqkox0yb] {
    width: 140px;
}

.fw-bold[b-utoqkox0yb] {
    font-weight: 600;
}
/* /Features/MongoViewer/Pages/MongoViewerPage.razor.rz.scp.css */
/* Mongo Viewer — Precision Ops Console scoped styles */

/* ── Page header ───────────────────────────────────────── */
.mongo-page .page-header[b-bftuek65u3] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 24px;
}

.mongo-page .page-title[b-bftuek65u3] {
    font-weight: 600;
    letter-spacing: -0.02em;
    line-height: 1.2;
}

.mongo-page .page-subtitle[b-bftuek65u3] {
    color: var(--mud-palette-text-secondary);
    margin-top: 2px;
}

.mongo-page .page-header__actions[b-bftuek65u3] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

/* ── Shared panel surface ──────────────────────────────── */
.mongo-page .panel[b-bftuek65u3] {
    background: var(--mud-palette-surface);
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--r-lg);
    overflow: hidden;
}

/* ── Create-collection toolbar panel ───────────────────── */
.mongo-page .create-panel[b-bftuek65u3] {
    background: color-mix(in srgb, var(--mud-palette-success) 8%, var(--mud-palette-surface));
    border: 1px solid color-mix(in srgb, var(--mud-palette-success) 40%, var(--mud-palette-lines-default));
    border-radius: var(--r-md);
    padding: 16px;
    margin-bottom: 24px;
}

.mongo-page .create-panel__title[b-bftuek65u3] {
    color: var(--mud-palette-success);
    font-weight: 600;
    margin-bottom: 10px;
}

.mongo-page .create-panel__row[b-bftuek65u3] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

/* ── Collection list (left) ────────────────────────────── */
.mongo-page .list-search[b-bftuek65u3] {
    padding: 10px 12px;
    border-bottom: 1px solid var(--mud-palette-divider);
}

.mongo-page .list-state[b-bftuek65u3] {
    padding: 40px 16px;
    text-align: center;
    color: var(--mud-palette-text-secondary);
}

.mongo-page .list-scroll[b-bftuek65u3] {
    max-height: calc(100vh - 260px);
    overflow-y: auto;
}

.mongo-page .col-item[b-bftuek65u3] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 14px;
    cursor: pointer;
    font-size: 0.83rem;
    transition: background var(--dur-fast) var(--ease-out);
}

.mongo-page .col-item:hover[b-bftuek65u3] {
    background: var(--mud-palette-background-grey);
}

.mongo-page .col-item--active[b-bftuek65u3] {
    background: color-mix(in srgb, var(--mud-palette-primary) 12%, transparent);
}

.mongo-page .col-item__name[b-bftuek65u3] {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--mud-palette-text-primary);
}

.mongo-page .col-item--active .col-item__name[b-bftuek65u3] {
    color: var(--mud-palette-primary);
    font-weight: 600;
}

.mongo-page .col-count[b-bftuek65u3] {
    flex-shrink: 0;
    font-size: 0.7rem;
    padding: 1px 7px;
    border-radius: 10px;
    background: color-mix(in srgb, var(--mud-palette-success) 16%, transparent);
    color: var(--mud-palette-success);
}

/* ── Empty states ──────────────────────────────────────── */
.mongo-page .empty-state[b-bftuek65u3] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    text-align: center;
    padding: 80px 20px;
    color: var(--mud-palette-text-secondary);
}

/* ── Collection detail (right) ─────────────────────────── */
.mongo-page .col-header[b-bftuek65u3] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    padding: 12px 16px;
    border-bottom: 1px solid var(--mud-palette-divider);
}

.mongo-page .col-header__name[b-bftuek65u3] {
    flex: 1;
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--mud-palette-text-primary);
}

.mongo-page .col-header__count[b-bftuek65u3] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

/* ── Document editor panel ─────────────────────────────── */
.mongo-page .doc-panel[b-bftuek65u3] {
    padding: 14px 16px;
    background: color-mix(in srgb, var(--mud-palette-primary) 6%, var(--mud-palette-surface));
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.mongo-page .doc-panel__head[b-bftuek65u3] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
}

.mongo-page .doc-panel__title[b-bftuek65u3] {
    flex: 1;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
}

.mongo-page .field-error[b-bftuek65u3] {
    font-size: 0.72rem;
    color: var(--mud-palette-error);
    margin-top: 4px;
}

.mongo-page .doc-panel__json[b-bftuek65u3] {
    margin-bottom: 8px;
}

/* ── Filter bar ────────────────────────────────────────── */
.mongo-page .filter-bar[b-bftuek65u3] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    flex-wrap: wrap;
    padding: 10px 16px;
    background: var(--mud-palette-background-grey);
    border-bottom: 1px solid var(--mud-palette-divider);
}

.mongo-page .filter-bar__input[b-bftuek65u3] {
    flex: 1;
    min-width: 200px;
}

.mongo-page .filter-bar__apply[b-bftuek65u3] {
    margin-top: 4px;
}

/* ── Document table ────────────────────────────────────── */
.mongo-page .doc-state[b-bftuek65u3] {
    padding: 48px;
    text-align: center;
    color: var(--mud-palette-text-secondary);
}

.mongo-page .doc-table-scroll[b-bftuek65u3] {
    overflow-x: auto;
}

.mongo-page .doc-table[b-bftuek65u3] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.82rem;
}

.mongo-page .doc-table thead th[b-bftuek65u3] {
    text-align: left;
    padding: 7px 12px;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--mud-palette-text-secondary);
    border-bottom: 2px solid var(--mud-palette-lines-default);
    background: var(--mud-palette-background-grey);
    position: sticky;
    top: 0;
    z-index: var(--z-sticky);
}

.mongo-page .doc-table__th-id[b-bftuek65u3] {
    width: 220px;
}

.mongo-page .doc-table__th-actions[b-bftuek65u3] {
    width: 92px;
}

.mongo-page .doc-row[b-bftuek65u3] {
    border-bottom: 1px solid var(--mud-palette-divider);
    cursor: pointer;
    transition: background var(--dur-fast) var(--ease-out);
}

.mongo-page .doc-row:hover[b-bftuek65u3] {
    background: var(--mud-palette-background-grey);
}

.mongo-page .doc-row--active[b-bftuek65u3] {
    background: color-mix(in srgb, var(--mud-palette-primary) 10%, transparent);
}

.mongo-page .cell-id[b-bftuek65u3] {
    padding: 6px 12px;
    font-size: 0.78rem;
    color: var(--mud-palette-text-secondary);
    word-break: break-all;
    max-width: 220px;
}

.mongo-page .cell-preview[b-bftuek65u3] {
    padding: 6px 12px;
    font-size: 0.78rem;
    color: var(--mud-palette-text-primary);
    word-break: break-all;
}

.mongo-page .cell-actions[b-bftuek65u3] {
    padding: 4px 6px;
    text-align: center;
    white-space: nowrap;
}

.mongo-page .cell-actions__chevron[b-bftuek65u3] {
    vertical-align: middle;
    color: var(--mud-palette-text-disabled);
}

/* ── Expanded document detail ──────────────────────────── */
.mongo-page .doc-detail__cell[b-bftuek65u3] {
    padding: 0;
    background: color-mix(in srgb, var(--mud-palette-primary) 8%, transparent);
}

.mongo-page .doc-detail__body[b-bftuek65u3] {
    padding: 12px 16px;
    border-top: 1px solid var(--mud-palette-lines-default);
}

.mongo-page .doc-detail__toolbar[b-bftuek65u3] {
    display: flex;
    justify-content: flex-end;
    gap: 6px;
    margin-bottom: 8px;
}

/* ── JSON / BSON viewer ────────────────────────────────── */
/* Deliberate self-contained syntax palette (Catppuccin-derived).
   The viewer sits on a fixed dark console surface so every token keeps
   >= 4.5:1 contrast in BOTH the light and dark app themes. The surface /
   border reference the console surface tones from DESIGN.md (§2 dark). */
.mongo-page .json-viewer[b-bftuek65u3] {
    --json-bg: #11181D;      /* console surface (DESIGN --surface) */
    --json-border: #243139;  /* console border  (DESIGN --border)  */
    --json-text: #cdd6f4;    /* default leaf / text                */
    --json-key: #89b4fa;     /* object keys                        */
    --json-punct: #9399b2;   /* colons, brackets when collapsed    */
    --json-bracket: #cba6f7; /* structural brackets                */
    --json-string: #a6e3a1;  /* string values                      */
    --json-number: #fab387;  /* numeric values                     */
    --json-bool: #f38ba8;    /* boolean values                     */
    --json-null: #9399b2;    /* null values                        */

    font-family: var(--font-mono);
    font-size: 0.82rem;
    line-height: 1.8;
    background: var(--json-bg);
    border: 1px solid var(--json-border);
    border-radius: var(--r-md);
    padding: 14px 10px;
    max-height: 500px;
    overflow-y: auto;
    color: var(--json-text);
}

.mongo-page .jv-row[b-bftuek65u3] {
    display: flex;
    align-items: center;
    gap: 4px;
}

.mongo-page .jv-row--toggle[b-bftuek65u3] {
    cursor: pointer;
}

.mongo-page .jv-caret[b-bftuek65u3] {
    width: 14px;
    flex-shrink: 0;
    font-size: 11px;
    color: var(--json-punct);
}

.mongo-page .jv-spacer[b-bftuek65u3] {
    width: 14px;
    flex-shrink: 0;
}

.mongo-page .jv-key[b-bftuek65u3] {
    color: var(--json-key);
}

.mongo-page .jv-punct[b-bftuek65u3] {
    color: var(--json-punct);
}

.mongo-page .jv-bracket[b-bftuek65u3] {
    color: var(--json-bracket);
}

.mongo-page .jv-collapsed[b-bftuek65u3] {
    color: var(--json-punct);
    font-size: 0.75rem;
    margin-left: 4px;
}

.mongo-page .jv-value[b-bftuek65u3] {
    word-break: break-all;
}

.mongo-page .jv-string[b-bftuek65u3] { color: var(--json-string); }
.mongo-page .jv-number[b-bftuek65u3] { color: var(--json-number); }
.mongo-page .jv-bool[b-bftuek65u3]   { color: var(--json-bool); }
.mongo-page .jv-null[b-bftuek65u3]   { color: var(--json-null); }
.mongo-page .jv-default[b-bftuek65u3] { color: var(--json-text); }

/* Indentation levels (depth * 20px), clamped in markup to keep it finite */
.mongo-page .jv-d0[b-bftuek65u3]  { padding-left: 0; }
.mongo-page .jv-d1[b-bftuek65u3]  { padding-left: 20px; }
.mongo-page .jv-d2[b-bftuek65u3]  { padding-left: 40px; }
.mongo-page .jv-d3[b-bftuek65u3]  { padding-left: 60px; }
.mongo-page .jv-d4[b-bftuek65u3]  { padding-left: 80px; }
.mongo-page .jv-d5[b-bftuek65u3]  { padding-left: 100px; }
.mongo-page .jv-d6[b-bftuek65u3]  { padding-left: 120px; }
.mongo-page .jv-d7[b-bftuek65u3]  { padding-left: 140px; }
.mongo-page .jv-d8[b-bftuek65u3]  { padding-left: 160px; }
.mongo-page .jv-d9[b-bftuek65u3]  { padding-left: 180px; }
.mongo-page .jv-d10[b-bftuek65u3] { padding-left: 200px; }
.mongo-page .jv-d11[b-bftuek65u3] { padding-left: 220px; }
.mongo-page .jv-d12[b-bftuek65u3] { padding-left: 240px; }

.mongo-page .jv-copy[b-bftuek65u3] {
    flex-shrink: 0;
}

/* Copy icon inside the dark viewer needs the syntax key colour */
.mongo-page .json-viewer[b-bftuek65u3]  .jv-copy-btn {
    color: var(--json-key);
    padding: 2px;
    width: 20px;
    height: 20px;
}

/* ── Pagination ────────────────────────────────────────── */
.mongo-page .pager[b-bftuek65u3] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 10px 16px;
    border-top: 1px solid var(--mud-palette-divider);
}

.mongo-page .pager__info[b-bftuek65u3] {
    font-size: 0.78rem;
    color: var(--mud-palette-text-secondary);
}

.mongo-page .pager__page[b-bftuek65u3] {
    font-size: 0.82rem;
    white-space: nowrap;
    color: var(--mud-palette-text-primary);
}

/* ── Utilities ─────────────────────────────────────────── */
.mongo-page .mono[b-bftuek65u3] {
    font-family: var(--font-mono);
}

.mongo-page .tabular[b-bftuek65u3] {
    font-variant-numeric: tabular-nums;
}

/* ── MudBlazor internals ───────────────────────────────── */
.mongo-page[b-bftuek65u3]  .col-search,
.mongo-page[b-bftuek65u3]  .filter-field {
    width: 100%;
}

.mongo-page[b-bftuek65u3]  .create-field {
    max-width: 300px;
}

.mongo-page[b-bftuek65u3]  .mono-input input,
.mongo-page[b-bftuek65u3]  .mono-input textarea,
.mongo-page[b-bftuek65u3]  .mono-input .mud-input-slot {
    font-family: var(--font-mono);
    font-size: 0.82rem;
}

.mongo-page[b-bftuek65u3]  .row-action-btn {
    padding: 2px;
    width: 24px;
    height: 24px;
}

.mongo-page[b-bftuek65u3]  .icon-15 { font-size: 15px; }
.mongo-page[b-bftuek65u3]  .icon-18 { font-size: 18px; }
.mongo-page[b-bftuek65u3]  .icon-36 { font-size: 36px; }
.mongo-page[b-bftuek65u3]  .icon-48 { font-size: 48px; }

/* ── Responsive ────────────────────────────────────────── */
@media (max-width: 960px) {
    .mongo-page .list-scroll[b-bftuek65u3] {
        max-height: 40vh;
    }
}

@media (prefers-reduced-motion: reduce) {
    .mongo-page .col-item[b-bftuek65u3],
    .mongo-page .doc-row[b-bftuek65u3] {
        transition: none;
    }
}
/* /Features/Notification/Components/EmailBodyViewerDialog.razor.rz.scp.css */
[b-cpz3wgvx6q] .notification-preview-dialog {
    width: min(92vw, 64rem);
    max-width: min(92vw, 64rem);
}

.email-preview-shell[b-cpz3wgvx6q] {
    min-height: 0;
}

.notification-detail-card[b-cpz3wgvx6q] {
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 0.85rem;
    background: var(--mud-palette-surface);
    padding: 0.9rem 1rem;
}

.email-preview-container[b-cpz3wgvx6q] {
    overflow: auto;
    max-height: 58vh;
    border-radius: 1rem;
    background: var(--mud-palette-background-grey);
}

.email-preview-canvas[b-cpz3wgvx6q] {
    display: inline-block;
    min-width: 32rem;
    max-width: none;
}

.email-preview-markup[b-cpz3wgvx6q] {
    min-height: 24rem;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 8px;
    /* Intentional fixed white "paper": renders arbitrary email HTML authored for light backgrounds. */
    background-color: #ffffff;
    overflow: auto;
    padding: 16px;
    box-shadow: var(--shadow-2);
}

.notification-text-preview[b-cpz3wgvx6q] {
    white-space: pre-wrap;
    word-break: break-word;
    background: var(--mud-palette-surface);
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 8px;
    padding: 16px;
    line-height: 1.6;
    min-height: 16rem;
}

.notification-data-row[b-cpz3wgvx6q] {
    gap: 1rem;
    padding: 0.35rem 0;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.notification-data-row:last-child[b-cpz3wgvx6q] {
    border-bottom: 0;
}

[b-cpz3wgvx6q] .email-preview-markup img {
    max-width: 100%;
    height: auto;
}

@media (max-width: 960px) {
    [b-cpz3wgvx6q] .notification-preview-dialog {
        width: 95vw;
        max-width: 95vw;
    }

    .email-preview-container[b-cpz3wgvx6q] {
        max-height: 64vh;
    }

    .email-preview-canvas[b-cpz3wgvx6q] {
        min-width: 100%;
        width: 100%;
    }
}
/* /Features/Notification/Pages/NotificationsIndex.razor.rz.scp.css */
/* NotificationsIndex - Scoped Styles (layout only; surfaces owned by the design kit) */

.notification-metrics[b-40xmb73ubs] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1rem;
}

.fw-bold[b-40xmb73ubs] {
    font-weight: 600;
}

.notification-search-field[b-40xmb73ubs] {
    min-width: 18rem;
}

.notification-date-filter[b-40xmb73ubs] {
    min-width: 11rem;
}

.notification-status-filter[b-40xmb73ubs] {
    min-width: 10rem;
}

.notification-type-filter[b-40xmb73ubs] {
    min-width: 10rem;
}

.notification-cell[b-40xmb73ubs] {
    min-width: 16rem;
}

.notification-subject[b-40xmb73ubs] {
    font-weight: 600;
    line-height: 1.35;
    word-break: break-word;
}

.audience-cell[b-40xmb73ubs] {
    min-width: 13rem;
    max-width: 16rem;
}

.subdomain-cell[b-40xmb73ubs] {
    min-width: 10rem;
    max-width: 13rem;
}

.subdomain-title[b-40xmb73ubs] {
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.audience-title[b-40xmb73ubs] {
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.audience-meta[b-40xmb73ubs] {
    line-height: 1.3;
}

.created-cell[b-40xmb73ubs] {
    min-width: 8rem;
}

[b-40xmb73ubs] .notification-grid .mud-table-container {
    overflow-x: auto;
}

[b-40xmb73ubs] .notification-grid table {
    min-width: 62rem;
}

[b-40xmb73ubs] .notification-grid .mud-table-cell,
[b-40xmb73ubs] .notification-grid .mud-table-head-cell {
    vertical-align: top;
}

[b-40xmb73ubs] .notification-grid tr.notification-row-success > td {
    background-color: rgb(var(--mud-palette-success-rgb) / 0.07);
}

[b-40xmb73ubs] .notification-grid tr.notification-row-failed > td {
    background-color: rgb(var(--mud-palette-error-rgb) / 0.05);
}

[b-40xmb73ubs] .notification-grid tr.notification-row-selected > td {
    background-color: rgb(var(--mud-palette-primary-rgb) / 0.06);
}

[b-40xmb73ubs] .notification-grid tr.notification-row-selected.notification-row-success > td {
    background-color: rgb(var(--mud-palette-success-rgb) / 0.1);
}

[b-40xmb73ubs] .notification-grid tr.notification-row-selected.notification-row-failed > td {
    background-color: rgb(var(--mud-palette-error-rgb) / 0.08);
}

[b-40xmb73ubs] .notification-meta-chip .mud-chip-content {
    max-width: 9rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 1200px) {
    .notification-search-field[b-40xmb73ubs] {
        min-width: 100%;
    }

    .notification-metrics[b-40xmb73ubs] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .notification-metrics[b-40xmb73ubs] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    [b-40xmb73ubs] .notification-grid table {
        min-width: 52rem;
    }
}
/* /Features/OfflineInvoices/Components/ModulesComponent.razor.rz.scp.css */
/* ESS is sold by the seat, so its licence hangs off the feature toggle as its own level:
   Personal > Employee Self-Service > Employee Licence > count + price. */
.feature-licence[b-r7z1kckhg8] {
    margin-inline-start: 2.25rem;
    padding: 0.75rem 1rem;
    border-inline-start: 2px solid var(--mud-palette-primary);
    background: var(--mud-palette-background-grey);
    border-radius: 0 6px 6px 0;
}
/* /Features/OfflineInvoices/Pages/OfflineInvoice.razor.rz.scp.css */
/* OfflineInvoice - layout only */

.form-actions[b-x8x6grcgbi] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

.form-actions__buttons[b-x8x6grcgbi] {
    display: flex;
    gap: 8px;
}

/* Business owner summary chip */
.owner-chip[b-x8x6grcgbi] {
    border: 1px solid var(--mud-palette-divider);
    border-radius: 8px;
}

.owner-name[b-x8x6grcgbi] {
    font-weight: 600;
    line-height: 1.2;
}

.owner-email[b-x8x6grcgbi] {
    line-height: 1.2;
}

/* Loading indicator */
.progress-bar[b-x8x6grcgbi] {
    border-radius: 4px;
}

.progress-spacer[b-x8x6grcgbi] {
    height: 4px;
}
/* /Features/OnlineInvoice/Pages/OnlineInvoice.razor.rz.scp.css */
/* OnlineInvoice - layout only */

.form-actions[b-6i27bfk4u6] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

.form-actions__buttons[b-6i27bfk4u6] {
    display: flex;
    gap: 8px;
}

/* Business owner summary chip */
.owner-chip[b-6i27bfk4u6] {
    border: 1px solid var(--mud-palette-divider);
    border-radius: 8px;
}

.owner-name[b-6i27bfk4u6] {
    font-weight: 600;
    line-height: 1.2;
}

.owner-email[b-6i27bfk4u6] {
    line-height: 1.2;
}

/* Loading indicator */
.progress-bar[b-6i27bfk4u6] {
    border-radius: 4px;
}

.progress-spacer[b-6i27bfk4u6] {
    height: 4px;
}
/* /Features/PaymentLogs/Components/JsonViewerDialog.razor.rz.scp.css */
/* JsonViewerDialog - Scoped Styles */

.json-block[b-ibl369nbra] {
    font-family: var(--font-mono, 'JetBrains Mono', monospace);
    white-space: pre-wrap;
    word-break: break-word;
    margin: 0;
}
/* /Features/PaymentLogs/Pages/PaymentLogsIndex.razor.rz.scp.css */
/* PaymentLogsIndex - layout only (surfaces, chips, empty states come from the kit) */

.paylogs__cards[b-kahi18oizy] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 14px;
    margin-bottom: 16px;
}

.paylogs__toolbar[b-kahi18oizy] {
    padding: 12px 16px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.paylogs__search[b-kahi18oizy] {
    min-width: 240px;
    flex: 1;
}

.paylogs__filter[b-kahi18oizy] {
    min-width: 200px;
}

.muted[b-kahi18oizy] {
    color: var(--mud-palette-text-secondary);
}
/* /Features/RedisManager/Pages/RedisManagerPage.razor.rz.scp.css */
/* ══════════════════════════════════════════════════════════════════
   Redis Manager — Precision Ops Console scoped styles
   Tokens only (var(--mud-palette-*), --font-mono, --radius-*, motion, z).
   ::deep selectors are anchored by the .redis-page wrapper.
   ══════════════════════════════════════════════════════════════════ */

/* ---- Panels / surfaces ---------------------------------------------- */
.redis-panel[b-w61lzgathq] {
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--radius-lg);
    background: var(--mud-palette-surface);
    overflow: hidden;
}

/* ---- Page header ----------------------------------------------------- */
.redis-header[b-w61lzgathq] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 24px;
}

.redis-header-titles[b-w61lzgathq] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.redis-title[b-w61lzgathq] {
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: var(--mud-palette-text-primary);
}

.redis-subtitle[b-w61lzgathq] {
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
}

.redis-header-actions[b-w61lzgathq] {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* ---- Flush (danger) panel ------------------------------------------- */
.flush-warning[b-w61lzgathq] {
    border: 1px solid var(--mud-palette-error);
    border-radius: var(--radius-md);
    padding: 16px;
    background: color-mix(in srgb, var(--mud-palette-error) 10%, var(--mud-palette-surface));
    margin-bottom: 24px;
}


/* ---- Stat cards (flat, token borders, no elevation) ----------------- */
.stat-card[b-w61lzgathq] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 16px;
    min-height: 90px;
    text-align: center;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--radius-md);
    background: var(--mud-palette-surface);
}

.stat-card--keyspace[b-w61lzgathq] {
    align-items: stretch;
    justify-content: flex-start;
    text-align: left;
}

.stat-label[b-w61lzgathq] {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--mud-palette-text-secondary);
    margin-bottom: 4px;
}

.stat-value[b-w61lzgathq] {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1;
    font-variant-numeric: tabular-nums;
    color: var(--mud-palette-text-primary);
}

.stat-value.hit-good[b-w61lzgathq] { color: var(--mud-palette-success); }
.stat-value.hit-warn[b-w61lzgathq] { color: var(--mud-palette-warning); }
.stat-value.hit-bad[b-w61lzgathq]  { color: var(--mud-palette-error); }

.stat-sub[b-w61lzgathq] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
    margin-top: 3px;
    font-variant-numeric: tabular-nums;
}

/* ---- Keyspace rows --------------------------------------------------- */
.db-stat-row[b-w61lzgathq] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 3px 0;
    font-size: 0.82rem;
}

.db-badge[b-w61lzgathq] {
    background: color-mix(in srgb, var(--mud-palette-info) 16%, transparent);
    color: var(--mud-palette-info);
    padding: 1px 8px;
    border-radius: var(--radius-full);
    font-size: 0.72rem;
    font-weight: 700;
    font-family: var(--font-mono);
}

.db-count[b-w61lzgathq] {
    font-weight: 600;
    color: var(--mud-palette-text-primary);
}

.db-ttl-note[b-w61lzgathq] {
    color: var(--mud-palette-text-secondary);
}

/* ---- Key-type status chips ------------------------------------------ */
.type-chip[b-w61lzgathq] {
    display: inline-flex;
    align-items: center;
    font-family: var(--font-mono);
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    padding: 1px 8px 1px 7px;
    border-radius: var(--radius-sm);
    line-height: 1.6;
    flex-shrink: 0;
}

.type-chip .status-dot[b-w61lzgathq] {
    width: 7px;
    height: 7px;
}

/* Same tint mapping everywhere; dot + label carry the signal, not color alone */
.type-string[b-w61lzgathq] { background: color-mix(in srgb, var(--mud-palette-info) 16%, transparent);      color: var(--mud-palette-info); }
.type-hash[b-w61lzgathq]   { background: color-mix(in srgb, var(--mud-palette-primary) 16%, transparent);   color: var(--mud-palette-primary); }
.type-list[b-w61lzgathq]   { background: color-mix(in srgb, var(--mud-palette-warning) 18%, transparent);   color: var(--mud-palette-warning); }
.type-set[b-w61lzgathq]    { background: color-mix(in srgb, var(--mud-palette-success) 16%, transparent);   color: var(--mud-palette-success); }
.type-zset[b-w61lzgathq]   { background: color-mix(in srgb, var(--mud-palette-secondary) 18%, transparent); color: var(--mud-palette-secondary); }
.type-stream[b-w61lzgathq] { background: color-mix(in srgb, var(--mud-palette-text-secondary) 16%, transparent); color: var(--mud-palette-text-secondary); }

/* ---- TTL badges ------------------------------------------------------ */
.ttl-badge[b-w61lzgathq] {
    font-size: 0.7rem;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
    flex-shrink: 0;
    font-variant-numeric: tabular-nums;
}

.ttl-expiring[b-w61lzgathq] {
    color: var(--mud-palette-error);
    font-weight: 600;
}

/* ---- Browser toolbar ------------------------------------------------- */
.browser-toolbar[b-w61lzgathq] {
    padding: 12px 14px;
    border-bottom: 1px solid var(--mud-palette-divider);
    display: flex;
    gap: 8px;
    align-items: center;
}

/* ---- Add-key panel --------------------------------------------------- */
.add-key-panel[b-w61lzgathq] {
    padding: 14px;
    background: color-mix(in srgb, var(--mud-palette-success) 8%, var(--mud-palette-surface));
    border-bottom: 1px solid var(--mud-palette-divider);
}

.add-key-title[b-w61lzgathq] {
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--mud-palette-success);
    margin-bottom: 10px;
}

.add-key-row[b-w61lzgathq] {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 8px;
}

.add-key-inline[b-w61lzgathq] {
    display: flex;
    gap: 6px;
    margin-top: 4px;
}

.add-key-note[b-w61lzgathq] {
    margin-bottom: 6px;
    font-size: 0.78rem;
    color: var(--mud-palette-text-secondary);
}

.add-key-preview[b-w61lzgathq] {
    display: flex;
    gap: 4px;
    margin-bottom: 3px;
    font-size: 0.8rem;
    font-family: var(--font-mono);
    align-items: center;
}

.preview-field[b-w61lzgathq] {
    background: color-mix(in srgb, var(--mud-palette-primary) 16%, transparent);
    color: var(--mud-palette-primary);
    padding: 1px 6px;
    border-radius: var(--radius-sm);
}

.preview-arrow[b-w61lzgathq] { color: var(--mud-palette-text-secondary); }

.add-key-actions[b-w61lzgathq] {
    display: flex;
    gap: 6px;
    margin-top: 10px;
}

/* ---- Status bar ------------------------------------------------------ */
.browser-status[b-w61lzgathq] {
    padding: 6px 14px;
    background: var(--mud-palette-background-grey);
    border-bottom: 1px solid var(--mud-palette-divider);
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
    display: flex;
    align-items: center;
    gap: 8px;
}

.pattern-code[b-w61lzgathq] {
    background: var(--mud-palette-background-grey);
    border: 1px solid var(--mud-palette-divider);
    padding: 0 4px;
    border-radius: var(--radius-sm);
    font-family: var(--font-mono);
}

.status-warn[b-w61lzgathq] { color: var(--mud-palette-warning); }

/* ---- Tree view ------------------------------------------------------- */
.tree-scroll[b-w61lzgathq] {
    max-height: calc(100vh - 420px);
    overflow-y: auto;
    padding: 4px 0;
}

.tree-loading[b-w61lzgathq] {
    padding: 48px;
    text-align: center;
}

.tree-leaf[b-w61lzgathq],
.tree-folder[b-w61lzgathq] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.82rem;
    cursor: pointer;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-right: 10px;
    border-left: 3px solid transparent;
    transition: background var(--dur-fast) var(--ease-out);
}

.tree-leaf:hover[b-w61lzgathq] { background: var(--mud-palette-action-default-hover); }

.tree-leaf.selected[b-w61lzgathq] {
    background: color-mix(in srgb, var(--mud-palette-primary) 12%, transparent);
    border-left-color: var(--mud-palette-primary);
}

.tree-folder[b-w61lzgathq] {
    gap: 4px;
    user-select: none;
    background: var(--mud-palette-background-grey);
}

/* depth indentation utility classes (avoids inline style) */
.indent-0[b-w61lzgathq]  { padding-left: 10px; }
.indent-1[b-w61lzgathq]  { padding-left: 28px; }
.indent-2[b-w61lzgathq]  { padding-left: 46px; }
.indent-3[b-w61lzgathq]  { padding-left: 64px; }
.indent-4[b-w61lzgathq]  { padding-left: 82px; }
.indent-5[b-w61lzgathq]  { padding-left: 100px; }
.indent-6[b-w61lzgathq]  { padding-left: 118px; }
.indent-7[b-w61lzgathq]  { padding-left: 136px; }
.indent-8[b-w61lzgathq]  { padding-left: 154px; }
.indent-9[b-w61lzgathq]  { padding-left: 172px; }
.indent-10[b-w61lzgathq] { padding-left: 190px; }
.indent-11[b-w61lzgathq] { padding-left: 208px; }
.indent-12[b-w61lzgathq] { padding-left: 226px; }

.tree-label[b-w61lzgathq] {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-family: var(--font-mono);
    font-weight: 400;
}

.tree-leaf.selected .tree-label[b-w61lzgathq],
.tree-folder .tree-label[b-w61lzgathq] { font-weight: 600; }

.folder-count[b-w61lzgathq] {
    font-size: 0.7rem;
    background: var(--mud-palette-divider);
    color: var(--mud-palette-text-secondary);
    padding: 1px 6px;
    border-radius: var(--radius-full);
    flex-shrink: 0;
    font-variant-numeric: tabular-nums;
}

.tree-footer[b-w61lzgathq] {
    padding: 10px;
    border-top: 1px solid var(--mud-palette-divider);
    text-align: center;
}

/* ---- Empty / loading states ----------------------------------------- */
.empty-state[b-w61lzgathq] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
    color: var(--mud-palette-text-secondary);
    gap: 8px;
    text-align: center;
}

/* ---- Detail panel ---------------------------------------------------- */
.detail-header-bar[b-w61lzgathq] {
    padding: 12px 16px;
    border-bottom: 1px solid var(--mud-palette-divider);
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.detail-key[b-w61lzgathq] {
    font-size: 0.83rem;
    font-weight: 600;
    flex: 1;
    word-break: break-all;
    font-family: var(--font-mono);
    background: var(--mud-palette-background-grey);
    padding: 3px 8px;
    border-radius: var(--radius-sm);
}

.detail-meta[b-w61lzgathq] {
    padding: 10px 16px;
    border-bottom: 1px solid var(--mud-palette-divider);
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.detail-body[b-w61lzgathq] {
    padding: 16px;
}

.value-loading[b-w61lzgathq] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 24px;
}

.value-toolbar[b-w61lzgathq] {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 6px;
    margin-bottom: 8px;
}

.string-value[b-w61lzgathq] {
    font-family: var(--font-mono);
    font-size: 0.82rem;
    white-space: pre-wrap;
    word-break: break-all;
    background: var(--mud-palette-background-grey);
    padding: 14px;
    border-radius: var(--radius-md);
    max-height: 460px;
    overflow-y: auto;
    border: 1px solid var(--mud-palette-lines-default);
    margin: 0;
    color: var(--mud-palette-text-primary);
}

/* ---- Value tables (hash / list / set / zset) ------------------------ */
.table-scroll[b-w61lzgathq] {
    overflow-x: auto;
}

.value-table[b-w61lzgathq] {
    width: 100%;
    font-size: 0.82rem;
    border-collapse: collapse;
}

.value-table th[b-w61lzgathq] {
    text-align: left;
    padding: 7px 12px;
    background: var(--mud-palette-background-grey);
    font-weight: 600;
    font-size: 0.73rem;
    text-transform: uppercase;
    color: var(--mud-palette-text-secondary);
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.value-table td[b-w61lzgathq] {
    padding: 6px 12px;
    border-bottom: 1px solid var(--mud-palette-divider);
    vertical-align: top;
    word-break: break-all;
    color: var(--mud-palette-text-primary);
}

.value-table tr:last-child td[b-w61lzgathq] { border-bottom: none; }

.col-field[b-w61lzgathq]   { width: 35%; }
.col-index[b-w61lzgathq]   { width: 50px; }
.col-score[b-w61lzgathq]   { width: 100px; }
.col-actions[b-w61lzgathq] { width: 1%; white-space: nowrap; text-align: center; }

.cell-actions[b-w61lzgathq] {
    padding: 4px 6px;
    text-align: center;
    white-space: nowrap;
}

.hash-field[b-w61lzgathq] {
    font-weight: 600;
    font-family: var(--font-mono);
    color: var(--mud-palette-primary);
}

.value-cell[b-w61lzgathq] { font-family: var(--font-mono); }

.list-index[b-w61lzgathq] {
    color: var(--mud-palette-text-secondary);
    font-family: var(--font-mono);
    font-variant-numeric: tabular-nums;
    text-align: right;
}

.zset-score[b-w61lzgathq] {
    font-weight: 700;
    color: var(--mud-palette-secondary);
    font-family: var(--font-mono);
    font-variant-numeric: tabular-nums;
    text-align: right;
}

.add-row[b-w61lzgathq] {
    background: color-mix(in srgb, var(--mud-palette-success) 8%, transparent);
}

.list-edit-bar[b-w61lzgathq],
.set-edit-bar[b-w61lzgathq] {
    display: flex;
    gap: 6px;
    margin-bottom: 10px;
    align-items: center;
    flex-wrap: wrap;
}

/* ---- JSON viewer ----------------------------------------------------- */
/*
   Deliberate code-highlight theme (Catppuccin Mocha) kept as a self-contained
   token set. Only the syntax colors are hardcoded here; the panel surface,
   border and radius use console tokens so contrast holds in both palettes.
*/
.json-viewer[b-w61lzgathq] {
    --json-key:     #89b4fa;   /* keys           */
    --json-punct:   #6c7086;   /* colons, commas */
    --json-bracket: #cba6f7;   /* braces/brackets*/
    --json-str:     #a6e3a1;   /* string values  */
    --json-num:     #fab387;   /* numbers        */
    --json-bool:    #f38ba8;   /* booleans       */
    --json-null:    #6c7086;   /* null           */

    font-family: var(--font-mono);
    font-size: 0.82rem;
    background: #1e1e2e;                 /* Catppuccin base — fixed dark code surface */
    color: #cdd6f4;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--radius-md);
    padding: 14px 10px;
    max-height: 520px;
    overflow-y: auto;
    line-height: 1.8;
}

.json-row[b-w61lzgathq] {
    display: flex;
    align-items: center;
    gap: 4px;
}

.json-row--toggle[b-w61lzgathq] { cursor: pointer; }

.json-toggle[b-w61lzgathq] {
    color: var(--json-punct);
    font-size: 11px;
    width: 14px;
    display: inline-block;
    flex-shrink: 0;
}

.json-spacer[b-w61lzgathq] {
    width: 14px;
    flex-shrink: 0;
    display: inline-block;
}

.json-key[b-w61lzgathq]     { color: var(--json-key); }
.json-punct[b-w61lzgathq]   { color: var(--json-punct); }
.json-bracket[b-w61lzgathq] { color: var(--json-bracket); }
.json-hint[b-w61lzgathq] {
    color: var(--json-punct);
    font-size: 0.75rem;
    margin-left: 4px;
}

.json-val[b-w61lzgathq] { word-break: break-all; }
.json-string[b-w61lzgathq] { color: var(--json-str); }
.json-number[b-w61lzgathq] { color: var(--json-num); }
.json-bool[b-w61lzgathq]   { color: var(--json-bool); }
.json-null[b-w61lzgathq]   { color: var(--json-null); }
.json-default[b-w61lzgathq] { color: #cdd6f4; }

/* json indentation utilities (20px step) */
.jindent-0[b-w61lzgathq]  { padding-left: 0; }
.jindent-1[b-w61lzgathq]  { padding-left: 20px; }
.jindent-2[b-w61lzgathq]  { padding-left: 40px; }
.jindent-3[b-w61lzgathq]  { padding-left: 60px; }
.jindent-4[b-w61lzgathq]  { padding-left: 80px; }
.jindent-5[b-w61lzgathq]  { padding-left: 100px; }
.jindent-6[b-w61lzgathq]  { padding-left: 120px; }
.jindent-7[b-w61lzgathq]  { padding-left: 140px; }
.jindent-8[b-w61lzgathq]  { padding-left: 160px; }
.jindent-9[b-w61lzgathq]  { padding-left: 180px; }
.jindent-10[b-w61lzgathq] { padding-left: 200px; }
.jindent-11[b-w61lzgathq] { padding-left: 220px; }
.jindent-12[b-w61lzgathq] { padding-left: 240px; }

/* ---- MudBlazor internals (::deep, anchored by .redis-page) ---------- */
.redis-page[b-w61lzgathq]  .redis-avatar {
    width: 44px;
    height: 44px;
    background: color-mix(in srgb, var(--mud-palette-error) 16%, transparent);
    color: var(--mud-palette-error);
}

/* Spacing on MudGrid / MudText roots */
.redis-page[b-w61lzgathq]  .stat-grid { margin-bottom: 24px; }
.redis-page[b-w61lzgathq]  .flush-title {
    color: var(--mud-palette-error);
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 6px;
}

/* Field widths (class sits on the Mud component root) */
.redis-page[b-w61lzgathq]  .flush-input   { max-width: 200px; }
.redis-page[b-w61lzgathq]  .toolbar-search { flex: 1; }
.redis-page[b-w61lzgathq]  .add-key-name  { flex: 1; min-width: 160px; }
.redis-page[b-w61lzgathq]  .add-key-type  { width: 110px; }
.redis-page[b-w61lzgathq]  .add-key-ttl   { width: 130px; }
.redis-page[b-w61lzgathq]  .add-key-value { width: 100%; margin-bottom: 8px; }
.redis-page[b-w61lzgathq]  .field-grow    { flex: 1; }
.redis-page[b-w61lzgathq]  .field-grow-2  { flex: 2; }
.redis-page[b-w61lzgathq]  .field-score   { width: 100px; }

.redis-page[b-w61lzgathq]  .flush-input .mud-input-slot { font-family: var(--font-mono); }
.redis-page[b-w61lzgathq]  .string-edit .mud-input-slot { font-family: var(--font-mono); font-size: 0.82rem; }

/* Icons / spinners */
.redis-page[b-w61lzgathq]  .status-icon    { font-size: 14px; }
.redis-page[b-w61lzgathq]  .status-spinner { width: 14px; height: 14px; }
.redis-page[b-w61lzgathq]  .tree-icon        { font-size: 14px; color: var(--mud-palette-text-secondary); flex-shrink: 0; }
.redis-page[b-w61lzgathq]  .tree-chevron     { font-size: 16px; color: var(--mud-palette-text-secondary); flex-shrink: 0; }
.redis-page[b-w61lzgathq]  .tree-folder-icon { font-size: 15px; color: var(--mud-palette-warning); flex-shrink: 0; }
.redis-page[b-w61lzgathq]  .empty-icon       { font-size: 40px; color: var(--mud-palette-text-secondary); }

.redis-page[b-w61lzgathq]  .mini-btn {
    padding: 2px;
    width: 22px;
    height: 22px;
}

.redis-page[b-w61lzgathq]  .json-copy {
    padding: 2px;
    width: 20px;
    height: 20px;
    color: var(--json-key);
}

/* ---- Responsive ------------------------------------------------------ */
@media (max-width: 960px) {
    .redis-header[b-w61lzgathq] { flex-direction: column; align-items: stretch; }
    .redis-header-actions[b-w61lzgathq] { justify-content: flex-end; }
    .tree-scroll[b-w61lzgathq] { max-height: 50vh; }
}
/* /Features/Renewals/Components/RenewalLogComponent.razor.rz.scp.css */
.log-scroll[b-cq19xm4k9f] {
    max-height: 200vh;
    overflow-y: auto;
    padding-right: 4px;
}

/* MudTimeline reserves a wide 96px divider gutter for the dot/line, wasting most of the narrow
   Log column. Shrink that gutter and move the line left so the cards reclaim the width. */
.renewal-log-timeline[b-cq19xm4k9f]  .mud-timeline-item .mud-timeline-item-divider {
    min-width: 34px;
}

.renewal-log-timeline.mud-timeline-position-start[b-cq19xm4k9f]  .mud-timeline-item-content {
    max-width: calc(100% - 34px);
}

.renewal-log-timeline.mud-timeline-position-start[b-cq19xm4k9f]::before {
    left: 16px;
}

.renewal-log-timeline.mud-timeline-position-start.mud-timeline-rtl[b-cq19xm4k9f]::before {
    right: 16px;
    left: auto;
}

/* One card per save/transaction. */
.log-entry[b-cq19xm4k9f] {
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 10px;
    padding: 12px 14px;
    background-color: var(--mud-palette-surface);
}

.log-entry__user[b-cq19xm4k9f] {
    font-weight: 600;
    font-size: 0.875rem;
    color: var(--mud-palette-text-primary);
    word-break: break-word;
    line-height: 1.3;
}

.log-entry__time[b-cq19xm4k9f] {
    margin-top: 2px;
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

.log-entry__action[b-cq19xm4k9f] {
    display: inline-block;
    margin-top: 8px;
    padding: 2px 10px;
    border-radius: 6px;
    font-weight: 600;
    font-size: 0.8rem;
    color: var(--mud-palette-primary-text);
    background-color: var(--mud-palette-primary);
}

.log-entry__empty[b-cq19xm4k9f] {
    margin-top: 8px;
    font-size: 0.78rem;
    font-style: italic;
    color: var(--mud-palette-text-secondary);
}

/* One bordered row per changed field. */
.log-change[b-cq19xm4k9f] {
    margin-top: 10px;
    background-color: var(--mud-palette-background-grey);
}

.log-change__section[b-cq19xm4k9f] {
    display: block;
    font-weight: 600;
    font-size: 0.8rem;
    color: var(--mud-palette-primary);
    margin-bottom: 2px;
}

.log-change__prop[b-cq19xm4k9f] {
    display: block;
    font-size: 0.78rem;
    color: var(--mud-palette-text-secondary);
    margin-bottom: 6px;
}

.log-change__values[b-cq19xm4k9f] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}
/* /Features/Search/Components/QuickSearch.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════════
   Quick Search / Command Palette
   Inspired by Linear, Raycast, Vercel
   ═══════════════════════════════════════════════════════════════════ */

/* ── Backdrop ──────────────────────────────────────────────────────── */
.qs-backdrop[b-wdfc2tfs6n] {
    position: fixed;
    inset: 0;
    background: var(--mud-palette-overlay-dark);
    z-index: var(--z-backdrop);
}

/* ── Panel ─────────────────────────────────────────────────────────── */
/* Opened via ⌘K (keyboard) — instant, no entrance animation (DESIGN.md §5). */
.qs-panel[b-wdfc2tfs6n] {
    position: fixed;
    top: 11vh;
    left: 50%;
    transform: translateX(-50%);
    width: min(640px, calc(100vw - 32px));
    max-height: 68vh;
    background: var(--mud-palette-surface);
    border-radius: var(--radius-lg);
    box-shadow:
        0 0 0 1px var(--mud-palette-lines-default),
        0 4px 16px rgb(0 0 0 / 0.35);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    z-index: var(--z-modal);
}

/* ── Input row ─────────────────────────────────────────────────────── */
.qs-input-row[b-wdfc2tfs6n] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 18px;
    border-bottom: 1px solid var(--mud-palette-divider);
    flex-shrink: 0;
}

.qs-input-icon[b-wdfc2tfs6n] {
    flex-shrink: 0;
    font-size: 1.25rem !important;
    color: var(--mud-palette-text-secondary) !important;
}

.qs-input[b-wdfc2tfs6n] {
    flex: 1;
    border: none;
    outline: none;
    background: transparent;
    font-size: 1rem;
    font-weight: 400;
    color: var(--mud-palette-text-primary);
    min-width: 0;
    caret-color: var(--mud-palette-primary);
}

.qs-input[b-wdfc2tfs6n]::placeholder {
    color: var(--mud-palette-text-disabled);
}

.qs-clear-btn[b-wdfc2tfs6n] {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--mud-palette-action-default-hover);
    border: none;
    border-radius: 6px;
    width: 24px;
    height: 24px;
    cursor: pointer;
    color: var(--mud-palette-text-secondary);
    flex-shrink: 0;
    padding: 0;
    transition: background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
}

.qs-clear-btn:hover[b-wdfc2tfs6n] {
    background: var(--mud-palette-primary);
    color: var(--mud-palette-primary-text);
}

.qs-esc-hint[b-wdfc2tfs6n] {
    font-size: 0.68rem;
    font-family: inherit;
    padding: 3px 7px;
    border-radius: 5px;
    background: var(--mud-palette-action-default-hover);
    color: var(--mud-palette-text-secondary);
    border: 1px solid var(--mud-palette-divider);
    flex-shrink: 0;
    letter-spacing: 0.03em;
}

/* ── Results ───────────────────────────────────────────────────────── */
.qs-results-wrap[b-wdfc2tfs6n] {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 6px 8px;
    scrollbar-width: thin;
    scrollbar-color: var(--mud-palette-divider) transparent;
}

.qs-results-wrap[b-wdfc2tfs6n]::-webkit-scrollbar       { width: 5px; }
.qs-results-wrap[b-wdfc2tfs6n]::-webkit-scrollbar-track { background: transparent; }
.qs-results-wrap[b-wdfc2tfs6n]::-webkit-scrollbar-thumb {
    background: var(--mud-palette-divider);
    border-radius: 3px;
}

/* ── Group label ───────────────────────────────────────────────────── */
.qs-group-label[b-wdfc2tfs6n] {
    font-size: 0.675rem;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: var(--mud-palette-text-disabled);
    padding: 10px 10px 4px;
}

/* ── Result item ───────────────────────────────────────────────────── */
.qs-item[b-wdfc2tfs6n] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 7px 10px;
    border-radius: var(--radius-md);
    cursor: pointer;
    transition: background var(--dur-fast) var(--ease-out);
    user-select: none;
}

.qs-item:hover[b-wdfc2tfs6n],
.qs-item--selected[b-wdfc2tfs6n] {
    background: var(--mud-palette-action-default-hover);
}

.qs-item--selected[b-wdfc2tfs6n] {
    background: color-mix(in srgb, var(--mud-palette-primary) 10%, transparent) !important;
}

/* Icon wrapper */
.qs-item-icon-wrap[b-wdfc2tfs6n] {
    width: 34px;
    height: 34px;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: var(--mud-palette-action-default-hover);
    color: var(--mud-palette-text-secondary);
    transition: background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
}

.qs-item-icon-wrap--action[b-wdfc2tfs6n] {
    background: color-mix(in srgb, var(--mud-palette-primary) 12%, transparent);
    color: var(--mud-palette-primary);
}

.qs-item--selected .qs-item-icon-wrap[b-wdfc2tfs6n] {
    background: var(--mud-palette-primary);
    color: var(--mud-palette-primary-text);
}

/* Selected row emphasises its title by weight, not colour alone. */
.qs-item--selected .qs-item-title[b-wdfc2tfs6n] {
    font-weight: 600;
}

/* Text */
.qs-item-text[b-wdfc2tfs6n] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.qs-item-title[b-wdfc2tfs6n] {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--mud-palette-text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.qs-item-subtitle[b-wdfc2tfs6n] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Highlight for matched text */
[b-wdfc2tfs6n] .qs-match {
    background: transparent;
    color: var(--mud-palette-primary);
    font-weight: 700;
}

/* Badge */
.qs-badge[b-wdfc2tfs6n] {
    font-size: 0.65rem;
    font-weight: 600;
    padding: 2px 7px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--mud-palette-primary) 14%, transparent);
    color: var(--mud-palette-primary);
    flex-shrink: 0;
    letter-spacing: 0.02em;
}

/* Enter ↵ hint on selected row */
.qs-item-enter[b-wdfc2tfs6n] {
    font-size: 0.75rem;
    padding: 3px 7px;
    border-radius: var(--radius-sm);
    background: var(--mud-palette-primary);
    color: var(--mud-palette-primary-text);
    flex-shrink: 0;
    font-family: var(--font-mono);
    border: none;
    letter-spacing: 0;
}

/* ── Empty state ───────────────────────────────────────────────────── */
.qs-empty[b-wdfc2tfs6n] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 24px;
    gap: 8px;
    text-align: center;
}

.qs-empty-icon[b-wdfc2tfs6n] {
    font-size: 2.5rem !important;
    color: var(--mud-palette-text-disabled) !important;
    margin-bottom: 4px;
}

.qs-empty-title[b-wdfc2tfs6n] {
    font-size: 0.9rem;
    color: var(--mud-palette-text-secondary);
    margin: 0;
}

.qs-empty-hint[b-wdfc2tfs6n] {
    font-size: 0.8rem;
    color: var(--mud-palette-text-disabled);
    margin: 0;
}

/* ── Footer ────────────────────────────────────────────────────────── */
.qs-footer[b-wdfc2tfs6n] {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 9px 18px;
    border-top: 1px solid var(--mud-palette-divider);
    flex-shrink: 0;
}

.qs-footer-hint[b-wdfc2tfs6n] {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 0.72rem;
    color: var(--mud-palette-text-disabled);
}

.qs-footer-hint kbd[b-wdfc2tfs6n],
.qs-esc-hint[b-wdfc2tfs6n] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.7rem;
    font-family: inherit;
    padding: 2px 6px;
    border-radius: 5px;
    background: var(--mud-palette-action-default-hover);
    color: var(--mud-palette-text-secondary);
    border: 1px solid var(--mud-palette-divider);
    line-height: 1.4;
}
/* /Features/Servers/Pages/ServersIndex.razor.rz.scp.css */
/* ServersIndex - Scoped Styles (chrome owned by DsPage/DsPanel/DsToolbar) */

.servers__search[b-p5e743fk7l] {
    min-width: 300px;
}

/* Responsive adjustments */
@media (max-width: 1400px) {
    [b-p5e743fk7l] .mud-table-container {
        overflow-x: auto !important;
    }

    [b-p5e743fk7l] .mud-table {
        min-width: 1000px !important;
    }
}

@media (max-width: 768px) {
    [b-p5e743fk7l] .mud-table-container {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }

    [b-p5e743fk7l] .mud-table {
        min-width: 1000px !important;
    }
}
/* /Features/ServiceStock/Pages/ServiceStockMovementsPage.razor.rz.scp.css */
.sync-dot[b-8af76wu5qr] { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--mud-palette-success); box-shadow: 0 0 0 4px var(--mud-palette-success-hover); }
.sync-dot--stale[b-8af76wu5qr] { background: var(--mud-palette-warning); box-shadow: 0 0 0 4px var(--mud-palette-warning-hover); }
/* /Features/ServiceStock/Pages/ServiceStockPage.razor.rz.scp.css */
.stock-layout[b-71mi2qpxom] { display: grid; gap: 1rem; }
.stock-cards[b-71mi2qpxom] { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: .75rem; margin-top: 1rem; }
.stock-card[b-71mi2qpxom] { border: 1px solid var(--mud-palette-lines-default); border-radius: 10px; background: var(--mud-palette-surface); padding: 1rem; text-align: start; display: grid; gap: .4rem; cursor: pointer; color: inherit; }
.stock-card:hover[b-71mi2qpxom], .stock-card--selected[b-71mi2qpxom] { border-color: var(--mud-palette-primary); box-shadow: 0 0 0 1px var(--mud-palette-primary); }
.stock-card__name[b-71mi2qpxom] { font-weight: 600; }
.stock-card__qty[b-71mi2qpxom] { font-size: 1.8rem; font-variant-numeric: tabular-nums; }

.sync-dot[b-71mi2qpxom] { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--mud-palette-success); box-shadow: 0 0 0 4px var(--mud-palette-success-hover); }
.sync-dot--stale[b-71mi2qpxom] { background: var(--mud-palette-warning); box-shadow: 0 0 0 4px var(--mud-palette-warning-hover); }
/* /Features/ServiceStock/Pages/ServiceStockPurchasePage.razor.rz.scp.css */
[b-yt2r7z7tlz] .ss-purchase-summary .ds-panel__title {
    font-weight: 700;
}
/* /Features/ServiceStock/Pages/ServiceStockSettingsPage.razor.rz.scp.css */
.sync-dot[b-4uj70e33vx] { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--mud-palette-success); box-shadow: 0 0 0 4px var(--mud-palette-success-hover); }
.sync-dot--stale[b-4uj70e33vx] { background: var(--mud-palette-warning); box-shadow: 0 0 0 4px var(--mud-palette-warning-hover); }

[b-4uj70e33vx] .ss-alerts-toggle { width: fit-content; }

[b-4uj70e33vx] .ss-rule-item { position: relative; padding-left: 14px; }
[b-4uj70e33vx] .ss-rule-item::before { content: ""; position: absolute; left: 0; top: .58em; width: 4px; height: 4px; border-radius: 50%; background: var(--mud-palette-primary); }
/* /Features/SqlQuery/Pages/SqlQueryPage.razor.rz.scp.css */
/* SQL Query Page — Precision Ops Console scoped styles */

/* ══ SHELL CHROME ══════════════════════════════════════════
   Page frame, header, sidebar, editor, toolbar, status bar.
   All colors from --mud-palette-*; type/motion/z from tokens. */

/* Page frame */
.sqp-page[b-fcymuns6jt] {
    display: flex;
    flex-direction: column;
    height: calc(100vh - 72px);
    overflow: hidden;
    background: var(--mud-palette-background-grey);
}

/* Header */
.sqp-header[b-fcymuns6jt] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 20px;
    background: var(--mud-palette-surface);
    border-bottom: 1px solid var(--mud-palette-lines-default);
    flex-shrink: 0;
}

.sqp-header-left[b-fcymuns6jt] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.sqp-header-right[b-fcymuns6jt] {
    display: flex;
    align-items: center;
    gap: 12px;
}

[b-fcymuns6jt] .sqp-header-icon {
    font-size: 26px;
    color: var(--mud-palette-primary);
}

[b-fcymuns6jt] .sqp-header-title {
    margin: 0;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -0.02em;
}

/* Selected-script chip */
.sqp-script-chip[b-fcymuns6jt] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    max-width: 260px;
    padding: 4px 12px;
    border-radius: var(--r-sm);
    background: color-mix(in srgb, var(--mud-palette-primary) 12%, transparent);
    border: 1px solid color-mix(in srgb, var(--mud-palette-primary) 35%, transparent);
    color: var(--mud-palette-primary);
    font-size: 0.8rem;
    font-weight: 500;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

[b-fcymuns6jt] .sqp-script-chip-icon {
    font-size: 14px;
    flex-shrink: 0;
}

.sqp-script-chip-name[b-fcymuns6jt] {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.sqp-destructive-badge[b-fcymuns6jt] {
    flex-shrink: 0;
    padding: 1px 5px;
    border-radius: 3px;
    background: var(--mud-palette-error);
    color: var(--mud-palette-error-text);
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.04em;
}

[b-fcymuns6jt] .sqp-target-select {
    width: 300px;
}

/* Body */
.sqp-body[b-fcymuns6jt] {
    display: flex;
    flex: 1;
    overflow: hidden;
}

/* Sidebar */
.sqp-sidebar[b-fcymuns6jt] {
    width: 280px;
    min-width: 280px;
    display: flex;
    flex-direction: column;
    background: var(--mud-palette-surface);
    border-right: 1px solid var(--mud-palette-lines-default);
    overflow: hidden;
}

.sqp-sidebar-search[b-fcymuns6jt] {
    padding: 12px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
    flex-shrink: 0;
}

.sqp-sidebar-list[b-fcymuns6jt] {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
}

.sqp-sidebar-state[b-fcymuns6jt] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 40px 16px;
    text-align: center;
}

[b-fcymuns6jt] .sqp-empty-icon {
    font-size: 36px;
    color: var(--mud-palette-text-disabled);
}

/* Sidebar group header */
.sqp-group-header[b-fcymuns6jt] {
    position: sticky;
    top: 0;
    z-index: var(--z-sticky);
    padding: 7px 14px 4px;
    background: var(--mud-palette-background-grey);
    border-top: 1px solid var(--mud-palette-divider);
    color: var(--mud-palette-text-secondary);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

/* Sidebar script item */
.sqp-item[b-fcymuns6jt] {
    padding: 10px 14px;
    cursor: pointer;
    border-left: 3px solid transparent;
    border-bottom: 1px solid var(--mud-palette-divider);
}

.sqp-item--active[b-fcymuns6jt] {
    border-left-color: var(--mud-palette-primary);
    background: color-mix(in srgb, var(--mud-palette-primary) 10%, transparent);
}

.sqp-item--active:hover[b-fcymuns6jt] {
    background: color-mix(in srgb, var(--mud-palette-primary) 14%, transparent);
}

.sqp-item-row[b-fcymuns6jt] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
}

.sqp-item-name[b-fcymuns6jt] {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--mud-palette-text-primary);
}

.sqp-item--active .sqp-item-name[b-fcymuns6jt] {
    color: var(--mud-palette-primary);
}

.sqp-item-badges[b-fcymuns6jt] {
    display: flex;
    align-items: center;
    gap: 3px;
    flex-shrink: 0;
}

.sqp-badge-param[b-fcymuns6jt] {
    padding: 1px 5px;
    border-radius: 4px;
    background: var(--mud-palette-primary);
    color: var(--mud-palette-primary-text);
    font-size: 0.62rem;
    font-weight: 700;
}

.sqp-sev-badge[b-fcymuns6jt] {
    padding: 1px 5px;
    border-radius: 4px;
    font-size: 0.62rem;
    font-weight: 700;
}

.sqp-sev-critical[b-fcymuns6jt],
.sqp-sev-high[b-fcymuns6jt] {
    background: var(--mud-palette-error);
    color: var(--mud-palette-error-text);
}

.sqp-sev-medium[b-fcymuns6jt] {
    background: var(--mud-palette-warning);
    color: var(--mud-palette-warning-text);
}

.sqp-item-desc[b-fcymuns6jt] {
    margin-top: 3px;
    font-size: 0.72rem;
    line-height: 1.4;
    color: var(--mud-palette-text-secondary);
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

/* Main column */
.sqp-main[b-fcymuns6jt] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
}

/* Editor — flexes to fill for maximum vertical space */
.sqp-editor[b-fcymuns6jt] {
    flex: 1 1 0;
    min-height: 240px;
    background: var(--mud-palette-dark);
    border-bottom: 2px solid var(--mud-palette-primary);
    overflow: hidden;
}

/* Toolbar */
.sqp-toolbar[b-fcymuns6jt] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 6px 14px;
    background: var(--mud-palette-surface);
    border-bottom: 1px solid var(--mud-palette-lines-default);
    flex-shrink: 0;
}

.sqp-toolbar-group[b-fcymuns6jt] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.sqp-toolbar-status[b-fcymuns6jt] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

[b-fcymuns6jt] .sqp-btn-spinner {
    width: 16px;
    height: 16px;
}

.sqp-hint[b-fcymuns6jt] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 10px;
    border-radius: var(--r-sm);
    background: color-mix(in srgb, var(--mud-palette-warning) 14%, transparent);
    border: 1px solid color-mix(in srgb, var(--mud-palette-warning) 40%, transparent);
    color: var(--mud-palette-warning);
    font-size: 0.75rem;
}

[b-fcymuns6jt] .sqp-hint-icon {
    font-size: 13px;
}

/* Status bar */
.sqp-statusbar[b-fcymuns6jt] {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 26px;
    padding: 4px 14px;
    background: var(--mud-palette-dark);
    color: var(--mud-palette-dark-text);
    font-family: var(--font-mono);
    font-size: 0.72rem;
    flex-shrink: 0;
}

.sqp-status-item[b-fcymuns6jt] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.sqp-status-item--ok[b-fcymuns6jt] {
    color: var(--mud-palette-success);
}

.sqp-status-item--warn[b-fcymuns6jt] {
    color: var(--mud-palette-warning);
}

.sqp-status-item--danger[b-fcymuns6jt] {
    color: var(--mud-palette-error);
}

.sqp-status-sep[b-fcymuns6jt] {
    opacity: 0.4;
}

/* Tabs root */
[b-fcymuns6jt] .sqp-tabs {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

/* Empty / error state */
.sqp-empty[b-fcymuns6jt] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 40px;
    text-align: center;
}

[b-fcymuns6jt] .sqp-empty-big-icon {
    font-size: 46px;
}

[b-fcymuns6jt] .sqp-empty-big-icon--muted {
    color: var(--mud-palette-text-disabled);
}

/* Card scroll areas */
.sqp-cards[b-fcymuns6jt] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: 14px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

[b-fcymuns6jt] .sqp-card-icon {
    font-size: 15px;
}

.sqp-card-time[b-fcymuns6jt] {
    margin-left: auto;
    font-family: var(--font-mono);
    font-size: 0.72rem;
    opacity: 0.75;
}

/* Post-execute layout */
.sqp-post[b-fcymuns6jt] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
}

.sqp-success-banner[b-fcymuns6jt] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    background: color-mix(in srgb, var(--mud-palette-success) 12%, transparent);
    border-bottom: 2px solid color-mix(in srgb, var(--mud-palette-success) 45%, transparent);
    flex-shrink: 0;
}

[b-fcymuns6jt] .sqp-success-icon {
    font-size: 20px;
    color: var(--mud-palette-success);
}

[b-fcymuns6jt] .sqp-success-text {
    color: var(--mud-palette-success);
    font-weight: 600;
    font-size: 0.9rem;
}

.sqp-discrepancy[b-fcymuns6jt] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 16px;
    background: color-mix(in srgb, var(--mud-palette-warning) 14%, transparent);
    border-bottom: 1px solid color-mix(in srgb, var(--mud-palette-warning) 40%, transparent);
    color: var(--mud-palette-warning);
    font-size: 0.78rem;
    flex-shrink: 0;
}

[b-fcymuns6jt] .sqp-warn-icon {
    font-size: 15px;
    color: var(--mud-palette-warning);
}

.sqp-fallback[b-fcymuns6jt] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--mud-palette-text-secondary);
    font-size: 0.85rem;
}

/* Messages tab */
.sqp-messages[b-fcymuns6jt] {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}

.sqp-audit-banner[b-fcymuns6jt] {
    padding: 6px 14px;
    background: var(--mud-palette-background-grey);
    border-bottom: 1px solid var(--mud-palette-lines-default);
    flex-shrink: 0;
}

.sqp-audit-link[b-fcymuns6jt] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 0.76rem;
    font-weight: 500;
    color: var(--mud-palette-primary);
    text-decoration: none;
}

.sqp-audit-link:hover[b-fcymuns6jt] {
    text-decoration: underline;
}

[b-fcymuns6jt] .sqp-inline-icon {
    font-size: 13px;
}

.sqp-msg-log[b-fcymuns6jt] {
    flex: 1;
    overflow-y: auto;
    padding: 10px 16px;
    background: var(--mud-palette-surface);
    font-family: var(--font-mono);
    font-size: 12px;
    line-height: 1.8;
}

.sqp-msg-empty[b-fcymuns6jt] {
    color: var(--mud-palette-text-secondary);
    font-style: italic;
}

.sqp-msg-row[b-fcymuns6jt] {
    display: flex;
    align-items: baseline;
    gap: 8px;
    padding: 3px 0;
    border-bottom: 1px solid var(--mud-palette-divider);
    color: var(--mud-palette-text-primary);
}

.sqp-msg-row--ok[b-fcymuns6jt] {
    color: var(--mud-palette-success);
}

.sqp-msg-row--err[b-fcymuns6jt] {
    color: var(--mud-palette-error);
}

.sqp-msg-row--prev[b-fcymuns6jt] {
    color: var(--mud-palette-primary);
}

.sqp-msg-prefix[b-fcymuns6jt] {
    flex-shrink: 0;
    font-size: 10px;
    font-weight: 700;
    opacity: 0.6;
}

/* Dialogs */
.sqp-required[b-fcymuns6jt] {
    color: var(--mud-palette-error);
}

[b-fcymuns6jt] .sqp-param-input {
    flex: 1;
}

.sqp-param-chips[b-fcymuns6jt] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
    margin-bottom: 4px;
}

.sqp-param-chip[b-fcymuns6jt] {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    padding: 3px 4px 3px 12px;
    border-radius: 16px;
    background: var(--mud-palette-primary);
    color: var(--mud-palette-primary-text);
    font-size: 0.8rem;
    font-weight: 500;
}

.sqp-param-chip-val[b-fcymuns6jt] {
    max-width: 180px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.sqp-param-chip-remove[b-fcymuns6jt] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    padding: 0;
    flex-shrink: 0;
    border: none;
    border-radius: 50%;
    background: color-mix(in srgb, var(--mud-palette-primary-text) 25%, transparent);
    color: var(--mud-palette-primary-text);
    cursor: pointer;
    transition: background var(--dur-fast) var(--ease-out);
}

.sqp-param-chip-remove:hover[b-fcymuns6jt] {
    background: color-mix(in srgb, var(--mud-palette-primary-text) 40%, transparent);
}

.sqp-param-chip-remove:active[b-fcymuns6jt] {
    transform: scale(0.97);
}

[b-fcymuns6jt] .sqp-confirm-msg {
    white-space: pre-line;
}

/* ── Results area / tab layout ─────────────────────────── */
.sqp-results-area[b-fcymuns6jt] {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: var(--mud-palette-surface);
    min-height: 0;
}

[b-fcymuns6jt] .mud-tabs-panels {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
}

[b-fcymuns6jt] .mud-tab-panel {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
}

[b-fcymuns6jt] #sql-editor {
    height: 100%;
    width: 100%;
}

/* ── Sidebar script list ───────────────────────────────── */
.sqp-item-hover[b-fcymuns6jt] {
    transition: background var(--dur-fast) var(--ease-out);
}

.sqp-item-hover:hover[b-fcymuns6jt] {
    background: var(--mud-palette-background-grey);
}

/* ── Table cards ───────────────────────────────────────── */
.sqp-table-card[b-fcymuns6jt] {
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--r-md);
    overflow: hidden;
    box-shadow: var(--shadow-1);
    flex-shrink: 0;
}

.sqp-table-header[b-fcymuns6jt] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    font-size: 0.82rem;
    font-weight: 700;
    border-bottom: 1px solid transparent;
}

.sqp-header-blue[b-fcymuns6jt] {
    background: color-mix(in srgb, var(--mud-palette-info) 12%, transparent);
    color: var(--mud-palette-info);
    border-bottom-color: color-mix(in srgb, var(--mud-palette-info) 35%, transparent);
}

.sqp-header-indigo[b-fcymuns6jt] {
    background: color-mix(in srgb, var(--mud-palette-primary) 12%, transparent);
    color: var(--mud-palette-primary);
    border-bottom-color: color-mix(in srgb, var(--mud-palette-primary) 35%, transparent);
}

.sqp-header-red[b-fcymuns6jt] {
    background: color-mix(in srgb, var(--mud-palette-error) 12%, transparent);
    color: var(--mud-palette-error);
    border-bottom-color: color-mix(in srgb, var(--mud-palette-error) 35%, transparent);
}

.sqp-header-amber[b-fcymuns6jt] {
    background: color-mix(in srgb, var(--mud-palette-warning) 12%, transparent);
    color: var(--mud-palette-warning);
    border-bottom-color: color-mix(in srgb, var(--mud-palette-warning) 35%, transparent);
}

.sqp-row-count[b-fcymuns6jt] {
    font-size: 0.74rem;
    font-weight: 400;
    font-variant-numeric: tabular-nums;
    color: var(--mud-palette-info);
}

.sqp-row-count-red[b-fcymuns6jt] {
    color: var(--mud-palette-error);
}

.sqp-row-count-amber[b-fcymuns6jt] {
    font-size: 0.74rem;
    font-weight: 400;
    font-variant-numeric: tabular-nums;
    color: var(--mud-palette-warning);
}

.sqp-op-badge[b-fcymuns6jt] {
    font-size: 0.6rem;
    font-weight: 700;
    padding: 1px 5px;
    border-radius: 3px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    flex-shrink: 0;
}

.sqp-op-badge-delete[b-fcymuns6jt] {
    background: var(--mud-palette-error);
    color: var(--mud-palette-error-text);
}

.sqp-op-badge-update[b-fcymuns6jt] {
    background: var(--mud-palette-warning);
    color: var(--mud-palette-warning-text);
}

/* ── Result tables ─────────────────────────────────────── */
.sqp-table-scroll[b-fcymuns6jt] {
    overflow: auto;
    max-height: 280px;
}

.sqp-table[b-fcymuns6jt] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.82rem;
    font-family: var(--font-mono);
}

.sqp-th[b-fcymuns6jt] {
    padding: 7px 12px;
    text-align: left;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    white-space: nowrap;
    border-bottom: 2px solid var(--mud-palette-lines-default);
    position: sticky;
    top: 0;
    z-index: var(--z-sticky);
}

.sqp-th-blue[b-fcymuns6jt] {
    background: color-mix(in srgb, var(--mud-palette-info) 12%, var(--mud-palette-surface));
    color: var(--mud-palette-info);
    border-bottom-color: color-mix(in srgb, var(--mud-palette-info) 35%, transparent);
}

.sqp-th-indigo[b-fcymuns6jt] {
    background: color-mix(in srgb, var(--mud-palette-primary) 12%, var(--mud-palette-surface));
    color: var(--mud-palette-primary);
    border-bottom-color: color-mix(in srgb, var(--mud-palette-primary) 35%, transparent);
}

.sqp-th-red[b-fcymuns6jt] {
    background: color-mix(in srgb, var(--mud-palette-error) 12%, var(--mud-palette-surface));
    color: var(--mud-palette-error);
    border-bottom-color: color-mix(in srgb, var(--mud-palette-error) 35%, transparent);
}

.sqp-th-amber[b-fcymuns6jt] {
    background: color-mix(in srgb, var(--mud-palette-warning) 12%, var(--mud-palette-surface));
    color: var(--mud-palette-warning);
    border-bottom-color: color-mix(in srgb, var(--mud-palette-warning) 35%, transparent);
}

.sqp-tr[b-fcymuns6jt] {
    border-bottom: 1px solid var(--mud-palette-divider);
    transition: background var(--dur-fast) var(--ease-out);
}

.sqp-tr:hover[b-fcymuns6jt] {
    background: var(--mud-palette-background-grey);
}

.sqp-tr-red:hover[b-fcymuns6jt] {
    background: color-mix(in srgb, var(--mud-palette-error) 8%, transparent);
}

.sqp-td[b-fcymuns6jt] {
    padding: 5px 12px;
    color: var(--mud-palette-text-primary);
    white-space: nowrap;
    max-width: 320px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sqp-null[b-fcymuns6jt] {
    color: var(--mud-palette-text-disabled);
    font-style: italic;
}

.sqp-empty-table[b-fcymuns6jt] {
    padding: 14px 16px;
    color: var(--mud-palette-text-secondary);
    font-size: 0.82rem;
    font-style: italic;
}
/* /Features/SqlScripts/Pages/SqlScriptsIndex.razor.rz.scp.css */
/* SqlScriptsIndex - layout only (surfaces, chips, empty states come from the kit) */

/* Align checkboxes/icon buttons with the outlined fields in the same grid row */
.sql-inline-center[b-yv3mapff3d] {
    display: flex;
    align-items: center;
}

.sql-inline-end[b-yv3mapff3d] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

/* Monospace multi-line SQL editors inside the create/edit dialog */
.sql-code-field[b-yv3mapff3d]  textarea {
    font-family: var(--font-mono);
    font-size: 13px;
}
/* /Features/Subdomains/Components/BulkActionButton.razor.rz.scp.css */
/* BulkActionButton - quiet text action; spinner sits where the icon was */

[b-bnfbi92ci1] .sd-bulk-action {
    text-transform: none;
    font-weight: 500;
    letter-spacing: 0;
}

[b-bnfbi92ci1] .sd-bulk-action__spinner {
    margin-inline-end: 8px;
}
/* /Features/Subdomains/Pages/AuditLogHistory.razor.rz.scp.css */
/* AuditLogHistory - layout only */

.stat[b-p01ohpvwa0] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.stat-value[b-p01ohpvwa0] {
    font-weight: 700;
    line-height: 1.2;
    color: var(--mud-palette-text-primary);
}

.stat-success[b-p01ohpvwa0] { color: var(--mud-palette-success); }
.stat-danger[b-p01ohpvwa0] { color: var(--mud-palette-error); }
.stat-info[b-p01ohpvwa0] { color: var(--mud-palette-info); }

.stat-label[b-p01ohpvwa0] {
    color: var(--mud-palette-text-secondary);
}

.toolbar-full[b-p01ohpvwa0] {
    width: 100%;
}
/* /Features/Subdomains/Pages/ResetMigrateData.razor.rz.scp.css */
/* ResetMigrateData - layout only */

.side-panel[b-1p05vnv0kk] {
    height: 600px;
    overflow-y: auto;
}

/* Module list items — full border + tint (no colored side-stripe) */
.module-item[b-1p05vnv0kk] {
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 8px;
    transition: background-color var(--dur-fast) var(--ease-out),
                border-color var(--dur-fast) var(--ease-out);
}

.module-item:hover[b-1p05vnv0kk] {
    background-color: var(--mud-palette-action-default-hover);
}

.module-item--active[b-1p05vnv0kk] {
    background-color: var(--mud-palette-action-default-hover);
    border-color: var(--mud-palette-primary);
}

.select-all-checkbox[b-1p05vnv0kk] {
    padding-left: 8px;
}

.fill-height[b-1p05vnv0kk] {
    height: 100%;
}
/* /Features/Subdomains/Pages/SubdomainsIndex.razor.rz.scp.css */
/* Subdomains Index — Precision Ops Console */

/* Search field grows to fill the toolbar's left cluster (chrome now owned by DsPage/DsPanel/DsToolbar) */
.subdomains__search[b-f1ggvkr96l] {
    flex: 1;
    max-width: 500px;
}

/* Row hover uses the raised surface step (see DESIGN.md §6 data tables) */
[b-f1ggvkr96l] .grid-modern .mud-table-row:hover {
    background: var(--mud-palette-action-hover);
    transition: background var(--dur-fast) var(--ease-out);
}

/* Copyable identifier chips: demoted to quiet, reveal on row hover (was loud coloured GUIDs) */
[b-f1ggvkr96l] .id-chip {
    opacity: .4;
    transition: opacity var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);
}

[b-f1ggvkr96l] .mud-table-row:hover .id-chip {
    opacity: .85;
}

[b-f1ggvkr96l] .id-chip:hover {
    background: var(--mud-palette-action-hover);
}

/* Compact Company cell — two tight lines instead of three stacked blocks */
[b-f1ggvkr96l] .sd-entity {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    padding: 2px 0;
}

[b-f1ggvkr96l] .sd-entity__main {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

[b-f1ggvkr96l] .sd-entity__ico {
    color: var(--mud-palette-primary);
    opacity: .8;
    flex: none;
}

[b-f1ggvkr96l] .sd-entity__text {
    display: flex;
    flex-direction: column;
    min-width: 0;
    line-height: 1.25;
}

[b-f1ggvkr96l] .sd-entity__name {
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

[b-f1ggvkr96l] .sd-entity__sub {
    font-size: .74rem;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

[b-f1ggvkr96l] .sd-entity__meta {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-left: 26px;
    flex-wrap: wrap;
}

[b-f1ggvkr96l] .sd-entity__tag {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-size: .72rem;
    color: var(--mud-palette-text-secondary);
}

[b-f1ggvkr96l] .sd-entity__tag .mud-icon-root {
    font-size: 14px;
    opacity: .7;
}

[b-f1ggvkr96l] .sd-entity__tag--muted {
    opacity: .65;
}

[b-f1ggvkr96l] .sd-entity__meta .mud-icon-root {
    font-size: 14px;
    opacity: .6;
}

[b-f1ggvkr96l] .sd-entity__branch {
    font-size: .74rem;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Breathing room now that the grid has fewer, simpler columns */
[b-f1ggvkr96l] .grid-modern .mud-table-cell {
    padding-top: 10px;
    padding-bottom: 10px;
}

/* Expandable detail row — the secondary fields (Server / Database / Created / IDs) live here */
[b-f1ggvkr96l] .sd-detail {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 28px;
    padding: 12px 20px 16px 56px;
    background: rgba(255, 255, 255, .02);
}

[b-f1ggvkr96l] .sd-detail__grid {
    display: flex;
    gap: 40px;
    flex-wrap: wrap;
}

[b-f1ggvkr96l] .sd-detail__item {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

[b-f1ggvkr96l] .sd-detail__label {
    font-size: .64rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--mud-palette-text-disabled);
}

[b-f1ggvkr96l] .sd-detail__value {
    font-size: .82rem;
}

[b-f1ggvkr96l] .sd-detail__ids {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-left: auto;
}

[b-f1ggvkr96l] .sd-detail__id {
    font-family: var(--font-mono, ui-monospace, monospace);
    font-size: .7rem;
    color: var(--mud-palette-text-secondary);
    background: rgba(255, 255, 255, .04);
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 6px;
    padding: 4px 9px;
    cursor: pointer;
    transition: color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);
}

[b-f1ggvkr96l] .sd-detail__id:hover {
    color: var(--mud-palette-primary);
    border-color: var(--mud-palette-primary);
}

/* Truncated IDs: hidden until the row is hovered, click to copy (demoted GUID chips) */
[b-f1ggvkr96l] .sd-entity__ids {
    display: inline-flex;
    gap: 10px;
    font-size: .68rem;
    color: var(--mud-palette-text-disabled);
    opacity: 0;
    transition: opacity var(--dur-fast) var(--ease-out);
}

[b-f1ggvkr96l] .mud-table-row:hover .sd-entity__ids {
    opacity: .8;
}

[b-f1ggvkr96l] .sd-entity__ids > span {
    cursor: pointer;
}

[b-f1ggvkr96l] .sd-entity__ids > span:hover {
    color: var(--mud-palette-primary);
}

/* Motion (emil): pressable feedback + a single quiet mount fade for the grid */
[b-f1ggvkr96l] .mud-button-root,
[b-f1ggvkr96l] .mud-icon-button {
    transition: transform var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);
}

[b-f1ggvkr96l] .mud-button-root:active,
[b-f1ggvkr96l] .mud-icon-button:active {
    transform: scale(.97);
}

[b-f1ggvkr96l] .grid-modern {
    animation: sd-grid-in-b-f1ggvkr96l 260ms var(--ease-out) both;
}

@keyframes sd-grid-in-b-f1ggvkr96l {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
    [b-f1ggvkr96l] .grid-modern { animation: none; }
    [b-f1ggvkr96l] .mud-button-root:active,
    [b-f1ggvkr96l] .mud-icon-button:active { transform: none; }
}

/* Responsive: keep the wide grid scrollable rather than crushing columns */
@media (max-width: 1400px) {
    [b-f1ggvkr96l] .mud-table-container {
        overflow-x: auto;
    }

    [b-f1ggvkr96l] .mud-table {
        min-width: 1200px;
    }
}

@media (max-width: 768px) {
    [b-f1ggvkr96l] .mud-table-container {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    [b-f1ggvkr96l] .mud-table {
        min-width: 1400px;
    }

    [b-f1ggvkr96l] .mud-table-cell {
        white-space: nowrap;
    }
}

/* Toolbar: row 1 = selection + density toggle, row 2 = grouped bulk actions
   (the toolbar's own height is released in wwwroot/css/components.css) */
.sd-toolbar[b-f1ggvkr96l] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 16px;
    width: 100%;
    padding: 4px 0;
}

.sd-bulk__selection[b-f1ggvkr96l] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 4px 2px 12px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--mud-palette-primary) 12%, transparent);
}

.sd-bulk__count[b-f1ggvkr96l] {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--mud-palette-primary);
    white-space: nowrap;
}

.sd-bulk[b-f1ggvkr96l] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    flex-basis: 100%;
    order: 3;
    gap: 4px 0;
    min-width: 0;
    padding-top: 8px;
    border-top: 1px solid var(--mud-palette-lines-default);
}

.sd-bulk__group[b-f1ggvkr96l] {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    padding-inline: 10px;
    border-inline-start: 1px solid var(--mud-palette-lines-default);
}

.sd-bulk__group:first-child[b-f1ggvkr96l] {
    padding-inline-start: 0;
    border-inline-start: none;
}

.sd-bulk__label[b-f1ggvkr96l] {
    margin-inline-end: 4px;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--mud-palette-text-secondary);
}

[b-f1ggvkr96l] .sd-bulk-action {
    text-transform: none;
    font-weight: 500;
    letter-spacing: 0;
}
/* /Features/Subdomains/Pages/SubdomainStatus.razor.rz.scp.css */
/* SubdomainStatus - layout only */

.ss-loading[b-jqsy7uqfjo] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 24px;
}

.progress-rounded[b-jqsy7uqfjo] {
    border-radius: 4px;
}

.col-expand[b-jqsy7uqfjo] { width: 50px; }
.col-num[b-jqsy7uqfjo] { width: 60px; }
.col-status[b-jqsy7uqfjo] { width: 150px; }
.col-time[b-jqsy7uqfjo] { width: 120px; }
.col-duration[b-jqsy7uqfjo] { width: 100px; }

.erp-detail-cell[b-jqsy7uqfjo] {
    background-color: var(--mud-palette-background-grey);
    padding: 0;
}

.erp-detail-card[b-jqsy7uqfjo] {
    background-color: transparent;
}

[b-jqsy7uqfjo] .grid-modern .mud-table-row:hover {
    background-color: var(--mud-palette-action-default-hover);
    transition: background-color var(--dur-fast) var(--ease-out);
}
/* /Features/Subdomains/Pages/UpdateConnectionString.razor.rz.scp.css */
/* UpdateConnectionString - layout only */

/* Connection strings are identifiers — render input in monospace */
[b-ipoje8mstb] .conn-field .mud-input-slot,
[b-ipoje8mstb] .conn-field textarea {
    font-family: var(--font-mono);
    font-size: 0.8125rem;
}
/* /Features/SubdomainStates/Pages/SubdomainStatesIndex.razor.rz.scp.css */
/* Subdomain States — layout-only (chrome owned by DsPage/DsPanel/DsToolbar) */

.states__search[b-2yps68vsco] {
    min-width: 300px;
}
/* /Features/SubscriptionDashboard/Pages/DomainActivityPage.razor.rz.scp.css */
/* DomainActivityPage - layout only (panels, chips and empty states come from the kit) */

.activity-summary[b-1jzk4cvpxb] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 24px;
    margin-bottom: 12px;
    font-size: 0.875rem;
}

.activity-summary__snapshot[b-1jzk4cvpxb] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}
/* /Features/SubscriptionDashboard/Pages/SubscriptionDashboardPage.razor.rz.scp.css */
/* Layout for the subscription dashboard — matches ADO #21231 mockup.
   Surfaces/typography come from the design-system kit (DsPage/DsPanel); this file is layout + local bits. */

/* ── Two summary cards ─────────────────────────────────────────────── */
.sub-grid[b-ai1838ttmc] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    align-items: stretch;
}

/* Both cards fill the row to equal height; DsPanel + its body stretch to match. */
.dash-card[b-ai1838ttmc] {
    display: flex;
}

.dash-card[b-ai1838ttmc]  .ds-panel {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.dash-card[b-ai1838ttmc]  .ds-panel__body {
    flex: 1;
    display: flex;
    flex-direction: column;
}

/* DsPanel clips overflow (for its rounded corners), which cuts off the trend-chart's hover tooltip
   (position: absolute) when it floats near the panel edge — most visibly on the last data point,
   where the centered tooltip pokes past the right edge into the neighboring Active/Inactive card.
   Un-clip only this panel so the tooltip can escape and render on top instead of being cut off. */
.dash-card--trends[b-ai1838ttmc]  .ds-panel {
    overflow: visible;
}

/* LTR: trends left, active right. RTL: active first (rightmost). */
.dash-card--trends[b-ai1838ttmc] { order: 1; }
.dash-card--active[b-ai1838ttmc] { order: 2; }
[dir="rtl"] .dash-card--active[b-ai1838ttmc] { order: 1; }
[dir="rtl"] .dash-card--trends[b-ai1838ttmc] { order: 2; }

@media (max-width: 1100px) {
    .sub-grid[b-ai1838ttmc] {
        grid-template-columns: 1fr;
    }
}

/* ── Trend grouped-bar chart (custom, dual-scaled) ──────────────────── */
/* Customers (~tens) and revenue (~thousands) each scale to their OWN max so both stay visible;
   exact values (incl. the low customer count) are revealed by the per-column hover tooltip. */
.trend-chart[b-ai1838ttmc] {
    margin: 6px 0 12px;
    overflow: visible;             /* let hover tooltips escape the plot */
}

.trend-plot[b-ai1838ttmc] {
    display: flex;
    align-items: flex-end;
    gap: 10px;
    height: 260px;
    padding-top: 10px;             /* headroom so a full-height bar doesn't clip at the top */
    border-bottom: 1px solid var(--mud-palette-divider);
}

.trend-col[b-ai1838ttmc] {
    position: relative;
    flex: 1 1 0;
    min-width: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    gap: 6px;
}

.trend-bars[b-ai1838ttmc] {
    flex: 1;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap: 6px;
}

.trend-bar[b-ai1838ttmc] {
    width: 26%;
    max-width: 22px;
    min-height: 3px;               /* keep tiny non-zero values (e.g. 22 SAR) visible */
    border-radius: 4px 4px 0 0;
    transition: opacity var(--dur-fast) var(--ease-out);
}

.trend-bar--customers[b-ai1838ttmc] { background: #8A97A0; }
.trend-bar--revenue[b-ai1838ttmc]   { background: #2FB6D9; }

.trend-col:hover .trend-bar[b-ai1838ttmc] { opacity: 0.85; }

/* Each column opens its own drill-down page. */
.trend-col[b-ai1838ttmc] {
    cursor: pointer;
    border-radius: 6px 6px 0 0;
    transition: background var(--dur-fast) var(--ease-out);
}

.trend-col:hover[b-ai1838ttmc] {
    background: color-mix(in srgb, var(--mud-palette-primary) 7%, transparent);
}

.trend-col:focus-visible[b-ai1838ttmc] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

.trend-xlabel[b-ai1838ttmc] {
    flex: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    line-height: 1.2;
    white-space: nowrap;
}

.trend-xlabel__month[b-ai1838ttmc] {
    font-size: 0.72rem;
    color: var(--mud-palette-text-secondary);
}

.trend-xlabel__year[b-ai1838ttmc] {
    font-size: 0.64rem;
    color: var(--mud-palette-text-disabled);
}

/* Hover tooltip — surfaces the real customer & revenue numbers even when a bar is a sliver. */
.trend-tip[b-ai1838ttmc] {
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(-6px);
    z-index: 20;
    min-width: 152px;
    padding: 8px 10px;
    background: var(--mud-palette-surface);
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.28);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity var(--dur-fast) var(--ease-out);
}

.trend-col:hover .trend-tip[b-ai1838ttmc] {
    opacity: 1;
    visibility: visible;
}

.trend-tip__title[b-ai1838ttmc] {
    margin-bottom: 6px;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
    white-space: nowrap;
}

.trend-tip__row[b-ai1838ttmc] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.75rem;
    line-height: 1.6;
}

.trend-tip__dot[b-ai1838ttmc] {
    flex: none;
    width: 9px;
    height: 9px;
    border-radius: 2px;
}

.trend-tip__dot--grey[b-ai1838ttmc] { background: #8A97A0; }
.trend-tip__dot--navy[b-ai1838ttmc] { background: #2FB6D9; }

.trend-tip__name[b-ai1838ttmc] {
    flex: 1 1 auto;                /* push the value to the far end (RTL-safe, no directional margin) */
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
}

.trend-tip__val[b-ai1838ttmc] {
    font-weight: 600;
    color: var(--mud-palette-text-primary);
}

.card-head[b-ai1838ttmc] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.card-title[b-ai1838ttmc] {
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.card-title-icon[b-ai1838ttmc] {
    color: var(--mud-palette-primary);
}

.card-sub[b-ai1838ttmc] {
    color: var(--mud-palette-text-secondary);
    margin-top: 2px;
}

.year-select[b-ai1838ttmc] {
    max-width: 110px;
}

/* ── Segmented control (month toggle + table day/status filters) ────── */
.segmented[b-ai1838ttmc] {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    padding: 2px;
    background: var(--mud-palette-action-default-hover);
    border-radius: 8px;
    flex-shrink: 0;
}

.segmented__btn[b-ai1838ttmc] {
    border: none;
    background: transparent;
    color: var(--mud-palette-text-secondary);
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.4;
    padding: 4px 12px;
    border-radius: 6px;
    cursor: pointer;
    white-space: nowrap;
    transition: background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
}

.segmented__btn:hover[b-ai1838ttmc] {
    color: var(--mud-palette-text-primary);
}

.segmented__btn--active[b-ai1838ttmc] {
    background: var(--mud-palette-primary);
    color: var(--mud-palette-primary-text);
}

/* Trends card header: legend stacked above the year selector (top-aligned, per mockup). */
.trends-head-right[b-ai1838ttmc] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
    flex-shrink: 0;
}

.legend--top[b-ai1838ttmc] {
    margin: 0;
    gap: 14px;
}

/* ── Trends card ───────────────────────────────────────────────────── */
.revenue-line[b-ai1838ttmc] {
    display: flex;
    align-items: baseline;
    gap: 10px;
    padding: 10px 12px;
    background: var(--mud-palette-action-default-hover);
    border-radius: 8px;
    margin-bottom: 12px;
}

.revenue-label[b-ai1838ttmc] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.8125rem;
}

.revenue-value[b-ai1838ttmc] {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--mud-palette-text-primary);
}

.legend[b-ai1838ttmc] {
    display: flex;
    gap: 18px;
    justify-content: center;
    margin: 4px 0 14px;
}

.legend-item[b-ai1838ttmc] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
}

.legend-dot[b-ai1838ttmc] {
    width: 10px;
    height: 10px;
    border-radius: 3px;
    display: inline-block;
}

.legend-dot--grey[b-ai1838ttmc] { background: #8A97A0; }
.legend-dot--navy[b-ai1838ttmc] { background: var(--mud-palette-primary); }

.avg-block[b-ai1838ttmc] {
    border-top: 1px solid var(--mud-palette-divider);
    padding-top: 14px;
    margin-top: auto; /* pin to the card bottom so both cards align at equal height */
}

.avg-title[b-ai1838ttmc] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: var(--mud-palette-text-secondary);
    margin-bottom: 10px;
}

.avg-tiles[b-ai1838ttmc] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

.avg-tile[b-ai1838ttmc] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    padding: 10px 8px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 8px;
}

.avg-tile__value[b-ai1838ttmc] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-weight: 700;
    font-size: 1.05rem;
    color: var(--mud-palette-text-primary);
}

.avg-tile__icon[b-ai1838ttmc] {
    font-size: 1rem;
    color: var(--mud-palette-primary);
}

.avg-tile__year[b-ai1838ttmc] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

/* ── Donut card ────────────────────────────────────────────────────── */
.donut-wrap[b-ai1838ttmc] {
    position: relative;
    flex: 1; /* fill the space between the period filter and the metrics so the ring centers */
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 8px 0 16px;
}

/* Hide MudChart's built-in Active/Inactive legend — the bottom metrics already convey it (per mockup). */
.donut-wrap[b-ai1838ttmc]  .mud-chart-legend {
    display: none;
}

/* Period filter sits on its own row under the title (per mockup), not beside it. */
.period-filter[b-ai1838ttmc] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}

.donut-center[b-ai1838ttmc] {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, calc(-50% - 8px));
    text-align: center;
    pointer-events: none;
}

.donut-total[b-ai1838ttmc] {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
    color: var(--mud-palette-text-primary);
}

.donut-total-label[b-ai1838ttmc] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
    margin-top: 2px;
}

.donut-legend[b-ai1838ttmc] {
    display: flex;
    justify-content: space-around;
    align-items: center;
    border-top: 1px solid var(--mud-palette-divider);
    padding-top: 14px;
    margin-top: auto; /* pin to the card bottom so both cards align at equal height */
}

/* Vertical divider before the activity-rate % (per mockup). */
.donut-legend__divider[b-ai1838ttmc] {
    width: 1px;
    align-self: stretch;
    min-height: 32px;
    background: var(--mud-palette-divider);
    margin: 0 4px;
}

.donut-legend__item[b-ai1838ttmc] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.donut-legend__value[b-ai1838ttmc] {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--mud-palette-text-primary);
}

.donut-legend__label[b-ai1838ttmc] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

/* ── Customer table ────────────────────────────────────────────────── */
.export-actions[b-ai1838ttmc] {
    display: flex;
    gap: 8px;
    flex-shrink: 0;
}

.table-filters[b-ai1838ttmc] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
}

.table-search[b-ai1838ttmc] {
    max-width: 300px;
    flex: 1;
    min-width: 180px;
}

.filter-group[b-ai1838ttmc] {
    display: flex;
    align-items: center;
    gap: 2px;
}

.filter-label[b-ai1838ttmc] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
    margin-right: 4px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.days-badge[b-ai1838ttmc] {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 600;
}

.days-badge--ok[b-ai1838ttmc] {
    background: color-mix(in srgb, var(--mud-palette-success) 16%, transparent);
    color: var(--mud-palette-success);
}

.days-badge--soon[b-ai1838ttmc] {
    background: color-mix(in srgb, var(--mud-palette-warning) 16%, transparent);
    color: var(--mud-palette-warning);
}

.days-badge--expired[b-ai1838ttmc] {
    background: color-mix(in srgb, var(--mud-palette-error) 16%, transparent);
    color: var(--mud-palette-error);
}

/* ── Summary footer — metric cards ─────────────────────────────────── */
.summary-grid[b-ai1838ttmc] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-top: 16px;
}

@media (max-width: 700px) {
    .summary-grid[b-ai1838ttmc] {
        grid-template-columns: 1fr;
    }
}

.summary-card[b-ai1838ttmc] {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 18px 20px;
    background: var(--mud-palette-surface);
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 12px;
}

.summary-card__icon[b-ai1838ttmc] {
    color: var(--mud-palette-primary);
    font-size: 28px;
    flex: none;
}

.summary-card__value[b-ai1838ttmc] {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.1;
    color: var(--mud-palette-text-primary);
}

.summary-card__label[b-ai1838ttmc] {
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
}
/* /Features/SubscriptionDashboard/Pages/TrendMonthPage.razor.rz.scp.css */
/* TrendMonthPage - layout only (panels, metric cards and chips come from the kit) */

.tmp-loading[b-eklorh9goy] {
    display: flex;
    justify-content: center;
    padding: 48px 0;
}

.tmp-cards[b-eklorh9goy] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 14px;
    margin-bottom: 16px;
}

.tmp-note[b-eklorh9goy] {
    margin-bottom: 16px;
}

.tmp-muted[b-eklorh9goy] {
    color: var(--mud-palette-text-secondary);
}
/* /Features/SystemPackages/Pages/PackageList.razor.rz.scp.css */
/* PackageList - Scoped Styles (chrome owned by DsPage/DsPanel/DsToolbar/DsEmptyState) */

.packages__search[b-m3tmk6kvg0] {
    flex: 1;
    max-width: 480px;
}

/* Row hover uses the raised surface step (see DESIGN.md §6 data tables) */
[b-m3tmk6kvg0] .grid-modern .mud-table-row:hover {
    background: var(--mud-palette-action-hover);
    transition: background var(--dur-fast) var(--ease-out);
}
/* /Features/SystemPackages/Pages/SystemPackageAdd.razor.rz.scp.css */
/* SystemPackageAdd - layout only */

.form-actions[b-a2ksy336nu] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-bottom: 16px;
}
/* /Features/TenantControlCenter/Components/ActionMenuItem.razor.rz.scp.css */
/* ActionMenuItem - label over a quiet one-line hint */

.tcc-action-item__text[b-fve02zxawu] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    max-width: 320px;
    white-space: normal;
}

[b-fve02zxawu] .tcc-action-item__spinner {
    margin-inline-end: 12px;
}

.tcc-action-item__label[b-fve02zxawu] {
    font-size: 0.875rem;
    font-weight: 500;
}

.tcc-action-item__label--danger[b-fve02zxawu] {
    color: var(--mud-palette-error);
}

.tcc-action-item__hint[b-fve02zxawu] {
    font-size: 0.75rem;
    line-height: 1.4;
    color: var(--mud-palette-text-secondary);
}
/* /Features/TenantControlCenter/Components/AuditTab.razor.rz.scp.css */
/* AuditTab - one toolbar row of filters over a viewport-fit grid */

.tcc-audit__toolbar[b-ja8kqgyrjb] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

[b-ja8kqgyrjb] .tcc-audit__tenant {
    flex: 0 1 220px;
}

[b-ja8kqgyrjb] .tcc-audit__search {
    flex: 1 1 260px;
}

.tcc-audit__toolbar[b-ja8kqgyrjb]  > .mud-select {
    flex: 0 0 160px;
}

/* MudBlazor copies a picker's Class onto its inner inputs, so size the outer picker by its own class only. */
.tcc-audit__toolbar[b-ja8kqgyrjb]  > .mud-picker {
    flex: 0 1 260px;
}

.tcc-audit__toolbar[b-ja8kqgyrjb]  .mud-input-control {
    margin: 0;
}

.tcc-audit__result[b-ja8kqgyrjb] {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-inline-start: auto;
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
}

[b-ja8kqgyrjb] .tcc-audit__grid .mud-table-container {
    max-height: max(360px, calc(100dvh - 330px));
}

[b-ja8kqgyrjb] .tcc-audit__grid .mud-table-head .mud-table-cell {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
    background: var(--mud-palette-surface);
    white-space: nowrap;
}

.tcc-audit__nowrap[b-ja8kqgyrjb] {
    white-space: nowrap;
}

.tcc-audit__action[b-ja8kqgyrjb] {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

[b-ja8kqgyrjb] .tcc-audit__source {
    flex: none;
    color: var(--mud-palette-text-secondary);
}

.tcc-audit__stack[b-ja8kqgyrjb] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.tcc-audit__category[b-ja8kqgyrjb] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

.tcc-audit__by[b-ja8kqgyrjb] {
    font-size: 0.8125rem;
}

@media (max-width: 960px) {
    [b-ja8kqgyrjb] .tcc-audit__tenant,
    [b-ja8kqgyrjb] .tcc-audit__search,
    .tcc-audit__toolbar[b-ja8kqgyrjb]  > .mud-picker,
    .tcc-audit__toolbar[b-ja8kqgyrjb]  > .mud-select {
        flex: 1 1 100%;
    }

    .tcc-audit__result[b-ja8kqgyrjb] {
        margin-inline-start: 0;
    }
}
/* /Features/TenantControlCenter/Components/BlockTenantDialog.razor.rz.scp.css */
/* BlockTenantDialog - layout only */

.tcc-dialog[b-pbz0zwms1m] {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

[b-pbz0zwms1m] .tcc-dialog__icon {
    flex-shrink: 0;
    margin-block-start: 2px;
}

.tcc-dialog__body[b-pbz0zwms1m] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 0;
    flex: 1;
}

[b-pbz0zwms1m] .tcc-dialog__target {
    color: var(--mud-palette-text-secondary);
    word-break: break-all;
}

.tcc-dialog__until[b-pbz0zwms1m] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 12px;
}
/* /Features/TenantControlCenter/Components/BulkPinDialog.razor.rz.scp.css */
/* BulkPinDialog - layout only */

.tcc-bulk-pin[b-zgfig1dzm2] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
/* /Features/TenantControlCenter/Components/CompareTenantsDialog.razor.rz.scp.css */
/* CompareTenantsDialog - layout only */

.tcc-compare[b-hyvn46e7ne] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.tcc-compare__pick[b-hyvn46e7ne] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

[b-hyvn46e7ne] .tcc-compare__search {
    flex: 1;
    min-width: 200px;
}

.tcc-compare__left[b-hyvn46e7ne] {
    font-weight: 600;
}

.tcc-compare__table[b-hyvn46e7ne] {
    overflow-x: auto;
    max-height: 60vh;
}

.tcc-compare__label[b-hyvn46e7ne] {
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
}

.tcc-compare__differs td[b-hyvn46e7ne] {
    background: var(--mud-palette-warning-hover);
}

.tcc-compare__option[b-hyvn46e7ne] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.tcc-compare__none[b-hyvn46e7ne] {
    padding: 8px 16px;
    display: block;
}
/* /Features/TenantControlCenter/Components/DatabaseFacts.razor.rz.scp.css */
/* DatabaseFacts - layout only */

.tcc-db-facts[b-qv7cx46r34] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 20px;
    padding: 10px 16px;
    border-block-end: 1px solid var(--mud-palette-lines-default);
    font-size: 0.8125rem;
}

.tcc-db-facts__item[b-qv7cx46r34] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.tcc-db-facts__label[b-qv7cx46r34] {
    color: var(--mud-palette-text-secondary);
}
/* /Features/TenantControlCenter/Components/DatabaseHealthButton.razor.rz.scp.css */
/* DatabaseHealthButton - layout only */

.tcc-db-health[b-l8xzsrfdx1] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}
/* /Features/TenantControlCenter/Components/DatabasesTab.razor.rz.scp.css */
/* DatabasesTab - a one-line note, a panel per shared database (filter, preview, show all), dedicated list */

.tcc-databases[b-4ag4b791wd] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* The extraction warning as a quiet line: amber icon, secondary ink, the full procedure on demand. */
.tcc-databases__note[b-4ag4b791wd] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    padding: 8px 12px 8px 14px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--radius-md);
    background: var(--mud-palette-surface);
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
}

    .tcc-databases__note[b-4ag4b791wd]  .tcc-databases__note-icon {
        color: var(--mud-palette-warning);
    }

.tcc-databases__notice[b-4ag4b791wd] {
    margin: -8px 0 0;
    padding: 12px 14px;
    max-width: 80ch;
    border-radius: var(--radius-md);
    background: var(--mud-palette-background-gray);
    font-size: 0.8125rem;
    line-height: 1.6;
    color: var(--mud-palette-text-secondary);
    text-wrap: pretty;
}

[b-4ag4b791wd] .tcc-databases__search {
    width: 220px;
    flex: none;
}

    [b-4ag4b791wd] .tcc-databases__search .mud-input-control {
        margin: 0;
    }

.tcc-databases__table-scroll[b-4ag4b791wd] {
    overflow-x: auto;
}

[b-4ag4b791wd] .tcc-databases__table td {
    vertical-align: middle;
}

.tcc-databases__secondary[b-4ag4b791wd] {
    color: var(--mud-palette-text-secondary);
}

.tcc-databases__actions[b-4ag4b791wd] {
    width: 1%;
    white-space: nowrap;
    text-align: end;
}

.tcc-databases__more[b-4ag4b791wd] {
    display: flex;
    justify-content: center;
    padding: 6px 12px 10px;
    border-top: 1px solid var(--mud-palette-divider);
}

.tcc-databases__empty[b-4ag4b791wd] {
    margin: 0;
    padding: 20px 16px;
    font-size: 0.875rem;
    color: var(--mud-palette-text-secondary);
}

.tcc-databases__numeric[b-4ag4b791wd] {
    text-align: end;
}
/* /Features/TenantControlCenter/Components/DetailField.razor.rz.scp.css */
/* DetailField - label/value pair */

.tcc-field[b-3m4e2h0myl] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.tcc-field__label[b-3m4e2h0myl] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

.tcc-field__value[b-3m4e2h0myl] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    font-weight: 500;
    word-break: break-word;
}

.tcc-field__empty[b-3m4e2h0myl] {
    color: var(--mud-palette-text-disabled);
    font-weight: 400;
}

/* Inline: label column + value column, rows separated by hairlines. */
.tcc-field--inline[b-3m4e2h0myl] {
    display: grid;
    grid-template-columns: minmax(96px, 40%) 1fr;
    align-items: center;
    gap: 12px;
    padding-block: 10px;
}

    .tcc-field--inline + .tcc-field--inline[b-3m4e2h0myl] {
        border-top: 1px solid var(--mud-palette-divider);
    }

    .tcc-field--inline .tcc-field__label[b-3m4e2h0myl] {
        font-size: 0.8125rem;
    }

    .tcc-field--inline .tcc-field__value[b-3m4e2h0myl] {
        justify-content: flex-end;
        text-align: end;
        font-size: 0.875rem;
    }
/* /Features/TenantControlCenter/Components/JobsTab.razor.rz.scp.css */
/* JobsTab - even rows: one-line route, two-line start, icon actions on one line */

.tcc-jobs[b-78h8g4hnj6] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.tcc-jobs__table-scroll[b-78h8g4hnj6] {
    overflow-x: auto;
}

[b-78h8g4hnj6] .tcc-jobs__table td {
    vertical-align: middle;
    height: 56px;
}

.tcc-jobs__route[b-78h8g4hnj6] {
    max-width: 380px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tcc-jobs__started[b-78h8g4hnj6] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    white-space: nowrap;
}

.tcc-jobs__by[b-78h8g4hnj6] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

.tcc-jobs__actions[b-78h8g4hnj6] {
    width: 1%;
    white-space: nowrap;
    text-align: end;
}
/* /Features/TenantControlCenter/Components/LockRealmDialog.razor.rz.scp.css */
/* LockRealmDialog - layout only */

.tcc-dialog[b-qzbah4zepp] {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

[b-qzbah4zepp] .tcc-dialog__icon {
    flex-shrink: 0;
    margin-block-start: 2px;
}

.tcc-dialog__body[b-qzbah4zepp] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 0;
    flex: 1;
}

[b-qzbah4zepp] .tcc-dialog__target {
    color: var(--mud-palette-text-secondary);
    word-break: break-all;
}
/* /Features/TenantControlCenter/Components/PinnedTenantsDialog.razor.rz.scp.css */
/* PinnedTenantsDialog - header line, optional filter, a scrolling list */

.tcc-pinned[b-rz24534k73] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: min(560px, 80vw);
}

.tcc-pinned__head[b-rz24534k73] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
}

.tcc-pinned__label[b-rz24534k73] {
    font-weight: 600;
}

.tcc-pinned__count[b-rz24534k73],
.tcc-pinned__by[b-rz24534k73] {
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
}

.tcc-pinned__list[b-rz24534k73] {
    max-height: 50vh;
    overflow-y: auto;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--radius-sm);
}

.tcc-pinned__company[b-rz24534k73] {
    max-width: 240px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* /Features/TenantControlCenter/Components/RerunStepDialog.razor.rz.scp.css */
/* RerunStepDialog - layout only */

.tcc-dialog[b-917czaht3n] {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

[b-917czaht3n] .tcc-dialog__icon {
    flex-shrink: 0;
    margin-block-start: 2px;
}

.tcc-dialog__body[b-917czaht3n] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 0;
    flex: 1;
}

[b-917czaht3n] .tcc-dialog__target {
    color: var(--mud-palette-text-secondary);
    word-break: break-all;
}

.tcc-rerun__option[b-917czaht3n] {
    display: flex;
    align-items: center;
    gap: 8px;
}
/* /Features/TenantControlCenter/Components/SectionError.razor.rz.scp.css */
.tcc-section-error[b-327ehqtwl5] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    padding: 12px 16px;
    color: var(--mud-palette-text-secondary);
}
/* /Features/TenantControlCenter/Components/SkeletonRows.razor.rz.scp.css */
/* SkeletonRows - loading rows in the shape of a dense table */

.tcc-skeleton[b-pt0tuxe3t0] {
    display: flex;
    flex-direction: column;
}

.tcc-skeleton__row[b-pt0tuxe3t0] {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(0, 1fr);
    align-items: center;
    gap: 24px;
    padding: 14px 16px;
}

.tcc-skeleton__row + .tcc-skeleton__row[b-pt0tuxe3t0] {
    border-top: 1px solid var(--mud-palette-divider);
}
/* /Features/TenantControlCenter/Components/StateBadge.razor.rz.scp.css */
/* StateBadge - a 26px tinted tile per state; strong states widen into a labelled pill */

.tcc-badge[b-eyzac6x4e1] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-width: 26px;
    height: 26px;
    padding: 0 5px;
    border-radius: var(--radius-sm);
    border: 1px solid transparent;
    font-size: 0.75rem;
    font-weight: 500;
    white-space: nowrap;
}

[b-eyzac6x4e1] .tcc-badge__icon {
    font-size: 1rem;
}

.tcc-badge--neutral[b-eyzac6x4e1] {
    color: var(--mud-palette-text-disabled);
    border-color: var(--mud-palette-lines-default);
    border-style: dashed;
}

.tcc-badge--success[b-eyzac6x4e1] {
    color: var(--mud-palette-success);
    background: color-mix(in srgb, var(--mud-palette-success) 14%, transparent);
}

.tcc-badge--info[b-eyzac6x4e1] {
    color: var(--mud-palette-info);
    background: color-mix(in srgb, var(--mud-palette-info) 14%, transparent);
}

.tcc-badge--warning[b-eyzac6x4e1] {
    color: var(--mud-palette-warning);
    background: color-mix(in srgb, var(--mud-palette-warning) 14%, transparent);
}

.tcc-badge--danger[b-eyzac6x4e1] {
    color: var(--mud-palette-error);
    background: color-mix(in srgb, var(--mud-palette-error) 14%, transparent);
}

.tcc-badge--strong[b-eyzac6x4e1] {
    padding: 0 8px 0 6px;
}
/* /Features/TenantControlCenter/Components/StatusDot.razor.rz.scp.css */
/* StatusDot - dot + label, secondary ink unless strong */

.tcc-dot[b-k7d83oyoq1] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    font-size: 0.8125rem;
    line-height: 1.4;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
}

.tcc-dot__mark[b-k7d83oyoq1] {
    flex: none;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: currentColor;
}

.tcc-dot__prefix[b-k7d83oyoq1] {
    color: var(--mud-palette-text-disabled);
}

.tcc-dot__label[b-k7d83oyoq1] {
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Neutral: a hollow ring — known to be unset, not a problem. */
.tcc-dot--neutral .tcc-dot__mark[b-k7d83oyoq1] {
    background: transparent;
    box-shadow: inset 0 0 0 1.5px var(--mud-palette-text-disabled);
}

.tcc-dot--success .tcc-dot__mark[b-k7d83oyoq1] {
    background: var(--mud-palette-success);
}

.tcc-dot--info .tcc-dot__mark[b-k7d83oyoq1] {
    background: var(--mud-palette-info);
}

.tcc-dot--warning .tcc-dot__mark[b-k7d83oyoq1] {
    background: var(--mud-palette-warning);
}

.tcc-dot--danger .tcc-dot__mark[b-k7d83oyoq1] {
    background: var(--mud-palette-error);
}

.tcc-dot--strong[b-k7d83oyoq1] {
    font-weight: 500;
}

    .tcc-dot--strong.tcc-dot--warning .tcc-dot__label[b-k7d83oyoq1] {
        color: var(--mud-palette-warning);
    }

    .tcc-dot--strong.tcc-dot--danger .tcc-dot__label[b-k7d83oyoq1] {
        color: var(--mud-palette-error);
    }
/* /Features/TenantControlCenter/Components/TenantAccessSection.razor.rz.scp.css */
/* TenantAccessSection - realm and registry, each a head line + optional detail rows */

.tcc-access[b-owoh8c66hf] {
    display: flex;
    flex-direction: column;
}

.tcc-access__group[b-owoh8c66hf] {
    display: flex;
    flex-direction: column;
    padding-block: 4px 12px;
}

    .tcc-access__group + .tcc-access__group[b-owoh8c66hf] {
        border-top: 1px solid var(--mud-palette-lines-default);
        padding-top: 14px;
    }

.tcc-access__head[b-owoh8c66hf] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding-block: 4px 6px;
}

.tcc-access__title[b-owoh8c66hf] {
    font-size: 0.8125rem;
    font-weight: 600;
}

.tcc-access__chips[b-owoh8c66hf] {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 4px;
}

.tcc-access__actions[b-owoh8c66hf] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-inline-start: -8px;
}

    .tcc-access__actions:empty[b-owoh8c66hf] {
        display: none;
    }

.tcc-access__note[b-owoh8c66hf] {
    margin: 8px 0 0;
    font-size: 0.75rem;
    line-height: 1.5;
    color: var(--mud-palette-text-secondary);
    text-wrap: pretty;
}
/* /Features/TenantControlCenter/Components/TenantActivityTable.razor.rz.scp.css */
/* TenantActivityTable - layout only */

.tcc-activity__scroll[b-38nnpane6n] {
    overflow-x: auto;
}

[b-38nnpane6n] .tcc-activity__table td {
    vertical-align: middle;
}
/* /Features/TenantControlCenter/Components/TenantBulkBar.razor.rz.scp.css */
/* TenantBulkBar - layout only */

.tcc-bulk[b-bosww2uzuy] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 16px;
    padding: 8px 16px;
    border-block-end: 1px solid var(--mud-palette-lines-default);
    background: var(--mud-palette-background-gray);
}

.tcc-bulk__count[b-bosww2uzuy] {
    font-weight: 600;
}

.tcc-bulk__actions[b-bosww2uzuy] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    flex: 1;
    min-width: 0;
}
/* /Features/TenantControlCenter/Components/TenantDatabaseSection.razor.rz.scp.css */
/* TenantDatabaseSection - layout only */

.tcc-db-section[b-57hsjf4lx1] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.tcc-db-section__muted[b-57hsjf4lx1] {
    color: var(--mud-palette-text-secondary);
    font-weight: 400;
}

[b-57hsjf4lx1] .tcc-db-section__divider {
    margin-block: 4px;
}

.tcc-db-section__heading[b-57hsjf4lx1] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.tcc-db-section__progress[b-57hsjf4lx1] {
    margin-block: 12px;
}
/* /Features/TenantControlCenter/Components/TenantFootprintSection.razor.rz.scp.css */
/* TenantFootprintSection - layout only */

.tcc-footprint[b-x7z1s5l036] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.tcc-footprint__heading[b-x7z1s5l036] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.tcc-footprint__tables[b-x7z1s5l036] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
    width: 100%;
}

.tcc-footprint__tables li[b-x7z1s5l036] {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    min-width: 0;
}

.tcc-footprint__on-demand[b-x7z1s5l036] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}
/* /Features/TenantControlCenter/Components/TenantHealthPanel.razor.rz.scp.css */
/* TenantHealthPanel - layout only */

[b-ultw0r9unc] .tcc-health__running {
    color: var(--mud-palette-text-secondary);
    margin-block-end: 4px;
}

.tcc-health__checks[b-ultw0r9unc] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
}

.tcc-health__check[b-ultw0r9unc] {
    display: grid;
    grid-template-columns: 24px minmax(140px, 200px) 120px 1fr;
    align-items: center;
    gap: 12px;
    padding: 8px 0;
}

.tcc-health__check + .tcc-health__check[b-ultw0r9unc] {
    border-top: 1px solid var(--mud-palette-lines-default);
}

.tcc-health__name[b-ultw0r9unc] {
    font-weight: 500;
}

.tcc-health__detail[b-ultw0r9unc] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.8125rem;
    word-break: break-word;
}

@media (max-width: 960px) {
    .tcc-health__check[b-ultw0r9unc] {
        grid-template-columns: 24px 1fr auto;
    }

    .tcc-health__detail[b-ultw0r9unc] {
        grid-column: 2 / -1;
    }
}
/* /Features/TenantControlCenter/Components/TenantMigrationsSection.razor.rz.scp.css */
/* TenantMigrationsSection - one row per migration set: what + where left, actions right */

.tcc-migrations[b-lla3rvqpjv] {
    list-style: none;
    margin: 0;
    padding: 0;
}

.tcc-migrations__row[b-lla3rvqpjv] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px 24px;
    padding: 14px 20px;
}

    .tcc-migrations__row + .tcc-migrations__row[b-lla3rvqpjv] {
        border-top: 1px solid var(--mud-palette-divider);
    }

.tcc-migrations__what[b-lla3rvqpjv] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.tcc-migrations__name[b-lla3rvqpjv] {
    font-size: 0.9375rem;
    font-weight: 600;
}

.tcc-migrations__state[b-lla3rvqpjv] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    font-size: 0.8125rem;
}

.tcc-migrations__path[b-lla3rvqpjv] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.8125rem;
}

.tcc-migrations__actions[b-lla3rvqpjv] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}
/* /Features/TenantControlCenter/Components/TenantRowMenu.razor.rz.scp.css */
/* TenantRowMenu - quiet group labels between the action groups */

.tcc-row-menu__group[b-rbt29431kn] {
    padding: 10px 16px 4px;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
}
/* /Features/TenantControlCenter/Components/TenantServicesSection.razor.rz.scp.css */
/* TenantServicesSection - layout only */

.tcc-services[b-kqw307bl7c] {
    list-style: none;
    margin: 0;
    padding: 0;
}

.tcc-services__row[b-kqw307bl7c] {
    display: grid;
    grid-template-columns: minmax(140px, 1fr) minmax(0, 2fr) auto;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border-block-end: 1px solid var(--mud-palette-lines-default);
}

.tcc-services__row:last-child[b-kqw307bl7c] {
    border-block-end: none;
}

.tcc-services__what[b-kqw307bl7c],
.tcc-services__state[b-kqw307bl7c] {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.tcc-services__name[b-kqw307bl7c] {
    font-weight: 500;
}

.tcc-services__detail[b-kqw307bl7c] {
    font-size: 0.75rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 600px) {
    .tcc-services__row[b-kqw307bl7c] {
        grid-template-columns: 1fr;
    }
}
/* /Features/TenantControlCenter/Components/TenantShortcutsList.razor.rz.scp.css */
/* TenantShortcutsList - quiet link rows */

.tcc-links[b-ubu2tuh28v] {
    display: flex;
    flex-direction: column;
    padding-block: 4px 8px;
}

.tcc-links__item[b-ubu2tuh28v] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 20px;
    color: var(--mud-palette-text-primary);
    font-size: 0.875rem;
    text-decoration: none;
    transition: background-color 150ms ease-out, color 150ms ease-out;
}

    .tcc-links__item:hover[b-ubu2tuh28v] {
        background: var(--mud-palette-action-default-hover);
        color: var(--mud-palette-primary);
    }

    .tcc-links__item:focus-visible[b-ubu2tuh28v] {
        outline: 2px solid var(--mud-palette-primary);
        outline-offset: -2px;
    }

    .tcc-links__item[b-ubu2tuh28v]  .tcc-links__icon {
        color: var(--mud-palette-text-secondary);
    }

    .tcc-links__item[b-ubu2tuh28v]  .tcc-links__chevron {
        margin-inline-start: auto;
        color: var(--mud-palette-text-disabled);
    }

@media (prefers-reduced-motion: reduce) {
    .tcc-links__item[b-ubu2tuh28v] {
        transition: none;
    }
}
/* /Features/TenantControlCenter/Components/TenantShortcutsMenu.razor.rz.scp.css */
/* TenantShortcutsMenu - layout only */

.tcc-shortcuts__heading[b-0cklcjeic7] {
    padding: 8px 16px 4px;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
}

[b-0cklcjeic7] .tcc-shortcuts__busy {
    margin: 6px;
}
/* /Features/TenantControlCenter/Components/TenantSignalsSection.razor.rz.scp.css */
/* TenantSignalsSection - layout only */

.tcc-signals[b-msi02u8s9q] {
    display: flex;
    flex-direction: column;
}

.tcc-signals__dots[b-msi02u8s9q] {
    display: inline-flex;
    gap: 4px;
    align-items: center;
}

.tcc-signals__dot[b-msi02u8s9q] {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
}

.tcc-signals__dot--passed[b-msi02u8s9q] {
    background: var(--mud-palette-success);
}

.tcc-signals__dot--failed[b-msi02u8s9q] {
    background: var(--mud-palette-error);
}

.tcc-signals__errors[b-msi02u8s9q] {
    color: var(--mud-palette-error);
    font-weight: 600;
}

.tcc-signals__links[b-msi02u8s9q] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding-block-start: 12px;
}
/* /Features/TenantControlCenter/Components/TenantsTab.razor.rz.scp.css */
/* TenantsTab - summary strip, one toolbar row, a calm grid whose rows open the tenant */

.tcc-tenants[b-7p28kyygay] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* Toolbar: search takes the free width, filters stay compact, the count sits at the end. */
.tcc-tenants__toolbar[b-7p28kyygay] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

/* MudSelect wraps its control in an outer .mud-select, which is the flex item here. */
[b-7p28kyygay] .tcc-tenants__search {
    flex: 1 1 320px;
    min-width: 320px;
}

.tcc-tenants__toolbar[b-7p28kyygay]  > .mud-select {
    flex: 0 0 170px;
    width: 170px;
}

[b-7p28kyygay] .tcc-tenants__filter {
    width: 100%;
}

    [b-7p28kyygay] .tcc-tenants__search .mud-input-control,
    [b-7p28kyygay] .tcc-tenants__filter .mud-input-control {
        margin: 0;
    }

.tcc-tenants__result[b-7p28kyygay] {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-inline-start: auto;
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
}

/* Rows open the tenant; the subdomain link and the ⋯ menu stop the click themselves. */
[b-7p28kyygay] .tcc-tenants__row {
    cursor: pointer;
    transition: background-color var(--dur-fast) var(--ease-out);
}

[b-7p28kyygay] .tcc-tenants__grid .mud-table-cell {
    vertical-align: middle;
    padding-block: 8px;
}

[b-7p28kyygay] .tcc-tenants__grid .mud-table-head .mud-table-cell {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
    background: var(--mud-palette-surface);
    white-space: nowrap;
}

.tcc-tenants__identity[b-7p28kyygay] {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.tcc-tenants__avatar[b-7p28kyygay] {
    flex: none;
    display: inline-grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: var(--radius-md);
    background: color-mix(in srgb, var(--mud-palette-primary) 14%, transparent);
    color: var(--mud-palette-primary);
    font-size: 0.875rem;
    font-weight: 600;
}

.tcc-tenants__pill[b-7p28kyygay] {
    display: inline-flex;
    align-items: center;
    height: 22px;
    padding: 0 8px;
    border-radius: 999px;
    border: 1px solid var(--mud-palette-lines-default);
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
}

.tcc-tenants__pill--pinned[b-7p28kyygay] {
    border-color: transparent;
    background: color-mix(in srgb, var(--mud-palette-primary) 14%, transparent);
    color: var(--mud-palette-primary);
    font-weight: 500;
}

.tcc-tenants__expiry[b-7p28kyygay] {
    font-size: 0.8125rem;
}

.tcc-tenants__expiry-hint[b-7p28kyygay] {
    font-size: 0.75rem;
    font-weight: 500;
}

.tcc-tenants__expiry--warning[b-7p28kyygay] {
    color: var(--mud-palette-warning);
}

.tcc-tenants__expiry--danger[b-7p28kyygay] {
    color: var(--mud-palette-error);
}

.tcc-tenants__stack[b-7p28kyygay] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.tcc-tenants__inline[b-7p28kyygay] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}

.tcc-tenants__nowrap[b-7p28kyygay] {
    flex-wrap: nowrap;
    white-space: nowrap;
}

[b-7p28kyygay] .tcc-tenants__subdomain {
    font-weight: 600;
}

.tcc-tenants__secondary[b-7p28kyygay] {
    max-width: 280px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
}

.tcc-tenants__database[b-7p28kyygay] {
    max-width: 240px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tcc-tenants__pinned[b-7p28kyygay] {
    font-weight: 500;
    color: var(--mud-palette-primary);
}

[b-7p28kyygay] .tcc-tenants__lock {
    font-size: 1rem;
    color: var(--mud-palette-text-disabled);
}

[b-7p28kyygay] .tcc-tenants__lock--manual {
    color: var(--mud-palette-error);
}

/* The actions column stays put while the grid scrolls; its header needs a ground of its own. */
[b-7p28kyygay] .tcc-tenants__actions {
    width: 96px;
    text-align: end;
}

.tcc-tenants__row-actions[b-7p28kyygay] {
    display: inline-flex;
    align-items: center;
    gap: 2px;
}

/* The open arrow appears on row hover or keyboard focus, so rows stay quiet at rest. */
[b-7p28kyygay] .tcc-tenants__open {
    opacity: 0;
}

[b-7p28kyygay] .tcc-tenants__row:hover .tcc-tenants__open,
[b-7p28kyygay] .tcc-tenants__open:focus-visible {
    opacity: 1;
}

/* Active filters as removable chips under the toolbar. */
.tcc-tenants__chips[b-7p28kyygay] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

/* Compact density: tighter rows, a smaller avatar, no second line under the tenant. */
[b-7p28kyygay] .tcc-tenants__grid--compact .mud-table-cell {
    padding-block: 3px;
}

[b-7p28kyygay] .tcc-tenants__grid--compact .tcc-tenants__avatar {
    width: 26px;
    height: 26px;
    font-size: 0.75rem;
}

[b-7p28kyygay] .tcc-tenants__grid--compact .tcc-tenants__secondary {
    display: none;
}

[b-7p28kyygay] .mud-table-cell.sticky-right {
    box-shadow: inset 1px 0 0 var(--mud-palette-lines-default);
    background-color: var(--mud-palette-surface);
}

[b-7p28kyygay] .tcc-tenants__row:hover .mud-table-cell.sticky-right {
    background-image: linear-gradient(var(--mud-palette-table-hover), var(--mud-palette-table-hover));
}

@media (max-width: 960px) {
    [b-7p28kyygay] .tcc-tenants__search,
    .tcc-tenants__toolbar[b-7p28kyygay]  > .mud-select {
        flex: 1 1 100%;
        min-width: 100%;
    }

    .tcc-tenants__result[b-7p28kyygay] {
        margin-inline-start: 0;
    }
}

@media (hover: none) {
    [b-7p28kyygay] .tcc-tenants__open {
        opacity: 1;
    }
}

@media (prefers-reduced-motion: reduce) {
    [b-7p28kyygay] .tcc-tenants__row {
        transition: none;
    }
}

.tcc-tenants__snapshot[b-7p28kyygay] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
    margin-inline: 8px;
    white-space: nowrap;
}
/* /Features/TenantControlCenter/Components/TenantSubscriptionSection.razor.rz.scp.css */
/* TenantSubscriptionSection - layout only */

.tcc-subscription[b-2zzuz27wdu] {
    display: flex;
    flex-direction: column;
}

.tcc-subscription__modules[b-2zzuz27wdu] {
    font-weight: 400;
}

.tcc-subscription__days[b-2zzuz27wdu] {
    margin-inline-start: 8px;
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

.tcc-subscription__days--warning[b-2zzuz27wdu] {
    color: var(--mud-palette-warning-darken);
}

.tcc-subscription__days--danger[b-2zzuz27wdu] {
    color: var(--mud-palette-error);
}

.tcc-subscription__actions[b-2zzuz27wdu] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding-block-start: 12px;
}
/* /Features/TenantControlCenter/Components/TenantSummaryStrip.razor.rz.scp.css */
/* TenantSummaryStrip - flat quick-filter pills inside the list panel; no cards, icons or transitions */

.tcc-quick[b-fy01dpmq15] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
    padding: 10px 16px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.tcc-quick__item[b-fy01dpmq15] {
    appearance: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 28px;
    padding: 0 10px;
    border: 1px solid transparent;
    border-radius: 999px;
    background: transparent;
    color: var(--mud-palette-text-secondary);
    font: inherit;
    font-size: 0.8125rem;
    font-weight: 500;
    cursor: pointer;
}

.tcc-quick__item:hover[b-fy01dpmq15] {
    color: var(--mud-palette-text-primary);
    background: var(--mud-palette-action-default-hover);
}

.tcc-quick__item:focus-visible[b-fy01dpmq15] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

.tcc-quick__item--active[b-fy01dpmq15],
.tcc-quick__item--active:hover[b-fy01dpmq15] {
    color: var(--mud-palette-primary);
    border-color: color-mix(in srgb, var(--mud-palette-primary) 40%, transparent);
    background: color-mix(in srgb, var(--mud-palette-primary) 12%, transparent);
}

.tcc-quick__count[b-fy01dpmq15] {
    color: var(--mud-palette-text-primary);
    font-weight: 600;
}

.tcc-quick__item--active .tcc-quick__count[b-fy01dpmq15] {
    color: inherit;
}

.tcc-quick__item--warning .tcc-quick__count[b-fy01dpmq15] {
    color: var(--mud-palette-warning);
}

.tcc-quick__item--danger .tcc-quick__count[b-fy01dpmq15] {
    color: var(--mud-palette-error);
}

.tcc-quick__divider[b-fy01dpmq15] {
    width: 1px;
    height: 18px;
    margin: 0 6px;
    background: var(--mud-palette-lines-default);
}
/* /Features/TenantControlCenter/Components/TenantUsersSection.razor.rz.scp.css */
/* TenantUsersSection - layout only */

.tcc-users[b-1fickvzlvt] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.tcc-users__toolbar[b-1fickvzlvt] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    padding: 12px 16px 0;
}

[b-1fickvzlvt] .tcc-users__search {
    max-width: 320px;
}

[b-1fickvzlvt] .tcc-users__table {
    overflow-x: auto;
}

.tcc-users__who[b-1fickvzlvt] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.tcc-users__actions[b-1fickvzlvt] {
    text-align: end;
    width: 48px;
}

.tcc-users__pager[b-1fickvzlvt] {
    display: flex;
    justify-content: center;
    padding-block-end: 8px;
}
/* /Features/TenantControlCenter/Components/TenantVersionsSection.razor.rz.scp.css */
/* TenantVersionsSection - one row per service: name + state left, controls right */

.tcc-versions[b-wqk53p6i6l] {
    list-style: none;
    margin: 0;
    padding: 0;
}

.tcc-versions__row[b-wqk53p6i6l] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px 24px;
    padding: 14px 20px;
    transition: background-color 150ms ease-out;
}

    .tcc-versions__row + .tcc-versions__row[b-wqk53p6i6l] {
        border-top: 1px solid var(--mud-palette-divider);
    }

    .tcc-versions__row:hover[b-wqk53p6i6l] {
        background: var(--mud-palette-action-default-hover);
    }

.tcc-versions__service[b-wqk53p6i6l] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.tcc-versions__name[b-wqk53p6i6l] {
    font-size: 0.9375rem;
    font-weight: 600;
}

.tcc-versions__state[b-wqk53p6i6l] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    min-height: 24px;
    font-size: 0.8125rem;
}

.tcc-versions__controls[b-wqk53p6i6l] {
    display: flex;
    align-items: center;
    gap: 4px;
}

.tcc-versions__labels[b-wqk53p6i6l] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

@media (prefers-reduced-motion: reduce) {
    .tcc-versions__row[b-wqk53p6i6l] {
        transition: none;
    }
}

.tcc-versions__error[b-wqk53p6i6l] {
    font-size: 0.75rem;
    color: var(--mud-palette-error);
    max-width: 360px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* /Features/TenantControlCenter/Components/UserSessionsDialog.razor.rz.scp.css */
/* UserSessionsDialog - layout only */

.tcc-sessions[b-qlhgwf90q1] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

[b-qlhgwf90q1] .tcc-sessions__table {
    overflow-x: auto;
}
/* /Features/TenantControlCenter/Components/VersionMoveDialog.razor.rz.scp.css */
/* VersionMoveDialog - layout only */

.tcc-move[b-wblvik0lml] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.tcc-move__path[b-wblvik0lml] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.tcc-move__to[b-wblvik0lml] {
    font-weight: 600;
}

.tcc-move__tenants[b-wblvik0lml] {
    margin-block-start: 4px;
    word-break: break-word;
}

.tcc-move__migrations ul[b-wblvik0lml] {
    margin: 4px 0 0;
    padding-inline-start: 20px;
    max-height: 200px;
    overflow-y: auto;
}
/* /Features/TenantControlCenter/Components/VersionPicker.razor.rz.scp.css */
/* VersionPicker - step down / dropdown / step up read as one control */

.tcc-stepper[b-6n14x3954m] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

[b-6n14x3954m] .tcc-stepper__select {
    width: 240px;
    flex: none;
}

    [b-6n14x3954m] .tcc-stepper__select .mud-input-control {
        margin: 0;
    }

[b-6n14x3954m] .tcc-stepper__step {
    min-width: 72px;
    height: 36px;
    transition: transform 120ms ease-out, background-color 150ms ease-out;
}

    [b-6n14x3954m] .tcc-stepper__step:active:not(:disabled) {
        transform: translateY(1px);
    }

.tcc-stepper__option[b-6n14x3954m] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.tcc-stepper__sequence[b-6n14x3954m],
.tcc-stepper__revision[b-6n14x3954m] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.75rem;
}

@media (prefers-reduced-motion: reduce) {
    [b-6n14x3954m] .tcc-stepper__step {
        transition: none;
    }
}
/* /Features/TenantControlCenter/Components/VersionsTab.razor.rz.scp.css */
/* VersionsTab - labels grouped by service, pinned counts with an inline bar */

.tcc-versions-tab[b-av0xocs5ii] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.tcc-versions-tab__scroll[b-av0xocs5ii] {
    overflow-x: auto;
}

[b-av0xocs5ii] .tcc-versions-tab__table td {
    vertical-align: middle;
}

/* Group header: the service name with a quiet summary, on a slightly deeper ground. */
.tcc-versions-tab__group th[b-av0xocs5ii] {
    padding: 10px 16px 8px;
    background: var(--mud-palette-background-gray);
    border-top: 1px solid var(--mud-palette-lines-default);
    text-align: start;
    font-weight: 400;
}

.tcc-versions-tab__service[b-av0xocs5ii] {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
}

.tcc-versions-tab__summary[b-av0xocs5ii] {
    margin-inline-start: 10px;
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
}

.tcc-versions-tab__label[b-av0xocs5ii] {
    padding-inline-start: 28px;
    font-weight: 500;
}

.tcc-versions-tab__numeric[b-av0xocs5ii] {
    text-align: end;
    width: 1%;
    white-space: nowrap;
}

.tcc-versions-tab__revision[b-av0xocs5ii] {
    color: var(--mud-palette-text-secondary);
}

.tcc-versions-tab__pinned-head[b-av0xocs5ii] {
    width: 220px;
}

.tcc-versions-tab__count[b-av0xocs5ii] {
    appearance: none;
    min-width: 28px;
    padding: 1px 8px;
    border: 1px solid color-mix(in srgb, var(--mud-palette-primary) 40%, transparent);
    border-radius: 999px;
    background: color-mix(in srgb, var(--mud-palette-primary) 12%, transparent);
    color: var(--mud-palette-primary);
    font: inherit;
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
}

.tcc-versions-tab__count:hover[b-av0xocs5ii] {
    background: color-mix(in srgb, var(--mud-palette-primary) 20%, transparent);
}

.tcc-versions-tab__count:focus-visible[b-av0xocs5ii] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

.tcc-versions-tab__pinned[b-av0xocs5ii] {
    display: grid;
    grid-template-columns: 2.5ch 1fr;
    align-items: center;
    gap: 10px;
}

    .tcc-versions-tab__pinned > span:first-child[b-av0xocs5ii] {
        text-align: end;
    }

.tcc-versions-tab__bar[b-av0xocs5ii] {
    display: block;
    height: 4px;
    border-radius: 2px;
    background: var(--mud-palette-lines-default);
    overflow: hidden;
}

.tcc-versions-tab__fill[b-av0xocs5ii] {
    display: block;
    height: 100%;
    border-radius: 2px;
    background: var(--mud-palette-primary);
}

.tcc-versions-tab__sequence-edit[b-av0xocs5ii] {
    display: inline-flex;
    align-items: center;
    gap: 2px;
}

[b-av0xocs5ii] .tcc-versions-tab__sequence-input {
    width: 72px;
}
/* /Features/TenantControlCenter/Pages/TenantControlCenterPage.razor.rz.scp.css */
/* TenantControlCenterPage - page shell: a light underline tab bar over the tab content */

.tcc-page[b-qcd9z2fb5o] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

[b-qcd9z2fb5o] .tcc-page__skeleton {
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--radius-lg);
    background: var(--mud-palette-surface);
}

/* Tabs sit on the page ground, not on a white strip: text only, a hairline under the bar, the slider marks
   the active tab. */
[b-qcd9z2fb5o] .tcc-page__tabs .mud-tabs-tabbar {
    background: transparent;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

[b-qcd9z2fb5o] .tcc-page__tabs .mud-tab {
    min-width: 0;
    min-height: 40px;
    padding: 8px 14px;
    font-size: 0.875rem;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
    color: var(--mud-palette-text-secondary);
    transition: color var(--dur-fast) var(--ease-out);
}

    [b-qcd9z2fb5o] .tcc-page__tabs .mud-tab:hover {
        color: var(--mud-palette-text-primary);
        background: transparent;
    }

    [b-qcd9z2fb5o] .tcc-page__tabs .mud-tab.mud-tab-active {
        color: var(--mud-palette-primary);
    }

    [b-qcd9z2fb5o] .tcc-page__tabs .mud-tab:focus-visible {
        outline: 2px solid var(--mud-palette-primary);
        outline-offset: -2px;
    }

[b-qcd9z2fb5o] .tcc-page__tabs .mud-tab-slider {
    height: 2px;
}

[b-qcd9z2fb5o] .tcc-page__tab-panel {
    padding-block-start: 16px;
}

@media (prefers-reduced-motion: reduce) {
    [b-qcd9z2fb5o] .tcc-page__tabs .mud-tab {
        transition: none;
    }
}
/* /Features/TenantControlCenter/Pages/TenantDetailPage.razor.rz.scp.css */
/* TenantDetailPage - state line, banners, then a two-column grid: work on the left, facts and access right */

.tcc-detail[b-zaio7sdlfo] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

[b-zaio7sdlfo] .tcc-detail__skeleton {
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--radius-lg);
    background: var(--mud-palette-surface);
}

/* The tenant's state in one line of chips and quiet facts, right under the title. */
.tcc-detail__state[b-zaio7sdlfo] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
    margin-top: -4px;
}

.tcc-detail__meta[b-zaio7sdlfo] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
}

    .tcc-detail__meta + .tcc-detail__meta[b-zaio7sdlfo]::before {
        content: "";
        width: 1px;
        height: 14px;
        margin-inline-end: 6px;
        background: var(--mud-palette-lines-default);
    }

.tcc-detail__grid[b-zaio7sdlfo] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
    align-items: start;
    gap: 20px;
}

.tcc-detail__main[b-zaio7sdlfo],
.tcc-detail__side[b-zaio7sdlfo] {
    display: flex;
    flex-direction: column;
    gap: 20px;
    min-width: 0;
}

/* Actions menu: quiet uppercase-free group labels between the items. */
.tcc-action-group[b-zaio7sdlfo] {
    padding: 10px 16px 4px;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
}

[b-zaio7sdlfo] .tcc-actions-menu {
    min-width: 300px;
    padding-block: 4px;
}

@media (max-width: 1200px) {
    .tcc-detail__grid[b-zaio7sdlfo] {
        grid-template-columns: minmax(0, 1fr);
    }
}

.tcc-detail__maintenance[b-zaio7sdlfo] {
    margin-block-start: 4px;
    font-weight: 500;
}

[b-zaio7sdlfo] .tcc-detail__divider {
    margin-block: 16px;
}

/* The running action, beside the Actions menu */
.tcc-action-running[b-zaio7sdlfo] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--mud-palette-text-secondary);
    font-size: 0.875rem;
}

[b-zaio7sdlfo] .tcc-button-spinner {
    margin-inline-end: 8px;
}
/* /Features/TenantDatabaseExtraction/Components/ExtractionProgressPanel.razor.rz.scp.css */
.tde-progress__connecting[b-1cfbnakxz7] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.tde-progress__meta[b-1cfbnakxz7] {
    display: flex;
    align-items: baseline;
    gap: 0.75rem;
    margin-block: 0.5rem 1rem;
    color: var(--ink-secondary);
}

.tde-progress__message[b-1cfbnakxz7] {
    overflow-wrap: anywhere;
}

.tde-progress__steps[b-1cfbnakxz7] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.25rem;
    margin: 0 0 0.75rem;
    padding: 0;
    list-style: none;
}

.tde-progress__step[b-1cfbnakxz7] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    color: var(--ink-secondary);
}

.tde-progress__step--done[b-1cfbnakxz7] {
    color: var(--success);
}

.tde-progress__step--active[b-1cfbnakxz7] {
    color: var(--primary);
    font-weight: 600;
}

.tde-progress__step--failed[b-1cfbnakxz7] {
    color: var(--danger);
    font-weight: 600;
}

.tde-progress__step--todo[b-1cfbnakxz7] {
    color: var(--ink-faint);
}

[b-1cfbnakxz7] .tde-progress__error {
    margin-block-end: 0.5rem;
}
/* /Features/TenantStorage/Components/StorageUsageBar.razor.rz.scp.css */
/* StorageUsageBar - a thin band-colored bar with the tabular percentage at its end */

.ts-usage[b-m8vf7z8w4l] {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 150px;
}

[b-m8vf7z8w4l] .ts-usage__bar {
    flex: 1 1 auto;
    min-width: 72px;
}

.ts-usage__value[b-m8vf7z8w4l] {
    flex: none;
    min-width: 48px;
    text-align: end;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
}
/* /Features/TenantStorage/Pages/TenantStorageDetails.razor.rz.scp.css */
/* TenantStorageDetails - four figures, the used/free split beside the breakdown, then the ids behind it */

.storage__metrics[b-ogtkir6cq6] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}

[b-ogtkir6cq6] .storage__skeleton {
    border-radius: var(--radius-md);
}

.storage__grid[b-ogtkir6cq6] {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    gap: 16px;
    margin-bottom: 16px;
}

[b-ogtkir6cq6] .storage__fill {
    height: 100%;
}

.storage__chart[b-ogtkir6cq6] {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 240px;
}

.storage__rows[b-ogtkir6cq6] {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

/* Label and figure on one line, the bar under both. */
.storage__row[b-ogtkir6cq6] {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: baseline;
    row-gap: 6px;
}

.storage__row-label[b-ogtkir6cq6] {
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
}

.storage__row-value[b-ogtkir6cq6] {
    font-weight: 600;
    color: var(--mud-palette-text-primary);
}

[b-ogtkir6cq6] .storage__row-bar {
    grid-column: 1 / -1;
}

[b-ogtkir6cq6] .storage__warning {
    margin-top: 20px;
}

/* Ids as a quiet definition list: faint labels, monospace values that truncate with the full value on hover. */
.storage__facts[b-ogtkir6cq6] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px 24px;
    margin: 0;
}

.storage__fact[b-ogtkir6cq6] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

    .storage__fact dt[b-ogtkir6cq6] {
        font-size: 0.75rem;
        font-weight: 600;
        color: var(--mud-palette-text-secondary);
    }

    .storage__fact dd[b-ogtkir6cq6] {
        margin: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: 0.8125rem;
        color: var(--mud-palette-text-primary);
    }

@media (max-width: 960px) {
    .storage__grid[b-ogtkir6cq6] {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* /Features/TenantStorage/Pages/TenantStoragesList.razor.rz.scp.css */
/* TenantStoragesList - fleet totals, band quick filters, one search row and a dense grid whose rows open storage */

.ts-list[b-81exta7yci] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.ts-list__metrics[b-81exta7yci] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 12px;
}

/* Toolbar: search takes the free width, the result count sits at the end. */
.ts-list__toolbar[b-81exta7yci] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

[b-81exta7yci] .ts-list__search {
    flex: 0 1 380px;
    min-width: 240px;
}

    [b-81exta7yci] .ts-list__search .mud-input-control {
        margin: 0;
    }

.ts-list__count[b-81exta7yci] {
    margin-inline-start: auto;
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
}

/* Rows open the tenant's storage; the subdomain link and the action buttons stop the click themselves. */
[b-81exta7yci] .ts-list__row {
    cursor: pointer;
    transition: background-color var(--dur-fast) var(--ease-out);
}

[b-81exta7yci] .ts-list__grid .mud-table-cell {
    vertical-align: middle;
    padding-block: 7px;
}

/* The grid fits the viewport: rows scroll under a sticky header. */
[b-81exta7yci] .ts-list__grid .mud-table-container {
    max-height: max(360px, calc(100dvh - 420px));
}

[b-81exta7yci] .ts-list__grid .mud-table-head .mud-table-cell {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
    background: var(--mud-palette-surface);
    white-space: nowrap;
}

[b-81exta7yci] .ts-list__subdomain {
    font-weight: 600;
}

.ts-list__secondary[b-81exta7yci] {
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
}

/* Sizes read as a column of figures: right-aligned, tabular, header aligned with them. */
[b-81exta7yci] .ts-list__num {
    text-align: end;
    white-space: nowrap;
}

    [b-81exta7yci] .ts-list__num .column-header {
        justify-content: flex-end;
    }

[b-81exta7yci] .ts-list__usage {
    min-width: 180px;
}

/* The actions column stays put while the grid scrolls sideways; it needs a ground of its own. */
[b-81exta7yci] .ts-list__actions {
    width: 88px;
    text-align: end;
}

.ts-list__row-actions[b-81exta7yci] {
    display: inline-flex;
    align-items: center;
    gap: 2px;
}

[b-81exta7yci] .mud-table-cell.sticky-right {
    box-shadow: inset 1px 0 0 var(--mud-palette-lines-default);
    background-color: var(--mud-palette-surface);
}

[b-81exta7yci] .ts-list__row:hover .mud-table-cell.sticky-right {
    background-image: linear-gradient(var(--mud-palette-table-hover), var(--mud-palette-table-hover));
}

@media (max-width: 600px) {
    [b-81exta7yci] .ts-list__search {
        flex: 1 1 100%;
        min-width: 100%;
    }

    .ts-list__count[b-81exta7yci] {
        margin-inline-start: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    [b-81exta7yci] .ts-list__row {
        transition: none;
    }
}
/* /Features/TenantTimeline/Pages/TenantTimelinePage.razor.rz.scp.css */
/* The readable action leads the row; the raw route sits under it in a quieter, monospaced line
   so it can still be read and copied when chasing the request through the logs. */
.tt-action[b-tmr8lql8rx] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.tt-action-text[b-tmr8lql8rx] {
    font-weight: 600;
    color: var(--mud-palette-text-primary);
}

.tt-action-path[b-tmr8lql8rx] {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 11px;
    color: var(--mud-palette-text-secondary);
    word-break: break-all;
}
/* /Features/Terminal/Components/Terminal.razor.rz.scp.css */
@keyframes blink-b-rlk18o2uhx {
    0%, 50% {
        opacity: 1;
    }

    51%, 100% {
        opacity: 0;
    }
}

@keyframes typewriter-b-rlk18o2uhx {
    from {
        width: 0;
    }

    to {
        width: 100%;
    }
}

@keyframes fadeIn-b-rlk18o2uhx {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Terminal container enhancements */
.terminal-container[b-rlk18o2uhx] {
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
    border: 1px solid rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    transition: box-shadow var(--dur-slow) var(--ease-out);
}

.terminal-container:hover[b-rlk18o2uhx] {
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4);
}

/* Terminal header improvements */
.terminal-header[b-rlk18o2uhx] {
    background: linear-gradient(135deg, var(--terminal-input-bg) 0%, rgba(255, 255, 255, 0.05) 100%) !important;
    backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}

/* Terminal output enhancements */
.terminal-output[b-rlk18o2uhx] {
    background: rgba(0, 0, 0, 0.1);
    border-radius: 4px;
    scrollbar-width: thin;
    scrollbar-color: var(--terminal-prompt) transparent;
}

.terminal-output[b-rlk18o2uhx]::-webkit-scrollbar {
    width: 6px;
}

.terminal-output[b-rlk18o2uhx]::-webkit-scrollbar-track {
    background: transparent;
}

.terminal-output[b-rlk18o2uhx]::-webkit-scrollbar-thumb {
    background: var(--terminal-prompt);
    border-radius: 3px;
    opacity: 0.7;
}

.terminal-output[b-rlk18o2uhx]::-webkit-scrollbar-thumb:hover {
    opacity: 1;
}

/* Terminal line animations */
.terminal-line[b-rlk18o2uhx] {
    animation: fadeIn-b-rlk18o2uhx var(--dur-slow) var(--ease-out);
    transition: background var(--dur-base) var(--ease-out);
}

.terminal-line:hover[b-rlk18o2uhx] {
    background: rgba(255, 255, 255, 0.02);
    border-radius: 4px;
    padding: 2px 4px;
    margin: 0 -4px;
}

.terminal-line.command[b-rlk18o2uhx] {
    border-left: 3px solid var(--terminal-prompt);
    padding-left: 8px;
    margin-left: -8px;
    background: rgba(255, 255, 255, 0.02);
    border-radius: 0 4px 4px 0;
}

.terminal-line.error[b-rlk18o2uhx] {
    border-left: 3px solid var(--terminal-error);
    padding-left: 8px;
    margin-left: -8px;
    background: rgba(255, 68, 68, 0.1);
    border-radius: 0 4px 4px 0;
}

.terminal-line.success[b-rlk18o2uhx] {
    border-left: 3px solid var(--terminal-success);
    padding-left: 8px;
    margin-left: -8px;
    background: rgba(0, 255, 0, 0.1);
    border-radius: 0 4px 4px 0;
}

.terminal-line.warning[b-rlk18o2uhx] {
    border-left: 3px solid var(--terminal-warning);
    padding-left: 8px;
    margin-left: -8px;
    background: rgba(255, 170, 0, 0.1);
    border-radius: 0 4px 4px 0;
}

/* Prompt styling */
.prompt[b-rlk18o2uhx] {
    position: relative;
    text-shadow: 0 0 5px currentColor;
}

.prompt[b-rlk18o2uhx]::after {
    content: '';
    position: absolute;
    right: -2px;
    top: 0;
    bottom: 0;
    width: 2px;
    background: var(--terminal-prompt);
    animation: blink-b-rlk18o2uhx 1s infinite;
}

/* Command text enhancements */
.command-text[b-rlk18o2uhx] {
    font-weight: 500;
    letter-spacing: 0.5px;
}

/* Output text styling */
.output-text[b-rlk18o2uhx] {
    line-height: 1.6;
    word-spacing: 1px;
}

/* Input container improvements */
.terminal-input-container[b-rlk18o2uhx] {
    background: linear-gradient(135deg, var(--terminal-input-bg) 0%, rgba(255, 255, 255, 0.05) 100%);
    backdrop-filter: blur(10px);
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.2);
}

/* Input field enhancements */
.terminal-input .mud-input-root input[b-rlk18o2uhx] {
    font-family: inherit !important;
    font-size: inherit !important;
    letter-spacing: 0.5px !important;
    transition: box-shadow var(--dur-base) var(--ease-out) !important;
}

.terminal-input .mud-input-root input:focus[b-rlk18o2uhx] {
    box-shadow: 0 0 10px var(--terminal-prompt) !important;
}

/* Suggestions enhancements */
.terminal-suggestions[b-rlk18o2uhx] {
    background: var(--terminal-suggestion-bg);
    backdrop-filter: blur(15px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 8px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
    animation: fadeIn-b-rlk18o2uhx var(--dur-base) var(--ease-out);
}

.suggestion-item[b-rlk18o2uhx] {
    transition: transform var(--dur-base) var(--ease-out), background var(--dur-base) var(--ease-out);
    border-radius: 4px;
    margin: 2px 4px;
}

.suggestion-item:hover[b-rlk18o2uhx],
.suggestion-item.selected[b-rlk18o2uhx] {
    background: var(--terminal-suggestion-selected);
    transform: translateX(4px);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

/* Executing state */
.terminal-line.executing[b-rlk18o2uhx] {
    animation: pulse-b-rlk18o2uhx 2s infinite;
}

@keyframes pulse-b-rlk18o2uhx {
    0%, 100% {
        opacity: 0.7;
    }

    50% {
        opacity: 1;
    }
}

/* Theme-specific enhancements */
.terminal-container.matrix[b-rlk18o2uhx] {
    background: radial-gradient(ellipse at center, #001100 0%, #000000 70%);
    box-shadow: 0 0 50px #00ff41;
}

.terminal-container.matrix .terminal-line[b-rlk18o2uhx] {
    text-shadow: 0 0 5px currentColor;
}

.terminal-container.matrix .prompt[b-rlk18o2uhx]::after {
    box-shadow: 0 0 5px var(--terminal-prompt);
}

/* Dark theme enhancements */
.terminal-container.dark[b-rlk18o2uhx] {
    background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
}

/* Light theme enhancements */
.terminal-container.light[b-rlk18o2uhx] {
    background: linear-gradient(135deg, #ffffff 0%, #f5f5f5 100%);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
}

/* Responsive design */
@media (max-width: 768px) {
    .terminal-container[b-rlk18o2uhx] {
        border-radius: 0;
        height: calc(100vh - 200px) !important;
    }
    
    .terminal-input-container[b-rlk18o2uhx] {
        padding: 8px 12px;
    }
    
    .terminal-output[b-rlk18o2uhx] {
        padding: 12px;
    }
    
    .terminal-suggestions[b-rlk18o2uhx] {
        left: 8px;
        right: 8px;
        bottom: 50px;
    }
}

/* Accessibility improvements */
@media (prefers-reduced-motion: reduce) {
    .terminal-line[b-rlk18o2uhx],
    .suggestion-item[b-rlk18o2uhx],
    .terminal-container[b-rlk18o2uhx] {
        animation: none;
        transition: none;
    }
}

/* High contrast mode */
@media (prefers-contrast: high) {
    .terminal-container[b-rlk18o2uhx] {
        border: 2px solid;
    }
    
    .terminal-line.command[b-rlk18o2uhx],
    .terminal-line.error[b-rlk18o2uhx],
    .terminal-line.success[b-rlk18o2uhx],
    .terminal-line.warning[b-rlk18o2uhx] {
        border-left-width: 4px;
    }
}

/* /Features/TranslationFiles/Components/TranslationSummaryStrip.razor.rz.scp.css */
/* TranslationSummaryStrip - flat quick-filter pills plus the page's per-language gaps; mirrors the TCC strip */

.trn-strip[b-op98se3keg] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 16px;
    padding: 10px 16px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.trn-strip__filters[b-op98se3keg] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
}

.trn-strip__pill[b-op98se3keg] {
    appearance: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 28px;
    padding: 0 10px;
    border: 1px solid transparent;
    border-radius: 999px;
    background: transparent;
    color: var(--mud-palette-text-secondary);
    font: inherit;
    font-size: 0.8125rem;
    font-weight: 500;
    cursor: pointer;
    transition: background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
}

.trn-strip__pill:hover[b-op98se3keg] {
    color: var(--mud-palette-text-primary);
    background: var(--mud-palette-action-default-hover);
}

.trn-strip__pill:focus-visible[b-op98se3keg] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

.trn-strip__pill:active[b-op98se3keg] {
    transform: scale(0.97);
}

.trn-strip__pill--active[b-op98se3keg],
.trn-strip__pill--active:hover[b-op98se3keg] {
    color: var(--mud-palette-primary);
    border-color: color-mix(in srgb, var(--mud-palette-primary) 40%, transparent);
    background: color-mix(in srgb, var(--mud-palette-primary) 12%, transparent);
}

[b-op98se3keg] .trn-strip__icon {
    font-size: 1rem;
}

.trn-strip__count[b-op98se3keg] {
    font-weight: 600;
}

.trn-strip__divider[b-op98se3keg] {
    width: 1px;
    height: 18px;
    margin: 0 6px;
    background: var(--mud-palette-lines-default);
}

/* Page gaps sit at the inline end, quiet unless something is missing. */
.trn-strip__page[b-op98se3keg] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-inline-start: auto;
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
}

.trn-strip__gap[b-op98se3keg] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 22px;
    padding: 0 8px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 999px;
    font-size: 0.75rem;
}

.trn-strip__gap--open[b-op98se3keg] {
    border-color: transparent;
    background: color-mix(in srgb, var(--mud-palette-warning) 14%, transparent);
    color: var(--mud-palette-warning);
    font-weight: 600;
}

@media (max-width: 960px) {
    .trn-strip__page[b-op98se3keg] {
        margin-inline-start: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .trn-strip__pill[b-op98se3keg] {
        transition: none;
    }

    .trn-strip__pill:active[b-op98se3keg] {
        transform: none;
    }
}
/* /Features/TranslationFiles/Components/TranslationValueCell.razor.rz.scp.css */
/* TranslationValueCell - a value in its own reading direction, or a labelled "missing" marker */

.trn-value[b-pziq5q1nc6] {
    display: block;
    max-width: 420px;
    white-space: pre-wrap;
    word-break: break-word;
    line-height: 1.45;
    unicode-bidi: plaintext;
}

/* Arabic starts at its own right edge (dir=rtl) and reads a touch larger for the script. */
.trn-value--rtl[b-pziq5q1nc6] {
    text-align: start;
    font-size: 0.9375rem;
}

.trn-missing[b-pziq5q1nc6] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    height: 22px;
    padding: 0 8px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--mud-palette-warning) 14%, transparent);
    color: var(--mud-palette-warning);
    font-size: 0.75rem;
    font-weight: 600;
    white-space: nowrap;
}

[b-pziq5q1nc6] .trn-missing__icon {
    font-size: 0.875rem;
}
/* /Features/TranslationFiles/Pages/TranslateLogViewer.razor.rz.scp.css */
/* TranslateLogViewer - one toolbar row over a quiet, dense log grid (layout only; surfaces from the kit) */

.tl-page[b-5fa1a9tb2v] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.tl-page[b-5fa1a9tb2v]  .tl-toolbar {
    padding: 12px 16px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.tl-page[b-5fa1a9tb2v]  .tl-toolbar__search {
    flex: 1 1 300px;
    min-width: 240px;
    max-width: 480px;
}

.tl-page[b-5fa1a9tb2v]  .tl-toolbar__filter {
    flex: 0 0 180px;
    width: 180px;
}

    .tl-page[b-5fa1a9tb2v]  .tl-toolbar__search .mud-input-control,
    .tl-page[b-5fa1a9tb2v]  .tl-toolbar__filter .mud-input-control {
        margin: 0;
    }

.tl-toolbar__count[b-5fa1a9tb2v] {
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
}

.tl-page[b-5fa1a9tb2v]  .tl-state {
    padding-block: 48px;
}

.tl-skeleton[b-5fa1a9tb2v] {
    display: flex;
    flex-direction: column;
    padding: 8px 16px 16px;
}

.tl-skeleton__row[b-5fa1a9tb2v] {
    display: flex;
    align-items: center;
    gap: 16px;
    height: 40px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.tl-page[b-5fa1a9tb2v]  .tl-grid .mud-table-container {
    max-height: max(360px, calc(100dvh - 360px));
}

.tl-page[b-5fa1a9tb2v]  .tl-grid .mud-table-head .mud-table-cell {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
    background: var(--mud-palette-surface);
    white-space: nowrap;
}

.tl-page[b-5fa1a9tb2v]  .tl-grid .mud-table-cell {
    vertical-align: top;
    padding-block: 8px;
}

.tl-page[b-5fa1a9tb2v]  .tl-grid__nowrap {
    width: 1%;
    white-space: nowrap;
}

.tl-grid__time[b-5fa1a9tb2v] {
    font-size: 0.8125rem;
}

.tl-grid__key[b-5fa1a9tb2v] {
    display: block;
    max-width: 320px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.8125rem;
}

.tl-grid__stack[b-5fa1a9tb2v] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.tl-grid__secondary[b-5fa1a9tb2v] {
    max-width: 240px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

.tl-page[b-5fa1a9tb2v]  .tl-grid__value-cell {
    width: 34%;
}

/* Values keep their own direction (dir=auto), so Arabic reads right-to-left in an English page. */
.tl-grid__value[b-5fa1a9tb2v] {
    display: block;
    max-width: 480px;
    white-space: pre-wrap;
    word-break: break-word;
    unicode-bidi: plaintext;
    line-height: 1.45;
}

.tl-pill[b-5fa1a9tb2v] {
    display: inline-flex;
    align-items: center;
    height: 22px;
    padding: 0 8px;
    border-radius: 999px;
    border: 1px solid var(--mud-palette-lines-default);
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
}

.tl-pager[b-5fa1a9tb2v] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    padding: 8px 16px;
    border-top: 1px solid var(--mud-palette-lines-default);
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
}

.tl-pager__size[b-5fa1a9tb2v] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.tl-page[b-5fa1a9tb2v]  .tl-pager__select {
    width: 84px;
}

    .tl-page[b-5fa1a9tb2v]  .tl-pager__select .mud-input-control {
        margin: 0;
    }

.tl-pager__range[b-5fa1a9tb2v] {
    margin-inline-start: auto;
}

.tl-pager__nav[b-5fa1a9tb2v] {
    display: flex;
    align-items: center;
    gap: 2px;
}

.tl-pager__page[b-5fa1a9tb2v] {
    padding-inline: 8px;
    color: var(--mud-palette-text-primary);
}

@media (max-width: 960px) {
    .tl-page[b-5fa1a9tb2v]  .tl-toolbar__search,
    .tl-page[b-5fa1a9tb2v]  .tl-toolbar__filter {
        flex: 1 1 100%;
        width: 100%;
        max-width: none;
    }

    .tl-pager__range[b-5fa1a9tb2v] {
        margin-inline-start: 0;
    }
}
/* /Features/TranslationFiles/Pages/TranslationFilesIndex.razor.rz.scp.css */
/* TranslationFilesIndex - one panel: quick filters, a toolbar row, then a key grid with English and Arabic side by
   side. Surfaces come from the design kit; this file only lays things out. */

.trn-page[b-qq8w7b7uac] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* Toolbar: search takes the free width, the module filter stays compact, actions sit at the end. */
.trn-page[b-qq8w7b7uac]  .trn-toolbar {
    padding: 12px 16px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.trn-page[b-qq8w7b7uac]  .trn-toolbar__search {
    flex: 1 1 320px;
    min-width: 260px;
    max-width: 520px;
}

.trn-page[b-qq8w7b7uac]  .trn-toolbar__filter {
    flex: 0 0 200px;
    width: 200px;
}

    .trn-page[b-qq8w7b7uac]  .trn-toolbar__search .mud-input-control,
    .trn-page[b-qq8w7b7uac]  .trn-toolbar__filter .mud-input-control {
        margin: 0;
    }

.trn-page[b-qq8w7b7uac]  .trn-state {
    padding-block: 48px;
}

/* First load: skeleton rows in the grid's shape, not a spinner. */
.trn-skeleton[b-qq8w7b7uac] {
    display: flex;
    flex-direction: column;
    padding: 8px 16px 16px;
}

.trn-skeleton__row[b-qq8w7b7uac] {
    display: flex;
    align-items: center;
    gap: 16px;
    height: 40px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

/* Grid: the rows scroll under a sticky header and the pager stays in view. */
.trn-page[b-qq8w7b7uac]  .trn-grid .mud-table-container {
    max-height: max(360px, calc(100dvh - 400px));
}

.trn-page[b-qq8w7b7uac]  .trn-grid .mud-table-head .mud-table-cell {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
    background: var(--mud-palette-surface);
    white-space: nowrap;
}

.trn-page[b-qq8w7b7uac]  .trn-grid .mud-table-cell {
    vertical-align: top;
    padding-block: 10px;
}

.trn-page[b-qq8w7b7uac]  .trn-grid__key {
    width: 24%;
    min-width: 200px;
}

.trn-grid__key-text[b-qq8w7b7uac] {
    display: block;
    max-width: 340px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.8125rem;
}

.trn-page[b-qq8w7b7uac]  .trn-grid__module {
    width: 1%;
    white-space: nowrap;
}

/* The two language columns share the remaining width evenly so values line up for comparison. */
.trn-page[b-qq8w7b7uac]  .trn-grid__culture {
    width: 30%;
    min-width: 220px;
}

/* A hairline between the two languages keeps the side-by-side reading clear. */
.trn-page[b-qq8w7b7uac]  .trn-grid__culture + .trn-grid__culture {
    box-shadow: inset 1px 0 0 var(--mud-palette-lines-default);
}

.trn-page[b-qq8w7b7uac]  .trn-grid__actions {
    width: 1%;
    white-space: nowrap;
    text-align: end;
}

.trn-page[b-qq8w7b7uac]  .mud-table-cell.trn-grid__actions {
    background-color: var(--mud-palette-surface);
    box-shadow: inset 1px 0 0 var(--mud-palette-lines-default);
}

.trn-grid__row-actions[b-qq8w7b7uac] {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
}

.trn-page[b-qq8w7b7uac]  .trn-grid__input .mud-input-control {
    margin: 0;
}

/* The row being edited or added carries a light primary tint across its full width. */
.trn-page[b-qq8w7b7uac]  .trn-grid__row--editing > .mud-table-cell,
.trn-page[b-qq8w7b7uac]  .trn-grid__row--editing > .mud-table-cell.trn-grid__actions {
    background-color: color-mix(in srgb, var(--mud-palette-primary) 7%, var(--mud-palette-surface));
}

.trn-page[b-qq8w7b7uac]  .trn-grid__row:hover > .mud-table-cell.trn-grid__actions {
    background-image: linear-gradient(var(--mud-palette-table-hover), var(--mud-palette-table-hover));
}

.trn-pill[b-qq8w7b7uac] {
    display: inline-flex;
    align-items: center;
    height: 22px;
    padding: 0 8px;
    border-radius: 999px;
    border: 1px solid var(--mud-palette-lines-default);
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
}

/* Pager: rows-per-page at the start, the range in the middle, navigation at the end. */
.trn-pager[b-qq8w7b7uac] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    padding: 8px 16px;
    border-top: 1px solid var(--mud-palette-lines-default);
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
}

.trn-pager__size[b-qq8w7b7uac] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.trn-page[b-qq8w7b7uac]  .trn-pager__select {
    width: 84px;
}

    .trn-page[b-qq8w7b7uac]  .trn-pager__select .mud-input-control {
        margin: 0;
    }

.trn-pager__range[b-qq8w7b7uac] {
    margin-inline-start: auto;
}

.trn-pager__nav[b-qq8w7b7uac] {
    display: flex;
    align-items: center;
    gap: 2px;
}

.trn-pager__page[b-qq8w7b7uac] {
    padding-inline: 8px;
    color: var(--mud-palette-text-primary);
}

@media (max-width: 960px) {
    .trn-page[b-qq8w7b7uac]  .trn-toolbar__search,
    .trn-page[b-qq8w7b7uac]  .trn-toolbar__filter {
        flex: 1 1 100%;
        width: 100%;
        max-width: none;
    }

    .trn-pager__range[b-qq8w7b7uac] {
        margin-inline-start: 0;
    }
}
/* /Layout/AdminSideNav.razor.rz.scp.css */
/* ── Root panel ──────────────────────────────────────────────────── */
.side-nav[b-lycr4twcfo] {
    width: 100%;
    height: 100%;
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    padding: 15px 20px;
    overflow: hidden;
    transition: background-color 0.2s ease;
}

.side-nav--light[b-lycr4twcfo] {
    background-color: #FFFFFF;
    box-shadow: 0 2px 12px rgba(16, 86, 106, 0.08);
}
.side-nav--dark[b-lycr4twcfo] {
    background-color: #2C323C;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.30);
}

/* ── Icon-only state (collapsed + not hovering) ──────────────────── */
.side-nav--icon-only[b-lycr4twcfo] {
    padding: 15px 8px;
}

/* ── Hover overlay: floats over content, does not push layout ────── */
.side-nav--hovering[b-lycr4twcfo] {
    position: absolute;
    top: 0;
    width: 250px;
    padding: 15px 20px;
    overflow: hidden;
    border-radius: 16px;
    z-index: 500;
}

.side-nav--hovering:not(.side-nav--rtl)[b-lycr4twcfo] { left: 0; }
.side-nav--hovering.side-nav--rtl[b-lycr4twcfo]       { right: 0; }

.side-nav--light.side-nav--hovering[b-lycr4twcfo] { box-shadow: 0 8px 40px rgba(16, 86, 106, 0.18); }
.side-nav--dark.side-nav--hovering[b-lycr4twcfo]  { box-shadow: 0 8px 40px rgba(0, 0, 0, 0.40);     }

/* ── Header ─────────────────────────────────────────────────────── */
.side-nav__header[b-lycr4twcfo] {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 8px 4px 16px;
    flex-shrink: 0;
}

.side-nav--icon-only .side-nav__header[b-lycr4twcfo] {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 8px 0 16px;
}

.side-nav__logo[b-lycr4twcfo] { display: flex; align-items: center; }
.side-nav__logo--icon[b-lycr4twcfo] { justify-content: center; opacity: 0.85; }

.side-nav__toggle-wrap[b-lycr4twcfo] {
    flex-shrink: 0;
    opacity: 0.50;
    transition: opacity 0.15s ease;
}
.side-nav__toggle-wrap:hover[b-lycr4twcfo] { opacity: 1; }
.side-nav--icon-only .side-nav__toggle-wrap[b-lycr4twcfo] { opacity: 0.85; }

/* ── Nav content area — NavMenu handles its own internal scrolling ── */
.side-nav__content[b-lycr4twcfo] {
    flex: 1;
    min-height: 0;
    overflow: hidden; /* NavMenu's .nav-menu scrolls internally */
    display: flex;
    flex-direction: column;
}


/* ── Section group ──────────────────────────────────────────────── */
.side-nav__section[b-lycr4twcfo] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 8px;
}

.side-nav--icon-only .side-nav__section + .side-nav__section[b-lycr4twcfo] {
    margin-top: 4px;
    padding-top: 8px;
}

.side-nav--light.side-nav--icon-only .side-nav__section + .side-nav__section[b-lycr4twcfo] {
    border-top: 1px solid rgba(16, 86, 106, 0.12);
}
.side-nav--dark.side-nav--icon-only .side-nav__section + .side-nav__section[b-lycr4twcfo] {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.side-nav__section-label[b-lycr4twcfo] {
    display: block;
    font-size: 0.67rem;
    font-weight: 600;
    letter-spacing: 0.07em;
    padding: 4px 12px;
    text-transform: uppercase;
}

.side-nav--light .side-nav__section-label[b-lycr4twcfo] { color: #10566AB2; }
.side-nav--dark  .side-nav__section-label[b-lycr4twcfo] { color: #FFFFFFB2; }

/* ── Nav item ────────────────────────────────────────────────────── */
.side-nav__item[b-lycr4twcfo] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border-radius: 10px;
    cursor: pointer;
    text-decoration: none !important;
    font-size: 0.875rem;
    font-weight: 400;
    transition: background-color 0.15s ease, color 0.15s ease;
    user-select: none;
}

.side-nav--light .side-nav__item[b-lycr4twcfo],
.side-nav--dark  .side-nav__item[b-lycr4twcfo] { color: var(--mud-palette-text-secondary); }

.side-nav__item:hover[b-lycr4twcfo],
.side-nav__item--active[b-lycr4twcfo] {
    background-color: var(--mud-palette-primary) !important;
    color: #fff !important;
    text-decoration: none !important;
}

.side-nav--icon-only .side-nav__item[b-lycr4twcfo] { justify-content: center; padding: 12px; gap: 0; }

.side-nav__item-icon[b-lycr4twcfo]  { flex-shrink: 0; font-size: 1.1rem; color: inherit; }
.side-nav__item-label[b-lycr4twcfo] { flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }


/* ════════════════════════════════════════════════════════════════════
   PROFILE BLOCK  — inline accordion, same width & material as sidebar
   ════════════════════════════════════════════════════════════════════ */

.side-nav__profile-block[b-lycr4twcfo] {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    border-radius: 12px;
    border: 1.5px solid transparent;
    transition: border-color 0.25s ease, background-color 0.25s ease;
    padding: 0 2px;
}

/* When open: primary-tinted border + very faint fill for depth */
.side-nav--light .side-nav__profile-block--open[b-lycr4twcfo] {
    border-color: color-mix(in srgb, var(--mud-palette-primary) 35%, transparent);
    background-color: color-mix(in srgb, var(--mud-palette-primary) 4%, transparent);
}

.side-nav--dark .side-nav__profile-block--open[b-lycr4twcfo] {
    border-color: color-mix(in srgb, var(--mud-palette-primary) 45%, transparent);
    background-color: color-mix(in srgb, var(--mud-palette-primary) 7%, transparent);
}

/* ── Top separator that visually anchors the profile section ──────── */
.side-nav__profile-block-sep[b-lycr4twcfo] {
    height: 1px;
    margin: 0 4px 4px;
    transition: background-color 0.2s ease, opacity 0.2s ease;
}

/* Hide the plain divider when the block already has a border */
.side-nav__profile-block--open .side-nav__profile-block-sep[b-lycr4twcfo] { opacity: 0; }

.side-nav--light .side-nav__profile-block-sep[b-lycr4twcfo] { background: rgba(16, 86, 106, 0.12); }
.side-nav--dark  .side-nav__profile-block-sep[b-lycr4twcfo] { background: rgba(255, 255, 255, 0.08); }

/* ── Accordion expand container ──────────────────────────────────── */
/* Uses the grid-template-rows trick to animate height: 0 → auto.     */
.side-nav__profile-expand[b-lycr4twcfo] {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.32s cubic-bezier(0.4, 0, 0.2, 1);
}

.side-nav__profile-block--open .side-nav__profile-expand[b-lycr4twcfo] {
    grid-template-rows: 1fr;
}

/* Inner div must have min-height: 0 for 0fr to truly collapse */
.side-nav__profile-expand-inner[b-lycr4twcfo] {
    overflow: hidden;
    min-height: 0;
}

/* Fade the content in/out alongside the height animation */
.side-nav__profile-expand-inner > *[b-lycr4twcfo] {
    opacity: 0;
    transform: translateY(4px);
    transition: opacity 0.22s ease 0s, transform 0.22s ease 0s;
}

.side-nav__profile-block--open .side-nav__profile-expand-inner > *[b-lycr4twcfo] {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.22s ease 0.08s, transform 0.22s ease 0.08s;
}

/* ── User info card (top of expanded area) ───────────────────────── */
.side-nav__profile-card[b-lycr4twcfo] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 4px 8px;
}

.side-nav--icon-only .side-nav__profile-card[b-lycr4twcfo] { padding: 10px 0 8px; justify-content: center; }

.side-nav__profile-card-avatar[b-lycr4twcfo] {
    position: relative;
    flex-shrink: 0;
}

[b-lycr4twcfo] .side-nav__profile-avatar {
    width: 38px !important;
    height: 38px !important;
    font-size: 0.875rem !important;
}

/* Soft glow ring around avatar */
.side-nav__profile-avatar-glow[b-lycr4twcfo] {
    position: absolute;
    inset: -3px;
    border-radius: 50%;
    border: 2px solid var(--mud-palette-primary);
    opacity: 0.30;
    pointer-events: none;
}

.side-nav__profile-card-text[b-lycr4twcfo] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.side-nav__profile-card-name[b-lycr4twcfo] {
    font-size: 0.8375rem;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.side-nav__profile-card-email[b-lycr4twcfo] {
    font-size: 0.70rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.side-nav__profile-card-role[b-lycr4twcfo] {
    display: inline-flex;
    align-items: center;
    padding: 1px 7px;
    border-radius: 100px;
    font-size: 0.62rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    margin-top: 2px;
    width: fit-content;
}

.side-nav--light .side-nav__profile-card-name[b-lycr4twcfo]  { color: var(--mud-palette-text-primary); }
.side-nav--light .side-nav__profile-card-email[b-lycr4twcfo] { color: var(--mud-palette-text-secondary); }
.side-nav--light .side-nav__profile-card-role[b-lycr4twcfo]  {
    background: color-mix(in srgb, var(--mud-palette-primary) 10%, transparent);
    color: var(--mud-palette-primary);
}

.side-nav--dark .side-nav__profile-card-name[b-lycr4twcfo]  { color: rgba(255, 255, 255, 0.90); }
.side-nav--dark .side-nav__profile-card-email[b-lycr4twcfo] { color: rgba(255, 255, 255, 0.42); }
.side-nav--dark .side-nav__profile-card-role[b-lycr4twcfo]  {
    background: color-mix(in srgb, var(--mud-palette-primary) 18%, transparent);
    color: color-mix(in srgb, var(--mud-palette-primary) 75%, white);
}

/* ── Separator inside the expanded area ─────────────────────────── */
.side-nav__profile-sep[b-lycr4twcfo] {
    height: 1px;
    margin: 6px 4px;
    transition: background-color 0.2s ease;
}
.side-nav__profile-sep--compact[b-lycr4twcfo] { margin: 4px 4px; }

.side-nav--light .side-nav__profile-sep[b-lycr4twcfo] { background: rgba(16, 86, 106, 0.10); }
.side-nav--dark  .side-nav__profile-sep[b-lycr4twcfo] { background: rgba(255, 255, 255, 0.07); }

/* ── Menu items container ────────────────────────────────────────── */
.side-nav__profile-items[b-lycr4twcfo] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding-bottom: 8px;
}

/* ── Individual menu item ────────────────────────────────────────── */
.side-nav__profile-item[b-lycr4twcfo] {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 10px 12px;
    border-radius: 9px;
    border: none;
    background: transparent;
    cursor: pointer;
    text-align: start;
    font-size: 0.8375rem;
    font-weight: 450;
    transition: background-color 0.13s ease, color 0.13s ease;
}

.side-nav--light .side-nav__profile-item[b-lycr4twcfo] { color: var(--mud-palette-text-primary); }
.side-nav--dark  .side-nav__profile-item[b-lycr4twcfo] { color: rgba(255, 255, 255, 0.80); }

.side-nav--light .side-nav__profile-item:hover[b-lycr4twcfo] { background-color: rgba(16, 86, 106, 0.07); }
.side-nav--dark  .side-nav__profile-item:hover[b-lycr4twcfo]  { background-color: rgba(255, 255, 255, 0.06); }

/* Icon box */
.side-nav__profile-item-icon[b-lycr4twcfo] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 7px;
    flex-shrink: 0;
    transition: background-color 0.13s ease, color 0.13s ease;
}

.side-nav--light .side-nav__profile-item-icon[b-lycr4twcfo] {
    background: rgba(16, 86, 106, 0.07);
    color: var(--mud-palette-primary);
}
.side-nav--dark .side-nav__profile-item-icon[b-lycr4twcfo] {
    background: rgba(255, 255, 255, 0.07);
    color: color-mix(in srgb, var(--mud-palette-primary) 80%, white);
}

.side-nav--light .side-nav__profile-item:hover .side-nav__profile-item-icon[b-lycr4twcfo] {
    background: var(--mud-palette-primary);
    color: #fff;
}
.side-nav--dark .side-nav__profile-item:hover .side-nav__profile-item-icon[b-lycr4twcfo] {
    background: var(--mud-palette-primary);
    color: #fff;
}

/* Label */
.side-nav__profile-item-label[b-lycr4twcfo] { flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Trailing chevron */
.side-nav__profile-item-arrow[b-lycr4twcfo] {
    flex-shrink: 0;
    opacity: 0;
    transition: opacity 0.13s ease;
}
.side-nav__profile-item:hover .side-nav__profile-item-arrow[b-lycr4twcfo] { opacity: 0.40; }

/* ── Danger item (logout) ─────────────────────────────────────────── */
.side-nav__profile-item--danger[b-lycr4twcfo] { color: #e53935 !important; }

.side-nav--light .side-nav__profile-item--danger:hover[b-lycr4twcfo] { background-color: rgba(229, 57, 53, 0.07) !important; }
.side-nav--dark  .side-nav__profile-item--danger:hover[b-lycr4twcfo] { background-color: rgba(229, 57, 53, 0.10) !important; }

.side-nav__profile-item-icon--danger[b-lycr4twcfo],
.side-nav--light .side-nav__profile-item-icon--danger[b-lycr4twcfo],
.side-nav--dark  .side-nav__profile-item-icon--danger[b-lycr4twcfo] {
    background: rgba(229, 57, 53, 0.09) !important;
    color: #e53935 !important;
}

.side-nav--light .side-nav__profile-item--danger:hover .side-nav__profile-item-icon--danger[b-lycr4twcfo],
.side-nav--dark  .side-nav__profile-item--danger:hover .side-nav__profile-item-icon--danger[b-lycr4twcfo] {
    background: #e53935 !important;
    color: #fff !important;
}

/* ── Icon-only strip (collapsed sidebar) ─────────────────────────── */
.side-nav__profile-icon-strip[b-lycr4twcfo] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 4px 0 8px;
}

.side-nav__profile-icon-btn[b-lycr4twcfo] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 9px;
    border: none;
    background: transparent;
    cursor: pointer;
    transition: background-color 0.13s ease, color 0.13s ease;
}

.side-nav--light .side-nav__profile-icon-btn[b-lycr4twcfo] {
    color: var(--mud-palette-text-secondary);
}
.side-nav--dark .side-nav__profile-icon-btn[b-lycr4twcfo] {
    color: rgba(255, 255, 255, 0.55);
}

.side-nav--light .side-nav__profile-icon-btn:hover[b-lycr4twcfo] { background: rgba(16, 86, 106, 0.09); color: var(--mud-palette-primary); }
.side-nav--dark  .side-nav__profile-icon-btn:hover[b-lycr4twcfo] { background: rgba(255, 255, 255, 0.08); color: rgba(255,255,255,0.90); }

.side-nav__profile-icon-btn--danger[b-lycr4twcfo] { color: #e53935 !important; }
.side-nav--light .side-nav__profile-icon-btn--danger:hover[b-lycr4twcfo] { background: rgba(229,57,53,0.09) !important; }
.side-nav--dark  .side-nav__profile-icon-btn--danger:hover[b-lycr4twcfo] { background: rgba(229,57,53,0.12) !important; }


/* ── User profile row (trigger) ──────────────────────────────────── */
.side-nav__user[b-lycr4twcfo] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border-radius: 10px;
    cursor: pointer;
    transition: background-color 0.15s ease;
    margin-top: 2px;
}

.side-nav--icon-only .side-nav__user[b-lycr4twcfo] { justify-content: center; gap: 0; }

.side-nav--light .side-nav__user:hover[b-lycr4twcfo] { background-color: rgba(16, 86, 106, 0.07); }
.side-nav--dark  .side-nav__user:hover[b-lycr4twcfo] { background-color: rgba(255, 255, 255, 0.07); }

.side-nav--light .side-nav__user--active[b-lycr4twcfo] { background-color: rgba(16, 86, 106, 0.10) !important; }
.side-nav--dark  .side-nav__user--active[b-lycr4twcfo] { background-color: rgba(255, 255, 255, 0.10) !important; }

.side-nav__user-text[b-lycr4twcfo] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.side-nav__user-name[b-lycr4twcfo] {
    font-size: 0.8125rem;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.side-nav__user-sub[b-lycr4twcfo] { font-size: 0.67rem; white-space: nowrap; }

.side-nav--light .side-nav__user-name[b-lycr4twcfo]    { color: var(--mud-palette-text-primary); }
.side-nav--light .side-nav__user-sub[b-lycr4twcfo]     { color: var(--mud-palette-text-secondary); }
.side-nav--light .side-nav__user-chevron[b-lycr4twcfo] { color: var(--mud-palette-text-secondary); }

.side-nav--dark .side-nav__user-name[b-lycr4twcfo]    { color: rgba(255, 255, 255, 0.87); }
.side-nav--dark .side-nav__user-sub[b-lycr4twcfo]     { color: rgba(255, 255, 255, 0.38); }
.side-nav--dark .side-nav__user-chevron[b-lycr4twcfo] { color: rgba(255, 255, 255, 0.35); }

.side-nav__user-chevron[b-lycr4twcfo] {
    flex-shrink: 0;
    transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.side-nav__user-chevron--open[b-lycr4twcfo] {
    transform: rotate(180deg);
}

[b-lycr4twcfo] .side-nav__user .mud-avatar {
    width: 30px;
    height: 30px;
    font-size: 0.75rem;
    flex-shrink: 0;
}
/* /Layout/AuthLayout.razor.rz.scp.css */
/* AuthLayout — two-panel "precision ops console" identity.
   This layout runs MudThemeProvider with the default (non-branded) palette, so the
   design tokens are used here as literal hex from DESIGN.md §2 rather than
   --mud-palette-* (which would resolve to MudBlazor defaults). Motion tokens from
   app.css :root are always available. */

.auth-shell[b-aeolg74ot9] {
    display: flex;
    width: 100%;
    min-height: 100vh;
}

/* ── Left: dark brand panel ─────────────────────────────────────── */
.auth-brand[b-aeolg74ot9] {
    flex: 1 1 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 48px;
    background: #0B1014;            /* --bg */
    border-right: 1px solid #243139; /* --border */
    position: relative;
    overflow: hidden;
}

.auth-brand__inner[b-aeolg74ot9] {
    position: relative;
    z-index: 1;
    max-width: 420px;
    text-align: center;
}

[b-aeolg74ot9] .auth-brand__logo {
    font-size: 3.5rem !important;
    color: #2FB6D9;                 /* --primary */
    margin-bottom: 24px;
}

.auth-brand__title[b-aeolg74ot9] {
    color: #E8EEF2;                 /* --ink */
    font-weight: 700 !important;
    letter-spacing: -0.02em;
    margin-bottom: 12px !important;
}

.auth-brand__subtitle[b-aeolg74ot9] {
    color: #A3B4BD;                 /* --ink-secondary */
    line-height: 1.55;
    margin: 0 auto;
    max-width: 340px;
}

.auth-brand__features[b-aeolg74ot9] {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 40px;
}

[b-aeolg74ot9] .auth-brand__feature-icon {
    color: #6E8290 !important;      /* --ink-faint */
    font-size: 1.75rem !important;
    transition: color var(--dur-fast) var(--ease-out);
}

[b-aeolg74ot9] .auth-brand__feature-icon:hover {
    color: #2FB6D9 !important;
}

/* ── Right: form content ────────────────────────────────────────── */
.auth-content[b-aeolg74ot9] {
    flex: 1 1 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 48px 24px;
    background: #F4F6F7;            /* light --bg (form surface reads on light) */
}

/* ── Responsive: stack, keep brand as a compact header ──────────── */
@media (max-width: 960px) {
    .auth-shell[b-aeolg74ot9] {
        flex-direction: column;
    }

    .auth-brand[b-aeolg74ot9] {
        flex: 0 0 auto;
        min-height: 280px;
        border-right: none;
        border-bottom: 1px solid #243139;
    }

    .auth-brand__features[b-aeolg74ot9] {
        margin-top: 24px;
    }
}
/* /Layout/BreadcrumbBar.razor.rz.scp.css */
/* BreadcrumbBar layout is defined in app.css (.bb-*) — global, always reliable.
   Only ::deep overrides for MudBlazor internals live here. */

/* Strip underline from MudLink inside the trail */
[b-3s1bagiykw] .bb-trail .mud-link,
[b-3s1bagiykw] .bb-trail .mud-typography {
    text-decoration: none !important;
    font-size: 0.8125rem !important;
}
/* /Layout/CommandPalette.razor.rz.scp.css */
/* ── Backdrop overlay ────────────────────────────────────────────── */
.cmd-overlay[b-e0a9goe0om] {
    position: fixed;
    inset: 0;
    background: var(--mud-palette-overlay-dark);
    z-index: var(--z-modal);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 72px;
    padding-left: 16px;
    padding-right: 16px;
}

/* ── Dialog card ──────────────────────────────────────────────────── */
/* Command palette is keyboard-initiated (⌘K) — it opens instantly, no entrance
   animation (DESIGN.md §5). */
.cmd-dialog[b-e0a9goe0om] {
    background: var(--mud-palette-surface);
    border-radius: var(--radius-lg);
    box-shadow: 0 4px 16px rgb(0 0 0 / 0.35), 0 0 0 1px var(--mud-palette-lines-default);
    width: 100%;
    max-width: 580px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* ── Search row ───────────────────────────────────────────────────── */
.cmd-search[b-e0a9goe0om] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 16px;
    border-bottom: 1px solid var(--mud-palette-divider);
}

[b-e0a9goe0om] .cmd-search__icon {
    color: var(--mud-palette-text-secondary);
    flex-shrink: 0;
    font-size: 20px;
}

.cmd-search__input[b-e0a9goe0om] {
    flex: 1;
    border: none;
    outline: none;
    background: transparent;
    color: var(--mud-palette-text-primary);
    font-size: 15px;
    font-family: inherit;
    caret-color: var(--mud-palette-primary);
}

.cmd-search__input[b-e0a9goe0om]::placeholder {
    color: var(--mud-palette-text-disabled);
}

.cmd-search__clear[b-e0a9goe0om] {
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 4px;
    border-radius: 6px;
    color: var(--mud-palette-text-secondary);
    flex-shrink: 0;
    transition: background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
}

.cmd-search__clear:hover[b-e0a9goe0om] {
    background: var(--mud-palette-action-default-hover);
    color: var(--mud-palette-text-primary);
}

.cmd-search__hint[b-e0a9goe0om] {
    font-size: 11px;
    padding: 2px 7px;
    border-radius: 5px;
    background: var(--mud-palette-action-disabled-background);
    color: var(--mud-palette-text-disabled);
    font-weight: 500;
    letter-spacing: 0.03em;
    flex-shrink: 0;
    border: 1px solid var(--mud-palette-divider);
}

/* ── Results list ────────────────────────────────────────────────── */
.cmd-results[b-e0a9goe0om] {
    flex: 1;
    overflow-y: auto;
    padding: 8px;
    max-height: 380px;
}

/* ── Individual result item (dense rows) ─────────────────────────── */
.cmd-item[b-e0a9goe0om] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 6px 10px;
    border-radius: var(--radius-md);
    cursor: pointer;
    transition: background-color var(--dur-fast) var(--ease-out);
    user-select: none;
}

.cmd-item--active[b-e0a9goe0om] {
    background-color: color-mix(in srgb, var(--mud-palette-primary) 12%, transparent);
}

/* Selected row emphasises its label by weight, not colour alone. */
.cmd-item--active .cmd-item__label[b-e0a9goe0om] {
    font-weight: 600;
}

.cmd-item__icon[b-e0a9goe0om] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: var(--radius-sm);
    flex-shrink: 0;
    background: color-mix(in srgb, var(--mud-palette-primary) 10%, transparent);
    color: var(--mud-palette-primary);
    transition: background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
}

.cmd-item--active .cmd-item__icon[b-e0a9goe0om] {
    background: var(--mud-palette-primary);
    color: var(--mud-palette-primary-text);
}

.cmd-item__body[b-e0a9goe0om] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.cmd-item__label[b-e0a9goe0om] {
    font-size: 14px;
    font-weight: 500;
    color: var(--mud-palette-text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cmd-item__group[b-e0a9goe0om] {
    font-size: 12px;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

[b-e0a9goe0om] .cmd-item__arrow {
    flex-shrink: 0;
    opacity: 0;
    color: var(--mud-palette-primary);
    transition: opacity var(--dur-fast) var(--ease-out);
    font-size: 12px;
}

.cmd-item--active[b-e0a9goe0om]  .cmd-item__arrow {
    opacity: 1;
}

/* ── Empty state ─────────────────────────────────────────────────── */
.cmd-empty[b-e0a9goe0om] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 36px 16px;
    color: var(--mud-palette-text-disabled);
    font-size: 14px;
    text-align: center;
}

/* ── Footer ──────────────────────────────────────────────────────── */
.cmd-footer[b-e0a9goe0om] {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 8px 16px;
    border-top: 1px solid var(--mud-palette-divider);
    background: color-mix(in srgb, var(--mud-palette-background) 60%, transparent);
}

.cmd-footer__hint[b-e0a9goe0om] {
    display: flex;
    align-items: center;
    gap: 3px;
    font-size: 11px;
    color: var(--mud-palette-text-disabled);
}

.cmd-footer__hint kbd[b-e0a9goe0om] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 1px 5px;
    border-radius: 4px;
    background: var(--mud-palette-action-disabled-background);
    border: 1px solid var(--mud-palette-divider);
    font-size: 10px;
    font-family: inherit;
    color: var(--mud-palette-text-secondary);
    min-width: 18px;
}
/* /Layout/MainLayout.razor.rz.scp.css */
/* ── Main content ───────────────────────────────────────────────── */
.main-content[b-agz2goxm03] {
    margin-top: 0 !important;
}

/* ── Global loading bar (fixed, above all content) ──────────────── */
.loading-indicator[b-agz2goxm03] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: var(--z-backdrop);
    height: 4px;
    background-color: transparent;
}

.loading-progress[b-agz2goxm03] {
    border-radius: 0 !important;
}

/* ── Loading blur overlay ───────────────────────────────────────── */
.loading-blur[b-agz2goxm03] {
    transition: filter var(--dur-slow) var(--ease-out);
    filter: blur(1px);
    pointer-events: none;
}

.mud-theme-dark .loading-blur[b-agz2goxm03] {
    filter: blur(1px) brightness(0.8);
}

/* ── Two-column layout: sidebar + content ───────────────────────── */
.layout-body[b-agz2goxm03] {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    min-height: calc(100vh - 32px);
}

/* Sidebar column */
.layout-sidebar[b-agz2goxm03] {
    flex-shrink: 0;
    width: 250px;
    position: sticky;
    top: 16px;
    height: calc(100vh - 32px);
    overflow: visible;          /* must be visible so hover-expand can float outside the column */
    align-self: flex-start;
    transition: width var(--dur-base) var(--ease-in-out);
    z-index: 10;                /* establishes stacking context above .layout-content */
}

.layout-sidebar--collapsed[b-agz2goxm03] {
    width: 64px;
}

/* Content column */
.layout-content[b-agz2goxm03] {
    flex: 1;
    min-width: 0;
}

/* ── Mobile: hide sidebar ───────────────────────────────────────── */
@media (max-width: 768px) {
    .layout-sidebar[b-agz2goxm03] {
        display: none;
    }
}
/* /Layout/Navigation/Components/DetachedSideNav.razor.rz.scp.css */
/* ── Root panel ──────────────────────────────────────────────────── */
.side-nav[b-yle2cytn9n] {
    width: 100%;
    height: 100%;
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    padding: 15px 20px;
    overflow: hidden;
    transition: background-color 0.2s ease;
}

.side-nav--light[b-yle2cytn9n] {
    background-color: #FFFFFF;
}

.side-nav--dark[b-yle2cytn9n] {
    background-color: var(--mud-palette-drawer-background, #0E1519);
}

/* ── Icon-only state (collapsed + not hovering) ──────────────────── */
.side-nav--icon-only[b-yle2cytn9n] {
    padding: 15px 8px;
}

/* ── Hover overlay: floats over content, does not push layout ────── */
.side-nav--hovering[b-yle2cytn9n] {
    position: absolute;
    top: 0;
    width: 250px;
    padding: 15px 20px;
    overflow: hidden;
    border-radius: 16px;
    z-index: 500;
}

.side-nav--hovering[b-yle2cytn9n] {
    left: 0;
}

.side-nav--light.side-nav--hovering[b-yle2cytn9n] {
    box-shadow: 0 8px 40px rgba(16, 86, 106, 0.18);
}

.side-nav--dark.side-nav--hovering[b-yle2cytn9n] {
    box-shadow: 0 8px 40px rgba(0, 0, 0, 0.40);
}

/* ── Header ─────────────────────────────────────────────────────── */
.side-nav__header[b-yle2cytn9n] {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 8px 4px 16px;
    flex-shrink: 0;
}

.side-nav--icon-only .side-nav__header[b-yle2cytn9n] {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 8px 0 16px;
}

.side-nav__logo[b-yle2cytn9n] {
    display: flex;
    align-items: center;
}

.side-nav__logo--icon[b-yle2cytn9n] {
    justify-content: center;
    opacity: 0.85;
}

.side-nav__toggle-wrap[b-yle2cytn9n] {
    flex-shrink: 0;
    opacity: 0.50;
    transition: opacity 0.15s ease;
}

    .side-nav__toggle-wrap:hover[b-yle2cytn9n] {
        opacity: 1;
    }

.side-nav--icon-only .side-nav__toggle-wrap[b-yle2cytn9n] {
    opacity: 0.85;
}

/* ── Nav content scroll area ────────────────────────────────────── */
.side-nav__content[b-yle2cytn9n] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: thin;
}

.side-nav--light .side-nav__content[b-yle2cytn9n] {
    scrollbar-color: rgba(16, 86, 106, 0.15) transparent;
}

.side-nav--dark .side-nav__content[b-yle2cytn9n] {
    scrollbar-color: rgba(255, 255, 255, 0.15) transparent;
}

.side-nav__content[b-yle2cytn9n]::-webkit-scrollbar {
    width: 4px;
}

.side-nav__content[b-yle2cytn9n]::-webkit-scrollbar-track {
    background: transparent;
}

.side-nav--light .side-nav__content[b-yle2cytn9n]::-webkit-scrollbar-thumb {
    background: rgba(16, 86, 106, 0.15);
    border-radius: 2px;
}

.side-nav--dark .side-nav__content[b-yle2cytn9n]::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.15);
    border-radius: 2px;
}

/* ── Search field ───────────────────────────────────────────────── */
.side-nav__search[b-yle2cytn9n] {
    padding: 0 4px 14px;
}

.side-nav__search-wrap[b-yle2cytn9n] {
    position: relative;
    display: flex;
    align-items: center;
    border-radius: 10px;
    border: 1.5px solid transparent;
    transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
}

.side-nav--light .side-nav__search-wrap[b-yle2cytn9n] {
    background: rgba(0, 0, 0, 0.04);
    border-color: rgba(0, 0, 0, 0.07);
}

.side-nav--dark .side-nav__search-wrap[b-yle2cytn9n] {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.08);
}

.side-nav__search-wrap:focus-within[b-yle2cytn9n] {
    border-color: color-mix(in srgb, var(--mud-palette-primary) 55%, transparent);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--mud-palette-primary) 22%, transparent);
}

.side-nav--light .side-nav__search-wrap:focus-within[b-yle2cytn9n] {
    background: #fff;
}

.side-nav--dark .side-nav__search-wrap:focus-within[b-yle2cytn9n] {
    background: rgba(255, 255, 255, 0.07);
}

.side-nav__search-icon[b-yle2cytn9n] {
    width: 15px;
    height: 15px;
    flex-shrink: 0;
    margin-left: 10px;
    pointer-events: none;
    transition: color 0.18s ease;
}

.side-nav--light .side-nav__search-icon[b-yle2cytn9n] {
    color: rgba(0, 0, 0, 0.32);
}

.side-nav--dark .side-nav__search-icon[b-yle2cytn9n] {
    color: rgba(255, 255, 255, 0.30);
}

.side-nav__search-wrap:focus-within .side-nav__search-icon[b-yle2cytn9n] {
    color: rgba(26, 144, 176, 0.8);
}

.side-nav__search-input[b-yle2cytn9n] {
    flex: 1;
    border: none;
    outline: none;
    background: transparent;
    padding: 7px 8px;
    font-family: inherit;
    font-size: 0.8375rem;
    line-height: 1.4;
    min-width: 0;
}

.side-nav--light .side-nav__search-input[b-yle2cytn9n] {
    color: var(--mud-palette-text-primary);
}

.side-nav--dark .side-nav__search-input[b-yle2cytn9n] {
    color: rgba(255, 255, 255, 0.88);
}

.side-nav__search-input[b-yle2cytn9n]::placeholder {
    transition: color 0.15s ease;
}

.side-nav--light .side-nav__search-input[b-yle2cytn9n]::placeholder {
    color: rgba(0, 0, 0, 0.3);
}

.side-nav--dark .side-nav__search-input[b-yle2cytn9n]::placeholder {
    color: rgba(255, 255, 255, 0.25);
}

.side-nav__search-clear[b-yle2cytn9n] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    margin-right: 6px;
    flex-shrink: 0;
    border: none;
    background: transparent;
    border-radius: 50%;
    cursor: pointer;
    padding: 0;
    transition: background 0.15s ease, color 0.15s ease;
}

    .side-nav__search-clear svg[b-yle2cytn9n] {
        width: 12px;
        height: 12px;
    }

.side-nav--light .side-nav__search-clear[b-yle2cytn9n] {
    color: rgba(0, 0, 0, 0.35);
}

.side-nav--dark .side-nav__search-clear[b-yle2cytn9n] {
    color: rgba(255, 255, 255, 0.30);
}

.side-nav--light .side-nav__search-clear:hover[b-yle2cytn9n] {
    background: rgba(0, 0, 0, 0.07);
    color: rgba(0, 0, 0, 0.65);
}

.side-nav--dark .side-nav__search-clear:hover[b-yle2cytn9n] {
    background: rgba(255, 255, 255, 0.10);
    color: rgba(255, 255, 255, 0.70);
}

/* ── Section group (legacy — kept for compatibility) ──────────────── */
.side-nav__section[b-yle2cytn9n] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-bottom: 4px;
    padding-top: 8px;
}

.side-nav--icon-only .side-nav__section + .side-nav__section[b-yle2cytn9n] {
    margin-top: 4px;
    padding-top: 8px;
}

.side-nav--light.side-nav--icon-only .side-nav__section + .side-nav__section[b-yle2cytn9n] {
    border-top: 1px solid rgba(16, 86, 106, 0.12);
}

.side-nav--dark.side-nav--icon-only .side-nav__section + .side-nav__section[b-yle2cytn9n] {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.side-nav__section-label[b-yle2cytn9n] {
    display: block;
    font-size: 0.67rem;
    font-weight: 600;
    letter-spacing: 0.07em;
    padding: 4px 12px 6px;
    text-transform: uppercase;
}

.side-nav--light .side-nav__section-label[b-yle2cytn9n] {
    color: var(--mud-palette-primary);
}

.side-nav--dark .side-nav__section-label[b-yle2cytn9n] {
    color: var(--mud-palette-text-secondary);
}

/* ── MudTooltip wrapper: must be block + full width so the anchor fills the section ── */
[b-yle2cytn9n] .mud-tooltip-root {
    display: block !important;
    width: 100% !important;
}

/* ── Nav item ────────────────────────────────────────────────────── */
.side-nav__item[b-yle2cytn9n] {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 9px 14px;
    border-radius: var(--radius-md);
    cursor: pointer;
    text-decoration: none !important;
    font-size: 0.875rem;
    font-weight: 400;
    transition: background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
    user-select: none;
    box-sizing: border-box;
}

.side-nav--light .side-nav__item[b-yle2cytn9n],
.side-nav--dark .side-nav__item[b-yle2cytn9n] {
    color: var(--mud-palette-text-secondary);
}

/* Hover: quiet neutral tint, not a full teal fill (DESIGN.md §7). */
.side-nav__item:hover[b-yle2cytn9n] {
    background-color: var(--mud-palette-action-default-hover) !important;
    color: var(--mud-palette-text-primary) !important;
    text-decoration: none !important;
}

/* Active: teal text + tinted background + 3px teal indicator. */
.side-nav__item--active[b-yle2cytn9n],
.side-nav__item--active:hover[b-yle2cytn9n] {
    background-color: color-mix(in srgb, var(--mud-palette-primary) 12%, transparent) !important;
    color: var(--mud-palette-primary) !important;
    font-weight: 500;
    text-decoration: none !important;
}

.side-nav__item--active[b-yle2cytn9n]::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 60%;
    border-radius: 0 2px 2px 0;
    background-color: var(--mud-palette-primary);
}

/* Collapsed rail: no room for a stripe — centre the tinted teal indicator. */
.side-nav--icon-only .side-nav__item--active[b-yle2cytn9n]::before {
    display: none;
}

.side-nav--icon-only .side-nav__item[b-yle2cytn9n] {
    justify-content: center;
    padding: 10px;
    gap: 0;
    width: 100%;
}

.side-nav__item-icon[b-yle2cytn9n] {
    flex-shrink: 0;
    font-size: 1.1rem;
    color: inherit;
}

.side-nav__item-label[b-yle2cytn9n] {
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}


/* ── Group container ─────────────────────────────────────────────── */
.side-nav__group[b-yle2cytn9n] {
    display: flex;
    flex-direction: column;
    margin-bottom: 2px;
}

/* ── Group header (the clickable row) ───────────────────────────── */
.side-nav__group-header[b-yle2cytn9n] {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 7px 10px;
    border-radius: 8px;
    border: none;
    background: transparent;
    cursor: pointer;
    text-align: left;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    transition: background 0.15s ease, color 0.15s ease;
    box-sizing: border-box;
}
/* colors */
.side-nav--light .side-nav__group-header[b-yle2cytn9n] {
    color: rgba(16,86,106,0.6);
}

.side-nav--dark .side-nav__group-header[b-yle2cytn9n] {
    color: rgba(255,255,255,0.45);
}

.side-nav--light .side-nav__group-header:hover[b-yle2cytn9n] {
    background: rgba(16,86,106,0.06);
    color: rgba(16,86,106,0.85);
}

.side-nav--dark .side-nav__group-header:hover[b-yle2cytn9n] {
    background: rgba(255,255,255,0.05);
    color: rgba(255,255,255,0.75);
}
/* has-active: group is collapsed but contains the active page */
.side-nav--light .side-nav__group-header--has-active[b-yle2cytn9n] {
    color: var(--mud-palette-primary) !important;
}

.side-nav--dark .side-nav__group-header--has-active[b-yle2cytn9n] {
    color: color-mix(in srgb, var(--mud-palette-primary) 80%, white) !important;
}

.side-nav__group-header-icon[b-yle2cytn9n] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.side-nav__group-header-label[b-yle2cytn9n] {
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Chevron: span wrapper owns the transition — guaranteed animation */
.side-nav__group-chevron[b-yle2cytn9n] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    opacity: 0.45;
    transform: rotate(0deg);
    transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.18s ease;
    will-change: transform;
}

.side-nav__group-chevron--open[b-yle2cytn9n] {
    transform: rotate(90deg);
    opacity: 0.82;
}

/* RTL: the ChevronRight glyph must point left (toward the labels on the right). */
[dir="rtl"] .side-nav__group-chevron[b-yle2cytn9n] {
    transform: rotate(180deg);
}

[dir="rtl"] .side-nav__group-chevron--open[b-yle2cytn9n] {
    transform: rotate(90deg);
}

/* ── Animated body ───────────────────────────────────────────────── */
.side-nav__group-body[b-yle2cytn9n] {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.25s cubic-bezier(0.4,0,0.2,1);
}

.side-nav__group-body--open[b-yle2cytn9n] {
    grid-template-rows: 1fr;
}

.side-nav__group-body-inner[b-yle2cytn9n] {
    overflow: hidden;
    min-height: 0;
}

/* ── Standalone item (not inside a group) ────────────────────────── */
.side-nav__item--standalone[b-yle2cytn9n] {
    margin-bottom: 10px;
}

/* ── Child item (indented) ──────────────────────────────────────── */
.side-nav__item--child[b-yle2cytn9n] {
    padding-left: 32px !important;
    font-size: 0.8375rem;
}

/* ── Icon-only group button ─────────────────────────────────────── */
.side-nav__group-icon-only[b-yle2cytn9n] {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    cursor: pointer;
    margin: 0 auto 2px;
    transition: background 0.15s ease, color 0.15s ease;
}

.side-nav--light .side-nav__group-icon-only[b-yle2cytn9n] {
    color: rgba(16,86,106,0.55);
}

.side-nav--dark .side-nav__group-icon-only[b-yle2cytn9n] {
    color: rgba(255,255,255,0.45);
}

.side-nav--light .side-nav__group-icon-only:hover[b-yle2cytn9n] {
    background: rgba(16,86,106,0.08);
    color: rgba(16,86,106,0.85);
}

.side-nav--dark .side-nav__group-icon-only:hover[b-yle2cytn9n] {
    background: rgba(255,255,255,0.06);
    color: rgba(255,255,255,0.80);
}

.side-nav__group-icon-only--active[b-yle2cytn9n] {
    background: var(--mud-palette-primary) !important;
    color: var(--mud-palette-primary-text) !important;
}

/* Dot: shown when group is expanded (open indicator) */
.side-nav__group-dot[b-yle2cytn9n] {
    position: absolute;
    bottom: 5px;
    right: 5px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--mud-palette-primary);
    box-shadow: 0 0 0 1.5px var(--mud-palette-surface);
    pointer-events: none;
}
/* On active group, dot is white */
.side-nav__group-icon-only--active .side-nav__group-dot[b-yle2cytn9n] {
    background: rgba(255,255,255,0.9);
}


/* ════════════════════════════════════════════════════════════════════
   PROFILE BLOCK  — inline accordion, same width & material as sidebar
   ════════════════════════════════════════════════════════════════════ */

.side-nav__profile-block[b-yle2cytn9n] {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    border-radius: 12px;
    border: 1.5px solid transparent;
    transition: border-color 0.25s ease, background-color 0.25s ease;
    padding: 0 2px;
}

/* When open: primary-tinted border + very faint fill for depth */
.side-nav--light .side-nav__profile-block--open[b-yle2cytn9n] {
    border-color: color-mix(in srgb, var(--mud-palette-primary) 35%, transparent);
    background-color: color-mix(in srgb, var(--mud-palette-primary) 4%, transparent);
}

.side-nav--dark .side-nav__profile-block--open[b-yle2cytn9n] {
    border-color: color-mix(in srgb, var(--mud-palette-primary) 45%, transparent);
    background-color: color-mix(in srgb, var(--mud-palette-primary) 7%, transparent);
}

/* ── Top separator that visually anchors the profile section ──────── */
.side-nav__profile-block-sep[b-yle2cytn9n] {
    height: 1px;
    margin: 0 4px 4px;
    transition: background-color 0.2s ease, opacity 0.2s ease;
}

/* Hide the plain divider when the block already has a border */
.side-nav__profile-block--open .side-nav__profile-block-sep[b-yle2cytn9n] {
    opacity: 0;
}

.side-nav--light .side-nav__profile-block-sep[b-yle2cytn9n] {
    background: rgba(16, 86, 106, 0.12);
}

.side-nav--dark .side-nav__profile-block-sep[b-yle2cytn9n] {
    background: rgba(255, 255, 255, 0.08);
}

/* ── Accordion expand container ──────────────────────────────────── */
/* Uses the grid-template-rows trick to animate height: 0 → auto.     */
.side-nav__profile-expand[b-yle2cytn9n] {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.32s cubic-bezier(0.4, 0, 0.2, 1);
}

.side-nav__profile-block--open .side-nav__profile-expand[b-yle2cytn9n] {
    grid-template-rows: 1fr;
}

/* Inner div must have min-height: 0 for 0fr to truly collapse */
.side-nav__profile-expand-inner[b-yle2cytn9n] {
    overflow: hidden;
    min-height: 0;
}

    /* Fade the content in/out alongside the height animation */
    .side-nav__profile-expand-inner > *[b-yle2cytn9n] {
        opacity: 0;
        transform: translateY(4px);
        transition: opacity 0.22s ease 0s, transform 0.22s ease 0s;
    }

.side-nav__profile-block--open .side-nav__profile-expand-inner > *[b-yle2cytn9n] {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.22s ease 0.08s, transform 0.22s ease 0.08s;
}

/* ── User info card (top of expanded area) ───────────────────────── */
.side-nav__profile-card[b-yle2cytn9n] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 4px 8px;
}

.side-nav--icon-only .side-nav__profile-card[b-yle2cytn9n] {
    padding: 10px 0 8px;
    justify-content: center;
}

.side-nav__profile-card-avatar[b-yle2cytn9n] {
    position: relative;
    flex-shrink: 0;
}

[b-yle2cytn9n] .side-nav__profile-avatar {
    width: 38px !important;
    height: 38px !important;
    font-size: 0.875rem !important;
}

/* Soft glow ring around avatar */
.side-nav__profile-avatar-glow[b-yle2cytn9n] {
    position: absolute;
    inset: -3px;
    border-radius: 50%;
    border: 2px solid var(--mud-palette-primary);
    opacity: 0.30;
    pointer-events: none;
}

.side-nav__profile-card-text[b-yle2cytn9n] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.side-nav__profile-card-name[b-yle2cytn9n] {
    font-size: 0.8375rem;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.side-nav__profile-card-email[b-yle2cytn9n] {
    font-size: 0.70rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.side-nav__profile-card-role[b-yle2cytn9n] {
    display: inline-flex;
    align-items: center;
    padding: 1px 7px;
    border-radius: 100px;
    font-size: 0.62rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    margin-top: 2px;
    width: fit-content;
}

.side-nav--light .side-nav__profile-card-name[b-yle2cytn9n] {
    color: var(--mud-palette-text-primary);
}

.side-nav--light .side-nav__profile-card-email[b-yle2cytn9n] {
    color: var(--mud-palette-text-secondary);
}

.side-nav--light .side-nav__profile-card-role[b-yle2cytn9n] {
    background: color-mix(in srgb, var(--mud-palette-primary) 10%, transparent);
    color: var(--mud-palette-primary);
}

.side-nav--dark .side-nav__profile-card-name[b-yle2cytn9n] {
    color: rgba(255, 255, 255, 0.90);
}

.side-nav--dark .side-nav__profile-card-email[b-yle2cytn9n] {
    color: rgba(255, 255, 255, 0.42);
}

.side-nav--dark .side-nav__profile-card-role[b-yle2cytn9n] {
    background: color-mix(in srgb, var(--mud-palette-primary) 18%, transparent);
    color: color-mix(in srgb, var(--mud-palette-primary) 75%, white);
}

/* ── Separator inside the expanded area ─────────────────────────── */
.side-nav__profile-sep[b-yle2cytn9n] {
    height: 1px;
    margin: 6px 4px;
    transition: background-color 0.2s ease;
}

.side-nav__profile-sep--compact[b-yle2cytn9n] {
    margin: 4px 4px;
}

.side-nav--light .side-nav__profile-sep[b-yle2cytn9n] {
    background: rgba(16, 86, 106, 0.10);
}

.side-nav--dark .side-nav__profile-sep[b-yle2cytn9n] {
    background: rgba(255, 255, 255, 0.07);
}

/* ── Menu items container ────────────────────────────────────────── */
.side-nav__profile-items[b-yle2cytn9n] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding-bottom: 8px;
}

/* ── Individual menu item ────────────────────────────────────────── */
.side-nav__profile-item[b-yle2cytn9n] {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 10px 12px;
    border-radius: 9px;
    border: none;
    background: transparent;
    cursor: pointer;
    text-align: start;
    font-size: 0.8375rem;
    font-weight: 450;
    transition: background-color 0.13s ease, color 0.13s ease;
}

.side-nav--light .side-nav__profile-item[b-yle2cytn9n] {
    color: var(--mud-palette-text-primary);
}

.side-nav--dark .side-nav__profile-item[b-yle2cytn9n] {
    color: rgba(255, 255, 255, 0.80);
}

.side-nav--light .side-nav__profile-item:hover[b-yle2cytn9n] {
    background-color: rgba(16, 86, 106, 0.07);
}

.side-nav--dark .side-nav__profile-item:hover[b-yle2cytn9n] {
    background-color: rgba(255, 255, 255, 0.06);
}

/* Icon box */
.side-nav__profile-item-icon[b-yle2cytn9n] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 7px;
    flex-shrink: 0;
    transition: background-color 0.13s ease, color 0.13s ease;
}

.side-nav--light .side-nav__profile-item-icon[b-yle2cytn9n] {
    background: rgba(16, 86, 106, 0.07);
    color: var(--mud-palette-primary);
}

.side-nav--dark .side-nav__profile-item-icon[b-yle2cytn9n] {
    background: rgba(255, 255, 255, 0.07);
    color: color-mix(in srgb, var(--mud-palette-primary) 80%, white);
}

.side-nav--light .side-nav__profile-item:hover .side-nav__profile-item-icon[b-yle2cytn9n] {
    background: var(--mud-palette-primary);
    color: #fff;
}

.side-nav--dark .side-nav__profile-item:hover .side-nav__profile-item-icon[b-yle2cytn9n] {
    background: var(--mud-palette-primary);
    color: #fff;
}

/* Label */
.side-nav__profile-item-label[b-yle2cytn9n] {
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Trailing chevron */
.side-nav__profile-item-arrow[b-yle2cytn9n] {
    flex-shrink: 0;
    opacity: 0;
    transition: opacity 0.13s ease;
}

.side-nav__profile-item:hover .side-nav__profile-item-arrow[b-yle2cytn9n] {
    opacity: 0.40;
}

/* ── Danger item (logout) ─────────────────────────────────────────── */
.side-nav__profile-item--danger[b-yle2cytn9n] {
    color: var(--mud-palette-error) !important;
}

.side-nav--light .side-nav__profile-item--danger:hover[b-yle2cytn9n] {
    background-color: rgba(229, 57, 53, 0.07) !important;
}

.side-nav--dark .side-nav__profile-item--danger:hover[b-yle2cytn9n] {
    background-color: rgba(229, 57, 53, 0.10) !important;
}

.side-nav__profile-item-icon--danger[b-yle2cytn9n],
.side-nav--light .side-nav__profile-item-icon--danger[b-yle2cytn9n],
.side-nav--dark .side-nav__profile-item-icon--danger[b-yle2cytn9n] {
    background: rgba(229, 57, 53, 0.09) !important;
    color: var(--mud-palette-error) !important;
}

.side-nav--light .side-nav__profile-item--danger:hover .side-nav__profile-item-icon--danger[b-yle2cytn9n],
.side-nav--dark .side-nav__profile-item--danger:hover .side-nav__profile-item-icon--danger[b-yle2cytn9n] {
    background: var(--mud-palette-error) !important;
    color: #fff !important;
}

/* ── Icon-only strip (collapsed sidebar) ─────────────────────────── */
.side-nav__profile-icon-strip[b-yle2cytn9n] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 4px 0 8px;
}

.side-nav__profile-icon-btn[b-yle2cytn9n] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 9px;
    border: none;
    background: transparent;
    cursor: pointer;
    transition: background-color 0.13s ease, color 0.13s ease;
}

.side-nav--light .side-nav__profile-icon-btn[b-yle2cytn9n] {
    color: var(--mud-palette-text-secondary);
}

.side-nav--dark .side-nav__profile-icon-btn[b-yle2cytn9n] {
    color: rgba(255, 255, 255, 0.55);
}

.side-nav--light .side-nav__profile-icon-btn:hover[b-yle2cytn9n] {
    background: rgba(16, 86, 106, 0.09);
    color: var(--mud-palette-primary);
}

.side-nav--dark .side-nav__profile-icon-btn:hover[b-yle2cytn9n] {
    background: rgba(255, 255, 255, 0.08);
    color: rgba(255,255,255,0.90);
}

.side-nav__profile-icon-btn--danger[b-yle2cytn9n] {
    color: var(--mud-palette-error) !important;
}

.side-nav--light .side-nav__profile-icon-btn--danger:hover[b-yle2cytn9n] {
    background: rgba(229,57,53,0.09) !important;
}

.side-nav--dark .side-nav__profile-icon-btn--danger:hover[b-yle2cytn9n] {
    background: rgba(229,57,53,0.12) !important;
}


/* ── User profile row (trigger) ──────────────────────────────────── */
.side-nav__user[b-yle2cytn9n] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border-radius: 10px;
    cursor: pointer;
    transition: background-color 0.15s ease;
    margin-top: 2px;
}

.side-nav--icon-only .side-nav__user[b-yle2cytn9n] {
    justify-content: center;
    gap: 0;
}

.side-nav--light .side-nav__user:hover[b-yle2cytn9n] {
    background-color: rgba(16, 86, 106, 0.07);
}

.side-nav--dark .side-nav__user:hover[b-yle2cytn9n] {
    background-color: rgba(255, 255, 255, 0.07);
}

.side-nav--light .side-nav__user--active[b-yle2cytn9n] {
    background-color: rgba(16, 86, 106, 0.10) !important;
}

.side-nav--dark .side-nav__user--active[b-yle2cytn9n] {
    background-color: rgba(255, 255, 255, 0.10) !important;
}

.side-nav__user-text[b-yle2cytn9n] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.side-nav__user-name[b-yle2cytn9n] {
    font-size: 0.8125rem;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.side-nav__user-sub[b-yle2cytn9n] {
    font-size: 0.67rem;
    white-space: nowrap;
}

.side-nav--light .side-nav__user-name[b-yle2cytn9n] {
    color: var(--mud-palette-text-primary);
}

.side-nav--light .side-nav__user-sub[b-yle2cytn9n] {
    color: var(--mud-palette-text-secondary);
}

.side-nav--light .side-nav__user-chevron[b-yle2cytn9n] {
    color: var(--mud-palette-text-secondary);
}

.side-nav--dark .side-nav__user-name[b-yle2cytn9n] {
    color: rgba(255, 255, 255, 0.87);
}

.side-nav--dark .side-nav__user-sub[b-yle2cytn9n] {
    color: rgba(255, 255, 255, 0.38);
}

.side-nav--dark .side-nav__user-chevron[b-yle2cytn9n] {
    color: rgba(255, 255, 255, 0.35);
}

.side-nav__user-chevron[b-yle2cytn9n] {
    flex-shrink: 0;
    transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.side-nav__user-chevron--open[b-yle2cytn9n] {
    transform: rotate(180deg);
}

[b-yle2cytn9n] .side-nav__user .mud-avatar {
    width: 30px;
    height: 30px;
    font-size: 0.75rem;
    flex-shrink: 0;
}

/* ── Section separators ─────────────────────────────────────────── */

/* Expanded mode: plain left-aligned label */
.side-nav__sep[b-yle2cytn9n] {
    padding: 10px 10px 4px;
}

/* Quiet uppercase section separator at --ink-faint (DESIGN.md §7). */
.side-nav__sep-text[b-yle2cytn9n] {
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    white-space: nowrap;
}

.side-nav--light .side-nav__sep-text[b-yle2cytn9n],
.side-nav--dark .side-nav__sep-text[b-yle2cytn9n] {
    color: var(--mud-palette-gray-default);
}

/* Collapsed mode: plain thin line */
.side-nav__sep-line[b-yle2cytn9n] {
    height: 1px;
    background: var(--mud-palette-divider);
    opacity: 0.45;
    margin: 6px 8px;
}
/* /Layout/NavMenu.razor.rz.scp.css */
/* Nav Container */
.nav-container[b-qdyh700et0] {
    display: flex;
    flex-direction: column;
    flex: 1;       /* fill .side-nav__content (which is a flex column) */
    min-height: 0;
    padding: 0;
}

/* Search Box */
.nav-search[b-qdyh700et0] {
    padding: 12px;
}

[b-qdyh700et0] .nav-search-field .mud-input-outlined {
    border-radius: var(--radius-md);
    transition: border-color var(--dur-base) var(--ease-out);
}

[b-qdyh700et0] .nav-search-field .mud-input-outlined-border {
    border-color: var(--mud-palette-lines-inputs) !important;
    transition: border-color var(--dur-base) var(--ease-out) !important;
}

[b-qdyh700et0] .nav-search-field .mud-input-outlined:hover .mud-input-outlined-border {
    border-color: var(--mud-palette-text-secondary) !important;
}

[b-qdyh700et0] .nav-search-field .mud-input-outlined.mud-input-focused .mud-input-outlined-border {
    border-color: var(--mud-palette-primary) !important;
    border-width: 2px !important;
}

[b-qdyh700et0] .nav-search-field input {
    color: var(--mud-palette-text-primary) !important;
    font-size: 0.8125rem !important;
    caret-color: var(--mud-palette-primary) !important;
}

[b-qdyh700et0] .nav-search-field input::placeholder {
    color: var(--mud-palette-text-secondary) !important;
}

[b-qdyh700et0] .nav-search-field .mud-input-adornment .mud-icon-root {
    color: var(--mud-palette-text-secondary);
    font-size: 1.1rem;
}

/* Clear button styling */
[b-qdyh700et0] .nav-search-field .mud-input-adornment-end .mud-icon-button {
    color: var(--mud-palette-text-secondary) !important;
}

[b-qdyh700et0] .nav-search-field .mud-input-adornment-end .mud-icon-button:hover {
    color: var(--mud-palette-text-primary) !important;
}

/* Nav Menu */
.nav-menu[b-qdyh700et0] {
    flex: 1;
    min-height: 0; /* required for flex-child scrolling */
    overflow-y: auto;
    overflow-x: hidden;
    padding: 4px 8px;
}

/* Nav links — DESIGN.md §7: hover = quiet tint; active = teal text + 3px teal
   indicator + tinted background (never a full teal fill). */
[b-qdyh700et0] .mud-nav-link {
    position: relative;
    color: var(--mud-palette-text-secondary) !important;
    font-size: 14px !important;
    border-radius: var(--radius-md) !important;
    margin: 4px 0 !important;
    padding: 10px 14px !important;
    min-height: 44px !important;
    font-weight: 400 !important;
    transition: background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out) !important;
}

[b-qdyh700et0] .mud-nav-link:hover {
    background-color: var(--mud-palette-action-default-hover) !important;
    color: var(--mud-palette-text-primary) !important;
}

[b-qdyh700et0] .mud-nav-link.active {
    background-color: color-mix(in srgb, var(--mud-palette-primary) 12%, transparent) !important;
    color: var(--mud-palette-primary) !important;
    font-weight: 600 !important;
}

[b-qdyh700et0] .mud-nav-link.active::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 60%;
    border-radius: 0 2px 2px 0;
    background-color: var(--mud-palette-primary);
}

[b-qdyh700et0] .mud-nav-link .mud-nav-link-text {
    font-size: 14px !important;
    font-weight: inherit !important;
}

/* Icons inherit link color */
[b-qdyh700et0] .mud-nav-link .mud-icon-root {
    color: inherit !important;
    transition: color var(--dur-fast) var(--ease-out) !important;
}

/* Nav Groups */
[b-qdyh700et0] .mud-nav-group {
    margin: 8px 0 !important;
}

[b-qdyh700et0] .mud-nav-group .mud-nav-link {
    color: var(--mud-palette-text-secondary) !important;
}

[b-qdyh700et0] .mud-nav-group-title {
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.07em !important;
    color: var(--mud-palette-text-secondary) !important;
    margin-top: 16px !important;
    padding: 8px 14px !important;
    opacity: 0.7;
}

/* Expand icon */
[b-qdyh700et0] .mud-nav-group .mud-expand-panel-header .mud-icon-root,
[b-qdyh700et0] .mud-nav-group .mud-nav-link .mud-icon-root:last-child {
    color: var(--mud-palette-text-secondary) !important;
}

/* Nested items */
[b-qdyh700et0] .mud-navmenu-list-padding {
    padding-left: 20px !important;
    margin-top: 4px !important;
}

[b-qdyh700et0] .mud-nav-group .mud-nav-link {
    font-size: 13px !important;
    min-height: 40px !important;
    padding: 8px 12px !important;
    font-weight: 400 !important;
}

/* Scrollbar — thin, theme-aware */
.nav-menu[b-qdyh700et0] {
    scrollbar-width: thin;
    scrollbar-color: var(--mud-palette-action-default) transparent;
}

.nav-menu[b-qdyh700et0]::-webkit-scrollbar { width: 4px; }
.nav-menu[b-qdyh700et0]::-webkit-scrollbar-track { background: transparent; }
.nav-menu[b-qdyh700et0]::-webkit-scrollbar-thumb { background-color: var(--mud-palette-action-default); border-radius: 2px; }
.nav-menu[b-qdyh700et0]::-webkit-scrollbar-thumb:hover { background-color: var(--mud-palette-text-secondary); }

/* Collapsed / icon-only state */
.nav-container--collapsed[b-qdyh700et0]  .mud-nav-link {
    justify-content: center !important;
    padding: 10px !important;
}

.nav-container--collapsed[b-qdyh700et0]  .mud-nav-link .mud-nav-link-text {
    display: none !important;
}

.nav-container--collapsed[b-qdyh700et0]  .mud-nav-group-title {
    display: none !important;
}

.nav-container--collapsed[b-qdyh700et0]  .mud-nav-group .mud-nav-link {
    padding: 10px !important;
    justify-content: center !important;
}

.nav-container--collapsed .nav-search[b-qdyh700et0] {
    display: none;
}
/* /Shared/Components/AccessDeniedPage.razor.rz.scp.css */

.access-denied-container[b-yseb77ktvi] {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);
    padding: 2rem;
}

.access-denied-content[b-yseb77ktvi] {
    text-align: center;
    max-width: 600px;
}

.security-illustration[b-yseb77ktvi] {
    position: relative;
    margin-bottom: 3rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

.shield-container[b-yseb77ktvi] {
    position: relative;
}

.shield-icon[b-yseb77ktvi] {
    font-size: 6rem !important;
    color: #dc2626;
    animation: pulse-b-yseb77ktvi 2s infinite;
}

.lock-container[b-yseb77ktvi] {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.lock-icon[b-yseb77ktvi] {
    font-size: 2.5rem !important;
    color: #ffffff;
    background: #dc2626;
    border-radius: 50%;
    padding: 0.5rem;
    animation: lockShake-b-yseb77ktvi 1s ease-in-out 2s;
}

.error-message[b-yseb77ktvi] {
    margin-bottom: 3rem;
}

.error-title[b-yseb77ktvi] {
    color: #dc2626;
    font-weight: 700;
    margin-bottom: 0.5rem;
}

.error-subtitle[b-yseb77ktvi] {
    color: #991b1b;
    font-weight: 500;
    margin-bottom: 1.5rem;
}

.error-description[b-yseb77ktvi] {
    color: #6b7280;
    font-size: 1.125rem;
    line-height: 1.6;
    max-width: 500px;
    margin: 0 auto;
}

.user-info[b-yseb77ktvi] {
    margin-bottom: 3rem;
}

.user-card[b-yseb77ktvi] {
    max-width: 300px;
    margin: 0 auto;
    border: 1px solid #fecaca;
}

.user-details[b-yseb77ktvi] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.user-avatar[b-yseb77ktvi] {
    font-size: 2.5rem !important;
    color: #dc2626;
    background: #fee2e2;
    border-radius: 50%;
    padding: 0.5rem;
}

.user-name[b-yseb77ktvi] {
    color: #374151;
    font-weight: 600;
}

.user-role[b-yseb77ktvi] {
    color: #6b7280;
}

.access-actions[b-yseb77ktvi] {
    margin-bottom: 3rem;
}

.action-button[b-yseb77ktvi] {
    min-width: 140px;
    border-radius: 8px !important;
    font-weight: 600;
    text-transform: none;
}

.logout-button:hover[b-yseb77ktvi] {
    background-color: #fef2f2 !important;
}

.help-section[b-yseb77ktvi] {
    margin-bottom: 2rem;
}

.help-panel[b-yseb77ktvi] {
    background: white;
    border-radius: 8px;
    border: 1px solid #fecaca;
}

.help-title[b-yseb77ktvi] {
    display: flex;
    align-items: center;
    color: #dc2626;
    font-weight: 600;
}

.help-content[b-yseb77ktvi] {
    padding: 1rem 0;
}

.access-footer[b-yseb77ktvi] {
    padding-top: 2rem;
}

.security-notice[b-yseb77ktvi] {
    margin-bottom: 1rem;
    border-color: #f59e0b !important;
}

.footer-text[b-yseb77ktvi] {
    color: #9ca3af;
    font-family: 'Courier New', monospace;
}

@keyframes pulse-b-yseb77ktvi {
    0%, 100% {
        opacity: 1;
        transform: scale(1);
    }

    50% {
        opacity: 0.8;
        transform: scale(1.05);
    }
}

@keyframes lockShake-b-yseb77ktvi {
    0%, 100% {
        transform: translate(-50%, -50%) rotate(0deg);
    }

    10%, 30%, 50%, 70%, 90% {
        transform: translate(-50%, -50%) rotate(-5deg);
    }

    20%, 40%, 60%, 80% {
        transform: translate(-50%, -50%) rotate(5deg);
    }
}

@media (max-width: 768px) {
    .shield-icon[b-yseb77ktvi] {
        font-size: 4rem !important;
    }

    .lock-icon[b-yseb77ktvi] {
        font-size: 2rem !important;
    }

    .access-actions .mud-stack[b-yseb77ktvi] {
        flex-direction: column;
        align-items: center;
    }

    .action-button[b-yseb77ktvi] {
        width: 100%;
        max-width: 200px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .shield-icon[b-yseb77ktvi],
    .lock-icon[b-yseb77ktvi] {
        animation: none;
    }
}

/* /Shared/Components/NotFoundPage.razor.rz.scp.css */
.not-found-container[b-wb8raso614] {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--mud-palette-background);
    padding: 32px;
}

.not-found-content[b-wb8raso614] {
    text-align: center;
    max-width: 600px;
}

.not-found-illustration[b-wb8raso614] {
    margin-bottom: 32px;
    position: relative;
}

.error-code[b-wb8raso614] {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 24px;
    font-family: var(--font-mono);
    font-weight: 700;
}

.error-code span[b-wb8raso614] {
    font-size: 6rem;
    line-height: 1;
    color: var(--mud-palette-primary);
}

.zero[b-wb8raso614] {
    color: var(--mud-palette-text-secondary);
    margin: 0 16px;
}

.illustration-graphic[b-wb8raso614] {
    position: relative;
}

.search-icon[b-wb8raso614] {
    font-size: 3.5rem !important;
    color: var(--mud-palette-text-disabled);
}

.error-message[b-wb8raso614] {
    margin-bottom: 32px;
}

.error-title[b-wb8raso614] {
    color: var(--mud-palette-text-primary);
    font-weight: 700;
    margin-bottom: 12px;
}

.error-description[b-wb8raso614] {
    color: var(--mud-palette-text-secondary);
    font-size: 1.0625rem;
    line-height: 1.6;
    max-width: 500px;
    margin: 0 auto;
}

.error-actions[b-wb8raso614] {
    margin-bottom: 32px;
}

.action-button[b-wb8raso614] {
    min-width: 140px;
    border-radius: var(--radius-md) !important;
    font-weight: 600;
    text-transform: none;
}

.additional-help[b-wb8raso614] {
    margin-bottom: 24px;
}

.help-panel[b-wb8raso614] {
    background: var(--mud-palette-surface);
    border-radius: var(--radius-md);
    border: 1px solid var(--mud-palette-lines-default);
}

.help-title[b-wb8raso614] {
    display: flex;
    align-items: center;
    color: var(--mud-palette-text-secondary);
    font-weight: 600;
}

.help-content[b-wb8raso614] {
    padding: 16px 0;
}

.error-footer[b-wb8raso614] {
    padding-top: 24px;
    border-top: 1px solid var(--mud-palette-divider);
}

.footer-text[b-wb8raso614] {
    color: var(--mud-palette-text-disabled);
    font-family: var(--font-mono);
}

@media (max-width: 768px) {
    .error-code span[b-wb8raso614] {
        font-size: 4.5rem;
    }

    .zero[b-wb8raso614] {
        margin: 0 8px;
    }

    .error-actions .mud-stack[b-wb8raso614] {
        flex-direction: column;
        align-items: center;
    }

    .action-button[b-wb8raso614] {
        width: 100%;
        max-width: 200px;
    }
}
/* /Shared/Design/DsConfirmDialog.razor.rz.scp.css */
.ds-confirm[b-nsdrwji0mk] {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    max-width: 420px;
}

.ds-confirm__icon[b-nsdrwji0mk] {
    font-size: 1.75rem;
    flex-shrink: 0;
    margin-top: 2px;
}

.ds-confirm__text[b-nsdrwji0mk] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ds-confirm__target[b-nsdrwji0mk] {
    padding: 4px 8px;
    border-radius: 6px;
    background: var(--mud-palette-action-default-hover);
    border: 1px solid var(--mud-palette-lines-default);
    color: var(--mud-palette-text-primary);
    align-self: flex-start;
    word-break: break-all;
}

.ds-confirm__field[b-nsdrwji0mk] {
    margin-top: 4px;
}

.mono[b-nsdrwji0mk] {
    font-family: var(--font-mono, monospace);
    font-size: 0.8125rem;
}
/* /Shared/Design/DsEmptyState.razor.rz.scp.css */
.ds-empty[b-e0kmca0ib0] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 48px 24px;
    text-align: center;
    color: var(--mud-palette-text-secondary);
}

.ds-empty__icon[b-e0kmca0ib0] {
    font-size: 2.5rem;
    color: var(--mud-palette-action-disabled);
}

.ds-empty__text[b-e0kmca0ib0] {
    max-width: 42ch;
}

.ds-empty__action[b-e0kmca0ib0] {
    margin-top: 6px;
}
/* /Shared/Design/DsMetricCard.razor.rz.scp.css */
.ds-metric[b-aalzzd9hih] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 16px 18px;
    border-radius: 10px;
    background: var(--mud-palette-surface);
    border: 1px solid var(--mud-palette-lines-default);
    transition: border-color var(--dur-fast, 140ms) var(--ease-out, ease),
                transform var(--dur-fast, 140ms) var(--ease-out, ease),
                background var(--dur-fast, 140ms) var(--ease-out, ease);
}

.ds-metric--clickable[b-aalzzd9hih] {
    cursor: pointer;
}

    .ds-metric--clickable:hover[b-aalzzd9hih] {
        border-color: var(--mud-palette-primary);
        background: var(--mud-palette-action-default-hover);
    }

    .ds-metric--clickable:active[b-aalzzd9hih] {
        transform: scale(0.985);
    }

    .ds-metric--clickable:focus-visible[b-aalzzd9hih] {
        outline: 2px solid var(--mud-palette-primary);
        outline-offset: 2px;
    }

.ds-metric__top[b-aalzzd9hih] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.ds-metric__icon[b-aalzzd9hih] {
    color: var(--mud-palette-text-secondary);
}

.ds-metric__hint[b-aalzzd9hih] {
    color: var(--mud-palette-action-disabled);
    opacity: 0;
    transition: opacity var(--dur-fast, 140ms) var(--ease-out, ease);
}

.ds-metric--clickable:hover .ds-metric__hint[b-aalzzd9hih] {
    opacity: 1;
}

.ds-metric__value[b-aalzzd9hih] {
    font-size: 1.75rem;
    font-weight: 700;
    line-height: 1.1;
    color: var(--mud-palette-text-primary);
    font-variant-numeric: tabular-nums;
}

.ds-metric__label[b-aalzzd9hih] {
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
}

.ds-metric--success .ds-metric__icon[b-aalzzd9hih] { color: var(--mud-palette-success); }
.ds-metric--warning .ds-metric__icon[b-aalzzd9hih] { color: var(--mud-palette-warning); }
.ds-metric--danger .ds-metric__icon[b-aalzzd9hih] { color: var(--mud-palette-error); }
.ds-metric--info .ds-metric__icon[b-aalzzd9hih] { color: var(--mud-palette-info); }
.ds-metric--teal .ds-metric__icon[b-aalzzd9hih] { color: var(--mud-palette-primary); }

@media (prefers-reduced-motion: reduce) {
    .ds-metric[b-aalzzd9hih],
    .ds-metric__hint[b-aalzzd9hih] {
        transition: none;
    }
}
/* /Shared/Design/DsPage.razor.rz.scp.css */
.ds-page[b-u7p8xuangk] {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.ds-page__header[b-u7p8xuangk] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.ds-page__title[b-u7p8xuangk] {
    font-weight: 700;
    letter-spacing: -0.02em;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.ds-page__title-icon[b-u7p8xuangk] {
    color: var(--mud-palette-primary);
}

.ds-page__desc[b-u7p8xuangk] {
    color: var(--mud-palette-text-secondary);
    margin-top: 2px;
    max-width: 75ch;
}

.ds-page__actions[b-u7p8xuangk] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.ds-page__body[b-u7p8xuangk] {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
/* /Shared/Design/DsPanel.razor.rz.scp.css */
.ds-panel[b-l9e203c3y8] {
    background: var(--mud-palette-surface);
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.ds-panel__head[b-l9e203c3y8] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 18px;
    border-bottom: 1px solid var(--mud-palette-divider);
}

.ds-panel__title-row[b-l9e203c3y8] {
    display: flex;
    align-items: center;
}

.ds-panel__title[b-l9e203c3y8] {
    font-weight: 600;
}

.ds-panel__subtitle[b-l9e203c3y8] {
    color: var(--mud-palette-text-secondary);
    margin-top: 2px;
}

.ds-panel__head-actions[b-l9e203c3y8] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.ds-panel__body[b-l9e203c3y8] {
    padding: 18px;
}

.ds-panel--flush .ds-panel__body[b-l9e203c3y8] {
    padding: 0;
}
/* /Shared/Design/DsPanelStatus.razor.rz.scp.css */
.ds-panel-status[b-rlkjnula62] {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    margin-inline-start: 8px;
}

.ds-panel-status__time[b-rlkjnula62] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
}

.ds-panel-status[b-rlkjnula62]  .ds-panel-status__spinner {
    width: 14px !important;
    height: 14px !important;
    color: var(--mud-palette-text-secondary);
}
/* /Shared/Design/DsStatusChip.razor.rz.scp.css */
.ds-status-chip[b-hs90ksj47h]  .ds-status-dot,
.ds-status-dot[b-hs90ksj47h] {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: currentColor;
    margin-right: 6px;
    flex-shrink: 0;
}
/* /Shared/Design/DsToolbar.razor.rz.scp.css */
.ds-toolbar[b-oxcv5iscpp] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.ds-toolbar__start[b-oxcv5iscpp] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    flex: 1;
    min-width: 0;
}

.ds-toolbar__end[b-oxcv5iscpp] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}
