/* Shared page headers, filters, cards, tables, save/load states, and controls. */
.settings-nav-card {
    display: block;
    height: 100%;
    color: var(--iph-consumer-text);
    background: var(--iph-consumer-surface);
    border: 1px solid var(--iph-consumer-border);
    border-radius: var(--iph-radius-md);
    box-shadow: var(--shadow-sm);
    transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.settings-nav-card:hover {
    color: var(--iph-consumer-text);
    text-decoration: none;
    transform: translateY(-2px);
    border-color: var(--iph-consumer-primary-light);
    box-shadow: var(--shadow-md);
}

.settings-nav-card__copy {
    flex: 1;
    min-width: 0;
}

.admin-tabs--padded .mud-tab-panel {
    padding: var(--iph-space-4);
}

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

.admin-grid-align-center {
    align-items: center;
}

.admin-field-with-action {
    display: flex;
    align-items: flex-end;
    gap: 0.5rem;
    min-width: 0;
}

.admin-field-with-action > .mud-input-control {
    flex: 1 1 auto;
    min-width: 0;
}

.admin-field-with-action > .mud-tooltip-root {
    display: flex;
    flex: 0 0 auto;
    align-self: flex-end;
}

.admin-field-with-action__button.mud-icon-button {
    width: 56px;
    height: 56px;
    margin: 0;
    border-radius: var(--iph-radius-sm);
}

.admin-status-chip {
    font-weight: 650;
}

.admin-status-chip__dot {
    width: 0.4rem;
    height: 0.4rem;
    margin-right: var(--iph-space-1);
    border-radius: 50%;
    background: currentColor;
}

.admin-filter-bar {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--iph-space-4);
    padding: var(--iph-space-4);
    margin-bottom: var(--iph-space-5);
    border: 1px solid var(--iph-consumer-border);
    border-radius: var(--iph-radius-md);
}

.admin-filter-bar__fields {
    display: flex;
    flex: 1;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--iph-space-3);
}

.admin-save-bar {
    position: sticky;
    bottom: 1rem;
    z-index: 20;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--iph-space-4);
    padding: var(--iph-space-3) var(--iph-space-4);
    margin-top: var(--iph-space-6);
    border: 1px solid color-mix(in srgb, var(--admin-primary) 18%, var(--admin-border));
    border-radius: var(--iph-radius-md);
    background: color-mix(in srgb, var(--admin-surface) 94%, transparent);
    box-shadow: var(--shadow-lg);
    backdrop-filter: blur(12px);
}

.admin-save-bar__status {
    display: flex;
    align-items: center;
    gap: var(--iph-space-2);
}

.admin-save-bar__actions {
    justify-content: flex-end;
}

@media (max-width: 600px) {
    .admin-filter-bar {
        align-items: stretch;
        flex-direction: column;
    }

    .admin-filter-bar__fields > * {
        width: 100%;
    }
}
.admin-section-heading {
    display: block;
    font-weight: 700 !important;
    letter-spacing: 0.08em;
    color: var(--admin-muted) !important;
    margin-bottom: 12px;
}

.admin-page-title {
    font-weight: 700 !important;
    letter-spacing: -0.02em;
    color: var(--admin-text) !important;
    margin: 0 !important;
}

.admin-page-subtitle {
    max-width: 40rem;
}

/* ========== Admin list / enterprise chrome ========== */
.admin-page-header__row {
    flex-wrap: wrap;
}

.admin-page-eyebrow {
    font-weight: 700 !important;
    letter-spacing: 0.1em;
    color: var(--admin-primary-dark) !important;
}

.admin-page-breadcrumb .mud-breadcrumb-item {
    font-size: 0.875rem;
}

.admin-table-card .mud-table {
    background: transparent;
}

.admin-table-card .mud-table-container {
    border-radius: 0;
}

.admin-table-footer {
    border-top: 1px solid var(--admin-border);
    background: #fafbfc;
    padding: 0.75rem 1rem;
}

.admin-section-card__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.15rem;
}

.admin-section-card__heading {
    display: flex;
    align-items: center;
    gap: 0.875rem;
}

.admin-section-card__avatar {
    flex-shrink: 0;
}

.admin-section-card__title {
    font-weight: 650 !important;
    letter-spacing: -0.01em;
    margin: 0 !important;
    color: var(--admin-text) !important;
}

.admin-section-card__desc {
    display: block;
    margin-top: 0.15rem !important;
    color: var(--admin-muted) !important;
}

.admin-section-card__body {
    min-width: 0;
}

.ledger-balance-figure {
    letter-spacing: -0.02em;
    font-variant-numeric: tabular-nums;
}

.ledger-detail-table td:first-child {
    width: 11rem;
    color: var(--admin-muted);
}

.ledger-stat {
    font-variant-numeric: tabular-nums;
    font-weight: 600 !important;
    color: #1e293b;
}

.ledger-stat--emphasis {
    color: var(--mud-palette-primary);
}

.admin-empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 3rem 1.5rem;
    gap: 0.5rem;
}

.admin-empty-state__icon {
    margin-bottom: 0.5rem;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.1);
}

.admin-empty-state__title {
    font-weight: 600 !important;
    color: #1e293b;
}

.admin-empty-state__desc {
    color: var(--admin-muted);
    max-width: 28rem;
}

.admin-empty-state__actions {
    margin-top: 1rem;
}

.admin-status-line {
    color: var(--admin-muted);
}

@media (max-width: 768px) {
    .admin-page-header__actions {
        width: 100%;
    }
}
/* ========== Premium application surface ========== */
.admin-skip-link {
    position: fixed;
    top: 0.75rem;
    left: 0.75rem;
    z-index: 2000;
    padding: 0.65rem 1rem;
    color: #fff;
    background: var(--ink-color);
    border-radius: var(--iph-radius-sm);
    box-shadow: var(--shadow-lg);
    transform: translateY(-160%);
    transition: transform 140ms ease;
}

.admin-skip-link:focus {
    color: #fff;
    text-decoration: none;
    transform: translateY(0);
}

.admin-route-surface {
    min-width: 0;
    padding-bottom: clamp(2rem, 4vw, 4rem);
}

.admin-route-error {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 1.25rem;
    align-items: start;
    max-width: 46rem;
    margin: clamp(3rem, 10vh, 7rem) auto;
    padding: clamp(1.5rem, 4vw, 2.5rem);
    background: var(--iph-consumer-surface);
    border: 1px solid var(--iph-consumer-border);
    border-radius: var(--iph-radius-lg);
}

.admin-route-error__icon {
    display: grid;
    width: 3rem;
    height: 3rem;
    color: var(--iph-consumer-primary-dark);
    background: var(--iph-consumer-primary-soft);
    border-radius: 0.85rem;
    place-items: center;
}

.admin-route-error__title {
    margin: 0 0 0.5rem !important;
    color: var(--iph-consumer-ink);
    font-weight: 700 !important;
}

.admin-route-error__message {
    max-width: 38rem;
    margin: 0 0 1.25rem !important;
    color: var(--iph-consumer-muted);
    line-height: 1.6;
}

.admin-route-error__actions {
    flex-wrap: wrap;
}

@media (max-width: 600px) {
    .admin-route-error {
        grid-template-columns: 1fr;
        margin-block: 2rem;
    }
}

.admin-compliance-gate {
    position: fixed;
    z-index: 1500;
    inset: 0;
    display: grid;
    padding: 1.25rem;
    overflow-y: auto;
    background: color-mix(in srgb, var(--iph-consumer-ink) 64%, transparent);
    place-items: center;
}

.admin-compliance-gate__panel {
    width: min(100%, 34rem);
    padding: clamp(1.5rem, 5vw, 2.5rem);
    text-align: center;
    background: var(--iph-consumer-surface);
    border: 1px solid var(--iph-consumer-border);
    border-radius: var(--iph-radius-lg);
}

.admin-compliance-gate__mark {
    display: grid;
    width: 4rem;
    height: 4rem;
    margin: 0 auto 1.25rem;
    color: var(--iph-consumer-primary-dark);
    background: var(--iph-consumer-primary-soft);
    border-radius: 1rem;
    place-items: center;
}

.admin-compliance-gate__title {
    margin: 0 0 0.75rem !important;
    color: var(--iph-consumer-ink);
    font-weight: 700 !important;
}

.admin-compliance-gate__message {
    max-width: 28rem;
    margin: 0 auto 1.25rem !important;
    color: var(--iph-consumer-muted);
    line-height: 1.6;
}

.admin-compliance-gate__progress {
    max-width: 18rem;
    margin: 1.5rem auto 0;
}

.admin-compliance-gate__actions {
    flex-wrap: wrap;
    margin-top: 1.5rem;
}

.admin-route-surface > .mud-container {
    max-width: none;
    margin-top: 0 !important;
    padding: 0 !important;
}

.admin-page-header {
    position: relative;
    padding: 0.25rem 0 1.35rem;
    border-bottom: 1px solid color-mix(in srgb, var(--admin-border) 78%, transparent);
}

.admin-page-header::after {
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 4rem;
    height: 2px;
    content: "";
    background: linear-gradient(90deg, var(--admin-primary), var(--admin-primary-light));
    border-radius: 999px;
}

.admin-page-header__copy {
    min-width: 0;
}

.admin-page-header__icon {
    color: var(--admin-primary-dark) !important;
    background: linear-gradient(145deg, var(--admin-surface), var(--admin-primary-soft)) !important;
    border: 1px solid color-mix(in srgb, var(--admin-primary) 20%, var(--admin-surface));
    box-shadow: 0 8px 22px rgba(13, 148, 136, 0.12);
}

.admin-page-title {
    font-size: clamp(1.55rem, 2vw, 2rem) !important;
    line-height: 1.15 !important;
}

.admin-page-subtitle {
    line-height: 1.55;
}

.admin-page-header__actions {
    justify-content: flex-end;
}

.admin-page-header__actions .mud-button-root {
    min-height: 2.5rem;
    padding-inline: 1rem !important;
    border-radius: var(--iph-radius-sm);
    font-weight: 600;
}

.admin-filter-panel,
.settings-filter-panel,
.admin-filter-bar {
    position: relative;
    background: var(--admin-filter-gradient);
    border: 1px solid var(--admin-border);
    border-radius: var(--iph-radius-md);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03);
}

/* Fallback when a filter panel omits MudBlazor pa-* utilities. */
.admin-filter-panel,
.settings-filter-panel {
    padding: 1.15rem 1.25rem;
}

.admin-filter-panel::before,
.settings-filter-panel::before,
.admin-filter-bar::before {
    position: absolute;
    top: 0.75rem;
    bottom: 0.75rem;
    left: 0;
    width: 3px;
    content: "";
    background: var(--admin-primary);
    border-radius: 0 999px 999px 0;
    opacity: 0.7;
}

.admin-section-card,
.admin-table-card,
.admin-skeleton-card,
.admin-route-surface .mud-card {
    border: 1px solid var(--admin-border);
    border-radius: var(--iph-radius-md);
    background: var(--admin-surface);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.035), 0 8px 24px rgba(15, 23, 42, 0.035);
}

/* Section cards need breathing room on all breakpoints (was mobile-only). */
.admin-section-card {
    padding: 1.35rem 1.5rem 1.5rem;
}

.admin-skeleton-card {
    padding: 1.35rem 1.5rem 1.5rem;
}

/* Nested table inside a padded section stays inset; drop the double card chrome. */
.admin-section-card .admin-table-card {
    overflow: hidden;
    border: 1px solid var(--admin-border);
    border-radius: var(--iph-radius-sm);
    box-shadow: none;
}

@media (max-width: 768px) {
    .admin-section-card,
    .admin-skeleton-card {
        padding: 1.1rem 1.15rem 1.2rem;
    }

    .admin-filter-panel,
    .settings-filter-panel {
        padding: 1rem 1.1rem;
    }
}

.admin-route-surface .mud-card {
    overflow: hidden;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.admin-route-surface a.mud-card:hover,
.admin-route-surface .mud-card[role="link"]:hover {
    border-color: color-mix(in srgb, var(--admin-primary) 40%, var(--admin-border));
    box-shadow: var(--shadow-md);
    transform: translateY(-2px);
}

.admin-data-table {
    width: 100%;
    overflow: hidden;
    background: var(--admin-surface);
    border: 1px solid var(--admin-border);
    border-radius: var(--iph-radius-md);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.035);
}

.admin-table-card .admin-data-table {
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.admin-data-table .mud-table-container {
    overflow-x: auto;
}

.admin-data-table .mud-table-head {
    background: var(--admin-table-head-gradient);
}

.admin-data-table .mud-table-head .mud-table-cell {
    height: 3.1rem;
    color: var(--admin-text-soft);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.055em;
    text-transform: uppercase;
    white-space: nowrap;
    border-bottom: 1px solid var(--admin-border);
}

.admin-data-table .mud-table-body .mud-table-row {
    transition: background-color 120ms ease;
}

.admin-data-table .mud-table-body .mud-table-row:hover {
    background: color-mix(in srgb, var(--admin-primary-soft) 42%, var(--admin-surface));
}

.admin-data-table .mud-table-body .mud-table-cell {
    min-height: 3.25rem;
    color: var(--admin-text);
    vertical-align: middle;
    border-bottom-color: color-mix(in srgb, var(--admin-border) 72%, var(--admin-surface));
}

.admin-data-table .mud-table-body .mud-table-row:last-child .mud-table-cell {
    border-bottom: 0;
}

/* Low-stock rows: soft rose wash + accent bar, overrides zebra striping. */
.admin-data-table .mud-table-body .mud-table-row.admin-row-low-stock {
    background: var(--admin-danger-soft) !important;
}

.admin-data-table .mud-table-body .mud-table-row.admin-row-low-stock:hover {
    background: var(--admin-danger-soft-hover) !important;
}

.admin-data-table .mud-table-body .mud-table-row.admin-row-low-stock .mud-table-cell:first-child {
    box-shadow: inset 3px 0 0 0 var(--admin-danger-accent);
}

/* Unlisted / deactivated POS rows stay on the stock grid but read as inactive. */
.admin-data-table .mud-table-body .mud-table-row.admin-row-unlisted {
    background: color-mix(in srgb, var(--admin-muted) 8%, var(--admin-surface)) !important;
    color: var(--admin-muted);
}

.admin-data-table .mud-table-body .mud-table-row.admin-row-unlisted:hover {
    background: color-mix(in srgb, var(--admin-muted) 14%, var(--admin-surface)) !important;
}

.admin-data-table .mud-table-body .mud-table-row.admin-row-unlisted .mud-table-cell:first-child {
    box-shadow: inset 3px 0 0 0 color-mix(in srgb, var(--admin-muted) 55%, transparent);
}

.admin-low-stock-value {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    width: 100%;
    gap: 0.3rem;
    color: #BE123C;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.admin-low-stock-value__icon {
    color: #F43F5E;
}

.admin-cell-number {
    width: 1%;
    font-variant-numeric: tabular-nums;
    text-align: right !important;
    white-space: nowrap;
}

.admin-data-table .mud-table-cell.admin-cell-number,
.admin-master-table .mud-table-cell.admin-cell-number {
    width: 1%;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    text-align: right !important;
}

.admin-th-end {
    display: flex;
    justify-content: flex-end;
    width: 100%;
}

.admin-th-center {
    display: flex;
    justify-content: center;
    width: 100%;
}

.admin-data-table .mud-table-cell.admin-cell-number .mud-table-sort-label,
.admin-data-table .mud-table-cell.admin-cell-number .mud-table-sort-label.mud-clickable,
.admin-data-table .admin-th-end .mud-table-sort-label,
.admin-master-table .mud-table-cell.admin-cell-number .mud-table-sort-label {
    display: inline-flex !important;
    justify-content: flex-end !important;
    width: 100% !important;
}

.admin-cell-center {
    text-align: center !important;
}

.admin-data-table .admin-cell-center .mud-table-sort-label,
.admin-data-table .admin-th-center .mud-table-sort-label {
    display: inline-flex !important;
    justify-content: center !important;
    width: 100% !important;
}

.admin-data-table .mud-table-cell.admin-col-actions,
.admin-data-table .mud-table-cell.admin-cell-actions {
    width: 1%;
    white-space: nowrap;
    text-align: right !important;
}

.admin-data-table .mud-table-cell.admin-col-status {
    width: 8.5rem;
    white-space: nowrap;
}

.admin-stock-table .admin-col-sku {
    min-width: 8.25rem;
}

.admin-stock-table .admin-col-name {
    min-width: 10.5rem;
}

.admin-stock-table .admin-col-money {
    min-width: 7.25rem;
}

.admin-stock-table .admin-col-qty {
    min-width: 5.5rem;
}

.admin-stock-table .admin-col-disc {
    min-width: 4.75rem;
}

.admin-stock-table .admin-col-pos {
    min-width: 6.5rem;
}

.admin-stock-table .admin-pos-switch,
.admin-stock-table .admin-col-pos .mud-switch {
    justify-content: center;
}

.admin-stock-table .mud-table-head .mud-table-cell {
    overflow: hidden;
}

.admin-stock-table .mud-table-head .mud-table-sort-label {
    min-width: 0;
}

.admin-stock-edit-dialog .mud-dialog-content {
    padding-top: 0.5rem;
}

.admin-stock-edit-kicker {
    color: var(--admin-muted);
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.admin-responsive-table,
.admin-responsive-table .mud-table-container {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.admin-responsive-table .mud-table-cell {
    overflow-wrap: anywhere;
}

.admin-cell-actions {
    width: 1%;
    white-space: nowrap;
    text-align: right !important;
}

/* Compact master / lookup tables (Variant sizes, Portions, Pack units, …) */
.admin-master-table .mud-table-root {
    width: 100%;
    table-layout: fixed;
}

.admin-master-table .mud-table-toolbar {
    padding: 0.85rem 1.1rem 0.65rem;
    gap: 0.75rem;
    align-items: center;
}

.admin-master-table .admin-table-count {
    color: var(--admin-muted);
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.01em;
}

.admin-master-table .mud-table-head .mud-table-cell,
.admin-master-table .mud-table-body .mud-table-cell {
    padding-left: 1rem;
    padding-right: 1rem;
}

.admin-master-table .admin-col-order {
    width: 5.5rem;
    font-variant-numeric: tabular-nums;
    text-align: right !important;
}

.admin-master-table .admin-col-name {
    width: auto;
    text-align: left !important;
}

.admin-master-table .admin-col-value {
    width: 6.5rem;
    font-variant-numeric: tabular-nums;
    text-align: right !important;
}

.admin-master-table .admin-col-status {
    width: 8.25rem;
    text-align: left !important;
}

.admin-master-table .admin-col-source {
    width: 7.25rem;
    text-align: left !important;
}

.admin-master-table .admin-col-actions {
    width: 6.75rem;
    white-space: nowrap;
    text-align: right !important;
}

.admin-source-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 1.55rem;
    padding: 0.1rem 0.55rem;
    border-radius: 999px;
    border: 1px solid var(--admin-border);
    background: var(--admin-surface-subtle);
    color: var(--admin-text-soft);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    line-height: 1.2;
    white-space: nowrap;
}

.admin-source-pill--system {
    border-color: color-mix(in srgb, var(--admin-primary) 28%, var(--admin-border));
    background: color-mix(in srgb, var(--admin-primary-soft) 70%, var(--admin-surface));
    color: var(--admin-primary-dark);
}

.admin-source-pill--custom {
    border-color: color-mix(in srgb, var(--admin-info) 22%, var(--admin-border));
    background: color-mix(in srgb, var(--admin-info-soft) 80%, var(--admin-surface));
    color: var(--admin-info);
}

.admin-source-pill__dot {
    width: 0.4rem;
    height: 0.4rem;
    border-radius: 50%;
    background: currentColor;
    opacity: 0.75;
}

.admin-data-table .admin-col-status .admin-status-chip,
.admin-master-table .admin-col-status .admin-status-chip {
    vertical-align: middle;
}

.admin-table-overflow {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    border: 1px solid var(--admin-border);
    border-radius: var(--iph-radius-sm);
    scrollbar-gutter: stable;
}

.admin-table-overflow:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--admin-primary) 35%, transparent);
    outline-offset: 2px;
}

.admin-simple-table--responsive {
    min-width: 32rem;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.admin-responsive-table .mud-table-cell .admin-data-table {
    width: 100%;
    margin-top: var(--iph-space-2);
    border-color: var(--admin-border);
    box-shadow: none;
}

@media screen and (max-width: 600px) {
    .admin-table-card:has(.admin-responsive-table) {
        overflow: visible;
        border: 0;
        background: transparent;
        box-shadow: none;
    }

    .admin-responsive-table {
        overflow: visible;
        border: 0;
        background: transparent;
        box-shadow: none;
    }

    .admin-responsive-table .mud-table-container {
        overflow-x: visible;
    }

    .admin-responsive-table .mud-table-body .mud-table-row {
        width: 100%;
        max-width: 100%;
        margin: 0 0 var(--iph-space-3);
        padding: var(--iph-space-2) var(--iph-space-3);
        overflow: visible;
        box-sizing: border-box;
        background: var(--admin-surface);
        border: 1px solid var(--admin-border);
        border-radius: var(--iph-radius-md);
        box-shadow: var(--shadow-sm);
    }

    .admin-responsive-table .mud-table-body .mud-table-row:hover {
        background: var(--admin-surface);
    }

    .admin-responsive-table .mud-table-body .mud-table-cell {
        display: flex;
        width: 100%;
        min-width: 0;
        min-height: 2.75rem;
        align-items: flex-start;
        justify-content: flex-end;
        gap: var(--iph-space-3);
        padding: var(--iph-space-2) 0 !important;
        text-align: right;
        white-space: normal;
        border-bottom: 1px solid color-mix(in srgb, var(--admin-border) 72%, var(--admin-surface));
    }

    .admin-responsive-table .mud-table-body .mud-table-cell::before {
        flex: 0 0 38%;
        max-width: 8.5rem;
        margin-right: auto;
        color: var(--admin-muted);
        font-size: 0.7rem;
        font-weight: 700;
        letter-spacing: 0.055em;
        line-height: 1.35;
        text-align: left;
        text-transform: uppercase;
        white-space: normal;
    }

    .admin-responsive-table .mud-table-body .mud-table-cell:last-child {
        border-bottom: 0;
    }

    .admin-responsive-table .admin-cell-number,
    .admin-responsive-table .admin-cell-center {
        text-align: right;
        font-variant-numeric: tabular-nums;
    }

    .admin-responsive-table .admin-cell-actions {
        min-height: 3.5rem;
        align-items: center;
        flex-wrap: wrap;
        gap: var(--iph-space-2);
    }

    .admin-responsive-table .admin-cell-actions .mud-button-group-root {
        display: flex;
        max-width: 100%;
        flex-wrap: wrap;
        justify-content: flex-end;
    }

    .admin-responsive-table .admin-cell-actions .mud-icon-button,
    .admin-responsive-table .admin-cell-actions .mud-button-root {
        min-width: 44px;
        min-height: 44px;
    }

    .admin-responsive-table [data-label="Status"] .mud-chip,
    .admin-responsive-table [data-label="GL"] .mud-chip {
        max-width: 100%;
        height: auto;
        min-height: 1.75rem;
        white-space: normal;
    }

    .admin-table-card:has(.admin-responsive-table) .admin-table-footer {
        margin-top: var(--iph-space-2);
        border: 1px solid var(--admin-border);
        border-radius: var(--iph-radius-sm);
        background: var(--admin-surface);
    }

    .admin-table-card:has(.admin-responsive-table) .admin-table-footer > .mud-stack-root {
        align-items: stretch !important;
        flex-wrap: wrap;
    }

    .admin-table-card:has(.admin-responsive-table) .mud-pagination {
        max-width: 100%;
        overflow-x: auto;
    }
}

.admin-font-semibold {
    font-weight: 600;
}

.budget-card-link {
    display: block;
    height: 100%;
    color: inherit;
}

.budget-card-link:hover {
    color: inherit;
    text-decoration: none;
}

.budget-card-link .budget-card {
    height: 100%;
}

.admin-search-compact {
    width: min(100%, 18rem);
}

.ops-kpi-link {
    display: block;
    height: 100%;
    color: inherit;
}

.ops-kpi-link:hover {
    color: inherit;
    text-decoration: none;
}

.ops-kpi-link .ops-kpi {
    height: 100%;
}

.admin-data-table .mud-table-cell .mud-icon-button {
    opacity: 0.82;
    transition: color 120ms ease, background-color 120ms ease, opacity 120ms ease;
}

.admin-data-table .mud-table-row:hover .mud-icon-button,
.admin-data-table .mud-icon-button:focus-visible {
    opacity: 1;
}

.admin-route-surface .mud-input-control {
    min-width: 0;
}

.admin-route-surface .mud-input-outlined {
    background: rgba(255, 255, 255, 0.82);
    border-radius: var(--iph-radius-sm);
    transition: background-color 140ms ease, box-shadow 140ms ease;
}

.admin-route-surface .mud-input-outlined:focus-within {
    background: #fff;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--iph-consumer-primary) 12%, transparent);
}

.admin-route-surface .mud-input-label {
    font-weight: 550;
}

.admin-route-surface .mud-button-root {
    min-height: 2.5rem;
    border-radius: var(--iph-radius-sm);
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
}

.admin-route-surface .mud-button-root.mud-button-filled,
.admin-route-surface .mud-button-root.mud-button-outlined {
    padding-inline: 1rem;
}

.admin-route-surface .mud-button-root.mud-button-size-small {
    min-height: 2.125rem;
    padding-inline: 0.85rem;
    font-size: 0.8125rem;
}

.admin-route-surface .mud-button-root.mud-button-size-large {
    min-height: 2.75rem;
    padding-inline: 1.15rem;
}

.ops-hub-actions-bar .mud-button-root {
    min-height: 2.125rem;
    font-weight: 600;
    text-transform: none;
    border-radius: var(--iph-radius-sm);
}

.admin-route-surface .mud-button-filled-primary {
    box-shadow: 0 5px 14px rgba(13, 148, 136, 0.17);
}

.admin-route-surface .mud-icon-button {
    border-radius: var(--iph-radius-sm);
}

.admin-route-surface .mud-chip {
    font-weight: 650;
    letter-spacing: 0.005em;
}

.admin-route-surface .mud-alert {
    border-radius: var(--iph-radius-md);
}

.admin-route-surface .mud-tabs {
    overflow: hidden;
    background: var(--iph-consumer-surface);
    border: 1px solid var(--iph-consumer-border);
    border-radius: var(--iph-radius-md);
}

.admin-route-surface .mud-tabs-tabbar {
    background: linear-gradient(180deg, var(--admin-surface), var(--admin-surface-subtle));
    border-bottom: 1px solid var(--iph-consumer-border);
}

.admin-route-surface .mud-tab {
    min-height: 3.25rem;
    font-weight: 650;
    text-transform: none;
}

.admin-route-surface .mud-expansion-panels {
    border: 1px solid var(--iph-consumer-border);
    border-radius: var(--iph-radius-md);
    overflow: hidden;
}

.admin-route-surface .mud-pagination-item {
    border-radius: var(--iph-radius-sm);
}

.mud-dialog {
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--iph-consumer-border) 78%, transparent);
    border-radius: var(--iph-radius-lg) !important;
    box-shadow: 0 28px 70px rgba(11, 31, 51, 0.24) !important;
}

.mud-dialog-title {
    padding: 1.35rem 1.5rem 1rem;
    border-bottom: 1px solid var(--iph-consumer-border);
}

.mud-dialog-content {
    padding: 1.35rem 1.5rem;
}

.mud-dialog-actions {
    gap: 0.65rem;
    padding: 1rem 1.5rem 1.25rem;
    background: var(--admin-surface-subtle);
    border-top: 1px solid var(--iph-consumer-border);
}

.admin-empty-state {
    min-height: 12rem;
    padding: clamp(2rem, 5vw, 3.5rem) 1.5rem;
}

.admin-load-state {
    padding: 1.25rem;
    background: var(--admin-surface);
    border: 1px solid var(--admin-border);
    border-radius: var(--iph-radius-md);
}

@media (max-width: 768px) {
    .admin-page-container {
        padding-top: 1rem !important;
    }

    .admin-page-header {
        margin-bottom: 1.25rem !important;
        padding-bottom: 1rem;
    }

    .admin-page-header__row,
    .admin-page-header__copy {
        width: 100%;
    }

    .admin-page-header__icon {
        width: 2.75rem !important;
        height: 2.75rem !important;
    }

    .admin-page-header__actions {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
    }

    .admin-page-header__actions > .mud-button-root:last-child:nth-child(odd) {
        grid-column: 1 / -1;
    }

    .admin-filter-panel,
    .settings-filter-panel,
    .admin-filter-bar {
        padding: 1rem !important;
    }

    .admin-save-bar {
        align-items: stretch;
        flex-direction: column;
    }

    .admin-save-bar__actions,
    .admin-save-bar__actions .mud-button-root {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .admin-page-title {
        font-size: 1.45rem !important;
    }

    .admin-page-header__actions {
        grid-template-columns: 1fr;
    }

    .admin-page-header__actions > .mud-button-root {
        grid-column: 1;
        width: 100%;
    }

    .mud-dialog-title,
    .mud-dialog-content,
    .mud-dialog-actions {
        padding-right: 1rem;
        padding-left: 1rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .admin-layout *,
    .admin-layout *::before,
    .admin-layout *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}

.admin-action-busy__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    min-width: min(360px, 90vw);
    max-width: 440px;
    border-radius: var(--iph-radius-md, 12px);
}

.nav-menu-search-field .mud-input-outlined-border { border-radius: 8px !important; }
.settings-section-label {
    display: block;
    margin-bottom: 12px;
    color: var(--admin-muted) !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em;
}

.order-detail-page {
    max-width: 1280px;
}

.order-detail-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    margin: -0.75rem 0 1.5rem;
}

.order-detail-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem 1.5rem;
}

.order-detail-summary__group {
    min-width: 0;
}

.order-detail-summary__heading {
    margin: 0 0 0.75rem;
    color: var(--admin-muted);
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.order-detail-facts {
    display: grid;
    gap: 0.85rem;
    margin: 0;
}

.order-detail-facts dt {
    margin: 0 0 0.2rem;
    color: var(--admin-muted);
    font-size: 0.6875rem;
    font-weight: 650;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.order-detail-facts dd {
    margin: 0;
    color: var(--admin-text);
    font-size: 0.9375rem;
    font-weight: 600;
    letter-spacing: -0.01em;
}

.order-detail-unset {
    color: var(--admin-muted) !important;
    font-weight: 500 !important;
}

.order-detail-lines__idx {
    width: 2.5rem;
    color: var(--admin-muted);
}

.order-detail-line-name {
    font-weight: 650;
    color: var(--admin-text);
}

.order-detail-line-sku {
    margin-top: 0.15rem;
    color: var(--admin-muted);
    font-size: 0.75rem;
    letter-spacing: 0.02em;
}

.order-detail-line-total {
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.order-detail-settlement {
    position: sticky;
    top: 5.5rem;
}

.order-detail-totals {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.order-detail-totals__row,
.order-detail-totals__due {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    font-variant-numeric: tabular-nums;
}

.order-detail-totals__row {
    color: var(--admin-text);
    font-size: 0.9375rem;
}

.order-detail-totals__row--muted {
    color: var(--admin-muted);
}

.order-detail-totals__row--credit {
    color: var(--mud-palette-success);
    font-weight: 600;
}

.order-detail-totals__row--due {
    color: var(--mud-palette-error);
    font-weight: 650;
}

.order-detail-totals__hint {
    margin: -0.25rem 0 0;
    color: var(--admin-muted);
    font-size: 0.75rem;
}

.order-detail-totals__due {
    margin-top: 0.35rem;
    padding-top: 0.85rem;
    border-top: 1px solid var(--admin-border);
    color: var(--admin-text);
    font-size: 1.125rem;
}

.order-detail-totals__due strong {
    font-size: 1.35rem;
    font-weight: 750;
    letter-spacing: -0.03em;
}

@media (max-width: 959px) {
    .order-detail-summary {
        grid-template-columns: 1fr;
    }

    .order-detail-settlement {
        position: static;
    }
}

.variant-complete-dialog {
    min-width: 0;
}

.variant-complete-toolbar {
    background: var(--admin-surface-muted, rgba(99, 102, 241, 0.06));
    border: 1px solid var(--admin-border);
    border-radius: 12px;
}

.variant-complete-bulk-select {
    min-width: 220px;
}

.variant-complete-table-card {
    max-height: 46vh;
    overflow: auto;
}

.variant-complete-table .mud-table-container {
    overflow: visible;
}

.variant-complete-col-check {
    width: 2.75rem;
}

.variant-complete-sku {
    margin-top: 0.15rem;
    color: var(--admin-muted);
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
    font-size: 0.8rem;
    letter-spacing: 0.02em;
}

.variant-complete-cell-select,
.variant-complete-cell-barcode {
    min-width: 190px;
}

/* ---------- InfoTip (contextual help popovers) ---------- */

.admin-info-tip {
    display: inline-flex;
    vertical-align: middle;
    margin-left: 0.2rem;
}

.admin-info-tip .mud-icon-button {
    width: 1.6rem;
    height: 1.6rem;
    color: var(--admin-text-subtle) !important;
}

.admin-info-tip .mud-icon-button:hover {
    color: var(--admin-primary) !important;
    background: var(--admin-primary-soft) !important;
}

.admin-info-tip .mud-icon-button .mud-icon-root {
    font-size: 1.15rem;
}

.mud-popover.admin-info-tip-popover,
.admin-info-tip-popover {
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid var(--admin-border);
    box-shadow: 0 20px 45px rgba(15, 42, 67, 0.18);
}

.admin-info-tip-panel {
    width: min(24rem, calc(100vw - 2rem));
    background: var(--admin-surface);
    color: var(--admin-text);
}

.admin-info-tip-panel__header {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.85rem 1rem 0.6rem;
    background: var(--admin-primary-soft);
    border-bottom: 1px solid var(--admin-border);
}

.admin-info-tip-panel__header .mud-typography {
    font-weight: 700;
    color: var(--admin-navy-900);
}

.admin-info-tip-panel__body {
    padding: 0.85rem 1rem 1rem;
    color: var(--admin-text-soft);
    font-size: 0.83rem;
    line-height: 1.55;
    max-height: 60vh;
    overflow-y: auto;
}

.admin-info-tip-panel__body p {
    margin: 0 0 0.6rem;
}

.admin-info-tip-panel__body p:last-child {
    margin-bottom: 0;
}

.admin-info-tip-panel__body ul {
    margin: 0.3rem 0 0.6rem 1.1rem;
    padding: 0;
}

.admin-info-tip-panel__body li {
    margin-bottom: 0.35rem;
}

.admin-info-tip-panel__body li:last-child {
    margin-bottom: 0;
}

.admin-info-tip-panel__body strong {
    color: var(--admin-text);
}

.admin-info-tip-chain {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    margin: 0.5rem 0 0.7rem;
}

.admin-info-tip-chain__arrow {
    color: var(--admin-text-subtle);
    font-size: 0.9rem;
}

/* ---------- Setup readiness checklist ---------- */

.product-readiness-banner {
    border-radius: 14px;
    border: 1px solid var(--admin-border);
    background: linear-gradient(180deg, var(--admin-surface), var(--admin-surface-subtle));
    margin-bottom: 1rem;
    overflow: hidden;
}

.product-readiness-banner--complete {
    border-color: color-mix(in srgb, var(--admin-success) 35%, var(--admin-border));
}

.product-readiness-banner__header {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.85rem 1.1rem;
}

.product-readiness-banner__title {
    font-weight: 750;
    color: var(--admin-navy-900);
}

.product-readiness-banner__subtitle {
    color: var(--admin-muted);
}

.product-readiness-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0.6rem;
    padding: 0 1.1rem 1rem;
}

.product-readiness-item {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    padding: 0.6rem 0.75rem;
    border-radius: 10px;
    background: var(--admin-surface);
    border: 1px solid var(--admin-border);
}

.product-readiness-item--done {
    background: var(--admin-success-soft);
    border-color: color-mix(in srgb, var(--admin-success) 30%, var(--admin-border));
}

.product-readiness-item--pending {
    background: var(--admin-warning-soft);
    border-color: color-mix(in srgb, var(--admin-warning) 30%, var(--admin-border));
}

.product-readiness-item__icon {
    margin-top: 0.1rem;
}

.product-readiness-item__title {
    font-weight: 650;
    font-size: 0.85rem;
    color: var(--admin-text);
}

.product-readiness-item__desc {
    color: var(--admin-muted);
    font-size: 0.78rem;
    line-height: 1.4;
    margin-top: 0.1rem;
}

.product-readiness-item__action {
    margin-top: 0.35rem;
}
