/* Admin-only primary palette (blue) — storefront keeps its own theme. */
:root {
    --color-primary-50: oklch(97% 0.014 254.604);
    --color-primary-100: oklch(93.2% 0.032 255.585);
    --color-primary-200: oklch(88.2% 0.059 254.128);
    --color-primary-300: oklch(80.9% 0.105 251.813);
    --color-primary-400: oklch(70.7% 0.165 254.624);
    --color-primary-500: oklch(62.3% 0.214 259.815);
    --color-primary-600: oklch(54.6% 0.245 262.881);
    --color-primary-700: oklch(48.8% 0.243 264.376);
    --color-primary-800: oklch(42.4% 0.199 265.638);
    --color-primary-900: oklch(37.9% 0.146 265.522);
    --color-primary-950: oklch(28.2% 0.091 267.935);

    /* Admin icon scale — medium by default */
    --admin-icon-md: 1.125rem;
    --admin-icon-sm: 0.875rem;
    --admin-icon-xs: 0.75rem;
    --admin-icon-stroke: 1.5;

    /* Admin shell gutters — same gap on every sidebar page (Smart Analytics reference) */
    --admin-shell-gutter: clamp(1rem, 2vw, 1.5rem);
    --admin-content-gutter: clamp(0.75rem, 1.5vw, 1.5rem);

    /* Settings form — uniform field column on the right */
    --admin-settings-field-width: 32rem;

    /* Subtle section dividers — pagination, hr, table rows */
    --admin-divider-color: rgb(243 244 246);
    --admin-divider-width: 1px;
}

html.dark {
    --admin-divider-color: rgb(31 41 55);
}

/* Store admin sidebar — full Juoto wordmark from design */
aside .flex.h-\[58px\] a img {
    height: 2.75rem;
    width: auto;
}

/* Superadmin — compact SanviShop wordmark */
body[data-superadmin-panel] aside .flex.h-\[58px\] a img {
    height: 1.75rem;
    width: auto;
}

/* Admin app shell — keep sidebar + main aligned without ghost columns */
body > .flex.h-full.w-full {
    height: 100vh;
    min-height: 0;
    overflow: hidden;
}

#admin-sidebar {
    display: flex;
    flex-direction: column;
    flex: 0 0 16rem;
    width: 16rem;
    max-width: 16rem;
    min-height: 0;
    height: 100vh;
    max-height: 100vh;
    overflow: hidden;
}

#admin-sidebar > .flex.flex-1 {
    min-height: 0;
    overflow-x: hidden;
}

#admin-sidebar nav.flex-1 {
    overflow-x: hidden;
}

#admin-sidebar .admin-sidebar-scroll {
    scrollbar-width: thin;
    scrollbar-color: rgb(209 213 219) transparent;
}

.dark #admin-sidebar .admin-sidebar-scroll {
    scrollbar-color: rgb(55 65 81) transparent;
}

#admin-sidebar [data-admin-nav-group-panel]:not(.is-open) {
    display: none;
}

#admin-sidebar [data-admin-nav-group-panel].is-open {
    display: block;
}

#admin-main {
    display: flex;
    flex: 1 1 0%;
    flex-direction: column;
    min-width: 0;
    min-height: 0;
    height: 100vh;
    max-height: 100vh;
    overflow: hidden;
}

#admin-main > section.flex-1 {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-inline: var(--admin-shell-gutter);
}

#admin-main > header {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    box-sizing: border-box;
    height: 3.625rem;
    min-height: 3.625rem;
    max-height: 3.625rem;
    padding-block: 0;
    border-bottom: 1px solid rgb(229 231 235);
}

.dark #admin-main > header {
    border-bottom-color: rgb(31 41 55);
}

#admin-main > header > div {
    width: 100%;
    padding-inline: var(--admin-shell-gutter);
}

#admin-main > header > div > .flex.items-center.justify-between {
    width: 100%;
    align-items: center;
}

#admin-main > section.flex-1 > .mx-auto.max-w-screen-xl {
    width: 100%;
    max-width: min(72rem, 100%);
    margin-inline-start: 0;
    margin-inline-end: auto;
    padding-inline: var(--admin-content-gutter);
}

/* Settings — 4× container gap on both sides */
#admin-main[data-admin-settings='true'] > section.flex-1 {
    padding-inline: calc(var(--admin-shell-gutter) * 4);
}

#admin-main[data-admin-settings='true'] > section.flex-1 > .mx-auto.max-w-screen-xl {
    padding-inline: calc(var(--admin-content-gutter) * 4);
}

/* Wide gutter pages — 4× container gap on both sides */
#admin-main[data-admin-wide-gutter='true'] > section.flex-1 {
    padding-inline: calc(var(--admin-shell-gutter) * 4);
}

#admin-main[data-admin-wide-gutter='true'] > section.flex-1 > .mx-auto.max-w-screen-xl {
    padding-inline: calc(var(--admin-content-gutter) * 4);
}

.admin-overview-metrics {
    min-width: 0;
}

.admin-overview-metric {
    cursor: pointer;
    border: none;
    background: transparent;
    text-align: left;
    border-bottom: 2px solid transparent;
    color: rgb(107 114 128);
}

.admin-overview-metric:hover {
    background: rgb(249 250 251);
}

.dark .admin-overview-metric:hover {
    background: rgb(31 41 55);
}

.admin-overview-metric.is-active {
    border-bottom-color: var(--color-primary-600);
    background: linear-gradient(to bottom, white, rgb(239 246 255));
    color: rgb(17 24 39);
}

.dark .admin-overview-metric.is-active {
    border-bottom-color: var(--color-primary-500);
    background: linear-gradient(to bottom, rgb(17 24 39), rgb(30 58 138 / 0.35));
    color: white;
}

.admin-overview-metric-value {
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.2;
}

.admin-overview-chart-wrap {
    border-radius: 0.75rem;
    border: 1px solid rgb(229 231 235);
    background: linear-gradient(to bottom, rgb(249 250 251), white);
    padding: 0.75rem 1rem 0.5rem;
}

.dark .admin-overview-chart-wrap {
    border-color: rgb(55 65 81);
    background: linear-gradient(to bottom, rgb(31 41 55), rgb(17 24 39));
}

.admin-overview-chart-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.5rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: rgb(107 114 128);
}

.admin-store-info-card .admin-store-info-row + .admin-store-info-row {
    padding-top: 0.25rem;
}

[data-admin-store-info] .admin-store-info-fields {
    min-width: 0;
}

[data-admin-branding-settings] .admin-branding-fields {
    min-width: 0;
}

.admin-branding-card .admin-branding-row + .admin-branding-row {
    padding-top: 0.25rem;
}

#admin-main > section.flex-1 > .mx-auto.max-w-3xl[data-admin-store-info],
#admin-main > section.flex-1 > .mx-auto.max-w-3xl[data-admin-branding-settings],
#admin-main > section.flex-1 > .mx-auto.max-w-3xl[data-admin-theme-settings] {
    max-width: min(48rem, 100%);
}

.admin-branding-logo-uploader {
    min-height: 10rem;
}

.admin-branding-color-swatch[data-admin-branding-preset] {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border: 2px solid rgb(255 255 255);
    border-radius: 9999px;
    background-color: var(--admin-branding-swatch);
    box-shadow: 0 0 0 1px rgb(209 213 219);
    cursor: pointer;
    padding: 0;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.dark .admin-branding-color-swatch[data-admin-branding-preset] {
    border-color: rgb(17 24 39);
    box-shadow: 0 0 0 1px rgb(55 65 81);
}

.admin-branding-color-swatch[data-admin-branding-preset]:hover {
    transform: translateY(-1px);
}

.admin-branding-color-swatch[data-admin-branding-preset].is-selected {
    box-shadow:
        0 0 0 2px rgb(255 255 255),
        0 0 0 4px var(--admin-branding-swatch);
}

.dark .admin-branding-color-swatch[data-admin-branding-preset].is-selected {
    box-shadow:
        0 0 0 2px rgb(17 24 39),
        0 0 0 4px var(--admin-branding-swatch);
}

.admin-branding-color-check {
    display: none;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: rgb(255 255 255);
    filter: drop-shadow(0 1px 1px rgb(0 0 0 / 0.35));
}

.admin-branding-color-swatch.is-light-swatch .admin-branding-color-check {
    color: rgb(17 24 39);
    filter: none;
}

.admin-branding-color-swatch.is-selected .admin-branding-color-check {
    display: inline-flex;
}

.admin-branding-color-check-icon {
    width: 1rem;
    height: 1rem;
}

.admin-branding-color-custom {
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.admin-branding-color-custom.is-selected {
    border-color: rgb(37 99 235);
    box-shadow: 0 0 0 3px rgb(37 99 235 / 0.15);
}

.dark .admin-branding-color-custom.is-selected {
    border-color: rgb(96 165 250);
    box-shadow: 0 0 0 3px rgb(96 165 250 / 0.2);
}

#admin-main > section.flex-1 > .mx-auto.max-w-3xl[data-admin-theme-settings] {
    padding-bottom: 1.5rem;
}

html:has(#admin-main),
body:has(#admin-main) {
    height: 100%;
    overflow: hidden;
}

.admin-theme-option-card.is-selected .admin-theme-preview--product-modal,
.admin-theme-option-card.is-selected .admin-theme-preview--product-page {
    background: rgb(243 244 246);
}

.admin-theme-option-card.is-selected .admin-theme-preview--product-modal .admin-theme-preview__overlay {
    background: rgb(17 24 39 / 0.2);
}

.admin-theme-option-card.is-selected .admin-theme-preview--product-modal .admin-theme-preview__dialog {
    background: rgb(255 255 255);
}

.dark .admin-theme-option-card.is-selected .admin-theme-preview--product-modal,
.dark .admin-theme-option-card.is-selected .admin-theme-preview--product-page {
    background: rgb(243 244 246);
}

.dark .admin-theme-option-card.is-selected .admin-theme-preview--product-modal .admin-theme-preview__dialog {
    background: rgb(255 255 255);
}

.admin-theme-option-card--compact {
    padding: 0.625rem;
}

.admin-theme-option-card--compact .admin-theme-option-title {
    margin-top: 0.5rem;
    font-size: 0.8125rem;
    text-align: center;
}

.admin-theme-preview--product-modal {
    background: rgb(243 244 246);
}

.admin-theme-preview--product-modal .admin-theme-preview__overlay {
    position: absolute;
    inset: 0;
    background: rgb(17 24 39 / 0.25);
}

.admin-theme-preview--product-modal .admin-theme-preview__dialog {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 4.5rem;
    height: 2.75rem;
    transform: translate(-50%, -50%);
    border-radius: 0.5rem;
    background: rgb(255 255 255);
    box-shadow: 0 8px 20px rgb(0 0 0 / 0.12);
}

.admin-theme-preview--product-page .admin-theme-preview__page-bar {
    position: absolute;
    inset: 0.75rem 0.75rem auto;
    height: 0.5rem;
    border-radius: 9999px;
    background: rgb(209 213 219);
}

.admin-theme-preview--product-page .admin-theme-preview__page-body {
    position: absolute;
    top: 1.75rem;
    right: 0.75rem;
    bottom: 0.75rem;
    left: 0.75rem;
    border-radius: 0.5rem;
    background: rgb(219 234 254);
}

.admin-theme-preview--grid-desktop-3,
.admin-theme-preview--grid-desktop-4,
.admin-theme-preview--grid-desktop-6,
.admin-theme-preview--grid-mobile-1,
.admin-theme-preview--grid-mobile-2 {
    height: 3.25rem;
    background:
        linear-gradient(to right, rgb(37 99 235) 0 22%, rgb(219 234 254) 22% 100%) top / 100% 42% no-repeat,
        linear-gradient(to right, rgb(37 99 235) 0 22%, rgb(219 234 254) 22% 100%) center / 100% 42% no-repeat,
        linear-gradient(to right, rgb(37 99 235) 0 22%, rgb(219 234 254) 22% 100%) bottom / 100% 42% no-repeat;
}

.admin-theme-preview--grid-desktop-4 {
    background:
        repeating-linear-gradient(to right, rgb(37 99 235) 0 22%, rgb(219 234 254) 22% 25%) top / 100% 42% no-repeat,
        repeating-linear-gradient(to right, rgb(37 99 235) 0 22%, rgb(219 234 254) 22% 25%) center / 100% 42% no-repeat,
        repeating-linear-gradient(to right, rgb(37 99 235) 0 22%, rgb(219 234 254) 22% 25%) bottom / 100% 42% no-repeat;
}

.admin-theme-preview--grid-desktop-6 {
    background:
        repeating-linear-gradient(to right, rgb(37 99 235) 0 14%, rgb(219 234 254) 14% 16.666%) top / 100% 42% no-repeat,
        repeating-linear-gradient(to right, rgb(37 99 235) 0 14%, rgb(219 234 254) 14% 16.666%) center / 100% 42% no-repeat,
        repeating-linear-gradient(to right, rgb(37 99 235) 0 14%, rgb(219 234 254) 14% 16.666%) bottom / 100% 42% no-repeat;
}

.admin-theme-preview--grid-mobile-2 {
    background:
        repeating-linear-gradient(to right, rgb(37 99 235) 0 46%, rgb(219 234 254) 46% 50%) top / 100% 42% no-repeat,
        repeating-linear-gradient(to right, rgb(37 99 235) 0 46%, rgb(219 234 254) 46% 50%) center / 100% 42% no-repeat,
        repeating-linear-gradient(to right, rgb(37 99 235) 0 46%, rgb(219 234 254) 46% 50%) bottom / 100% 42% no-repeat;
}

.admin-theme-preview--category-carousel {
    height: 3.25rem;
    background:
        repeating-linear-gradient(to right, rgb(37 99 235) 0 28%, rgb(219 234 254) 28% 33.333%) center / 100% 42% no-repeat;
}

.admin-theme-grid-columns {
    background: rgb(255 255 255);
}

.dark .admin-theme-grid-columns {
    background: rgb(17 24 39);
}

.admin-theme-category-layout-list {
    overflow: hidden;
    background: rgb(255 255 255);
}

.admin-theme-category-layout-list.is-scrollable {
    max-height: 18rem;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.dark .admin-theme-category-layout-list {
    background: rgb(17 24 39);
}

.admin-theme-category-layout-row:nth-child(even),
.admin-theme-grid-columns > div:nth-child(even) {
    background: rgb(249 250 251);
}

.dark .admin-theme-category-layout-row:nth-child(even),
.dark .admin-theme-grid-columns > div:nth-child(even) {
    background: rgb(31 41 55 / 0.45);
}

.admin-theme-segment {
    display: inline-flex;
    overflow: hidden;
    border-radius: 0.5rem;
    border: 1px solid rgb(229 231 235);
    background: rgb(243 244 246);
    padding: 0.125rem;
}

.admin-theme-segment input[type='radio'] {
    position: fixed;
    left: -9999px;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.dark .admin-theme-segment {
    border-color: rgb(55 65 81);
    background: rgb(55 65 81 / 0.35);
}

.admin-theme-segment__option {
    display: inline-flex;
    cursor: pointer;
    align-items: center;
    border-radius: 0.375rem;
    padding: 0.25rem 0.625rem;
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1.25rem;
    color: rgb(75 85 99);
    transition: background-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.dark .admin-theme-segment__option {
    color: rgb(209 213 219);
}

.admin-theme-segment__option:has(:checked),
.admin-theme-segment__option.is-selected {
    background: rgb(37 99 235);
    color: rgb(255 255 255);
    font-weight: 600;
    box-shadow: 0 1px 2px rgb(37 99 235 / 0.28);
}

.dark .admin-theme-segment__option:has(:checked),
.dark .admin-theme-segment__option.is-selected {
    background: rgb(59 130 246);
    color: rgb(255 255 255);
    box-shadow: 0 1px 2px rgb(0 0 0 / 0.25);
}

.admin-theme-save-btn {
    display: inline-flex;
    height: 2.25rem;
    align-items: center;
    justify-content: center;
    border-radius: 0.5rem;
    border: 1px solid transparent;
    background: rgb(37 99 235);
    padding-inline: 1rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: rgb(255 255 255);
    box-shadow: 0 1px 2px rgb(0 0 0 / 0.05);
    transition: background-color 0.15s ease, opacity 0.15s ease;
}

.admin-theme-save-btn:hover {
    background: rgb(37 99 235 / 0.9);
}

.admin-theme-save-btn:disabled {
    pointer-events: none;
    opacity: 0.5;
}

.admin-theme-option-card {
    display: block;
    cursor: pointer;
    border-radius: 0.75rem;
    border: 1px solid rgb(229 231 235);
    background: rgb(249 250 251);
    padding: 0.875rem;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

.dark .admin-theme-option-card {
    border-color: rgb(55 65 81);
    background: rgb(17 24 39);
}

.admin-theme-option-card .admin-theme-preview {
    background: rgb(249 250 251);
}

.dark .admin-theme-option-card .admin-theme-preview {
    border-color: rgb(75 85 99);
    background: rgb(249 250 251);
}

.admin-theme-option-card.is-selected {
    border-color: rgb(37 99 235);
    background: rgb(239 246 255);
    box-shadow: 0 0 0 3px rgb(37 99 235 / 0.12);
}

.dark .admin-theme-option-card.is-selected {
    border-color: rgb(96 165 250);
    background: rgb(30 41 59);
    box-shadow: 0 0 0 3px rgb(96 165 250 / 0.18);
}

.dark .admin-theme-option-card.is-selected .admin-theme-preview {
    border-color: rgb(96 165 250);
    background: rgb(255 255 255);
}

.admin-theme-option-card.is-selected .admin-theme-preview__bar {
    background: rgb(229 231 235);
}

.admin-theme-option-card.is-selected .admin-theme-preview__nav {
    background: rgb(156 163 175);
}

.admin-theme-option-title {
    margin-top: 0.75rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: rgb(17 24 39);
}

.dark .admin-theme-option-title {
    color: rgb(255 255 255);
}

.admin-theme-option-copy {
    margin-top: 0.25rem;
    font-size: 0.75rem;
    line-height: 1.4;
    color: rgb(107 114 128);
}

.admin-theme-preview {
    position: relative;
    overflow: hidden;
    height: 5.5rem;
    border-radius: 0.625rem;
    border: 1px solid rgb(229 231 235);
    background: rgb(255 255 255);
}

.dark .admin-theme-preview {
    border-color: rgb(55 65 81);
    background: rgb(31 41 55);
}

.admin-theme-preview__bar {
    position: absolute;
    inset: 0 0 auto;
    height: 0.875rem;
    background: rgb(243 244 246);
}

.dark .admin-theme-preview__bar {
    background: rgb(55 65 81);
}

.admin-theme-preview__logo {
    position: absolute;
    top: 1.375rem;
    left: 0.75rem;
    width: 2.5rem;
    height: 0.75rem;
    border-radius: 9999px;
    background: rgb(37 99 235);
}

.admin-theme-preview__logo--sm {
    top: auto;
    width: 2rem;
    height: 0.625rem;
}

.admin-theme-preview__nav {
    position: absolute;
    border-radius: 9999px;
    background: rgb(209 213 219);
}

.dark .admin-theme-preview__nav {
    background: rgb(75 85 99);
}

.admin-theme-preview__nav--inline {
    top: 1.5rem;
    left: 3.75rem;
    width: 4.5rem;
    height: 0.5rem;
}

.admin-theme-preview__nav--center {
    top: 1.5rem;
    left: 50%;
    width: 5rem;
    height: 0.5rem;
    transform: translateX(-50%);
}

.admin-theme-preview__nav--stack {
    top: 2rem;
    left: 50%;
    width: 4.5rem;
    height: 0.45rem;
    transform: translateX(-50%);
}

.admin-theme-preview__nav--row {
    top: 2.25rem;
    left: 50%;
    width: 5.5rem;
    height: 0.45rem;
    transform: translateX(-50%);
}

.admin-theme-preview__nav--end {
    top: 2.25rem;
    right: 0.75rem;
    width: 4rem;
    height: 0.45rem;
}

.admin-theme-preview__actions {
    position: absolute;
    top: 1.45rem;
    right: 0.75rem;
    width: 1.25rem;
    height: 0.55rem;
    border-radius: 9999px;
    background: rgb(156 163 175);
}

.admin-theme-preview__social {
    position: absolute;
    bottom: 0.75rem;
    left: 50%;
    width: 3rem;
    height: 0.45rem;
    transform: translateX(-50%);
    border-radius: 9999px;
    background: rgb(191 219 254);
}

.admin-theme-preview--footer-option-1 .admin-theme-preview__logo--sm {
    top: 1.25rem;
    left: 50%;
    transform: translateX(-50%);
}

.admin-theme-preview--footer-option-2 .admin-theme-preview__logo--sm {
    top: 2rem;
    left: 0.75rem;
}

.admin-theme-preview--footer-option-3 .admin-theme-preview__logo--sm {
    top: 2rem;
    left: 0.75rem;
}

.admin-theme-preview--footer-option-3 .admin-theme-preview__nav--end {
    top: 2.05rem;
}

.admin-theme-preview__product-image {
    position: absolute;
    top: 0.75rem;
    left: 0.75rem;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 0.5rem;
    background: rgb(191 219 254);
}

.admin-theme-preview__product-image--wide {
    left: 0.75rem;
    right: 0.75rem;
    width: auto;
}

.admin-theme-preview__product-copy {
    position: absolute;
    top: 1rem;
    left: 4rem;
    right: 0.75rem;
    height: 0.45rem;
    border-radius: 9999px;
    background: rgb(209 213 219);
}

.admin-theme-preview__product-copy--full {
    top: 3.75rem;
    left: 0.75rem;
}

.admin-theme-preview__product-copy::after {
    content: '';
    position: absolute;
    top: 0.75rem;
    left: 0;
    right: 25%;
    height: 0.45rem;
    border-radius: 9999px;
    background: rgb(229 231 235);
}

.admin-theme-preview__dots {
    position: absolute;
    bottom: 0.75rem;
    left: 1.25rem;
    width: 2rem;
    height: 0.35rem;
    border-radius: 9999px;
    background: rgb(156 163 175);
}

.admin-theme-preview__thumbs {
    position: absolute;
    bottom: 0.65rem;
    left: 0.75rem;
    width: 4rem;
    height: 0.55rem;
    border-radius: 0.25rem;
    background: linear-gradient(90deg, rgb(37 99 235) 0 22%, rgb(209 213 219) 22% 44%, rgb(209 213 219) 44% 66%, rgb(209 213 219) 66% 100%);
}

.admin-store-score-ring {
    --score: 0;
    --score-color: #2563eb;
    position: relative;
    display: inline-grid;
    place-items: center;
    isolation: isolate;
    width: 3rem;
    height: 3rem;
    flex-shrink: 0;
    cursor: pointer;
    border: 0;
    border-radius: 9999px;
    background: conic-gradient(var(--score-color) calc(var(--score) * 1%), rgb(229 231 235) 0);
    padding: 0;
    font: inherit;
    font-variant-numeric: tabular-nums;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.admin-store-score-ring:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgb(37 99 235 / 0.12);
}

.admin-store-score-ring__disc {
    grid-area: 1 / 1;
    z-index: 0;
    width: calc(100% - 6px);
    height: calc(100% - 6px);
    border-radius: 50%;
    background: white;
    pointer-events: none;
}

.dark .admin-store-score-ring__disc {
    background: rgb(3 7 18);
}

.admin-store-score-ring__value {
    grid-area: 1 / 1;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    max-width: calc(100% - 0.5rem);
    padding-inline: 0.125rem;
    font-size: 0.625rem;
    font-weight: 700;
    line-height: 1;
    color: var(--score-color);
    pointer-events: none;
    font-family: inherit;
    font-variant-numeric: lining-nums tabular-nums;
    white-space: nowrap;
    overflow: visible;
}

.admin-store-score-ring__value::after {
    content: none;
}

#admin-main[data-admin-dashboard='true'] .admin-dashboard-sidebar {
    width: 100%;
    max-width: 20rem;
}

/* Settings / form cards — uniform right-side field column */
#admin-main[data-admin-settings='true'] .rounded-lg.border.bg-white.p-6 .grid.grid-cols-4 {
    grid-template-columns: minmax(0, 1fr) var(--admin-settings-field-width);
    align-items: start;
    column-gap: 1.5rem;
    row-gap: 1.5rem;
}

#admin-main[data-admin-settings='true'] .rounded-lg.border.bg-white.p-6 .grid.grid-cols-4 > div:first-child {
    grid-column: 1;
    padding-top: 0.5rem;
}

#admin-main[data-admin-settings='true'] .rounded-lg.border.bg-white.p-6 .grid.grid-cols-4 > .col-span-3 {
    grid-column: 2;
    width: 100%;
    max-width: var(--admin-settings-field-width);
    justify-self: end;
}

#admin-main[data-admin-settings='true'] .rounded-lg.border.bg-white.p-6 .grid.grid-cols-4 > .col-span-3 input.w-full:not(.admin-dropdown-trigger):not([type='checkbox']):not([type='radio']):not([type='search']),
#admin-main[data-admin-settings='true'] .rounded-lg.border.bg-white.p-6 .grid.grid-cols-4 > .col-span-3 textarea.w-full,
#admin-main[data-admin-settings='true'] .rounded-lg.border.bg-white.p-6 .grid.grid-cols-4 > .col-span-3 select.w-full,
#admin-main[data-admin-settings='true'] .rounded-lg.border.bg-white.p-6 .grid.grid-cols-4 > .col-span-3.flex > input {
    width: 100%;
    max-width: 100%;
    min-height: 2.5rem;
    padding-block: 0.5rem;
    padding-inline: 0.75rem;
}

#admin-main[data-admin-settings='true'] .rounded-lg.border.bg-white.p-6 .grid.grid-cols-4 > .col-span-3 textarea.w-full {
    min-height: 5.5rem;
    padding-block: 0.625rem;
}

#admin-main[data-admin-settings='true'] .rounded-lg.border.bg-white.p-6 .grid.grid-cols-4 > .col-span-3.flex {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

#admin-main[data-admin-settings='true'] .rounded-lg.border.bg-white.p-6 .grid.grid-cols-4 > .col-span-3.flex > input {
    min-width: 0;
    flex: 1 1 auto;
}

#admin-main[data-admin-settings='true'] .rounded-lg.border.bg-white.p-6 .grid.grid-cols-4.items-center > div:first-child {
    padding-top: 0;
}

/* Stacked fields on other settings pages — match the same right column */
#admin-main[data-admin-settings='true'] .rounded-lg.border.bg-white.p-6 > div:has(> label.block + div.mt-1\.5) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) var(--admin-settings-field-width);
    gap: 1.5rem;
    align-items: start;
}

#admin-main[data-admin-settings='true'] .rounded-lg.border.bg-white.p-6 > div:has(> label.block + div.mt-1\.5) > label {
    grid-column: 1;
    padding-top: 0.5rem;
}

#admin-main[data-admin-settings='true'] .rounded-lg.border.bg-white.p-6 > div:has(> label.block + div.mt-1\.5) > div.mt-1\.5 {
    grid-column: 2;
    justify-self: end;
    width: 100%;
    max-width: var(--admin-settings-field-width);
    margin-top: 0;
}

#admin-main[data-admin-settings='true'] .rounded-lg.border.bg-white.p-6 > div:has(> label.block + div.mt-1\.5) input.w-full,
#admin-main[data-admin-settings='true'] .rounded-lg.border.bg-white.p-6 > div:has(> label.block + div.mt-1\.5) textarea.w-full,
#admin-main[data-admin-settings='true'] .rounded-lg.border.bg-white.p-6 > div:has(> label.block + div.mt-1\.5) select.w-full {
    width: 100%;
    max-width: 100%;
    min-height: 2.5rem;
    padding-block: 0.5rem;
    padding-inline: 0.75rem;
}

@media (max-width: 768px) {
    #admin-main[data-admin-settings='true'] .rounded-lg.border.bg-white.p-6 .grid.grid-cols-4,
    #admin-main[data-admin-settings='true'] .rounded-lg.border.bg-white.p-6 > div:has(> label.block + div.mt-1\.5) {
        grid-template-columns: 1fr;
    }

    #admin-main[data-admin-settings='true'] .rounded-lg.border.bg-white.p-6 .grid.grid-cols-4 > .col-span-3,
    #admin-main[data-admin-settings='true'] .rounded-lg.border.bg-white.p-6 > div:has(> label.block + div.mt-1\.5) > div.mt-1\.5 {
        grid-column: 1;
        justify-self: stretch;
        max-width: 100%;
    }
}

/* SEO search preview — Google-style listing card */
.admin-seo-preview {
    width: 100%;
    max-width: var(--admin-settings-field-width);
    border-radius: 0.875rem;
    border: 1px solid rgb(229 231 235);
    background: linear-gradient(180deg, rgb(255 255 255) 0%, rgb(249 250 251) 100%);
    padding: 1rem 1.125rem;
    box-shadow:
        0 1px 2px rgb(15 23 42 / 0.04),
        0 8px 24px rgb(15 23 42 / 0.06);
}

.dark .admin-seo-preview {
    border-color: rgb(55 65 81);
    background: linear-gradient(180deg, rgb(17 24 39) 0%, rgb(31 41 55) 100%);
    box-shadow:
        0 1px 2px rgb(0 0 0 / 0.2),
        0 8px 24px rgb(0 0 0 / 0.25);
}

.admin-seo-preview-header {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    margin-bottom: 0.625rem;
}

.admin-seo-preview-favicon {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    overflow: hidden;
    border-radius: 9999px;
    background: rgb(239 246 255);
    color: var(--color-primary-700);
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1;
}

.admin-seo-preview-favicon.has-image {
    background: transparent;
}

.admin-seo-preview-favicon__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dark .admin-seo-preview-favicon {
    background: rgb(30 58 138 / 0.35);
    color: var(--color-primary-300);
}

.dark .admin-seo-preview-favicon.has-image {
    background: transparent;
}

.admin-seo-preview-site {
    min-width: 0;
    font-size: 0.75rem;
    line-height: 1.25rem;
    color: rgb(32 33 36);
}

.dark .admin-seo-preview-site {
    color: rgb(227 227 227);
}

.admin-seo-preview-site-name {
    font-weight: 500;
}

.admin-seo-preview-breadcrumb {
    color: rgb(95 99 104);
}

.dark .admin-seo-preview-breadcrumb {
    color: rgb(154 160 166);
}

.admin-seo-preview-title {
    margin: 0;
    font-size: 1.125rem;
    line-height: 1.35;
    font-weight: 400;
    color: rgb(26 13 171);
    word-break: break-word;
}

.dark .admin-seo-preview-title {
    color: rgb(138 180 248);
}

.admin-seo-preview-title.is-placeholder {
    color: rgb(95 99 104);
}

.dark .admin-seo-preview-title.is-placeholder {
    color: rgb(154 160 166);
}

.admin-seo-preview-url {
    margin: 0.25rem 0 0;
    font-size: 0.8125rem;
    line-height: 1.25rem;
    color: rgb(0 102 33);
    word-break: break-all;
}

.dark .admin-seo-preview-url {
    color: rgb(129 201 149);
}

.admin-seo-preview-desc {
    margin: 0.375rem 0 0;
    font-size: 0.875rem;
    line-height: 1.45;
    color: rgb(77 81 86);
    word-break: break-word;
}

.dark .admin-seo-preview-desc {
    color: rgb(189 193 198);
}

.admin-seo-preview-desc.is-placeholder {
    color: rgb(112 117 122);
}

.dark .admin-seo-preview-desc.is-placeholder {
    color: rgb(138 143 148);
}

.admin-seo-counter.is-near {
    color: rgb(217 119 6);
}

.admin-seo-counter.is-over {
    color: rgb(220 38 38);
}

.dark .admin-seo-counter.is-near {
    color: rgb(251 191 36);
}

.dark .admin-seo-counter.is-over {
    color: rgb(248 113 113);
}

/* Payment settings — row actions */
.admin-domain-row.is-disabled .flex-1 > p:first-child {
    color: rgb(107 114 128);
}

.dark .admin-domain-row.is-disabled .flex-1 > p:first-child {
    color: rgb(156 163 175);
}

.admin-payment-row-actions {
    min-width: 11.5rem;
    justify-content: flex-end;
}

.admin-integration-item {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.admin-integration-panel {
    margin-left: calc(3rem + 1.25rem);
    max-width: 36rem;
}

.admin-integration-panel.is-disabled {
    opacity: 0.55;
}

.admin-payment-row.is-inactive .flex-1 > p:first-child {
    color: rgb(107 114 128);
}

.dark .admin-payment-row.is-inactive .flex-1 > p:first-child {
    color: rgb(156 163 175);
}

@media (max-width: 768px) {
    .admin-integration-panel {
        margin-left: 0;
        max-width: none;
    }
}

@media (max-width: 768px) {
    .admin-payment-row {
        flex-direction: column;
        gap: 1rem;
    }

    .admin-payment-row-actions {
        width: 100%;
        min-width: 0;
        justify-content: space-between;
    }
}

/* Sidebar icons — keep design SVG sizing and active blue state */
aside nav a > svg.size-5,
aside nav .space-y-2 a > svg.size-5 {
    flex-shrink: 0;
    width: var(--admin-icon-md);
    height: var(--admin-icon-md);
}

aside nav > a.text-primary-600,
aside nav > a.text-primary-600 > svg.size-5,
aside nav .space-y-2 a[class*='text-primary-600'] {
    color: var(--color-primary-600);
}

.dark aside nav > a[class*='text-primary-400'],
.dark aside nav > a[class*='text-primary-400'] > svg.size-5,
.dark aside nav .space-y-2 a[class*='text-primary-400'] {
    color: var(--color-primary-400);
}

aside nav > a > svg.size-4 {
    flex-shrink: 0;
    width: var(--admin-icon-sm);
    height: var(--admin-icon-sm);
    opacity: 0.75;
    transition: opacity 0.2s ease;
}

aside nav > a:hover > svg.size-4 {
    opacity: 1;
}

/* Sidebar submenu accordion */
aside nav .admin-nav-submenu:not(.is-open) {
    pointer-events: none;
}

aside nav .admin-nav-submenu {
    display: grid;
    grid-template-rows: 0fr;
    opacity: 0;
    overflow: hidden;
    transition:
        grid-template-rows 0.28s cubic-bezier(0.4, 0, 0.2, 1),
        opacity 0.22s ease;
}

aside nav .admin-nav-submenu.is-open {
    grid-template-rows: 1fr;
    opacity: 1;
}

aside nav .admin-nav-submenu-inner {
    min-height: 0;
    overflow: hidden;
}

aside nav .admin-nav-submenu.is-open .admin-nav-submenu-inner > a {
    animation: admin-nav-submenu-item 0.24s ease backwards;
}

aside nav .admin-nav-submenu.is-open .admin-nav-submenu-inner > a:nth-child(2) {
    animation-delay: 0.03s;
}

aside nav .admin-nav-submenu.is-open .admin-nav-submenu-inner > a:nth-child(3) {
    animation-delay: 0.06s;
}

aside nav .admin-nav-submenu.is-open .admin-nav-submenu-inner > a:nth-child(4) {
    animation-delay: 0.09s;
}

aside nav .admin-nav-submenu.is-open .admin-nav-submenu-inner > a:nth-child(5) {
    animation-delay: 0.12s;
}

aside nav .admin-nav-submenu.is-no-animate,
aside nav .admin-nav-submenu.is-no-animate.is-open {
    transition: none;
}

aside nav .admin-nav-submenu.is-no-animate.is-open .admin-nav-submenu-inner > a {
    animation: none;
}

@keyframes admin-nav-submenu-item {
    from {
        opacity: 0;
        transform: translateY(-4px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

aside nav a[data-admin-nav-toggle='true'] > svg:last-of-type line {
    transition: transform 0.22s ease, opacity 0.22s ease;
    transform-origin: center;
}

aside nav a[data-admin-nav-toggle='true'][aria-expanded='true'] > svg:last-of-type line:first-of-type {
    opacity: 0;
    transform: scaleY(0);
}

@media (prefers-reduced-motion: reduce) {
    aside nav .admin-nav-submenu,
    aside nav .admin-nav-submenu.is-open,
    aside nav a[data-admin-nav-toggle='true'] > svg:last-of-type line,
    aside nav .admin-nav-submenu.is-open .admin-nav-submenu-inner > a {
        animation: none;
        transition: none;
    }
}

/* Admin icon system — consistent medium size + stroke */
[data-admin-theme='blue'] svg.size-5,
[data-admin-theme='blue'] svg.size-6,
[data-admin-theme='blue'] svg.size-7,
[data-admin-theme='blue'] svg.size-8 {
    width: var(--admin-icon-md);
    height: var(--admin-icon-md);
    flex-shrink: 0;
}

[data-admin-theme='blue'] svg.size-4 {
    width: var(--admin-icon-sm);
    height: var(--admin-icon-sm);
    flex-shrink: 0;
}

[data-admin-theme='blue'] svg.size-3 {
    width: var(--admin-icon-xs);
    height: var(--admin-icon-xs);
    flex-shrink: 0;
}

[data-admin-theme='blue'] svg {
    display: inline-block;
    vertical-align: middle;
    flex-shrink: 0;
}

[data-admin-theme='blue'] svg[data-icon-type='filled'] :is(path, circle, rect) {
    stroke: none;
}

[data-admin-theme='blue'] svg:not([data-icon-type='filled']) :is(path, line, polyline, circle, rect)[stroke]:not([stroke='none']) {
    stroke-width: var(--admin-icon-stroke);
}

[data-admin-theme='blue'] main button:not(.admin-action-btn):not(.admin-dropdown-trigger) > svg:only-child:not([class*='size-']),
[data-admin-theme='blue'] main a:not(.admin-action-btn) > svg:only-child:not([class*='size-']) {
    width: var(--admin-icon-md);
    height: var(--admin-icon-md);
    flex-shrink: 0;
}

[data-admin-theme='blue'] button.size-4 > svg,
[data-admin-theme='blue'] .btn-close-spin > svg {
    width: var(--admin-icon-sm);
    height: var(--admin-icon-sm);
}

/* Minor hover polish */
aside nav > a,
aside nav .space-y-2 a {
    align-items: center;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

main tbody tr {
    transition: background-color 0.2s ease;
}

main button.rounded-lg.p-2:not(:disabled),
main a.rounded-lg.p-2 {
    transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

/* Close icon — same minor spin hover as storefront */
.btn-close-spin {
    transition: transform 0.25s ease, background-color 0.2s ease, color 0.2s ease;
}

.btn-close-spin:hover {
    transform: rotate(90deg);
}

.btn-close-spin:active {
    transform: rotate(180deg);
}

/* Tooltip */
.admin-tooltip {
    position: fixed;
    z-index: 9999;
    max-width: 14rem;
    pointer-events: none;
    border-radius: 0.5rem;
    border: 1px solid rgb(229 231 235);
    background: rgb(17 24 39);
    padding: 0.375rem 0.625rem;
    font-size: 0.75rem;
    line-height: 1rem;
    font-weight: 500;
    color: white;
    box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    opacity: 0;
    transform: translateY(4px);
    transition: opacity 0.15s ease, transform 0.15s ease;
}

.admin-tooltip.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Floating overlays — escape overflow-hidden card/table shells */
.admin-floating-layer {
    position: fixed;
    inset: 0;
    z-index: 9997;
    pointer-events: none;
}

.admin-floating-layer > *,
.admin-dropdown-panel.is-floating,
.admin-search-dropdown.is-floating {
    pointer-events: auto;
}

.admin-dropdown-panel.is-floating,
.admin-search-dropdown.is-floating {
    position: fixed;
    z-index: 9998;
    margin-top: 0;
    right: auto;
    transition: opacity 0.18s ease, transform 0.18s ease;
}

.admin-dropdown-panel.is-floating:not(.is-open),
.admin-search-dropdown.is-floating:not(.is-open) {
    opacity: 0;
    pointer-events: none;
}

.admin-dropdown-panel.is-floating[data-placement='top']:not(.is-open) {
    transform: translateY(4px) scale(0.98);
    transform-origin: bottom;
}

.admin-dropdown-panel.is-floating[data-placement='bottom']:not(.is-open),
.admin-dropdown-panel.is-floating:not([data-placement]):not(.is-open) {
    transform: translateY(-4px) scale(0.98);
    transform-origin: top;
}

.admin-dropdown-panel.is-floating.is-open[data-placement='top'] {
    transform: translateY(0) scale(1);
    transform-origin: bottom;
}

.admin-dropdown-panel.is-floating.is-open[data-placement='bottom'],
.admin-dropdown-panel.is-floating.is-open:not([data-placement]) {
    transform: translateY(0) scale(1);
}

.admin-dropdown-panel.is-floating.is-open {
    opacity: 1;
    pointer-events: auto;
}

@media (prefers-reduced-motion: reduce) {
    .admin-dropdown-panel,
    .admin-dropdown-panel.is-floating,
    .admin-search-dropdown.is-floating,
    .admin-datepicker-panel.is-floating {
        transition: none;
    }
}

.admin-dropdown-panel.is-floating:not(.admin-notifications-panel),
.admin-search-dropdown.is-floating {
    width: max-content;
    min-width: 12rem;
    max-width: min(20rem, calc(100vw - 16px));
}

.admin-dropdown-panel.is-floating[data-placement='top'] {
    transform-origin: bottom;
}

.admin-dropdown-panel.is-floating[data-placement='bottom'] {
    transform-origin: top;
}

/* Custom dropdown shell */
.admin-dropdown {
    position: relative;
}

.admin-dropdown-trigger.is-field {
    display: inline-flex;
    width: 100%;
    cursor: pointer;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    border-radius: 0.5rem;
    border: 1px solid rgb(229 231 235);
    background: white;
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 500;
    color: rgb(3 7 18);
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.admin-dropdown-trigger.is-field:hover {
    border-color: rgb(209 213 219);
    background: rgb(249 250 251);
}

.admin-dropdown-trigger.is-field[aria-expanded='true'] {
    border-color: var(--color-primary-500);
    box-shadow: 0 0 0 3px color-mix(in oklab, var(--color-primary-500) 18%, transparent);
}

.admin-dropdown-trigger.is-field svg {
    width: var(--admin-icon-sm);
    height: var(--admin-icon-sm);
    flex-shrink: 0;
    color: rgb(107 114 128);
}

.admin-dropdown-chevron {
    transition: transform 0.2s ease;
}

.admin-dropdown-trigger[aria-expanded='true'] .admin-dropdown-chevron {
    transform: rotate(180deg);
}

.admin-dropdown-panel {
    position: absolute;
    z-index: 50;
    margin-top: 0.375rem;
    min-width: 100%;
    overflow: hidden;
    border-radius: 0.75rem;
    border: 1px solid rgb(229 231 235);
    background: white;
    padding: 0.375rem;
    box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.08), 0 4px 6px -4px rgb(0 0 0 / 0.08);
    opacity: 0;
    pointer-events: none;
    transform: translateY(-4px) scale(0.98);
    transform-origin: top;
    transition: opacity 0.18s ease, transform 0.18s ease;
}

.admin-dropdown-panel[hidden] {
    display: none;
}

[data-admin-order-smtp-panel][hidden],
[data-admin-order-smtp-panel].hidden {
    display: none !important;
}

[data-admin-order-settings]:not(:has([data-admin-order-toggle="smtp-enabled"]:checked)) [data-admin-order-smtp-panel] {
    display: none !important;
}

.admin-dropdown-panel.is-open {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0) scale(1);
}

.admin-dropdown-panel.align-right {
    right: 0;
    left: auto;
    min-width: 12rem;
    transform-origin: top right;
}

[data-admin-profile-shell] .admin-account-menu {
    z-index: 60;
}

[data-admin-profile-shell] .admin-dropdown-item {
    justify-content: flex-start;
}

[data-admin-profile-shell] .admin-dropdown-item svg {
    display: none;
}

.admin-dropdown-item {
    display: flex;
    width: 100%;
    cursor: pointer;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    border-radius: 0.5rem;
    border: none;
    background: transparent;
    padding: 0.5rem 0.625rem;
    text-align: left;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 500;
    color: rgb(55 65 81);
    transition: background-color 0.15s ease, color 0.15s ease;
}

.admin-dropdown-item:hover {
    background: rgb(249 250 251);
    color: rgb(3 7 18);
}

.admin-dropdown-item.is-selected {
    background: var(--color-primary-50);
    color: var(--color-primary-700);
}

.admin-dropdown-item svg {
    width: var(--admin-icon-sm);
    height: var(--admin-icon-sm);
    flex-shrink: 0;
    color: var(--color-primary-600);
    opacity: 0;
}

.admin-dropdown-item.is-selected svg {
    opacity: 1;
}

.admin-dropdown-divider {
    margin: 0.25rem 0;
    border: none;
    border-top: var(--admin-divider-width) solid var(--admin-divider-color);
}

.admin-native-select {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.dark .admin-dropdown-trigger.is-field {
    border-color: rgb(55 65 81);
    background: rgb(17 24 39);
    color: white;
}

.dark .admin-dropdown-trigger.is-field:hover {
    border-color: rgb(75 85 99);
    background: rgb(31 41 55);
}

.dark .admin-dropdown-panel {
    border-color: rgb(55 65 81);
    background: rgb(17 24 39);
}

.dark .admin-dropdown-item {
    color: rgb(209 213 219);
}

.dark .admin-dropdown-item:hover {
    background: rgb(31 41 55);
    color: white;
}

.dark .admin-dropdown-item.is-selected {
    background: color-mix(in oklab, var(--color-primary-600) 16%, rgb(17 24 39));
    color: var(--color-primary-300);
}

.dark .admin-tooltip {
    border-color: rgb(55 65 81);
    background: rgb(243 244 246);
    color: rgb(17 24 39);
}

#admin-modal-root {
    z-index: 10001;
}

#admin-modal-root > div {
    animation: admin-modal-in 0.2s ease;
}

@keyframes admin-modal-in {
    from {
        opacity: 0;
        transform: scale(0.98);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* Pagination */
.admin-pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem 0.75rem;
    margin-top: 0;
    padding: 0.5rem 1rem;
    border-top: var(--admin-divider-width) solid var(--admin-divider-color);
    background: rgb(255 255 255);
}

.admin-pagination--panel {
    border-top: none;
    background: transparent;
}

.admin-pagination--card {
    border-bottom-left-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem;
}

.admin-pagination--table {
    border-top: var(--admin-divider-width) solid var(--admin-divider-color);
    border-bottom-left-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem;
}

.admin-pagination-summary {
    margin: 0;
    font-size: 0.8125rem;
    line-height: 1.125rem;
    font-weight: 400;
    color: rgb(107 114 128);
}

.admin-pagination-controls {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.375rem;
}

.admin-pagination-pages {
    display: inline-flex;
    align-items: center;
    gap: 0.125rem;
}

.admin-pagination-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    min-height: 1.75rem;
    cursor: pointer;
    border: 1px solid rgb(229 231 235);
    border-radius: 0.375rem;
    background: white;
    padding: 0.25rem 0.5rem;
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1;
    color: rgb(55 65 81);
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.admin-pagination-btn-page {
    min-width: 1.75rem;
    padding-inline: 0.375rem;
    border-color: transparent;
    background: transparent;
}

.admin-pagination-btn-nav {
    min-width: 1.75rem;
    padding-inline: 0.375rem;
}

.admin-pagination-btn-nav .admin-pagination-icon {
    width: 0.875rem;
    height: 0.875rem;
    flex-shrink: 0;
}

.admin-pagination-btn:hover:not(:disabled) {
    border-color: rgb(209 213 219);
    background: rgb(249 250 251);
    color: rgb(3 7 18);
}

.admin-pagination-btn-page:hover:not(:disabled) {
    border-color: rgb(229 231 235);
    background: rgb(249 250 251);
}

.admin-pagination-btn.is-active {
    border-color: var(--color-primary-500);
    background: color-mix(in oklab, var(--color-primary-500) 8%, white);
    color: var(--color-primary-700);
}

.admin-pagination-btn:disabled {
    cursor: not-allowed;
    opacity: 0.4;
}

.admin-pagination-ellipsis {
    display: inline-flex;
    min-width: 1.5rem;
    align-items: center;
    justify-content: center;
    padding-inline: 0.125rem;
    font-size: 0.8125rem;
    font-weight: 500;
    color: rgb(156 163 175);
    user-select: none;
}

/* Search ajax dropdown */
.admin-search-dropdown {
    position: absolute;
    z-index: 40;
    top: calc(100% + 0.375rem);
    left: 0;
    right: 0;
    overflow: hidden;
    border: 1px solid rgb(229 231 235);
    border-radius: 0.75rem;
    background: white;
    padding: 0.375rem;
    box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.08), 0 4px 6px -4px rgb(0 0 0 / 0.08);
}

.admin-search-item {
    display: flex;
    width: 100%;
    cursor: pointer;
    flex-direction: column;
    gap: 0.125rem;
    border: none;
    border-radius: 0.5rem;
    background: transparent;
    padding: 0.5rem 0.625rem;
    text-align: left;
    transition: background-color 0.15s ease;
}

.admin-search-item:hover {
    background: rgb(249 250 251);
}

.admin-search-item-title {
    font-size: 0.875rem;
    font-weight: 500;
    color: rgb(3 7 18);
}

.admin-search-item-meta {
    font-size: 0.75rem;
    color: rgb(107 114 128);
}

.admin-search-loading,
.admin-search-empty {
    padding: 0.625rem 0.75rem;
    font-size: 0.875rem;
    color: rgb(107 114 128);
}

/* Sequence reorder */
.admin-sequence-actions {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.admin-storefront-sections {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.admin-storefront-section-row {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    border-radius: 0.5rem;
    border: 1px solid rgb(229 231 235);
    padding: 0.75rem;
    background: rgb(255 255 255);
    box-shadow: 0 1px 2px rgb(0 0 0 / 0.05);
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

.dark .admin-storefront-section-row {
    border-color: rgb(55 65 81);
    background: rgb(17 24 39);
}

.admin-storefront-section-row--fixed {
    background: rgb(249 250 251);
    border-style: dashed;
}

.dark .admin-storefront-section-row--fixed {
    background: rgb(31 41 55 / 0.45);
}

.admin-storefront-section-row--draggable:hover {
    background: rgb(249 250 251);
}

.dark .admin-storefront-section-row--draggable:hover {
    background: rgb(31 41 55 / 0.65);
}

.admin-storefront-section-lead {
    display: inline-flex;
    width: 1.25rem;
    shrink: 0;
    align-items: center;
    justify-content: center;
}

.admin-storefront-section-badge {
    margin-left: 0.375rem;
    font-size: 0.75rem;
    font-weight: 400;
    color: rgb(107 114 128);
}

.dark .admin-storefront-section-badge {
    color: rgb(156 163 175);
}

.admin-storefront-section-actions {
    display: inline-flex;
    width: 8.75rem;
    shrink: 0;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
}

.admin-storefront-fixed-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
    background: rgb(243 244 246);
    padding: 0.25rem 0.625rem;
    font-size: 0.75rem;
    font-weight: 500;
    color: rgb(107 114 128);
}

.dark .admin-storefront-fixed-badge {
    background: rgb(55 65 81 / 0.55);
    color: rgb(209 213 219);
}

.admin-storefront-sections-divider {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.375rem 0.25rem;
    color: rgb(107 114 128);
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.admin-storefront-sections-divider::before,
.admin-storefront-sections-divider::after {
    content: '';
    height: 1px;
    flex: 1;
    background: rgb(229 231 235);
}

.dark .admin-storefront-sections-divider {
    color: rgb(156 163 175);
}

.dark .admin-storefront-sections-divider::before,
.dark .admin-storefront-sections-divider::after {
    background: rgb(55 65 81);
}

.admin-storefront-sections-divider span {
    shrink: 0;
}

.admin-storefront-section-row.is-dragging {
    opacity: 0.65;
    transform: scale(0.99);
}

.admin-storefront-sections .admin-sequence-actions {
    margin-left: 0;
}

.admin-sequence-btn {
    display: inline-flex;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    border: 1px solid rgb(229 231 235);
    border-radius: 0.375rem;
    background: white;
    padding: 0.25rem;
    color: rgb(107 114 128);
    transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.admin-sequence-btn:hover {
    border-color: rgb(209 213 219);
    background: rgb(249 250 251);
    color: rgb(3 7 18);
}

.admin-sequence-btn svg {
    width: 1rem;
    height: 1rem;
}

.cursor-move.is-dragging {
    opacity: 0.65;
    transform: scale(0.98);
}

.admin-field-invalid {
    outline-color: rgb(220 38 38) !important;
}

.dark .admin-pagination-btn {
    border-color: rgb(55 65 81);
    background: rgb(17 24 39);
    color: rgb(209 213 219);
}

.dark .admin-pagination {
    border-top-color: var(--admin-divider-color);
    background: rgb(17 24 39);
}

.dark .admin-pagination--panel {
    background: transparent;
}

.dark .admin-pagination-pages {
    border-color: transparent;
    background: transparent;
}

.dark .admin-pagination-btn-page {
    border-color: transparent;
    background: transparent;
}

.dark .admin-pagination-btn-page:hover:not(:disabled) {
    border-color: rgb(75 85 99);
    background: rgb(17 24 39);
}

.dark .admin-pagination-btn.is-active {
    border-color: var(--color-primary-500);
    background: rgb(17 24 39);
    color: var(--color-primary-300);
    box-shadow: 0 0 0 1px color-mix(in oklab, var(--color-primary-500) 35%, transparent);
}

.dark .admin-search-dropdown {
    border-color: rgb(55 65 81);
    background: rgb(17 24 39);
}

.dark .admin-search-item:hover {
    background: rgb(31 41 55);
}

.dark .admin-search-item-title {
    color: white;
}

.dark .admin-sequence-btn {
    border-color: rgb(55 65 81);
    background: rgb(17 24 39);
    color: rgb(156 163 175);
}

/* Toggle switch — reliable pill + sliding knob (admin blue theme) */
html[data-admin-theme='blue'] .admin-toggle {
    position: relative;
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    width: 2.25rem;
    height: 1.25rem;
    overflow: hidden;
    border-radius: 9999px;
    border: 0;
    background: rgb(229 231 235);
    padding: 0.125rem;
    cursor: pointer;
    vertical-align: middle;
    box-shadow: inset 0 0 0 1px rgb(17 24 39 / 0.05);
    transition: background-color 0.2s ease;
    outline: none;
}

html[data-admin-theme='blue'] .admin-toggle.is-checked {
    background: var(--color-primary-600);
}

html[data-admin-theme='blue'] .admin-toggle-knob {
    display: block;
    width: 1rem;
    height: 1rem;
    flex-shrink: 0;
    border-radius: 9999px;
    background: white;
    box-shadow:
        0 1px 2px rgb(0 0 0 / 0.12),
        0 0 0 1px rgb(17 24 39 / 0.05);
    transform: translateX(0);
    transition: transform 0.2s ease;
}

html[data-admin-theme='blue'] .admin-toggle.is-checked .admin-toggle-knob {
    transform: translateX(1rem);
}

html[data-admin-theme='blue'] .admin-toggle input[type='checkbox'] {
    position: absolute;
    inset: 0;
    z-index: 1;
    margin: 0;
    cursor: pointer;
    opacity: 0;
}

html[data-admin-theme='blue'] .admin-toggle:focus-within {
    outline: 2px solid var(--color-primary-600);
    outline-offset: 2px;
}

.dark html[data-admin-theme='blue'] .admin-toggle {
    background: rgb(55 65 81);
    box-shadow: inset 0 0 0 1px rgb(255 255 255 / 0.06);
}

.dark html[data-admin-theme='blue'] .admin-toggle.is-checked {
    background: var(--color-primary-700);
}

@media (prefers-reduced-motion: reduce) {
    html[data-admin-theme='blue'] .admin-toggle,
    html[data-admin-theme='blue'] .admin-toggle-knob {
        transition: none;
    }
}

/* Edit / Delete action icons — consistent icon + size across admin */
html[data-admin-theme='blue'] .admin-action-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 2rem !important;
    height: 2rem !important;
    min-width: 2rem;
    min-height: 2rem;
    padding: 0 !important;
    border: none !important;
    border-radius: 0.5rem;
    background: transparent !important;
    box-shadow: none !important;
    cursor: pointer;
    vertical-align: middle;
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease;
}

html[data-admin-theme='blue'] .admin-action-btn .admin-action-icon {
    width: var(--admin-icon-md);
    height: var(--admin-icon-md);
    flex-shrink: 0;
    pointer-events: none;
}

html[data-admin-theme='blue'] .admin-action-edit {
    color: rgb(107 114 128);
}

html[data-admin-theme='blue'] .admin-action-edit:hover {
    background: rgb(243 244 246) !important;
    color: rgb(3 7 18);
}

html[data-admin-theme='blue'] .admin-action-delete {
    color: rgb(239 68 68);
}

html[data-admin-theme='blue'] .admin-action-delete:hover {
    background: rgb(254 226 226) !important;
    color: rgb(220 38 38);
}

html[data-admin-theme='blue'] .admin-action-view {
    color: rgb(107 114 128);
}

html[data-admin-theme='blue'] .admin-action-view:hover {
    background: rgb(243 244 246) !important;
    color: rgb(3 7 18);
}

.dark html[data-admin-theme='blue'] .admin-action-edit {
    color: rgb(156 163 175);
}

.dark html[data-admin-theme='blue'] .admin-action-edit:hover {
    background: rgb(31 41 55) !important;
    color: white;
}

.dark html[data-admin-theme='blue'] .admin-action-delete {
    color: rgb(248 113 113);
}

.dark html[data-admin-theme='blue'] .admin-action-delete:hover {
    background: rgb(127 29 29) !important;
    color: rgb(254 202 202);
}

.dark html[data-admin-theme='blue'] .admin-action-view {
    color: rgb(156 163 175);
}

.dark html[data-admin-theme='blue'] .admin-action-view:hover {
    background: rgb(31 41 55) !important;
    color: white;
}

/* Filter pill tabs (Orders, Products, etc.) */
html[data-admin-theme='blue'] nav[data-admin-pill-tabs='true'] {
    max-width: 100%;
    overflow-x: auto;
    flex-wrap: nowrap;
    scrollbar-width: thin;
}

html[data-admin-theme='blue'] nav[data-admin-pill-tabs='true'] a[role='tab'] {
    flex-shrink: 0;
    white-space: nowrap;
}

html[data-admin-theme='blue'] nav[data-admin-pill-tabs='true']::-webkit-scrollbar {
    height: 6px;
}

html[data-admin-theme='blue'] nav[data-admin-pill-tabs='true']::-webkit-scrollbar-thumb {
    border-radius: 9999px;
    background: rgb(209 213 219);
}

/* Toast notifications */
.admin-toast-stack {
    position: fixed;
    top: 1rem;
    right: 1rem;
    z-index: 10000;
    display: flex;
    width: min(22rem, calc(100vw - 2rem));
    flex-direction: column;
    gap: 0.75rem;
    pointer-events: none;
}

.admin-toast {
    pointer-events: auto;
    overflow: hidden;
    border-radius: 0.875rem;
    border: 1px solid rgb(229 231 235);
    background: white;
    box-shadow:
        0 20px 25px -5px rgb(0 0 0 / 0.08),
        0 8px 10px -6px rgb(0 0 0 / 0.08);
    opacity: 0;
    transform: translateX(calc(100% + 1.5rem)) scale(0.96);
    transition:
        transform 0.42s cubic-bezier(0.22, 1, 0.36, 1),
        opacity 0.32s ease;
}

.admin-toast.is-visible {
    opacity: 1;
    transform: translateX(0) scale(1);
}

.admin-toast.is-leaving {
    opacity: 0;
    transform: translateX(calc(100% + 1.5rem)) scale(0.98);
    transition:
        transform 0.28s cubic-bezier(0.4, 0, 1, 1),
        opacity 0.22s ease;
}

.admin-toast-body {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.875rem 0.875rem 0.875rem 1rem;
}

.admin-toast-icon-wrap {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 9999px;
}

.admin-toast-icon {
    width: 1rem;
    height: 1rem;
}

.admin-toast-message {
    flex: 1;
    margin: 0.125rem 0 0;
    font-size: 0.875rem;
    line-height: 1.35rem;
    font-weight: 500;
    color: rgb(17 24 39);
}

.admin-toast-close {
    display: inline-flex;
    flex-shrink: 0;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 0.5rem;
    background: transparent;
    padding: 0.25rem;
    color: rgb(156 163 175);
    transition: background-color 0.15s ease, color 0.15s ease;
}

.admin-toast-close:hover {
    background: rgb(243 244 246);
    color: rgb(75 85 99);
}

.admin-toast-close svg {
    width: 0.875rem;
    height: 0.875rem;
}

.admin-toast-progress {
    display: block;
    height: 3px;
    width: 100%;
    transform-origin: left center;
    background: currentColor;
    opacity: 0.35;
    animation: admin-toast-progress 3.2s linear forwards;
}

.admin-toast--success {
    color: rgb(22 163 74);
    border-color: rgb(187 247 208);
}

.admin-toast--success .admin-toast-icon-wrap {
    background: rgb(220 252 231);
    color: rgb(22 163 74);
}

.admin-toast--update {
    color: rgb(22 163 74);
    border-color: rgb(187 247 208);
}

.admin-toast--update .admin-toast-icon-wrap {
    background: rgb(220 252 231);
    color: rgb(22 163 74);
}

.admin-toast--delete {
    color: rgb(220 38 38);
}

.admin-toast--delete .admin-toast-icon-wrap {
    background: rgb(254 242 242);
    color: rgb(220 38 38);
}

.admin-toast--error {
    color: rgb(220 38 38);
    border-color: rgb(254 202 202);
}

.admin-toast--error .admin-toast-icon-wrap {
    background: rgb(254 242 242);
    color: rgb(220 38 38);
}

.admin-toast--error .admin-toast-message {
    color: rgb(185 28 28);
}

@keyframes admin-toast-progress {
    from {
        transform: scaleX(1);
    }

    to {
        transform: scaleX(0);
    }
}

.dark .admin-toast {
    border-color: rgb(55 65 81);
    background: rgb(17 24 39);
}

.dark .admin-toast-message {
    color: rgb(243 244 246);
}

.dark .admin-toast-close {
    color: rgb(156 163 175);
}

.dark .admin-toast-close:hover {
    background: rgb(31 41 55);
    color: rgb(229 231 235);
}

.dark .admin-toast--success .admin-toast-icon-wrap,
.dark .admin-toast--update .admin-toast-icon-wrap {
    background: rgb(6 78 59 / 0.35);
    color: rgb(74 222 128);
}

.dark .admin-toast--delete .admin-toast-icon-wrap {
    background: rgb(69 10 10);
    color: rgb(248 113 113);
}

.dark .admin-toast--error {
    border-color: rgb(127 29 29);
}

.dark .admin-toast--error .admin-toast-icon-wrap {
    background: rgb(69 10 10);
    color: rgb(248 113 113);
}

.dark .admin-toast--error .admin-toast-message {
    color: rgb(254 202 202);
}

.admin-onboarding-spinner {
    animation: admin-onboarding-spin 0.9s linear infinite;
}

@keyframes admin-onboarding-spin {
    to {
        transform: rotate(360deg);
    }
}

/* Notifications panel */
.admin-notifications-panel {
    width: min(22rem, calc(100vw - 2rem));
    padding: 0;
    overflow: hidden;
}

.admin-notifications-header,
.admin-notifications-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.875rem 1rem;
}

.admin-notifications-header {
    border-bottom: var(--admin-divider-width) solid var(--admin-divider-color);
}

.admin-notifications-footer {
    border-top: var(--admin-divider-width) solid var(--admin-divider-color);
    justify-content: center;
}

.dark .admin-notifications-header,
.dark .admin-notifications-footer {
    border-color: var(--admin-divider-color);
}

.admin-notifications-list {
    max-height: 18rem;
    overflow-y: auto;
}

.admin-notification-item {
    display: flex;
    width: 100%;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.875rem 1rem;
    text-align: left;
    transition: background-color 0.2s ease;
}

.admin-notification-item:hover {
    background: rgb(249 250 251);
}

.dark .admin-notification-item:hover {
    background: rgb(31 41 55);
}

.admin-notification-item + .admin-notification-item {
    border-top: var(--admin-divider-width) solid var(--admin-divider-color);
}

.dark .admin-notification-item + .admin-notification-item {
    border-top-color: var(--admin-divider-color);
}

.admin-notification-dot {
    margin-top: 0.375rem;
    size: 0.5rem;
    width: 0.5rem;
    height: 0.5rem;
    flex-shrink: 0;
    border-radius: 9999px;
    background: transparent;
}

.admin-notification-item.is-unread .admin-notification-dot {
    background: var(--color-primary-600);
}

.admin-notification-item.is-unread {
    background: color-mix(in oklab, var(--color-primary-600) 6%, white);
}

.dark .admin-notification-item.is-unread {
    background: color-mix(in oklab, var(--color-primary-500) 12%, rgb(17 24 39));
}

/* Help Center FAQ accordion */
.admin-help-faq.is-open .admin-help-faq-icon {
    transform: rotate(180deg);
}

.admin-help-faq-icon {
    transition: transform 0.2s ease;
}

.admin-help-faq-trigger {
    cursor: pointer;
}

html[data-admin-theme='blue'] nav[data-admin-help-topics='true'] {
    max-width: 100%;
    overflow-x: auto;
    scrollbar-width: thin;
}

/* Admin language switcher */
.admin-lang-switcher {
    position: relative;
}

.admin-lang-switcher .admin-lang-menu {
    position: absolute;
    top: calc(100% + 0.375rem);
    right: 0;
    z-index: 60;
    min-width: 12rem;
    opacity: 1;
    pointer-events: auto;
    transform: none;
}

.admin-lang-switcher .admin-lang-menu[hidden] {
    display: none;
}

.admin-lang-switcher .admin-dropdown-item.is-selected,
.admin-lang-switcher .admin-dropdown-item[data-admin-lang-option].is-selected {
    background: var(--color-primary-50);
    color: var(--color-primary-700);
}

/* Admin date pickers */
.admin-date-field {
    position: relative;
}

.admin-date-input {
    cursor: pointer;
}

.admin-date-icon {
    pointer-events: none;
}

.admin-date-trigger {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 2.75rem;
    z-index: 1;
    cursor: pointer;
    border: 0;
    background: transparent;
}

.admin-date-trigger:focus-visible {
    outline: 2px solid var(--color-primary-500);
    outline-offset: 2px;
    border-radius: 0.5rem;
}

.admin-datepicker-panel {
    position: absolute;
    top: calc(100% + 0.375rem);
    left: 0;
    z-index: 50;
    width: min(100%, 18.5rem);
    overflow: hidden;
    border-radius: 0.875rem;
    border: 1px solid rgb(229 231 235);
    background: white;
    padding: 0.875rem;
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.12);
    opacity: 0;
    pointer-events: none;
    transform: translateY(-4px) scale(0.98);
    transition: opacity 0.15s ease, transform 0.15s ease;
}

.admin-datepicker-panel.is-open {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0) scale(1);
}

.admin-datepicker-panel[hidden] {
    display: none;
}

.admin-datepicker-panel.is-floating {
    position: fixed;
    z-index: 9998;
    margin-top: 0;
    width: 18.5rem;
    min-width: 18.5rem;
    max-width: min(18.5rem, calc(100vw - 16px));
    transition: opacity 0.18s ease, transform 0.18s ease;
}

.admin-datepicker-panel.is-floating:not(.is-open) {
    opacity: 0;
    pointer-events: none;
    transform: translateY(-4px) scale(0.98);
}

.admin-datepicker-panel.is-floating[data-placement='top']:not(.is-open) {
    transform: translateY(4px) scale(0.98);
    transform-origin: bottom;
}

.admin-datepicker-panel.is-floating.is-open {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0) scale(1);
}

.dark .admin-datepicker-panel {
    border-color: rgb(55 65 81);
    background: rgb(17 24 39);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35);
}

.admin-datepicker-presets {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
    margin-bottom: 0.75rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid rgb(243 244 246);
}

.dark .admin-datepicker-presets {
    border-bottom-color: rgb(31 41 55);
}

.admin-datepicker-preset {
    cursor: pointer;
    border-radius: 9999px;
    border: 1px solid rgb(229 231 235);
    background: rgb(249 250 251);
    padding: 0.25rem 0.625rem;
    font-size: 0.75rem;
    font-weight: 500;
    color: rgb(55 65 81);
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.admin-datepicker-preset:hover {
    border-color: rgb(209 213 219);
    background: white;
    color: rgb(17 24 39);
}

.dark .admin-datepicker-preset {
    border-color: rgb(55 65 81);
    background: rgb(31 41 55);
    color: rgb(209 213 219);
}

.dark .admin-datepicker-preset:hover {
    background: rgb(55 65 81);
    color: white;
}

.admin-datepicker-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.admin-datepicker-month {
    font-size: 0.875rem;
    font-weight: 600;
    color: rgb(17 24 39);
}

.dark .admin-datepicker-month {
    color: white;
}

.admin-datepicker-nav {
    display: inline-flex;
    width: 2rem;
    height: 2rem;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 0.5rem;
    background: transparent;
    color: rgb(75 85 99);
    transition: background-color 0.15s ease, color 0.15s ease;
}

.admin-datepicker-nav:hover {
    background: rgb(243 244 246);
    color: rgb(17 24 39);
}

.admin-datepicker-nav svg {
    width: 1rem;
    height: 1rem;
}

.dark .admin-datepicker-nav:hover {
    background: rgb(31 41 55);
    color: white;
}

.admin-datepicker-weekdays {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 0.25rem;
    margin-bottom: 0.375rem;
    text-align: center;
    font-size: 0.6875rem;
    font-weight: 500;
    color: rgb(156 163 175);
}

.admin-datepicker-week {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 0.25rem;
}

.admin-datepicker-day {
    display: inline-flex;
    height: 2rem;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 9999px;
    background: transparent;
    font-size: 0.8125rem;
    font-weight: 500;
    color: rgb(17 24 39);
    transition: background-color 0.15s ease, color 0.15s ease;
}

.admin-datepicker-day:hover:not(:disabled) {
    background: var(--color-primary-50);
}

.admin-datepicker-day.is-muted {
    color: rgb(209 213 219);
}

.admin-datepicker-day.is-disabled {
    cursor: not-allowed;
    color: rgb(209 213 219);
}

.admin-datepicker-day.is-in-range {
    border-radius: 0.375rem;
    background: color-mix(in oklab, var(--color-primary-500) 12%, white);
}

.admin-datepicker-day.is-selected {
    background: var(--color-primary-600);
    color: white;
}

.admin-datepicker-day.is-selected:hover {
    background: var(--color-primary-700);
}

.dark .admin-datepicker-day {
    color: white;
}

.dark .admin-datepicker-day.is-muted,
.dark .admin-datepicker-day.is-disabled {
    color: rgb(75 85 99);
}

.dark .admin-datepicker-day.is-in-range {
    background: color-mix(in oklab, var(--color-primary-500) 18%, rgb(17 24 39));
}

.admin-datepicker-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: var(--admin-divider-width) solid var(--admin-divider-color);
}

.dark .admin-datepicker-footer {
    border-top-color: var(--admin-divider-color);
}

/* Admin content — lighter section dividers */
#admin-main hr,
#admin-modal-root hr {
    border-color: var(--admin-divider-color);
    border-top-width: var(--admin-divider-width);
}

#admin-main [class*='divide-y'] > :not([hidden]) ~ :not([hidden]),
#admin-modal-root [class*='divide-y'] > :not([hidden]) ~ :not([hidden]) {
    border-top-width: var(--admin-divider-width);
    border-color: var(--admin-divider-color) !important;
}

#admin-main .border-t.border-gray-200,
#admin-main .border-b.border-gray-200,
#admin-modal-root .border-t.border-gray-200,
#admin-modal-root .border-b.border-gray-200 {
    border-color: var(--admin-divider-color) !important;
}

.admin-datepicker-clear,
.admin-datepicker-apply {
    cursor: pointer;
    border: 0;
    background: transparent;
    font-size: 0.875rem;
    font-weight: 500;
}

.admin-datepicker-clear {
    color: rgb(107 114 128);
}

.admin-datepicker-clear:hover {
    color: rgb(17 24 39);
}

.admin-datepicker-apply {
    color: var(--color-primary-600);
}

.admin-datepicker-apply:hover {
    color: var(--color-primary-700);
}

.dark .admin-datepicker-clear {
    color: rgb(156 163 175);
}

.dark .admin-datepicker-clear:hover {
    color: white;
}

.dark .admin-datepicker-apply {
    color: var(--color-primary-400);
}

.dark .admin-datepicker-apply:hover {
    color: var(--color-primary-300);
}

/* Admin time pickers */
.admin-time-field {
    position: relative;
}

.admin-time-input {
    cursor: pointer;
}

.admin-time-icon {
    pointer-events: none;
}

.admin-time-trigger {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 2.75rem;
    z-index: 1;
    cursor: pointer;
    border: 0;
    background: transparent;
}

.admin-time-trigger:focus-visible {
    outline: 2px solid var(--color-primary-500);
    outline-offset: 2px;
    border-radius: 0.5rem;
}

.admin-timepicker-panel {
    position: absolute;
    top: calc(100% + 0.375rem);
    left: 0;
    z-index: 50;
    width: min(100%, 15rem);
    overflow: hidden;
    border-radius: 0.75rem;
    border: 1px solid rgb(229 231 235);
    background: white;
    padding: 0.625rem;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.12);
}

.admin-timepicker-panel.is-open {
    display: block;
}

.admin-timepicker-panel[hidden] {
    display: none;
}

.admin-timepicker-panel.is-floating {
    position: fixed;
    top: auto;
    left: auto;
    width: min(15rem, calc(100vw - 1.5rem));
}

.admin-timepicker-panel.is-floating:not(.is-open) {
    opacity: 0;
    pointer-events: none;
}

.admin-timepicker-panel.is-floating[data-placement='top']:not(.is-open) {
    transform: translateY(0.375rem);
}

.admin-timepicker-panel.is-floating.is-open {
    opacity: 1;
    pointer-events: auto;
}

.dark .admin-timepicker-panel {
    border-color: rgb(55 65 81);
    background: rgb(17 24 39);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.35);
}

.admin-timepicker-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}

.admin-timepicker-preview {
    margin: 0;
    min-width: 0;
    flex: 1 1 auto;
    text-align: left;
    font-size: 0.9375rem;
    font-weight: 600;
    color: rgb(17 24 39);
}

.dark .admin-timepicker-preview {
    color: white;
}

.admin-timepicker-columns {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 0.5rem;
}

.admin-timepicker-section + .admin-timepicker-section {
    margin-top: 0;
}

.admin-timepicker-label {
    margin: 0 0 0.25rem;
    font-size: 0.6875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: rgb(107 114 128);
}

.dark .admin-timepicker-label {
    color: rgb(156 163 175);
}

.admin-timepicker-grid,
.admin-timepicker-grid-minutes {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.25rem;
}

.admin-timepicker-option {
    cursor: pointer;
    border: 0;
    border-radius: 9999px;
    background: rgb(249 250 251);
    min-height: 1.75rem;
    padding: 0;
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1;
    color: rgb(55 65 81);
    transition: background-color 0.15s ease, color 0.15s ease;
}

.admin-timepicker-option:hover {
    background: rgb(243 244 246);
}

.admin-timepicker-option.is-selected {
    background: var(--color-primary-600);
    color: white;
}

.dark .admin-timepicker-option {
    background: rgb(31 41 55);
    color: rgb(229 231 235);
}

.dark .admin-timepicker-option:hover {
    background: rgb(55 65 81);
}

.dark .admin-timepicker-option.is-selected {
    background: var(--color-primary-600);
    color: white;
}

.admin-timepicker-period {
    display: inline-flex;
    flex: 0 0 auto;
    gap: 0.25rem;
    margin-top: 0;
}

.admin-timepicker-period-btn {
    cursor: pointer;
    border: 1px solid rgb(229 231 235);
    border-radius: 9999px;
    background: white;
    padding: 0.25rem 0.625rem;
    font-size: 0.6875rem;
    font-weight: 600;
    line-height: 1.2;
    color: rgb(55 65 81);
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.admin-timepicker-period-btn:hover {
    border-color: rgb(209 213 219);
    background: rgb(249 250 251);
}

.admin-timepicker-period-btn.is-selected {
    border-color: var(--color-primary-600);
    background: var(--color-primary-50);
    color: var(--color-primary-700);
}

.dark .admin-timepicker-period-btn {
    border-color: rgb(55 65 81);
    background: rgb(17 24 39);
    color: rgb(229 231 235);
}

.dark .admin-timepicker-period-btn.is-selected {
    border-color: var(--color-primary-500);
    background: rgb(31 41 55);
    color: var(--color-primary-300);
}

.admin-timepicker-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-top: 0.5rem;
    padding-top: 0.5rem;
    border-top: 1px solid rgb(229 231 235);
}

.dark .admin-timepicker-footer {
    border-top-color: rgb(55 65 81);
}

.admin-timepicker-clear,
.admin-timepicker-apply {
    cursor: pointer;
    border: 0;
    background: transparent;
    font-size: 0.8125rem;
    font-weight: 600;
}

.admin-timepicker-clear {
    color: rgb(107 114 128);
}

.admin-timepicker-clear:hover {
    color: rgb(55 65 81);
}

.admin-timepicker-apply {
    color: var(--color-primary-600);
}

.admin-timepicker-apply:hover {
    color: var(--color-primary-700);
}

.admin-opening-hours-time-input {
    min-width: 7.5rem;
    text-overflow: clip;
}

.dark .admin-timepicker-clear {
    color: rgb(156 163 175);
}

.dark .admin-timepicker-clear:hover {
    color: rgb(229 231 235);
}

.dark .admin-timepicker-apply {
    color: var(--color-primary-400);
}

.dark .admin-timepicker-apply:hover {
    color: var(--color-primary-300);
}

/* Smart Analytics */
.admin-analytics-chip,
.admin-analytics-metric,
.admin-analytics-compare,
.admin-analytics-reset {
    cursor: pointer;
    border-radius: 9999px;
    border: 1px solid rgb(229 231 235);
    background: white;
    padding: 0.375rem 0.75rem;
    font-size: 0.8125rem;
    font-weight: 500;
    color: rgb(55 65 81);
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.admin-analytics-chip.is-active,
.admin-analytics-metric.is-active {
    border-color: var(--color-primary-500);
    background: var(--color-primary-50);
    color: var(--color-primary-700);
}

.admin-analytics-compare.is-active {
    border-color: color-mix(in oklab, var(--color-primary-500) 35%, white);
    background: color-mix(in oklab, var(--color-primary-500) 8%, white);
    color: var(--color-primary-700);
}

.admin-analytics-reset {
    border-style: dashed;
    color: rgb(107 114 128);
}

.dark .admin-analytics-chip,
.dark .admin-analytics-metric,
.dark .admin-analytics-compare,
.dark .admin-analytics-reset {
    border-color: rgb(55 65 81);
    background: rgb(17 24 39);
    color: rgb(209 213 219);
}

.dark .admin-analytics-chip.is-active,
.dark .admin-analytics-metric.is-active,
.dark .admin-analytics-compare.is-active {
    border-color: var(--color-primary-500);
    background: color-mix(in oklab, var(--color-primary-500) 16%, rgb(17 24 39));
    color: var(--color-primary-300);
}

.admin-analytics-kpi {
    border-radius: 0.875rem;
    border: 1px solid rgb(229 231 235);
    background: white;
    padding: 1rem 1.125rem;
    box-shadow: var(--shadow-xs);
}

.dark .admin-analytics-kpi {
    border-color: rgb(55 65 81);
    background: rgb(17 24 39);
}

.admin-analytics-kpi-label {
    font-size: 0.8125rem;
    font-weight: 500;
    color: rgb(107 114 128);
}

.admin-analytics-kpi-value {
    margin-top: 0.375rem;
    font-size: 1.5rem;
    font-weight: 600;
    color: rgb(17 24 39);
}

.dark .admin-analytics-kpi-value {
    color: white;
}

.admin-analytics-delta {
    margin-top: 0.375rem;
    font-size: 0.75rem;
    font-weight: 600;
}

.admin-analytics-delta.is-up {
    color: rgb(22 163 74);
}

.admin-analytics-delta.is-down {
    color: rgb(220 38 38);
}

.admin-analytics-delta.is-flat {
    color: rgb(107 114 128);
}

.admin-analytics-chart {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 0.5rem;
    align-items: end;
    min-height: 14rem;
    padding-top: 0.5rem;
}

.admin-analytics-chart.is-empty {
    display: block;
    min-height: auto;
    padding-top: 0;
}

.admin-analytics-bar {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.375rem;
    min-width: 0;
}

.admin-analytics-bar-track {
    display: flex;
    width: 100%;
    height: 11rem;
    align-items: flex-end;
    justify-content: center;
}

.admin-analytics-bar-fill {
    width: 100%;
    max-width: 2rem;
    border-radius: 0.5rem 0.5rem 0.125rem 0.125rem;
    background: linear-gradient(180deg, var(--color-primary-400), var(--color-primary-600));
}

.admin-analytics-bar-label {
    font-size: 0.6875rem;
    color: rgb(156 163 175);
}

.admin-analytics-breakdown-row + .admin-analytics-breakdown-row {
    margin-top: 0.875rem;
}

.admin-analytics-breakdown-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.375rem;
    font-size: 0.8125rem;
    color: rgb(55 65 81);
}

.dark .admin-analytics-breakdown-head {
    color: rgb(209 213 219);
}

.admin-analytics-breakdown-track {
    height: 0.5rem;
    overflow: hidden;
    border-radius: 9999px;
    background: rgb(243 244 246);
}

.dark .admin-analytics-breakdown-track {
    background: rgb(31 41 55);
}

.admin-analytics-breakdown-fill {
    height: 100%;
    border-radius: 9999px;
    background: var(--color-primary-500);
}

.admin-analytics-breakdown-fill.is-green {
    background: rgb(34 197 94);
}

.admin-analytics-breakdown-fill.is-blue {
    background: rgb(59 130 246);
}

.admin-analytics-breakdown-fill.is-amber {
    background: rgb(245 158 11);
}

.admin-analytics-breakdown-fill.is-red {
    background: rgb(239 68 68);
}

/* Page-level alerts — info, success, warning, danger */
.admin-alerts {
    margin-bottom: 0.25rem;
}

.admin-alert {
    display: flex;
    align-items: center;
    gap: 0.875rem;
    padding: 0.875rem 1rem;
    border-radius: 0.75rem;
    border: 1px solid transparent;
    transition: opacity 0.18s ease, transform 0.18s ease;
}

.admin-alert--dismissing {
    opacity: 0;
    transform: translateY(-4px);
}

.admin-alert__icon {
    flex-shrink: 0;
    margin-top: 0.125rem;
}

.admin-alert__icon svg {
    width: 1.125rem;
    height: 1.125rem;
}

.admin-alert__body {
    flex: 1;
    min-width: 0;
}

.admin-alert__title {
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.35;
}

.admin-alert__message {
    margin-top: 0.125rem;
    font-size: 0.8125rem;
    line-height: 1.45;
}

.admin-alert__aside {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 0.375rem;
    margin-left: auto;
}

.admin-alert__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.375rem 0.75rem;
    border-radius: 0.5rem;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.25;
    text-decoration: none;
    white-space: nowrap;
    transition: background-color 0.15s ease, opacity 0.15s ease;
}

.admin-alert__dismiss {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    margin: 0;
    border: none;
    border-radius: 0.5rem;
    background: transparent;
    cursor: pointer;
    opacity: 0.75;
    transition: opacity 0.15s ease, background-color 0.15s ease;
}

.admin-alert__dismiss:hover {
    opacity: 1;
}

.admin-alert__dismiss svg {
    width: 1rem;
    height: 1rem;
}

.admin-alert--info {
    border-color: rgb(191 219 254);
    background: rgb(239 246 255);
    color: rgb(29 78 216);
}

.admin-alert--info .admin-alert__action {
    background: rgb(219 234 254);
}

.admin-alert--info .admin-alert__action:hover {
    background: rgb(191 219 254);
}

.admin-alert--info .admin-alert__message {
    color: rgb(37 99 235);
}

.admin-alert--info .admin-alert__dismiss:hover {
    background: rgb(219 234 254);
}

.dark .admin-alert--info {
    border-color: rgb(30 58 138);
    background: rgb(23 37 84);
    color: rgb(147 197 253);
}

.dark .admin-alert--info .admin-alert__message {
    color: rgb(96 165 250);
}

.dark .admin-alert--info .admin-alert__action {
    background: rgb(30 58 138);
}

.dark .admin-alert--info .admin-alert__action:hover {
    background: rgb(29 78 216);
}

.dark .admin-alert--info .admin-alert__dismiss:hover {
    background: rgb(30 58 138);
}

.admin-alert--success {
    border-color: rgb(187 247 208);
    background: rgb(240 253 244);
    color: rgb(21 128 61);
}

.admin-alert--success .admin-alert__action {
    background: rgb(220 252 231);
}

.admin-alert--success .admin-alert__action:hover {
    background: rgb(187 247 208);
}

.admin-alert--success .admin-alert__message {
    color: rgb(22 163 74);
}

.admin-alert--success .admin-alert__dismiss:hover {
    background: rgb(220 252 231);
}

.dark .admin-alert--success {
    border-color: rgb(20 83 45);
    background: rgb(5 46 22);
    color: rgb(134 239 172);
}

.dark .admin-alert--success .admin-alert__message {
    color: rgb(74 222 128);
}

.dark .admin-alert--success .admin-alert__action {
    background: rgb(20 83 45);
}

.dark .admin-alert--success .admin-alert__action:hover {
    background: rgb(22 101 52);
}

.dark .admin-alert--success .admin-alert__dismiss:hover {
    background: rgb(20 83 45);
}

.admin-alert--warning {
    border-color: rgb(253 230 138);
    background: rgb(254 252 232);
    color: rgb(161 98 7);
}

.admin-alert--warning .admin-alert__action {
    background: rgb(254 240 138);
}

.admin-alert--warning .admin-alert__action:hover {
    background: rgb(253 224 71);
}

.admin-alert--warning .admin-alert__message {
    color: rgb(180 83 9);
}

.admin-alert--warning .admin-alert__dismiss:hover {
    background: rgb(254 243 199);
}

.dark .admin-alert--warning {
    border-color: rgb(133 77 14);
    background: rgb(66 32 6);
    color: rgb(253 224 71);
}

.dark .admin-alert--warning .admin-alert__message {
    color: rgb(250 204 21);
}

.dark .admin-alert--warning .admin-alert__action {
    background: rgb(113 63 18);
}

.dark .admin-alert--warning .admin-alert__action:hover {
    background: rgb(133 77 14);
}

.dark .admin-alert--warning .admin-alert__dismiss:hover {
    background: rgb(113 63 18);
}

.admin-alert--danger {
    border-color: rgb(254 202 202);
    background: rgb(254 242 242);
    color: rgb(185 28 28);
}

.admin-alert--danger .admin-alert__action {
    background: rgb(254 226 226);
}

.admin-alert--danger .admin-alert__action:hover {
    background: rgb(254 202 202);
}

.admin-alert--danger .admin-alert__message {
    color: rgb(220 38 38);
}

.admin-alert--danger .admin-alert__dismiss:hover {
    background: rgb(254 226 226);
}

.dark .admin-alert--danger {
    border-color: rgb(127 29 29);
    background: rgb(69 10 10);
    color: rgb(252 165 165);
}

.dark .admin-alert--danger .admin-alert__message {
    color: rgb(248 113 113);
}

.dark .admin-alert--danger .admin-alert__action {
    background: rgb(127 29 29);
}

.dark .admin-alert--danger .admin-alert__action:hover {
    background: rgb(153 27 27);
}

.dark .admin-alert--danger .admin-alert__dismiss:hover {
    background: rgb(127 29 29);
}

body.admin-shipping-guide-open {
    overflow: hidden;
}

.admin-shipping-guide-backdrop {
    position: fixed;
    inset: 0;
    z-index: 10002;
    background: rgb(15 23 42 / 0.4);
}

.admin-shipping-guide-drawer {
    position: fixed;
    inset: 0 0 0 auto;
    z-index: 10003;
    display: flex;
    width: min(100%, 28rem);
    flex-direction: column;
    border-left: 1px solid rgb(229 231 235);
    background: white;
    box-shadow: -12px 0 40px rgb(15 23 42 / 0.12);
    transform: translateX(100%);
    transition: transform 0.25s ease;
}

.dark .admin-shipping-guide-drawer {
    border-left-color: rgb(31 41 55);
    background: rgb(3 7 18);
}

.admin-shipping-guide-drawer.is-open {
    transform: translateX(0);
}

/* Image uploader */
.admin-image-preview,
.admin-image-uploading,
.admin-image-trigger {
    aspect-ratio: 1 / 1;
    min-height: 6.5rem;
}

.admin-image-preview__img,
.admin-image-uploading__placeholder {
    min-height: 6.5rem;
}

.admin-image-uploader--dragover {
    outline: 2px dashed rgb(84 105 212 / 0.65);
    outline-offset: 2px;
    background: rgb(239 246 255 / 0.65) !important;
}

.dark .admin-image-uploader--dragover {
    background: rgb(30 41 59 / 0.65) !important;
}

.admin-image-dropzone--filled {
    min-height: 10rem;
}

.admin-image-compact--filled {
    padding: 0;
    overflow: hidden;
}

[data-admin-general-favicon-row] [data-admin-image-uploader='compact'] {
    min-height: 4rem;
    min-width: 4rem;
}

[data-admin-general-favicon-row] [data-admin-image-uploader='compact'] .group {
    border-radius: 0.75rem;
}

.admin-image-banner-preview,
.admin-image-banner-uploading,
.admin-image-banner-trigger {
    width: 100%;
}

.admin-hero-banner-frame {
    aspect-ratio: 21 / 9;
    width: 100%;
    max-height: 14rem;
}

@media (min-width: 640px) {
    .admin-hero-banner-frame {
        max-height: 18rem;
    }
}

@media (min-width: 1024px) {
    .admin-hero-banner-frame {
        max-height: 24rem;
    }
}

.admin-image-banner-preview__img,
.admin-image-banner-uploading__placeholder {
    min-height: 0;
}

@media (max-width: 768px) {
    .admin-image-dropzone {
        padding-inline: 1rem;
    }
}

.admin-form-actions {
    position: sticky;
    bottom: 0;
    z-index: 20;
    margin-top: auto;
    box-shadow: 0 -8px 24px rgb(17 24 39 / 0.06);
}

.dark .admin-form-actions {
    box-shadow: 0 -8px 24px rgb(0 0 0 / 0.28);
}

/* Create / edit product page */
[data-admin-product-page] {
    background: linear-gradient(180deg, rgb(249 250 251 / 0.65) 0%, rgb(255 255 255 / 0) 12rem);
}

.dark [data-admin-product-page] {
    background: linear-gradient(180deg, rgb(3 7 18 / 0.55) 0%, rgb(3 7 18 / 0) 12rem);
}

[data-admin-product-page] .admin-product-card {
    transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

[data-admin-product-page] .admin-product-card-header {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

[data-admin-product-page] .admin-product-card-header > p:first-child {
    line-height: 1.35;
}

[data-admin-product-page] .admin-product-card-header > p:last-child:not(:only-child) {
    line-height: 1.4;
}

@keyframes admin-product-variant-enter {
    from {
        opacity: 0;
        transform: translateY(-0.5rem) scale(0.98);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

[data-admin-product-page] .admin-product-variant-card--enter {
    animation: admin-product-variant-enter 0.28s cubic-bezier(0.22, 1, 0.36, 1) both;
}

[data-admin-product-page] .admin-product-type-toggle {
    gap: 0.25rem;
}

[data-admin-product-page] .admin-product-type-option {
    flex: 1;
    border: 0;
    border-radius: 0.5rem;
    background: transparent;
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.25rem;
    color: rgb(75 85 99);
    transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

[data-admin-product-page] .admin-product-type-option.is-active {
    background: rgb(255 255 255);
    color: rgb(3 7 18);
    box-shadow: 0 1px 2px rgb(0 0 0 / 0.06);
}

.dark [data-admin-product-page] .admin-product-type-option {
    color: rgb(156 163 175);
}

.dark [data-admin-product-page] .admin-product-type-option.is-active {
    background: rgb(17 24 39);
    color: rgb(255 255 255);
    box-shadow: 0 1px 2px rgb(0 0 0 / 0.35);
}

[data-admin-product-page] .admin-product-variant-card__reorder {
    display: none;
}

[data-admin-product-page] .admin-product-variants--reorder .admin-product-variant-card__reorder {
    display: inline-flex;
}

[data-admin-product-page] .admin-product-variant-card {
    background: rgb(255 255 255 / 0.72);
}

.dark [data-admin-product-page] .admin-product-variant-card {
    background: rgb(17 24 39 / 0.45);
}

[data-admin-product-page] .admin-product-variant-card__media {
    width: 7rem;
}

[data-admin-product-page] .admin-product-variant-image {
    aspect-ratio: 1 / 1;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

[data-admin-product-page] .admin-product-variant-image.admin-image-compact--filled,
[data-admin-product-page] .admin-product-variant-image.admin-image-dropzone--filled {
    padding: 0;
    border-style: solid;
}

[data-admin-product-page] .admin-product-variant-image img,
[data-admin-product-page] .admin-product-variant-image .admin-image-dropzone__preview {
    width: 100%;
    height: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 0.75rem;
}

[data-admin-product-page] .admin-product-variant-image svg {
    width: 1.25rem;
    height: 1.25rem;
    color: rgb(107 114 128);
}

@keyframes admin-product-custom-option-enter {
    from {
        opacity: 0;
        transform: translateY(-0.5rem) scale(0.98);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

[data-admin-product-page] .admin-product-custom-option-card--enter {
    animation: admin-product-custom-option-enter 0.28s cubic-bezier(0.22, 1, 0.36, 1) both;
}

[data-admin-product-page] .admin-product-custom-option-card__reorder {
    display: none;
}

[data-admin-product-page] .admin-product-custom-options--reorder .admin-product-custom-option-card__reorder {
    display: inline-flex;
}

[data-admin-product-page] .admin-product-custom-option-type-icon {
    display: inline-flex;
    width: 1.5rem;
    height: 1.5rem;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
    background: var(--color-primary-600);
    color: rgb(255 255 255);
    font-size: 0.6875rem;
    font-weight: 600;
    line-height: 1;
}

.dark [data-admin-product-page] .admin-product-custom-option-type-icon {
    background: var(--color-primary-500);
    color: rgb(255 255 255);
}

[data-admin-product-page] .admin-product-custom-option-type-trigger__value {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: 0.625rem;
}

[data-admin-product-page] .admin-product-custom-option-type-option {
    display: flex;
    width: 100%;
    align-items: center;
    gap: 0.625rem;
    padding: 0.625rem 0.75rem;
    text-align: left;
    font-size: 0.875rem;
    color: rgb(17 24 39);
    transition: background-color 0.15s ease;
}

[data-admin-product-page] .admin-product-custom-option-type-option:hover,
[data-admin-product-page] .admin-product-custom-option-type-option.is-selected {
    background: rgb(249 250 251);
}

.dark [data-admin-product-page] .admin-product-custom-option-type-option {
    color: rgb(255 255 255);
}

.dark [data-admin-product-page] .admin-product-custom-option-type-option:hover,
.dark [data-admin-product-page] .admin-product-custom-option-type-option.is-selected {
    background: rgb(31 41 55);
}

[data-admin-product-page] .admin-product-custom-option-choice__label {
    margin-bottom: 0.375rem;
    font-size: 0.8125rem;
    font-weight: 500;
    color: rgb(55 65 81);
}

.dark [data-admin-product-page] .admin-product-custom-option-choice__label {
    color: rgb(209 213 219);
}

[data-admin-product-page] .admin-product-custom-option-choice__fields {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

[data-admin-product-page] .admin-product-card > hr {
    margin-block: 0;
}

[data-admin-product-page] .admin-product-card:focus-within {
    border-color: rgb(209 213 219);
    box-shadow: 0 1px 2px rgb(17 24 39 / 0.04), 0 0 0 1px rgb(17 24 39 / 0.02);
}

.dark [data-admin-product-page] .admin-product-card:focus-within {
    border-color: rgb(55 65 81);
}

[data-admin-product-sidebar] .admin-product-card:last-child {
    margin-bottom: 0.5rem;
}

[data-admin-product-inventory-panel] [data-admin-product-inventory-fields].hidden + [data-admin-product-inventory-disabled-note] {
    margin-top: 0;
}

[data-admin-product-page] textarea {
    min-height: 8.5rem;
    resize: vertical;
}

@media (max-width: 1023px) {
    [data-admin-product-sidebar] {
        order: -1;
    }
}

/* Store creation wizard */
.admin-store-wizard-page {
    display: flex;
    min-height: 100dvh;
    justify-content: center;
    align-items: flex-start;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 0;
}

.admin-store-wizard-panel {
    box-sizing: border-box;
    width: min(100%, 36rem);
    max-width: 36rem;
    margin-inline: auto;
    flex: 0 0 auto;
}

.admin-store-wizard-step,
.admin-store-wizard-fields,
.admin-store-wizard-field,
[data-admin-store-wizard] [data-admin-wizard-body],
[data-admin-store-wizard] [data-admin-wizard-actions] {
    width: 100%;
    max-width: 100%;
}

.admin-store-wizard-field input:not([type='checkbox']):not([type='radio']),
.admin-store-wizard-field textarea {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

[data-admin-store-wizard] [data-admin-wizard-select] {
    position: relative;
    width: 100%;
}

.admin-phone-row,
[data-admin-store-wizard] .admin-store-wizard-phone-row {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 0.5rem;
    width: 100%;
    min-width: 0;
}

.admin-phone-row .admin-phone-country-select,
[data-admin-store-wizard] .admin-store-wizard-phone-row .admin-phone-country-select {
    width: 7.25rem;
    min-width: 7.25rem;
    max-width: 7.25rem;
    flex: 0 0 7.25rem;
    padding-right: 1.75rem;
    text-overflow: ellipsis;
}

.admin-phone-row [data-admin-phone-local-input],
[data-admin-store-wizard] .admin-store-wizard-phone-row [data-admin-phone-local-input] {
    flex: 1 1 0%;
    min-width: 0;
    width: auto;
}

.admin-address-autocomplete-host {
    position: relative;
}

.admin-address-autocomplete-panel {
    position: absolute;
    z-index: 30;
    top: calc(100% + 0.25rem);
    left: 0;
    right: 0;
    max-height: 14rem;
    overflow-y: auto;
    border: 1px solid rgb(229 231 235);
    border-radius: 0.75rem;
    background: #fff;
    box-shadow: 0 10px 25px rgb(15 23 42 / 0.12);
}

.admin-address-autocomplete-item {
    display: block;
    width: 100%;
    border: 0;
    background: transparent;
    padding: 0.625rem 0.875rem;
    text-align: left;
    cursor: pointer;
}

.admin-address-autocomplete-item:hover,
.admin-address-autocomplete-item:focus-visible {
    background: rgb(239 246 255);
    outline: none;
}

[data-admin-store-wizard] [data-admin-wizard-select-compact] {
    width: 100%;
    flex: 0 0 auto;
}

@media (min-width: 640px) {
    [data-admin-store-wizard] .admin-store-wizard-phone-row [data-admin-wizard-select-compact] {
        width: 11rem;
        max-width: 11rem;
        flex: 0 0 11rem;
    }
}

[data-admin-store-wizard] [data-admin-wizard-select-compact] .admin-dropdown-panel {
    min-width: 100%;
    width: max(100%, 16rem);
}

[data-admin-store-wizard] [data-admin-wizard-select] > select {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

[data-admin-store-wizard] [data-admin-wizard-select] .admin-dropdown-trigger {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

[data-admin-store-wizard] [data-admin-wizard-select] .admin-dropdown-panel {
    position: absolute;
    z-index: 60;
    left: 0;
    right: 0;
    width: 100%;
    padding: 0;
}

[data-admin-store-wizard] [data-admin-wizard-select] .admin-dropdown-item[hidden] {
    display: none;
}

[data-admin-store-wizard] [data-admin-wizard-select] [data-admin-wizard-select-search] {
    box-sizing: border-box;
    width: 100%;
}

.admin-category-drawer-backdrop {
    position: fixed;
    inset: 0;
    z-index: 100000;
    background: rgb(15 23 42 / 0.4);
}

.admin-category-drawer-backdrop:not(.hidden) {
    display: block;
}

.admin-category-drawer {
    position: fixed;
    inset: 0 0 0 auto;
    z-index: 100001;
    display: flex;
    width: min(100%, 24rem);
    max-height: 100dvh;
    flex-direction: column;
    border-left: 1px solid rgb(229 231 235);
    background: white;
    box-shadow: -12px 0 40px rgb(15 23 42 / 0.12);
    transform: translateX(100%);
    transition: transform 0.25s ease;
    pointer-events: none;
}

.admin-category-drawer [data-admin-category-drawer-options] {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding-block: 0.25rem;
}

.admin-category-drawer-item {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    border: 0;
    background: transparent;
    padding: 0.75rem 1.25rem;
    text-align: left;
    font-size: 0.875rem;
    line-height: 1.25rem;
    color: rgb(17 24 39);
    cursor: pointer;
}

.admin-category-drawer-item__label {
    flex: 1 1 auto;
    min-width: 0;
}

.admin-category-drawer-item svg,
.admin-category-drawer-item .admin-category-drawer-check {
    width: var(--admin-icon-sm);
    height: var(--admin-icon-sm);
    flex: 0 0 var(--admin-icon-sm);
}

.admin-category-drawer-item .admin-category-drawer-check {
    opacity: 0;
}

.admin-category-drawer-item.is-selected .admin-category-drawer-check {
    opacity: 1;
}

.admin-category-drawer.is-open {
    transform: translateX(0);
    pointer-events: auto;
}

body.admin-wizard-drawer-open,
body.admin-category-drawer-open {
    overflow: hidden;
}

.admin-category-drawer-item:hover,
.admin-category-drawer-item:focus-visible {
    background: rgb(249 250 251);
    outline: none;
}

.admin-category-drawer-item.is-selected {
    background: rgb(239 246 255);
    color: rgb(21 93 252);
    font-weight: 500;
}

.admin-category-drawer-item[hidden] {
    display: none;
}

[data-admin-category-drawer-field] {
    position: relative;
}

[data-admin-category-drawer-trigger] {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

[data-admin-category-drawer-trigger] .admin-dropdown-chevron,
[data-admin-country-drawer-trigger] .admin-dropdown-chevron {
    width: var(--admin-icon-sm);
    height: var(--admin-icon-sm);
    flex-shrink: 0;
}

[data-admin-country-drawer-trigger] {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

[data-admin-store-wizard] [data-admin-logo-dropzone] {
    box-sizing: border-box;
    width: 100%;
}

[data-admin-store-wizard] [data-admin-logo-dropzone].is-filled {
    min-height: auto;
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
}

[data-admin-store-wizard] .admin-wizard-logo-preview {
    display: block;
}

[data-admin-store-wizard] .admin-wizard-color-swatch {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    padding: 0;
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

[data-admin-store-wizard] .admin-wizard-color-swatch:hover {
    transform: translateY(-1px);
}

[data-admin-store-wizard] .admin-wizard-color-swatch.is-selected {
    box-shadow:
        0 0 0 2px rgb(255 255 255),
        0 0 0 4px var(--wizard-swatch-ring, #155dfc);
}

[data-admin-store-wizard] .admin-wizard-color-check {
    display: none;
    width: 0.875rem;
    height: 0.875rem;
    color: rgb(255 255 255);
    filter: drop-shadow(0 1px 1px rgb(0 0 0 / 0.35));
    pointer-events: none;
}

[data-admin-store-wizard] .admin-wizard-color-swatch.is-light-swatch .admin-wizard-color-check {
    color: rgb(17 24 39);
    filter: none;
}

[data-admin-store-wizard] .admin-wizard-color-swatch.is-selected .admin-wizard-color-check {
    display: block;
}

[data-admin-store-wizard] [data-admin-logo-filled],
[data-admin-store-wizard] [data-admin-logo-empty] {
    width: 100%;
}

.admin-store-ready-page {
    background: white;
}

.admin-store-ready-loader {
    position: relative;
}

.admin-store-ready-arc {
    stroke-dasharray: 72 100;
    stroke-dashoffset: 0;
    transform-origin: 60px 60px;
    animation: admin-store-ready-arc-spin 1.4s linear infinite;
}

.admin-store-ready-orbit {
    transform-origin: 60px 60px;
    animation: admin-store-ready-orbit-spin 2s linear infinite;
}

@keyframes admin-store-ready-arc-spin {
    to {
        transform: rotate(360deg);
    }
}

@keyframes admin-store-ready-orbit-spin {
    to {
        transform: rotate(360deg);
    }
}

.admin-select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236b7280'%3E%3Cpath fill-rule='evenodd' d='M4.22 6.22a.75.75 0 0 1 1.06 0L8 8.94l2.72-2.72a.75.75 0 1 1 1.06 1.06l-3.25 3.25a.75.75 0 0 1-1.06 0L4.22 7.28a.75.75 0 0 1 0-1.06Z' clip-rule='evenodd'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.5rem center;
    background-size: 1.25rem 1.25rem;
    padding-right: 2rem;
}

.admin-select::-ms-expand {
    display: none;
}

.dark .admin-select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%239ca3af'%3E%3Cpath fill-rule='evenodd' d='M4.22 6.22a.75.75 0 0 1 1.06 0L8 8.94l2.72-2.72a.75.75 0 1 1 1.06 1.06l-3.25 3.25a.75.75 0 0 1-1.06 0L4.22 7.28a.75.75 0 0 1 0-1.06Z' clip-rule='evenodd'/%3E%3C/svg%3E");
}

/* Superadmin primary palette lives in resources/css/superadmin-theme.css */

body[data-superadmin-panel="true"] .superadmin-sidebar-badge {
    letter-spacing: 0.08em;
}

/* Shell stability — reduce refresh/navigation flicker and layout shift */
html.admin-ready #admin-main > section.flex-1 {
    transition: opacity 140ms ease;
}

#admin-main.is-turbo-visiting > section.flex-1 {
    opacity: 0.72;
    pointer-events: none;
}

.admin-turbo-progress {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 120;
    width: 100%;
    height: 3px;
    overflow: hidden;
    pointer-events: none;
    background: rgb(219 234 254 / 0.45);
}

.dark .admin-turbo-progress {
    background: rgb(30 58 138 / 0.35);
}

.admin-turbo-progress::after {
    content: '';
    display: block;
    width: 35%;
    height: 100%;
    transform: translateX(-120%);
    background: linear-gradient(90deg, transparent, var(--color-primary-600), transparent);
}

.admin-turbo-progress.is-active::after {
    animation: admin-turbo-progress-slide 900ms ease-in-out infinite;
}

@keyframes admin-turbo-progress-slide {
    0% {
        transform: translateX(-120%);
    }

    100% {
        transform: translateX(320%);
    }
}

.admin-async-loading {
    position: relative;
}

.admin-async-loading::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background: linear-gradient(
        180deg,
        rgb(249 250 251 / 0.35) 0%,
        rgb(249 250 251 / 0.08) 100%
    );
}

.dark .admin-async-loading::after {
    background: linear-gradient(
        180deg,
        rgb(3 7 18 / 0.35) 0%,
        rgb(3 7 18 / 0.08) 100%
    );
}

.admin-skeleton {
    display: block;
    border-radius: 0.375rem;
    background: linear-gradient(
        90deg,
        rgb(229 231 235) 0%,
        rgb(243 244 246) 45%,
        rgb(229 231 235) 100%
    );
    background-size: 200% 100%;
    animation: admin-skeleton-shimmer 1.2s ease-in-out infinite;
}

.dark .admin-skeleton {
    background: linear-gradient(
        90deg,
        rgb(55 65 81) 0%,
        rgb(75 85 99) 45%,
        rgb(55 65 81) 100%
    );
    background-size: 200% 100%;
}

.admin-skeleton-line {
    height: 0.875rem;
    width: min(100%, 9rem);
}

.admin-skeleton-block {
    min-height: 1rem;
}

@keyframes admin-skeleton-shimmer {
    0% {
        background-position: 200% 0;
    }

    100% {
        background-position: -200% 0;
    }
}

[data-admin-overview] {
    min-height: 42rem;
}

[data-admin-overview-metrics] {
    min-height: 7.5rem;
}

[data-admin-overview-summary] {
    min-height: 6.5rem;
}

[data-admin-orders-table] {
    min-height: 18rem;
}

[data-admin-products-list] tbody {
    min-height: 16rem;
}

[data-admin-customers-table],
[data-admin-inventory-table],
[data-admin-categories-table],
[data-admin-coupons-table] {
    min-height: 16rem;
}

#admin-main > header h1 {
    min-height: 1.5rem;
}

#admin-sidebar .flex.h-\[58px\] {
    height: 3.625rem;
    min-height: 3.625rem;
    max-height: 3.625rem;
}

aside img.block.h-6 {
    width: auto;
    height: 1.75rem;
    aspect-ratio: auto;
}

/* ==========================================================================
   Owner admin — mobile responsive (≤1023px tablet/phone, ≤639px phone)
   ========================================================================== */

@media (max-width: 1023px) {
    :root {
        --admin-shell-gutter: 0.75rem;
        --admin-content-gutter: 0;
        --admin-settings-field-width: 100%;
    }

    body.admin-mobile-menu-open #admin-main > section.flex-1 {
        overflow: hidden;
        touch-action: none;
    }

    #admin-main > section.flex-1 > .mx-auto.max-w-screen-xl[class*='px-'] {
        padding-inline: 0 !important;
    }

    #admin-main[data-admin-settings='true'] > section.flex-1,
    #admin-main[data-admin-wide-gutter='true'] > section.flex-1 {
        padding-inline: var(--admin-shell-gutter);
    }

    #admin-main[data-admin-settings='true'] > section.flex-1 > .mx-auto.max-w-screen-xl,
    #admin-main[data-admin-wide-gutter='true'] > section.flex-1 > .mx-auto.max-w-screen-xl {
        padding-inline: 0;
    }

    #admin-main > section.flex-1 > .mx-auto.max-w-screen-xl {
        padding-inline: 0;
    }

    #admin-main > section.flex-1.py-6 {
        padding-block: 0.75rem;
    }

    #admin-main > header .flex.items-center.justify-between {
        gap: 0.5rem;
    }

    #admin-main .rounded-lg.border.p-5,
    #admin-main .rounded-lg.border.p-6,
    #admin-main .rounded-xl.border.p-5,
    #admin-main .rounded-xl.border.p-6,
    #admin-main .admin-store-info-card.p-6,
    #admin-main .admin-product-card.p-4 {
        padding: 0.875rem;
    }

    /* Table toolbars — compact row + 2-col filter grid (not full vertical stack) */
    #admin-main .divide-y > .flex.items-center.justify-between.gap-6.p-4,
    #admin-main .divide-y > .flex.flex-wrap.items-center.justify-between.gap-6.p-4,
    #admin-main .divide-y > .flex.items-center.justify-between.gap-4.p-4 {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: flex-start;
        gap: 0.625rem;
        padding: 0.75rem;
    }

    #admin-main .divide-y > .flex.items-center.justify-between.gap-6.p-4 > .w-full.max-w-sm,
    #admin-main .divide-y > .flex.flex-wrap.items-center.justify-between.gap-6.p-4 > .w-full.max-w-sm {
        flex: 1 1 100%;
        max-width: none;
        width: 100%;
    }

    #admin-main [data-admin-table-filters] {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.5rem;
        flex: 1 1 100%;
        width: 100%;
    }

    #admin-main [data-admin-table-filters] > .relative,
    #admin-main [data-admin-table-filters] > .admin-date-range,
    #admin-main [data-admin-table-filters] > .shrink-0 {
        min-width: 0;
    }

    #admin-main [data-admin-table-filters] .admin-date-range-trigger,
    #admin-main [data-admin-table-filters] .admin-dropdown-trigger,
    #admin-main [data-admin-table-filters] button[type='button'] {
        width: 100%;
        min-height: 2rem;
        height: 2rem;
        padding-inline: 0.625rem;
        font-size: 0.8125rem;
    }

    #admin-main .divide-y > .flex.items-center.justify-between.gap-6.p-4 > .flex:not([data-admin-table-filters]),
    #admin-main .divide-y > .flex.flex-wrap.items-center.justify-between.gap-6.p-4 > .flex:not([data-admin-table-filters]),
    #admin-main .divide-y > .flex.items-center.justify-between.gap-4.p-4 > .flex:not([data-admin-table-filters]) {
        flex-wrap: wrap;
        justify-content: flex-start;
        width: 100%;
        gap: 0.5rem;
    }

    #admin-main .mx-auto.max-w-screen-xl > .flex.items-start.gap-6,
    #admin-main .mx-auto.max-w-screen-xl > .flex.flex-col.gap-6.lg\:flex-row,
    #admin-main .flex.items-start.gap-6:not(.lg\:flex-row):not(.sm\:flex-row) {
        flex-direction: column;
        gap: 0.875rem;
    }

    #admin-main .flex.items-start.gap-6 > .lg\:w-96,
    #admin-main .flex.items-start.gap-6 > .w-full.lg\:w-96,
    #admin-main .flex.items-start.gap-6 > .max-w-xs,
    #admin-main .flex.items-start.gap-6 > .shrink-0.w-64,
    #admin-main .flex.items-start.gap-6 > .w-64 {
        width: 100%;
        max-width: none;
    }

    #admin-main .space-y-5.rounded-lg > .flex.items-start.justify-between.gap-6,
    #admin-main .space-y-5.rounded-lg > .flex.flex-col.gap-4.sm\:flex-row {
        gap: 0.625rem;
    }

    #admin-main table th,
    #admin-main table td {
        padding-inline: 0.625rem;
        padding-block: 0.5rem;
        font-size: 0.8125rem;
    }

    #admin-main .admin-table-scroll,
    #admin-main .flow-root .overflow-x-auto,
    #admin-main .-mx-4.overflow-x-auto {
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-x: contain;
        scrollbar-width: thin;
    }

    #admin-main .admin-action-icon,
    #admin-main table .size-5 {
        width: 1rem;
        height: 1rem;
    }

    nav[data-admin-pill-tabs='true'],
    nav[data-admin-orders-tabs],
    nav[data-admin-product-tabs] {
        display: flex;
        max-width: 100%;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        flex-wrap: nowrap;
    }

    nav[data-admin-pill-tabs='true']::-webkit-scrollbar,
    nav[data-admin-orders-tabs]::-webkit-scrollbar,
    nav[data-admin-product-tabs]::-webkit-scrollbar {
        display: none;
    }

    [data-admin-analytics] .flex.flex-wrap.items-center.gap-3 {
        gap: 0.5rem;
    }

    [data-admin-analytics] .flex.flex-wrap.items-center.gap-3 > .relative,
    [data-admin-analytics] .flex.flex-wrap.items-center.gap-3 > button {
        flex: 1 1 calc(50% - 0.25rem);
        min-width: 0;
    }

    [data-admin-analytics] .flex.flex-wrap.items-center.gap-3 button {
        min-height: 2rem;
        height: 2rem;
        font-size: 0.8125rem;
    }

    [data-admin-analytics] .grid.gap-4.sm\:grid-cols-2,
    [data-admin-analytics] .grid.gap-4.xl\:grid-cols-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.625rem;
    }

    [data-admin-overview] {
        min-height: auto;
    }

    .admin-form-actions {
        padding-inline: max(0.75rem, env(safe-area-inset-left)) max(0.75rem, env(safe-area-inset-right));
        padding-bottom: max(0.75rem, env(safe-area-inset-bottom));
    }

    .admin-form-actions .flex.items-center.gap-3,
    .admin-form-actions .flex.items-center.gap-4 {
        flex-wrap: wrap;
    }

    .max-h-90vh,
    .max-h-\[90vh\] {
        max-height: calc(100dvh - 2rem);
        margin-inline: 0.75rem;
        width: calc(100% - 1.5rem);
    }

    /* Superadmin metric cards — 2-up on phone */
    /* Superadmin metric cards — 2-up on phone */
    body[data-superadmin-panel='true'] .grid.sm\:grid-cols-2,
    body[data-superadmin-panel='true'] .grid.xl\:grid-cols-4,
    body[data-superadmin-panel='true'] .grid.lg\:grid-cols-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.625rem;
    }

    #admin-main > header [data-admin-lang-label] {
        display: none;
    }

    #admin-main > header [data-admin-lang-trigger] {
        min-height: 2rem;
        height: 2rem;
        padding-inline: 0.5rem;
    }

    #admin-main > header .inline-flex.h-9 {
        min-height: 2rem;
        height: 2rem;
    }
}

@media (max-width: 639px) {
    /* Keep intentional 2-column stat grids on phone */
    #admin-main .grid.grid-cols-2:not([class*='sm:grid-cols']):not([class*='md:grid-cols']):not([class*='lg:grid-cols']):not([data-admin-stat-grid]) {
        grid-template-columns: 1fr;
    }

    #admin-main .grid.grid-cols-3:not([class*='sm:grid-cols']):not([class*='md:grid-cols']):not([class*='lg:grid-cols']):not([data-admin-stat-grid]) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-overview-metrics.grid-cols-2,
    .admin-overview-metrics.grid-cols-1.sm\:grid-cols-3,
    [data-admin-overview-metrics].grid-cols-2,
    [data-admin-overview-metrics].grid-cols-1.sm\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.375rem;
    }

    .admin-overview-metric {
        border-bottom-width: 1px;
        border-radius: 0.5rem;
        padding: 0.5rem 0.375rem;
        font-size: 0.75rem;
    }

    .admin-overview-metric.is-active {
        border-bottom-color: var(--color-primary-600);
    }

    [data-admin-analytics] .grid.gap-4.sm\:grid-cols-2,
    [data-admin-analytics] .grid.gap-4.xl\:grid-cols-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    [data-admin-analytics] .admin-analytics-kpi-value {
        font-size: 1.125rem;
    }

    [data-admin-analytics] .flex.flex-wrap.items-center.gap-3 > .relative,
    [data-admin-analytics] .flex.flex-wrap.items-center.gap-3 > button {
        flex: 1 1 calc(50% - 0.25rem);
    }

    .admin-form-actions .flex.items-center.justify-end.gap-3,
    .admin-form-actions .flex.items-center.justify-end.gap-4,
    .admin-form-actions .flex.items-center.gap-3,
    .admin-form-actions .flex.items-center.gap-4 {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-end;
    }

    .admin-form-actions .flex.items-center.justify-end.gap-3 > *,
    .admin-form-actions .flex.items-center.justify-end.gap-4 > *,
    .admin-form-actions .flex.items-center.gap-3 > *,
    .admin-form-actions .flex.items-center.gap-4 > * {
        width: auto;
        flex: 0 1 auto;
    }

    #admin-main .flex.items-center.gap-2.flex-wrap,
    #admin-main .flex.items-center.gap-2 {
        flex-wrap: wrap;
    }

    #admin-main .grid.grid-cols-1.gap-5.sm\:grid-cols-2.lg\:grid-cols-3 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.625rem;
    }
}
