:root {
    --font-xs: 13px;
    --font-sm: 14px;
    --font-md: 15px;
    --font-base: 16px;
    --font-lg: 20px;
    --font-xl: 26px;
    --font-2xl: 32px;
}

.amch-admin-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.5rem;
    border-bottom: 1px solid var(--border);
    background: linear-gradient(180deg, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0.02) 100%);
    position: fixed;
    top: 0;
    width: 100%;
    height: 77px;
    z-index: 1000;
    backdrop-filter: blur(10px);
}

.amch-admin-branding {
    display: flex;
    align-items: center;
    gap: 1rem;
    min-width: 0;
}

.amch-admin-nav-public {
    justify-content: flex-start;
}

.amch-session-expired main,
.amch-session-expired .amch-admin-nav {
    filter: blur(8px);
    pointer-events: none;
    user-select: none;
}

.amch-session-expired-overlay {
    position: fixed;
    inset: 0;
    z-index: 3000;
    display: grid;
    padding: 1.5rem;
    place-items: center;
    background: rgba(15, 23, 42, .35);
    opacity: 0;
    pointer-events: none;
    transition: opacity .18s ease;
}

.amch-session-expired .amch-session-expired-overlay {
    opacity: 1;
    pointer-events: auto;
}

.amch-session-expired-card {
    width: min(420px, 100%);
    padding: 1.5rem;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    box-shadow: 0 22px 60px rgba(0, 0, 0, .32);
    color: var(--text);
    text-align: center;
}

.amch-session-expired-card h2 {
    margin: 0 0 .5rem;
    font-size: var(--font-xl);
}

.amch-session-expired-card p {
    margin: 0 0 1.1rem;
    color: var(--muted);
    font-size: var(--font-md);
}

.amch-admin-brand {
    display: flex;
    flex-direction: column;
    gap: .15rem;
}

.amch-admin-brand-title {
    font-size: var(--font-base);
    font-weight: var(--font-medium);
    color: var(--text);
}

.amch-admin-brand-subtitle {
    font-size: var(--font-sm);
    color: var(--muted);
}

.amch-admin-links {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    align-items: center;
}

.amch-admin-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .45rem .8rem;
    border: 1px solid var(--border);
    border-radius: 999px;
    color: var(--text);
    text-decoration: none;
    font-size: var(--font-md);
    background: var(--surface);
    transition: background .12s ease, color .12s ease, border-color .12s ease;
}

.amch-admin-link:hover {
    background: var(--accent);
    border-color: var(--accent);
    color: #fff;
    text-decoration: none;
}

.amch-admin-link.is-active {
    background: var(--accent);
    border-color: var(--accent);
    color: #fff;
}

.amch-notification-shell {
    position: relative;
}

.amch-notification-button {
    min-width: 42px;
    position: relative;
}

.amch-notification-button.has-notifications {
    border-color: var(--accent);
    color: var(--accent);
}

.amch-notification-badge {
    position: absolute;
    top: -7px;
    right: -6px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 999px;
    background: var(--danger);
    color: #fff;
    font-size: 11px;
    line-height: 18px;
    text-align: center;
    border: 1px solid var(--surface);
}

.amch-notification-panel {
    position: absolute;
    top: calc(100% + .45rem);
    right: 0;
    width: min(380px, calc(100vw - 32px));
    max-height: 460px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 8px;
    box-shadow: 0 18px 40px rgba(0, 0, 0, .42);
    z-index: 250;
}

.amch-notification-panel[hidden] {
    display: none;
}

.amch-notification-panel-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: .75rem .85rem;
    border-bottom: 1px solid var(--border);
    font-weight: 700;
}

.amch-notification-list {
    overflow: auto;
    padding: .35rem;
}

.amch-notification-empty {
    padding: 1rem;
    color: var(--muted);
    font-size: var(--font-sm);
}

.amch-notification-item {
    padding: .75rem;
    border-radius: 8px;
    border: 1px solid transparent;
    cursor: pointer;
}

.amch-notification-item + .amch-notification-item {
    border-top-color: var(--border);
}

.amch-notification-item:hover,
.amch-notification-item:focus {
    border-color: var(--accent);
    outline: none;
}

.amch-notification-item-title {
    font-weight: 700;
    color: var(--text);
}

.amch-notification-item-message {
    margin-top: .35rem;
    max-height: 6.6em;
    overflow: hidden;
    color: var(--muted);
    font-size: var(--font-sm);
    white-space: pre-line;
}

.amch-notification-item-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .5rem;
    margin-top: .65rem;
    color: var(--muted);
    font-size: var(--font-xs);
}

.amch-notification-detail-dialog {
    max-width: 620px;
    width: min(620px, calc(100vw - 32px));
}

.amch-notification-detail-dialog .admin-modal-body {
    display: flex;
    flex-direction: column;
    gap: .85rem;
}

.amch-notification-detail-meta {
    color: var(--muted);
    font-size: var(--font-sm);
    margin-bottom: 0;
}

.amch-notification-detail-body {
    margin: 0;
    padding: .95rem 1rem;
    max-height: min(460px, calc(100vh - 260px));
    overflow: auto;
    color: var(--text);
    background: var(--surface-alt);
    border: 1px solid var(--border);
    border-radius: 6px;
    font-family: inherit;
    font-size: var(--font-md);
    line-height: 1.5;
    white-space: pre-wrap;
    word-break: break-word;
}

.client-campaign-code-list {
    display: flex;
    flex-direction: column;
    gap: .55rem;
}

.client-campaign-modal-dialog {
    max-width: 960px;
    width: 95%;
}

.byte-forge-modal.client-campaign-byteforge-modal {
    max-width: min(960px, calc(100vw - 32px)) !important;
    width: min(960px, calc(100vw - 32px));
}

.byte-forge-modal.client-campaign-byteforge-modal.is-documents-open {
    max-width: min(1400px, calc(100vw - 32px)) !important;
    width: min(1400px, calc(100vw - 32px)) !important;
}

.byte-forge-modal.client-campaign-byteforge-modal .client-campaign-modal-dialog {
    max-width: none;
    width: 100%;
}

.byte-forge-modal.client-campaign-byteforge-modal.is-documents-open .admin-modal-body {
    overflow-x: hidden;
}

#campaignForm.is-documents-open {
    display: grid;
    grid-template-columns: minmax(0, 940px) minmax(340px, 380px);
    column-gap: 1rem;
    align-items: start;
    justify-content: space-between;
}

#campaignForm.is-documents-open > :not(.client-campaign-documents-panel) {
    grid-column: 1;
}

#campaignForm.is-documents-open .client-campaign-documents-panel {
    grid-column: 2;
    grid-row: 1 / span 20;
    min-width: 0;
    margin-top: 0;
    padding: 0 0 0 1rem;
    border-left: 1px solid var(--border);
}

#campaignForm.is-documents-open .client-campaign-documents-header {
    grid-template-columns: 1fr;
}

.client-campaign-code-row {
    display: grid;
    grid-template-columns: minmax(150px, 180px) minmax(90px, 200px) minmax(150px, 170px) minmax(150px, 170px) minmax(74px, auto) 42px;
    gap: .5rem;
    align-items: center;
}

.client-campaign-code-header {
    margin-bottom: .35rem;
    color: var(--muted);
    font-size: var(--font-sm);
    font-weight: var(--font-bold);
    text-transform: uppercase;
}

.client-campaign-code-row .btn-remove-promo-code {
    min-width: 38px;
    width: 38px;
    padding-left: 0;
    padding-right: 0;
}

.client-campaign-phone-list {
    display: flex;
    flex-direction: column;
    gap: .15rem;
}

.client-campaign-phone-line {
    display: block;
    white-space: nowrap;
}

.client-campaign-documents-panel {
    position: relative;
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr);
    gap: .55rem;
    margin-top: .9rem;
    cursor: default;
}

.client-campaign-documents-panel[hidden] {
    display: none;
}

.client-campaign-document-drop-zone {
    display: grid;
    gap: .55rem;
    padding: .9rem;
    border: 1px dashed var(--border);
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.02);
    cursor: pointer;
    transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
}

.client-campaign-document-drop-zone:hover,
.client-campaign-document-drop-zone:focus-within,
.client-campaign-document-drop-zone.is-dragover {
    border-color: var(--primary);
    background: rgba(99, 102, 241, 0.12);
    box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.18);
}

.client-campaign-document-drop-zone.is-uploading {
    border-color: var(--accent);
}

.client-campaign-documents-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: .75rem;
    align-items: end;
}

.client-campaign-file-input {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
}

.client-campaign-drop-hint {
    color: var(--muted);
    font-size: var(--font-sm);
    text-transform: uppercase;
}

.client-campaign-document-list {
    margin-top: .6rem;
    max-height: min(420px, calc(100vh - 360px));
    min-height: 0;
    overflow-y: auto;
    padding-right: .25rem;
}

.client-campaign-document-folder {
    display: flex;
    flex-direction: column;
    gap: .4rem;
}

.client-campaign-document-row {
    display: grid;
    grid-template-columns: 30px 56px minmax(0, 1fr) 74px 42px;
    gap: .55rem;
    align-items: center;
    min-height: 38px;
    padding: .35rem .45rem;
    border: 1px solid var(--border);
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.02);
}

.client-campaign-document-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--text);
    font-size: var(--font-lg);
    line-height: 1;
}

.client-campaign-document-type {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 26px;
    border: 1px solid rgba(var(--accent-rgb), .28);
    border-radius: 4px;
    background: rgba(var(--accent-rgb), .1);
    color: #bfdbfe;
    font-size: var(--font-xs);
    font-weight: var(--font-bold);
}

.client-campaign-document-name {
    overflow: hidden;
    color: var(--text);
    font-weight: var(--font-medium);
    text-decoration: none;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.client-campaign-document-name:hover,
.client-campaign-document-name:focus {
    color: var(--accent);
    text-decoration: underline;
}

.client-campaign-document-meta {
    color: var(--muted);
    font-size: var(--font-sm);
    text-align: right;
    white-space: nowrap;
}

.client-campaign-document-empty {
    padding: .75rem;
    border: 1px dashed var(--border);
    border-radius: 6px;
    color: var(--muted);
    font-size: var(--font-sm);
}

#campaignDocumentsToggleBtn.active {
    border-color: var(--accent);
    color: var(--accent);
}

.cc-code-active {
    white-space: nowrap;
}

.amch-admin-menu {
    position: relative;
}

.amch-admin-menu summary {
    list-style: none;
}

.amch-admin-menu summary::-webkit-details-marker {
    display: none;
}

.amch-admin-menu-toggle {
    gap: .55rem;
    cursor: pointer;
    user-select: none;
}

.amch-admin-menu-caret {
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 6px solid currentColor;
    transition: transform .14s ease;
}

.amch-admin-menu[open] .amch-admin-menu-caret {
    transform: rotate(180deg);
}

.amch-admin-menu-panel {
    position: absolute;
    top: calc(100% + .45rem);
    right: 0;
    min-width: 230px;
    max-height: calc(100vh - 105px);
    overflow: visible;
    padding: .45rem;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0.02) 100%), var(--surface);
    box-shadow: var(--shadow);
    display: flex;
    flex-direction: column;
    gap: .25rem;
}

.amch-admin-menu-group {
    position: relative;
    border-radius: 10px;
}

.amch-admin-menu-group-toggle {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: .75rem;
    padding: .65rem .8rem;
    border-radius: 10px;
    color: var(--text);
    cursor: pointer;
    font-size: var(--font-sm);
    font-weight: var(--font-medium);
    transition: background .12s ease, color .12s ease;
    user-select: none;
}

.amch-admin-menu-group-toggle .amch-admin-menu-label {
    flex: 1 1 auto;
}

.amch-admin-menu-drag-handle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.1rem;
    flex: 0 0 1.1rem;
    color: var(--muted);
    cursor: grab;
    opacity: .72;
}

.amch-admin-menu-drag-handle:active {
    cursor: grabbing;
}

.amch-admin-menu-dragging {
    opacity: .55;
}

.amch-admin-menu-drop-target {
    box-shadow: inset 0 -2px 0 var(--accent);
}

.amch-admin-menu-group-toggle:hover,
.amch-admin-menu-group:focus-within > .amch-admin-menu-group-toggle {
    background: rgba(var(--accent-rgb), 0.08);
    color: var(--text);
}

.amch-admin-menu-group.is-active > .amch-admin-menu-group-toggle {
    background: rgba(var(--accent-rgb), 0.12);
    color: var(--text);
}

.amch-admin-menu-label {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    min-width: 0;
}

.amch-admin-menu-label .bi {
    width: 1.1rem;
    flex: 0 0 1.1rem;
    color: var(--muted);
    font-size: var(--font-base);
    text-align: center;
}

.amch-admin-menu-arrow {
    color: var(--muted);
    font-size: var(--font-xs);
}

.amch-admin-submenu-panel {
    position: absolute;
    top: -.45rem;
    left: calc(100% - 1px);
    min-width: 245px;
    padding: .45rem;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0.02) 100%), var(--surface);
    box-shadow: var(--shadow);
    display: none;
    flex-direction: column;
    gap: .2rem;
    z-index: 1001;
}

.amch-admin-menu-group:hover > .amch-admin-submenu-panel,
.amch-admin-menu-group:focus-within > .amch-admin-submenu-panel {
    display: flex;
}

.amch-admin-menu-item {
    display: flex;
    align-items: center;
    gap: .65rem;
    padding: .6rem .75rem;
    border-radius: 8px;
    color: var(--text);
    text-decoration: none;
    font-size: var(--font-sm);
    transition: background .12s ease, color .12s ease;
    white-space: nowrap;
}

.amch-admin-menu-item:hover {
    text-decoration: none;
    background: rgba(var(--accent-rgb), 0.08);
}

.amch-admin-menu-item.is-active {
    background: rgba(var(--accent-rgb), 0.12);
    color: var(--text);
}

.amch-admin-loading-byteforge-modal .byte-forge-modal-header {
    justify-content: center;
    text-align: center;
}

.amch-admin-loading-byteforge-modal .byte-forge-modal-title {
    width: 100%;
}

.amch-admin-loading-body {
    padding-top: .35rem;
}

.amch-admin-loading-content {
    display: grid;
    justify-items: center;
    gap: .75rem;
    text-align: center;
}

.amch-admin-loading-spinner {
    width: 42px;
    height: 42px;
    border: 4px solid rgba(148, 163, 184, .24);
    border-top-color: var(--accent);
    border-radius: 50%;
    animation: amch-admin-spin .72s linear infinite;
}

.amch-admin-loading-message {
    color: var(--muted);
    font-size: var(--font-sm);
}

@keyframes amch-admin-spin {
    to {
        transform: rotate(360deg);
    }
}

.bf-card {
    background: linear-gradient(180deg, rgba(255,255,255,0.03) 0%, rgba(255,255,255,0.015) 100%), var(--surface);
    border: 1px solid var(--border);
    border-radius: 14px;
    box-shadow: var(--shadow);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-height: 100%;
}

.bf-card-header {
    padding: 14px 18px;
    border-bottom: 1px solid var(--border);
    background: linear-gradient(180deg, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0.02) 100%);
    color: var(--text);
    font-size: var(--font-base);
    font-weight: var(--font-medium);
}

.bf-card-body {
    padding: 18px;
    display: flex;
    flex: 1;
    flex-direction: column;
}

.admin-dashboard {
    padding: 1.5rem;
    min-height: calc(100vh - 90px);
    box-sizing: border-box;
}

.admin-page {
    padding: 1.5rem;
}

.admin-page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1.25rem;
}

.admin-page-title {
    margin: 0 0 .25rem;
}

.admin-page-subtitle {
    margin: 0;
    color: var(--text-muted);
}

.admin-page-actions,
.admin-inline-actions {
    display: flex;
    gap: .5rem;
    flex-wrap: wrap;
}

.admin-action-select {
    min-width: 220px;
    width: auto;
}

.admin-action-search {
    min-width: 260px;
    width: 320px;
    max-width: 100%;
}

.admin-inline-actions-center {
    display: flex;
    align-items: center;
    gap: .5rem;
    flex-wrap: wrap;
}

.admin-card-header-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.admin-card-body-flush {
    padding: 0;
}

.dnis-master-table {
    --dnis-master-active-bg: rgba(var(--accent-rgb), 0.08);
    --dnis-row-alt: var(--surface-alt);
    --dnis-toggle-bg: var(--surface-alt);
    --dnis-detail-panel-bg: var(--surface-alt);
    --dnis-detail-table-bg: var(--surface);
    --dnis-detail-head-bg: var(--surface-alt);
    --dnis-detail-border: rgba(var(--accent-rgb), 0.36);
}

.dnis-master-table tbody tr.dnis-master-row {
    cursor: pointer;
}

.admin-loading-panel {
    padding: 1rem;
    color: var(--text-muted);
}

.admin-dashboard-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 1rem;
    align-items: stretch;
}

.admin-panel-card {
    min-height: 100%;
}

.admin-session-summary {
    align-items: flex-end;
    display: flex;
    flex-direction: column;
    gap: .45rem;
}

.admin-app-domain-summary {
    align-items: center;
    color: var(--muted);
    display: flex;
    flex-wrap: wrap;
    font-size: var(--font-sm);
    gap: .35rem .75rem;
    justify-content: flex-end;
}

.admin-app-domain-summary strong {
    color: var(--text);
    font-weight: var(--font-medium);
}

.admin-inline-link {
    appearance: none;
    background: transparent;
    border: 0;
    color: var(--accent);
    cursor: pointer;
    font: inherit;
    font-weight: var(--font-medium);
    padding: 0;
}

.admin-inline-link:hover,
.admin-inline-link:focus {
    color: var(--accent);
    text-decoration: underline;
}

.admin-stat {
    display: grid;
    grid-template-columns: minmax(110px, 42%) minmax(0, 1fr);
    gap: .9rem;
    align-items: start;
    padding: .55rem 0;
    border-bottom: 1px solid rgba(148, 163, 184, 0.18);
}

.admin-stat:last-child {
    border-bottom: none;
}

.admin-stat-label {
    color: var(--muted);
    font-size: var(--font-sm);
    font-weight: var(--font-medium);
}

.admin-stat-value {
    color: var(--text);
    font-weight: var(--font-medium);
    text-align: right;
    overflow-wrap: anywhere;
}

.admin-stat-subvalue {
    display: block;
    margin-top: .2rem;
    color: var(--muted);
    font-size: var(--font-sm);
    font-weight: var(--font-medium);
}

.admin-pill {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .25rem .65rem;
    border-radius: 999px;
    font-size: var(--font-sm);
    font-weight: var(--font-medium);
    border: 1px solid transparent;
}

.admin-pill.success {
    color: #047857;
    background: rgba(22, 163, 74, .12);
    border-color: rgba(22, 163, 74, .32);
}

.admin-pill.warning {
    color: #b45309;
    background: rgba(245, 158, 11, .14);
    border-color: rgba(245, 158, 11, .35);
}

.admin-pill.neutral {
    color: var(--muted);
    background: var(--surface-muted);
    border-color: var(--border);
}

.admin-pill-gap {
    margin-left: .35rem;
}

.admin-pill-list {
    align-items: center;
    display: inline-flex;
    flex-wrap: wrap;
    gap: .35rem;
    min-width: 0;
}

.admin-script-type-cell {
    min-width: 440px;
}

.dnis-script-type-drop-codes {
    color: var(--muted);
    display: grid;
    font-size: var(--font-xs);
    gap: .2rem;
    line-height: 1.35;
    margin-top: .4rem;
}

.dnis-script-type-drop-code-row {
    overflow-wrap: anywhere;
}

.dnis-script-type-drop-code-label {
    color: var(--text);
    font-weight: 600;
}

.dnis-script-type-drop-code-none {
    font-style: italic;
}

.admin-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    margin-top: auto;
    padding-top: 1rem;
}

.admin-note {
    margin-top: .85rem;
    font-size: var(--font-sm);
    color: var(--muted);
    line-height: 1.5;
}

.admin-note-inline {
    margin-top: 0;
}

.admin-note-spaced {
    margin-top: .4rem;
}

.admin-hidden {
    display: none !important;
}

.byte-forge-modal.admin-monitor-detail-byteforge-modal {
    max-width: min(980px, calc(100vw - 32px));
    width: min(980px, calc(100vw - 32px));
}

.byte-forge-modal.admin-monitor-detail-byteforge-modal .byte-forge-modal-header {
    padding: .85rem 1.25rem;
}

.byte-forge-modal.admin-monitor-detail-byteforge-modal .byte-forge-modal-body {
    max-height: calc(100vh - 168px);
    overflow: auto;
    padding: 1rem 1.25rem .85rem;
}

.byte-forge-modal.admin-monitor-detail-byteforge-modal .byte-forge-modal-footer {
    padding: .8rem 1.25rem;
}

.admin-monitor-detail-content {
    display: grid;
    gap: .05rem;
}

.admin-monitor-detail-content[hidden] {
    display: none;
}

.admin-monitor-detail-content .collectjs-mrtg-card:first-child {
    margin-top: 0;
}

.admin-monitor-detail-content .collectjs-mrtg-graph {
    height: 136px;
}

.admin-monitor-detail-content .collectjs-mrtg-axis {
    margin-top: .3rem;
}

.admin-monitor-detail-content .collectjs-mrtg-legend {
    margin-top: .35rem;
}

.admin-monitor-detail-content .collectjs-mrtg-ratios {
    margin-top: 0;
    padding-bottom: .1rem;
}

.admin-monitor-detail-content .admin-stat {
    padding: .43rem 0;
}

.app-domain-current-summary {
    background: var(--surface-alt);
    border: 1px solid var(--border);
    border-radius: 8px;
    margin-bottom: .85rem;
    padding: .75rem .85rem;
}

.app-domain-cycle-list {
    display: grid;
    gap: .85rem;
}

.app-domain-modal-grid {
    display: grid;
    gap: .85rem;
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
}

.app-domain-cycle {
    background: var(--surface-alt);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: .85rem;
}

.app-domain-cycle-head {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    justify-content: space-between;
    margin-bottom: .35rem;
}

.app-domain-cycle-head code {
    color: var(--muted);
    font-size: var(--font-sm);
    overflow-wrap: anywhere;
}

.app-domain-window-table {
    display: grid;
    gap: .15rem;
}

.app-domain-window-row {
    align-items: center;
    border-bottom: 1px solid rgba(148, 163, 184, 0.18);
    display: grid;
    gap: .65rem;
    grid-template-columns: minmax(90px, 1fr) minmax(56px, auto) minmax(96px, auto);
    padding: .43rem 0;
}

.app-domain-window-row:last-child {
    border-bottom: none;
}

.app-domain-window-row span {
    color: var(--muted);
    font-size: var(--font-sm);
}

.app-domain-window-row strong {
    color: var(--text);
    font-weight: var(--font-medium);
    text-align: right;
}

.app-domain-window-head span {
    color: var(--text-muted);
    font-size: var(--font-xs);
    font-weight: var(--font-medium);
    text-transform: uppercase;
}

.admin-required {
    color: var(--danger);
}

.admin-readonly-label {
    background: var(--surface-muted);
    border: 1px solid var(--border);
    border-radius: 4px;
    color: var(--text);
    height: 38px;
    line-height: 1.5;
    padding: .45rem .65rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-field {
    margin-bottom: .75rem;
}

.admin-field-wide {
    margin-bottom: 1rem;
}

.admin-two-column-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .75rem;
    margin-bottom: .75rem;
}

.database-health-page > .admin-two-column-grid {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
    gap: 1rem;
    align-items: start;
}

.admin-margin-top {
    margin-top: 1rem;
}

.admin-status-badge {
    display: inline-flex;
    align-items: center;
    margin-left: .5rem;
    padding: 2px 10px;
    border-radius: 999px;
    color: #fff;
    font-size: var(--font-sm);
    font-weight: var(--font-medium);
}

.admin-status-badge-success {
    background: var(--success);
}

.admin-status-badge-danger {
    background: var(--danger);
}

.admin-definition-list {
    display: grid;
    gap: .9rem;
}

.admin-definition-list dt {
    color: var(--muted);
    font-size: var(--font-sm);
    font-weight: var(--font-bold);
    text-transform: uppercase;
    letter-spacing: .04em;
}

.admin-definition-list dd {
    margin: .2rem 0 0;
    color: var(--text);
}

.admin-disclosure summary {
    cursor: pointer;
    color: var(--text);
    font-weight: var(--font-medium);
}

.admin-chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    list-style: none;
    margin: .85rem 0 0;
    padding: 0;
}

.admin-chip-list li {
    display: inline-flex;
    min-width: 0;
}

.admin-error {
    color: var(--danger);
    font-size: var(--font-md);
}

.admin-modal-overlay {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 1055;
    background: var(--modal-lightbox-bg);
    backdrop-filter: var(--modal-lightbox-filter);
    align-items: center;
    justify-content: center;
    animation: adminModalLightboxIn 220ms ease-out;
}

.admin-modal-overlay-high {
    z-index: 1060;
}

.admin-modal-overlay-top {
    z-index: 1065;
}

.admin-modal-dialog {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--text);
    width: 92%;
    padding: 0;
    box-shadow: var(--shadow);
    overflow: hidden;
    animation: adminModalDropIn 280ms cubic-bezier(0.16, 1, 0.3, 1);
    transform-origin: 50% 20%;
}

.admin-modal-overlay.admin-modal-closing {
    animation: adminModalLightboxOut 180ms ease-in forwards;
}

.admin-modal-overlay.admin-modal-closing .admin-modal-dialog {
    animation: adminModalLiftOut 180ms ease-in forwards;
}

.admin-modal-sm {
    max-width: 440px;
    width: 90%;
    padding: 1.5rem;
}

.admin-modal-md {
    max-width: 480px;
    width: 90%;
    padding: 1.5rem;
}

.admin-modal-form {
    max-width: 560px;
}

.admin-modal-form-wide {
    max-width: 620px;
}

.market-modal-dialog {
    max-width: 720px;
    width: 94%;
    transition: max-width .16s ease;
}

.dnis-campaign-dialog {
    max-width: 900px;
    width: 94%;
}

.market-modal-dialog.is-script-types-open {
    max-width: 1120px;
}

.admin-user-modal-dialog {
    max-width: 980px;
    width: 95%;
}

.admin-role-modal-dialog {
    max-width: 1060px;
    width: 95%;
}

.admin-quantity-rule-dialog {
    max-width: 960px;
    width: 95%;
}

.admin-product-exemption-dialog {
    max-width: 960px;
    width: 95%;
}

.admin-modal-xl {
    max-width: 980px;
    width: 95%;
    max-height: 90vh;
    overflow: auto;
}

.admin-tax-bulk-dialog {
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 3rem);
    max-width: 1080px;
    overflow: hidden;
}

.admin-tax-bulk-dialog .admin-modal-body {
    flex: 1 1 auto;
    overflow: auto;
}

.admin-tax-bulk-dialog .admin-modal-footer {
    flex: 0 0 auto;
}

.admin-modal-header {
    background: var(--surface);
    border-radius: 8px 8px 0 0;
    padding: .9rem 1.25rem;
    border-bottom: 1px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.admin-modal-header-actions {
    display: flex;
    align-items: center;
    gap: .5rem;
}

.admin-modal-title {
    color: var(--text);
    margin: 0;
    font-size: var(--font-base);
    font-weight: var(--font-medium);
}

.admin-modal-close {
    background: none;
    border: none;
    color: var(--muted);
    font-size: var(--font-xl);
    cursor: pointer;
    line-height: 1;
}

.admin-modal-close:hover,
.admin-modal-close:focus {
    color: var(--text);
}

.admin-modal-body {
    background: var(--surface);
    color: var(--text);
    padding: 1.25rem;
}

.admin-user-modal-dialog .admin-modal-body {
    max-height: calc(90vh - 130px);
    overflow: auto;
}

.admin-modal-footer {
    background: var(--surface);
    border-radius: 0 0 8px 8px;
    padding: .75rem 1.25rem;
    border-top: 1px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.admin-modal-field-help {
    display: block;
    flex: 1 1 320px;
    min-height: 2.7rem;
    color: var(--text-muted);
    font-size: var(--font-sm);
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.admin-modal-footer .admin-error:not(:empty) + .admin-modal-field-help {
    display: none;
}

.admin-modal-actions {
    display: flex;
    gap: .5rem;
}

.admin-modal-actions-wrap {
    display: flex;
    gap: .5rem;
    flex-wrap: wrap;
}

.byte-forge-modal.admin-toolkit-form-modal {
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 2rem);
    padding: 0;
}

.byte-forge-modal.admin-toolkit-form-modal .byte-forge-modal-header,
.byte-forge-modal.admin-toolkit-form-modal .byte-forge-modal-footer {
    display: none;
}

.byte-forge-modal.admin-toolkit-form-modal .byte-forge-modal-body {
    display: flex;
    flex: 1 1 auto;
    max-height: none;
    min-height: 0;
    overflow: hidden;
    padding: 0;
}

.byte-forge-modal.admin-toolkit-form-modal .admin-modal-dialog {
    border: 0;
    box-shadow: none;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    max-height: calc(100vh - 2rem);
    min-height: 0;
    width: 100%;
}

.byte-forge-modal.admin-toolkit-form-modal .admin-modal-header,
.byte-forge-modal.admin-toolkit-form-modal .admin-modal-footer {
    flex: 0 0 auto;
}

.byte-forge-modal.admin-toolkit-form-modal .admin-modal-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
}

.byte-forge-modal.admin-quantity-rule-form-modal {
    max-width: min(960px, calc(100vw - 32px)) !important;
    width: min(960px, calc(100vw - 32px));
}

.byte-forge-modal.admin-product-exemption-form-modal {
    max-width: min(960px, calc(100vw - 32px)) !important;
    width: min(960px, calc(100vw - 32px));
}

.admin-confirm-title {
    margin: 0 0 .75rem;
    font-size: var(--font-base);
}

@keyframes adminModalLightboxIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes adminModalLightboxOut {
    from { opacity: 1; }
    to { opacity: 0; }
}

@keyframes adminModalDropIn {
    from {
        opacity: 0;
        transform: translateY(-54px) scale(1.18);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes adminModalLiftOut {
    from {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
    to {
        opacity: 0;
        transform: translateY(-36px) scale(1.1);
    }
}

@media (prefers-reduced-motion: reduce) {
    .admin-modal-overlay,
    .admin-modal-dialog,
    .admin-modal-overlay.admin-modal-closing,
    .admin-modal-overlay.admin-modal-closing .admin-modal-dialog {
        animation: none;
    }
}

.admin-confirm-text {
    color: var(--text-muted);
    margin-bottom: 1.25rem;
    font-size: var(--font-base);
}

.admin-confirm-actions {
    display: flex;
    justify-content: flex-end;
    gap: .5rem;
}

.admin-role-list {
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: .75rem;
    min-height: 56px;
}

.admin-user-modal-layout {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) minmax(380px, 1.15fr);
    gap: 1.25rem;
    align-items: start;
}

.admin-user-modal-fields {
    min-width: 0;
}

.admin-user-clients-field {
    margin-top: 1.35rem;
}

.admin-user-active-field {
    margin-top: 1.2rem;
}

.admin-client-combo {
    position: relative;
}

.admin-client-combo-wrap {
    align-items: center;
    display: flex;
    position: relative;
    width: 100%;
}

.admin-client-search {
    padding-right: 3.4rem;
}

.admin-client-combo-toggle,
.admin-client-combo-clear {
    background: none;
    border: 0;
    color: var(--muted);
    line-height: 1;
    padding: 0 .25rem;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.admin-client-combo-toggle {
    font-size: var(--font-xs);
    right: 1.9rem;
}

.admin-client-combo-clear {
    font-size: var(--font-md);
    right: .45rem;
}

.admin-client-combo-toggle:hover,
.admin-client-combo-clear:hover {
    color: var(--accent);
}

.admin-client-combo-dropdown {
    background: var(--surface);
    border: 1px solid var(--accent);
    border-radius: 6px;
    box-shadow: var(--shadow);
    display: none;
    left: 0;
    max-height: 220px;
    overflow-y: auto;
    position: fixed;
    top: calc(100% + 3px);
    width: 100%;
    z-index: 4000;
}

.admin-client-combo-dropdown.open {
    display: block;
}

.admin-client-combo-item {
    background: transparent;
    border: 0;
    color: var(--text);
    cursor: pointer;
    display: block;
    padding: .45rem .7rem;
    text-align: left;
    width: 100%;
}

.admin-client-combo-item small {
    color: var(--muted);
    display: block;
    font-size: var(--font-sm);
    margin-top: .1rem;
}

.admin-client-combo-item:hover,
.admin-client-combo-item:focus,
.admin-client-combo-item.is-selected {
    background: rgba(var(--accent-rgb), .15);
    color: var(--accent);
}

.admin-user-roles-field {
    min-width: 0;
}

.admin-user-invite-hint {
    margin: -.3rem 0 .65rem 1.4rem;
}

.admin-role-picker {
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: .75rem;
    min-height: 56px;
}

.admin-role-modal-layout {
    display: grid;
    grid-template-columns: minmax(320px, 1fr) minmax(360px, .95fr);
    gap: 1.25rem;
    align-items: start;
}

.admin-role-modal-pages {
    border-left: 1px solid var(--border);
    padding-left: 1.25rem;
}

.admin-role-modal-pages > label {
    display: block;
}

.admin-role-picker-toolbar {
    margin-bottom: .6rem;
}

.admin-role-picker-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: .75rem;
    align-items: center;
}

.admin-role-picker-label {
    color: var(--muted);
    display: block;
    font-size: var(--font-sm);
    font-weight: var(--font-bold);
    margin-bottom: .25rem;
}

.admin-role-picker-list {
    background: var(--input-bg);
    border: 1px solid var(--border);
    border-radius: 4px;
    min-height: 210px;
    max-height: 210px;
    overflow: auto;
    padding: .25rem;
    width: 100%;
    font-size: var(--font-sm);
}

.admin-role-modal-dialog .admin-role-picker-list {
    min-height: 420px;
    max-height: 56vh;
}

.admin-role-page-group + .admin-role-page-group {
    border-top: 1px solid var(--border);
    margin-top: .45rem;
    padding-top: .45rem;
}

.admin-role-page-group-title {
    color: var(--muted);
    font-size: var(--font-xs);
    font-weight: var(--font-bold);
    letter-spacing: .04em;
    margin: .2rem .25rem .35rem;
    text-transform: uppercase;
}

.market-editor-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: .9rem;
}

.client-editor-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: .9rem;
}

.market-modal-dialog.is-script-types-open .market-editor-layout {
    grid-template-columns: minmax(0, 560px) minmax(460px, 1fr);
}

.client-modal-dialog.is-markets-open .client-editor-layout {
    grid-template-columns: minmax(260px, 320px) minmax(520px, 1fr);
}

.market-editor-main {
    min-width: 0;
}

.client-editor-main {
    min-width: 0;
}

.client-modal-dialog.is-markets-open .client-editor-main .admin-two-column-grid {
    grid-template-columns: 1fr;
}

.client-modal-dialog.is-markets-open .client-editor-main .admin-field {
    margin-bottom: .8rem;
}

.market-auto-fee-fields {
    margin-bottom: .75rem;
    max-height: 340px;
    opacity: 1;
    overflow: hidden;
    transform: translateY(0);
    transition: max-height .22s ease, opacity .16s ease, transform .18s ease, margin-bottom .18s ease;
}

.market-auto-fee-fields.is-collapsed {
    margin-bottom: 0;
    max-height: 0;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-4px);
}

@media (prefers-reduced-motion: reduce) {
    .market-auto-fee-fields {
        transition: none;
    }
}

.market-color-input {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px;
    gap: .45rem;
    align-items: stretch;
}

.market-color-picker {
    width: 44px;
    min-width: 44px;
    height: 34px;
    padding: 2px;
    border: 1px solid var(--border);
    border-radius: 4px;
    background: var(--surface-alt);
    cursor: pointer;
}

.market-color-picker::-webkit-color-swatch-wrapper {
    padding: 0;
}

.market-color-picker::-webkit-color-swatch {
    border: 0;
    border-radius: 3px;
}

.market-color-picker::-moz-color-swatch {
    border: 0;
    border-radius: 3px;
}

.market-script-types-panel {
    border-left: 1px solid var(--border);
    min-width: 0;
    padding-left: .9rem;
}

.client-markets-panel {
    border-left: 1px solid var(--border);
    min-width: 0;
    padding-left: .9rem;
}

.market-script-types-header {
    align-items: baseline;
    display: flex;
    gap: .75rem;
    justify-content: space-between;
    margin-bottom: .35rem;
}

.market-script-types-close {
    line-height: 1;
    padding: .1rem .25rem;
}

.admin-role-picker-option {
    border: 1px solid transparent;
    border-radius: 4px;
    color: var(--text);
    cursor: pointer;
    display: block;
    padding: .35rem .45rem;
    user-select: none;
}

.admin-role-picker-option:hover,
.admin-role-picker-option:focus {
    background: rgba(99, 102, 241, .12);
    border-color: rgba(99, 102, 241, .3);
    outline: none;
}

.admin-role-picker-option.is-selected {
    background: rgba(99, 102, 241, .22);
    border-color: rgba(129, 140, 248, .55);
}

.admin-role-picker-option-name,
.admin-role-picker-option-description {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-role-picker-option-name {
    font-weight: var(--font-bold);
}

.admin-role-picker-option-description {
    color: var(--muted);
    font-size: var(--font-sm);
    padding-left: .65rem;
}

.admin-product-multi-selector {
    display: grid;
    gap: .75rem;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
}

.admin-product-picker-list {
    min-height: 190px;
    max-height: 230px;
}

.admin-product-picker-list.is-disabled {
    opacity: .78;
}

.admin-product-picker-empty {
    color: var(--text-muted);
    padding: .55rem .65rem;
}

.admin-product-picker-actions .btn {
    min-width: 42px;
    padding: .18rem .45rem;
}

.admin-role-picker-actions {
    display: flex;
    flex-direction: column;
    gap: .35rem;
}

.admin-role-picker-actions .btn {
    min-width: 42px;
    padding: .18rem .45rem;
}

.admin-check-label {
    display: flex;
    align-items: center;
    gap: .4rem;
    cursor: pointer;
    font-size: var(--font-md);
}

.admin-role-option {
    display: flex;
    align-items: flex-start;
    gap: .5rem;
    cursor: pointer;
    margin-bottom: .5rem;
}

.admin-role-meta,
.admin-muted-small {
    color: var(--text-muted);
    font-size: var(--font-sm);
}

.admin-bulk-help {
    font-size: var(--font-sm);
    color: var(--text-muted);
    margin-top: .15rem;
}

.admin-modal-panel {
    border: 1px solid var(--border);
    border-radius: 6px;
    overflow: hidden;
}

.admin-modal-panel-header {
    border-bottom: 1px solid var(--border);
    color: var(--text);
    font-weight: var(--font-bold);
    padding: .75rem 1rem;
}

.admin-modal-panel-body {
    padding: 1rem;
}

.admin-mono-textarea {
    font-family: Consolas, monospace;
    resize: vertical;
}

.admin-card-spaced {
    margin-bottom: 1rem;
}

.admin-table-zero {
    margin: 0;
}

.client-master-table {
    --client-master-active-bg: rgba(var(--accent-rgb), 0.08);
    --client-row-alt: var(--surface-alt);
    --client-detail-panel-bg: var(--surface-alt);
    --client-detail-table-bg: var(--surface);
    --client-detail-head-bg: var(--surface-alt);
    --client-detail-border: rgba(var(--accent-rgb), .36);
}

.client-master-row {
    cursor: pointer;
}

.client-master-table tbody tr.client-master-row:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: -2px;
}

.table > tbody > tr.client-master-row[aria-selected="true"] > td,
.client-master-table tbody tr.client-master-row[aria-selected="true"] {
    background: var(--client-master-active-bg);
    color: var(--text);
}

.client-market-detail-row > td {
    --bs-table-bg: var(--client-detail-panel-bg);
    --bs-table-accent-bg: var(--client-detail-panel-bg);
    --bs-table-color: var(--text);
    background: var(--client-detail-panel-bg) !important;
    border-left: 3px solid var(--client-detail-border);
    color: var(--text);
}

.client-market-detail-hidden {
    display: none;
}

.client-market-detail-panel {
    padding: .85rem 1rem;
}

.client-market-detail-toolbar {
    display: flex;
    justify-content: flex-end;
    margin-bottom: .75rem;
}

.client-market-detail-toolbar .btn-add-client-market {
    min-width: 132px;
    padding: .45rem .85rem;
}

.client-market-detail-table {
    --bs-table-bg: var(--client-detail-table-bg);
    --bs-table-accent-bg: var(--client-detail-table-bg);
    --bs-table-color: var(--text);
    background: var(--client-detail-table-bg);
    border-color: var(--client-detail-border);
    color: var(--text);
}

.table.client-market-detail-table > thead > tr > th {
    --bs-table-bg: var(--client-detail-head-bg);
    --bs-table-accent-bg: var(--client-detail-head-bg);
    --bs-table-color: var(--text-muted);
    background: var(--client-detail-head-bg) !important;
    border-color: var(--client-detail-border);
    color: var(--text-muted) !important;
    font-size: var(--font-sm);
}

.table.client-market-detail-table > tbody > tr > td {
    --bs-table-bg: var(--client-detail-table-bg);
    --bs-table-accent-bg: var(--client-detail-table-bg);
    --bs-table-color: var(--text);
    background: var(--client-detail-table-bg) !important;
    border-color: var(--client-detail-border);
    color: var(--text) !important;
}

.table.client-market-detail-table > tbody > tr:nth-child(even) > td,
.table.client-market-detail-table > tbody > tr:hover > td {
    --bs-table-bg: var(--client-row-alt);
    --bs-table-accent-bg: var(--client-row-alt);
    background: var(--client-row-alt) !important;
    color: var(--text) !important;
}

@media (max-width: 860px) {
    .admin-user-modal-layout,
    .admin-role-modal-layout,
    .market-modal-dialog.is-script-types-open .market-editor-layout,
    .client-modal-dialog.is-markets-open .client-editor-layout,
    .admin-role-picker-grid,
    .admin-product-multi-selector {
        grid-template-columns: 1fr;
    }

    .market-script-types-panel,
    .admin-role-modal-pages,
    .client-markets-panel {
        border-left: 0;
        border-top: 1px solid var(--border);
        padding-left: 0;
        padding-top: .9rem;
    }

    .admin-role-picker-actions {
        flex-direction: row;
        justify-content: center;
        flex-wrap: wrap;
    }
}

.admin-cell-center {
    text-align: center;
}

.admin-cell-right {
    text-align: right;
}

.admin-cell-left {
    text-align: left;
}

.admin-cell-nowrap {
    white-space: nowrap;
}

.admin-cell-actions {
    text-align: center;
    white-space: nowrap;
}

.admin-cell-actions.admin-cell-left {
    text-align: left;
}

.admin-action-placeholder {
    visibility: hidden;
}

.admin-cell-actions .btn + .btn {
    margin-left: .35rem;
}

.admin-btn-compact {
    padding: 2px 10px;
    font-size: var(--font-sm);
}

.admin-btn-gap {
    margin-right: 4px;
}

.client-campaign-flag-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    font-size: var(--font-lg);
    line-height: 1;
    cursor: pointer;
}

.client-campaign-flag-toggle:hover,
.client-campaign-flag-toggle:focus {
    color: var(--accent);
}

.client-campaign-flag-toggle:disabled {
    cursor: wait;
    opacity: .65;
}

.client-campaign-status-ok {
    color: var(--success, #10b981);
    font-weight: 700;
}

.client-campaign-status-muted {
    color: var(--text-muted);
}

.admin-btn-icon-text {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
}

.admin-btn-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.admin-th-id {
    width: 80px;
}

.admin-th-narrow {
    width: 70px;
}

.admin-th-small {
    width: 85px;
}

.admin-th-medium {
    width: 90px;
}

.admin-th-date-time {
    width: 165px;
}

.admin-th-script-types {
    width: 470px;
}

.admin-th-project {
    width: 110px;
}

.admin-th-actions-sm {
    width: 110px;
}

.admin-th-actions {
    width: 145px;
}

.admin-th-actions-wide {
    width: 180px;
}

.admin-th-actions-xl {
    width: 220px;
}

.admin-th-scope {
    width: 125px;
}

.admin-th-ip,
.admin-th-phone {
    width: 165px;
}

.admin-th-phone-wide {
    width: 190px;
}

.admin-th-date {
    width: 185px;
}

.admin-sortable-header {
    cursor: pointer;
    user-select: none;
}

.admin-pagination {
    padding: .85rem 1rem;
    border-top: 1px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    flex-wrap: wrap;
}

.admin-pagination-summary {
    color: var(--text-muted);
    font-size: var(--font-md);
}

.admin-list-page-size-label {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    color: var(--text-muted);
    font-size: var(--font-sm);
    font-weight: var(--font-medium);
}

.admin-list-page-size {
    width: auto;
    min-width: 76px;
}

.admin-list-pagination-tools {
    position: relative;
    display: flex;
    justify-content: flex-end;
    padding: .85rem 1rem 0;
}

.admin-list-pagination-tools-inline {
    padding: 0;
}

.dnis-master-table .admin-th-phone-wide {
    min-width: 245px;
    width: 245px;
}

.dnis-phone-summary {
    max-width: 520px;
}

.dnis-master-table .admin-pill.neutral {
    color: var(--text);
}

.dnis-phone-pill {
    box-sizing: content-box;
    justify-content: space-between;
    gap: .45rem;
    width: 160px;
    white-space: nowrap;
}

.dnis-phone-pill-number {
    min-width: 0;
    text-align: left;
}

.dnis-phone-pill-actions {
    align-items: center;
    display: inline-flex;
    flex-shrink: 0;
    gap: .25rem;
    justify-content: flex-end;
}

.dnis-phone-pill-action {
    align-items: center;
    background: transparent;
    border: 0;
    color: var(--text);
    cursor: pointer;
    display: inline-flex;
    font-size: .75rem;
    height: 18px;
    justify-content: center;
    line-height: 1;
    margin: 0;
    padding: 0;
    width: 18px;
}

.dnis-phone-pill-action:hover,
.dnis-phone-pill-action:focus {
    color: var(--accent);
}

.dnis-phone-pill-action.danger:hover,
.dnis-phone-pill-action.danger:focus {
    color: var(--danger);
}

.admin-list-settings-toggle {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    min-width: 32px;
    height: 32px;
    padding: 0;
    border: 1px solid var(--border);
    border-radius: 4px;
    background: none;
    color: var(--muted);
    font-size: var(--font-base);
    line-height: 1;
    cursor: pointer;
    transition: color .15s, border-color .15s;
}

.admin-list-settings-toggle:hover,
.admin-list-settings-toggle:focus,
.admin-list-settings-toggle.active {
    border-color: var(--accent);
    color: var(--accent);
}

.admin-list-settings-panel {
    position: absolute;
    top: calc(100% + .45rem);
    right: 0;
    z-index: 20;
    padding: .6rem .7rem;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    box-shadow: 0 18px 40px rgba(0, 0, 0, .26);
    white-space: nowrap;
}

.admin-pagination-buttons {
    display: flex;
    align-items: center;
    gap: .35rem;
    flex-wrap: wrap;
}

.admin-pagination-ellipsis {
    color: var(--text-muted);
    font-size: var(--font-sm);
    padding: 0 .15rem;
}

.admin-generated-muted {
    color: var(--text-muted);
}

.admin-generated-muted-sm {
    color: var(--text-muted);
    font-size: var(--font-sm);
}

.admin-color-swatch {
    display: inline-block;
    width: .85rem;
    height: .85rem;
    border-radius: 999px;
    border: 1px solid rgba(148, 163, 184, 0.45);
    vertical-align: -0.1rem;
}

.admin-code {
    display: block;
    padding: .7rem .85rem;
    margin-top: .75rem;
    border-radius: 8px;
    background: #0f172a;
    color: #e2e8f0;
    font-family: var(--font-mono);
    font-size: var(--font-sm);
    overflow-x: auto;
    border: 1px solid rgba(99, 102, 241, 0.2);
}

.admin-alert {
    margin-bottom: 1rem;
    padding: .85rem 1rem;
    border-radius: 8px;
    border: 1px solid #bfdbfe;
    background: #eff6ff;
    color: #1d4ed8;
}

.admin-alert-success {
    border-color: #bbf7d0;
    background: #f0fdf4;
    color: #166534;
}

.admin-alert-warning {
    border-color: #fde68a;
    background: #fffbeb;
    color: #92400e;
}

.admin-log-list {
    display: flex;
    flex-direction: column;
    gap: .65rem;
    margin-top: .9rem;
}

.admin-log-link {
    display: flex;
    justify-content: space-between;
    gap: .75rem;
    padding: .7rem .8rem;
    border: 1px solid var(--border);
    border-radius: 10px;
    text-decoration: none;
    color: var(--text);
    background: rgba(255, 255, 255, 0.02);
}

.admin-log-link:hover {
    text-decoration: none;
    border-color: var(--accent);
    background: rgba(59, 130, 246, 0.08);
}

.collectjs-trend-list {
    display: flex;
    flex-direction: column;
    gap: .55rem;
    margin-top: .85rem;
}

.collectjs-trend-list.compact {
    max-height: 260px;
    overflow-y: auto;
    padding-right: .25rem;
}

.collectjs-trend-row {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) 64px;
    gap: .75rem;
    align-items: center;
}

.collectjs-trend-hour,
.collectjs-trend-metrics {
    color: var(--muted);
    font-size: var(--font-sm);
    font-weight: var(--font-medium);
}

.collectjs-trend-metrics {
    text-align: right;
}

.collectjs-trend-track {
    position: relative;
    height: 12px;
    border-radius: 999px;
    background: rgba(148, 163, 184, 0.18);
    overflow: hidden;
}

.collectjs-trend-fill {
    display: flex;
    height: 100%;
    min-width: 0;
}

.collectjs-trend-fill-ok {
    background: #10b981;
}

.collectjs-trend-fill-nook {
    background: #f59e0b;
}

.collectjs-events-table-wrap {
    overflow-x: auto;
}

.collectjs-events-table {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-md);
}

.collectjs-events-table th,
.collectjs-events-table td {
    padding: .7rem .8rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.18);
    text-align: left;
    vertical-align: top;
}

.collectjs-events-table th {
    color: var(--muted);
    font-size: var(--font-sm);
    text-transform: uppercase;
    letter-spacing: .05em;
}

.collectjs-mrtg-card {
    margin-top: .95rem;
}

.collectjs-mrtg-graph {
    position: relative;
    height: 168px;
    padding: .85rem .65rem .45rem;
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 12px;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0.01) 100%),
        repeating-linear-gradient(
            to right,
            rgba(148, 163, 184, 0.08) 0,
            rgba(148, 163, 184, 0.08) 1px,
            transparent 1px,
            transparent calc(100% / 24)
        );
    overflow: hidden;
}

.collectjs-mrtg-grid {
    position: absolute;
    inset: .85rem .65rem .45rem;
    display: grid;
    grid-template-rows: repeat(4, 1fr);
    pointer-events: none;
}

.collectjs-mrtg-grid span {
    border-top: 1px dashed rgba(148, 163, 184, 0.16);
}

.collectjs-mrtg-grid span:first-child {
    border-top: none;
}

.collectjs-mrtg-bars {
    position: relative;
    z-index: 1;
    height: 100%;
    display: grid;
    grid-template-columns: repeat(24, minmax(0, 1fr));
    gap: 3px;
    align-items: end;
}

.collectjs-mrtg-bar-wrap {
    height: 100%;
    display: flex;
    align-items: end;
    justify-content: center;
}

.collectjs-mrtg-bar {
    width: 100%;
    min-height: 2px;
    display: flex;
    flex-direction: column-reverse;
    border-radius: 2px 2px 0 0;
    overflow: hidden;
    box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.18);
}

.collectjs-mrtg-bar-ok {
    background: linear-gradient(180deg, #22c55e 0%, #16a34a 100%);
}

.collectjs-mrtg-bar-nook {
    background: linear-gradient(180deg, #ef4444 0%, #dc2626 100%);
}

.monitor-mrtg-bar-unknown {
    background: linear-gradient(180deg, #f59e0b 0%, #d97706 100%);
}

.collectjs-mrtg-axis {
    position: relative;
    display: flex;
    justify-content: space-between;
    margin-top: .45rem;
    color: var(--muted);
    font-size: var(--font-sm);
    font-weight: var(--font-bold);
    letter-spacing: .04em;
    text-transform: uppercase;
}

.collectjs-current-hour-marker {
    position: absolute;
    top: 50%;
    width: 9px;
    height: 9px;
    border: 2px solid var(--surface);
    border-radius: 50%;
    background: var(--accent);
    box-shadow: 0 0 0 1px rgba(var(--accent-rgb), 0.72), 0 2px 6px rgba(15, 23, 42, 0.28);
    pointer-events: auto;
    transform: translate(-50%, -50%);
}

.collectjs-mrtg-legend {
    display: flex;
    gap: 1rem;
    align-items: center;
    margin-top: .55rem;
    color: var(--muted);
    font-size: var(--font-sm);
    font-weight: var(--font-medium);
}

.collectjs-legend-swatch {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-right: .35rem;
    border-radius: 2px;
    vertical-align: middle;
}

.collectjs-legend-swatch.ok {
    background: #16a34a;
}

.collectjs-legend-swatch.nook {
    background: #dc2626;
}

.collectjs-legend-swatch.unknown {
    background: #d97706;
}

.collectjs-mrtg-ratios {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem .9rem;
    margin-top: .7rem;
    color: var(--muted);
    font-size: var(--font-sm);
}

.collectjs-mrtg-ratios strong {
    color: var(--text);
    font-weight: var(--font-bold);
    margin-right: .25rem;
}

.collectjs-failure-help {
    display: flex;
    flex-direction: column;
    gap: .3rem;
    margin-top: .7rem;
    color: var(--muted);
    font-size: var(--font-sm);
    line-height: 1.45;
}

.collectjs-failure-help strong {
    color: var(--text);
}

.collectjs-failure-help code {
    color: #dbeafe;
    background: #0f172a;
    border: 1px solid rgba(59, 130, 246, 0.18);
    border-radius: 6px;
    padding: .05rem .35rem;
    margin-right: .3rem;
    font-size: var(--font-xs);
}

.collectjs-failure-help.monitor {
    margin-top: 0;
}

.collectjs-failure-code {
    text-decoration: underline dotted rgba(148, 163, 184, 0.5);
    text-underline-offset: .18rem;
    cursor: help;
}

.collectjs-failure-code:focus {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
    border-radius: 4px;
}

.admin-rich-tooltip {
    position: fixed;
    z-index: 5000;
    display: grid;
    gap: .45rem;
    width: min(340px, calc(100vw - 24px));
    padding: .7rem .8rem;
    border: 1px solid rgba(96, 165, 250, 0.38);
    border-radius: 8px;
    background: #0f172a;
    color: #dbeafe;
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.46);
    font-size: var(--font-sm);
    line-height: 1.4;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-3px);
    transition: opacity .12s ease, transform .12s ease;
}

.admin-rich-tooltip.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.admin-rich-tooltip-label {
    justify-self: start;
    padding: .12rem .4rem;
    border: 1px solid rgba(96, 165, 250, 0.32);
    border-radius: 6px;
    background: rgba(30, 64, 175, 0.35);
    color: #eff6ff;
    font-family: "DM Mono", Consolas, monospace;
    font-size: var(--font-xs);
    font-weight: var(--font-bold);
}

.admin-rich-tooltip-body {
    color: #bfdbfe;
}

.nmi-help-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 1rem;
}

.nmi-stage-detail-row td {
    background: rgba(15, 23, 42, 0.14);
}

.nmi-stage-chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}

.nmi-stage-chip {
    display: inline-flex;
    align-items: center;
    gap: .2rem;
    padding: .3rem .5rem;
    border-radius: 999px;
    font-size: var(--font-xs);
    font-weight: var(--font-medium);
    border: 1px solid rgba(148, 163, 184, 0.24);
    background: rgba(255, 255, 255, 0.03);
    color: var(--text);
}

.nmi-stage-chip.ok {
    background: rgba(34, 197, 94, 0.12);
    border-color: rgba(34, 197, 94, 0.22);
}

.nmi-stage-chip.fail {
    background: rgba(239, 68, 68, 0.1);
    border-color: rgba(239, 68, 68, 0.2);
}

.admin-log-meta-inline {
    display: block;
    margin-top: .2rem;
    color: var(--muted);
    font-size: var(--font-sm);
}

.admin-log-layout {
    display: grid;
    grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
    gap: 1rem;
    align-items: stretch;
    height: calc(100vh - 230px);
    min-height: 0;
}

.admin-log-card {
    min-height: 0;
    max-height: 100%;
}

.admin-log-list-card .bf-card-body {
    overflow: hidden;
}

.admin-log-card .bf-card-body {
    min-height: 0;
    overflow: hidden;
}

.admin-log-browser {
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    min-height: 0;
}

.admin-log-browser-item {
    display: flex;
    flex-direction: column;
    gap: .25rem;
    padding: .9rem 1rem;
    border-bottom: 1px solid var(--border);
    text-decoration: none;
    color: var(--text);
}

.admin-log-browser-item:hover,
.admin-log-browser-item.is-active {
    text-decoration: none;
    background: rgba(59, 130, 246, 0.08);
}

.admin-log-browser-title {
    font-weight: var(--font-medium);
}

.admin-log-browser-meta,
.admin-log-preview-meta {
    color: var(--muted);
    font-size: var(--font-sm);
}

.admin-log-preview-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 1rem;
}

.admin-log-preview {
    margin: 0;
    padding: 1rem;
    border-radius: 12px;
    background: #0f172a;
    color: #dbeafe;
    border: 1px solid rgba(59, 130, 246, 0.18);
    font-family: var(--font-mono);
    font-size: var(--font-sm);
    line-height: 1.45;
    min-height: 0;
    flex: 1;
    height: 100%;
    overflow: auto;
    white-space: pre-wrap;
    word-break: break-word;
}

@media (prefers-color-scheme: light) {
    .admin-log-preview {
        background: #111827;
        color: #e5f0ff;
        border-color: #dbeafe;
    }
}

.admin-log-loader {
    margin-bottom: .75rem;
    color: var(--muted);
    font-size: var(--font-sm);
}

.admin-log-loader.is-hidden {
    visibility: hidden;
    height: 0;
    margin: 0;
}

.admin-empty-state {
    padding: 2rem 1.25rem;
    color: var(--muted);
    text-align: center;
}

.admin-config-legend {
    display: flex;
    align-items: center;
    gap: .45rem;
    padding: .85rem 1rem;
    border-bottom: 1px solid var(--border);
    color: var(--muted);
    font-size: var(--font-sm);
}

.admin-config-lock {
    color: var(--text-muted);
    font-size: var(--font-xs);
}

.admin-validation-summary {
    margin-bottom: 1rem;
    padding: .85rem 1rem;
    border-radius: 8px;
    border: 1px solid #fecaca;
    background: #fef2f2;
    color: #991b1b;
}

.admin-validation-summary ul {
    margin: 0;
    padding-left: 1.15rem;
}

.admin-config-sections {
    display: block;
}

.config-master-table {
    --config-master-active-bg: rgba(var(--accent-rgb), 0.08);
    --config-row-alt: var(--surface-alt);
    --config-toggle-bg: var(--surface-alt);
    --config-detail-panel-bg: var(--surface-alt);
    --config-detail-border: rgba(var(--accent-rgb), 0.36);
    --config-detail-head-bg: rgba(15, 23, 42, 0.35);
    --config-detail-head-text: #8ea4cf;
}

.config-master-table tbody tr.config-master-row {
    cursor: pointer;
}

.table > tbody > tr.config-master-row.config-master-row-alt > td,
.config-master-table tbody tr.config-master-row.config-master-row-alt {
    background: var(--config-row-alt);
}

.config-master-table tbody tr.config-master-row:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: -2px;
}

.table > tbody > tr.config-master-row.active > td,
.config-master-table tbody tr.config-master-row.active {
    background: var(--config-master-active-bg);
    color: var(--text);
}

.table > tbody > tr.config-master-row.active > td,
.config-master-table tbody tr.config-master-row.active td {
    border-bottom-color: var(--border);
}

.config-master-table .btn-toggle-config {
    width: 24px;
    height: 24px;
    padding: 0;
    border-color: var(--border);
    background: var(--config-toggle-bg);
    color: var(--text);
    font-weight: 700;
    line-height: 1;
}

.table > tbody > tr.config-detail-row > td {
    padding: 8px 10px 12px;
    background: var(--config-detail-panel-bg);
    border-left: 3px solid var(--config-detail-border);
    color: var(--text);
}

.config-description {
    color: var(--text-muted);
    font-size: var(--font-sm);
    line-height: 1.45;
    white-space: pre-line;
}

.config-master-description,
.config-entry-description {
    display: block;
    overflow-wrap: anywhere;
}

.config-section-label {
    overflow-wrap: anywhere;
}

.config-section-meta {
    font-weight: var(--font-medium);
}

.config-encrypted-count {
    justify-content: center;
    min-width: 58px;
    padding: .2rem .55rem;
    white-space: nowrap;
}

.admin-pill.warning.config-encrypted-count {
    border: 1px solid rgba(251, 191, 36, .4);
    color: #92400e;
    background: #fef3c7;
}

.admin-pill.neutral.config-encrypted-count {
    border: 1px solid rgba(148, 163, 184, .35);
}

.admin-config-section-name {
    display: grid;
    gap: .35rem;
    margin: .25rem 0 1rem;
    max-width: 520px;
}

.admin-config-table {
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 8px;
    overflow: hidden;
    background: var(--surface);
}

.admin-config-table-head {
    display: grid;
    grid-template-columns: minmax(190px, 270px) minmax(92px, 150px) minmax(240px, 1fr) minmax(220px, .85fr);
    gap: .9rem;
    padding: .8rem 1rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.18);
    background: var(--config-detail-head-bg);
    color: var(--config-detail-head-text);
    font-size: var(--font-sm);
    font-weight: var(--font-bold);
    letter-spacing: .06em;
    text-transform: uppercase;
}

.admin-config-entries {
    display: flex;
    flex-direction: column;
}

.admin-config-entry {
    display: grid;
    grid-template-columns: minmax(190px, 270px) minmax(92px, 150px) minmax(240px, 1fr) minmax(220px, .85fr);
    gap: .9rem;
    align-items: start;
    padding: .75rem 1rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.12);
}

.admin-config-entry:last-child {
    border-bottom: none;
}

.admin-config-key-wrap {
    display: flex;
    min-width: 0;
}

.admin-config-key-main {
    display: flex;
    gap: .5rem;
    align-items: center;
    min-width: 0;
}

.admin-config-key-text {
    color: var(--text);
    font-weight: var(--font-medium);
    overflow-wrap: anywhere;
    min-width: 0;
}

.admin-config-type-cell {
    display: flex;
    align-items: center;
    min-height: 34px;
    min-width: 0;
}

.admin-config-type-pill,
.admin-config-type-muted {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    max-width: 100%;
    border-radius: 999px;
    padding: .2rem .55rem;
    font-size: var(--font-xs);
    font-weight: var(--font-bold);
    line-height: 1.25;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-config-type-pill {
    border: 1px solid rgba(96, 165, 250, .32);
    background: rgba(59, 130, 246, .12);
    color: #bfdbfe;
}

.admin-config-type-muted {
    border: 1px solid rgba(148, 163, 184, .18);
    background: rgba(148, 163, 184, .08);
    color: var(--muted);
}

.admin-config-key-input,
.admin-config-key-input[readonly] {
    color: #dbe7ff;
    font-weight: var(--font-medium);
    background: #101623;
    border-color: #31425f;
}

.admin-config-key-input[readonly] {
    opacity: 1;
    -webkit-text-fill-color: #dbe7ff;
    box-shadow: none;
    cursor: default;
}

input.form-control[readonly],
input.form-control:read-only,
textarea.form-control[readonly],
textarea.form-control:read-only {
    color: #dbe7ff;
    background: #101623;
    border-color: #31425f;
    opacity: 1;
    -webkit-text-fill-color: #dbe7ff;
    box-shadow: none;
    cursor: default;
}

@media (prefers-color-scheme: light) {
    .config-master-table {
        --config-detail-head-bg: #e2e8f0;
        --config-detail-head-text: #1e3a8a;
    }

    .admin-config-key-input,
    .admin-config-key-input[readonly],
    input.form-control[readonly],
    input.form-control:read-only,
    textarea.form-control[readonly],
    textarea.form-control:read-only {
        color: var(--text);
        background: var(--surface-alt);
        border-color: var(--border);
        -webkit-text-fill-color: var(--text);
    }

    .admin-config-type-pill {
        color: #1d4ed8;
        background: rgba(59, 130, 246, .1);
        border-color: rgba(59, 130, 246, .24);
    }
}

.admin-config-value-select {
    background-image:
        linear-gradient(to left, rgba(59, 130, 246, 0.12), rgba(59, 130, 246, 0.12)),
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath fill='none' stroke='%2393c5fd' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M2 2.25 7 7l5-4.75'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat, no-repeat !important;
    background-size: 2.5rem 100%, 14px 9px !important;
    background-position: right top, right 0.8rem center !important;
    padding-right: 3.3rem;
    cursor: pointer;
}

.admin-encrypted-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.65rem;
    height: 1.65rem;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--surface-alt);
    color: var(--text);
    font-size: var(--font-xs);
    flex-shrink: 0;
}

.text-danger {
    color: #b91c1c;
    font-size: var(--font-sm);
}

@media (max-width: 768px) {
    .amch-admin-nav {
        flex-direction: column;
        align-items: stretch;
        position: sticky;
        height: auto;
        max-height: none;
        padding: .75rem .85rem .65rem;
        gap: .65rem;
        overflow: visible;
    }

    .amch-admin-nav + main {
        padding-top: 12px;
    }

    .amch-admin-branding {
        gap: .75rem;
        width: 100%;
    }

    .amch-admin-branding .logo {
        width: min(56vw, 260px);
        max-width: 100%;
        height: auto;
        max-height: 40px;
        object-fit: contain;
    }

    .amch-admin-brand {
        min-width: 96px;
    }

    .amch-admin-links {
        flex-wrap: wrap;
        width: 100%;
        overflow: visible;
    }

    .amch-admin-link {
        min-height: 42px;
        flex: 0 0 auto;
        padding: .5rem .85rem;
        white-space: nowrap;
    }

    .amch-notification-shell,
    .amch-admin-menu {
        flex: 0 0 auto;
    }

    .amch-notification-panel {
        position: fixed;
        top: 132px;
        right: 12px;
        left: 12px;
        width: auto;
        max-height: min(460px, calc(100vh - 160px));
    }

    .amch-admin-menu-panel {
        position: static;
        min-width: 0;
        max-height: min(420px, calc(100vh - 210px));
        overflow: auto;
        margin-top: .45rem;
    }

    .amch-admin-submenu-panel {
        position: static;
        display: flex;
        min-width: 0;
        margin: .2rem 0 .35rem .65rem;
        box-shadow: none;
    }

    .admin-dashboard-grid {
        grid-template-columns: 1fr;
    }

    .admin-dashboard,
    .admin-page {
        padding: 14px 0 24px;
    }

    .admin-page-header,
    .admin-card-header-row,
    .admin-page-actions,
    .admin-inline-actions,
    .admin-inline-actions-center {
        align-items: stretch;
        flex-direction: column;
    }

    .admin-action-select,
    .admin-action-search {
        width: 100%;
        min-width: 0;
    }

    .bf-card,
    .admin-panel-card {
        min-width: 0;
    }

    .admin-session-summary {
        align-items: flex-start;
    }

    .admin-app-domain-summary {
        justify-content: flex-start;
    }

    .app-domain-modal-grid {
        grid-template-columns: 1fr;
    }

    .database-health-page > .admin-two-column-grid {
        grid-template-columns: 1fr;
    }

    .admin-stat {
        grid-template-columns: 1fr;
        gap: .25rem;
    }

    .admin-stat-value {
        text-align: left;
    }

    .admin-log-layout,
    .admin-config-entry,
    .admin-config-table-head {
        grid-template-columns: 1fr;
    }

    .client-campaign-documents-header,
    .client-campaign-document-row {
        grid-template-columns: 1fr;
    }

    #campaignForm.is-documents-open {
        display: block;
    }

    #campaignForm.is-documents-open .client-campaign-documents-panel {
        margin-top: .9rem;
        padding-top: .9rem;
        padding-left: 0;
        border-top: 1px solid var(--border);
        border-left: 0;
    }

    .client-campaign-document-meta {
        text-align: left;
    }

    .client-campaign-document-list {
        max-height: 260px;
    }

    .admin-log-layout,
    .admin-log-card {
        height: auto;
        max-height: none;
    }
}
