﻿:root,
html[data-theme="dark"] {
    color-scheme: dark;
    --p-bg: #0b1323;
    --p-header: #101827;
    --p-surface: #111b2d;
    --p-surface-2: #152235;
    --p-surface-3: #1a2b40;
    --p-border: #31445b;
    --p-border-soft: #26384d;
    --p-text: #f3f7fb;
    --p-muted: #afbdd0;
    --p-accent: #42d5e6;
    --p-accent-soft: rgba(66, 213, 230, .14);
    --p-row-hover: rgba(66, 213, 230, .055);
    --p-accent-strong: #16b9cd;
    --p-danger: #ff6b72;
    --p-warning: #ffd166;
    --p-shadow: 0 12px 30px rgba(0, 0, 0, .25);
}

html[data-theme="light"] {
    color-scheme: light;
    --p-bg: #eef3f7;
    --p-header: #fff;
    --p-surface: #fff;
    --p-surface-2: #f6f9fb;
    --p-surface-3: #eaf2f6;
    --p-border: #c8d5df;
    --p-border-soft: #dce5eb;
    --p-text: #152235;
    --p-muted: #627388;
    --p-accent: #007f91;
    --p-accent-soft: rgba(0, 127, 145, .11);
    --p-row-hover: rgba(0, 127, 145, .045);
    --p-accent-strong: #006b7a;
    --p-danger: #c9343d;
    --p-warning: #9a6b00;
    --p-shadow: 0 10px 28px rgba(32, 55, 76, .12);
}

html,
body.portal-theme,
body.bg-app {
    background: var(--p-bg) !important;
    color: var(--p-text) !important;
}

.portal-theme a { color: var(--p-accent); }
.portal-theme a:hover { color: var(--p-accent-strong); }
.portal-theme .app-header { background: var(--p-header) !important; border-bottom: 1px solid var(--p-border) !important; box-shadow: none !important; }
/* Keep the portal centered and comfortably sized, matching the 6Gen Project Management shell. */
.portal-theme .app-header-inner,
.portal-theme .app-content,
.portal-theme .app-footer span {
    width: calc(100% - 32px);
    max-width: 1140px !important;
    margin-left: auto;
    margin-right: auto;
}
.portal-theme .app-header-top { min-height: 54px; padding: 10px 0 7px; }
.portal-theme .app-brand-wrap { min-width: 230px; color: var(--p-text) !important; text-decoration: none; }
.portal-theme .app-brand-title { color: var(--p-text) !important; font-size: 1.12rem; font-weight: 700; }
.portal-theme .app-brand-subtitle { max-width: 560px; overflow: hidden; color: var(--p-muted) !important; font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.portal-theme .app-user-name { color: var(--p-text) !important; font-size: .88rem; }
.portal-theme .app-settings-btn { width: 36px; height: 34px; display: inline-flex; align-items: center; justify-content: center; padding: 0 !important; color: var(--p-text) !important; background: transparent !important; border: 1px solid var(--p-border) !important; border-radius: 0 !important; }
.portal-theme .app-settings-btn::after { display: none; }
.portal-theme .app-settings-btn:hover,
.portal-theme .app-settings-btn:focus,
.portal-theme .app-settings-btn.show { color: var(--p-accent) !important; background: var(--p-accent-soft) !important; border-color: var(--p-accent) !important; }

.portal-theme .app-nav { min-height: 40px; padding: 0 0 7px; gap: 2px; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: thin; }
.portal-theme .app-nav-link { display: inline-flex; align-items: center; gap: 6px; flex: 0 0 auto; padding: 7px 10px !important; color: var(--p-text) !important; background: transparent !important; border: 0 !important; border-radius: 0 !important; font-size: .83rem; line-height: 1; }
.portal-theme .app-nav-link:hover { color: var(--p-accent) !important; background: var(--p-accent-soft) !important; }
.portal-theme .app-nav-link.active { color: var(--p-accent) !important; background: transparent !important; box-shadow: inset 0 -2px 0 var(--p-accent); }
.portal-theme .app-nav-icon { width: 14px; color: currentColor; text-align: center; }
.portal-theme .app-content { flex: 1; padding: 20px 0 28px !important; background: var(--p-bg); }
.portal-theme .app-footer { color: var(--p-muted) !important; background: var(--p-header) !important; border-top: 1px solid var(--p-border) !important; }
.portal-theme .app-footer span { padding: 9px 0; font-size: .76rem; }

.portal-theme .app-settings-dropdown { width: 320px; max-height: calc(100vh - 72px); padding: 0; overflow-y: auto; color: var(--p-text) !important; background: var(--p-surface) !important; border: 1px solid var(--p-border) !important; border-radius: 0 !important; box-shadow: var(--p-shadow) !important; }
.portal-theme .settings-section { padding: 8px 0; border-bottom: 1px solid var(--p-border-soft); }
.portal-theme .settings-section-last { border-bottom: 0; }
.portal-theme .settings-section-title { padding: 5px 13px 6px; color: var(--p-accent); font-size: .75rem; font-weight: 700; }
.portal-theme .settings-form { margin: 0; }
.portal-theme .settings-item { width: 100%; min-height: 36px; display: flex; align-items: center; gap: 8px; padding: 7px 13px; color: var(--p-text) !important; background: transparent !important; border: 0 !important; border-radius: 0 !important; font: inherit; font-size: .84rem !important; text-align: left; text-decoration: none !important; cursor: pointer; }
.portal-theme .settings-item:hover,
.portal-theme .settings-item:focus,
.portal-theme .settings-item.active { color: var(--p-accent) !important; background: var(--p-accent-soft) !important; outline: 0; }
.portal-theme .settings-check,
.portal-theme .settings-icon { width: 15px; flex: 0 0 15px; color: var(--p-accent); text-align: center; font-size: .82rem; }
.portal-theme .settings-item-text { min-width: 0; display: flex; flex-direction: column; line-height: 1.15; }
.portal-theme .settings-item-text strong { font-size: .82rem; font-weight: 600; }
.portal-theme .settings-item-text small { overflow: hidden; color: var(--p-muted); font-size: .71rem; text-overflow: ellipsis; white-space: nowrap; }
.portal-theme .settings-customer-list { max-height: 210px; overflow-y: auto; }
.portal-theme .settings-count { padding: 7px 13px 3px 36px; color: var(--p-muted); font-size: .72rem; }
.portal-theme .settings-logout { color: var(--p-muted) !important; }
.portal-theme .settings-logout:hover { color: var(--p-danger) !important; }

.portal-theme .page-shell { gap: 12px; }
.portal-theme .page-header { padding: 0 0 10px !important; margin: 0 !important; background: transparent !important; border: 0 !important; border-bottom: 1px solid var(--p-border) !important; }
.portal-theme .page-title { color: var(--p-accent) !important; font-size: 1.02rem !important; font-weight: 700 !important; }
.portal-theme .page-subtitle,
.portal-theme .text-soft,
.portal-theme .text-muted { color: var(--p-muted) !important; }
.portal-theme .card-bc,
.portal-theme .bc-fasttab,
.portal-theme .bc-listpart,
.portal-theme .portal-login-card { color: var(--p-text) !important; background: var(--p-surface) !important; border: 1px solid var(--p-border) !important; box-shadow: none !important; }
.portal-theme .card-bc-header,
.portal-theme .bc-fasttab-caption,
.portal-theme .bc-listpart-caption,
.portal-theme .portal-login-header,
.portal-theme .bc-filter-pane-header,
.portal-theme .bc-filter-pane-footer { color: var(--p-accent) !important; background: var(--p-surface-2) !important; border-color: var(--p-border) !important; }
.portal-theme .card-bc-title,
.portal-theme .home-tile-title,
.portal-theme .bc-filter-pane-title { color: var(--p-accent) !important; }
.portal-theme .card-bc-subtitle,
.portal-theme .home-tile-text,
.portal-theme .bc-filter-pane-subtitle { color: var(--p-muted) !important; }
.portal-theme .home-tile,
.portal-theme .bc-active-filterbar,
.portal-theme pre { color: var(--p-text) !important; background: var(--p-surface) !important; border-color: var(--p-border) !important; }
.portal-theme .home-tile:hover { background: var(--p-accent-soft) !important; border-color: var(--p-accent) !important; }

.portal-theme .table-bc,
.portal-theme .table { color: var(--p-text) !important; }
.portal-theme .table-bc thead th,
.portal-theme .table thead th { color: var(--p-text) !important; background: var(--p-surface) !important; border-bottom-color: var(--p-border) !important; }
.portal-theme .table-bc tbody td,
.portal-theme .table tbody td {
    color: var(--p-text) !important;
    background: var(--p-surface) !important;
    border-bottom-color: var(--p-border-soft) !important;
    transition: background-color .12s ease;
}
.portal-theme .table-bc tbody tr:hover,
.portal-theme .table tbody tr:hover { background: transparent !important; }
.portal-theme .table-bc tbody tr:hover td,
.portal-theme .table tbody tr:hover td {
    color: var(--p-text) !important;
    background: var(--p-row-hover) !important;
}
.portal-theme .form-label,
.portal-theme .bc-filter-label,
.portal-theme .bc-info-label,
.portal-theme .portal-login-label { color: var(--p-text) !important; }
.portal-theme .bc-info-label::after,
.portal-theme .portal-login-label::after { border-color: var(--p-border) !important; }
.portal-theme .bc-info-value { color: var(--p-text) !important; }
.portal-theme .form-control,
.portal-theme .form-select,
.portal-theme textarea.form-control,
.portal-theme .bc-input,
.portal-theme .portal-login-input { color: var(--p-text) !important; background-color: var(--p-surface-2) !important; border-color: var(--p-border) !important; }
.portal-theme .form-control:disabled,
.portal-theme .form-control[readonly],
.portal-theme .form-select:disabled { color: var(--p-muted) !important; background-color: var(--p-surface-3) !important; }
.portal-theme .form-control:focus,
.portal-theme .form-select:focus,
.portal-theme textarea.form-control:focus,
.portal-theme .bc-input:focus,
.portal-theme .portal-login-input:focus { border-color: var(--p-accent) !important; box-shadow: 0 0 0 1px var(--p-accent) !important; }
.portal-theme .btn,
.portal-theme .btn-primary,
.portal-theme .btn-secondary,
.portal-theme .btn-success,
.portal-theme .btn-info,
.portal-theme .btn-warning,
.portal-theme .btn-danger,
.portal-theme .btn-bc,
.portal-theme .btn-bc-primary,
.portal-theme .btn-bc-sm,
.portal-theme .app-login-btn,
.portal-theme .portal-login-button { color: var(--p-text) !important; background: var(--p-surface-2) !important; border-color: var(--p-border) !important; }
.portal-theme .btn:hover,
.portal-theme .btn:focus,
.portal-theme .btn-bc:hover,
.portal-theme .btn-bc-primary:hover,
.portal-theme .btn-bc-sm:hover,
.portal-theme .app-login-btn:hover,
.portal-theme .portal-login-button:hover { color: var(--p-accent) !important; background: var(--p-accent-soft) !important; border-color: var(--p-accent) !important; }
.portal-theme .bc-filter-pane { color: var(--p-text) !important; background: var(--p-surface) !important; border-color: var(--p-border) !important; }
.portal-theme .bc-filter-backdrop { background: rgba(0, 0, 0, .55); }
.portal-theme .portal-login-wrapper { background: var(--p-bg) !important; }

.portal-dashboard { display: flex; flex-direction: column; gap: 12px; }
.dashboard-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding-bottom: 7px; }
.dashboard-title { margin: 0; color: var(--p-accent); font-size: .96rem; font-weight: 700; }
.dashboard-subtitle { margin: 4px 0 0; color: var(--p-muted); font-size: .78rem; }
.dashboard-scope { max-width: 430px; padding: 7px 10px; color: var(--p-muted); background: var(--p-surface); border: 1px solid var(--p-border); font-size: .75rem; text-align: right; }
.dashboard-section { border: 1px solid var(--p-border); background: var(--p-surface); }
.dashboard-section-title { min-height: 34px; display: flex; align-items: center; padding: 7px 11px; color: var(--p-accent); background: var(--p-surface-2); border-bottom: 1px solid var(--p-border); font-size: .82rem; font-weight: 700; }
.dashboard-kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 11px; padding-top: 9px; background: var(--p-bg); }
.dashboard-kpi-card { min-height: 98px; display: flex; flex-direction: column; justify-content: space-between; padding: 12px 13px 11px; color: var(--p-text) !important; background: var(--p-surface); border: 1px solid var(--p-border); text-decoration: none !important; }
.dashboard-kpi-card:hover { color: var(--p-text) !important; background: var(--p-accent-soft); border-color: var(--p-accent); }
.dashboard-kpi-label { color: var(--p-text); font-size: .79rem; font-weight: 600; }
.dashboard-kpi-value { color: var(--p-accent); font-size: 1.85rem; font-weight: 700; line-height: 1; }
.dashboard-kpi-card.danger .dashboard-kpi-value { color: var(--p-danger); }
.dashboard-kpi-card.warning .dashboard-kpi-value { color: var(--p-warning); }
.dashboard-kpi-note { color: var(--p-muted); font-size: .69rem; }
.dashboard-two-column { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; }
.dashboard-table-wrap { overflow-x: auto; }
.dashboard-table { width: 100%; border-collapse: collapse; font-size: .75rem; }
.dashboard-table th { padding: 7px 9px; color: var(--p-text); background: var(--p-surface); border-bottom: 1px solid var(--p-border); font-weight: 600; white-space: nowrap; }
.dashboard-table td { padding: 7px 9px; color: var(--p-text); border-bottom: 1px solid var(--p-border-soft); vertical-align: middle; }
.dashboard-table tbody tr:last-child td { border-bottom: 0; }
.dashboard-table tbody tr:hover td { color: var(--p-text); background: var(--p-row-hover); }
.dashboard-empty { padding: 18px; color: var(--p-muted); font-size: .78rem; text-align: center; }
.dashboard-link { color: var(--p-accent) !important; font-weight: 600; }

@media (max-width: 1100px) {
    .dashboard-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dashboard-two-column { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
    .portal-theme .app-header-inner,
    .portal-theme .app-content,
    .portal-theme .app-footer span { width: calc(100% - 20px); }
    .portal-theme .app-header-top { padding-left: 0; padding-right: 0; }
    .portal-theme .app-brand-wrap { min-width: 0; max-width: calc(100vw - 150px); }
    .portal-theme .app-user-name { display: none; }
    .portal-theme .app-nav { padding-left: 0; padding-right: 0; }
    .portal-theme .app-content { padding: 14px 0 22px !important; }
    .portal-theme .app-settings-dropdown { width: min(320px, calc(100vw - 20px)); }
    .dashboard-heading { flex-direction: column; }
    .dashboard-kpi-grid { grid-template-columns: 1fr; }
}

/* Compact operational grids */
.portal-theme .table-bc-compact {
    font-size: .75rem !important;
}
.portal-theme .table-bc-compact thead th {
    padding: .34rem .42rem !important;
    font-size: .71rem !important;
}
.portal-theme .table-bc-compact tbody td {
    padding: .34rem .42rem !important;
    font-size: .75rem !important;
    line-height: 1.3;
}
.portal-theme .table-bc-compact .text-small {
    font-size: .71rem !important;
}
.portal-theme .table-bc-compact .btn-bc-sm,
.portal-theme .table-bc-compact .bc-action-button.btn-sm {
    min-width: 0;
    min-height: 1.48rem;
    padding: .18rem .4rem !important;
    font-size: .71rem !important;
}
.portal-theme .online-log-table .online-log-installation {
    display: inline-block;
    max-width: 145px;
    overflow-wrap: anywhere;
}
.portal-theme .online-log-table .online-log-apps {
    display: inline-block;
    max-width: 300px;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

/* Signing key action layout */
.portal-theme .signing-key-actions-heading,
.portal-theme .signing-key-actions-cell {
    min-width: 390px;
}
.portal-theme .signing-key-actions {
    min-width: 370px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.portal-theme .signing-key-button-row {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}
.portal-theme .signing-key-button-row form,
.portal-theme .signing-key-import-form {
    margin: 0;
}
.portal-theme .signing-key-import-form {
    display: grid;
    grid-template-columns: auto minmax(115px, 1fr) auto;
    align-items: center;
    gap: 6px;
}
.portal-theme .signing-key-file-input {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.portal-theme .signing-key-file-button {
    margin: 0;
    cursor: pointer;
}
.portal-theme .signing-key-file-name {
    min-width: 0;
    overflow: hidden;
    padding: .22rem .42rem;
    color: var(--p-muted);
    background: var(--p-surface-3);
    border: 1px solid var(--p-border);
    font-size: .7rem;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 760px) {
    .portal-theme .signing-key-actions-heading,
    .portal-theme .signing-key-actions-cell,
    .portal-theme .signing-key-actions {
        min-width: 310px;
    }
    .portal-theme .signing-key-import-form {
        grid-template-columns: 1fr auto;
    }
    .portal-theme .signing-key-file-name {
        grid-column: 1 / -1;
        grid-row: 2;
    }
}


/* Compact status badges inspired by the 6Gen Project Management UI */
:root,
html[data-theme="dark"] {
    --p-badge-success-bg: #0d3824;
    --p-badge-success-border: #1f7045;
    --p-badge-success-text: #8ff0aa;
    --p-badge-warning-bg: #49350d;
    --p-badge-warning-border: #8d6819;
    --p-badge-warning-text: #ffd36b;
    --p-badge-danger-bg: #491d25;
    --p-badge-danger-border: #8e3947;
    --p-badge-danger-text: #ff9ba5;
    --p-badge-neutral-bg: #202c3d;
    --p-badge-neutral-border: #41536a;
    --p-badge-neutral-text: #c2cede;
}

html[data-theme="light"] {
    --p-badge-success-bg: #e5f4e9;
    --p-badge-success-border: #77b989;
    --p-badge-success-text: #226b36;
    --p-badge-warning-bg: #fff2cf;
    --p-badge-warning-border: #d3aa45;
    --p-badge-warning-text: #805900;
    --p-badge-danger-bg: #fbe4e7;
    --p-badge-danger-border: #d58a95;
    --p-badge-danger-text: #9a2f3c;
    --p-badge-neutral-bg: #edf1f5;
    --p-badge-neutral-border: #aab7c5;
    --p-badge-neutral-text: #506174;
}

.portal-theme .badge-bc,
.portal-theme .bc-status-badge {
    min-width: 0 !important;
    height: auto !important;
    min-height: 15px;
    padding: 1px 5px !important;
    border-radius: 2px !important;
    font-size: .63rem !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    letter-spacing: 0;
    box-shadow: none !important;
    vertical-align: middle;
}

.portal-theme .badge-active {
    color: var(--p-badge-success-text) !important;
    background: var(--p-badge-success-bg) !important;
    border-color: var(--p-badge-success-border) !important;
}

.portal-theme .badge-grace {
    color: var(--p-badge-warning-text) !important;
    background: var(--p-badge-warning-bg) !important;
    border-color: var(--p-badge-warning-border) !important;
}

.portal-theme .badge-expired,
.portal-theme .badge-blocked,
.portal-theme .badge-suspended {
    color: var(--p-badge-danger-text) !important;
    background: var(--p-badge-danger-bg) !important;
    border-color: var(--p-badge-danger-border) !important;
}

.portal-theme .badge-inactive,
.portal-theme .badge-bc:not(.badge-active):not(.badge-grace):not(.badge-expired):not(.badge-blocked):not(.badge-suspended) {
    color: var(--p-badge-neutral-text) !important;
    background: var(--p-badge-neutral-bg) !important;
    border-color: var(--p-badge-neutral-border) !important;
}

/* Patch 09A.4 - dense list pages and dashboard drill-down destinations */
.portal-theme .page-shell-data-compact .bc-actionbar,
.portal-theme .page-shell-data-compact .bc-active-filterbar,
.portal-theme .page-shell-data-compact .bc-fasttab-body {
    font-size: .75rem;
}

.portal-theme .page-shell-data-compact .bc-listpart-caption,
.portal-theme .page-shell-data-compact .card-bc-header,
.portal-theme .page-shell-data-compact .bc-fasttab-caption {
    font-size: .78rem;
}

.portal-theme .license-list-table .text-small,
.portal-theme .activation-request-table .text-small,
.portal-theme .installation-list-table .text-small,
.portal-theme .customer-list-table .text-small {
    font-size: .68rem !important;
}

.portal-theme .installation-id-text {
    display: inline-block;
    max-width: 160px;
    overflow-wrap: anywhere;
}

/* Patch 09A.5 - consistent list typography and activation detail spacing */
.portal-theme .table-bc,
.portal-theme .table,
.portal-theme .table-bc-compact,
.portal-theme .dashboard-table {
    font-size: .79rem !important;
}

.portal-theme .table-bc thead th,
.portal-theme .table thead th,
.portal-theme .table-bc-compact thead th,
.portal-theme .dashboard-table th {
    padding: .40rem .48rem !important;
    font-size: .75rem !important;
    line-height: 1.25;
}

.portal-theme .table-bc tbody td,
.portal-theme .table tbody td,
.portal-theme .table-bc-compact tbody td,
.portal-theme .dashboard-table td {
    padding: .40rem .48rem !important;
    font-size: .79rem !important;
    line-height: 1.32;
}

.portal-theme .table-bc .text-small,
.portal-theme .table-bc-compact .text-small,
.portal-theme .dashboard-table .text-small,
.portal-theme .license-list-table .text-small,
.portal-theme .activation-request-table .text-small,
.portal-theme .installation-list-table .text-small,
.portal-theme .customer-list-table .text-small {
    font-size: .73rem !important;
}

.portal-theme .page-shell-data-compact .bc-actionbar,
.portal-theme .page-shell-data-compact .bc-active-filterbar,
.portal-theme .page-shell-data-compact .bc-fasttab-body {
    font-size: .79rem;
}

.portal-theme .page-shell-data-compact .bc-listpart-caption,
.portal-theme .page-shell-data-compact .card-bc-header,
.portal-theme .page-shell-data-compact .bc-fasttab-caption {
    font-size: .81rem;
}

.portal-theme .activation-request-details-page {
    gap: 10px;
}

.portal-theme .activation-request-details-page > .activation-details-actionbar {
    margin: 0 !important;
}

.portal-theme .activation-request-details-page > .activation-details-validation:empty,
.portal-theme .activation-request-details-page .validation-summary-valid {
    display: none !important;
}

.portal-theme .activation-request-details-page > .bc-fasttab:first-of-type {
    margin-top: 0 !important;
}

/* Signing-key usage and safe rotation layout */
.portal-theme .signing-key-usage {
    display: grid;
    gap: 2px;
    min-width: 150px;
    font-size: .69rem;
    line-height: 1.25;
    color: var(--p-muted);
}

.portal-theme .signing-key-usage strong {
    color: var(--p-text);
    font-weight: 600;
}

.portal-theme .signing-key-usage-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 3px;
}

.portal-theme .signing-key-usage-links a {
    color: var(--p-accent);
    text-decoration: none;
}

.portal-theme .signing-key-usage-links a:hover {
    text-decoration: underline;
}

.portal-theme .signing-key-table th:nth-child(6),
.portal-theme .signing-key-table td:nth-child(6) {
    min-width: 175px;
}

.portal-theme .signing-key-actions-heading,
.portal-theme .signing-key-actions-cell {
    min-width: 340px;
}

.portal-theme .signing-key-actions {
    min-width: 320px;
}

/* Patch 09A.8 - aligned page actions, grid-header filters and action icons */
.portal-theme .bc-page-form {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.portal-theme .validation-summary-valid,
.portal-theme .bc-page-form > .validation-summary-valid {
    display: none !important;
}

.portal-theme .bc-page-actionbar {
    min-height: 32px;
    margin: 0 !important;
}

.portal-theme .bc-page-actionbar .bc-actionbar-left,
.portal-theme .bc-page-actionbar .bc-actionbar-right {
    min-height: 32px;
}

.portal-theme .bc-listpart-caption-toolbar,
.portal-theme .card-bc-header.bc-listpart-caption-toolbar {
    min-height: 38px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
}

.portal-theme .bc-listpart-caption-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    margin-left: auto;
    flex-wrap: wrap;
}

.portal-theme .bc-listpart-caption-actions .bc-action-button {
    min-height: 24px;
    padding: .18rem .44rem !important;
    font-size: .72rem !important;
    font-weight: 500;
}

.portal-theme .bc-listpart-caption-actions .bc-filter-count {
    min-width: 1rem;
    height: 1rem;
    font-size: .62rem;
}

.portal-theme .bc-active-filterbar-in-list {
    margin: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid var(--p-border) !important;
    padding: .38rem .55rem !important;
    background: var(--p-surface) !important;
}

.portal-theme .bc-button-with-icon {
    display: inline-flex !important;
    align-items: center;
    gap: .35rem;
}

.portal-theme .bc-button-with-icon::before {
    width: 13px;
    flex: 0 0 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--p-accent);
    font-size: .86rem;
    font-weight: 700;
    line-height: 1;
}

.portal-theme .bc-icon-upload::before { content: "↥"; }
.portal-theme .bc-icon-package::before { content: "◆"; font-size: .66rem; }
.portal-theme .bc-icon-add::before { content: "+"; font-size: 1rem; }
.portal-theme .bc-icon-save::before { content: "✓"; }
.portal-theme .bc-icon-back::before { content: "←"; }
.portal-theme .bc-icon-download::before { content: "↓"; }
.portal-theme .bc-icon-preview::before { content: "◉"; font-size: .72rem; }
.portal-theme .bc-icon-key::before { content: "✦"; font-size: .72rem; }
.portal-theme .bc-icon-edit::before { content: "✎"; }
.portal-theme .bc-icon-clear::before { content: "×"; font-size: .95rem; }

@media (max-width: 720px) {
    .portal-theme .bc-listpart-caption-toolbar,
    .portal-theme .card-bc-header.bc-listpart-caption-toolbar {
        align-items: flex-start;
    }

    .portal-theme .bc-listpart-caption-actions {
        width: 100%;
        justify-content: flex-start;
        margin-left: 0;
    }
}
