/* /Components/Admin/TenantDetailView.razor.rz.scp.css */
/* ── Tenant detail (owner console) — component-scoped styling ──────
   Reuses shared sd-admin-* tokens from app.css. Light + dark aware. */

/* ── Header ──────────────────────────────────── */
.td-header[b-q74wdo8qg0] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}
.td-header__main[b-q74wdo8qg0] {
    display: flex;
    align-items: center;
    gap: 16px;
    min-width: 0;
}
.td-avatar[b-q74wdo8qg0] {
    width: 56px;
    height: 56px;
    border-radius: 13px;
    background: linear-gradient(135deg, var(--sd-admin-teal), #079f93);
    color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 1.5rem;
    flex-shrink: 0;
    text-transform: uppercase;
    box-shadow: 0 6px 16px -8px rgba(0, 181, 166, 0.6);
}
.td-header__info[b-q74wdo8qg0] { min-width: 0; }
.td-name[b-q74wdo8qg0] {
    font-size: 1.55rem;
    line-height: 1.2;
    margin-bottom: 2px;
}
.td-org[b-q74wdo8qg0] {
    font-size: 0.86rem;
    color: var(--sd-text-secondary);
    margin-bottom: 8px;
}
.td-tags[b-q74wdo8qg0] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 8px;
}
.td-tag[b-q74wdo8qg0] {
    display: inline-block;
    padding: 2px 10px;
    border-radius: 6px;
    font-weight: 600;
    font-size: 0.74rem;
    line-height: 1.6;
}
.td-tag--coupon[b-q74wdo8qg0] { background: var(--sd-success-soft); color: var(--sd-success-text); }
.td-tag--industry[b-q74wdo8qg0] {
    background: var(--sd-admin-canvas);
    color: var(--sd-text-secondary);
    font-weight: 500;
}
.td-tag--frozen[b-q74wdo8qg0] { background: var(--sd-danger-soft); color: var(--sd-danger-text); }
.td-tag--owner[b-q74wdo8qg0] {
    background: var(--sd-admin-amber-soft);
    color: var(--sd-admin-amber);
    border-radius: 999px;
}
.td-owner[b-q74wdo8qg0] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.78rem;
    color: var(--sd-text-secondary);
}
.td-owner[b-q74wdo8qg0]  .mud-icon-root {
    color: var(--sd-text-muted);
    font-size: 1.05rem;
}

/* ── Stat cards (KPI blocks) ─────────────────── */
.td-stat[b-q74wdo8qg0] {
    padding: 16px 16px 18px;
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.td-stat__label[b-q74wdo8qg0] {
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--sd-text-secondary);
    order: 1;
}
.td-stat__value[b-q74wdo8qg0] {
    font-family: 'Newsreader', 'Inter', serif;
    font-weight: 500;
    font-size: 1.7rem;
    line-height: 1;
    letter-spacing: -0.02em;
    color: var(--sd-text);
    font-variant-numeric: tabular-nums;
    order: 0;
}
.td-stat__value--date[b-q74wdo8qg0] { font-size: 1.25rem; }
.td-stat__sub[b-q74wdo8qg0] {
    font-size: 0.64rem;
    color: var(--sd-text-muted);
    order: 2;
}
.td-stat--alert .td-stat__value[b-q74wdo8qg0] { color: var(--sd-warning-text); }

/* ── Tables ──────────────────────────────────── */
.td-table-card[b-q74wdo8qg0] { overflow: hidden; }
.td-table[b-q74wdo8qg0] { font-size: 0.85rem; }
.td-table thead th[b-q74wdo8qg0] {
    background: var(--sd-admin-canvas);
    color: var(--sd-text-secondary);
    font-weight: 600;
    font-size: 0.7rem;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    white-space: nowrap;
}
.td-cell-strong[b-q74wdo8qg0] { font-weight: 500; color: var(--sd-text); }
.td-cell-secondary[b-q74wdo8qg0] { color: var(--sd-text-secondary); }
.td-cell-muted[b-q74wdo8qg0] { font-size: 0.75rem; color: var(--sd-text-muted); }
.td-cell-mono[b-q74wdo8qg0] {
    font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: 0.78rem;
}
/* /Layout/MainLayout.razor.rz.scp.css */
.main-content[b-08doctyoha] {
    padding-bottom: 72px;
    min-height: 100vh;
}

@media (min-width: 960px) {
    .main-content[b-08doctyoha] {
        padding-bottom: 0;
    }
}

[b-08doctyoha] .sidebar-drawer {
    border-right: 1px solid var(--sd-border);
}

[b-08doctyoha] .sidebar-brand {
    min-height: 64px;
}

[b-08doctyoha] .nav-group-label {
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    color: var(--sd-text-muted);
    padding: 4px 16px;
    margin-top: 4px;
}

[b-08doctyoha] .bottom-nav {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1100;
    background: var(--sd-surface);
    border-top: 1px solid var(--sd-border);
}

[b-08doctyoha] .bottom-nav-inner {
    width: 100%;
    padding: 6px 0;
    min-height: 56px;
}

[b-08doctyoha] .bottom-nav-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 56px;
    padding: 4px 8px;
    color: var(--sd-text-secondary);
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
}

[b-08doctyoha] .bottom-nav-item:hover,
[b-08doctyoha] .bottom-nav-item:active {
    color: var(--mud-palette-primary);
}
/* /Pages/Admin/AdminDemo.razor.rz.scp.css */
/* AdminDemo — owner-console scoped styles (sd-admin-* tokens, both themes). */

/* Empty-state card */
.sd-demo-empty[b-uhmtpm7qha] {
    padding: 28px 18px;
    text-align: center;
    font-size: 0.88rem;
    color: var(--sd-text-secondary);
}

/* Daily session bars (CSS only — no charting library) */
.sd-demo-bars[b-uhmtpm7qha] {
    display: flex;
    align-items: flex-end;
    gap: 6px;
    height: 168px;
    overflow-x: auto;
    padding-bottom: 2px;
}
.sd-demo-bars__col[b-uhmtpm7qha] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    min-width: 30px;
    flex: 1 0 auto;
}
.sd-demo-bars__count[b-uhmtpm7qha] {
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--sd-text-secondary);
    font-variant-numeric: tabular-nums;
}
.sd-demo-bars__bar[b-uhmtpm7qha] {
    width: 22px;
    min-height: 4px;
    border-radius: 6px 6px 0 0;
    background: var(--sd-admin-teal);
    transition: height 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}
.sd-demo-bars__label[b-uhmtpm7qha] {
    font-size: 0.62rem;
    color: var(--sd-text-muted);
    white-space: nowrap;
}

/* Idle / awaiting-cleanup status tag (neutral, not an alert) */
.sd-demo-tag--idle[b-uhmtpm7qha] {
    background: var(--sd-bg-subtle);
    color: var(--sd-text-muted);
}

@media (prefers-reduced-motion: reduce) {
    .sd-demo-bars__bar[b-uhmtpm7qha] { transition: none; }
}
/* /Pages/Admin/AdminLeads.razor.rz.scp.css */
/* Henvendelser — owner-console (sd-admin-*) styling.
   Presentation only; reuses the shared admin tokens for light + dark parity. */

.sd-leads-head[b-i74xgyqt0a] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
}

.sd-leads-toolbar[b-i74xgyqt0a] {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    padding-top: 4px;
}

/* Owner-attention count — amber per the brief (real "needs attention"). */
.sd-leads-badge[b-i74xgyqt0a] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 30px;
    padding: 0 12px;
    border-radius: 999px;
    background: var(--sd-admin-amber-soft);
    color: var(--sd-warning-text);
    border: 1px solid var(--sd-admin-amber);
    font-size: 0.76rem;
    font-weight: 600;
    white-space: nowrap;
}

.sd-leads-badge[b-i74xgyqt0a]  .mud-icon-root {
    font-size: 1rem;
    color: var(--sd-admin-amber);
}

/* Empty state */
.sd-leads-empty[b-i74xgyqt0a] {
    margin-top: 16px;
    padding: 56px 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 14px;
}

.sd-leads-empty__icon[b-i74xgyqt0a] {
    width: 56px;
    height: 56px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--sd-admin-teal-soft);
    color: var(--sd-admin-teal);
}

.sd-leads-empty__icon[b-i74xgyqt0a]  .mud-icon-root {
    font-size: 1.7rem;
}

.sd-leads-empty__text[b-i74xgyqt0a] {
    margin: 0;
    font-size: 0.95rem;
    color: var(--sd-text-secondary);
    max-width: 42ch;
}

/* Table surface */
.sd-leads-table-wrap[b-i74xgyqt0a] {
    margin-top: 16px;
}

.sd-leads-table[b-i74xgyqt0a]  .mud-table-root {
    background: transparent;
}

.sd-leads-table[b-i74xgyqt0a]  .mud-table-head th {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--sd-text-muted);
    border-bottom: 1px solid var(--sd-admin-card-border);
}

.sd-leads-table[b-i74xgyqt0a]  .mud-table-row:hover {
    background: var(--sd-admin-teal-soft);
}

.sd-leads-table[b-i74xgyqt0a]  td {
    border-bottom: 1px solid var(--sd-admin-card-border);
}

/* Status pills — reuse tenant status tokens */
.sd-leads-status[b-i74xgyqt0a] {
    display: inline-flex;
    align-items: center;
    height: 24px;
    padding: 0 10px;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 600;
    white-space: nowrap;
}

.sd-leads-status--new[b-i74xgyqt0a] {
    background: var(--sd-admin-amber-soft);
    color: var(--sd-warning-text);
}

.sd-leads-status--done[b-i74xgyqt0a] {
    background: var(--sd-success-soft);
    color: var(--sd-success-text);
}

/* Expanded message row */
.sd-leads-message[b-i74xgyqt0a] {
    padding: 16px 24px;
    background: var(--sd-bg-subtle);
    border-bottom: 1px solid var(--sd-admin-card-border);
}

.sd-leads-message__label[b-i74xgyqt0a] {
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--sd-text-muted);
    margin-bottom: 6px;
}

.sd-leads-message__body[b-i74xgyqt0a] {
    font-size: 0.9rem;
    color: var(--sd-text);
    white-space: pre-wrap;
    line-height: 1.5;
}

/* Action buttons keep ≥44px touch target on mobile content */
.sd-leads-table[b-i74xgyqt0a]  .mud-button-root {
    min-height: 36px;
}

@media (max-width: 600px) {
    .sd-leads-table[b-i74xgyqt0a]  .mud-button-root {
        min-height: 44px;
    }
}
/* /Pages/Admin/AdminSettings.razor.rz.scp.css */
/* AdminSettings — owner-console scoped styles (header + access-denied surface).
   The settings rail/content grid keeps its existing shared `settings-*` styles. */

/* Page header: optional mobile back button beside the serif title */
.sd-settings-head[b-z9ifs2x25n] {
    display: flex;
    align-items: center;
    gap: 6px;
}
.sd-settings-head__back[b-z9ifs2x25n] {
    margin-left: -8px;
    color: var(--sd-admin-teal);
}

/* Access-denied surface — quiet card, amber lock (owner/attention accent) */
.sd-settings-denied[b-z9ifs2x25n] {
    padding: 40px 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 8px;
}
.sd-settings-denied__icon[b-z9ifs2x25n] {
    font-size: 2.2rem !important;
    color: var(--sd-admin-amber);
    margin-bottom: 4px;
}
.sd-settings-denied__title[b-z9ifs2x25n] {
    font-family: 'Newsreader', 'Inter', serif;
    font-weight: 500;
    font-size: 1.3rem;
    letter-spacing: -0.01em;
    color: var(--sd-text);
    margin: 0;
}
.sd-settings-denied__desc[b-z9ifs2x25n] {
    font-size: 0.9rem;
    color: var(--sd-text-secondary);
    margin: 0;
    max-width: 42ch;
}
/* /Pages/Admin/AdminSystemHealth.razor.rz.scp.css */
/* AdminSystemHealth — owner-console scoped styles (sd-admin-* tokens, both themes). */

/* Title row with overall-status pill */
.sd-health-titlerow[b-92gnrcznvt] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}
.sd-health-overall[b-92gnrcznvt] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 11px;
    border-radius: 999px;
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.01em;
}
.sd-health-overall[b-92gnrcznvt]  .mud-icon-root { font-size: 1rem; }
.sd-health-overall--ok[b-92gnrcznvt] {
    background: var(--sd-success-soft);
    color: var(--sd-success-text);
}
.sd-health-overall--warn[b-92gnrcznvt] {
    background: var(--sd-admin-amber-soft);
    color: var(--sd-warning-text);
}
.sd-health-overall--err[b-92gnrcznvt],
.sd-health-overall--error[b-92gnrcznvt],
.sd-health-overall--down[b-92gnrcznvt] {
    background: var(--sd-danger-soft);
    color: var(--sd-danger-text);
}

/* Refresh strip */
.sd-health-refresh[b-92gnrcznvt] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
}
.sd-health-refresh__time[b-92gnrcznvt] {
    font-size: 0.72rem;
    color: var(--sd-text-muted);
}
.sd-health-refresh__btn[b-92gnrcznvt] {
    text-transform: none;
    margin-left: auto;
}

/* Status cards — base card + a teal/amber/red status edge */
.sd-health-card[b-92gnrcznvt] {
    padding: 18px;
    position: relative;
    overflow: hidden;
}
.sd-health-card[b-92gnrcznvt]::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: var(--sd-admin-teal);
}
.sd-health-card--ok[b-92gnrcznvt]::before { background: var(--sd-success-text); }
.sd-health-card--warn[b-92gnrcznvt]::before { background: var(--sd-admin-amber); }
.sd-health-card--err[b-92gnrcznvt]::before,
.sd-health-card--error[b-92gnrcznvt]::before,
.sd-health-card--down[b-92gnrcznvt]::before { background: var(--sd-danger-text); }

.sd-health-rows[b-92gnrcznvt] { margin-top: 12px; }

/* Disk usage block */
.sd-health-disk[b-92gnrcznvt] { margin-top: 14px; }
.sd-health-disk__head[b-92gnrcznvt] {
    display: flex;
    justify-content: space-between;
    font-size: 0.78rem;
    margin-bottom: 5px;
}
.sd-health-disk__used[b-92gnrcznvt] { color: var(--sd-text-secondary); }
.sd-health-disk__pct[b-92gnrcznvt] {
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: var(--sd-text);
}
.sd-health-disk__foot[b-92gnrcznvt] {
    display: flex;
    justify-content: space-between;
    font-size: 0.7rem;
    color: var(--sd-text-muted);
    margin-top: 7px;
}

/* Background-jobs table */
.sd-health-jobs__note[b-92gnrcznvt] {
    font-size: 0.78rem;
    color: var(--sd-text-secondary);
    margin: 0 0 14px;
}
.sd-health-jobs__scroll[b-92gnrcznvt] { overflow-x: auto; }
.sd-health-jobs__table[b-92gnrcznvt] {
    background: transparent;
    font-size: 0.82rem;
}
.sd-health-jobs__table[b-92gnrcznvt]  table { background: transparent; }
.sd-health-jobs__table[b-92gnrcznvt]  thead th {
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--sd-text-muted);
    border-bottom: 1px solid var(--sd-admin-card-border);
}
.sd-health-jobs__table[b-92gnrcznvt]  tbody td {
    border-bottom: 1px solid var(--sd-admin-card-border);
}
.sd-health-jobs__row--off[b-92gnrcznvt] { opacity: 0.55; }
.sd-health-jobs__name[b-92gnrcznvt] { font-weight: 600; color: var(--sd-text); }
.sd-health-jobs__desc[b-92gnrcznvt] { font-size: 0.72rem; color: var(--sd-text-muted); }
.sd-health-jobs__nowrap[b-92gnrcznvt] { white-space: nowrap; }
.sd-health-jobs__next[b-92gnrcznvt] { color: var(--sd-text-secondary); }

/* Status tags reuse .sd-an-tag base (uppercase pill) */
.sd-health-jobs__tag--scheduled[b-92gnrcznvt] {
    background: var(--sd-success-soft);
    color: var(--sd-success-text);
}
.sd-health-jobs__tag--off[b-92gnrcznvt] {
    background: var(--sd-bg-subtle);
    color: var(--sd-text-muted);
}
/* /Pages/Admin/AdminTenants.razor.rz.scp.css */
/* ── Bedrifter (owner console) — page-scoped styling ──────────────
   Reuses the shared sd-admin-* token system from app.css. Only the
   page-specific presentation lives here. Light + dark via theme vars. */

/* Page header: title block + action buttons side by side on desktop,
   stacked on mobile. */
.sd-bd-head[b-8yiod9g7zx] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}
.sd-bd-head__text[b-8yiod9g7zx] { min-width: 0; }
.sd-bd-head__actions[b-8yiod9g7zx] {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

/* Subscription breakdown bar */
.sd-bd-bar[b-8yiod9g7zx] {
    display: flex;
    height: 26px;
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 18px;
    border: 1px solid var(--sd-admin-card-border);
}
.sd-bd-bar__seg[b-8yiod9g7zx] {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FFFFFF;
    font-size: 0.66rem;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
}
.sd-bd-bar__seg--paid[b-8yiod9g7zx] { background: var(--sd-admin-teal); }
.sd-bd-bar__seg--coupon[b-8yiod9g7zx] { background: #10B981; }
.sd-bd-bar__seg--trial[b-8yiod9g7zx] { background: var(--sd-admin-amber); }

/* Expiring trials alert — amber owner attention banner */
.sd-bd-alert[b-8yiod9g7zx] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 14px;
    margin-bottom: 18px;
    border-radius: 10px;
    background: var(--sd-admin-amber-soft);
    border: 1px solid var(--sd-admin-amber);
    color: var(--sd-warning-text);
    font-size: 0.82rem;
    font-weight: 500;
}
.sd-bd-alert[b-8yiod9g7zx]  .mud-icon-root { color: var(--sd-admin-amber); flex-shrink: 0; }

/* Segmented tabs */
.sd-bd-tabs[b-8yiod9g7zx] {
    display: flex;
    gap: 6px;
    margin-bottom: 14px;
    flex-wrap: wrap;
}
.sd-bd-tab[b-8yiod9g7zx] {
    padding: 8px 16px;
    min-height: 40px;
    border-radius: 9px;
    border: 1px solid var(--sd-admin-card-border);
    background: var(--sd-admin-card);
    color: var(--sd-text-secondary);
    font-weight: 500;
    font-size: 0.82rem;
    font-family: inherit;
    cursor: pointer;
    transition: border-color 0.14s ease, color 0.14s ease, background 0.14s ease;
}
.sd-bd-tab:hover[b-8yiod9g7zx] { border-color: var(--sd-admin-teal); color: var(--sd-text); }
.sd-bd-tab--active[b-8yiod9g7zx] {
    border-color: var(--sd-admin-teal);
    background: var(--sd-admin-teal-soft);
    color: var(--sd-admin-teal);
    font-weight: 600;
}

/* ── Customer table ───────────────────────────── */
.sd-bd-table-scroll[b-8yiod9g7zx] { overflow-x: auto; }

.sd-bd-table[b-8yiod9g7zx] { font-size: 0.8rem; }
.sd-bd-table thead th[b-8yiod9g7zx] {
    background: var(--sd-admin-canvas);
    color: var(--sd-text-secondary);
    font-weight: 600;
    font-size: 0.7rem;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    white-space: nowrap;
}
.sd-bd-row[b-8yiod9g7zx] { cursor: pointer; }

.sd-bd-company[b-8yiod9g7zx] {
    display: flex;
    align-items: center;
    gap: 10px;
}
.sd-bd-avatar[b-8yiod9g7zx] {
    width: 28px;
    height: 28px;
    border-radius: 7px;
    background: var(--sd-admin-teal);
    color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.7rem;
    flex-shrink: 0;
    text-transform: uppercase;
}
.sd-bd-company__name[b-8yiod9g7zx] { font-weight: 600; font-size: 0.82rem; color: var(--sd-text); }
.sd-bd-company__meta[b-8yiod9g7zx] { font-size: 0.66rem; color: var(--sd-text-muted); }

.sd-bd-mono[b-8yiod9g7zx] {
    font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: 0.75rem;
    color: var(--sd-text-secondary);
}

.sd-bd-pill[b-8yiod9g7zx] {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 999px;
    font-weight: 600;
    font-size: 0.68rem;
    line-height: 1.5;
}
.sd-bd-pill--coupon[b-8yiod9g7zx] {
    background: var(--sd-success-soft);
    color: var(--sd-success-text);
    font-size: 0.6rem;
    margin-left: 4px;
}
.sd-bd-pill--frozen[b-8yiod9g7zx] {
    background: var(--sd-danger-soft);
    color: var(--sd-danger-text);
    font-size: 0.6rem;
    margin-left: 4px;
}

.sd-bd-trial[b-8yiod9g7zx] { font-weight: 500; font-size: 0.75rem; }
.sd-bd-trial--expired[b-8yiod9g7zx] { color: var(--sd-danger-text); font-weight: 600; }

.sd-bd-subtext[b-8yiod9g7zx] { font-size: 0.62rem; color: var(--sd-text-muted); }
.sd-bd-strong[b-8yiod9g7zx] { font-weight: 600; color: var(--sd-text); }
.sd-bd-muted[b-8yiod9g7zx] { font-size: 0.72rem; color: var(--sd-text-muted); }

.sd-bd-num[b-8yiod9g7zx] { text-align: right; font-weight: 600; }
.sd-bd-free[b-8yiod9g7zx] { color: var(--sd-success-text); }
.sd-bd-arr[b-8yiod9g7zx] { font-size: 0.75rem; color: var(--sd-text-secondary); }
.sd-bd-activity[b-8yiod9g7zx] { font-size: 0.75rem; font-weight: 500; }

/* ── Card titles inside tab panels ───────────── */
.sd-bd-card-title[b-8yiod9g7zx] {
    font-size: 0.84rem;
    font-weight: 600;
    color: var(--sd-text);
    margin-bottom: 16px;
}

/* ── Registration timeline ───────────────────── */
.sd-bd-timeline[b-8yiod9g7zx] {
    display: flex;
    align-items: flex-end;
    gap: 8px;
    height: 200px;
    padding: 0 4px;
}
.sd-bd-timeline__col[b-8yiod9g7zx] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    min-width: 0;
}
.sd-bd-timeline__count[b-8yiod9g7zx] {
    font-size: 0.66rem;
    font-weight: 600;
    color: var(--sd-admin-teal);
}
.sd-bd-timeline__bar[b-8yiod9g7zx] {
    width: 100%;
    min-width: 20px;
    background: var(--sd-admin-teal);
    border-radius: 5px 5px 0 0;
}
.sd-bd-timeline__label[b-8yiod9g7zx] { font-size: 0.6rem; color: var(--sd-text-muted); }
.sd-bd-timeline__foot[b-8yiod9g7zx] {
    margin-top: 14px;
    display: flex;
    gap: 18px;
    flex-wrap: wrap;
    font-size: 0.75rem;
    color: var(--sd-text-secondary);
}

/* ── Error log cards ─────────────────────────── */
.sd-bd-error[b-8yiod9g7zx] {
    padding: 12px 14px;
    margin-bottom: 8px;
    border-radius: 10px;
    border: 1px solid var(--sd-danger-soft);
    background: color-mix(in srgb, var(--sd-danger-soft) 45%, var(--sd-admin-card));
}
.sd-bd-error--resolved[b-8yiod9g7zx] {
    border-color: var(--sd-success-soft);
    background: color-mix(in srgb, var(--sd-success-soft) 40%, var(--sd-admin-card));
}
.sd-bd-error__msg[b-8yiod9g7zx] { font-weight: 600; font-size: 0.8rem; color: var(--sd-text); }
.sd-bd-error__meta[b-8yiod9g7zx] { font-size: 0.7rem; color: var(--sd-text-secondary); }
.sd-bd-error__path[b-8yiod9g7zx] { font-size: 0.7rem; color: var(--sd-admin-teal); }
.sd-bd-error__summary[b-8yiod9g7zx] {
    font-size: 0.7rem;
    color: var(--sd-text-muted);
    cursor: pointer;
}
.sd-bd-error__trace[b-8yiod9g7zx] {
    font-size: 0.6rem;
    color: var(--sd-text-secondary);
    white-space: pre-wrap;
    max-height: 200px;
    overflow: auto;
    margin-top: 4px;
    background: var(--sd-admin-canvas);
    padding: 8px;
    border-radius: 6px;
}

@media (max-width: 600px) {
    .sd-bd-head__actions[b-8yiod9g7zx] { width: 100%; }
    .sd-bd-head__actions[b-8yiod9g7zx]  .mud-button-root { flex: 1 1 auto; }
}
/* /Pages/Admin/AdminTraffic.razor.rz.scp.css */
/* Trafikk — owner-console (sd-admin-*) styling.
   Presentation only; reuses shared admin tokens for light + dark parity. */

/* ── Controls (period selector + internal filter) ── */
.sd-tr-controls[b-l5f4qjlaed] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

.sd-tr-controls--filter[b-l5f4qjlaed] {
    gap: 14px;
}

.sd-tr-period__label[b-l5f4qjlaed] {
    font-size: 0.75rem;
    color: var(--sd-text-secondary);
    margin-right: 4px;
}

.sd-tr-period__btn[b-l5f4qjlaed] {
    min-height: 36px;
    padding: 7px 16px;
    border-radius: 9px;
    border: 1px solid var(--sd-admin-card-border);
    background: var(--sd-admin-card);
    color: var(--sd-text-secondary);
    font-size: 0.8rem;
    font-weight: 500;
    cursor: pointer;
    transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
}

.sd-tr-period__btn:hover[b-l5f4qjlaed] {
    border-color: var(--sd-admin-teal);
    color: var(--sd-admin-teal);
}

.sd-tr-period__btn--active[b-l5f4qjlaed] {
    border-color: var(--sd-admin-teal);
    background: var(--sd-admin-teal-soft);
    color: var(--sd-admin-teal);
    font-weight: 600;
}

.sd-tr-meta[b-l5f4qjlaed] {
    font-size: 0.7rem;
    color: var(--sd-text-muted);
}

.sd-tr-meta--end[b-l5f4qjlaed] {
    margin-left: auto;
}

.sd-tr-filter-chip[b-l5f4qjlaed] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 28px;
    padding: 0 12px;
    border-radius: 999px;
    background: var(--sd-admin-teal-soft);
    color: var(--sd-admin-teal);
    font-size: 0.74rem;
    font-weight: 600;
}

.sd-tr-filter-chip[b-l5f4qjlaed]  .mud-icon-root {
    font-size: 0.95rem;
}

/* ── Site card header ── */
.sd-tr-site__head[b-l5f4qjlaed] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
}

.sd-tr-site__icon[b-l5f4qjlaed] {
    width: 32px;
    height: 32px;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--sd-admin-teal-soft);
    color: var(--sd-admin-teal);
    flex-shrink: 0;
}

.sd-tr-site__icon[b-l5f4qjlaed]  .mud-icon-root {
    font-size: 1.05rem;
}

.sd-tr-site__name[b-l5f4qjlaed] {
    font-family: 'Newsreader', 'Inter', serif;
    font-weight: 500;
    font-size: 1.18rem;
    letter-spacing: -0.01em;
    color: var(--sd-text);
}

/* ── Tags ── */
.sd-tr-tag[b-l5f4qjlaed] {
    display: inline-flex;
    align-items: center;
    height: 22px;
    padding: 0 8px;
    border-radius: 6px;
    font-size: 0.7rem;
    font-weight: 600;
    white-space: nowrap;
}

.sd-tr-tag--warn[b-l5f4qjlaed] {
    background: var(--sd-warning-soft);
    color: var(--sd-warning-text);
}

/* ── KPI tiles ── */
.sd-tr-kpi[b-l5f4qjlaed] {
    border-radius: 12px;
    padding: 16px 14px;
    text-align: center;
    height: 100%;
    border: 1px solid transparent;
}

.sd-tr-kpi__value[b-l5f4qjlaed] {
    font-family: 'Newsreader', 'Inter', serif;
    font-weight: 500;
    font-size: 1.7rem;
    line-height: 1.05;
    letter-spacing: -0.02em;
    font-variant-numeric: tabular-nums;
}

.sd-tr-kpi__value--trend[b-l5f4qjlaed] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
}

.sd-tr-kpi__value--trend[b-l5f4qjlaed]  .mud-icon-root {
    font-size: 1.4rem;
}

.sd-tr-kpi__label[b-l5f4qjlaed] {
    font-size: 0.7rem;
    color: var(--sd-text-secondary);
    margin-top: 4px;
}

.sd-tr-kpi--teal[b-l5f4qjlaed] {
    background: var(--sd-admin-teal-soft);
}
.sd-tr-kpi--teal .sd-tr-kpi__value[b-l5f4qjlaed] {
    color: var(--sd-admin-teal);
}

.sd-tr-kpi--success[b-l5f4qjlaed] {
    background: var(--sd-success-soft);
}
.sd-tr-kpi--success .sd-tr-kpi__value[b-l5f4qjlaed] {
    color: var(--sd-success-text);
}

.sd-tr-kpi--info[b-l5f4qjlaed] {
    background: var(--sd-info-soft);
}
.sd-tr-kpi--info .sd-tr-kpi__value[b-l5f4qjlaed] {
    color: var(--sd-info-text);
}

.sd-tr-kpi--danger[b-l5f4qjlaed] {
    background: var(--sd-danger-soft);
}
.sd-tr-kpi--danger .sd-tr-kpi__value[b-l5f4qjlaed] {
    color: var(--sd-danger-text);
}

.sd-tr-kpi--muted[b-l5f4qjlaed] {
    background: var(--sd-bg-subtle);
}
.sd-tr-kpi--muted .sd-tr-kpi__value[b-l5f4qjlaed] {
    color: var(--sd-text-muted);
}

/* ── Section sub-headings inside a site card ── */
.sd-tr-subhead[b-l5f4qjlaed] {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--sd-text);
    margin-bottom: 8px;
}

.sd-tr-empty[b-l5f4qjlaed] {
    font-size: 0.8rem;
    color: var(--sd-text-muted);
}

/* ── Visitors-per-day bar chart ── */
.sd-tr-daychart[b-l5f4qjlaed] {
    display: flex;
    align-items: flex-end;
    gap: 2px;
    height: 110px;
}

.sd-tr-daybar[b-l5f4qjlaed] {
    flex: 1;
    border-radius: 2px 2px 0 0;
    transition: background 0.15s ease;
}

.sd-tr-daybar--empty[b-l5f4qjlaed] {
    background: var(--sd-admin-card-border);
}

.sd-tr-daybar--past[b-l5f4qjlaed] {
    background: rgba(0, 181, 166, 0.55);
}

.sd-tr-daybar--today[b-l5f4qjlaed] {
    background: var(--sd-admin-teal);
}

.sd-tr-axis[b-l5f4qjlaed] {
    display: flex;
    justify-content: space-between;
    font-size: 0.65rem;
    color: var(--sd-text-muted);
    margin-bottom: 20px;
    border-top: 1px solid var(--sd-admin-card-border);
    padding-top: 4px;
}

/* ── Proportional rows (top pages / referrers) ── */
.sd-tr-row[b-l5f4qjlaed] {
    position: relative;
    border-radius: 7px;
    overflow: hidden;
    margin-bottom: 3px;
    background: var(--sd-bg-subtle);
}

.sd-tr-row__fill[b-l5f4qjlaed] {
    position: absolute;
    inset: 0 auto 0 0;
    border-radius: 7px 0 0 7px;
}

.sd-tr-row__fill--teal[b-l5f4qjlaed] {
    background: rgba(0, 181, 166, 0.26);
}

.sd-tr-row__fill--violet[b-l5f4qjlaed] {
    background: rgba(124, 58, 237, 0.22);
}

.sd-tr-row__content[b-l5f4qjlaed] {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 10px;
    gap: 8px;
}

.sd-tr-row__label[b-l5f4qjlaed] {
    font-size: 0.75rem;
    color: var(--sd-text);
    word-break: break-all;
}

.sd-tr-row__value[b-l5f4qjlaed] {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--sd-text);
    white-space: nowrap;
}

.sd-tr-row__sub[b-l5f4qjlaed] {
    color: var(--sd-text-muted);
    font-weight: 400;
}

/* ── Recent-visitors table ── */
.sd-tr-visitors[b-l5f4qjlaed] {
    overflow-x: auto;
}

.sd-tr-table[b-l5f4qjlaed]  table {
    font-size: 0.8rem;
}

.sd-tr-table[b-l5f4qjlaed]  thead th {
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--sd-text-muted);
    background: var(--sd-bg-subtle);
    border-bottom: 1px solid var(--sd-admin-card-border);
}

.sd-tr-table[b-l5f4qjlaed]  td {
    border-bottom: 1px solid var(--sd-admin-card-border);
}

.sd-tr-ip[b-l5f4qjlaed] {
    font-family: 'SFMono-Regular', ui-monospace, monospace;
    font-size: 0.75rem;
}

.sd-tr-device[b-l5f4qjlaed] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 0.75rem;
    color: var(--sd-text-secondary);
}

.sd-tr-device[b-l5f4qjlaed]  .mud-icon-root {
    font-size: 1rem;
    color: var(--sd-text-secondary);
}

.sd-tr-seen[b-l5f4qjlaed] {
    font-size: 0.75rem;
    color: var(--sd-text-secondary);
    white-space: nowrap;
}

.sd-tr-req[b-l5f4qjlaed] {
    text-align: right;
    font-weight: 600;
    color: var(--sd-text);
}

@media (max-width: 600px) {
    .sd-tr-period__btn[b-l5f4qjlaed] {
        min-height: 44px;
    }
}
/* /Pages/Admin/AdminUsers.razor.rz.scp.css */
/* Brukere (/admin/brukere) — cross-tenant user search & remediation.
   Presentation only; reuses the owner-console --sd-admin-* tokens defined
   in app.css so both light and dark mode are first-class. */

/* ─── Search field ─────────────────────────── */
.sd-us-search[b-q7movdvgcb] {
    max-width: 520px;
    margin-bottom: 20px;
}

/* ─── States (empty / no results) ──────────── */
.sd-us-state[b-q7movdvgcb] {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 12px;
    padding: 44px 24px;
}

.sd-us-state__icon[b-q7movdvgcb] {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--sd-admin-teal-soft);
    color: var(--sd-admin-teal);
}

.sd-us-state__icon[b-q7movdvgcb]  .mud-icon-root { font-size: 1.6rem; }

.sd-us-state__text[b-q7movdvgcb] {
    font-size: 0.92rem;
    color: var(--sd-text-secondary);
    max-width: 42ch;
}

.sd-us-state__text strong[b-q7movdvgcb] {
    color: var(--sd-text);
    font-weight: 600;
}

/* ─── Result count caption ─────────────────── */
.sd-us-count[b-q7movdvgcb] {
    display: block;
    font-size: 0.74rem;
    color: var(--sd-text-muted);
    margin-bottom: 10px;
}

/* ─── Results table ────────────────────────── */
.sd-us-table[b-q7movdvgcb] { background: transparent; }
.sd-us-table[b-q7movdvgcb]  .mud-table-root { background: transparent; }

.sd-us-name[b-q7movdvgcb] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.sd-us-name__text[b-q7movdvgcb] { font-weight: 600; color: var(--sd-text); }

.sd-us-sub[b-q7movdvgcb] { color: var(--sd-text-muted); font-size: 0.78rem; }

/* Status + identity pills, matching the analytics tag language */
.sd-us-tag[b-q7movdvgcb] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 1px 8px;
    border-radius: 999px;
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    white-space: nowrap;
}
.sd-us-tag[b-q7movdvgcb]  .mud-icon-root { font-size: 0.82rem; }

.sd-us-tag--owner[b-q7movdvgcb] {
    background: var(--sd-admin-amber-soft);
    color: var(--sd-admin-amber);
}
.sd-us-tag--active[b-q7movdvgcb] {
    background: var(--sd-success-soft);
    color: var(--sd-success-text);
}
.sd-us-tag--locked[b-q7movdvgcb],
.sd-us-tag--danger[b-q7movdvgcb] {
    background: var(--sd-danger-soft);
    color: var(--sd-danger-text);
}
.sd-us-tag--warn[b-q7movdvgcb] {
    background: var(--sd-warning-soft);
    color: var(--sd-warning-text);
}
.sd-us-tag--muted[b-q7movdvgcb] {
    background: var(--sd-bg-subtle);
    color: var(--sd-text-muted);
    box-shadow: inset 0 0 0 1px var(--sd-admin-card-border);
}
.sd-us-tag--role[b-q7movdvgcb] {
    background: var(--sd-admin-teal-soft);
    color: var(--sd-admin-teal);
    text-transform: none;
    letter-spacing: 0;
    font-weight: 600;
}

/* ─── Expanded detail panel ────────────────── */
.sd-us-detail[b-q7movdvgcb] {
    padding: 18px 24px 22px;
    background: var(--sd-bg-subtle);
    border-top: 1px solid var(--sd-admin-card-border);
}

.sd-us-detail__heading[b-q7movdvgcb] {
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--sd-admin-teal);
    margin-bottom: 12px;
}

.sd-us-row[b-q7movdvgcb] {
    display: flex;
    gap: 12px;
    padding: 4px 0;
    font-size: 0.85rem;
    border-bottom: 1px solid color-mix(in srgb, var(--sd-admin-card-border) 55%, transparent);
}
.sd-us-row:last-child[b-q7movdvgcb] { border-bottom: 0; }
.sd-us-row__label[b-q7movdvgcb] {
    min-width: 148px;
    color: var(--sd-text-muted);
}
.sd-us-row__value[b-q7movdvgcb] {
    font-weight: 500;
    color: var(--sd-text);
}

/* Membership list inside the detail panel */
.sd-us-memberships[b-q7movdvgcb] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.sd-us-membership[b-q7movdvgcb] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    padding: 10px 12px;
    border-radius: 10px;
    background: var(--sd-admin-card);
    border: 1px solid var(--sd-admin-card-border);
}
.sd-us-membership__name[b-q7movdvgcb] {
    font-weight: 600;
    color: var(--sd-text);
}
.sd-us-membership__action[b-q7movdvgcb] { margin-left: auto; }

.sd-us-empty-memberships[b-q7movdvgcb] {
    font-size: 0.85rem;
    color: var(--sd-text-secondary);
}

/* ─── Remediation actions menu ─────────────── */
/* Keep the trigger comfortably tappable on mobile (≥44px) per the brief. */
.sd-us-actions[b-q7movdvgcb]  .mud-button-root {
    min-height: 44px;
}
