:root {
    --app-bg: #f4f6f9;
    --app-surface: #ffffff;
    --app-surface-subtle: #f8fafc;
    --app-border: #dfe5ec;
    --app-border-strong: #cdd5df;
    --app-text: #172033;
    --app-muted: #667085;
    --app-primary: #2457d6;
    --app-primary-dark: #1945b5;
    --app-success: #087a55;
    --app-warning: #a15c00;
    --app-danger: #b42318;
    --app-radius: .75rem;
    --app-shadow: 0 1px 2px rgba(16, 24, 40, .05), 0 6px 20px rgba(16, 24, 40, .04);
}

html {
    min-height: 100%;
}

body {
    min-height: 100vh;
    background: var(--app-bg);
    color: var(--app-text);
    font-size: .9375rem;
    -webkit-font-smoothing: antialiased;
}

a {
    text-underline-offset: .16em;
}

code {
    color: #7a271a;
    overflow-wrap: anywhere;
}

.app-shell {
    width: min(100%, 1560px);
    margin-inline: auto;
    padding-inline: clamp(1rem, 2vw, 2rem);
}

.app-header {
    position: sticky;
    z-index: 1030;
    top: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
    background: #111827;
    box-shadow: 0 2px 8px rgba(16, 24, 40, .12);
}

.app-header .navbar {
    min-height: 4.25rem;
    padding-block: .55rem;
}

.app-header .navbar-toggler {
    border-color: rgba(255, 255, 255, .24);
    box-shadow: none;
}

.app-brand {
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    color: #fff;
    text-decoration: none;
}

.app-brand:hover,
.app-brand:focus {
    color: #fff;
}

.app-brand-mark {
    display: inline-grid;
    width: 2.25rem;
    height: 2.25rem;
    place-items: center;
    flex: 0 0 auto;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: .6rem;
    background: linear-gradient(145deg, #4777ed, #2457d6);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18);
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .04em;
}

.app-brand-copy {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
}

.app-brand-title {
    font-size: .98rem;
    font-weight: 700;
    letter-spacing: -.01em;
}

.app-brand-subtitle {
    margin-top: .2rem;
    color: #98a2b3;
    font-size: .68rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.app-header .navbar-nav {
    gap: .2rem;
}

.app-header .nav-link,
.app-header .logout-button {
    border-radius: .45rem;
    color: #cbd5e1;
    font-size: .875rem;
    font-weight: 600;
    text-decoration: none;
}

.app-header .nav-link {
    padding: .6rem .8rem;
}

.app-header .nav-link:hover,
.app-header .nav-link:focus,
.app-header .logout-button:hover,
.app-header .logout-button:focus,
.app-header .nav-link.active {
    color: #fff;
    background: rgba(255, 255, 255, .09);
}

.app-header .logout-button {
    width: 100%;
    padding: .6rem .8rem;
    border: 0;
    background: transparent;
    text-align: left;
}

.app-main {
    min-height: calc(100vh - 8.5rem);
    padding-block: clamp(1.1rem, 2.2vw, 2rem) 2.5rem;
}

.app-footer {
    border-top: 1px solid var(--app-border);
    color: var(--app-muted);
    background: rgba(255, 255, 255, .72);
    font-size: .8rem;
}

.app-footer-inner {
    display: flex;
    min-height: 3.5rem;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.app-page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.app-page-heading {
    min-width: 0;
}

.app-page-eyebrow {
    margin-bottom: .3rem;
    color: var(--app-primary);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.app-page-title {
    margin: 0;
    color: #101828;
    font-size: clamp(1.5rem, 2vw, 2rem);
    font-weight: 750;
    letter-spacing: -.035em;
    line-height: 1.15;
    overflow-wrap: anywhere;
}

.app-page-description {
    max-width: 760px;
    margin: .45rem 0 0;
    color: var(--app-muted);
    font-size: .9rem;
}

.app-page-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: .5rem;
    flex: 0 0 auto;
}

.app-card {
    overflow: hidden;
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    background: var(--app-surface);
    box-shadow: var(--app-shadow);
}

.app-card + .app-card {
    margin-top: 1.25rem;
}

.app-card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.15rem;
    border-bottom: 1px solid var(--app-border);
    background: var(--app-surface);
}

.app-card-title {
    margin: 0;
    color: #101828;
    font-size: 1rem;
    font-weight: 750;
    letter-spacing: -.015em;
}

.app-card-description {
    margin: .3rem 0 0;
    color: var(--app-muted);
    font-size: .83rem;
}

.app-card-body {
    padding: 1.15rem;
}

.app-card-footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: .5rem;
    padding: .9rem 1.15rem;
    border-top: 1px solid var(--app-border);
    background: var(--app-surface-subtle);
}

.app-section {
    scroll-margin-top: 5.5rem;
}

.app-section + .app-section {
    margin-top: 1.25rem;
}

.section-nav {
    display: flex;
    overflow-x: auto;
    gap: .25rem;
    margin-bottom: 1.25rem;
    padding: .35rem;
    border: 1px solid var(--app-border);
    border-radius: .65rem;
    background: var(--app-surface);
    box-shadow: 0 1px 2px rgba(16, 24, 40, .03);
    scrollbar-width: thin;
}

.section-nav a {
    padding: .5rem .75rem;
    border-radius: .45rem;
    color: #475467;
    font-size: .82rem;
    font-weight: 650;
    text-decoration: none;
    white-space: nowrap;
}

.section-nav a:hover,
.section-nav a:focus {
    color: var(--app-primary);
    background: #eef4ff;
}

.metric-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .85rem;
    margin-bottom: 1.25rem;
}

.metric-card {
    min-width: 0;
    padding: 1rem;
    border: 1px solid var(--app-border);
    border-radius: .7rem;
    background: var(--app-surface);
    box-shadow: 0 1px 2px rgba(16, 24, 40, .035);
}

.metric-label {
    color: var(--app-muted);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.metric-value {
    margin-top: .4rem;
    color: #101828;
    font-size: 1.08rem;
    font-weight: 750;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.metric-help {
    margin-top: .3rem;
    color: var(--app-muted);
    font-size: .78rem;
}

.status-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .85rem;
}

.status-summary {
    display: flex;
    align-items: flex-start;
    gap: .8rem;
    padding: 1rem;
    border: 1px solid var(--app-border);
    border-radius: .7rem;
    background: var(--app-surface);
}

.status-summary-mark {
    display: inline-grid;
    width: 2.25rem;
    height: 2.25rem;
    place-items: center;
    flex: 0 0 auto;
    border-radius: .55rem;
    background: #eef4ff;
    color: var(--app-primary);
    font-size: .72rem;
    font-weight: 800;
}

.status-summary.is-success .status-summary-mark {
    color: #067647;
    background: #ecfdf3;
}

.status-summary.is-danger .status-summary-mark,
.status-summary.is-warning .status-summary-mark {
    color: #b54708;
    background: #fffaeb;
}

.status-summary-label {
    color: var(--app-muted);
    font-size: .76rem;
    font-weight: 650;
}

.status-summary-value {
    margin-top: .18rem;
    color: #101828;
    font-weight: 750;
    line-height: 1.2;
}

.status-summary-detail {
    margin-top: .25rem;
    color: var(--app-muted);
    font-size: .75rem;
    overflow-wrap: anywhere;
}

.table-responsive {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.grid-view .table-responsive {
    border-block: 1px solid var(--app-border);
}

.grid-view table {
    min-width: 880px;
    margin: 0;
    border-color: var(--app-border);
    font-size: .84rem;
}

.grid-view table.table-wide {
    min-width: 1180px;
}

.grid-view .table > :not(caption) > * > * {
    padding: .7rem .75rem;
    border-color: var(--app-border);
    vertical-align: middle;
}

.grid-view .table > thead > tr:first-child > th {
    color: #344054;
    background: #f8fafc;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .025em;
    text-transform: uppercase;
    white-space: nowrap;
}

.grid-view .table > thead > tr.filters > td {
    padding: .5rem .55rem;
    background: #fff;
}

.grid-view .filters .form-control,
.grid-view .filters .form-select {
    min-width: 7rem;
    min-height: 2rem;
    padding: .32rem .5rem;
    border-color: var(--app-border-strong);
    border-radius: .35rem;
    font-size: .78rem;
}

.grid-view .table-striped > tbody > tr:nth-of-type(odd) > * {
    --bs-table-accent-bg: #fbfcfe;
}

.grid-view tbody tr:hover > * {
    --bs-table-accent-bg: #f4f7ff;
}

.grid-view a:not(.btn):not(.badge) {
    font-weight: 650;
    text-decoration: none;
}

.grid-view a:not(.btn):not(.badge):hover {
    text-decoration: underline;
}

.grid-meta,
.grid-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 3rem;
    padding: .75rem 1rem;
    color: var(--app-muted);
    background: var(--app-surface);
    font-size: .8rem;
}

.grid-footer {
    justify-content: flex-end;
    border-top: 1px solid var(--app-border);
}

.grid-view .empty {
    padding: 2.5rem 1rem !important;
    color: var(--app-muted);
    text-align: center;
}

.table-actions {
    min-width: 170px;
    white-space: normal !important;
}

.table-actions .btn {
    margin: .12rem .08rem;
}

.table-key {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    color: var(--app-primary-dark);
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    font-size: .8rem;
    font-weight: 750;
}

.detail-table {
    margin: 0;
    border: 0;
}

.detail-table > tbody > tr > th,
.detail-table > tbody > tr > td {
    padding: .8rem 1rem;
    border-color: var(--app-border);
}

.detail-table > tbody > tr > th {
    width: 32%;
    color: #475467;
    background: #f8fafc;
    font-size: .8rem;
    font-weight: 700;
}

.detail-table > tbody > tr > td {
    color: #101828;
    overflow-wrap: anywhere;
}

.badge {
    padding: .38em .62em;
    border-radius: 999px;
    font-weight: 700;
    letter-spacing: .01em;
}

.badge.bg-success {
    background-color: #067647 !important;
}

.badge.bg-danger {
    background-color: #b42318 !important;
}

.badge.bg-secondary {
    background-color: #667085 !important;
}

.badge.bg-info {
    background-color: #d1e9ff !important;
    color: #175cd3 !important;
}

.badge.bg-warning {
    background-color: #fef0c7 !important;
    color: #93370d !important;
}

.btn {
    border-radius: .45rem;
    font-weight: 650;
}

.btn-primary {
    border-color: var(--app-primary);
    background: var(--app-primary);
}

.btn-primary:hover,
.btn-primary:focus {
    border-color: var(--app-primary-dark);
    background: var(--app-primary-dark);
}

.btn-sm {
    border-radius: .38rem;
    font-size: .76rem;
}

.form-control,
.form-select {
    min-height: 2.6rem;
    border-color: var(--app-border-strong);
    border-radius: .48rem;
}

.form-control:focus,
.form-select:focus {
    border-color: #84a6f4;
    box-shadow: 0 0 0 .2rem rgba(36, 87, 214, .12);
}

.form-label,
.control-label {
    margin-bottom: .38rem;
    color: #344054;
    font-size: .84rem;
    font-weight: 700;
}

.form-text,
.help-block {
    color: var(--app-muted);
    font-size: .78rem;
}

.has-error .form-control,
.has-error .form-select,
.is-invalid {
    border-color: #f04438;
}

.invalid-feedback,
.help-block-error {
    color: var(--app-danger);
    font-size: .78rem;
}

.form-section + .form-section {
    margin-top: 1.35rem;
    padding-top: 1.35rem;
    border-top: 1px solid var(--app-border);
}

.form-section-title {
    margin: 0 0 .9rem;
    color: #101828;
    font-size: .95rem;
    font-weight: 750;
}

.feature-key-list {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin-top: .65rem;
}

.feature-key {
    display: inline-block;
    padding: .28rem .5rem;
    border: 1px solid var(--app-border);
    border-radius: .35rem;
    color: #475467;
    background: #f8fafc;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    font-size: .7rem;
}

.alert {
    border-width: 1px;
    border-radius: .65rem;
    box-shadow: 0 1px 2px rgba(16, 24, 40, .03);
}

.app-alert {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
}

.app-alert-mark {
    display: inline-grid;
    width: 1.8rem;
    height: 1.8rem;
    place-items: center;
    flex: 0 0 auto;
    border-radius: 999px;
    background: currentColor;
    color: inherit;
    font-size: 0;
    opacity: .15;
}

.license-activity-details {
    display: grid;
    min-width: 280px;
    max-width: 620px;
    gap: .28rem;
}

.license-activity-details > div {
    display: grid;
    grid-template-columns: 145px minmax(0, 1fr);
    gap: .65rem;
}

.license-activity-label {
    color: var(--app-muted);
    font-size: .71rem;
    font-weight: 750;
}

.license-activity-value {
    overflow-wrap: anywhere;
}

.license-activity-details details {
    margin-top: .25rem;
}

.license-activity-details summary {
    color: var(--app-primary);
    cursor: pointer;
    font-size: .75rem;
    font-weight: 700;
}

.license-activity-raw,
.code-panel {
    max-height: 240px;
    margin: .55rem 0 0;
    padding: .8rem;
    overflow: auto;
    border: 1px solid var(--app-border);
    border-radius: .45rem;
    color: #e5e7eb;
    background: #111827;
    font-size: .75rem;
    white-space: pre-wrap;
}

.auth-layout .app-main {
    display: grid;
    min-height: calc(100vh - 7.8rem);
    place-items: center;
}

.auth-shell {
    width: min(100%, 440px);
}

.auth-card {
    padding: clamp(1.25rem, 3vw, 2rem);
    border: 1px solid var(--app-border);
    border-radius: .9rem;
    background: var(--app-surface);
    box-shadow: 0 16px 40px rgba(16, 24, 40, .09);
}

.auth-mark {
    display: grid;
    width: 3rem;
    height: 3rem;
    margin-bottom: 1rem;
    place-items: center;
    border-radius: .7rem;
    color: #fff;
    background: var(--app-primary);
    font-weight: 800;
}

.auth-title {
    margin: 0;
    color: #101828;
    font-size: 1.55rem;
    font-weight: 780;
    letter-spacing: -.035em;
}

.auth-description {
    margin: .45rem 0 1.35rem;
    color: var(--app-muted);
}

.password-field {
    position: relative;
}

.password-field .form-control {
    padding-right: 4.2rem;
}

.password-toggle {
    position: absolute;
    z-index: 2;
    right: .45rem;
    bottom: .45rem;
    min-width: 3.25rem;
    height: 1.7rem;
    padding: 0 .45rem;
    border: 0;
    border-radius: .35rem;
    color: var(--app-primary);
    background: #eef4ff;
    font-size: .72rem;
    font-weight: 750;
}

.error-shell {
    width: min(100%, 680px);
    margin: clamp(2rem, 8vh, 6rem) auto;
}

.error-code {
    color: var(--app-primary);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.pagination {
    --bs-pagination-border-color: var(--app-border);
    --bs-pagination-color: var(--app-primary);
    --bs-pagination-active-bg: var(--app-primary);
    --bs-pagination-active-border-color: var(--app-primary);
    margin: 0;
}

.pagination .page-link {
    font-size: .8rem;
}


/* Health check */
.health-hero {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    padding: clamp(1.1rem, 2vw, 1.5rem);
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    background: var(--app-surface);
    box-shadow: var(--app-shadow);
}

.health-hero.is-healthy {
    border-color: #a6f4c5;
    background: linear-gradient(135deg, #f6fef9 0%, #ffffff 66%);
}

.health-hero.is-degraded {
    border-color: #fecdca;
    background: linear-gradient(135deg, #fff5f4 0%, #ffffff 66%);
}

.health-hero-mark {
    display: grid;
    width: 3.2rem;
    height: 3.2rem;
    place-items: center;
    border-radius: .8rem;
    color: #fff;
    background: var(--app-success);
    font-size: .8rem;
    font-weight: 850;
    letter-spacing: .05em;
}

.health-hero.is-degraded .health-hero-mark {
    background: var(--app-danger);
    font-size: 1.25rem;
}

.health-hero-kicker {
    color: var(--app-muted);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .075em;
    text-transform: uppercase;
}

.health-hero-title {
    margin: .18rem 0 0;
    color: #101828;
    font-size: clamp(1.15rem, 1.7vw, 1.45rem);
    font-weight: 780;
    letter-spacing: -.025em;
}

.health-hero-description {
    max-width: 760px;
    margin: .35rem 0 0;
    color: var(--app-muted);
    font-size: .84rem;
}

.health-hero-time {
    display: flex;
    align-items: flex-end;
    flex-direction: column;
    color: var(--app-muted);
    font-size: .72rem;
    text-align: right;
}

.health-hero-time strong {
    margin-top: .18rem;
    color: #344054;
    font-size: .8rem;
    font-weight: 700;
}

.health-component-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .85rem;
    margin-top: .85rem;
}

.health-component {
    min-width: 0;
    padding: 1rem;
    border: 1px solid var(--app-border);
    border-top-width: 3px;
    border-radius: .7rem;
    background: var(--app-surface);
    box-shadow: 0 1px 2px rgba(16, 24, 40, .035);
}

.health-component.is-success {
    border-top-color: #12b76a;
}

.health-component.is-danger {
    border-top-color: #f04438;
}

.health-component-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}

.health-component-mark {
    display: inline-grid;
    min-width: 2.25rem;
    height: 2.25rem;
    padding-inline: .4rem;
    place-items: center;
    border-radius: .55rem;
    color: var(--app-primary);
    background: #eef4ff;
    font-size: .7rem;
    font-weight: 850;
}

.health-component-title {
    margin: .8rem 0 0;
    color: #101828;
    font-size: .98rem;
    font-weight: 750;
}

.health-component-description {
    min-height: 2.5rem;
    margin: .35rem 0 0;
    color: var(--app-muted);
    font-size: .8rem;
}

.health-component-meta {
    margin: .8rem 0 0;
    padding-top: .75rem;
    border-top: 1px solid var(--app-border);
}

.health-component-meta > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}

.health-component-meta dt {
    color: var(--app-muted);
    font-size: .72rem;
    font-weight: 650;
}

.health-component-meta dd {
    margin: 0;
    color: #344054;
    font-size: .78rem;
    font-weight: 700;
    overflow-wrap: anywhere;
    text-align: right;
}

.health-driver-list {
    display: flex;
    min-height: 2.4rem;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: .35rem;
    margin-top: .8rem;
    padding-top: .75rem;
    border-top: 1px solid var(--app-border);
}

.health-detail-list {
    margin: 0;
}

.health-detail-list > div {
    display: grid;
    grid-template-columns: minmax(170px, 24%) minmax(0, 1fr);
    gap: 1rem;
    padding: .8rem 1rem;
    border-bottom: 1px solid var(--app-border);
}

.health-detail-list > div:last-child {
    border-bottom: 0;
}

.health-detail-list dt {
    color: #475467;
    font-size: .78rem;
    font-weight: 700;
}

.health-detail-list dd {
    min-width: 0;
    margin: 0;
    color: #101828;
    font-size: .82rem;
    overflow-wrap: anywhere;
}

/* Client-side copy feedback */
.btn[data-copy-text].is-copied,
.btn[data-copy-text].is-copied:disabled {
    border-color: #067647;
    color: #fff;
    background: #067647;
    opacity: 1;
}

.btn[data-copy-text].is-copy-error,
.btn[data-copy-text].is-copy-error:disabled {
    border-color: var(--app-danger);
    color: #fff;
    background: var(--app-danger);
    opacity: 1;
}

/* Floating horizontal scrollbar for long grids */
.app-floating-scrollbar {
    position: fixed;
    z-index: 1028;
    bottom: .65rem;
    display: none;
    height: 17px;
    overflow-x: auto;
    overflow-y: hidden;
    border: 1px solid rgba(152, 162, 179, .8);
    border-radius: .4rem;
    background: rgba(248, 250, 252, .96);
    box-shadow: 0 5px 16px rgba(16, 24, 40, .16);
    scrollbar-color: #98a2b3 #eef2f6;
    scrollbar-width: auto;
}

.app-floating-scrollbar.is-visible {
    display: block;
}

.app-floating-scrollbar-track {
    height: 1px;
}

body.has-floating-scrollbar {
    padding-bottom: 1.35rem;
}

/* Dense license detail grids */
.license-security-table td,
.license-activation-table td,
.license-activity-table td {
    overflow-wrap: anywhere;
}

.license-security-table .table-actions {
    min-width: 0;
}

.license-security-table .table-actions .btn {
    max-width: 100%;
    padding: .3rem .42rem;
    line-height: 1.15;
    white-space: normal;
}

.license-date-cell,
.license-ip-cell {
    font-variant-numeric: tabular-nums;
}

@media (min-width: 1200px) {
    .license-security-table {
        width: 100%;
        min-width: 0 !important;
        table-layout: fixed;
        font-size: .73rem !important;
    }

    .grid-view .license-security-table > :not(caption) > * > * {
        padding: .56rem .42rem;
        line-height: 1.3;
    }

    .grid-view .license-security-table > thead > tr:first-child > th {
        font-size: .65rem;
        line-height: 1.2;
        white-space: normal;
    }

    .license-security-table th:nth-child(1),
    .license-security-table td:nth-child(1) { width: 9%; }
    .license-security-table th:nth-child(2),
    .license-security-table td:nth-child(2) { width: 10%; }
    .license-security-table th:nth-child(3),
    .license-security-table td:nth-child(3) { width: 15%; }
    .license-security-table th:nth-child(4),
    .license-security-table td:nth-child(4) { width: 6%; }
    .license-security-table th:nth-child(5),
    .license-security-table td:nth-child(5) { width: 8%; }
    .license-security-table th:nth-child(6),
    .license-security-table td:nth-child(6) { width: 8%; }
    .license-security-table th:nth-child(7),
    .license-security-table td:nth-child(7) { width: 7%; }
    .license-security-table th:nth-child(8),
    .license-security-table td:nth-child(8) { width: 10%; }
    .license-security-table th:nth-child(9),
    .license-security-table td:nth-child(9) { width: 12%; }
    .license-security-table th:nth-child(10),
    .license-security-table td:nth-child(10) { width: 15%; }

    .license-activation-table,
    .license-activity-table {
        width: 100%;
        min-width: 0 !important;
        table-layout: fixed;
    }

    .license-activation-table th:nth-child(1),
    .license-activation-table td:nth-child(1) { width: 15%; }
    .license-activation-table th:nth-child(2),
    .license-activation-table td:nth-child(2) { width: 22%; }
    .license-activation-table th:nth-child(3),
    .license-activation-table td:nth-child(3) { width: 9%; }
    .license-activation-table th:nth-child(4),
    .license-activation-table td:nth-child(4) { width: 10%; }
    .license-activation-table th:nth-child(5),
    .license-activation-table td:nth-child(5) { width: 18%; }
    .license-activation-table th:nth-child(6),
    .license-activation-table td:nth-child(6) { width: 13%; }
    .license-activation-table th:nth-child(7),
    .license-activation-table td:nth-child(7) { width: 13%; }

    .license-activity-table th:nth-child(1),
    .license-activity-table td:nth-child(1) { width: 14%; }
    .license-activity-table th:nth-child(2),
    .license-activity-table td:nth-child(2) { width: 12%; }
    .license-activity-table th:nth-child(3),
    .license-activity-table td:nth-child(3) { width: 60%; }
    .license-activity-table th:nth-child(4),
    .license-activity-table td:nth-child(4) { width: 14%; }

    .license-activity-table .license-activity-details {
        min-width: 0;
        max-width: none;
    }
}

@media (max-width: 1199.98px) {
    .license-security-table {
        min-width: 1260px !important;
    }

    .license-activation-table {
        min-width: 1020px !important;
    }
}

@media (max-width: 991.98px) {
    .app-header .navbar-collapse {
        margin-top: .65rem;
        padding-top: .65rem;
        border-top: 1px solid rgba(255, 255, 255, .1);
    }

    .app-header .navbar-nav {
        gap: .1rem;
    }

    .metric-grid,
    .status-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .health-component-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .app-shell {
        padding-inline: .85rem;
    }

    .app-main {
        padding-top: 1rem;
    }

    .app-page-header {
        align-items: stretch;
        flex-direction: column;
    }

    .app-page-actions {
        justify-content: flex-start;
    }

    .app-page-actions .btn {
        flex: 1 1 auto;
    }

    .health-hero {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .health-hero-time {
        grid-column: 1 / -1;
        align-items: flex-start;
        padding-top: .75rem;
        border-top: 1px solid var(--app-border);
        text-align: left;
    }

    .health-detail-list > div {
        grid-template-columns: 1fr;
        gap: .25rem;
    }

    .app-card,
    .auth-card {
        border-radius: .6rem;
    }

    .app-card-header,
    .app-card-body,
    .app-card-footer {
        padding-inline: .9rem;
    }

    .metric-grid,
    .status-summary-grid {
        grid-template-columns: 1fr;
    }

    .detail-table > tbody > tr {
        display: grid;
        grid-template-columns: 1fr;
        border-bottom: 1px solid var(--app-border);
    }

    .detail-table > tbody > tr:last-child {
        border-bottom: 0;
    }

    .detail-table > tbody > tr > th,
    .detail-table > tbody > tr > td {
        display: block;
        width: 100%;
        border: 0;
    }

    .detail-table > tbody > tr > th {
        padding-bottom: .2rem;
        background: #fff;
        font-size: .72rem;
        letter-spacing: .035em;
        text-transform: uppercase;
    }

    .detail-table > tbody > tr > td {
        padding-top: .15rem;
        padding-bottom: .8rem;
    }

    .license-activity-details > div {
        grid-template-columns: 1fr;
        gap: .1rem;
    }

    .grid-meta,
    .grid-footer {
        align-items: flex-start;
        flex-direction: column;
    }

    .grid-footer {
        align-items: flex-end;
    }

    .app-footer-inner {
        align-items: flex-start;
        flex-direction: column;
        justify-content: center;
        padding-block: .8rem;
    }
}

@media (max-width: 419.98px) {
    .app-brand-subtitle {
        display: none;
    }

    .app-page-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .app-page-actions .btn,
    .app-card-footer .btn {
        width: 100%;
    }

    .app-card-footer {
        display: grid;
        grid-template-columns: 1fr;
    }
}
