:root {
    --brand: #8b5cf6;
    --brand-strong: #7c3aed;
    --brand-soft: rgba(139, 92, 246, 0.16);
    --success: #34d399;
    --danger: #fb7185;
    --warning: #fbbf24;
    --bg: #06111f;
    --bg-elevated: #0b1728;
    --surface: rgba(10, 20, 35, 0.86);
    --surface-strong: #101d30;
    --surface-soft: rgba(255, 255, 255, 0.045);
    --text: #f8fafc;
    --muted: #9aa9bc;
    --border: rgba(255, 255, 255, 0.10);
    --shadow: 0 24px 70px rgba(0, 0, 0, 0.32);
    --radius-sm: 10px;
    --radius: 16px;
    --radius-lg: 24px;
}

[data-theme="light"] {
    --brand: #7c3aed;
    --brand-strong: #6d28d9;
    --brand-soft: rgba(124, 58, 237, 0.10);
    --success: #059669;
    --danger: #e11d48;
    --warning: #b45309;
    --bg: #eef2ff;
    --bg-elevated: #e8eefb;
    --surface: rgba(255, 255, 255, 0.86);
    --surface-strong: #ffffff;
    --surface-soft: rgba(15, 23, 42, 0.045);
    --text: #0f172a;
    --muted: #64748b;
    --border: rgba(15, 23, 42, 0.12);
    --shadow: 0 24px 70px rgba(51, 65, 85, 0.14);
}

html {
    min-height: 100%;
    background: var(--bg);
}

body.app-shell {
    min-height: 100vh;
    margin: 0;
    color: var(--text);
    font-family: "Plus Jakarta Sans", Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 15px;
    line-height: 1.55;
    text-align: left;
    background:
        radial-gradient(circle at 12% 2%, rgba(139, 92, 246, 0.18), transparent 34rem),
        radial-gradient(circle at 88% 8%, rgba(14, 165, 233, 0.10), transparent 30rem),
        linear-gradient(180deg, var(--bg-elevated), var(--bg));
    background-attachment: fixed;
}

body.app-shell *,
body.app-shell *::before,
body.app-shell *::after {
    box-sizing: border-box;
}

body.app-shell a {
    color: var(--brand);
}

body.app-shell a:hover,
body.app-shell a:focus {
    color: var(--brand-strong);
}

.skip-link {
    position: fixed;
    top: 8px;
    left: 8px;
    z-index: 2000;
    padding: 10px 14px;
    border-radius: var(--radius-sm);
    background: var(--surface-strong);
    color: var(--text) !important;
    transform: translateY(-150%);
}

.skip-link:focus {
    transform: translateY(0);
}

.app-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    border-bottom: 1px solid var(--border);
    background: var(--surface);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.14);
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
}

.app-navbar {
    min-height: 72px;
    margin: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.app-navbar__inner {
    display: flex;
    align-items: center;
    min-height: 72px;
    padding-right: 24px;
    padding-left: 24px;
}

.app-navbar__brand-row {
    flex: 0 0 auto;
}

.app-brand {
    display: flex;
    align-items: center;
    height: auto;
    min-height: 72px;
    gap: 11px;
    padding: 12px 22px 12px 0;
    color: var(--text) !important;
}

.app-brand__mark {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border-radius: 12px;
    color: #fff;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: -0.04em;
    background: linear-gradient(135deg, var(--brand), #4f46e5);
    box-shadow: 0 10px 28px rgba(124, 58, 237, 0.28);
}

.app-brand strong,
.app-brand small {
    display: block;
    line-height: 1.15;
}

.app-brand strong {
    font-size: 16px;
}

.app-brand small {
    margin-top: 3px;
    color: var(--muted);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.app-navbar .navbar-collapse {
    flex: 1 1 auto;
    padding: 0;
}

.app-nav {
    margin-left: 12px;
}

.app-nav > li > a {
    margin: 16px 2px;
    padding: 10px 13px;
    border-radius: 10px;
    color: var(--muted) !important;
    font-size: 13px;
    font-weight: 700;
    transition: background-color 160ms ease, color 160ms ease;
}

.app-nav > li > a:hover,
.app-nav > li > a:focus {
    background: var(--surface-soft) !important;
    color: var(--text) !important;
}

.app-nav > li.active > a,
.app-nav > li.active > a:hover,
.app-nav > li.active > a:focus {
    background: var(--brand-soft) !important;
    color: var(--brand) !important;
}

.app-navbar__actions {
    display: flex;
    float: right;
    align-items: center;
    min-height: 72px;
    gap: 8px;
}

.theme-toggle,
.app-signout {
    min-height: 38px;
    padding: 8px 12px;
    border: 1px solid var(--border);
    border-radius: 10px;
    color: var(--muted) !important;
    background: var(--surface-soft);
    font-size: 12px;
    font-weight: 800;
    text-decoration: none !important;
}

.theme-toggle:hover,
.theme-toggle:focus,
.app-signout:hover,
.app-signout:focus {
    border-color: rgba(139, 92, 246, 0.45);
    color: var(--text) !important;
    outline: none;
}

.theme-toggle__icon:not(.fas)::before {
    content: "☾";
    margin-right: 6px;
}

.theme-toggle[data-active-theme="light"] .theme-toggle__icon:not(.fas)::before {
    content: "☀";
}

#maincontent {
    width: min(1440px, calc(100% - 48px));
    min-height: calc(100vh - 150px);
    margin: 0 auto;
    padding: 32px 0 56px;
}

.app-page {
    width: 100%;
}

.app-page__header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 24px;
}

.app-page__hero { display: flex; align-items: flex-start; gap: 16px; }
.app-hero-icon {
    display: grid;
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    place-items: center;
    border: 1px solid rgba(139, 92, 246, 0.28);
    border-radius: 14px;
    color: var(--brand);
    background: var(--brand-soft);
    box-shadow: 0 10px 28px rgba(124, 58, 237, 0.12);
    font-size: 18px;
}

.app-eyebrow {
    margin: 0 0 8px;
    color: var(--brand);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.app-page__title {
    margin: 0;
    color: var(--text);
    font-size: clamp(28px, 4vw, 42px);
    font-weight: 850;
    letter-spacing: -0.035em;
}

.app-page__intro {
    max-width: 760px;
    margin: 10px 0 0;
    color: var(--muted);
    font-size: 15px;
}

.app-card {
    border: 1px solid var(--border);
    border-radius: var(--radius);
    color: var(--text);
    background: var(--surface);
    box-shadow: var(--shadow);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
}

.app-card__body {
    padding: 22px;
}

.app-card__title {
    margin: 0;
    color: var(--text);
    font-size: 17px;
    font-weight: 800;
}

.app-card__title--with-badge {
    margin-top: 12px;
}

.app-card__meta {
    margin-top: 6px;
    color: var(--muted);
    font-size: 13px;
}

.app-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 16px;
}

.app-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    gap: 8px;
    padding: 10px 16px;
    border: 1px solid transparent;
    border-radius: 11px;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none !important;
    cursor: pointer;
}

.app-btn--primary {
    color: #fff !important;
    background: linear-gradient(135deg, var(--brand), var(--brand-strong));
    box-shadow: 0 10px 26px rgba(124, 58, 237, 0.26);
}

.app-btn--secondary {
    border-color: var(--border);
    color: var(--text) !important;
    background: var(--surface-soft);
}

.app-btn--danger {
    border-color: rgba(251, 113, 133, 0.30);
    color: var(--danger) !important;
    background: rgba(251, 113, 133, 0.08);
}
.app-btn--success {
    color: #fff !important;
    background: linear-gradient(135deg, #059669, #10b981);
    box-shadow: 0 10px 26px rgba(16, 185, 129, .22);
}

.app-btn:hover,
.app-btn:focus {
    filter: brightness(1.08);
    color: inherit;
    outline: 2px solid transparent;
    transform: translateY(-1px);
}

.app-form-panel {
    margin-bottom: 20px;
}

.app-form-panel[hidden] {
    display: none;
}

.app-form-row {
    display: flex;
    align-items: flex-end;
    gap: 12px;
}

.app-field {
    flex: 1 1 auto;
}

.app-field label {
    display: block;
    margin-bottom: 7px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}

body.app-shell .form-control {
    height: 44px;
    border: 1px solid var(--border);
    border-radius: 11px;
    color: var(--text);
    background: var(--surface-soft);
    box-shadow: none;
}

body.app-shell .form-control:focus {
    border-color: var(--brand);
    box-shadow: 0 0 0 3px var(--brand-soft);
}

.app-card--marketplace {
    transition: transform 160ms ease, border-color 160ms ease;
}

.app-card--marketplace:hover {
    border-color: rgba(139, 92, 246, 0.36);
    transform: translateY(-2px);
}

.app-card__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 20px;
}

.app-marketplace-page .marketplace-grid {
    display: grid;
    gap: 24px;
    margin-bottom: 28px;
}

.app-marketplace-page .marketplace-grid--browse {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.app-marketplace-page .marketplace-browser {
    margin-bottom: 24px;
    padding: 20px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--surface);
    box-shadow: var(--shadow);
}

.app-marketplace-page .marketplace-search {
    position: relative;
    max-width: 680px;
}

.app-marketplace-page .marketplace-search i {
    position: absolute;
    top: 50%;
    left: 16px;
    color: var(--muted);
    transform: translateY(-50%);
}

.app-marketplace-page .marketplace-search input {
    width: 100%;
    min-height: 48px;
    padding: 11px 16px 11px 44px;
    border: 1px solid var(--border);
    border-radius: 13px;
    color: var(--text);
    background: var(--surface-soft);
    outline: none;
}

.app-marketplace-page .marketplace-search input:focus {
    border-color: var(--brand);
    box-shadow: 0 0 0 3px var(--brand-soft);
}

.app-marketplace-page .marketplace-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 16px;
}

.app-marketplace-page .marketplace-filter {
    min-height: 34px;
    padding: 7px 12px;
    border: 1px solid var(--border);
    border-radius: 999px;
    color: var(--muted);
    background: var(--surface-soft);
    font-size: 12px;
    font-weight: 800;
}

.app-marketplace-page .marketplace-filter.is-active {
    border-color: rgba(139, 92, 246, .35);
    color: var(--brand);
    background: var(--brand-soft);
}

.app-marketplace-page .app-card--marketplace .app-card__body {
    padding: 30px;
}

.app-marketplace-page .marketplace-grid--browse .app-card--marketplace,
.app-marketplace-page .marketplace-grid--browse .app-card__body {
    height: 100%;
}

.app-marketplace-page .marketplace-grid--browse .app-card__body {
    display: flex;
    flex-direction: column;
}

.app-marketplace-page .marketplace-grid--browse .app-card__title {
    margin-top: 18px;
    font-size: 20px;
}

.app-marketplace-page .marketplace-grid--browse .app-section-heading {
    min-height: 48px;
}

.app-marketplace-page .marketplace-grid--browse .app-card__actions {
    margin-top: auto;
    padding-top: 20px;
}

.app-marketplace-page .marketplace-grid--browse .app-card__actions form,
.app-marketplace-page .marketplace-grid--browse .app-card__actions .app-btn {
    flex: 1 1 auto;
}

.app-marketplace-page .marketplace-manage {
    margin-top: 22px;
    border-top: 1px solid var(--border);
}

.app-marketplace-page .marketplace-manage > summary {
    display: flex;
    align-items: center;
    gap: 9px;
    padding-top: 18px;
    color: var(--text);
    font-size: 13px;
    font-weight: 850;
    cursor: pointer;
    list-style: none;
}

.app-marketplace-page .marketplace-manage > summary::-webkit-details-marker {
    display: none;
}

.app-marketplace-page .marketplace-manage__chevron {
    margin-left: auto;
    transition: transform 150ms ease;
}

.app-marketplace-page .marketplace-manage[open] .marketplace-manage__chevron {
    transform: rotate(180deg);
}

.app-marketplace-page .marketplace-manage__content {
    padding-top: 20px;
}

.app-marketplace-page .marketplace-grid--browse .marketplace-manage .app-form-grid {
    grid-template-columns: 1fr;
}

.app-marketplace-page .marketplace-empty {
    padding: 64px 24px;
    color: var(--muted);
    text-align: center;
}

.app-marketplace-page .marketplace-empty i {
    font-size: 28px;
}

.app-marketplace-page .marketplace-empty h2 {
    margin: 14px 0 4px;
    color: var(--text);
}

.app-marketplace-page .app-card--marketplace p {
    line-height: 1.55;
}

.app-marketplace-page .app-card--marketplace hr {
    margin: 26px 0 22px;
    border-top-color: var(--border);
}

.app-marketplace-page .app-card--marketplace details {
    margin-top: 20px;
}

.app-marketplace-page .marketplace-admin-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 20px;
}

.app-marketplace-page .marketplace-availability-title {
    margin: 0;
    font-size: 18px;
}

.app-marketplace-page .app-table__actions {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 10px;
    white-space: normal;
}

@media (max-width: 760px) {
    .app-marketplace-page .app-card--marketplace .app-card__body {
        padding: 22px;
    }

    .app-marketplace-page .marketplace-admin-heading {
        display: block;
    }

    .app-marketplace-page .marketplace-admin-heading form {
        margin-top: 14px;
    }
}

@media (max-width: 1100px) {
    .app-marketplace-page .marketplace-grid--browse {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .app-marketplace-page .marketplace-grid--browse {
        grid-template-columns: 1fr;
    }
}

.app-page--narrow { max-width: 920px; margin-right: auto; margin-left: auto; }
.app-card__body--flush { padding: 0; }
.app-btn--small { min-height: 34px; padding: 7px 11px; border-radius: 9px; font-size: 12px; }
.app-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}
.app-field--full { grid-column: 1 / -1; }
.app-field__help {
    display: block;
    margin-top: 7px;
    color: var(--muted);
    font-size: 11px;
    line-height: 1.5;
}
.app-field__value { min-height: 44px; margin: 0; padding: 11px 13px; border: 1px solid var(--border); border-radius: 11px; color: var(--text); background: var(--surface-soft); }
.app-field--check label { display: flex; align-items: flex-start; gap: .5rem; color: var(--text); font-weight: 600; line-height: 1.45; cursor: pointer; }
.app-field--check input[type="checkbox"] { flex: 0 0 auto; width: 1rem; height: 1rem; margin-top: .12rem; accent-color: var(--brand); }
.app-subheading { margin: 1.1rem 0 0; color: var(--muted); font-size: .7rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.app-form-error { margin-top: 18px; padding: 12px 14px; border: 1px solid rgba(251, 113, 133, 0.34); border-radius: 11px; color: var(--danger); background: rgba(251, 113, 133, 0.08); font-size: 12px; font-weight: 700; }
.app-definition-grid { display: grid; gap: 0; margin: 0; }
.app-definition-grid > div { display: grid; grid-template-columns: minmax(150px, 0.35fr) 1fr; gap: 20px; padding: 17px 0; border-bottom: 1px solid var(--border); }
.app-definition-grid > div:last-child { border-bottom: 0; }
.app-definition-grid dt { color: var(--muted); font-size: 11px; font-weight: 850; letter-spacing: 0.06em; text-transform: uppercase; }
.app-definition-grid dd { margin: 0; color: var(--text); font-weight: 700; }

.app-badge {
    display: inline-flex;
    align-items: center;
    min-height: 25px;
    padding: 4px 9px;
    border-radius: 999px;
    color: var(--success);
    background: rgba(52, 211, 153, 0.12);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.app-badge--neutral { color: var(--muted); background: var(--surface-soft); }
.admin-access-table th,
.admin-access-table td,
.admin-access-table .app-table__actions,
.admin-access-table .app-table__actions-heading { text-align: left !important; }
.admin-access-table .app-table__actions { display: flex; flex-wrap: wrap; gap: 7px; white-space: normal; }
.admin-permissions-card { margin-top: 18px; }
.admin-permission-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; margin-top: 18px; }
.admin-permission-grid article { padding: 18px; border: 1px solid var(--border); border-radius: 13px; background: var(--surface-soft); }
.admin-permission-grid h3 { margin: 13px 0 7px; color: var(--text); font-size: 16px; }
.admin-permission-grid p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.65; }
.vendor-edit-row td { padding: 20px !important; background: var(--surface-soft); }
.vendor-table .app-table__actions { display: flex; flex-wrap: wrap; gap: 7px; text-align: left !important; white-space: normal; }
.vendor-feedback {
    position: sticky;
    top: calc(var(--app-topbar-height, 72px) + 12px);
    z-index: 30;
    box-shadow: 0 14px 35px rgba(15, 23, 42, .18);
}

.product-marketplace-editor { max-width: 1500px; }
.marketplace-name-card,
.marketplace-category-list,
.marketplace-category,
.marketplace-products-section { margin-bottom: 1rem; }
.marketplace-editor-heading,
.marketplace-add-category,
.marketplace-category__toolbar,
.marketplace-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}
.app-inline-editor {
    display: flex;
    align-items: center;
    gap: .65rem;
    min-width: min(100%, 480px);
}
.app-inline-editor .form-control { min-width: 0; }
.marketplace-category { overflow: clip; }
.marketplace-category__summary {
    display: grid;
    grid-template-columns: 28px minmax(220px, 1fr) auto auto;
    align-items: center;
    gap: 1rem;
    padding: 1.15rem 1.3rem;
    cursor: pointer;
    list-style: none;
}
.marketplace-category__summary::-webkit-details-marker { display: none; }
.marketplace-category__summary:hover { background: var(--app-surface-subtle); }
.marketplace-category__chevron { color: var(--app-accent); transition: transform .2s ease; }
.marketplace-category[open] .marketplace-category__chevron { transform: rotate(90deg); }
.marketplace-category__identity,
.marketplace-category__counts { display: flex; flex-direction: column; gap: .2rem; }
.marketplace-category__identity small,
.marketplace-category__counts,
.marketplace-category__order { color: var(--app-text-muted); font-size: .84rem; }
.marketplace-category__counts { align-items: flex-end; }
.marketplace-category__body {
    border-top: 1px solid var(--app-border);
    padding: 1.25rem;
}
.marketplace-category-settings {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin: 1rem 0 1.4rem;
}
.marketplace-category-setting {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: .75rem;
    padding: 1rem;
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    background: var(--app-surface-subtle);
}
.marketplace-products-section {
    border-top: 1px solid var(--app-border);
    padding-top: 1.2rem;
}
.marketplace-section-heading { margin-bottom: .75rem; }
.marketplace-section-heading h3 { margin: .15rem 0 0; }
.marketplace-section-heading > span { color: var(--app-text-muted); font-size: .9rem; }
.marketplace-product-table th:first-child { min-width: 210px; }
.marketplace-price-form {
    display: grid;
    grid-template-columns: minmax(100px, 1fr) minmax(100px, 1fr) auto;
    gap: .5rem;
    align-items: center;
}
.marketplace-price-form .form-control { min-width: 0; }
.marketplace-order-actions { display: flex; gap: .45rem; }
.marketplace-advanced {
    border-top: 1px solid var(--app-border);
    padding-top: 1rem;
}
.marketplace-advanced > summary {
    color: var(--app-text-muted);
    cursor: pointer;
    font-weight: 700;
}
.marketplace-advanced__body {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
    gap: 1rem;
    padding-top: 1rem;
}
.marketplace-danger-zone {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid var(--app-danger);
    border-radius: var(--app-radius);
    background: color-mix(in srgb, var(--app-danger) 7%, var(--app-surface));
}
.marketplace-danger-zone h3,
.marketplace-danger-zone p { margin: 0; }

@media (max-width: 900px) {
    .marketplace-editor-heading,
    .marketplace-add-category,
    .marketplace-category__toolbar,
    .marketplace-section-heading { align-items: stretch; flex-direction: column; }
    .marketplace-category__summary { grid-template-columns: 24px minmax(0, 1fr); }
    .marketplace-category__counts,
    .marketplace-category__order { grid-column: 2; align-items: flex-start; }
    .marketplace-category-settings,
    .marketplace-advanced__body { grid-template-columns: 1fr; }
    .marketplace-price-form { grid-template-columns: 1fr 1fr; }
    .marketplace-price-form .app-btn { grid-column: 1 / -1; }
    .app-inline-editor { min-width: 0; width: 100%; }
}
.product-account-grid { display: grid; gap: 16px; }
.catalog-admin { --catalog-gap: 18px; }
.catalog-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--catalog-gap); margin-bottom: var(--catalog-gap); }
.catalog-create { margin-bottom: var(--catalog-gap); }
.catalog-create-workflow { display: grid; gap: 22px; }
.catalog-account-workspace { max-width: 1320px; }
.catalog-workspace-tabs { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin-bottom: 22px; }
.catalog-workspace-tabs a { display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: center; padding: 16px 18px; border: 1px solid var(--app-border); border-radius: 14px; background: var(--app-surface); color: var(--app-text); text-decoration: none; }
.catalog-workspace-tabs a.active { border-color: var(--app-accent); box-shadow: 0 0 0 1px var(--app-accent); }
.catalog-workspace-tabs a > i { color: var(--app-accent); font-size: 1.2rem; }
.catalog-workspace-tabs a > small { min-width: 28px; padding: 3px 8px; border-radius: 999px; background: var(--app-surface-muted); text-align: center; }
.catalog-guide-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin-bottom: 22px; }
.catalog-guide-grid article { display: flex; gap: 14px; padding: 18px; border: 1px solid var(--app-border); border-radius: 14px; background: var(--app-surface); }
.catalog-guide-grid article > span { display: grid; place-items: center; flex: 0 0 34px; height: 34px; border-radius: 50%; background: var(--app-accent); color: #fff; font-weight: 800; }
.catalog-guide-grid p, .catalog-studio-row small, .catalog-component-picker small, .catalog-policy-toggle small { display: block; margin: 4px 0 0; color: var(--app-text-muted); }
.catalog-builder-card, .catalog-policy-card { margin-bottom: 22px; }
.catalog-studio-form__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.catalog-studio-form__wide { grid-column: 1 / -1; }
.catalog-studio-list { display: grid; gap: 10px; margin-top: 22px; }
.catalog-studio-list .app-section-heading { margin-bottom: 4px; }
.catalog-studio-row { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 14px; padding: 16px 18px; }
.catalog-studio-row__icon { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: var(--app-surface-muted); color: var(--app-accent); }
.catalog-component-picker { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; padding: 0; border: 0; }
.catalog-component-picker legend { margin-bottom: 8px; font-size: 1rem; font-weight: 700; }
.catalog-component-picker label, .catalog-policy-toggle { display: flex; gap: 10px; align-items: flex-start; padding: 14px; border: 1px solid var(--app-border); border-radius: 12px; background: var(--app-surface-muted); cursor: pointer; }
.catalog-policy-form { display: grid; gap: 16px; }
.catalog-concept-callout { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 16px; align-items: start; margin-bottom: 22px; padding: 20px; border: 1px solid color-mix(in srgb, var(--brand) 30%, var(--app-border)); border-radius: 16px; background: color-mix(in srgb, var(--brand) 7%, var(--app-surface)); }
.catalog-concept-callout h2, .catalog-concept-callout p { margin-top: 0; }
.catalog-concept-callout__icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; background: var(--brand); color: #fff; font-size: 1.15rem; }
.catalog-concept-callout--upsell { border-color: color-mix(in srgb, #8b5cf6 35%, var(--app-border)); background: color-mix(in srgb, #8b5cf6 7%, var(--app-surface)); }
.catalog-concept-callout--upsell .catalog-concept-callout__icon { background: #7c3aed; }
.catalog-use-badges { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.catalog-use-badges em { display: inline-flex; gap: 5px; align-items: center; padding: 3px 8px; border-radius: 999px; background: var(--app-surface-muted); color: var(--app-text-muted); font-size: .75rem; font-style: normal; font-weight: 700; }
.catalog-addon-prompt { margin: 7px 0 0; color: var(--app-text-muted); font-size: .88rem; font-style: italic; }
.catalog-form-error { margin: 0; color: var(--danger, #b42318); font-weight: 700; }
@media (max-width: 800px) { .catalog-workspace-tabs, .catalog-guide-grid, .catalog-studio-form__grid, .catalog-component-picker { grid-template-columns: 1fr; } .catalog-studio-form__wide { grid-column: auto; } }
.catalog-create-step { min-width: 0; margin: 0; padding: 0; border: 0; }
.catalog-create-step > legend { display: flex; align-items: center; gap: 10px; width: 100%; margin: 0 0 14px; color: var(--text); font-size: 1rem; }
.catalog-create-step > legend span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 999px; background: var(--brand); color: #fff; font-size: .78rem; font-weight: 900; }
.catalog-type-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.catalog-type-card { position: relative; display: grid; grid-template-columns: 44px minmax(0, 1fr) 18px; align-items: center; gap: 11px; min-height: 98px; margin: 0; padding: 15px; border: 1px solid var(--line); border-radius: 15px; background: var(--surface-subtle); cursor: pointer; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.catalog-type-card:hover { border-color: color-mix(in srgb, var(--brand) 55%, var(--line)); transform: translateY(-1px); }
.catalog-type-card:has(input:checked) { border-color: var(--brand); background: color-mix(in srgb, var(--brand) 8%, var(--surface)); box-shadow: 0 0 0 2px color-mix(in srgb, var(--brand) 18%, transparent); }
.catalog-type-card input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.catalog-type-card:focus-within { outline: 3px solid color-mix(in srgb, var(--brand) 28%, transparent); outline-offset: 2px; }
.catalog-type-card__icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 13px; background: var(--brand-soft); color: var(--brand); font-size: 1.1rem; }
.catalog-type-card > span:nth-child(3) { display: grid; gap: 4px; }
.catalog-type-card strong { color: var(--text); font-size: .9rem; }
.catalog-type-card small { color: var(--muted); font-size: .74rem; font-weight: 600; line-height: 1.35; }
.catalog-type-card__check { color: var(--brand); opacity: 0; }
.catalog-type-card:has(input:checked) .catalog-type-card__check { opacity: 1; }
.catalog-create-workspace { display: grid; grid-template-columns: minmax(0, 1fr) minmax(250px, 340px); gap: 22px; align-items: start; }
.catalog-create-fields { display: grid; gap: 22px; }
.catalog-create-plan { position: sticky; top: 92px; padding: 20px; border: 1px solid color-mix(in srgb, var(--brand) 30%, var(--line)); border-radius: 18px; background: linear-gradient(145deg, color-mix(in srgb, var(--brand) 7%, var(--surface)), var(--surface)); }
.catalog-create-plan h3 { margin: 4px 0 7px; }
.catalog-create-plan > p:not(.app-eyebrow) { color: var(--muted); font-size: .86rem; }
.catalog-create-plan ol { display: grid; gap: 9px; margin: 16px 0; padding-left: 23px; color: var(--text); font-size: .82rem; }
.catalog-create-plan li::marker { color: var(--brand); font-weight: 900; }
.catalog-create-plan .app-alert { margin: 16px 0; }
.catalog-create-plan .app-btn { width: 100%; justify-content: center; }
.catalog-create-grid, .catalog-filter-grid, .catalog-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: end; }
.catalog-create-description, .catalog-form-wide { grid-column: 1 / -1; }
.catalog-filter-grid { grid-template-columns: minmax(220px, 1.5fr) repeat(4, minmax(145px, .8fr)) auto; }
.catalog-filter-action { padding-bottom: 1px; }
.catalog-product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--catalog-gap); margin-top: var(--catalog-gap); }
.catalog-product-card { overflow: hidden; }
.catalog-product-card.is-archived { opacity: .72; }
.catalog-product-card.is-archived .catalog-product-visual { filter: saturate(.35); }
.catalog-product-visual { position: relative; display: grid; place-items: center; min-height: 190px; padding: 22px; color: var(--brand); background: linear-gradient(145deg, rgba(124,58,237,.13), rgba(14,165,233,.08)); }
.catalog-product-visual img { display: block; max-width: 100%; max-height: 170px; object-fit: contain; }
.catalog-product-visual > span:not(.app-status) { display: grid; place-items: center; width: 74px; height: 74px; border: 1px solid rgba(124,58,237,.25); border-radius: 22px; background: var(--surface); font-size: 2rem; }
.catalog-product-visual .app-status { position: absolute; top: 14px; right: 14px; }
.catalog-product-signals { display: flex; flex-wrap: wrap; gap: 8px 14px; margin: 18px 0; color: var(--muted); font-size: .82rem; }
.catalog-product-signals i { margin-right: 4px; color: var(--brand); }
.catalog-builder-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 380px); gap: 22px; align-items: start; }
.catalog-builder-main { display: grid; gap: 18px; }
.catalog-builder-preview { display: grid; gap: 18px; }
.catalog-preview-sticky { position: sticky; top: 92px; }
.catalog-orientation-tabs { display: flex; gap: 8px; margin: 18px 0; }
.catalog-canvas-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.catalog-canvas-fields .app-section-heading { grid-column: 1 / -1; }
.catalog-preview-frame { position: relative; width: 100%; overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: repeating-conic-gradient(rgba(100,116,139,.12) 0 25%, transparent 0 50%) 50% / 18px 18px; }
.catalog-preview-background, .catalog-preview-overlay { position: absolute; inset: 0; z-index: 1; background-position: center; background-repeat: no-repeat; background-size: 100% 100%; pointer-events: none; }
.catalog-preview-photo { position: absolute; z-index: 2; display: grid; place-items: center; min-width: 8px; min-height: 8px; overflow: hidden; transform-origin:center; border: 2px dashed rgba(124,58,237,.7); background: linear-gradient(145deg, rgba(124,58,237,.20), rgba(14,165,233,.20)); color: var(--text); text-align: center; }
.catalog-preview-photo i { font-size: 2rem; opacity: .72; }
.catalog-preview-photo span { font-size: .72rem; font-weight: 800; }
.catalog-preview-text{position:absolute;z-index:3;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:3px;border:1px dashed rgba(255,255,255,.7);font-weight:700;line-height:1.1;text-shadow:0 1px 3px rgba(0,0,0,.65);pointer-events:none}
.catalog-preview-overlay { z-index: 4; }
.catalog-text-layer-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:8px;padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft)}
.catalog-text-layer-fields .app-section-heading,.catalog-text-layer-fields>.catalog-check{grid-column:1/-1}
.catalog-preview-legend { display: flex; flex-wrap: wrap; gap: 10px; margin: 12px 0; color: var(--muted); font-size: .78rem; }
.catalog-preview-legend i { color: var(--brand); }
.catalog-builder-next-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 16px; }
.catalog-next-card { color: inherit !important; text-decoration: none !important; }
.catalog-next-card i { color: var(--brand); font-size: 1.25rem; }
.catalog-check { display: flex; align-items: center; gap: 9px; min-height: 44px; margin: 0; font-weight: 700; }
.catalog-check input { width: 18px; height: 18px; }
.catalog-inline-editor { margin: 16px 0; padding: 18px; border: 1px solid rgba(124,58,237,.25); border-radius: 16px; background: rgba(124,58,237,.045); }
.catalog-starter{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:1.25rem;align-items:start;margin:1rem 0;padding:1rem;border:1px solid rgba(124,58,237,.2);border-radius:16px;background:linear-gradient(135deg,rgba(124,58,237,.065),rgba(14,165,233,.035))}
.catalog-starter h3{margin:.1rem 0 .35rem}
.catalog-starter form{display:grid;gap:.75rem}
.catalog-variant-override{grid-column:1/-1;margin-top:1rem;padding:.9rem 1rem;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft)}
.catalog-variant-override>summary{cursor:pointer;font-weight:800}
.catalog-variant-override>summary i{margin-right:.45rem;color:var(--primary)}
.catalog-variant-canvas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:.85rem 0 0;padding:1rem;border:1px solid var(--border);border-radius:12px}
.catalog-variant-canvas legend{padding:0 .45rem;font-weight:800}
.catalog-variant-price-matrix{margin:1rem 0;padding:1rem;border:1px solid rgba(124,58,237,.22);border-radius:16px;background:rgba(124,58,237,.04)}
.catalog-variant-price-matrix>summary{display:flex;justify-content:space-between;gap:1rem;align-items:center;cursor:pointer}
.catalog-variant-price-matrix>summary span{display:flex;gap:.55rem;align-items:center}
.catalog-variant-price-matrix>summary i{color:var(--primary)}
.catalog-variant-price-matrix form{display:grid;gap:1rem;margin-top:1rem}
.catalog-matrix-table{display:grid;border:1px solid var(--border);border-radius:12px;overflow:hidden}
.catalog-matrix-table__head,.catalog-matrix-table label{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,.35fr);gap:1rem;align-items:center;padding:.7rem .85rem}
.catalog-standard-price-matrix.has-entitlements .catalog-matrix-table__head,.catalog-standard-price-matrix.has-entitlements .catalog-matrix-table>label{grid-template-columns:minmax(0,1fr) minmax(140px,.35fr) minmax(110px,.25fr)}
.catalog-matrix-claim{display:flex!important;grid-template-columns:none!important;align-items:center;gap:.45rem;font-size:.82rem;font-weight:800;color:var(--text-muted)}
.catalog-commerce-entitlements{padding:.85rem;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}
.catalog-commerce-entitlements>summary{cursor:pointer;display:flex;justify-content:space-between;gap:1rem;align-items:center}
.catalog-commerce-entitlements>summary span{display:flex;gap:.5rem;align-items:center}
.catalog-commerce-entitlements .catalog-form-grid{margin-top:1rem}
.catalog-commerce-entitlements.is-disabled .catalog-form-grid{opacity:.52}
.catalog-matrix-table__head{background:var(--surface-soft);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.catalog-matrix-table label+label{border-top:1px solid var(--border)}
.catalog-matrix-table label span{display:grid}
.catalog-matrix-table label small{color:var(--text-muted)}
.catalog-record-list, .catalog-option-groups { display: grid; gap: 12px; margin-top: 16px; }
.catalog-record, .catalog-option-group { overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: var(--surface-subtle); }
.catalog-record summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 15px 17px; cursor: pointer; list-style: none; }
.catalog-record summary::-webkit-details-marker { display: none; }
.catalog-record summary span:first-child, .catalog-choice > span:nth-child(2) { display: grid; gap: 2px; }
.catalog-record summary small, .catalog-choice small { color: var(--muted); }
.catalog-record[data-inactive] { opacity: .64; }
.catalog-record__body { padding: 18px; border-top: 1px solid var(--line); }
.catalog-record-actions { display: flex; gap: 8px; margin-top: 14px; }
.catalog-offer-workspaces { display: grid; gap: 12px; margin: 16px 0 20px; }
.catalog-offer-workspace { border: 1px solid var(--app-border, rgba(15,23,42,.12)); border-radius: 14px; background: var(--app-surface, #fff); overflow: hidden; }
.catalog-offer-workspace > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 16px; cursor: pointer; list-style: none; }
.catalog-offer-workspace > summary::-webkit-details-marker { display: none; }
.catalog-offer-workspace > summary span:first-child { display: grid; gap: 2px; }
.catalog-offer-workspace > summary small { color: var(--app-text-muted, #64748b); font-weight: 400; }
.catalog-offer-workspace[open] > summary { border-bottom: 1px solid var(--app-border, rgba(15,23,42,.12)); }
.catalog-offer-workspace > form { padding: 16px; background: rgba(124,58,237,.035); }
.catalog-option-availability { display: grid; gap: 14px; }
.catalog-option-availability__listing { display: grid; grid-template-columns: minmax(180px,.7fr) minmax(0,2fr); gap: 20px; padding: 18px; border: 1px solid var(--app-border, rgba(15,23,42,.12)); border-radius: 16px; }
.catalog-option-availability__groups { display: grid; grid-template-columns: repeat(auto-fit,minmax(180px,1fr)); gap: 12px; margin-bottom: 14px; }
.catalog-option-availability__groups fieldset { min-width: 0; padding: 12px; border: 1px solid var(--app-border, rgba(15,23,42,.12)); border-radius: 12px; }
.catalog-option-availability__groups legend { width: auto; margin: 0 0 8px; padding: 0 5px; font-size: .82rem; font-weight: 700; }
@media (max-width: 760px) { .catalog-option-availability__listing { grid-template-columns: 1fr; } }
.catalog-dimension-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; }
.catalog-option-group { padding: 18px; }
.catalog-option-group.is-inactive { opacity: .64; }
.catalog-option-group__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.catalog-option-group__header h3 { margin: 2px 0; }
.catalog-choice-list { display: grid; gap: 7px; margin-top: 14px; }
.catalog-choice { display: grid; grid-template-columns: 28px 1fr auto; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); }
.catalog-choice-swatch { width: 26px; height: 26px; border: 1px solid var(--line); border-radius: 8px; background: linear-gradient(135deg, var(--brand), #22d3ee); }
.catalog-remove-group { margin-top: 14px; }
.catalog-readiness-list { display: grid; gap: 9px; margin: 16px 0; }
.catalog-readiness-list > div { display: flex; align-items: center; gap: 9px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface-subtle); font-size: .86rem; font-weight: 800; }
.catalog-readiness-list .is-ready i { color: #10b981; }
.catalog-readiness-list .is-missing { border-color: rgba(239,68,68,.32); background: rgba(239,68,68,.06); }
.catalog-readiness-list .is-missing i { color: #ef4444; }
.catalog-validation-list { display: grid; gap: 7px; margin: 12px 0 0; padding-left: 20px; color: var(--muted); font-size: .82rem; }
.catalog-validation-list--error { color: #dc2626; }
.catalog-validation-details { margin-top: 13px; }
.catalog-validation-details summary { cursor: pointer; color: var(--muted); font-size: .82rem; font-weight: 800; }
.catalog-range-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.catalog-price-rule-list { display: grid; gap: 10px; margin-top: 16px; }
.catalog-price-rule { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px; align-items: start; padding: 16px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface-subtle); }
.catalog-price-condition-editor { grid-column: 1 / -1; padding-top: 14px; border-top: 1px solid var(--line); }
.catalog-condition-remove { display: inline-flex; align-items: center; gap: 6px; margin: 10px 8px 0 0; padding: 4px 6px 4px 10px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); }
.catalog-benefit-eligibility { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line); }
.catalog-condition-details { margin-top: 9px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface-subtle); }
.catalog-condition-details summary { display: flex; justify-content: space-between; gap: 15px; padding: 13px 15px; cursor: pointer; font-weight: 700; }
.catalog-condition-details summary small { color: var(--muted); font-weight: 600; }
.catalog-condition-details__body { padding: 0 15px 15px; border-top: 1px solid var(--line); }
.catalog-readiness-list > div { grid-template-columns: auto minmax(0, 1fr) auto; }
.catalog-readiness-list a { color: var(--primary); font-size: .82rem; font-weight: 750; text-decoration: none; }
.catalog-readiness-list a:hover { text-decoration: underline; }
.catalog-price-rule.is-inactive { opacity: .62; }
.catalog-price-rule > div:last-child { display: flex; align-items: center; gap: 8px; }
.catalog-price-rule h3 { margin: 2px 0 4px; }
.catalog-pricing-recipes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 0 0 18px; }
.catalog-pricing-recipe { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 10px; align-items: start; min-height: 82px; padding: 13px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface); color: var(--text); text-align: left; cursor: pointer; }
.catalog-pricing-recipe:hover, .catalog-pricing-recipe:focus-visible { border-color: var(--primary); background: var(--primary-soft); outline: none; }
.catalog-pricing-recipe > i { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; color: var(--primary); background: var(--primary-soft); }
.catalog-pricing-recipe strong, .catalog-pricing-recipe small { display: block; }
.catalog-pricing-recipe small { margin-top: 3px; color: var(--muted); line-height: 1.35; }
.catalog-price-preview { display: flex; gap: 12px; align-items: flex-start; margin-top: 16px; padding: 13px 15px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface-subtle); }
.catalog-price-preview > i { color: var(--primary); margin-top: 3px; }
.catalog-price-preview p { margin: 3px 0 0; color: var(--muted); }
.catalog-package-summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(135px, 1fr)); gap: 10px; margin-bottom: 12px; }
.catalog-package-summary > div { padding: 13px 15px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface-subtle); }
.catalog-package-summary span, .catalog-package-summary small { display: block; }
.catalog-package-summary span { font-size: 1.45rem; font-weight: 800; color: var(--text); }
.catalog-package-summary small { margin-top: 2px; color: var(--muted); }
@media (max-width: 900px) { .catalog-pricing-recipes { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .catalog-pricing-recipes, .catalog-package-summary { grid-template-columns: 1fr; } }
.catalog-rule-chips { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }
.catalog-rule-chips span { padding: 6px 9px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); color: var(--muted); font-size: .76rem; font-weight: 750; }
.catalog-rule-chips i { margin-right: 4px; color: var(--brand); }
@media (max-width: 1100px) {
    .catalog-stat-grid, .catalog-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .catalog-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .catalog-filter-action { grid-column: 1 / -1; }
    .catalog-builder-layout { grid-template-columns: 1fr; }
    .catalog-preview-sticky { position: static; }
    .catalog-builder-next-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .catalog-type-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
    .catalog-stat-grid, .catalog-product-grid, .catalog-create-grid, .catalog-filter-grid, .catalog-form-grid, .catalog-canvas-fields, .catalog-builder-next-grid { grid-template-columns: 1fr; }
    .catalog-create-description, .catalog-form-wide { grid-column: auto; }
    .catalog-type-grid, .catalog-create-workspace { grid-template-columns: 1fr; }
    .catalog-create-plan { position: static; }
}
.product-folder-list { display: grid; gap: 8px; margin: 18px 0; }
.product-folder-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 13px; border: 1px solid var(--border); border-radius: 11px; background: var(--surface-soft); }
.product-folder-row > a { display: flex; align-items: center; gap: 11px; min-width: 0; color: var(--text); text-decoration: none; }
.product-folder-row > a i { color: var(--brand); }
.product-folder-row > a span { display: grid; }
.product-folder-row small { margin-top: 3px; color: var(--muted); }
.product-folder-create { display: flex; align-items: flex-end; gap: 10px; padding-top: 16px; border-top: 1px solid var(--border); }

.app-empty {
    padding: 54px 24px;
    text-align: center;
}

.app-empty__icon {
    display: grid;
    width: 54px;
    height: 54px;
    margin: 0 auto 16px;
    place-items: center;
    border-radius: 16px;
    color: var(--brand);
    background: var(--brand-soft);
    font-size: 24px;
}

.app-footer {
    border-top: 1px solid var(--border);
    color: var(--muted);
    background: rgba(2, 8, 18, 0.24);
}

.app-footer__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 76px;
    gap: 20px;
    padding: 18px 24px;
    font-size: 12px;
}

.app-footer__inner strong,
.app-footer__inner span {
    margin-right: 9px;
}

.app-footer__meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
}

@media (max-width: 991px) {
    .app-navbar__inner {
        display: block;
        padding-right: 16px;
        padding-left: 16px;
    }

    .app-navbar__toggle {
        margin-top: 18px;
        border-color: var(--border);
    }

    .app-navbar__toggle .icon-bar {
        background: var(--text);
    }

    .app-navbar .navbar-collapse {
        padding-bottom: 14px;
        border-color: var(--border);
        box-shadow: none;
    }

    .app-nav {
        margin: 8px 0;
    }

    .app-nav > li > a {
        margin: 2px 0;
    }

    .app-navbar__actions {
        float: none;
        min-height: auto;
        padding: 6px 0;
    }
}

@media (max-width: 700px) {
    #maincontent {
        width: min(100% - 28px, 1440px);
        padding-top: 24px;
    }

    .app-page__header,
    .app-form-row,
    .app-footer__inner {
        align-items: stretch;
        flex-direction: column;
    }

    .app-page__hero { width: 100%; }

    .app-page__header .app-btn,
    .app-form-row .app-btn {
        width: 100%;
    }

    .app-footer__meta {
        justify-content: flex-start;
    }
}

.platform-dashboard__updated { color: var(--muted); font-size: .78rem; }
.platform-velocity-section { margin-bottom: 1.25rem; }
.platform-velocity-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}
.platform-velocity-grid .app-stat strong {
    display: block;
    font-size: clamp(1.25rem, 2vw, 1.75rem);
    line-height: 1.15;
}
.platform-velocity-grid .app-stat small {
    display: block;
    margin-top: .25rem;
    color: var(--muted);
    line-height: 1.35;
}
.platform-velocity-table { margin-bottom: 1rem; }
.account-velocity-section { margin-bottom: 1.25rem; }
.account-velocity-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1rem;
}
.account-velocity-grid .app-stat strong,
.account-velocity-grid .app-stat small { display: block; }
.account-velocity-grid .app-stat strong { font-size: clamp(1.15rem, 1.8vw, 1.55rem); }
.account-velocity-grid .app-stat small { margin-top: .25rem; color: var(--muted); line-height: 1.35; }
.account-dashboard-chart-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1.25rem;
}
.discount-guide-grid,
.vendor-explainer-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1rem;
}
.vendor-product-builder {
    display: grid;
    grid-template-columns: minmax(14rem, .75fr) minmax(20rem, 1.25fr);
    gap: 1rem;
    align-items: start;
    padding: 1rem;
    margin-bottom: 1rem;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--surface-soft);
}
.vendor-product-builder h3,
.vendor-product-builder p { margin-top: 0; }
.vendor-product-builder p { margin-bottom: 0; color: var(--muted); }
.vendor-product-builder__actions {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
}
.vendor-product-name-form { min-width: 16rem; }
.vendor-product-name-control {
    display: grid;
    grid-template-columns: minmax(12rem, 1fr) auto;
    gap: .45rem;
    align-items: center;
}
@media (max-width: 800px) {
    .vendor-product-builder { grid-template-columns: 1fr; }
}

.access-level-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

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

.discount-rule-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1rem;
    align-items: end;
}

.discount-rule-editor td {
    background: var(--surface-soft);
    padding: 1.25rem !important;
}

.payment-health-grid,
.payment-default-grid,
.payment-provider-grid,
.payment-credential-grid {
    display: grid;
    gap: 1rem;
}

.payment-health-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.payment-default-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.payment-provider-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.payment-credential-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.payment-default-grid .app-field { align-content: start; }
.payment-default-grid .app-btn { justify-self: start; margin-top: .35rem; }
.payment-provider summary { cursor: pointer; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1rem; list-style: none; }
.payment-provider summary::-webkit-details-marker { display: none; }
.payment-provider summary small { display: block; margin-top: .25rem; color: var(--muted); }
.payment-provider__body { border-top: 1px solid var(--border); }

.order-detail-hero__actions {
    display: flex;
    align-items: center;
    gap: .75rem;
}

.order-command-center { display: grid; gap: 1rem; margin-bottom: 1.25rem; }
.order-command-center__alert { display: flex; align-items: center; gap: .8rem; padding: .9rem 1rem; border: 1px solid rgba(245,158,11,.42); border-radius: var(--radius); color: var(--text); background: rgba(245,158,11,.1); }
.order-command-center__alert > i { color: #f59e0b; font-size: 1.15rem; }
.order-command-center__alert strong,
.order-command-center__alert span { display: block; }
.order-command-center__alert span { margin-top: .1rem; color: var(--muted); font-size: .8rem; }
.order-command-center__alert--success { border-color: rgba(16,185,129,.36); background: rgba(16,185,129,.09); }
.order-command-center__alert--success > i { color: #10b981; }
.order-command-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 1rem; }
.order-command-card .app-card__body { height: 100%; }
.order-command-card h2 { margin: .15rem 0 .65rem; color: var(--text); font-size: 1.15rem; }
.order-command-card a { display: block; margin: .3rem 0; overflow-wrap: anywhere; color: var(--brand); font-size: .8rem; font-weight: 700; }
.order-command-card p,
.order-command-card address { margin: .4rem 0 0; color: var(--muted); font-size: .8rem; font-style: normal; line-height: 1.55; }
.order-command-card--money h2 { font-size: 1.65rem; }
.order-command-card__metric { font-weight: 800; }
.order-command-list { display: grid; gap: .35rem; margin: .8rem 0 0; }
.order-command-list > div { display: flex; justify-content: space-between; gap: .75rem; padding-top: .35rem; border-top: 1px solid var(--border); }
.order-command-list dt { color: var(--muted); font-size: .7rem; font-weight: 800; }
.order-command-list dd { margin: 0; color: var(--text); font-size: .75rem; font-weight: 800; text-align: right; }
.order-command-list__wrap { max-width: 60%; overflow-wrap: anywhere; }
.order-command-note { display: flex; align-items: flex-start; gap: .4rem; margin-top: .7rem !important; padding-top: .5rem; border-top: 1px solid var(--border); font-size: .72rem !important; line-height: 1.5; }
.order-command-note i { margin-top: .15rem; color: var(--brand); }
.order-progress { display: block; width: 100%; height: .5rem; margin: .8rem 0 .25rem; border: 0; border-radius: 999px; overflow: hidden; background: var(--surface-soft); }
.order-progress::-webkit-progress-bar { border-radius: 999px; background: var(--surface-soft); }
.order-progress::-webkit-progress-value { border-radius: 999px; background: linear-gradient(90deg,var(--brand),#22c55e); }
.order-progress::-moz-progress-bar { border-radius: 999px; background: linear-gradient(90deg,var(--brand),#22c55e); }
.order-note { display: flex; align-items: flex-start; gap: .5rem; margin-top: .8rem; padding: .65rem; border-radius: var(--radius-sm); color: var(--text); background: var(--surface-soft); font-size: .75rem; }
.order-note i { margin-top: .15rem; color: var(--brand); }
.order-command-actions { display: flex; flex-wrap: wrap; gap: .55rem; }
.order-dialog {
    width: min(42rem, calc(100vw - 2rem)) !important;
    max-height: calc(100vh - 2rem);
    overflow: auto;
    padding: 0 !important;
    background: var(--surface-strong) !important;
    color: var(--text) !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--radius-lg) !important;
    box-shadow: var(--shadow) !important;
}
.order-dialog__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: 1.25rem 1.4rem; border-bottom: 1px solid var(--border); }
.order-dialog__header h2 { margin: .1rem 0 0; color: var(--text); font-size: 1.35rem; }
.order-dialog__close { display: inline-grid; place-items: center; width: 2.25rem; height: 2.25rem; padding: 0; border: 1px solid var(--border); border-radius: 50%; color: var(--muted); background: var(--surface-soft); cursor: pointer; }
.order-dialog__close:hover { color: var(--text); border-color: var(--brand); }
.order-dialog__form { display: grid; gap: 1rem; padding: 1.4rem; text-align: left; }
.order-dialog__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .9rem; }
.order-dialog__wide { grid-column: 1 / -1; }
.order-dialog .app-field { display: grid; gap: .35rem; margin: 0; }
.order-dialog .app-field label { color: var(--muted); font-size: .75rem; font-weight: 800; }
.order-dialog .form-control { width: 100%; min-height: 2.75rem; }
.order-dialog__check { display: flex; align-items: flex-start; gap: .55rem; color: var(--text); font-size: .8rem; font-weight: 700; }
.order-dialog__check input { width: auto !important; min-height: 0 !important; margin-top: .15rem; }
.order-dialog__actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: .55rem; padding-top: .25rem; }
.order-dialog__actions .loading { margin-right: auto; color: var(--muted); font-size: .78rem; }
.order-detail-layout--workflow .order-detail-summary--legacy { display: none; }
.order-detail-layout--workflow .order-detail-fulfillment { width: 100%; }
.order-detail-layout--workflow #mainHeader { display: none; }
.order-fulfillment-workbench{display:grid;gap:1rem;margin-top:1.25rem}.order-workbench-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.order-workbench-heading h2{margin:.15rem 0;color:var(--text);font-size:1.4rem}.order-workbench-heading p{margin:.25rem 0;color:var(--muted)}.order-workbench-heading__actions,.order-item-card__actions,.order-closing-panel__actions{display:flex;flex-wrap:wrap;gap:.55rem}.order-item-list{display:grid;gap:1rem}.order-item-card{display:grid;grid-template-columns:32px 160px minmax(0,1fr);gap:1rem;padding:1.1rem}.order-item-card__select{padding-top:.35rem}.order-item-card__select input{width:18px!important;height:18px;min-height:0!important}.order-item-card__media{display:grid;height:150px;place-items:center;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft)}.order-item-card__media img{width:100%;height:100%;object-fit:contain}.order-item-card__content{min-width:0}.order-item-card__title{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.order-item-card__title h3{margin:.15rem 0 .4rem;color:var(--text);font-size:1.2rem}.order-item-card__description{margin:.2rem 0 .75rem;color:var(--muted)}.order-item-facts{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;margin:.75rem 0}.order-item-facts>div{display:grid;gap:.12rem}.order-item-facts dt{color:var(--muted);font-size:.68rem;font-weight:800;text-transform:uppercase}.order-item-facts dd{margin:0;color:var(--text);font-size:.8rem;font-weight:800}.order-item-details{margin-top:1rem;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.order-item-details>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;color:var(--text);background:var(--surface-soft);font-size:.8rem;font-weight:800;cursor:pointer;list-style:none}.order-item-details>summary::-webkit-details-marker{display:none}.order-item-details[open]>summary>i{transform:rotate(180deg)}.order-item-details__body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:1rem}.order-item-facts--detail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:.5rem 0 0}.order-item-fulfillment{padding:1rem;border-top:1px solid var(--border);background:var(--surface-soft)}.order-item-fulfillment__form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:.75rem}.order-item-fulfillment__form label{display:grid;gap:.3rem;color:var(--muted);font-size:.72rem;font-weight:800}.order-item-fulfillment__form input,.order-item-fulfillment__form select{width:100%;min-height:2.6rem}.order-closing-panel{margin-top:.25rem}.order-closing-panel .app-card__body{display:flex;align-items:center;justify-content:space-between;gap:1rem}.order-closing-panel h2{margin:.1rem 0}.order-closing-panel p{margin:.3rem 0;color:var(--muted)}
.order-item-group{display:grid;gap:1rem;padding:1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft)}.order-item-group__header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:1rem}.order-item-group__header>div{min-width:0}.order-item-group__header h3{margin:.4rem 0 .2rem;color:var(--text);font-size:1.15rem}.order-item-group__header p{margin:0;max-width:60ch;color:var(--muted);font-size:.85rem}.order-item-group__header .order-item-facts{margin:.2rem 0 0}.order-item-group__empty{display:flex;align-items:flex-start;gap:.5rem;margin:0;color:var(--muted);font-size:.85rem}.order-item-group .order-item-card{background:var(--surface-strong)}.order-item-card__title h4{margin:.15rem 0 .4rem;color:var(--text);font-size:1.05rem}

@media (max-width: 1100px) {
    .order-command-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 640px) {
    .order-command-grid { grid-template-columns: 1fr; }
    .order-command-actions .app-btn { width: 100%; justify-content: center; }
    .order-dialog__grid { grid-template-columns: 1fr; }
    .order-dialog__wide { grid-column: auto; }
    .order-workbench-heading,.order-closing-panel .app-card__body{align-items:stretch;flex-direction:column}.order-item-card{grid-template-columns:28px minmax(0,1fr)}.order-item-card__media{grid-column:2;height:220px}.order-item-card__content{grid-column:1/-1}.order-item-details__body,.order-item-fulfillment__form{grid-template-columns:1fr}.order-workbench-heading__actions .app-btn,.order-closing-panel__actions .app-btn{width:100%;justify-content:center}
    .order-item-group{padding:.75rem;gap:.75rem}.order-item-group__header{flex-direction:column;gap:.5rem}
}

.order-detail-layout {
    padding-top: 0 !important;
}

.order-detail-page .well {
    background: var(--surface-strong) !important;
    color: var(--text) !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--radius-lg) !important;
    box-shadow: var(--shadow) !important;
    padding: 1.25rem !important;
}

.order-detail-page .left-sidebar,
.order-detail-page .sidebar {
    background: transparent !important;
    border: 0 !important;
    color: var(--text) !important;
    padding: .5rem 0 !important;
}

.order-detail-page .sidebar span,
.order-detail-page .sidebar li,
.order-detail-page .sidebar b,
.order-detail-page .well span {
    color: var(--muted) !important;
}

.order-detail-page .sidebar b,
.order-detail-page .well > b {
    color: var(--text) !important;
}

.order-detail-page .successLEFT,
.order-detail-page .warningLEFT,
.order-detail-page .alertLEFT,
.order-detail-page .infoLEFT {
    background: var(--surface-soft) !important;
    border-left: 4px solid var(--brand) !important;
    border-radius: var(--radius-sm) !important;
    color: var(--text) !important;
    padding: .65rem .8rem !important;
    margin-bottom: .75rem !important;
}

.order-detail-page .form-control,
.order-detail-page input,
.order-detail-page select,
.order-detail-page textarea {
    background: var(--surface-soft) !important;
    color: var(--text) !important;
    border-color: var(--border) !important;
}

.order-detail-page .btn {
    border-radius: var(--radius-sm) !important;
    font-weight: 700;
}

.order-detail-page .popupWindow,
.order-detail-page + .modal .modal-content {
    background: var(--surface-strong) !important;
    color: var(--text) !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--radius-lg) !important;
}

.profile-chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-bottom: 1rem;
}

.hierarchy-profile-create {
    margin-top: 1rem;
}

.hierarchy-profile-create > summary {
    display: inline-flex;
    cursor: pointer;
    list-style: none;
}

.hierarchy-profile-form {
    margin-top: 1.25rem;
}

.vendor-marketplace-filters {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(180px, 1fr) auto;
    gap: 1rem;
    align-items: end;
}

.vendor-offering-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.vendor-offering-card__top {
    display: flex;
    justify-content: space-between;
    gap: .75rem;
}

.vendor-offering-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    margin: 1rem 0;
}

.vendor-offering-facts div {
    padding: .75rem;
    border-radius: var(--radius-sm);
    background: var(--surface-soft);
}

.vendor-offering-facts dt {
    color: var(--muted);
    font-size: .75rem;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.vendor-offering-facts dd {
    margin: .25rem 0 0;
    font-weight: 700;
}

@media (max-width: 1100px) {
    .discount-summary-grid,
    .discount-rule-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .access-level-grid {
        grid-template-columns: 1fr;
    }

    .discount-summary-grid,
    .discount-rule-grid,
    .payment-health-grid,
    .payment-default-grid,
    .payment-provider-grid,
    .payment-credential-grid {
        grid-template-columns: 1fr;
    }

    .vendor-marketplace-filters,
    .vendor-offering-grid,
    .vendor-offering-facts {
        grid-template-columns: 1fr;
    }
}
.discount-guide-grid .app-hero-icon,
.vendor-explainer-grid .app-hero-icon { margin-bottom: .8rem; }
.vendor-explainer-grid { margin-bottom: 1rem; }
.discount-create-card,
.discount-admin-coupons { margin-bottom: 1rem; }
.discounts-workspace code {
    color: var(--brand);
    font-weight: 800;
    background: var(--brand-soft);
}
.platform-dashboard__chart-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(320px, .7fr);
    gap: 1rem;
    margin-bottom: 1rem;
}
.platform-dashboard__weekly-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1rem;
}
.platform-chart-frame { position: relative; height: 360px; margin-top: 1rem; }
.platform-chart-frame--wide { height: 430px; }
.platform-alert-list { display: grid; gap: .65rem; max-height: 430px; overflow-y: auto; }
.platform-alert {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    padding: .85rem;
    border: 1px solid var(--border);
    border-left-width: 3px;
    border-radius: 11px;
    color: var(--text) !important;
    background: var(--surface-soft);
    text-decoration: none !important;
}
.platform-alert:hover { background: var(--brand-soft); }
.platform-alert--high { border-left-color: var(--danger); }
.platform-alert--medium { border-left-color: #f59e0b; }
.platform-alert--info { border-left-color: #38bdf8; }
.platform-alert__icon { flex: 0 0 1.6rem; color: var(--brand); text-align: center; }
.platform-alert span,
.platform-alert small { display: block; }
.platform-alert small { margin-top: .25rem; color: var(--muted); line-height: 1.4; }
.platform-orders-feed { margin-bottom: 1rem; }
@media (max-width: 1050px) {
    .platform-dashboard__chart-grid,
    .platform-dashboard__weekly-grid { grid-template-columns: 1fr; }
    .platform-velocity-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .account-velocity-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .account-dashboard-chart-grid { grid-template-columns: 1fr; }
    .discount-guide-grid,
    .vendor-explainer-grid { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
    .platform-velocity-grid,
    .account-velocity-grid { grid-template-columns: 1fr; }
}

.report-period-card { margin-bottom: 1rem; }
.report-period-form {
    display: grid;
    grid-template-columns: minmax(150px, .8fr) minmax(150px, .8fr) minmax(260px, 1.5fr) auto;
    gap: .8rem;
    align-items: end;
}
.report-period-form .app-field { margin: 0; }
.report-period-summary { margin: .9rem 0 0; color: var(--muted); font-size: .82rem; }
@media (max-width: 900px) {
    .report-period-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .report-period-form__comparison { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
    .report-period-form { grid-template-columns: 1fr; }
    .report-period-form__comparison { grid-column: auto; }
}

/* Reports workspace */
.report-account-picker { width: min(320px, 100%); }
.report-account-picker label { display: block; margin-bottom: 7px; color: var(--muted); font-size: 11px; font-weight: 850; }
.report-error { margin-bottom: 18px; border-color: rgba(251, 113, 133, 0.38); }

.report-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 15px;
    margin-bottom: 18px;
}

.report-stat-card__label { margin: 0 0 10px; color: var(--muted); font-size: 11px; font-weight: 850; letter-spacing: 0.08em; text-transform: uppercase; }
.report-stat-card__value { min-height: 42px; color: var(--text); font-size: clamp(26px, 3vw, 38px); font-weight: 900; letter-spacing: -0.04em; }
.report-stat-card__change { min-height: 18px; margin-top: 7px; color: var(--muted); font-size: 11px; font-weight: 750; }
.report-stat-card__change.is-positive,
.report-positive { color: var(--success); }
.report-stat-card__change.is-negative,
.report-negative { color: var(--danger); }

.report-chart-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.8fr) minmax(300px, 0.8fr);
    gap: 18px;
    margin-bottom: 18px;
    scroll-margin-top: 20px;
}

.report-chart-card,
.report-yoy-card,
.report-items-card,
.report-entitlement-card,
.report-export-card { scroll-margin-top: 20px; }
.report-card-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 16px; }
.report-chart-frame { position: relative; height: 340px; }
.report-chart-frame--doughnut { height: 340px; }
.report-chart-frame canvas { position: relative; z-index: 1; }

.report-chart-skeleton {
    position: absolute;
    inset: 22px 10px 24px 38px;
    z-index: 2;
    border-radius: 12px;
    opacity: 0;
    pointer-events: none;
    background:
        linear-gradient(to top, transparent 24%, var(--border) 25%, transparent 26%, transparent 49%, var(--border) 50%, transparent 51%, transparent 74%, var(--border) 75%, transparent 76%),
        linear-gradient(110deg, var(--surface-soft) 8%, rgba(139, 92, 246, 0.13) 18%, var(--surface-soft) 33%);
    background-size: auto, 200% 100%;
}

.report-chart-skeleton--circle {
    inset: 28px;
    border-radius: 50%;
}

.is-loading .report-chart-skeleton { opacity: 1; animation: report-shimmer 1.3s linear infinite; }
.is-loading canvas { opacity: 0; }
.report-yoy-card { margin-bottom: 18px; }
.report-items-card,
.report-entitlement-card,
.report-conversion-card { margin-bottom: 18px; }
.report-items-layout {
    display: grid;
    grid-template-columns: minmax(320px, 0.9fr) minmax(420px, 1.1fr);
    gap: 22px;
    align-items: start;
}
.report-chart-frame--items { height: 430px; }
.report-entitlement-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 12px;
}
.report-entitlement-metric {
    min-width: 0;
    padding: 15px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: var(--surface-soft);
}
.report-entitlement-metric span {
    display: block;
    min-height: 30px;
    color: var(--muted);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.report-entitlement-metric strong {
    display: block;
    margin-top: 8px;
    color: var(--text);
    font-size: clamp(20px, 2vw, 28px);
    font-weight: 900;
}
.report-entitlement-windows {
    margin-top: 22px;
    padding-top: 20px;
    border-top: 1px solid var(--border);
}
.report-chart-frame--conversion { height: 285px; }
.report-conversion-layout {
    display: grid;
    grid-template-columns: minmax(340px, 1.2fr) minmax(340px, .8fr);
    gap: 22px;
    align-items: center;
}
.report-conversion-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.report-tracking-note { margin: 14px 0 0; }
.report-table-search { width: min(260px, 100%); }
.report-table-skeleton { display: none; gap: 11px; }
.is-loading .report-table-skeleton { display: grid; }
.report-yoy-table-wrap[hidden] { display: none; }

.skeleton-line {
    display: block;
    width: 100%;
    height: 14px;
    border-radius: 7px;
    color: transparent !important;
    background: linear-gradient(110deg, var(--surface-soft) 8%, rgba(139, 92, 246, 0.16) 18%, var(--surface-soft) 33%);
    background-size: 200% 100%;
    animation: report-shimmer 1.3s linear infinite;
}

.skeleton-line--value { width: 72%; height: 38px; }
.skeleton-line--small { width: 55%; }

.report-export-card .app-card__body,
.report-range-form { display: flex; align-items: flex-end; gap: 14px; }
.report-range-form > div { min-width: 160px; }
.report-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin: 1rem 0; }
.report-stat { display: flex; min-height: 8.5rem; padding: 1.15rem; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow); flex-direction: column; }
.report-stat span { color: var(--muted); font-size: .73rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.report-stat strong { margin: .45rem 0 .2rem; color: var(--text); font-size: clamp(1.55rem, 3vw, 2.35rem); letter-spacing: -.04em; }
.report-stat small { color: var(--muted); }
.accounting-ledger td small { display: block; color: var(--muted); }
.accounting-ledger tfoot { background: var(--surface-soft); }
.calendar-toolbar { display: flex; align-items: flex-end; justify-content: center; gap: 1rem; }
.calendar-toolbar form { display: flex; align-items: flex-end; gap: .65rem; }
.sales-calendar-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.sales-calendar-weekday { padding: .7rem; border-bottom: 1px solid var(--border); color: var(--muted); font-size: .72rem; font-weight: 850; letter-spacing: .08em; text-align: center; text-transform: uppercase; }
.sales-calendar-day { display: flex; min-height: 8rem; padding: .7rem; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); flex-direction: column; gap: .25rem; }
.sales-calendar-day:nth-child(7n) { border-right: 0; }
.sales-calendar-day--blank { background: var(--surface-soft); }
.sales-calendar-day--active { background: var(--brand-soft); }
.sales-calendar-day__number { align-self: flex-end; color: var(--muted); }
.sales-calendar-day__total { color: var(--text); font-size: 1.2rem; font-weight: 900; }
.sales-calendar-day small { color: var(--muted); font-size: .72rem; }
.cost-order-list { display: grid; gap: 1rem; margin-top: 1rem; }
.cost-order__heading, .cost-order__total, .cost-line { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.cost-order__heading h2 { margin: 0; }
.cost-line { padding: .9rem 0; border-bottom: 1px solid var(--border); }
.cost-line > div { display: flex; flex-direction: column; }
.cost-line small { color: var(--muted); }
.cost-line b { margin: 0 .45rem; color: var(--border); }
.cost-order__total { padding-top: 1rem; }
.location-payment-copy-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; border-bottom: 1px solid var(--border); }
.location-payment-copy-toolbar .app-field { min-width: min(100%, 30rem); }
.location-bulk-settings-page td small { display: block; color: var(--muted); }
.report-export-card .app-card__body { justify-content: space-between; }
.report-range-form .app-field { min-width: 150px; }

@keyframes report-shimmer {
    to { background-position-x: -200%; }
}

@media (max-width: 1100px) {
    .report-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .report-chart-grid { grid-template-columns: 1fr; }
    .report-items-layout { grid-template-columns: 1fr; }
    .report-conversion-layout { grid-template-columns: 1fr; }
    .report-entitlement-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
    .report-stat-grid { grid-template-columns: 1fr; }
    .report-card-heading,
    .report-export-card .app-card__body,
    .report-range-form { align-items: stretch; flex-direction: column; }
    .report-table-search { width: 100%; }
    .report-range-form .app-btn { width: 100%; }
    .report-entitlement-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}

/* Sidebar application shell */
:root {
    --sidebar-width: 238px;
    --sidebar-collapsed-width: 68px;
    --topbar-height: 64px;
}

.app-topbar {
    display: flex;
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1000;
    align-items: center;
    height: var(--topbar-height);
    padding: 0 16px;
    border-bottom: 1px solid var(--border);
    background: var(--surface);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.14);
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
}

.app-topbar__identity { display: flex; align-items: center; min-width: 0; gap: 12px; }
.app-topbar__actions { margin-left: auto; }
.app-brand--topbar { min-height: var(--topbar-height); padding: 8px 0; }

.sidebar-mobile-toggle,
.sidebar-collapse-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--border);
    color: var(--text);
    background: var(--surface-soft);
}

.sidebar-mobile-toggle {
    display: none;
    width: 40px;
    height: 40px;
    border-radius: 11px;
}

.app-sidebar {
    position: fixed;
    top: var(--topbar-height);
    bottom: 0;
    left: 0;
    z-index: 900;
    display: flex;
    width: var(--sidebar-width);
    flex-direction: column;
    border-right: 1px solid var(--border);
    background: var(--surface);
    box-shadow: 14px 12px 40px rgba(0, 0, 0, 0.18);
    -webkit-backdrop-filter: blur(22px);
    backdrop-filter: blur(22px);
    transition: width 180ms ease, transform 180ms ease;
}

.sidebar-collapse-toggle {
    width: 40px;
    height: 40px;
    flex: 0 0 auto;
    border-radius: 11px;
    font-size: 14px;
}

.app-sidebar__nav { flex: 1 1 auto; padding: 18px 10px; overflow-y: auto; }

.app-sidebar__label {
    margin: 0 10px 9px;
    color: var(--muted);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.app-sidebar__link {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 44px;
    margin: 3px 0;
    gap: 11px;
    padding: 8px 10px;
    border: 0;
    border-radius: 11px;
    color: var(--muted) !important;
    background: transparent;
    font-size: 13px;
    font-weight: 750;
    text-align: left;
    text-decoration: none !important;
}

.app-sidebar__link:hover,
.app-sidebar__link:focus {
    color: var(--text) !important;
    background: var(--surface-soft) !important;
    outline: none;
}

.app-sidebar__link.active { color: var(--brand) !important; background: var(--brand-soft) !important; }

.app-sidebar__icon {
    display: grid;
    width: 25px;
    height: 25px;
    flex: 0 0 25px;
    place-items: center;
    border-radius: 8px;
    color: inherit;
    background: var(--surface-soft);
    font-size: 10px;
    font-weight: 900;
}

.app-sidebar__footer { padding: 10px; border-top: 1px solid var(--border); }
.app-sidebar__footer-group {
    margin: -2px -10px 8px;
    padding: 0 10px 8px;
    border-bottom: 1px solid var(--border);
}
.app-sidebar__footer-label {
    margin: 0;
    padding: 4px 10px 6px;
    color: var(--muted);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.app-topbar__admin-return {
    min-height: 38px;
    padding: 8px 13px;
    white-space: nowrap;
}

@media (max-width: 640px) {
    .app-topbar__admin-return span { display: none; }
}
.app-sidebar__submenu { margin: 1px 0 10px 36px; padding-left: 10px; border-left: 1px solid var(--border); }
.app-sidebar__sublink { display: block; padding: 6px 8px; border-radius: 8px; color: var(--muted) !important; font-size: 11px; font-weight: 700; text-decoration: none !important; }
.app-sidebar__sublink:hover,
.app-sidebar__sublink:focus { color: var(--text) !important; background: var(--surface-soft); outline: none; }
.app-sidebar--collapsed { width: var(--sidebar-collapsed-width); }
.app-sidebar--collapsed .app-sidebar__hide-collapsed { display: none; }
.app-sidebar--collapsed .app-sidebar__link { justify-content: center; padding-right: 0; padding-left: 0; }

.app-sidebar__overlay {
    display: none;
    position: fixed;
    top: var(--topbar-height);
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 850;
    border: 0;
    background: rgba(2, 8, 18, 0.68);
}

.app-sidebar__overlay.active { display: block; }

body.app-shell #maincontent {
    width: auto;
    margin-right: 0;
    margin-left: var(--sidebar-width);
    padding-top: calc(var(--topbar-height) + 32px);
    padding-right: 32px;
    padding-left: 32px;
    transition: margin-left 180ms ease;
}

body.sidebar-is-collapsed #maincontent { margin-left: var(--sidebar-collapsed-width); }
body.app-shell .app-footer { margin-left: var(--sidebar-width); transition: margin-left 180ms ease; }
body.sidebar-is-collapsed .app-footer { margin-left: var(--sidebar-collapsed-width); }

@media (max-width: 768px) {
    .sidebar-mobile-toggle { display: flex; }
    .app-sidebar,
    .app-sidebar.app-sidebar--collapsed {
        width: min(286px, 86vw);
        transform: translateX(-105%);
    }
    .app-sidebar.app-sidebar--open { transform: translateX(0); }
    .app-sidebar--collapsed .app-sidebar__hide-collapsed { display: initial; }
    .app-sidebar--collapsed .app-sidebar__link { justify-content: flex-start; padding-right: 10px; padding-left: 10px; }
    .sidebar-collapse-toggle { display: none; }
    body.app-shell #maincontent,
    body.sidebar-is-collapsed #maincontent {
        margin-left: 0;
        padding-top: calc(var(--topbar-height) + 24px);
    }
    body.app-shell .app-footer,
    body.sidebar-is-collapsed .app-footer { margin-left: 0; }
}

/* ---------------------------------------------------------------
   Payment-setup banner

   Sits above #maincontent, which every view opens for itself, so it
   has to reproduce the shell offsets: clear the fixed topbar and
   match the sidebar margin in all three states (open / collapsed /
   mobile). #maincontent normally supplies the topbar clearance as
   its own padding-top — with the banner present the banner does it
   instead, so that padding drops to a plain gap.
   --------------------------------------------------------------- */
.app-payment-banner {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    margin-left: var(--sidebar-width);
    margin-top: calc(var(--topbar-height) + 24px);
    margin-right: 32px;
    padding: 16px 20px;
    border: 1px solid rgba(217, 119, 6, 0.42);
    border-left: 4px solid #d97706;
    border-radius: 10px;
    background: rgba(217, 119, 6, 0.10);
    transition: margin-left 180ms ease;
}
body.sidebar-is-collapsed .app-payment-banner { margin-left: var(--sidebar-collapsed-width); }
body.app-shell.has-payment-banner #maincontent { padding-top: 18px; }

.app-payment-banner__icon { flex: none; color: #d97706; font-size: 1.15rem; line-height: 1.5; }
.app-payment-banner__body { flex: 1 1 auto; min-width: 0; }
.app-payment-banner__title { display: block; font-size: 0.98rem; }
.app-payment-banner__text { margin: 2px 0 0; font-size: 0.88rem; opacity: 0.88; }

.app-payment-banner__action {
    flex: none;
    align-self: center;
    padding: 8px 18px;
    border-radius: 999px;
    background: #d97706;
    color: #fff;
    font-size: 0.86rem;
    font-weight: 600;
    white-space: nowrap;
    text-decoration: none;
}
.app-payment-banner__action:hover,
.app-payment-banner__action:focus { background: #b45309; color: #fff; text-decoration: none; }

@media (max-width: 768px) {
    .app-payment-banner,
    body.sidebar-is-collapsed .app-payment-banner {
        margin-left: 16px;
        margin-right: 16px;
        margin-top: calc(var(--topbar-height) + 16px);
        flex-wrap: wrap;
    }
    .app-payment-banner__action { align-self: flex-start; }
}

.app-account-toolbar { margin-bottom: 18px; }
.app-field--compact { max-width: 240px; }
.app-section-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.app-table-wrap { overflow-x: auto; }

.app-table {
    width: 100%;
    border-collapse: collapse;
    color: var(--text);
}

.app-table th,
.app-table td {
    padding: 14px 12px;
    border-bottom: 1px solid var(--border);
    text-align: left;
    vertical-align: middle;
}

.app-table thead th {
    color: var(--muted);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.app-table tbody tr:last-child th,
.app-table tbody tr:last-child td { border-bottom: 0; }
.app-table__secondary { display: block; margin-top: 4px; color: var(--muted); font-size: 12px; font-weight: 500; }
.app-table__actions-heading,
.app-table__actions { text-align: right !important; }
.app-table__actions { white-space: nowrap; }
.app-inline-form { display: inline-block; margin: 0 0 0 6px; }

.app-status {
    display: inline-flex;
    padding: 4px 9px;
    border-radius: 999px;
    color: var(--muted);
    background: var(--surface-soft);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.app-status--success { color: var(--success); background: rgba(52, 211, 153, 0.12); }
.app-status--danger { color: var(--danger); background: rgba(251, 113, 133, 0.10); }
.app-empty--compact { padding: 38px 20px; }

@media (max-width: 700px) {
    .app-field--compact { max-width: none; }
    .app-table thead { display: none; }
    .app-table,
    .app-table tbody,
    .app-table tr,
    .app-table th,
    .app-table td { display: block; width: 100%; }
    .app-table tr { padding: 14px 0; border-bottom: 1px solid var(--border); }
    .app-table th,
    .app-table td { padding: 6px 0; border: 0; }
    .app-table__actions { text-align: left !important; white-space: normal; }
    .app-inline-form { margin: 6px 6px 0 0; }
    .app-form-grid { grid-template-columns: 1fr; }
    .app-field--full { grid-column: auto; }
    .app-definition-grid > div { grid-template-columns: 1fr; gap: 6px; }
    .admin-permission-grid { grid-template-columns: 1fr; }
}
/* Product folder detail */
.app-section-heading--padded,
.app-inline-editor--padded,
.app-empty--padded {
    padding: 1.25rem;
}

.app-inline-editor {
    margin-top: 1.25rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--border);
}

.app-entity {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.app-entity__thumb,
.app-entity__icon {
    width: 3rem;
    height: 3rem;
    border-radius: 0.65rem;
}

/* Admin masquerade return */
.app-admin-return {
    position: fixed;
    right: 1.25rem;
    bottom: 1.25rem;
    z-index: 1100;
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.8rem 1rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    color: var(--text) !important;
    background: var(--surface-strong);
    box-shadow: var(--shadow);
    font-weight: 800;
    text-decoration: none !important;
}

.app-admin-return:hover,
.app-admin-return:focus {
    border-color: var(--brand);
    transform: translateY(-2px);
}

/* Photographer-friendly release notes */
.app-release-list,
.app-release__entries {
    display: grid;
    gap: 1rem;
}

.app-release__header time {
    display: block;
    margin-bottom: 0.35rem;
    color: var(--muted);
    font-size: 0.82rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.app-release-entry {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    align-items: start;
    gap: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--border);
}

.app-release-entry__type {
    align-self: start;
    justify-self: start;
    width: auto;
    min-height: 0;
    padding: 0.4rem 0.65rem;
    line-height: 1;
    white-space: nowrap;
}

.app-release-entry h3 {
    margin: 0 0 0.35rem;
    color: var(--text);
    font-size: 1rem;
}

.app-release-entry p {
    margin: 0;
    color: var(--muted);
}

@media (max-width: 640px) {
    .app-release-entry {
        grid-template-columns: 1fr;
        gap: 0.5rem;
    }

    .app-admin-return {
        right: 0.75rem;
        bottom: 0.75rem;
    }
}

.account-overview-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
}

.app-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.app-stat {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    min-width: 0;
    padding: 1rem;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--surface);
    box-shadow: var(--shadow);
}

.app-stat__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 2.75rem;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 0.75rem;
    color: var(--brand);
    background: var(--brand-soft);
}

.app-stat__label {
    display: block;
    color: var(--muted);
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.07em;
}

.app-stat strong {
    display: block;
    overflow: hidden;
    color: var(--text);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.app-stat small { display: block; margin-top: 2px; color: var(--muted); }
.app-stat--link { color: inherit !important; text-decoration: none !important; transition: transform .15s ease, border-color .15s ease; }
.app-stat--link:hover { transform: translateY(-2px); border-color: var(--brand); }
.app-stat--attention { border-color: rgba(251, 191, 36, .45); }
.app-stat--attention .app-stat__icon { color: #f59e0b; background: rgba(245, 158, 11, .12); }
.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(280px, .6fr); gap: 1rem; }
.app-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.dashboard-recent-list { display: grid; }
.dashboard-recent-list > a { display: flex; justify-content: space-between; gap: 1rem; padding: .9rem 0; border-bottom: 1px solid var(--border); color: var(--text) !important; text-decoration: none !important; }
.dashboard-recent-list > a:last-child { border-bottom: 0; }
.dashboard-recent-list span, .dashboard-recent-list small { display: block; }
.dashboard-recent-list small { margin-top: .25rem; color: var(--muted); }
.app-empty-state { padding: 2rem; color: var(--muted); text-align: center; }
.app-empty-state > i, .app-empty-state > strong { display: block; margin-bottom: .5rem; }
.app-empty-state > i { color: var(--success); font-size: 1.75rem; }
@media (max-width: 900px) {
    .dashboard-grid { grid-template-columns: 1fr; }
}

.order-attention-links {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
    margin-bottom: 1rem;
}
.order-attention-links > a {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .9rem 1rem;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    color: var(--text) !important;
    background: var(--surface);
    text-decoration: none !important;
}
.order-attention-links > a.active,
.order-attention-links > a:hover { border-color: var(--brand); background: var(--brand-soft); }
.order-attention-links i { color: var(--brand); }
.order-attention-links span,
.order-attention-links small { display: block; }
.order-attention-links small { margin-top: .15rem; color: var(--muted); }
.order-search-card { margin-bottom: 1rem; }
.order-search-form {
    display: grid;
    grid-template-columns: minmax(260px, 2fr) repeat(4, minmax(130px, 1fr));
    gap: .8rem;
    align-items: end;
}
.order-search-form label { display: block; margin-bottom: .35rem; color: var(--muted); font-size: .75rem; font-weight: 800; }
.order-search-form__actions { display: flex; gap: .5rem; grid-column: 1 / -1; }
.app-input-with-icon { position: relative; }
.app-input-with-icon i { position: absolute; top: 50%; left: .85rem; z-index: 1; color: var(--muted); transform: translateY(-50%); }
.app-input-with-icon .form-control { padding-left: 2.4rem; }
.order-results-heading { display: flex; align-items: center; justify-content: space-between; padding: 1.15rem 1.35rem; border-bottom: 1px solid var(--border); }
.order-bulk-result { margin: 1rem; }
.order-bulk-toolbar { display: flex; align-items: center; gap: .85rem; padding: .9rem 1rem; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); background: var(--surface-soft); }
.order-per-page{display:flex;align-items:center;gap:.4rem;margin-left:auto}.order-per-page label,.order-per-page span{color:var(--muted);font-size:.75rem;font-weight:700}.order-per-page select{min-height:2.25rem;padding:.35rem 1.7rem .35rem .55rem;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);background:var(--surface-soft)}
.order-bulk-toolbar > div { display: flex; flex-direction: column; margin-right: auto; }
.order-bulk-toolbar small, .order-bulk-toolbar__notice { color: var(--muted); }
.order-bulk-toolbar__notice { font-size: .78rem; font-weight: 700; }
.order-bulk-action { width: auto; min-width: 15rem; }
.order-select-cell { width: 2.75rem; text-align: center !important; }
.order-select-cell input { width: 1.05rem; height: 1.05rem; accent-color: var(--brand); }
@media (max-width: 760px) {
    .order-bulk-toolbar { align-items: stretch; flex-direction: column; }
    .order-bulk-toolbar > div { margin-right: 0; }
    .report-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .sales-calendar-grid { min-width: 760px; }
    .sales-calendar-page .app-card:last-child { overflow-x: auto; }
    .cost-order__heading, .cost-order__total, .cost-line { align-items: flex-start; flex-direction: column; }
    .location-payment-copy-toolbar { align-items: stretch; flex-direction: column; }
}
.order-results-table tr.order-row--attention td:first-child { box-shadow: inset 3px 0 #f59e0b; }
.app-status--warning { color: #f59e0b; background: rgba(245, 158, 11, .12); }
.app-pagination { display: flex; align-items: center; justify-content: center; gap: 1rem; padding: 1rem; border-top: 1px solid var(--border); }
@media (max-width: 1100px) {
    .order-search-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .order-search-form__query { grid-column: 1 / -1; }
}
@media (max-width: 700px) {
    .order-attention-links,
    .order-search-form { grid-template-columns: 1fr; }
    .order-search-form__query { grid-column: auto; }
}

.location-table td {
    min-width: 130px;
}

.location-table td:first-child {
    min-width: 190px;
}

.location-table td:last-child {
    min-width: 150px;
}

.location-table td strong,
.location-table td small,
.location-view-only span,
.location-view-only small {
    display: block;
}

.location-table td small {
    margin-top: 4px;
    color: var(--muted);
}

.location-edit-stack {
    display: grid;
    gap: 8px;
}

.location-edit-only[hidden],
.location-view-only[hidden] {
    display: none !important;
}

.location-edit-only .form-control {
    min-width: 150px;
}

.location-checkbox {
    display: flex;
    align-items: center;
    margin-top: 8px;
    gap: 7px;
    color: var(--muted);
    font-size: 11px;
    font-weight: 700;
}

.location-table-is-editing .location-table-card {
    border-color: rgba(124, 58, 237, 0.42);
    box-shadow: 0 0 0 3px var(--brand-soft);
}

.location-source-list {
    display: grid;
    gap: 6px;
    min-width: 130px;
    color: var(--muted);
    font-size: 11px;
    font-weight: 700;
}

.location-source-list i {
    width: 16px;
    color: var(--brand);
}

.location-settings-form,
.location-settings-grid {
    display: grid;
    gap: 1.25rem;
}

.location-settings-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.site-settings-form {
    display: grid;
    gap: 18px;
}

.site-settings-section .app-card__body { padding: 24px; }
.site-settings-section h2 { margin: 0; color: var(--text); font-size: 20px; }

.site-capability-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.site-capability {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    align-items: start;
    min-height: 112px;
    margin: 0;
    gap: 12px;
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: var(--surface-soft);
    cursor: pointer;
}

.site-capability__icon {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 11px;
    color: var(--brand);
    background: var(--brand-soft);
}

.site-capability strong,
.site-capability small,
.site-pairing-summary strong,
.site-pairing-summary small,
.site-setting-row strong,
.site-setting-row small { display: block; }

.site-capability small,
.site-pairing-summary small,
.site-setting-row small {
    margin-top: 4px;
    color: var(--muted);
    font-size: 11px;
    font-weight: 600;
    line-height: 1.5;
}

.site-capability input[type="checkbox"],
.site-setting-row input[type="checkbox"] {
    width: 38px;
    height: 21px;
    margin: 2px 0 0;
    accent-color: var(--brand);
}

.site-pairing-summary {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-bottom: 16px;
    padding: 15px;
    border: 1px solid rgba(52, 211, 153, 0.26);
    border-radius: 13px;
    background: rgba(52, 211, 153, 0.08);
}

.site-setting-list {
    display: grid;
    margin: 14px 0 18px;
    border-top: 1px solid var(--border);
}

.site-setting-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin: 0;
    padding: 13px 0;
    border-bottom: 1px solid var(--border);
    cursor: pointer;
}

.site-settings-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.site-digital-fallback {
    margin-top: 18px;
    transition: opacity 180ms ease;
}

.site-digital-fallback--secondary { opacity: 0.62; }

.app-card__intro {
    margin: 0.4rem 0 1.25rem;
    color: var(--muted);
}

@media (max-width: 800px) {
    .location-settings-grid,
    .site-settings-columns {
        grid-template-columns: 1fr;
    }

    .site-capability-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
    .site-capability-grid { grid-template-columns: 1fr; }
}

/* Login — aligned with PhotoTouch Admin */
.app-login-shell {
    --season-sky:
        radial-gradient(circle at 16% 12%, rgba(124,58,237,.20), transparent 32%),
        radial-gradient(circle at 88% 16%, rgba(14,165,233,.17), transparent 30%),
        linear-gradient(145deg, #e9e9ff 0%, #e4efff 55%, #edf4ff 100%);
    display: flex;
    min-height: 100vh;
    flex-direction: column;
    background: var(--season-sky);
    background-attachment: fixed;
    background-size: 145% 145%;
    animation: seasonalSkyShift 22s ease-in-out infinite alternate;
    transition: background 900ms ease;
}
[data-theme="dark"] .app-login-shell {
    --season-sky:
        radial-gradient(circle at 16% 12%, rgba(124,58,237,.26), transparent 32%),
        radial-gradient(circle at 88% 16%, rgba(14,165,233,.19), transparent 30%),
        linear-gradient(145deg, #080d25 0%, #0a1830 55%, #101934 100%);
}
.app-login-shell[data-season-theme="autumn"] {
    --season-sky:
        radial-gradient(circle at 14% 18%, rgba(251,146,60,.20), transparent 24%),
        radial-gradient(circle at 84% 82%, rgba(245,158,11,.14), transparent 28%),
        linear-gradient(155deg, #6fb9e8 0%, #2f78a4 43%, #2e6f57 72%, #173d32 100%);
}
.app-login-shell[data-season-theme="starlight"] {
    --season-sky:
        radial-gradient(circle at 50% 115%, rgba(35,211,238,.20), transparent 42%),
        radial-gradient(circle at 18% 15%, rgba(124,58,237,.28), transparent 30%),
        linear-gradient(155deg, #020617 0%, #111b45 56%, #231346 100%);
}
.app-login-shell[data-season-theme="winter"] {
    --season-sky:
        radial-gradient(circle at 20% 12%, rgba(255,255,255,.65), transparent 30%),
        radial-gradient(circle at 86% 20%, rgba(186,230,253,.55), transparent 34%),
        linear-gradient(155deg, #b9d7f2 0%, #dfeeff 48%, #a9c7e9 100%);
}
.app-login-shell[data-season-theme="holiday"] {
    --season-sky:
        radial-gradient(circle at 18% 12%, rgba(250,204,21,.28), transparent 28%),
        radial-gradient(circle at 82% 18%, rgba(220,38,38,.22), transparent 34%),
        linear-gradient(145deg, #06251b 0%, #0b4a38 54%, #591c2c 100%);
}
.app-login-shell[data-season-theme="newyear"] {
    --season-sky:
        radial-gradient(circle at 50% 105%, rgba(245,158,11,.18), transparent 38%),
        radial-gradient(circle at 15% 12%, rgba(168,85,247,.25), transparent 30%),
        linear-gradient(150deg, #020617 0%, #11122e 58%, #26103d 100%);
}
.app-login-shell[data-season-theme="spring"] {
    --season-sky:
        radial-gradient(circle at 18% 16%, rgba(244,114,182,.28), transparent 30%),
        radial-gradient(circle at 84% 12%, rgba(45,212,191,.24), transparent 34%),
        linear-gradient(145deg, #f9e7f3 0%, #e8f7ef 52%, #cde9ff 100%);
}
.app-login-shell[data-season-theme="summer"] {
    --season-sky:
        radial-gradient(circle at 82% 10%, rgba(253,224,71,.32), transparent 26%),
        radial-gradient(circle at 15% 20%, rgba(34,211,238,.25), transparent 32%),
        linear-gradient(155deg, #82c9ed 0%, #d9f1ff 48%, #f7d9a4 100%);
}
[data-theme="dark"] .app-login-shell[data-season-theme="autumn"] {
    --season-sky:
        radial-gradient(ellipse at 14% 86%, rgba(249,115,22,.22), transparent 32%),
        radial-gradient(ellipse at 88% 18%, rgba(56,189,248,.16), transparent 38%),
        linear-gradient(150deg, #071528 0%, #123b57 46%, #174d43 74%, #102f29 100%);
}
[data-theme="dark"] .app-login-shell[data-season-theme="starlight"] {
    --season-sky:
        radial-gradient(ellipse at 46% 110%, rgba(14,165,233,.31), transparent 48%),
        radial-gradient(ellipse at 12% 8%, rgba(99,102,241,.34), transparent 38%),
        linear-gradient(155deg, #01030d 0%, #091334 50%, #271455 100%);
}
[data-theme="dark"] .app-login-shell[data-season-theme="winter"] {
    --season-sky:
        radial-gradient(ellipse at 18% 5%, rgba(224,242,254,.28), transparent 38%),
        radial-gradient(ellipse at 88% 18%, rgba(56,189,248,.27), transparent 42%),
        linear-gradient(155deg, #07111f 0%, #143754 54%, #326485 100%);
}
[data-theme="dark"] .app-login-shell[data-season-theme="holiday"] {
    --season-sky:
        radial-gradient(ellipse at 15% 12%, rgba(250,204,21,.26), transparent 36%),
        radial-gradient(ellipse at 88% 22%, rgba(220,38,38,.34), transparent 42%),
        linear-gradient(145deg, #03150f 0%, #07503a 56%, #651a2d 100%);
}
[data-theme="dark"] .app-login-shell[data-season-theme="newyear"] {
    --season-sky:
        radial-gradient(ellipse at 52% 112%, rgba(245,158,11,.31), transparent 45%),
        radial-gradient(ellipse at 15% 8%, rgba(168,85,247,.38), transparent 40%),
        radial-gradient(ellipse at 88% 30%, rgba(236,72,153,.20), transparent 34%),
        linear-gradient(150deg, #01030b 0%, #11143a 56%, #3b1458 100%);
}
[data-theme="dark"] .app-login-shell[data-season-theme="spring"] {
    --season-sky:
        radial-gradient(ellipse at 16% 10%, rgba(244,114,182,.32), transparent 39%),
        radial-gradient(ellipse at 86% 16%, rgba(45,212,191,.30), transparent 42%),
        linear-gradient(145deg, #111827 0%, #205243 52%, #62395f 100%);
}
[data-theme="dark"] .app-login-shell[data-season-theme="summer"] {
    --season-sky:
        radial-gradient(ellipse at 84% 8%, rgba(253,224,71,.30), transparent 36%),
        radial-gradient(ellipse at 12% 22%, rgba(34,211,238,.31), transparent 42%),
        linear-gradient(155deg, #061525 0%, #0d5576 54%, #76502a 100%);
}
/* Explicit seasonal surfaces: keep these out of the shared token cascade so a
   selected atmosphere cannot fall back to the platform gradient. */
html[data-theme="dark"] body.app-login-shell[data-season-theme="autumn"] {
    background-image:
        radial-gradient(ellipse at 13% 88%, rgba(249,115,22,.24), transparent 33%),
        radial-gradient(ellipse at 90% 12%, rgba(56,189,248,.18), transparent 39%),
        linear-gradient(150deg, #061426 0%, #103b59 45%, #185448 72%, #0d302a 100%) !important;
}
html[data-theme="dark"] body.app-login-shell[data-season-theme="spring"] {
    background-image:
        radial-gradient(ellipse at 10% 8%, rgba(255,133,196,.40), transparent 39%),
        radial-gradient(ellipse at 91% 18%, rgba(45,212,191,.38), transparent 43%),
        linear-gradient(145deg, #17152a 0%, #294f4b 49%, #704569 77%, #a96f91 100%) !important;
}
html[data-theme="light"] body.app-login-shell[data-season-theme="autumn"] {
    background-image:
        radial-gradient(ellipse at 12% 88%, rgba(249,115,22,.18), transparent 32%),
        radial-gradient(ellipse at 88% 10%, rgba(255,255,255,.46), transparent 38%),
        linear-gradient(150deg, #a9dcf6 0%, #68aed4 43%, #77aa79 72%, #3f765c 100%) !important;
}
html[data-theme="light"] body.app-login-shell[data-season-theme="spring"] {
    background-image:
        radial-gradient(ellipse at 10% 8%, rgba(244,114,182,.36), transparent 39%),
        radial-gradient(ellipse at 91% 18%, rgba(45,212,191,.31), transparent 43%),
        linear-gradient(145deg, #fff1fa 0%, #dff8ec 50%, #cfe7ff 100%) !important;
}
html[data-theme="dark"] body.app-login-shell[data-season-theme="winter"] {
    background-image:
        radial-gradient(ellipse at 15% 5%, rgba(224,242,254,.32), transparent 40%),
        radial-gradient(ellipse at 90% 16%, rgba(56,189,248,.29), transparent 43%),
        linear-gradient(150deg, #07111f 0%, #173d5b 54%, #3d7393 100%) !important;
}
html[data-theme="dark"] body.app-login-shell[data-season-theme="holiday"] {
    background-image:
        radial-gradient(ellipse at 13% 9%, rgba(250,204,21,.30), transparent 38%),
        radial-gradient(ellipse at 91% 20%, rgba(239,68,68,.40), transparent 44%),
        linear-gradient(145deg, #03150f 0%, #07533b 55%, #711b31 100%) !important;
}
html[data-theme="light"] body.app-login-shell[data-season-theme="winter"] {
    background-image:
        radial-gradient(ellipse at 15% 5%, rgba(255,255,255,.72), transparent 40%),
        radial-gradient(ellipse at 90% 16%, rgba(56,189,248,.25), transparent 43%),
        linear-gradient(150deg, #e8f5ff 0%, #cbe8fa 54%, #a7cbe5 100%) !important;
}
html[data-theme="light"] body.app-login-shell[data-season-theme="holiday"] {
    background-image:
        radial-gradient(ellipse at 13% 9%, rgba(250,204,21,.12), transparent 34%),
        radial-gradient(ellipse at 91% 20%, rgba(239,68,68,.09), transparent 40%),
        linear-gradient(145deg, #eef8f3 0%, #d4e9df 56%, #e5edf5 100%) !important;
}
@keyframes seasonalSkyShift {
    0% { background-position: 0% 0%; }
    50% { background-position: 52% 24%; }
    100% { background-position: 100% 60%; }
}
.app-seasonal-canvas {
    position: fixed;
    inset: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    pointer-events: none;
    opacity: 1;
    transition: opacity 240ms ease;
}
.app-seasonal-canvas.is-changing-season { opacity: 0; }
.app-seasonal-canvas.is-slow-season-change { transition-duration: 2.8s; }
.app-seasonal-transition-canvas {
    position: fixed;
    inset: 0;
    z-index: 3;
    width: 100%;
    height: 100%;
    pointer-events: none;
    opacity: 0;
    transition: opacity 760ms ease;
}
.app-seasonal-transition-canvas.is-visible { opacity: 1; transition: none; }
.app-seasonal-transition-canvas.is-slow-season-change { transition-duration: 10s; }
.app-season-transition-curtain {
    position: fixed;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    opacity: 0;
    background-position: center;
    background-size: 145% 145%;
    transition: opacity 760ms ease;
}
.app-season-transition-curtain.is-visible {
    opacity: 1;
    transition: none;
}
.app-season-transition-curtain.is-slow-season-change { transition-duration: 10s; }
.app-login-theme-toggle {
    position: fixed;
    top: 18px;
    right: 16px;
    z-index: 40;
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 1px solid var(--border);
    border-radius: 13px;
    color: var(--text);
    background: var(--surface);
    box-shadow: var(--shadow-soft);
    backdrop-filter: blur(18px);
    cursor: pointer;
    pointer-events: auto;
}
.app-login-theme-toggle:hover,
.app-login-theme-toggle:focus { color:var(--brand);border-color:var(--brand); }
.app-beta-notice ~ .app-login-theme-toggle { top:74px; }
.app-login-shell > :not(.app-seasonal-canvas):not(.app-seasonal-transition-canvas):not(.app-seasonal-rail):not(.app-season-transition-curtain):not(.app-login-theme-toggle) {
    position: relative;
    z-index: 3;
}
.app-seasonal-rail {
    position: fixed;
    top: 50%;
    right: 14px;
    z-index: 30;
    display: grid;
    width: 150px;
    gap: 6px;
    padding: 7px;
    border: 1px solid rgba(255,255,255,.26);
    border-radius: 18px;
    background: var(--surface);
    background: color-mix(in srgb, var(--surface) 88%, transparent);
    box-shadow: 0 18px 45px rgba(2,8,23,.22);
    backdrop-filter: blur(18px);
    transform: translateY(-50%);
}
.app-seasonal-rail__toggle,
.app-seasonal-rail__options button {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 34px;
    gap: 8px;
    padding: 7px 9px;
    border: 0;
    border-radius: 10px;
    color: var(--muted);
    background: transparent;
    font-size: 11px;
    font-weight: 850;
    text-align: left;
}
.app-seasonal-rail__toggle { color: var(--text); }
.app-seasonal-rail__toggle i,
.app-seasonal-rail__options i { width: 18px; color: var(--brand); text-align:center; }
.app-seasonal-rail__options { display: grid; gap: 2px; }
.app-seasonal-rail__options button:hover,
.app-seasonal-rail__options button:focus,
.app-seasonal-rail__options button.is-active {
    color: var(--brand);
    background: var(--brand-soft);
}
.app-seasonal-rail.is-collapsed { width: auto; }
.app-seasonal-rail.is-collapsed .app-seasonal-rail__options,
.app-seasonal-rail.is-collapsed .app-seasonal-rail__toggle span { display:none; }
@media (max-width: 820px) {
    .app-login-theme-toggle,
    .app-beta-notice ~ .app-login-theme-toggle { top:auto;right:auto;bottom:10px;left:10px; }
    .app-seasonal-rail { top:auto;right:10px;bottom:10px;width:auto;transform:none; }
    .app-seasonal-rail:not(.is-open) .app-seasonal-rail__options { display:none; }
    .app-seasonal-rail__options { grid-template-columns:repeat(3,minmax(0,1fr));width:min(420px,calc(100vw - 34px)); }
}
@media (prefers-reduced-motion: reduce) {
    .app-login-shell { animation:none;transition:none; }
    .app-seasonal-canvas { display:none; }
}

.app-beta-notice {
    margin: 0;
    border-width: 0 0 1px;
    border-radius: 0;
    padding: 17px 18px;
    font-size: 14px;
}

.app-beta-notice .close {
    color: inherit;
    opacity: 0.7;
}

.app-login-main {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
    width: 100%;
    min-height: 62vh;
    padding: 3.5rem 1rem;
    flex-direction: column;
    gap: 18px;
}

body.app-login-shell #maincontent {
    width: 100%;
    margin: 0;
    padding: 3.5rem 1rem;
}

.app-login-card {
    position: relative;
    overflow: hidden;
    width: min(calc(100vw - 32px), 520px);
    padding: 42px 48px 36px;
    border: 1px solid var(--border);
    border-radius: 30px;
    background: var(--surface);
    background: color-mix(in srgb, var(--surface) 88%, transparent);
    box-shadow:
        var(--shadow),
        inset 0 1px 0 rgba(255,255,255,.22),
        inset 0 -1px 0 rgba(124,58,237,.08);
    -webkit-backdrop-filter: blur(22px) saturate(132%) contrast(104%);
    backdrop-filter: blur(22px) saturate(132%) contrast(104%);
    text-align: center;
}
[data-theme="dark"] .app-login-card {
    background: color-mix(in srgb, var(--surface) 82%, transparent);
}

.app-login-card::before {
    position: absolute;
    top: -25%;
    left: -20%;
    width: 60%;
    height: 60%;
    background: radial-gradient(circle, var(--brand-soft) 0%, transparent 65%);
    content: "";
    pointer-events: none;
}
.app-login-card::after {
    position: absolute;
    z-index: 0;
    inset: 0;
    border-radius: inherit;
    background:
        radial-gradient(ellipse at 18% 3%, rgba(255,255,255,.18), transparent 34%),
        radial-gradient(ellipse at 92% 92%, rgba(124,58,237,.10), transparent 38%);
    box-shadow:
        inset 1px 1px 0 rgba(255,255,255,.15),
        inset -1px -1px 0 rgba(56,189,248,.08);
    content: "";
    pointer-events: none;
}
.app-login-card > * {
    position: relative;
    z-index: 1;
}

.app-login-card__icon {
    position: relative;
    z-index: 1;
    margin-bottom: 10px;
    color: var(--brand);
    font-size: 46px;
}

.app-login-card h1 {
    position: relative;
    z-index: 1;
    margin: 0 0 6px;
    color: var(--text);
    font-size: 29px;
    font-weight: 900;
}

.app-login-card__intro {
    position: relative;
    z-index: 1;
    margin: 0 0 18px;
    color: var(--muted);
}

.app-login-form {
    position: relative;
    z-index: 1;
    width: min(100%, 420px);
    margin: 0 auto;
    text-align: left;
}

.app-login-field {
    margin-bottom: 16px;
}

.app-visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
}

.app-input-with-icon {
    position: relative;
    overflow: hidden;
    border-radius: 18px;
}

.app-input-with-icon > i {
    position: absolute;
    top: 50%;
    left: 15px;
    z-index: 1;
    color: var(--muted);
    font-size: 18px;
    transform: translateY(-50%);
}

.app-input-with-icon .form-control {
    height: 48px;
    padding: 12px 14px 12px 46px;
    border-color: var(--border);
    border-radius: 18px;
    background: var(--surface-soft);
}

.app-login-submit {
    min-height: 50px;
    padding: 13px 24px;
    border-radius: 999px;
    box-shadow: 0 6px 20px var(--brand-shadow);
}

.app-login-portals {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: min(calc(100vw - 32px), 520px);
    gap: 8px;
    padding: 7px;
    border: 1px solid var(--border);
    border-radius: 17px;
    background: var(--surface);
    box-shadow: var(--shadow-soft);
}
.app-login-portals a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 43px;
    padding: 8px 10px;
    border-radius: 11px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 850;
    text-decoration: none;
}
.app-login-portals a:hover,
.app-login-portals a:focus,
.app-login-portals a.is-active {
    color: var(--brand);
    background: var(--brand-soft);
}

.app-login-progress {
    color: var(--muted);
    text-align: center;
}

.app-login-links {
    position: relative;
    z-index: 1;
    margin-top: 16px;
    font-size: 12px;
    text-align: center;
}

.app-login-links a {
    display: block;
    font-weight: 900;
}

.app-login-onboarding {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid var(--border);
    color: var(--muted);
    font-size: 14px;
}

.app-btn--small {
    min-height: 32px;
    padding: 5px 10px;
    border-radius: 6px;
}

.app-login-footer {
    border-top: 1px solid var(--border);
    color: var(--muted);
    background: rgba(2, 8, 18, 0.24);
    backdrop-filter: blur(18px);
}

.app-login-footer__links {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: min(100% - 3rem, 980px);
    margin: 0 auto;
    gap: 28px;
    padding: 34px 0 26px;
}

.app-login-footer__links > div {
    display: flex;
    flex-direction: column;
}

.app-login-footer a {
    color: var(--muted);
    font-weight: 800;
    letter-spacing: 0.03em;
    text-decoration: none;
    text-transform: uppercase;
}

.app-login-footer a:hover,
.app-login-footer a:focus {
    color: var(--text);
}

.app-login-footer a i {
    width: 20px;
}

.app-login-footer__status {
    align-items: center;
    justify-content: center;
    min-height: 62px;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 16px;
    background: var(--surface-soft);
}

.app-login-footer__status iframe {
    width: 100%;
}

.app-login-footer__copyright {
    padding: 13px 16px;
    border-top: 1px solid var(--border);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-align: center;
    text-transform: uppercase;
}

@media (max-width: 760px) {
    body.app-login-shell #maincontent {
        padding: 2rem 1rem;
    }

    .app-login-footer__links {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    .app-login-card {
        padding: 32px 24px 26px;
        border-radius: 26px;
    }
    .app-login-portals a span { display: none; }

    .app-login-footer__links {
        grid-template-columns: 1fr;
    }
}

.account-overview-grid > :last-child:nth-child(odd) {
    grid-column: 1 / -1;
}

@media (max-width: 800px) {
    .app-summary-grid,
    .account-overview-grid {
        grid-template-columns: 1fr;
    }
}

.app-entity__thumb {
    object-fit: contain;
    background: var(--surface-soft);
}

.app-entity__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--brand);
    background: var(--brand-soft);
}
.hierarchy-empty,
.hierarchy-account-default .app-section-heading {
    display: flex;
    align-items: center;
    gap: 1.25rem;
}

.hierarchy-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
}

.hierarchy-country-form {
    display: grid;
    grid-template-columns: 10rem minmax(16rem, 1fr) auto;
    align-items: end;
    gap: 1rem;
}

.hierarchy-scope-card {
    margin-top: 1.25rem;
}

.hierarchy-scope-list {
    border: 1px solid var(--border);
    border-radius: 1rem;
    overflow: hidden;
}

.hierarchy-scope-list a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.15rem;
    color: var(--text);
    text-decoration: none;
    border-bottom: 1px solid var(--border);
}

.hierarchy-scope-list a:last-child {
    border-bottom: 0;
}

.hierarchy-scope-list a:hover {
    background: var(--surface-soft);
}

.hierarchy-scope-list strong,
.hierarchy-scope-list small {
    display: block;
}

.hierarchy-effective-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.hierarchy-effective-grid > div {
    padding: 1rem;
    border: 1px solid var(--border);
    border-radius: .85rem;
    background: var(--surface-soft);
}

.hierarchy-effective-grid small,
.hierarchy-effective-grid strong,
.hierarchy-effective-grid span {
    display: block;
}

@media (max-width: 850px) {
    .hierarchy-form-grid,
    .hierarchy-effective-grid,
    .hierarchy-country-form {
        grid-template-columns: 1fr;
    }
}

/* Order fee panel (hierarchy page). Colour is never the only signal here — the
   on/off and applied/skipped states each carry their own words too. */
.order-fee-errors {
    margin: .35rem 0 0;
    padding-left: 1.1rem;
}

.order-fee-effective {
    margin: 0 0 1.25rem;
    padding: .9rem 1.1rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--surface-soft);
}

.order-fee-source {
    display: block;
    margin-top: .25rem;
    color: var(--muted);
    font-size: .85rem;
}

.order-fee-fieldset {
    margin: 0 0 1.25rem;
    padding: 0;
    border: 0;
}

.order-fee-fieldset > legend {
    width: auto;
    margin-bottom: .6rem;
    padding: 0;
    border: 0;
    color: var(--text);
    font-size: .95rem;
    font-weight: 700;
}

.order-fee-choice {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
}

.order-fee-choice .catalog-check {
    align-items: flex-start;
}

.order-fee-choice small {
    display: block;
    margin-top: .2rem;
    color: var(--muted);
}

.order-fee-preview {
    margin-top: 1.5rem;
    padding: 1.15rem;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--surface-soft);
}

.order-fee-preview > h3 {
    margin: 0 0 .35rem;
    font-size: 1rem;
}

.order-fee-preview > p {
    color: var(--muted);
}

.order-fee-preview-result {
    margin: .75rem 0 0;
    padding: .75rem .9rem;
    border-left: 3px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--surface);
    min-height: 1.5rem;
}

.order-fee-preview-result:empty {
    display: none;
}

.order-fee-preview-result--applied {
    border-left-color: var(--success);
}

.order-fee-preview-result--skipped {
    border-left-color: var(--warning);
}

.order-fee-danger {
    margin-top: 1.5rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--border);
}

.order-fee-danger > h3 {
    margin: 0 0 .75rem;
    font-size: 1rem;
}

.order-fee-danger-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.order-fee-danger-option {
    padding: 1rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--surface-soft);
}

.order-fee-danger-option h4 {
    margin: 0 0 .35rem;
    font-size: .95rem;
}

.order-fee-danger-option p {
    margin: 0 0 .75rem;
    color: var(--muted);
    font-size: .88rem;
}

.order-fee-state {
    margin: .5rem 0 0;
    color: var(--muted);
    font-size: .82rem;
}

.order-fee-action-form {
    display: inline-block;
    margin: 0;
}

.order-fee-jurisdiction-table caption {
    padding-bottom: .5rem;
    color: var(--muted);
    font-size: .85rem;
    text-align: left;
}

.order-fee-jurisdiction-form {
    margin-top: 1.25rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--border);
}

@media (max-width: 850px) {
    .order-fee-choice,
    .order-fee-danger-grid {
        grid-template-columns: 1fr;
    }
}

.faq-editor {
    margin-bottom: 1.25rem;
}

.support-choice-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

@media (max-width: 700px) {
    .support-choice-grid {
        grid-template-columns: 1fr;
    }
}

.faq-list {
    display: grid;
    gap: 1rem;
}

.faq-item__content h2 {
    margin: 0 0 .5rem;
    font-size: 1.05rem;
}

.faq-item__content p {
    margin: 0;
    color: var(--muted);
}

.faq-view {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1.5rem;
}

.faq-item__actions {
    display: flex;
    flex: 0 0 auto;
    gap: .65rem;
}

.is-hidden {
    display: none;
}

@media (max-width: 700px) {
    .faq-view,
    .faq-item__actions {
        flex-direction: column;
    }
}

/* FYP Digital Gallery Sales top bar */
.app-brand--fyp { min-height: 0; gap: .34rem; padding-right: 0; text-decoration: none !important; white-space: nowrap; }
.app-brand__fyp { color: var(--brand); font-size: 1.05rem; font-weight: 900; letter-spacing: -.04em; }
.app-brand__separator { color: var(--muted); font-size: .72rem; opacity: .5; }
.app-brand__context { color: var(--muted); font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.app-topbar__actions { display: flex; align-items: center; gap: .35rem; }
.app-topbar__link { display: inline-flex; align-items: center; gap: .35rem; min-height: 38px; padding: .45rem .6rem; border: 0; border-radius: var(--radius-sm); color: var(--muted) !important; background: transparent; font-size: .72rem; font-weight: 800; text-decoration: none !important; white-space: nowrap; }
.app-topbar__link:hover, .app-topbar__link:focus { color: var(--text) !important; background: var(--surface-soft); }
.theme-toggle--icon-only { display: grid; width: 38px; min-width: 38px; padding: 0; place-items: center; }
.theme-toggle--icon-only .theme-toggle__icon { margin: 0; }
.theme-toggle--icon-only .theme-toggle__icon::before { margin: 0; }

.view-as-menu { position: relative; }
.view-as-menu > summary { cursor: pointer; list-style: none; }
.view-as-menu > summary::-webkit-details-marker { display: none; }
.view-as-menu__active { border-color: rgba(139,92,246,.5) !important; color: var(--brand) !important; background: var(--brand-soft) !important; }
.view-as-menu__chevron { font-size: .65rem; }
.view-as-menu__panel { position: absolute; z-index: 1400; top: calc(100% + .6rem); right: 0; width: min(420px, calc(100vw - 2rem)); max-height: min(680px, calc(100vh - 7rem)); overflow-y: auto; padding: .65rem; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface-strong); box-shadow: var(--shadow); }
.view-as-menu__header { padding: .6rem .7rem .8rem; }
.view-as-menu__header strong, .view-as-menu__header small, .view-as-menu__option strong, .view-as-menu__option small { display: block; }
.view-as-menu__header small, .view-as-menu__option small { color: var(--muted); }
.view-as-menu__form { margin: 0; }
.view-as-menu__option { display: grid; width: 100%; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: .75rem; padding: .7rem; border: 0; border-radius: var(--radius-sm); color: var(--text); background: transparent; text-align: left; }
.view-as-menu__option:hover, .view-as-menu__option:focus, .view-as-menu__option.active { background: var(--brand-soft); }
.view-as-menu__option small { margin-top: .12rem; font-size: .75rem; }
.view-as-menu__reset { padding: .65rem .7rem .25rem; border-top: 1px solid var(--border); }
.view-as-banner { position: fixed; z-index: 1050; top: var(--topbar-height); right: 0; left: var(--sidebar-width); display: flex; align-items: center; gap: .6rem; min-height: 42px; padding: .55rem 1rem; color: #fff; background: linear-gradient(90deg,#6d28d9,#7c3aed); box-shadow: 0 8px 24px rgba(76,29,149,.24); }
.view-as-banner span { color: rgba(255,255,255,.82); font-size: .78rem; }
.view-as-banner__exit { margin: 0 0 0 auto; }
.view-as-banner__exit button { border: 1px solid rgba(255,255,255,.35); border-radius: 8px; color: #fff; background: transparent; font-weight: 800; }
body.has-view-as-preview .app-sidebar { top: calc(var(--topbar-height) + 42px); }
body.has-view-as-preview #maincontent { padding-top: calc(var(--topbar-height) + 74px); }

.settings-search-dialog { width: min(640px, calc(100vw - 2rem)); max-height: min(720px, calc(100vh - 3rem)); padding: 0; border: 1px solid var(--border); border-radius: var(--radius); color: var(--text); background: var(--surface-strong); box-shadow: var(--shadow); }
.settings-search-dialog::backdrop { background: rgba(2,6,23,.7); backdrop-filter: blur(5px); }
.settings-search-dialog__header { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .75rem; padding: 1rem; border-bottom: 1px solid var(--border); }
.settings-search-dialog__header input { width: 100%; border: 0; outline: 0; color: var(--text); background: transparent; font-size: 1rem; }
.settings-search-dialog__header button { border: 0; color: var(--muted); background: transparent; }
.settings-search-dialog__body { padding: .75rem; }
.settings-search-dialog__hint, .settings-search-dialog__empty { margin: .25rem .5rem .75rem; color: var(--muted); font-size: .78rem; }
.settings-search-dialog__results { display: grid; gap: .25rem; }
.settings-search-dialog__results a { display: grid; grid-template-columns: 24px 1fr auto; align-items: center; gap: .75rem; padding: .75rem; border-radius: var(--radius-sm); color: var(--text) !important; text-decoration: none !important; }
.settings-search-dialog__results a:hover, .settings-search-dialog__results a:focus { background: var(--brand-soft); }
.settings-search-dialog__results strong, .settings-search-dialog__results small { display: block; }
.settings-search-dialog__results small { color: var(--muted); }

.help-search-form { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 1rem; }
.help-result-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.help-result-card { color: var(--text) !important; text-decoration: none !important; transition: transform .16s ease, border-color .16s ease; }
.help-result-card:hover { border-color: rgba(139,92,246,.45); transform: translateY(-2px); }
.help-result-card h2 { margin: .8rem 0 .4rem; }
.help-result-card__open { color: var(--brand); font-weight: 800; }
.help-article-content { max-width: 900px; margin: 0 auto; line-height: 1.8; }

@media (max-width: 1000px) {
    .app-topbar__link span, .view-as-menu > summary span { display: none; }
    .app-brand__context { max-width: 150px; overflow: hidden; text-overflow: ellipsis; }
}
@media (max-width: 700px) {
    .help-search-form, .help-result-grid { grid-template-columns: 1fr; }
    .view-as-banner { left: 0; }
    .view-as-banner span { display: none; }
    body.has-view-as-preview #maincontent { padding-top: calc(var(--topbar-height) + 66px); }
}

/* Dedicated vendor fulfillment workspace */
.vendor-order-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
    align-items: start;
    gap: 1rem;
}
.vendor-order-layout > div {
    display: grid;
    gap: 1rem;
}
.vendor-order-item__media {
    width: 148px;
    min-width: 148px;
}
.vendor-order-item__media img {
    display: block;
    width: 100%;
    height: auto;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--surface-soft);
}
.vendor-order-item .app-card__body {
    display: flex;
    align-items: flex-start;
    gap: 1.25rem;
}
.vendor-fulfillment-panel {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--border);
}
.vendor-fulfillment-panel h3 {
    margin: 0 0 .75rem;
}
.vendor-fulfillment-panel__fields {
    display: grid;
    grid-template-columns: minmax(150px, .7fr) repeat(2, minmax(180px, 1fr));
    gap: .75rem;
}
.vendor-fulfillment-panel__fields label,
.vendor-fulfillment-panel__fields span {
    display: block;
}
.vendor-fulfillment-panel__fields span {
    margin-bottom: .3rem;
    color: var(--muted);
    font-size: .76rem;
    font-weight: 800;
}
.vendor-fulfillment-panel__fields input,
.vendor-fulfillment-panel__fields select {
    width: 100%;
}
.vendor-product-rename {
    display: grid;
    min-width: 260px;
    gap: .5rem;
    margin-top: .5rem;
    padding: .75rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--surface-strong);
    box-shadow: var(--shadow-sm);
}
.vendor-product-rename label,
.vendor-product-rename span {
    display: block;
}
.vendor-product-rename span {
    margin-bottom: .3rem;
    color: var(--muted);
    font-size: .75rem;
    font-weight: 800;
}
.vendor-workspace-tabs {
    display: flex;
    gap: .45rem;
    margin: 0 0 1rem;
    padding: .4rem;
    overflow-x: auto;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--surface-strong);
}
.vendor-workspace-tabs a {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .65rem .85rem;
    border-radius: var(--radius-sm);
    color: var(--muted);
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}
.vendor-workspace-tabs a:hover,
.vendor-workspace-tabs a.active {
    color: var(--brand);
    background: var(--brand-soft);
}
.vendor-workspace-launchers {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}
.vendor-workspace-launchers a {
    display: grid;
    grid-template-columns: 38px 1fr;
    gap: .25rem .75rem;
    padding: 1rem;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    color: var(--text);
    text-decoration: none;
}
.vendor-workspace-launchers a:hover { border-color: var(--brand); }
.vendor-workspace-launchers i { grid-row: span 2; color: var(--brand); font-size: 1.1rem; }
.vendor-workspace-launchers span { color: var(--muted); }
@media (max-width: 700px) {
    .vendor-workspace-launchers { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
    .vendor-order-layout { grid-template-columns: 1fr; }
    .vendor-fulfillment-panel__fields { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
    .vendor-order-item .app-card__body { display: block; }
    .vendor-order-item__media { width: 100%; margin-bottom: 1rem; }
}
.vendor-report-filters { display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:1rem; }
.vendor-report-filters label,.vendor-report-filters span{display:block}.vendor-report-filters span{margin-bottom:.3rem;color:var(--muted);font-size:.76rem;font-weight:800}.vendor-report-filters input{width:100%}
.vendor-chart{height:340px}.vendor-report-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.vendor-ranking{display:grid;gap:.65rem;margin:0;padding-left:1.4rem}.vendor-ranking li{display:flex;justify-content:space-between;gap:1rem;padding-bottom:.6rem;border-bottom:1px solid var(--border)}.vendor-ranking li span,.vendor-ranking small{display:block}.vendor-ranking small{color:var(--muted)}.vendor-never-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-top:1rem}.vendor-never-grid span{padding:.6rem;border-radius:var(--radius-sm);background:var(--surface-soft)}
.vendor-chart-product span{display:block;margin-bottom:.3rem;color:var(--muted);font-size:.75rem;font-weight:800}.vendor-chart-product select{min-width:240px}
@media(max-width:900px){.vendor-report-filters{grid-template-columns:1fr 1fr}.vendor-report-columns{grid-template-columns:1fr}.vendor-never-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.vendor-report-filters,.vendor-never-grid{grid-template-columns:1fr}}
.vendor-operations-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem}.vendor-operations-card{color:var(--text)!important;text-decoration:none!important}.vendor-operations-card__icon{display:grid;width:38px;height:38px;margin-bottom:.75rem;place-items:center;border-radius:12px;color:var(--brand);background:var(--brand-soft)}.vendor-operations-card--danger{border-color:rgba(239,68,68,.45)}.vendor-operations-card--danger .vendor-operations-card__icon{color:#ef4444;background:rgba(239,68,68,.1)}.vendor-operations-card--warning{border-color:rgba(245,158,11,.5)}.vendor-operations-card--warning .vendor-operations-card__icon{color:#d97706;background:rgba(245,158,11,.12)}.vendor-dashboard-charts,.vendor-dashboard-queues{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.vendor-dashboard-charts .vendor-chart{height:320px}@media(max-width:1200px){.vendor-operations-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:850px){.vendor-operations-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vendor-dashboard-charts,.vendor-dashboard-queues{grid-template-columns:1fr}}@media(max-width:520px){.vendor-operations-grid{grid-template-columns:1fr}}
.vendor-order-sort{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;margin-bottom:1rem}
.vendor-order-sort label{font-weight:700}
.vendor-order-sort select{min-width:220px}
.vendor-bulk-toolbar{display:flex;align-items:flex-end;gap:.75rem;flex-wrap:wrap;padding:1rem;border:1px solid var(--app-border);border-radius:14px;background:var(--app-surface-soft);margin-bottom:.5rem}
.vendor-bulk-toolbar label{display:grid;gap:.3rem;min-width:190px;font-size:.78rem;font-weight:700}
.vendor-bulk-toolbar input{min-height:40px}
.vendor-production-instructions{margin:1rem 0;padding:1rem;border-left:4px solid var(--app-primary);border-radius:10px;background:var(--app-surface-soft)}
.vendor-production-instructions dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;margin:0}
.vendor-production-instructions dl div{display:grid;gap:.2rem}
.vendor-production-instructions dt{font-size:.72rem;font-weight:800;text-transform:uppercase;color:var(--app-text-muted)}
.vendor-production-instructions dd{margin:0;font-weight:700}
.vendor-products-table td{vertical-align:top}.vendor-product-identity{display:grid;grid-template-columns:84px minmax(210px,1fr);gap:1rem;min-width:340px}.vendor-product-identity__preview{display:grid;width:84px;height:84px;place-items:center;align-content:center;gap:.25rem;overflow:hidden;border:1px solid var(--app-border);border-radius:14px;background:var(--app-surface-soft);color:var(--app-text-muted);font-size:.7rem}.vendor-product-identity__preview img{width:100%;height:100%;object-fit:contain}.vendor-product-identity strong,.vendor-product-identity p{display:block;margin:.2rem 0}.vendor-product-rename{min-width:310px;margin-top:.75rem}.vendor-product-rename__context{display:flex;align-items:center;gap:.65rem;margin-bottom:.75rem;padding:.65rem;border-radius:10px;background:var(--app-surface-soft)}.vendor-product-rename__context img{width:48px;height:48px;object-fit:contain;border-radius:8px}.vendor-product-rename__context strong,.vendor-product-rename__context small{display:block}
.vendor-product-actions{display:grid;justify-items:start;gap:.5rem}.vendor-product-remove{margin:0}
.legacy-import-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,380px);gap:22px;align-items:start}
.catalog-migration-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 0}
.catalog-migration-facts div{padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--surface-subtle)}
.catalog-migration-facts dt{margin-bottom:4px;color:var(--muted);font-size:.73rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.catalog-migration-facts dd{margin:0;font-weight:750}
.legacy-preview-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.legacy-composition-preview{position:relative;overflow:hidden;min-height:160px;border:1px solid var(--line);border-radius:14px;background:repeating-conic-gradient(rgba(100,116,139,.12) 0 25%,transparent 0 50%) 50%/18px 18px}
.legacy-composition-bg,.legacy-composition-fg{position:absolute;inset:0;z-index:1;background-repeat:no-repeat;background-position:center;background-size:100% 100%}
.legacy-composition-photo{position:absolute;z-index:2;display:grid;place-items:center;min-width:5px;min-height:5px;border:2px dashed var(--brand);background:rgba(124,58,237,.14)}
.legacy-composition-photo i{color:var(--brand);font-size:1.6rem}.legacy-composition-fg{z-index:3}
.legacy-commerce-grid{margin-bottom:18px}.catalog-warning-list{display:grid;gap:10px;margin:16px 0 0;padding:0;list-style:none}
.catalog-warning-list li{display:flex;align-items:flex-start;gap:10px;padding:12px;border-radius:11px;background:rgba(245,158,11,.09)}
.catalog-warning-list i{margin-top:3px;color:#f59e0b}.app-table-note{display:block;margin-top:3px;color:var(--muted)}
.catalog-checkbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.65rem;padding:.8rem;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}
.catalog-checkbox-grid .catalog-check{margin:0}
.catalog-fulfillment-list{display:grid;gap:12px;margin-top:18px}
.catalog-fulfillment-offer{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:14px;align-items:start;padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}
.catalog-fulfillment-offer.is-inactive{opacity:.62}
.catalog-fulfillment-offer__icon{display:grid;width:44px;height:44px;place-items:center;border-radius:12px;color:var(--brand);background:var(--brand-soft)}
.catalog-fulfillment-offer__actions{display:flex;align-items:center;gap:8px}
.catalog-matrix-panel{margin:18px 0;padding:18px;border:1px solid var(--border);border-radius:16px;background:var(--surface-subtle)}
.catalog-input-table input{min-width:110px}
.catalog-input-table th small{display:block;margin-top:3px;color:var(--text-muted);font-weight:500}
.catalog-input-table th [data-fulfillment-route-status] a{color:var(--accent);font-weight:700;text-decoration:none}
.catalog-input-table__existing{background:color-mix(in srgb,var(--accent) 4%,transparent)}
.catalog-input-table__existing input[readonly]{cursor:not-allowed;opacity:.72}
.catalog-price-ladder__table{min-width:920px}
.catalog-price-ladder__table input{min-width:118px}
.catalog-price-ladder .app-alert{margin:14px 0}
.catalog-price-ladder__status{min-height:22px;margin:8px 0 12px;color:var(--app-text-muted);font-size:13px;font-weight:700}
.catalog-price-ladder__table input:disabled{opacity:.62;cursor:not-allowed}
.catalog-price-preview form{margin-bottom:14px}
.catalog-price-preview__result{display:flex;align-items:center;gap:14px;margin-top:16px;padding:16px;border:1px solid var(--app-border);border-radius:16px;background:var(--app-surface-muted)}
.catalog-price-preview__result>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:rgba(16,185,129,.12);color:#059669;font-size:20px;flex:0 0 auto}
.catalog-price-preview__result.is-error>span{background:rgba(239,68,68,.12);color:#dc2626}
.catalog-price-preview__result h3,.catalog-price-preview__result p{margin:0}
.catalog-quantity-ladder__table{min-width:620px}
.catalog-quantity-ladder__table input{min-width:150px}
.catalog-gallery-age-ladder__table{min-width:720px}
.catalog-gallery-age-ladder__table input{min-width:145px}
.catalog-progress-strip{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;padding:16px 18px;border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:var(--shadow-sm)}
.catalog-progress-strip>div{flex:1;min-width:0}.catalog-progress-strip p{margin:0 0 4px}.catalog-progress-track{overflow:hidden;height:7px;margin-top:10px;border-radius:999px;background:var(--surface-soft)}.catalog-progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--brand),#22c55e);transition:width .3s ease}
.catalog-bundle-list{display:grid;gap:10px;margin-top:18px}
.catalog-bundle-component{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}
.catalog-bundle-component__quantity{display:grid;width:48px;height:48px;place-items:center;border-radius:14px;color:var(--brand);background:var(--brand-soft);font-size:1.05rem;font-weight:900}
.catalog-bundle-component__identity{min-width:0}
.catalog-row-actions,.catalog-form-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.catalog-component-route{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin:-4px 12px 14px;padding:14px;border:1px dashed var(--border);border-radius:12px;background:var(--surface-subtle)}
.catalog-component-route .app-field{margin:0}
.catalog-bundle-component-editor{margin:-4px 12px 14px;padding-top:18px}
.catalog-card-copy{margin-top:14px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface-subtle)}
.catalog-card-copy form{display:grid;gap:12px}
.catalog-copy-options{border:1px solid var(--border);border-radius:14px;display:grid;gap:10px;margin:2px 0;padding:12px}
.catalog-copy-options legend{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.08em;margin:0;padding:0 5px;text-transform:uppercase}
.catalog-copy-options .catalog-check{align-items:flex-start;display:flex;gap:9px;margin:0}
.catalog-copy-options .catalog-check span,.catalog-copy-options .catalog-check small{display:block}
.catalog-package-policy{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 18px;padding:18px;border:1px solid var(--border);border-radius:16px;background:linear-gradient(135deg,var(--brand-soft),var(--surface))}
.catalog-package-policy h3{margin:2px 0 5px}
.catalog-policy-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.catalog-policy-option{display:flex;align-items:flex-start;gap:10px;margin:0;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface);cursor:pointer}
.catalog-policy-option:has(input:checked){border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft)}
.catalog-policy-option input{margin-top:3px;accent-color:var(--brand)}
.catalog-policy-option span,.catalog-policy-option small{display:block}
.catalog-policy-option small{margin-top:5px;color:var(--muted)}
.catalog-benefit-list{display:grid;gap:12px}
.catalog-benefit{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}
.catalog-benefit.is-inactive{opacity:.62}
.catalog-benefit__icon{display:grid;width:48px;height:48px;place-items:center;border-radius:14px;color:var(--brand);background:var(--brand-soft)}
.catalog-release-directory{margin-bottom:1rem}
.catalog-release-directory__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}
.catalog-release-directory__item{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface-subtle);color:var(--text)!important;text-decoration:none!important}
.catalog-release-directory__item:hover{border-color:var(--brand);transform:translateY(-1px)}
.catalog-release-directory__item strong,.catalog-release-directory__item small{display:block}
.catalog-release-directory__item small{margin-top:3px;color:var(--muted)}
.catalog-release-directory__icon{display:grid;width:42px;height:42px;place-items:center;border-radius:12px;color:var(--brand);background:var(--brand-soft)}
.catalog-release-list{display:grid;gap:1rem}
.catalog-release .app-table-wrap{margin-top:1rem}
.catalog-marketplace-list{display:grid;gap:1rem}
.catalog-source-grid{display:grid;gap:10px;margin-bottom:1rem}
.catalog-source{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px;border:1px solid var(--border);border-radius:14px;background:var(--surface-subtle)}
.catalog-source__icon{display:grid;width:42px;height:42px;place-items:center;border-radius:12px;color:var(--brand);background:var(--brand-soft)}
.catalog-source strong,.catalog-source small{display:block}.catalog-source small{margin-top:3px;color:var(--muted)}
.catalog-source-form{display:grid;grid-template-columns:minmax(260px,2fr) minmax(150px,.6fr) auto auto;align-items:end;gap:12px;padding-top:1rem;border-top:1px solid var(--border)}
.catalog-marketplace-tools,.catalog-marketplace{margin-bottom:1rem}
.catalog-marketplace-filter,.catalog-bulk-source,.catalog-marketplace-readiness,.catalog-marketplace-title{display:flex;align-items:center;gap:1rem}
.catalog-marketplace-filter .app-field{flex:1}
.catalog-bulk-source{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border);flex-wrap:wrap}
.catalog-bulk-source>div:first-child{flex:1 1 24rem}
.catalog-marketplace-title>input{width:1.15rem;height:1.15rem}
.catalog-marketplace-readiness{flex-wrap:wrap;padding:.75rem 0;margin-bottom:.75rem;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.catalog-marketplace-readiness>span:not(.app-status){color:var(--text-muted)}
.catalog-marketplace-readiness strong{color:var(--text)}
@media(max-width:900px){.catalog-source-form{grid-template-columns:1fr 1fr}.catalog-source-form .catalog-check{align-self:center}}
@media(max-width:800px){.catalog-marketplace-filter,.catalog-marketplace-title{align-items:flex-start}.catalog-marketplace-filter{flex-direction:column}.catalog-marketplace-filter .app-field{width:100%}}
.catalog-package-builder-launch{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;margin:1rem 0;border:1px solid rgba(124,58,237,.24);border-radius:16px;background:linear-gradient(135deg,rgba(124,58,237,.08),rgba(14,165,233,.05))}
.catalog-package-builder-launch h3,.catalog-package-builder-launch p{margin:.2rem 0}
.catalog-package-builder-rows{display:grid;gap:.65rem;margin-bottom:1rem}
.catalog-package-builder-row{display:grid;grid-template-columns:2rem minmax(240px,1fr) 120px;align-items:end;gap:.75rem}
.catalog-package-builder-row>span{display:grid;place-items:center;width:2rem;height:2rem;margin-bottom:.35rem;border-radius:50%;background:rgba(124,58,237,.12);color:var(--accent);font-weight:800}
.catalog-package-live-summary{display:flex;align-items:center;gap:.7rem;margin:.85rem 0;padding:.85rem 1rem;border:1px solid rgba(124,58,237,.22);border-radius:13px;background:var(--surface-subtle);color:var(--text);font-weight:700}
.catalog-package-live-summary i{color:var(--accent)}
.catalog-starter-setup{display:grid;gap:.85rem;padding:1rem;border:1px solid rgba(124,58,237,.22);border-radius:16px;background:linear-gradient(135deg,var(--brand-soft),var(--surface-subtle))}
.catalog-starter-setup>.catalog-check{margin:0}
.catalog-starter-setup>.catalog-form-grid{padding-top:.85rem;border-top:1px solid var(--border)}
.catalog-starter-setup .catalog-price-ladder__status{margin:0}
@media(max-width:700px){.catalog-package-builder-launch{align-items:flex-start;flex-direction:column}.catalog-package-builder-row{grid-template-columns:2rem 1fr}.catalog-package-builder-row .app-field:last-child{grid-column:2}}
@media(max-width:900px){.catalog-package-policy{align-items:flex-start;flex-direction:column}.catalog-policy-options{grid-template-columns:1fr}}
@media(max-width:760px){.catalog-component-route{grid-template-columns:1fr}.catalog-component-route .app-btn{width:100%}}
.catalog-recommendation-list{display:grid;gap:10px;margin-top:18px}
.catalog-recommendation{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}
.catalog-recommendation.is-inactive{opacity:.62}.catalog-recommendation__visual{display:grid;width:58px;height:58px;place-items:center;overflow:hidden;border-radius:14px;color:var(--brand);background:var(--brand-soft)}
.catalog-recommendation__visual img{width:100%;height:100%;object-fit:contain}
@media(max-width:700px){.catalog-fulfillment-offer{grid-template-columns:44px minmax(0,1fr)}.catalog-fulfillment-offer__actions{grid-column:1/-1}.catalog-checkbox-grid{grid-template-columns:1fr}.catalog-starter,.catalog-variant-canvas{grid-template-columns:1fr}.catalog-input-table{min-width:760px}}
@media(max-width:1100px){.legacy-import-layout{grid-template-columns:1fr}}
@media(max-width:720px){.catalog-migration-facts,.legacy-preview-pair{grid-template-columns:1fr}}
.developer-portal-public{padding-top:3rem!important;padding-bottom:3rem!important}
.developer-hero{width:min(calc(100vw - 32px),980px);padding:44px;border:1px solid var(--border);border-radius:30px;background:var(--surface);box-shadow:var(--shadow);text-align:left}
.developer-hero h1{margin:.4rem 0 .6rem;color:var(--text);font-size:clamp(2.4rem,6vw,4.8rem);font-weight:950;letter-spacing:-.055em}
.developer-hero>p:not(.app-eyebrow){max-width:760px;color:var(--muted);font-size:1.15rem;line-height:1.6}
.developer-hero__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.developer-capability-grid,.developer-console-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:min(calc(100vw - 32px),980px);gap:16px}
.developer-capability-grid .app-card i{color:var(--brand);font-size:1.45rem}.developer-capability-grid h2{font-size:1.1rem}
.developer-foundation-note{width:min(calc(100vw - 32px),980px)}
@media(max-width:900px){.developer-capability-grid,.developer-console-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.developer-hero{padding:30px 24px}.developer-capability-grid,.developer-console-grid{grid-template-columns:1fr}}
.catalog-offer-gate-summary {
    align-items: center;
    background: color-mix(in srgb, var(--app-primary) 8%, var(--app-surface));
    border: 1px solid color-mix(in srgb, var(--app-primary) 24%, var(--app-border));
    border-radius: 14px;
    display: flex;
    gap: 10px;
    margin: 16px 0;
    padding: 12px 14px;
}

.catalog-option-set-builder {
  margin: 1rem 0 1.25rem;
}

.catalog-option-matrix {
  display: grid;
  gap: .5rem;
  margin: 1rem 0;
  overflow-x: auto;
}

.catalog-option-matrix__head,
.catalog-option-matrix__row {
  display: grid;
  grid-template-columns: 4.5rem minmax(12rem, 2fr) minmax(7rem, .75fr) minmax(7rem, .75fr) minmax(8rem, 1fr) minmax(10rem, 1fr);
  gap: .65rem;
  align-items: center;
  min-width: 780px;
}

.catalog-option-matrix__head {
  color: var(--app-text-muted);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.catalog-option-matrix__row {
  padding: .65rem;
  border: 1px solid var(--app-border);
  border-radius: .8rem;
  background: var(--app-surface-subtle);
}

.catalog-radio-cell {
  display: grid;
  place-items: center;
  margin: 0;
}

.catalog-print-starter {
  padding: 1rem;
  border: 1px solid var(--app-border);
  border-radius: 1rem;
  background: var(--app-surface-subtle);
}

.catalog-print-preset-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(7rem, 1fr));
  gap: .6rem;
}

.catalog-setup-progress {
  display: grid;
  gap: .35rem;
  margin: 1rem 0;
}

.catalog-setup-progress > div:first-child {
  display: flex;
  justify-content: space-between;
  color: var(--app-text-muted);
  font-size: .8rem;
  font-weight: 750;
}

.catalog-setup-progress__track {
  height: .5rem;
  overflow: hidden;
  border-radius: 999px;
  background: var(--app-surface-subtle);
}

.catalog-setup-progress__track > span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #7c3aed, #22c55e);
}

.catalog-offer-gate-summary i {
    color: var(--app-primary);
}

/* ------------------------------------------------------------------ *
 * Shared alert component.
 * Referenced by the order manager and the platform order lookup.
 * ------------------------------------------------------------------ */
.app-alert {
    display: flex;
    gap: .7rem;
    align-items: flex-start;
    margin: 1rem 1.35rem;
    padding: .85rem 1rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--surface-soft);
    color: var(--text);
    font-size: .9rem;
    line-height: 1.5;
}
.app-alert > i { margin-top: .15rem; }
.app-alert--success { border-color: var(--success); color: var(--text); }
.app-alert--success > i { color: var(--success); }
.app-alert--warning { border-color: var(--warning); }
.app-alert--warning > i { color: var(--warning); }
.app-alert--danger { border-color: var(--danger); }
.app-alert--danger > i { color: var(--danger); }

/* ------------------------------------------------------------------ *
 * Platform support desk: cross-account order lookup.
 * ------------------------------------------------------------------ */
.order-lookup-form { display: grid; gap: 1.25rem; }
.order-lookup-form__query > label { display: block; margin-bottom: .4rem; font-weight: 650; }
.order-lookup-form__filters {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}
.order-lookup-form__actions { display: flex; flex-wrap: wrap; gap: .6rem; }

.order-lookup-tips {
    display: grid;
    gap: .85rem;
    margin-top: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
.order-lookup-tips > div {
    padding: .8rem .95rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--surface-soft);
}
.order-lookup-tips strong { display: block; margin-bottom: .2rem; }
.order-lookup-tips span { color: var(--muted); font-size: .85rem; }

/* The routing panel answers "which support team owns this caller?". */
.order-lookup-routing { border-color: var(--brand); }
.order-lookup-studios { display: grid; gap: .85rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.order-lookup-studio {
    display: grid;
    gap: .75rem 1.5rem;
    align-items: center;
    padding: 1rem 1.15rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--surface-soft);
    grid-template-columns: minmax(180px, 1fr) minmax(220px, 1.2fr) auto;
}
.order-lookup-studio__name strong { display: block; }
.order-lookup-studio__name .app-status { margin-top: .3rem; }
.order-lookup-studio__contact { display: grid; gap: .5rem 1.25rem; margin: 0; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.order-lookup-studio__contact dt { margin-bottom: .15rem; color: var(--muted); font-size: .75rem; font-weight: 650; text-transform: uppercase; letter-spacing: .04em; }
.order-lookup-studio__contact dd { margin: 0; overflow-wrap: anywhere; }
.order-lookup-studio__actions { display: flex; flex-wrap: wrap; gap: .5rem; }

/* Why a row matched. Support has to trust a fuzzy hit before acting on it. */
.order-lookup-match {
    display: inline-block;
    padding: .2rem .55rem;
    border: 1px solid currentColor;
    border-radius: 999px;
    font-size: .74rem;
    font-weight: 700;
    white-space: nowrap;
}
.order-lookup-match--strong { color: var(--success); }
.order-lookup-match--likely { color: var(--warning); }
.order-lookup-match--weak { color: var(--muted); }

.order-lookup-columns { display: grid; gap: 1.25rem; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); }
.order-lookup-detail__grid {
    display: grid;
    gap: .9rem 1.5rem;
    margin: 1rem 0 0;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}
.order-lookup-detail__grid dt { margin-bottom: .2rem; color: var(--muted); font-size: .75rem; font-weight: 650; text-transform: uppercase; letter-spacing: .04em; }
.order-lookup-detail__grid dd { margin: 0; overflow-wrap: anywhere; }
.order-lookup-detail__grid-wide { grid-column: 1 / -1; }

@media (max-width: 860px) {
    .order-lookup-studio { grid-template-columns: 1fr; }
    .app-alert { margin: 1rem; }
}

/* Ready-for-pickup counter queue */
.pickup-queue-page .app-page__hero-actions { margin-left: auto; display: flex; gap: .5rem; }
.pickup-search-card { margin-bottom: 1rem; }
.pickup-search-form {
    display: grid;
    grid-template-columns: minmax(260px, 2fr) repeat(2, minmax(150px, 1fr)) auto;
    gap: .8rem;
    align-items: end;
}
.pickup-search-form label { display: block; margin-bottom: .35rem; color: var(--muted); font-size: .75rem; font-weight: 800; }
.pickup-search-form__actions { display: flex; gap: .5rem; }
.pickup-queue__count { margin: 0 0 .75rem; color: var(--muted); font-size: .85rem; font-weight: 700; }
.pickup-queue { display: grid; gap: .75rem; margin: 0; padding: 0; list-style: none; }
.pickup-queue__order { padding: 0; }
.pickup-queue__order > details > summary {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.15rem;
    cursor: pointer;
    flex-wrap: wrap;
}
.pickup-queue__order > details > summary::-webkit-details-marker { display: none; }
.pickup-queue__order > details > summary::before {
    content: "\f054";
    flex: 0 0 auto;
    color: var(--muted);
    font-family: "Font Awesome 5 Free";
    font-size: .75rem;
    font-weight: 900;
    transition: transform .15s ease;
}
.pickup-queue__order > details[open] > summary::before { transform: rotate(90deg); }
.pickup-queue__order > details > summary:hover { background: var(--surface-soft); }
.pickup-queue__order > details > summary:focus-visible { outline: 2px solid var(--brand); outline-offset: -2px; }
.pickup-queue__customer { flex: 1 1 14rem; min-width: 0; }
.pickup-queue__customer strong,
.pickup-queue__customer small,
.pickup-queue__waiting small { display: block; overflow-wrap: anywhere; }
.pickup-queue__customer small,
.pickup-queue__meta small,
.pickup-queue__waiting small { color: var(--muted); font-size: .78rem; }
.pickup-queue__meta { display: flex; align-items: center; flex-wrap: wrap; gap: .4rem; }
.pickup-queue__waiting { margin-left: auto; text-align: right; }
.pickup-queue__waiting small { margin-top: .25rem; }
.pickup-queue__body { padding: 0 1.15rem 1.15rem; border-top: 1px solid var(--border); }
.pickup-items-table__check { width: 2.75rem; text-align: center !important; }
.pickup-items-table__check input { width: 1.05rem; height: 1.05rem; accent-color: var(--brand); }
.pickup-item { display: flex; align-items: center; gap: .6rem; }
.pickup-item__proof { border-radius: var(--radius-sm); object-fit: cover; }
.pickup-queue__actions { display: flex; justify-content: flex-end; gap: .5rem; margin-top: 1rem; }
@media (max-width: 900px) {
    .pickup-search-form { grid-template-columns: 1fr; }
    .pickup-queue__waiting { margin-left: 0; text-align: left; }
    .pickup-queue__actions { flex-direction: column; }
}

/* Reprints, in the pickup queue */
.pickup-reprints { margin-top: 1rem; padding-top: 1rem; border-top: 1px dashed var(--border); }
.pickup-reprints__row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: .6rem 0;
}
.pickup-reprints__row + .pickup-reprints__row { border-top: 1px solid var(--border); }
.pickup-reprints__row strong,
.pickup-reprints__row small { display: block; }
.pickup-reprints__row small { color: var(--muted); font-size: .78rem; }
.pickup-reprints__withdraw { margin: 0; }
.pickup-reprint { margin-top: 1rem; padding-top: 1rem; border-top: 1px dashed var(--border); }
.pickup-reprint > summary { color: var(--muted); cursor: pointer; font-size: .85rem; font-weight: 700; }
.pickup-reprint > summary:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; }
.pickup-reprint__note { margin: .75rem 0; color: var(--muted); font-size: .8rem; }
.pickup-reprint__form {
    display: grid;
    grid-template-columns: minmax(160px, 1fr) minmax(160px, 1fr) minmax(200px, 2fr) auto;
    gap: .75rem;
    align-items: end;
    padding: .85rem 0;
}
.pickup-reprint__form + .pickup-reprint__form { border-top: 1px solid var(--border); }
.pickup-reprint__form label { display: block; margin-bottom: .35rem; color: var(--muted); font-size: .75rem; font-weight: 800; }
.pickup-reprint__item { margin: 0; }
.pickup-reprint__item strong,
.pickup-reprint__item small { display: block; }
.pickup-reprint__item small { color: var(--muted); font-size: .78rem; }
.pickup-reprint__optional { font-weight: 600; text-transform: none; }
@media (max-width: 900px) {
    .pickup-reprint__form { grid-template-columns: 1fr; }
    .pickup-reprints__row { flex-direction: column; }
}

/* Reprints, on the order detail workbench */
.order-item-reprint { padding: 1rem; border-top: 1px solid var(--border); background: var(--surface-soft); }
.order-item-reprint p { margin: .25rem 0; color: var(--muted); }
.order-item-reprint__note,
.order-item-reprint__notes { font-size: .8rem; }
.order-item-reprint__form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) auto;
    align-items: end;
    gap: .75rem;
    margin-top: .75rem;
}
.order-item-reprint__form label { display: grid; gap: .3rem; color: var(--muted); font-size: .72rem; font-weight: 800; }
.order-item-reprint__form input,
.order-item-reprint__form select { width: 100%; min-height: 2.6rem; }
.order-item-reprint--open { border-left: 3px solid var(--warning); }
@media (max-width: 900px) {
    .order-item-reprint__form { grid-template-columns: 1fr; }
}

/* Counter API keys */
.pickup-key-reveal { border-left: 3px solid var(--success); }
.pickup-key-reveal__value {
    margin: .75rem 0 .5rem;
    padding: .75rem 1rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--surface-soft);
    overflow-wrap: anywhere;
}
.pickup-key-reveal__value code { font-size: .95rem; font-weight: 700; }
.pickup-key-reveal__hint { color: var(--muted); font-size: .8rem; }
.pickup-key-form__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.pickup-key-form label { display: block; margin-bottom: .3rem; color: var(--muted); font-size: .72rem; font-weight: 800; }
.pickup-key-form__scopes { margin: 1rem 0 0; padding: 0; border: 0; }
.pickup-key-form__scopes legend {
    margin-bottom: .5rem;
    padding: 0;
    border: 0;
    color: var(--muted);
    font-size: .72rem;
    font-weight: 800;
}
.pickup-key-form__scope { display: flex; align-items: center; gap: .5rem; padding: .2rem 0; }
.pickup-key-form__scope label { margin: 0; color: var(--text); font-size: .9rem; font-weight: 600; }
.pickup-key-form__note { margin-top: 1rem; color: var(--muted); font-size: .8rem; }
.pickup-key-form__actions { margin-top: 1rem; }
.pickup-keys-table th small,
.pickup-keys-table td small { display: block; color: var(--muted); font-size: .75rem; font-weight: 500; }
.pickup-keys-table__scopes { margin: 0; padding-left: 1.1rem; }
.pickup-keys-table__scopes li { font-size: .85rem; }
.pickup-keys-table__actions form { margin: 0; }
.pickup-keys-table__row--revoked th,
.pickup-keys-table__row--revoked td { color: var(--muted); }
.pickup-key-howto { margin: .5rem 0; padding-left: 1.1rem; }
.pickup-key-howto li { margin-bottom: .3rem; }
.pickup-key-howto__note { color: var(--muted); font-size: .8rem; }
.pickup-queue-live {
    display: flex;
    align-items: center;
    gap: .6rem;
    margin-bottom: 1rem;
    padding: .7rem 1rem;
    border: 1px solid var(--warning);
    border-radius: var(--radius-sm);
    background: var(--surface-soft);
    color: var(--text);
}
.pickup-queue-live[hidden] { display: none; }
@media (max-width: 900px) {
    .pickup-key-form__row { grid-template-columns: 1fr; }
}
.catalog-package-controls { display:grid; grid-template-columns:repeat(4,minmax(8rem,1fr)); gap:.65rem; width:100%; margin-top:.75rem; }
.catalog-package-controls > span { display:grid; gap:.25rem; }
.catalog-package-controls small { color:var(--app-text-muted); }
@media (max-width:800px) { .catalog-package-controls { grid-template-columns:1fr 1fr; } }

/* ---------------------------------------------------------------- *
 * Reports · Sales by location
 * Tokens only, so both themes come out of the same rules.
 * ---------------------------------------------------------------- */
.location-report__period { align-items: end; }
.location-report__lifetime { align-self: center; }
.location-report__lifetime small { display: block; font-weight: 500; }
.location-report__toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
}
.location-report__search { min-width: min(100%, 22rem); margin: 0; }
.location-report__table th,
.location-report__table td { vertical-align: top; }
.location-report__numeric { text-align: right; }
.location-report__numeric .app-table__secondary { text-align: right; }
.location-report__sort {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: 0;
    border: 0;
    background: none;
    color: inherit;
    font: inherit;
    letter-spacing: inherit;
    text-transform: inherit;
    cursor: pointer;
}
.location-report__numeric .location-report__sort { flex-direction: row-reverse; }
.location-report__sort i { color: var(--muted); font-size: .75em; }
.location-report__sort:hover i { color: var(--text); }
.location-report__sort:focus-visible { outline: 2px solid var(--brand); outline-offset: 3px; border-radius: var(--radius-sm); }
.location-report__table th[aria-sort="ascending"] .location-report__sort i,
.location-report__table th[aria-sort="descending"] .location-report__sort i { color: var(--brand); }
.location-report__table tfoot th,
.location-report__table tfoot td {
    border-top: 2px solid var(--border);
    color: var(--text);
    font-weight: 800;
}
.location-report__row--unassigned th,
.location-report__row--unassigned td { color: var(--muted); }
.location-report__notes ul { margin: .5rem 0 0; padding-left: 1.1rem; }
.location-report__notes li { margin-bottom: .35rem; }
@media (max-width: 900px) {
    .location-report__toolbar { flex-direction: column; align-items: stretch; }
    .location-report__search { min-width: 100%; }
}

/* ----------------------------------------------------------------
 * Reports · Sales over time (order date / gallery upload date)
 * Tokens only, so both themes come out of the same rules.
 * ---------------------------------------------------------------- */
.cohort-report__controls {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.cohort-report__basis {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    margin: 0;
    padding: 0;
    border: 0;
}
.cohort-report__basis legend {
    width: 100%;
    margin-bottom: .35rem;
    color: var(--muted);
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.cohort-report__choice {
    display: flex;
    flex: 1 1 18rem;
    gap: .6rem;
    align-items: flex-start;
    margin: 0;
    padding: .75rem .9rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    background: var(--surface-2);
    cursor: pointer;
}
.cohort-report__choice:focus-within { outline: 2px solid var(--brand); outline-offset: 2px; }
.cohort-report__choice input { margin-top: .25rem; }
.cohort-report__choice strong { display: block; color: var(--text); }
.cohort-report__choice small { display: block; color: var(--muted); }
.cohort-report__range {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: 1rem;
}
.cohort-report__range .app-field--check { align-self: center; }
.cohort-report__range .app-field--check small { display: block; font-weight: 500; }
.cohort-report__table th,
.cohort-report__table td { vertical-align: top; }
.cohort-report__numeric { text-align: right; }
.cohort-report__numeric .app-table__secondary { text-align: right; }
.cohort-report__sort {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: 0;
    border: 0;
    background: none;
    color: inherit;
    font: inherit;
    letter-spacing: inherit;
    text-transform: inherit;
    cursor: pointer;
}
.cohort-report__numeric .cohort-report__sort { flex-direction: row-reverse; }
.cohort-report__sort i { color: var(--muted); font-size: .75em; }
.cohort-report__sort:hover i { color: var(--text); }
.cohort-report__sort:focus-visible { outline: 2px solid var(--brand); outline-offset: 3px; border-radius: var(--radius-sm); }
.cohort-report__table th[aria-sort="ascending"] .cohort-report__sort i,
.cohort-report__table th[aria-sort="descending"] .cohort-report__sort i { color: var(--brand); }
.cohort-report__table tfoot th,
.cohort-report__table tfoot td {
    border-top: 2px solid var(--border);
    color: var(--text);
    font-weight: 800;
}
.cohort-report__row--unsold th,
.cohort-report__row--unsold td { color: var(--muted); }
.cohort-report__notes ul { margin: .5rem 0 0; padding-left: 1.1rem; }
.cohort-report__notes li { margin-bottom: .35rem; }
@media (max-width: 900px) {
    .cohort-report__choice { flex: 1 1 100%; }
    .cohort-report__range .app-field { flex: 1 1 100%; }
}
