/* Gaya tambahan di atas Tailwind CDN */
:root {
    color-scheme: light;
    /* Surface system Ã¢â‚¬â€ diselaraskan ke Marketing Toolkit */
    --dash-surface-radius: 1.125rem;
    --dash-surface-radius-sm: 0.75rem;
    --dash-surface-pad: 1.125rem 1.25rem;
    --dash-surface-border: 1px solid rgb(167 243 208 / 0.65);
    --dash-surface-shadow: none;
    --dash-surface-bg:
        linear-gradient(135deg, rgb(236 253 245 / 0.95) 0%, rgb(255 255 255 / 0.98) 48%, rgb(240 253 250 / 0.85) 100%);
    --dash-surface-bg-solid: #fff;
    --dash-nest-bg: rgb(255 255 255 / 0.86);
    --dash-nest-border: 1px solid rgb(226 232 240 / 0.9);
    --dash-icon-chip-bg: rgb(236 253 245);
    --dash-icon-chip-fg: rgb(4 120 87);
    --dash-kicker: rgb(4 120 87);
    --dash-chrome-bg: rgb(255 255 255 / 0.97);
    --dash-chrome-border: 1px solid rgb(226 232 240 / 0.95);
    --dash-ink: rgb(15 23 42);
    --dash-muted: rgb(100 116 139);
    --dash-brand: rgb(5 150 105);
    --dash-brand-deep: rgb(4 120 87);
    --dash-dock-h: 4.25rem;
    --text-xs: 0.6875rem;
    --text-sm: 0.8125rem;
    --text-md: 0.875rem;
    --text-lg: 0.9375rem;
    --text-xl: 1.0625rem;
    --text-2xl: 1.1875rem;
}

/* Utilitas kartu Ã¢â‚¬â€ pola Marketing Toolkit */
.dash-card {
    padding: var(--dash-surface-pad);
    border-radius: var(--dash-surface-radius);
    border: var(--dash-surface-border);
    background: var(--dash-surface-bg);
    box-shadow: var(--dash-surface-shadow);
    min-width: 0;
}

.dash-card--solid {
    background: var(--dash-surface-bg-solid);
}

.dash-card-kicker {
    margin: 0;
    font-size: var(--text-xs);
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--dash-kicker);
    line-height: 1.3;
}

.dash-card-title {
    margin: 0.3125rem 0 0;
    font-size: var(--text-xl);
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.3;
    color: var(--dash-ink);
}

.dash-card-lead {
    margin: 0.375rem 0 0;
    max-width: 38rem;
    font-size: var(--text-sm);
    font-weight: 500;
    line-height: 1.5;
    color: var(--dash-muted);
}

.dash-card-nest {
    border: var(--dash-nest-border);
    border-radius: var(--dash-surface-radius-sm);
    background: var(--dash-nest-bg);
}

.dash-icon-chip {
    display: grid;
    place-items: center;
    width: 1.75rem;
    height: 1.75rem;
    flex-shrink: 0;
    border-radius: 0.5rem;
    background: var(--dash-icon-chip-bg);
    color: var(--dash-icon-chip-fg);
    font-size: 0.9375rem;
    line-height: 1;
}

.dash-icon-chip .bi,
.dash-icon-chip .ui-icon,
.dash-icon-chip .ui-emoji-icon,
.dash-icon-chip-i {
    font-size: 0.9375rem;
    line-height: 1;
    color: inherit;
}

html {
    -webkit-text-size-adjust: 100%;
    scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
}

body {
    font-family: "Plus Jakarta Sans", system-ui, sans-serif;
    scrollbar-gutter: stable;
    text-shadow: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

*,
*::before,
*::after {
    text-shadow: none !important;
}

/* Matikan blur kaca (Tailwind / custom) agar teks tetap tajam */
[class*="backdrop-blur"],
.backdrop-blur,
.backdrop-blur-sm,
.backdrop-blur-md,
.backdrop-blur-lg,
.backdrop-blur-xl,
.backdrop-blur-2xl,
.backdrop-blur-3xl {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

/* Scrollbar modern & halus */
html,
body,
#product-share-studio,
.share-studio-tabs {
    scrollbar-width: thin;
    scrollbar-color: rgb(203 213 225) transparent;
}

html::-webkit-scrollbar,
body::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

html::-webkit-scrollbar-track,
body::-webkit-scrollbar-track {
    background: transparent;
}

html::-webkit-scrollbar-thumb,
body::-webkit-scrollbar-thumb {
    background: rgb(203 213 225);
    border-radius: 9999px;
    border: 3px solid rgb(248 250 252);
    background-clip: padding-box;
}

html::-webkit-scrollbar-thumb:hover,
body::-webkit-scrollbar-thumb:hover {
    background: rgb(148 163 184);
    background-clip: padding-box;
}

/* Progress bar navigasi */
#page-progress {
    position: fixed;
    inset-inline: 0;
    top: 0;
    height: 3px;
    z-index: 100;
    background: linear-gradient(90deg, #10b981, #059669);
    transform-origin: left;
    transform: scaleX(0);
    transition: transform 0.2s ease-out, opacity 0.3s;
    opacity: 0;
    box-shadow: none;
}
#page-progress.active { opacity: 1; }

/* Hilangkan spinner input number */
input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
input[type=number] { -moz-appearance: textfield; }

.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ===== Landing page ===== */
.landing-hero {
    background: linear-gradient(145deg, #ecfdf5 0%, #f0fdf4 25%, #fffbeb 55%, #fef9c3 85%, #ecfdf5 100%);
}

.landing-grid-pattern {
    background-image: linear-gradient(rgba(5, 150, 105, 0.04) 1px, transparent 1px),
                      linear-gradient(90deg, rgba(5, 150, 105, 0.04) 1px, transparent 1px);
    background-size: 40px 40px;
    opacity: 0.8;
}

.landing-blob {
    position: absolute;
    border-radius: 50%;
    filter: none;
    pointer-events: none;
}
.landing-blob-1 {
    width: min(480px, 80vw);
    height: min(480px, 80vw);
    top: -15%;
    right: -10%;
    background: rgba(52, 211, 153, 0.35);
    animation: landing-float 16s ease-in-out infinite;
}
.landing-blob-2 {
    width: min(360px, 60vw);
    height: min(360px, 60vw);
    bottom: 0;
    left: -12%;
    background: rgba(251, 191, 36, 0.28);
    animation: landing-float 20s ease-in-out infinite reverse;
}
.landing-blob-3 {
    width: min(280px, 50vw);
    height: min(280px, 50vw);
    top: 40%;
    left: 35%;
    background: rgba(45, 212, 191, 0.22);
    animation: landing-float 22s ease-in-out infinite;
    animation-delay: -5s;
}

@keyframes landing-float {
    0%, 100% { transform: translate(0, 0) scale(1); }
    50% { transform: translate(20px, -24px) scale(1.05); }
}

.landing-float-card {
    animation: landing-float 6s ease-in-out infinite;
}
.landing-float-delay {
    animation-delay: -3s;
}

.landing-phone-glow {
    animation: landing-pulse 4s ease-in-out infinite;
}
@keyframes landing-pulse {
    0%, 100% { opacity: 0.6; }
    50% { opacity: 1; }
}

.landing-notif-float {
    animation: landing-slide-in 0.5s ease-out;
}
@keyframes landing-slide-in {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

.reveal-up {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.6s ease, transform 0.6s ease;
    transition-delay: var(--reveal-delay, 0ms);
}
.reveal-up.is-visible {
    opacity: 1;
    transform: translateY(0);
}
.landing-delay-1 { transition-delay: 120ms; }

.social-chip {
    animation: landing-chip-in 0.5s ease backwards;
    animation-delay: var(--chip-delay, 0ms);
}
@keyframes landing-chip-in {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

.share-platform-item.share-platform-active {
    transform: scale(1.02);
}

.hero-tab.is-active {
    background: #fff;
    color: #047857;
    box-shadow: none;
}

#site-header.is-scrolled {
    box-shadow: none;
    border-color: rgb(226 232 240 / 0.9);
    background: rgb(255 255 255 / 0.92);
}

/* ===== Site header / nav ===== */
.site-header.is-menu-open {
    border-color: transparent;
    background: rgb(255 255 255 / 0.98);
}

.nav-link.nav-link-active {
    background: rgb(236 253 245);
    color: rgb(4 120 87);
    box-shadow: none;
}

.mobile-nav-link.nav-link-active {
    background: linear-gradient(90deg, rgb(236 253 245) 0%, rgb(255 255 255) 100%);
    border-color: rgb(167 243 208 / 0.9);
    box-shadow: none;
}

.mobile-nav-link.nav-link-active .mobile-nav-active-dot {
    opacity: 1;
}

.mobile-nav-link.nav-link-active .mobile-nav-icon-wrap {
    transform: scale(1.02);
}

.nav-link-active .nav-link-indicator {
    width: 1.25rem;
}

/* Ikon navigasi mobile Ã¢â‚¬â€ warna per item */
.mobile-nav-icon-wrap {
    display: grid;
    place-items: center;
    border-radius: 0.875rem;
    transition: transform 0.2s ease;
}

.mobile-nav-icon-wrap .mobile-nav-icon {
    background: transparent;
}

.mobile-nav-icon-wrap-home { background: rgb(236 253 245); color: rgb(4 120 87); }
.mobile-nav-icon-wrap-grid { background: rgb(239 246 255); color: rgb(37 99 235); }
.mobile-nav-icon-wrap-spark { background: rgb(250 245 255); color: rgb(147 51 234); }
.mobile-nav-icon-wrap-route { background: rgb(255 247 237); color: rgb(234 88 12); }
.mobile-nav-icon-wrap-tag { background: rgb(254 252 232); color: rgb(202 138 4); }
.mobile-nav-icon-wrap-about { background: rgb(224 231 255); color: rgb(67 56 202); }
.mobile-nav-icon-wrap-faq { background: rgb(255 241 242); color: rgb(225 29 72); }
.mobile-nav-icon-wrap-chat { background: rgb(240 253 250); color: rgb(13 148 136); }

.mobile-nav-link.nav-link-active .mobile-nav-icon-wrap-home { background: rgb(209 250 229); color: rgb(4 120 87); }
.mobile-nav-link.nav-link-active .mobile-nav-icon-wrap-grid { background: rgb(219 234 254); color: rgb(29 78 216); }
.mobile-nav-link.nav-link-active .mobile-nav-icon-wrap-spark { background: rgb(243 232 255); color: rgb(126 34 206); }
.mobile-nav-link.nav-link-active .mobile-nav-icon-wrap-route { background: rgb(254 215 170); color: rgb(194 65 12); }
.mobile-nav-link.nav-link-active .mobile-nav-icon-wrap-tag { background: rgb(254 240 138); color: rgb(161 98 7); }
.mobile-nav-link.nav-link-active .mobile-nav-icon-wrap-about { background: rgb(199 210 254); color: rgb(67 56 202); }
.mobile-nav-link.nav-link-active .mobile-nav-icon-wrap-faq { background: rgb(254 205 211); color: rgb(190 18 60); }
.mobile-nav-link.nav-link-active .mobile-nav-icon-wrap-chat { background: rgb(204 251 241); color: rgb(15 118 110); }

.nav-toggle[aria-expanded="true"] {
    border-color: rgb(167 243 208);
    background: rgb(236 253 245);
    color: rgb(4 120 87);
}

.nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
    width: 1.25rem;
    align-self: center;
}

.nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(2) {
    opacity: 0;
    transform: scaleX(0);
}

.nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
    width: 1.25rem;
    align-self: center;
}

.mobile-nav-backdrop.is-visible {
    pointer-events: auto;
    background: rgb(15 23 42 / 0.5);
}

.mobile-nav-drawer.is-open {
    pointer-events: auto;
    opacity: 1;
    transform: translateY(0);
}

.mobile-nav-drawer.is-open .mobile-nav-link {
    animation: mobile-nav-in 0.4s cubic-bezier(0.22, 1, 0.36, 1) backwards;
    animation-delay: calc(var(--nav-i, 0) * 50ms + 40ms);
}

.mobile-nav-drawer.is-open .mobile-nav-drawer-head {
    animation: mobile-nav-in 0.35s ease backwards;
}

.mobile-nav-drawer.is-open .mobile-nav-footer {
    animation: mobile-nav-in 0.4s ease backwards;
    animation-delay: 0.2s;
}

@keyframes mobile-nav-in {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (min-width: 1024px) {
    .mobile-nav-drawer { display: none !important; }
}

@media (prefers-reduced-motion: reduce) {
    .mobile-nav-link,
    .mobile-nav-drawer-head,
    .mobile-nav-footer { animation: none !important; }
    .nav-toggle-bar, .mobile-nav-drawer, .mobile-nav-backdrop { transition: none !important; }
}


.faq-item summary::-webkit-details-marker { display: none; }

.about-visual-card {
    animation: about-float 6s ease-in-out infinite;
}
.about-flow-card:hover {
    transform: translateY(-4px);
}
.about-smartlink-demo .about-tab {
    cursor: pointer;
}
@keyframes about-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-6px); }
}

.biz-card {
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.biz-icon {
    transition: transform 0.25s ease;
}

@media (max-width: 640px) {
    .landing-hero .landing-float-card { display: none !important; }
}

/* ===== Form System (global) ===== */
:root {
    --form-height: 2.625rem;
    --form-radius: 0.75rem;
    --form-border: rgb(203 213 225);
    --form-focus: rgb(16 185 129);
    --form-focus-ring: rgb(209 250 229);
}

.form-field { margin-bottom: 0; }
.form-label {
    display: block;
    margin-bottom: 0.3125rem;
    font-size: var(--text-sm, 0.8125rem);
    font-weight: 600;
    line-height: 1.35;
    color: rgb(51 65 85);
}
.form-label-sm {
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 600;
    color: rgb(71 85 105);
}
.form-hint {
    margin-top: 0.3125rem;
    font-size: var(--text-xs, 0.6875rem);
    line-height: 1.45;
    color: rgb(100 116 139);
}

.form-control,
.form-select,
select.form-control,
textarea.form-control,
input.form-control {
    display: block;
    width: 100%;
    min-height: var(--form-height);
    padding-inline: 0.875rem;
    border: 1px solid var(--form-border);
    border-radius: var(--form-radius);
    background: #fff;
    font-size: var(--text-md, 0.875rem);
    font-weight: 500;
    line-height: 1.4;
    color: rgb(15 23 42);
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}
.form-control:hover,
.form-select:hover {
    border-color: rgb(148 163 184);
}
.form-control:focus,
.form-select:focus {
    border-color: var(--form-focus);
    box-shadow: 0 0 0 3px var(--form-focus-ring);
}
.form-control.is-disabled,
.form-control:disabled {
    cursor: not-allowed;
    border-color: rgb(226 232 240);
    background: rgb(248 250 252);
    color: rgb(100 116 139);
}
.form-textarea {
    min-height: 6.5rem;
    padding-block: 0.75rem;
    resize: vertical;
    line-height: 1.5;
}
.form-textarea-sm {
    min-height: 4.5rem;
}
.form-control-narrow {
    width: auto;
    min-width: 5rem;
}
.form-control-qty {
    width: 4rem;
    min-width: 4rem;
    padding-inline: 0.5rem;
    text-align: center;
    font-weight: 700;
}
.form-select {
    appearance: none;
    padding-right: 2.5rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%2364748b'%3E%3Cpath fill-rule='evenodd' d='M5.23 7.21a.75.75 0 011.06.02L10 10.94l3.71-3.71a.75.75 0 111.06 1.06l-4.24 4.25a.75.75 0 01-1.06 0L5.21 8.29a.75.75 0 01.02-1.08z' clip-rule='evenodd'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 1.25rem;
}
.form-file {
    display: block;
    width: 100%;
    font-size: var(--text-sm, 0.8125rem);
    color: rgb(71 85 105);
}
.form-file::file-selector-button {
    margin-right: 0.75rem;
    min-height: var(--form-height);
    padding-inline: 1rem;
    border: 0;
    border-radius: var(--form-radius);
    background: rgb(236 253 245);
    font-weight: 700;
    color: rgb(4 120 87);
    cursor: pointer;
}
.form-checkbox {
    width: 1.125rem;
    height: 1.125rem;
    accent-color: rgb(5 150 105);
}

.form-inline-group {
    display: flex;
    align-items: stretch;
    gap: 0.5rem;
}
.form-inline-group .form-control { flex: 1 1 auto; min-width: 0; }
.form-inline-group .form-btn { flex-shrink: 0; }

.form-captcha {
    display: grid;
    place-items: center;
    min-height: var(--form-height);
    min-width: 5.5rem;
    padding-inline: 1rem;
    border-radius: var(--form-radius);
    background: rgb(30 41 59);
    font-family: ui-monospace, monospace;
    font-size: 1.125rem;
    font-weight: 700;
    letter-spacing: 0.3em;
    color: #fff;
    user-select: none;
}

/* Captcha group Ã¢â‚¬â€ badge + input selebar field form di atasnya */
.captcha-group {
    display: flex;
    align-items: stretch;
    gap: 0.625rem;
    width: 100%;
    max-width: none;
    margin-top: 0.125rem;
    box-sizing: border-box;
}

.captcha-group-badge {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    min-width: 7.5rem;
    width: 38%;
    max-width: 9.5rem;
    height: var(--form-height);
    min-height: var(--form-height);
    padding-inline: 0.75rem;
    border: 1px solid rgb(15 23 42 / 0.25);
    border-radius: var(--form-radius);
    background: linear-gradient(160deg, rgb(30 41 59) 0%, rgb(51 65 85) 100%);
    box-shadow: none;
    box-sizing: border-box;
}

.captcha-group-code {
    font-family: ui-monospace, "Cascadia Mono", "Segoe UI Mono", monospace;
    font-size: 1.0625rem;
    font-weight: 800;
    letter-spacing: 0.22em;
    color: #fff;
    user-select: none;
    white-space: nowrap;
    padding-left: 0.22em;
}

.captcha-group-input {
    flex: 1 1 auto;
    min-width: 0;
    width: auto;
    max-width: none;
    height: var(--form-height);
    min-height: var(--form-height);
    padding-inline: 0.875rem;
    text-align: center;
    font-family: ui-monospace, "Cascadia Mono", "Segoe UI Mono", monospace;
    font-size: 0.9375rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    box-sizing: border-box;
}

.captcha-group-input::placeholder {
    letter-spacing: 0.04em;
    font-weight: 600;
    text-transform: none;
    color: rgb(148 163 184);
}

.form-field .captcha-group + .form-hint,
.form-field[data-field="captcha"] .form-hint {
    margin-top: 0.625rem;
}

@media (max-width: 639px) {
    .captcha-group {
        flex-direction: row;
        align-items: stretch;
    }

    .captcha-group-badge {
        width: 36%;
        min-width: 6.75rem;
        max-width: 8.5rem;
    }
}

.form-qty-btn {
    display: grid;
    place-items: center;
    width: var(--form-height);
    height: var(--form-height);
    flex-shrink: 0;
    border: 1px solid var(--form-border);
    border-radius: var(--form-radius);
    background: #fff;
    font-size: 1.125rem;
    font-weight: 700;
    color: rgb(51 65 85);
    transition: border-color 0.2s ease, background-color 0.2s ease;
}
.form-qty-btn:hover {
    border-color: rgb(167 243 208);
    background: rgb(236 253 245);
    color: rgb(4 120 87);
}

.form-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4375rem;
    min-height: var(--form-height);
    padding-inline: 1.125rem;
    border-radius: var(--form-radius);
    border: 1px solid transparent;
    font-size: var(--text-sm, 0.8125rem);
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
    cursor: pointer;
    transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease, opacity 0.2s ease;
}
.form-btn:disabled {
    cursor: not-allowed;
    opacity: 0.55;
}
.form-btn-icon {
    font-size: 1.125rem;
    line-height: 1;
    flex-shrink: 0;
}
.form-btn-block { width: 100%; }
.form-btn-sm {
    min-height: 2.125rem;
    padding-inline: 0.75rem;
    font-size: var(--text-xs, 0.6875rem);
}
.form-btn-primary {
    background: rgb(5 150 105);
    color: #fff;
    box-shadow: none;
}
.form-btn-primary:hover:not(:disabled) {
    background: rgb(4 120 87);
}
.form-btn-secondary {
    border-color: var(--form-border);
    background: #fff;
    color: rgb(51 65 85);
}
.form-btn-secondary:hover:not(:disabled) {
    border-color: rgb(148 163 184);
    background: rgb(248 250 252);
}
.form-btn-outline-brand {
    border-color: rgb(16 185 129);
    background: #fff;
    color: rgb(4 120 87);
}
.form-btn-outline-brand:hover:not(:disabled) {
    background: rgb(236 253 245);
}
.form-btn-danger {
    border-color: rgb(254 205 211);
    background: #fff;
    color: rgb(225 29 72);
}
.form-btn-danger:hover:not(:disabled) {
    background: rgb(255 241 242);
}
.form-btn-ghost {
    background: transparent;
    color: rgb(100 116 139);
}
.form-btn-ghost:hover:not(:disabled) {
    background: rgb(241 245 249);
    color: rgb(51 65 85);
}
.form-btn-copy {
    min-height: 2.25rem;
    padding-inline: 0.875rem;
    background: rgb(5 150 105);
    color: #fff;
    font-size: 0.75rem;
}
.form-btn-copy:hover:not(:disabled) {
    background: rgb(4 120 87);
}

.form-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem;
}

/* ===== Smart Select ===== */
.smart-select {
    position: relative;
    width: 100%;
    z-index: 1;
}

.smart-select.is-open {
    z-index: 40;
}

.smart-select.is-disabled {
    opacity: 0.55;
    pointer-events: none;
}

.smart-select.is-disabled .smart-select-trigger {
    cursor: not-allowed;
    background: rgb(248 250 252);
}

.smart-select-native {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.smart-select-trigger {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    gap: 0.625rem;
    min-height: var(--form-height);
    padding-inline: 0.875rem;
    border: 1px solid var(--form-border);
    border-radius: var(--form-radius);
    background: #fff;
    color: rgb(15 23 42);
    font-size: var(--text-md, 0.875rem);
    font-weight: 500;
    line-height: 1.4;
    text-align: left;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.smart-select-trigger:hover {
    border-color: rgb(148 163 184);
    background: rgb(248 250 252);
}

.smart-select.is-open .smart-select-trigger,
.smart-select-trigger:focus-visible {
    outline: none;
    border-color: var(--form-focus);
    box-shadow: 0 0 0 3px var(--form-focus-ring);
}

.smart-select-trigger.is-placeholder .smart-select-value {
    color: rgb(100 116 139);
    font-weight: 500;
}

.smart-select-value {
    display: flex;
    min-width: 0;
    flex: 1;
    align-items: center;
    gap: 0.625rem;
}

.smart-select-value-icon,
.smart-select-option-icon {
    display: grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    flex-shrink: 0;
    border-radius: 0.625rem;
    background: rgb(236 253 245);
    font-size: 1.125rem;
    line-height: 1;
}

.smart-select-value-label,
.smart-select-option-label {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    line-height: 1.35;
}

.smart-select-placeholder {
    color: rgb(100 116 139);
    font-weight: 500;
}

/* Sembunyikan native select setelah di-enhance */
select.form-select.smart-select-native {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.smart-select-chevron {
    display: grid;
    place-items: center;
    width: 1.25rem;
    height: 1.25rem;
    flex-shrink: 0;
    color: rgb(100 116 139);
    transition: transform 0.2s ease, color 0.2s ease;
}

.smart-select-chevron .ui-emoji-icon {
    font-size: 0.875rem;
    line-height: 1;
}

.smart-select.is-open .smart-select-chevron {
    transform: rotate(180deg);
    color: rgb(5 150 105);
}

.smart-select.is-open.is-drop-up .smart-select-chevron {
    transform: rotate(0deg);
}

.smart-select-panel {
    position: absolute;
    z-index: 40;
    top: calc(100% + 0.375rem);
    left: 0;
    right: 0;
    box-sizing: border-box;
    max-width: min(100vw - 1.25rem, 22rem);
    overflow: hidden;
    border: 1px solid rgb(226 232 240);
    border-radius: var(--form-radius);
    background: #fff;
    box-shadow: none;
    transform-origin: top center;
    animation: smart-select-panel-in 0.18s ease-out;
}

@media (max-width: 639px) {
    .smart-select.is-open {
        z-index: 60;
    }

    .smart-select-panel {
        max-width: min(100vw - 1rem, 18rem);
    }
}

@keyframes smart-select-panel-in {
    from {
        opacity: 0;
        transform: translateY(-6px) scale(0.98);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.smart-select-panel[hidden] {
    display: none !important;
    animation: none;
}

.smart-select.is-drop-up .smart-select-panel {
    top: auto;
    bottom: calc(100% + 0.375rem);
    transform-origin: bottom center;
}

@keyframes smart-select-panel-in-up {
    from {
        opacity: 0;
        transform: translateY(6px) scale(0.98);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.smart-select.is-drop-up .smart-select-panel:not([hidden]) {
    animation: smart-select-panel-in-up 0.18s ease-out;
}

.smart-select-search {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem;
    border-bottom: 1px solid rgb(241 245 249);
    background: rgb(248 250 252);
}

.smart-select-search-icon {
    display: grid;
    place-items: center;
    width: 1rem;
    height: 1rem;
    color: rgb(100 116 139);
}

.smart-select-search-icon.ui-emoji-icon {
    font-size: 0.875rem;
    line-height: 1;
}

.smart-select-search-input {
    width: 100%;
    border: 0;
    background: transparent;
    font-size: 0.875rem;
    font-weight: 600;
    color: rgb(15 23 42);
    outline: none;
}

.smart-select-search-input::placeholder {
    color: rgb(148 163 184);
    font-weight: 500;
}

.smart-select-list {
    max-height: min(18rem, 50vh);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 0.375rem;
}

.smart-select-compact .smart-select-list {
    max-height: min(14rem, 45vh);
}

.smart-select-option {
    display: flex;
    width: 100%;
    align-items: center;
    gap: 0.625rem;
    padding: 0.5rem 0.625rem;
    border: 0;
    border-radius: calc(var(--form-radius) - 0.125rem);
    background: transparent;
    color: rgb(15 23 42);
    font-size: var(--text-md, 0.875rem);
    font-weight: 500;
    line-height: 1.35;
    text-align: left;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.smart-select-option:hover,
.smart-select-option.is-active {
    background: rgb(236 253 245);
    color: rgb(4 120 87);
}

.smart-select-option.is-selected {
    background: rgb(209 250 229);
    color: rgb(4 120 87);
    box-shadow: inset 0 0 0 1px rgb(167 243 208);
}

.smart-select-option.is-selected.is-active {
    background: rgb(187 247 208);
}

.smart-select-option.is-disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.smart-select-option-body {
    display: flex;
    min-width: 0;
    flex: 1;
    flex-direction: column;
    gap: 0.125rem;
}

.smart-select-option-desc {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.75rem;
    font-weight: 500;
    color: rgb(100 116 139);
}

.smart-select-option-check {
    display: grid;
    place-items: center;
    width: 1.25rem;
    height: 1.25rem;
    flex-shrink: 0;
    color: rgb(5 150 105);
    opacity: 0;
    transition: opacity 0.15s ease;
}

.smart-select-option-check.ui-emoji-icon {
    font-size: 0.875rem;
    line-height: 1;
}

.smart-select-option.is-selected .smart-select-option-check {
    opacity: 1;
}

.smart-select-empty {
    padding: 1rem 0.75rem;
    text-align: center;
    font-size: 0.8125rem;
    font-weight: 600;
    color: rgb(100 116 139);
}

.smart-select-empty.hidden {
    display: none;
}

.smart-select-option.hidden {
    display: none;
}

@media (prefers-reduced-motion: reduce) {
    .smart-select-trigger,
    .smart-select-chevron,
    .smart-select-option,
    .smart-select-panel {
        animation: none !important;
        transition: none !important;
    }
}

/* ===== Auth shell (login / register / lupa password) ===== */
.auth-page {
    --auth-brand: rgb(5 150 105);
    --auth-brand-dark: rgb(4 120 87);
    --auth-ink: rgb(15 23 42);
    --auth-muted: rgb(100 116 139);
    --auth-line: rgb(226 232 240);
    --auth-radius: 1.125rem;
    --auth-max: 28rem;
    position: relative;
    isolation: isolate;
    min-height: 100vh;
    min-height: 100dvh;
    display: grid;
    place-items: center;
    padding: 2rem 1rem 2.5rem;
    overflow: hidden;
    background:
        radial-gradient(ellipse 80% 50% at 50% -10%, rgb(209 250 229 / 0.7), transparent 55%),
        radial-gradient(ellipse 45% 40% at 100% 100%, rgb(204 251 241 / 0.35), transparent 50%),
        linear-gradient(180deg, rgb(248 250 252) 0%, rgb(241 245 249) 100%);
}

.auth-page--wide {
    --auth-max: 36rem;
}

.auth-page-atmosphere {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-image:
        radial-gradient(rgb(148 163 184 / 0.14) 1px, transparent 1px);
    background-size: 22px 22px;
    mask-image: linear-gradient(180deg, rgb(0 0 0 / 0.55), transparent 85%);
}

.auth-page-inner {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: var(--auth-max);
}

.auth-brand {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    margin: 0 0 1.5rem;
    text-decoration: none;
    animation: auth-in 0.45s ease-out;
}

.auth-card {
    overflow: hidden;
    border: 1px solid rgb(226 232 240 / 0.9);
    border-radius: var(--auth-radius);
    background: #fff;
    box-shadow:
        0 1px 2px rgb(15 23 42 / 0.04),
        0 18px 40px -24px rgb(15 23 42 / 0.18);
    animation: auth-in 0.5s ease-out 0.04s both;
}

@keyframes auth-in {
    from { opacity: 0; transform: translateY(14px); }
    to { opacity: 1; transform: translateY(0); }
}

.auth-card-header {
    position: relative;
    padding: 1.35rem 1.35rem 1.25rem;
    border-bottom: 1px solid rgb(255 255 255 / 0.12);
    background: linear-gradient(135deg, rgb(5 150 105) 0%, rgb(13 148 136) 100%);
    color: #fff;
}

.auth-card-header::after {
    content: "";
    position: absolute;
    right: -20%;
    top: -40%;
    width: 12rem;
    height: 12rem;
    border-radius: 50%;
    background: rgb(255 255 255 / 0.08);
    pointer-events: none;
}

.auth-card-kicker {
    margin: 0;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgb(209 250 229);
    line-height: 1.2;
}

.auth-card-title {
    margin: 0.35rem 0 0;
    font-size: 1.5rem;
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1.2;
    color: #fff;
}

.auth-card-lead {
    margin: 0.4rem 0 0;
    max-width: 28rem;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.5;
    color: rgb(209 250 229 / 0.95);
}

.auth-card-body {
    padding: 1.35rem 1.35rem 1.5rem;
}

.auth-form {
    display: flex;
    flex-direction: column;
    gap: 1.125rem;
}

.auth-form .form-field {
    margin: 0;
}

.auth-label-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.35rem;
}

.auth-label-row .form-label,
.auth-label-row label {
    margin-bottom: 0;
}

.auth-link-muted {
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--auth-brand-dark);
    text-decoration: none;
    white-space: nowrap;
}

.auth-link-muted:hover {
    text-decoration: underline;
}

.auth-password-input {
    position: relative;
}

.auth-password-input .form-control {
    width: 100%;
    padding-right: 2.75rem;
}

.auth-password-toggle {
    position: absolute;
    right: 0.3rem;
    top: 50%;
    transform: translateY(-50%);
    display: grid;
    place-items: center;
    width: 2.125rem;
    height: 2.125rem;
    border: 0;
    border-radius: 0.5rem;
    background: transparent;
    color: rgb(100 116 139);
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.auth-password-toggle:hover {
    background: rgb(241 245 249);
    color: var(--auth-ink);
}

.auth-password-toggle:focus-visible {
    outline: 2px solid rgb(5 150 105 / 0.45);
    outline-offset: 1px;
}

.auth-password-strength {
    margin-top: 0.5rem;
}

.auth-password-strength[hidden] {
    display: none !important;
}

.auth-password-strength-meter {
    height: 0.3125rem;
    border-radius: 9999px;
    background: rgb(226 232 240);
    overflow: hidden;
}

.auth-password-strength-bar {
    display: block;
    height: 100%;
    width: 25%;
    border-radius: inherit;
    background: rgb(248 113 113);
    transition: width 0.2s ease, background-color 0.2s ease;
}

.auth-password-strength[data-level="1"] .auth-password-strength-bar {
    width: 25%;
    background: rgb(248 113 113);
}

.auth-password-strength[data-level="2"] .auth-password-strength-bar {
    width: 50%;
    background: rgb(251 191 36);
}

.auth-password-strength[data-level="3"] .auth-password-strength-bar {
    width: 75%;
    background: rgb(52 211 153);
}

.auth-password-strength[data-level="4"] .auth-password-strength-bar {
    width: 100%;
    background: rgb(5 150 105);
}

.auth-password-strength-label {
    margin: 0.3125rem 0 0;
    font-size: 0.6875rem;
    font-weight: 600;
    color: var(--auth-muted);
}

.auth-callout {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    padding: 0.85rem 0.95rem;
    border-radius: 0.85rem;
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.45;
}

.auth-callout-brand {
    border: 1px solid rgb(167 243 208);
    background: rgb(236 253 245);
    color: rgb(6 95 70);
}

.auth-callout-warn {
    border: 1px solid rgb(253 230 138);
    background: rgb(255 251 235);
    color: rgb(146 64 14);
}

.auth-callout-icon {
    flex: 0 0 auto;
    margin-top: 0.05rem;
    line-height: 1;
}

.auth-card-footer {
    padding: 1rem 1.35rem 1.25rem;
    border-top: 1px solid rgb(241 245 249);
    text-align: center;
    font-size: 0.875rem;
    color: var(--auth-muted);
}

.auth-card-footer a {
    font-weight: 700;
    color: var(--auth-brand-dark);
    text-decoration: none;
}

.auth-card-footer a:hover {
    text-decoration: underline;
}

.auth-trust {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.35rem 0.85rem;
    margin: 1.15rem 0 0;
    padding: 0;
    list-style: none;
    font-size: 0.6875rem;
    font-weight: 600;
    color: rgb(148 163 184);
    line-height: 1.4;
    animation: auth-in 0.5s ease-out 0.1s both;
}

.auth-trust li {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}

.auth-trust-sep {
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: rgb(203 213 225);
}

.auth-form.is-submitting .form-btn[type="submit"] {
    opacity: 0.85;
    pointer-events: none;
}

@media (min-width: 640px) {
    .auth-page {
        padding: 2.5rem 1.25rem 3rem;
    }

    .auth-card-header {
        padding: 1.5rem 1.75rem 1.35rem;
    }

    .auth-card-body {
        padding: 1.6rem 1.75rem 1.75rem;
    }

    .auth-card-footer {
        padding: 1.1rem 1.75rem 1.35rem;
    }

    .auth-card-title {
        font-size: 1.625rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .auth-brand,
    .auth-card,
    .auth-trust {
        animation: none !important;
    }
}

/* ===== Register page ===== */
.register-page {
    --register-field-gap: 1.25rem;
    --register-block-gap: 1.5rem;
    --register-panel-gap: 0.5rem;
}

.register-page.auth-page {
    display: block;
    place-items: unset;
    padding: 2rem 1rem 2.75rem;
}

.register-page .auth-page-inner,
.register-page .register-shell {
    max-width: var(--auth-max);
    margin: 0 auto;
}

.register-page .register-card,
.register-page .auth-card {
    animation: auth-in 0.5s ease-out;
}

.register-page .register-header,
.register-page .auth-card-header {
    position: relative;
}

.register-page .register-progress-bar {
    transition-duration: 0.4s;
}

/* Stepper */
.register-stepper-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    text-align: center;
    cursor: default;
}

.register-stepper-dot {
    display: grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border-radius: 9999px;
    border: 2px solid rgb(255 255 255 / 0.35);
    background: rgb(255 255 255 / 0.08);
    font-size: 0.75rem;
    font-weight: 800;
    color: rgb(255 255 255 / 0.75);
    transition: background-color 0.25s ease, border-color 0.25s ease, transform 0.25s ease, color 0.25s ease;
}

.register-stepper-label {
    font-size: 0.6875rem;
    font-weight: 700;
    color: rgb(255 255 255 / 0.65);
    line-height: 1.2;
    transition: color 0.25s ease;
}

.register-stepper-item.is-active .register-stepper-dot {
    border-color: rgb(255 255 255 / 0.9);
    background: rgb(255 255 255 / 0.2);
    color: #fff;
}

.register-stepper-item.is-current .register-stepper-dot {
    background: #fff;
    border-color: #fff;
    color: rgb(4 120 87);
    transform: scale(1.08);
    box-shadow: none;
}

.register-stepper-item.is-current .register-stepper-label {
    color: #fff;
}

.register-stepper-item.is-done {
    cursor: pointer;
}

.register-stepper-item.is-done .register-stepper-dot {
    background: rgb(255 255 255 / 0.95);
    border-color: rgb(255 255 255 / 0.95);
    color: rgb(4 120 87);
}

.register-stepper-item.is-done .register-stepper-dot::after {
    content: "\2713";
    font-size: 0.8125rem;
}

.register-stepper-item.is-done .register-stepper-dot {
    font-size: 0;
}

/* Panels */
.register-panel {
    display: none;
    animation: register-panel-in 0.35s ease-out;
}

.register-panel.is-active {
    display: block;
}

.register-panel[hidden] {
    display: none !important;
}

@keyframes register-panel-in {
    from { opacity: 0; transform: translateX(10px); }
    to { opacity: 1; transform: translateX(0); }
}

.register-panel-title {
    font-size: 1.125rem;
    font-weight: 800;
    color: rgb(15 23 42);
    letter-spacing: -0.01em;
}

.register-panel-lead {
    margin-top: var(--register-panel-gap);
    font-size: 0.875rem;
    line-height: 1.55;
    color: rgb(100 116 139);
}

.register-stack {
    display: flex;
    flex-direction: column;
    gap: var(--register-field-gap);
    margin-top: var(--register-block-gap);
}

.register-stack-tight {
    margin-top: var(--register-block-gap);
}

/* Callout boxes */
.register-callout {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    margin-top: var(--register-block-gap);
    padding: 0.875rem 1rem;
    border-radius: 0.875rem;
    font-size: 0.875rem;
    line-height: 1.5;
}

.register-callout-brand {
    border: 1px solid rgb(167 243 208);
    background: rgb(236 253 245);
    color: rgb(6 95 70);
}

.register-callout-warn {
    border: 1px solid rgb(253 230 138);
    background: rgb(255 251 235);
    color: rgb(146 64 14);
}

.register-callout-icon {
    flex-shrink: 0;
    margin-top: 0.125rem;
}

.register-callout-icon .bi {
    font-size: 1.125rem;
    line-height: 1;
}

/* OTP row */
.register-otp-row {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
}

.register-otp-row .form-btn {
    min-height: var(--form-height);
    min-width: 100%;
}

.register-otp-input {
    text-align: center;
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: 0.35em;
}

.register-otp-hint {
    margin-top: 0.625rem;
    padding: 0.625rem 0.875rem;
    border-radius: 0.75rem;
    font-size: 0.8125rem;
    font-weight: 700;
    line-height: 1.45;
}

.register-otp-hint.is-ok {
    background: rgb(236 253 245);
    color: rgb(6 95 70);
}

.register-otp-hint.is-error {
    background: rgb(255 241 242);
    color: rgb(190 18 60);
}

.register-otp-hint.is-dev {
    background: rgb(255 251 235);
    color: rgb(146 64 14);
}

.register-otp-hint.hidden {
    display: none;
}

@media (min-width: 640px) {
    .register-otp-row {
        flex-direction: row;
        align-items: stretch;
    }
    .register-otp-row .form-btn {
        min-width: 9rem;
        flex-shrink: 0;
    }
}

/* Summary */
.register-summary {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-top: var(--register-block-gap);
    margin-bottom: var(--register-block-gap);
    border: 1px solid rgb(226 232 240);
    border-radius: 0.875rem;
    background: rgb(248 250 252);
    overflow: hidden;
}

.register-summary-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.875rem 1rem;
    border-bottom: 1px solid rgb(226 232 240);
}

.register-summary-row:last-child {
    border-bottom: 0;
}

.register-summary-label {
    flex-shrink: 0;
    font-size: 0.8125rem;
    font-weight: 600;
    color: rgb(100 116 139);
}

.register-summary-value {
    text-align: right;
    font-size: 0.875rem;
    font-weight: 700;
    color: rgb(15 23 42);
    word-break: break-word;
}

/* Captcha row Ã¢â‚¬â€ legacy alias */
.register-captcha-row {
    gap: 0.75rem;
}

/* Field errors */
.register-field-error {
    margin-top: 0.5rem;
    font-size: 0.8125rem;
    font-weight: 600;
    color: rgb(225 29 72);
    line-height: 1.4;
}

.register-field-error.hidden {
    display: none;
}

.form-control.is-invalid {
    border-color: rgb(244 63 94);
    box-shadow: 0 0 0 3px rgb(255 228 230);
}

/* Footer actions */
.register-footer {
    border-top: 1px solid rgb(241 245 249);
    padding-top: 1.25rem;
}

.register-actions {
    display: flex;
    flex-direction: column-reverse;
    gap: 0.625rem;
}

.register-actions .form-btn {
    width: 100%;
    min-height: var(--form-height);
}

@media (min-width: 640px) {
    .register-actions {
        flex-direction: row;
        justify-content: flex-end;
        align-items: center;
        gap: 0.75rem;
    }
    .register-actions .register-btn-back {
        margin-right: auto;
        width: auto;
        min-width: 7rem;
    }
    .register-actions .register-btn-next,
    .register-actions .register-btn-submit {
        width: auto;
        min-width: 9rem;
    }
}

.register-section {
    border: 0;
    margin: 0;
    padding: 0;
    min-width: 0;
}

@media (prefers-reduced-motion: reduce) {
    .register-page .register-card,
    .register-page .auth-card,
    .register-panel.is-active {
        animation: none !important;
    }
    .register-stepper-dot,
    .register-progress-bar {
        transition: none !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .landing-blob, .landing-float-card, .landing-phone-glow, .reveal-up {
        animation: none !important;
        transition: none !important;
        opacity: 1 !important;
        transform: none !important;
    }
}

/* ===== Admin portal ===== */
:root {
    --admin-ink: #0b1220;
    --admin-ink-soft: #152033;
    --admin-surface: #eef1f6;
    --admin-surface-2: #f7f8fb;
    --admin-card: #ffffff;
    --admin-line: rgb(15 23 42 / 0.08);
    --admin-text: #0f172a;
    --admin-muted: #64748b;
    --admin-accent: #c2410c;
    --admin-accent-2: #ea580c;
    --admin-accent-soft: rgb(234 88 12 / 0.12);
    --admin-ok: #047857;
    --admin-ok-soft: rgb(4 120 87 / 0.12);
    --admin-warn: #b45309;
    --admin-warn-soft: rgb(180 83 9 / 0.12);
    --admin-radius: 1.125rem;
    --admin-radius-sm: 0.75rem;
    --admin-topbar-h: 3.75rem;
    --admin-sidebar-w: 16.5rem;
    --admin-mobile-nav-h: 4.25rem;
    --admin-font: "Plus Jakarta Sans", system-ui, sans-serif;
    /* Type scale Ã¢â‚¬â€ compact, clear hierarchy */
    --admin-fs-2xs: 0.625rem;   /* 10 */
    --admin-fs-xs: 0.6875rem;   /* 11 labels / badges */
    --admin-fs-sm: 0.75rem;     /* 12 meta / hints */
    --admin-fs-md: 0.8125rem;   /* 13 buttons / table */
    --admin-fs-base: 0.875rem;  /* 14 body / lead */
    --admin-fs-lg: 0.9375rem;   /* 15 emphasis */
    --admin-fs-xl: 1rem;        /* 16 panel / KPI */
    --admin-fs-2xl: 1.125rem;   /* 18 page title */
    --admin-fs-hero: 1.25rem;   /* 20 hero title */
    --admin-lh-tight: 1.2;
    --admin-lh-body: 1.5;
}

/* SPA nav Ã¢â‚¬â€ fokus menu aktif */
[data-spa-nav-item].is-spa-active {
    position: relative;
}

.spa-mobile-nav [data-spa-nav-item].is-spa-active::after {
    content: none;
}

.admin-body .spa-mobile-nav [data-spa-nav-item].is-spa-active::after {
    display: none;
}

/* —— Auth (selaras struktur login penjual, identitas portal admin) —— */
.admin-auth-body {
    min-height: 100vh;
    min-height: 100dvh;
    margin: 0;
    color: #fff;
    font-family: var(--admin-font);
    background: #0f172a;
}

.admin-auth-shell {
    position: relative;
    display: grid;
    min-height: 100vh;
    min-height: 100dvh;
    place-items: center;
    padding: 2rem 1rem 2.5rem;
    overflow: hidden;
}

.admin-auth-atmosphere {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(ellipse 70% 45% at 50% -8%, rgb(234 88 12 / 0.22), transparent 55%),
        radial-gradient(ellipse 40% 35% at 100% 100%, rgb(15 23 42 / 0.9), transparent 50%),
        linear-gradient(180deg, #0b1220 0%, #111827 55%, #0f172a 100%);
}

.admin-auth-atmosphere::after {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0.4;
    background-image: radial-gradient(rgb(148 163 184 / 0.16) 1px, transparent 1px);
    background-size: 22px 22px;
    mask-image: linear-gradient(180deg, rgb(0 0 0 / 0.55), transparent 88%);
}

.admin-auth-stage {
    position: relative;
    z-index: 1;
    width: min(100%, 28rem);
}

.admin-auth-page.auth-page {
    display: block;
    place-items: unset;
    min-height: 0;
    padding: 0;
    overflow: visible;
    background: transparent;
    isolation: auto;
}

.admin-auth-page {
    width: 100%;
    animation: admin-auth-in 0.5s ease-out both;
}

@keyframes admin-auth-in {
    from { opacity: 0; transform: translateY(14px); }
    to { opacity: 1; transform: translateY(0); }
}

.admin-auth-brand-link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    margin: 0 0 1.5rem;
    text-decoration: none;
    color: #fff;
}

.admin-auth-brand-link .site-brand-mark--fallback {
    box-shadow: none;
}

.admin-auth-card {
    overflow: hidden;
    border: 1px solid rgb(255 255 255 / 0.1);
    border-radius: 1.125rem;
    background: #fff;
    box-shadow:
        0 1px 2px rgb(0 0 0 / 0.12),
        0 22px 48px -28px rgb(0 0 0 / 0.55);
}

.admin-auth-card-header {
    position: relative;
    padding: 1.35rem 1.35rem 1.25rem;
    background: linear-gradient(135deg, #c2410c 0%, #9a3412 55%, #7c2d12 100%);
    color: #fff;
}

.admin-auth-card-header::after {
    content: "";
    position: absolute;
    right: -18%;
    top: -36%;
    width: 11rem;
    height: 11rem;
    border-radius: 50%;
    background: rgb(255 255 255 / 0.08);
    pointer-events: none;
}

.admin-auth-card-kicker {
    margin: 0;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgb(254 215 170);
    line-height: 1.2;
}

.admin-auth-card-title {
    margin: 0.35rem 0 0;
    font-size: 1.5rem;
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1.2;
    color: #fff;
}

.admin-auth-card-lead {
    margin: 0.4rem 0 0;
    max-width: 28rem;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.5;
    color: rgb(254 215 170 / 0.95);
}

.admin-auth-card-body {
    padding: 1.35rem 1.35rem 1.5rem;
    background: #fff;
}

.admin-auth-form {
    display: flex;
    flex-direction: column;
    gap: 1.125rem;
}

.admin-auth-form .form-field {
    margin: 0;
}

.admin-auth-form .form-label,
.admin-auth-form .form-field label {
    color: rgb(51 65 85);
}

.admin-auth-form .form-control {
    border-color: rgb(226 232 240);
    background: #fff;
    color: rgb(15 23 42);
}

.admin-auth-form .form-control::placeholder {
    color: rgb(148 163 184);
}

.admin-auth-form .form-control:focus {
    border-color: rgb(234 88 12);
    box-shadow: 0 0 0 3px rgb(234 88 12 / 0.16);
}

.admin-auth-form .form-hint {
    color: rgb(100 116 139);
}

.admin-auth-form .captcha-group {
    width: 100%;
}

.admin-auth-form .auth-password-input .form-control {
    padding-right: 2.75rem;
}

.admin-auth-password-toggle {
    color: rgb(100 116 139);
}

.admin-auth-password-toggle:hover {
    background: rgb(241 245 249);
    color: rgb(15 23 42);
}

.admin-auth-card-footer {
    padding: 1rem 1.35rem 1.25rem;
    border-top: 1px solid rgb(241 245 249);
    text-align: center;
    background: #fff;
}

.admin-auth-card-footer p {
    margin: 0;
    font-size: 0.875rem;
    color: rgb(100 116 139);
}

.admin-auth-card-footer a {
    font-weight: 700;
    color: #c2410c;
    text-decoration: none;
}

.admin-auth-card-footer a:hover {
    text-decoration: underline;
}

.admin-auth-note {
    margin-top: 0.45rem !important;
    font-size: 0.75rem !important;
    color: rgb(148 163 184) !important;
}

.admin-auth-trust {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.35rem 0.85rem;
    margin: 1.15rem 0 0;
    padding: 0;
    list-style: none;
    font-size: 0.6875rem;
    font-weight: 600;
    color: rgb(148 163 184);
    line-height: 1.4;
}

.admin-auth-trust li {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}

.admin-auth-trust-sep {
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: rgb(71 85 105);
}

.admin-auth-form.is-submitting .form-btn[type="submit"] {
    opacity: 0.85;
    pointer-events: none;
}

@media (min-width: 640px) {
    .admin-auth-shell {
        padding: 2.5rem 1.25rem 3rem;
    }

    .admin-auth-card-header {
        padding: 1.5rem 1.75rem 1.35rem;
    }

    .admin-auth-card-body {
        padding: 1.6rem 1.75rem 1.75rem;
    }

    .admin-auth-card-footer {
        padding: 1.1rem 1.75rem 1.35rem;
    }

    .admin-auth-card-title {
        font-size: 1.625rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .admin-auth-page {
        animation: none !important;
    }
}

/* Ã¢â‚¬â€Ã¢â‚¬â€ Shell Ã¢â‚¬â€Ã¢â‚¬â€ */
.admin-body {
    min-height: 100vh;
    min-height: 100dvh;
    margin: 0;
    color: var(--admin-text);
    font-family: var(--admin-font);
    font-size: var(--admin-fs-base);
    line-height: var(--admin-lh-body);
    max-width: 100%;
    overflow-x: clip;
    background:
        radial-gradient(900px 360px at 0% 0%, rgb(234 88 12 / 0.08), transparent 55%),
        radial-gradient(700px 320px at 100% 0%, rgb(14 165 233 / 0.07), transparent 50%),
        linear-gradient(180deg, #f8fafc 0%, var(--admin-surface) 40%, #e8edf5 100%);
}

.admin-topbar {
    position: sticky;
    top: 0;
    z-index: 50;
    height: var(--admin-topbar-h);
    border-bottom: 1px solid var(--admin-line);
    background: rgb(255 255 255 / 0.88);
    backdrop-filter: blur(14px);
}

.admin-topbar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    height: 100%;
    max-width: 88rem;
    margin: 0 auto;
    padding: 0 1rem;
}

@media (min-width: 1024px) {
    .admin-topbar-inner {
        padding: 0 1.5rem;
    }
}

.admin-topbar-brand {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
    text-decoration: none;
    color: inherit;
}

.admin-topbar-brand-mark {
    display: grid;
    place-items: center;
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 0.75rem;
    font-size: var(--admin-fs-base);
    font-weight: 800;
    color: #fff;
    background: linear-gradient(145deg, var(--admin-accent-2), #9a3412);
    box-shadow: 0 8px 18px rgb(234 88 12 / 0.28);
}

.admin-topbar-brand-kicker {
    display: block;
    font-size: var(--admin-fs-2xs);
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--admin-accent);
}

.admin-topbar-brand-name {
    display: block;
    font-size: var(--admin-fs-lg);
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: var(--admin-lh-tight);
    color: var(--admin-ink);
}

.admin-topbar-meta {
    display: flex;
    align-items: center;
    gap: 0.65rem;
}

.admin-topbar-pill {
    display: none;
    align-items: center;
    gap: 0.4rem;
    padding: 0.3rem 0.7rem;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 700;
    color: var(--admin-ok);
    background: var(--admin-ok-soft);
}

@media (min-width: 640px) {
    .admin-topbar-pill {
        display: inline-flex;
    }
}

.admin-topbar-pill-dot {
    width: 0.4rem;
    height: 0.4rem;
    border-radius: 999px;
    background: var(--admin-ok);
    box-shadow: 0 0 0 3px rgb(4 120 87 / 0.15);
}

.admin-topbar-user {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    min-width: 0;
    padding: 0.2rem 0.35rem 0.2rem 0.2rem;
    margin-right: -0.2rem;
    border-radius: 999px;
    text-decoration: none;
    color: inherit;
    transition: background 0.15s ease;
}

.admin-topbar-user:hover {
    background: rgb(15 23 42 / 0.05);
}

.admin-topbar-avatar {
    display: grid;
    place-items: center;
    width: 2.15rem;
    height: 2.15rem;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #fff;
    background: linear-gradient(145deg, #1e293b, #0f172a);
}

.admin-topbar-user-text {
    display: none;
    min-width: 0;
}

@media (min-width: 768px) {
    .admin-topbar-user-text {
        display: grid;
    }
}

.admin-topbar-user-name {
    font-size: 0.8125rem;
    font-weight: 700;
    line-height: 1.2;
    color: var(--admin-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 10rem;
}

.admin-topbar-user-role {
    font-size: 0.6875rem;
    color: var(--admin-muted);
}

.admin-shell {
    display: grid;
    gap: 1rem;
    width: 100%;
    max-width: 88rem;
    min-width: 0;
    margin: 0 auto;
    padding: 1rem max(0.75rem, env(safe-area-inset-left, 0px)) calc(var(--admin-mobile-nav-h) + 1.25rem) max(0.75rem, env(safe-area-inset-right, 0px));
    box-sizing: border-box;
    overflow-x: clip;
}

@media (min-width: 1024px) {
    .admin-shell {
        grid-template-columns: var(--admin-sidebar-w) minmax(0, 1fr);
        gap: 1.5rem;
        padding: 1.25rem 1.5rem 2rem;
        align-items: start;
    }
}

.admin-sidebar {
    display: none;
}

@media (min-width: 1024px) {
    .admin-sidebar {
        display: block;
        position: sticky;
        top: calc(var(--admin-topbar-h) + 1rem);
        align-self: start;
        max-height: calc(100vh - var(--admin-topbar-h) - 2rem);
        min-height: 0;
    }
}

.admin-sidebar-panel {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1.1rem;
    border: 1px solid var(--admin-line);
    border-radius: var(--admin-radius);
    background:
        linear-gradient(180deg, rgb(255 255 255 / 0.96) 0%, rgb(248 250 252 / 0.98) 100%);
    box-shadow: 0 10px 30px rgb(15 23 42 / 0.04);
    max-height: inherit;
    min-height: 0;
    overflow: hidden;
}

.admin-sidebar-head {
    flex-shrink: 0;
}

.admin-sidebar-kicker {
    margin: 0;
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--admin-accent);
}

.admin-sidebar-title {
    margin: 0.2rem 0 0;
    font-size: var(--admin-fs-xl);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--admin-ink);
}

.admin-sidebar-nav {
    --admin-nav-scroll-w: 0.35rem;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scroll-behavior: smooth;
    /* Scrollbar overlay: ruang digeser ke padding, layout menu tetap */
    margin-right: calc(var(--admin-nav-scroll-w) * -1);
    padding-right: var(--admin-nav-scroll-w);
    scrollbar-width: thin;
    scrollbar-color: transparent transparent;
    transition: scrollbar-color 0.2s ease;
}

.admin-nav-group {
    display: grid;
    gap: 0.28rem;
}

.admin-nav-group-label {
    margin: 0;
    padding: 0 0.55rem 0.15rem;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #94a3b8;
}

.admin-nav-group-items {
    display: grid;
    gap: 0.22rem;
}

.admin-nav-group + .admin-nav-group {
    padding-top: 0.15rem;
    border-top: 1px solid rgb(226 232 240 / 0.85);
}

.admin-sidebar-nav:hover,
.admin-sidebar-nav:focus-within,
.admin-sidebar-nav.is-scrolling {
    scrollbar-color: rgb(148 163 184 / 0.75) transparent;
}

.admin-sidebar-nav::-webkit-scrollbar {
    width: var(--admin-nav-scroll-w);
    height: var(--admin-nav-scroll-w);
}

.admin-sidebar-nav::-webkit-scrollbar-track {
    background: transparent;
    margin-block: 0.15rem;
}

.admin-sidebar-nav::-webkit-scrollbar-thumb {
    background: transparent;
    border-radius: 999px;
    border: 2px solid transparent;
    background-clip: padding-box;
    transition: background-color 0.2s ease;
}

.admin-sidebar-nav:hover::-webkit-scrollbar-thumb,
.admin-sidebar-nav:focus-within::-webkit-scrollbar-thumb,
.admin-sidebar-nav.is-scrolling::-webkit-scrollbar-thumb {
    background-color: rgb(148 163 184 / 0.72);
    border: 2px solid transparent;
    background-clip: padding-box;
}

.admin-sidebar-nav:hover::-webkit-scrollbar-thumb:hover,
.admin-sidebar-nav.is-scrolling::-webkit-scrollbar-thumb:hover {
    background-color: rgb(100 116 139 / 0.9);
}

.admin-nav-link {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0.7rem 0.8rem;
    border-radius: var(--admin-radius-sm);
    font-size: var(--admin-fs-base);
    font-weight: 700;
    color: #334155;
    text-decoration: none;
    transition: background 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.admin-nav-link:hover {
    background: rgb(15 23 42 / 0.04);
    color: var(--admin-ink);
}

.admin-nav-link.is-active {
    color: #9a3412;
    background: linear-gradient(135deg, rgb(255 237 213 / 0.95), rgb(254 215 170 / 0.55));
    box-shadow: inset 0 0 0 1px rgb(234 88 12 / 0.18);
}

.admin-nav-icon {
    display: grid;
    place-items: center;
    width: 1.85rem;
    height: 1.85rem;
    border-radius: 0.55rem;
    background: rgb(15 23 42 / 0.05);
    color: #475569;
}

.admin-nav-link.is-active .admin-nav-icon {
    background: rgb(234 88 12 / 0.15);
    color: #c2410c;
}

.admin-nav-icon-i {
    font-size: 1rem;
    line-height: 1;
}

.admin-sidebar-foot {
    flex-shrink: 0;
    margin-top: auto;
    padding-top: 0.5rem;
    border-top: 1px solid var(--admin-line);
}

.admin-logout-btn {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    width: 100%;
    padding: 0.7rem 0.8rem;
    border: 0;
    border-radius: var(--admin-radius-sm);
    background: transparent;
    color: #be123c;
    font: inherit;
    font-size: 0.875rem;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.18s ease;
}

.admin-logout-btn:hover {
    background: rgb(244 63 94 / 0.1);
}

.admin-main {
    min-width: 0;
    max-width: 100%;
    overflow-x: clip;
}

.admin-page {
    display: grid;
    gap: 1.25rem;
    min-width: 0;
    max-width: 100%;
    animation: admin-fade-up 0.4s ease both;
}

.admin-page-head {
    display: grid;
    gap: 0.35rem;
}

.admin-page-kicker {
    margin: 0;
    font-size: var(--admin-fs-xs);
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--admin-accent);
}

.admin-page-title {
    margin: 0;
    font-size: var(--admin-fs-2xl);
    font-weight: 800;
    letter-spacing: -0.03em;
    color: var(--admin-ink);
}

.admin-page-desc {
    margin: 0;
    max-width: 40rem;
    font-size: var(--admin-fs-base);
    line-height: var(--admin-lh-body);
    color: var(--admin-muted);
}

.admin-hero {
    display: grid;
    gap: 1.25rem;
    padding: 1.35rem 1.25rem;
    border: 1px solid rgb(15 23 42 / 0.08);
    border-radius: calc(var(--admin-radius) + 0.15rem);
    background:
        linear-gradient(135deg, rgb(15 23 42 / 0.96) 0%, rgb(30 41 59 / 0.94) 55%, rgb(67 20 7 / 0.9) 100%);
    color: #fff;
    box-shadow: 0 18px 40px rgb(15 23 42 / 0.16);
    overflow: hidden;
    position: relative;
}

.admin-hero::before {
    content: "";
    position: absolute;
    inset: auto -10% -40% 40%;
    height: 160%;
    background: radial-gradient(circle, rgb(251 146 60 / 0.28), transparent 60%);
    pointer-events: none;
}

.admin-hero-copy,
.admin-hero-actions {
    position: relative;
    z-index: 1;
}

@media (min-width: 768px) {
    .admin-hero {
        grid-template-columns: 1fr auto;
        align-items: end;
        padding: 1.6rem 1.5rem;
    }
}

.admin-hero-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0.6rem;
    border-radius: 999px;
    font-size: var(--admin-fs-xs);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgb(254 215 170);
    background: rgb(255 255 255 / 0.08);
    border: 1px solid rgb(255 255 255 / 0.1);
}

.admin-hero-greet {
    margin: 0.75rem 0 0;
    font-size: var(--admin-fs-base);
    color: rgb(203 213 225);
}

.admin-hero-title {
    margin: 0.2rem 0 0;
    font-size: var(--admin-fs-hero);
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: var(--admin-lh-tight);
}

.admin-hero-lead {
    margin: 0.4rem 0 0;
    max-width: 34rem;
    font-size: var(--admin-fs-base);
    line-height: var(--admin-lh-body);
    color: rgb(203 213 225);
}

.admin-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.admin-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    min-height: 2.4rem;
    padding: 0.55rem 0.95rem;
    border-radius: 0.7rem;
    border: 1px solid transparent;
    font-size: var(--admin-fs-md);
    font-weight: 700;
    text-decoration: none;
    transition: transform 0.15s ease, background 0.15s ease, border-color 0.15s ease;
}

.admin-btn:hover {
    transform: translateY(-1px);
}

.admin-btn--sm {
    min-height: 2.1rem;
    padding: 0.4rem 0.75rem;
    font-size: var(--admin-fs-sm);
}

.admin-btn--primary {
    color: #fff;
    background: linear-gradient(135deg, var(--admin-accent-2), #9a3412);
    box-shadow: 0 8px 18px rgb(234 88 12 / 0.28);
}

.admin-btn--ghost {
    color: #fff;
    border-color: rgb(255 255 255 / 0.18);
    background: rgb(255 255 255 / 0.08);
}

.admin-page .admin-btn--ghost {
    color: var(--admin-text);
    border-color: var(--admin-line);
    background: #fff;
}

.admin-hero .admin-btn--ghost {
    color: #fff;
    border-color: rgb(255 255 255 / 0.18);
    background: rgb(255 255 255 / 0.08);
}

.admin-btn-icon {
    font-size: 0.95rem;
    line-height: 1;
}

.admin-kpi-grid {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width: 1024px) {
    .admin-kpi-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.admin-kpi-card {
    padding: 1rem 1.05rem;
    border: 1px solid var(--admin-line);
    border-radius: var(--admin-radius);
    background: linear-gradient(180deg, #fff 0%, var(--admin-surface-2) 100%);
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.admin-kpi-card--link {
    display: block;
    text-decoration: none;
    color: inherit;
    cursor: pointer;
}

.admin-kpi-card--link:hover {
    border-color: rgb(14 165 233 / 0.35);
}

.admin-kpi-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgb(15 23 42 / 0.06);
}

.admin-overview-sellers-actions {
    min-width: 0;
    justify-content: center;
}

.admin-overview-sellers-table .admin-sellers-shop {
    max-width: 16rem;
}

.admin-kpi-head {
    display: flex;
    align-items: center;
    gap: 0.55rem;
}

.admin-kpi-icon {
    display: grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border-radius: 0.6rem;
    background: var(--admin-accent-soft);
    color: var(--admin-accent);
}

.admin-kpi-card--sellers .admin-kpi-icon { background: rgb(14 165 233 / 0.12); color: #0369a1; }
.admin-kpi-card--products .admin-kpi-icon { background: rgb(16 185 129 / 0.12); color: #047857; }
.admin-kpi-card--orders .admin-kpi-icon { background: rgb(245 158 11 / 0.14); color: #b45309; }
.admin-kpi-card--revenue .admin-kpi-icon { background: rgb(234 88 12 / 0.12); color: #c2410c; }

.admin-kpi-icon-i {
    font-size: 1rem;
    line-height: 1;
}

.admin-kpi-label {
    margin: 0;
    font-size: var(--admin-fs-xs);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--admin-muted);
}

.admin-kpi-value {
    margin: 0.5rem 0 0;
    font-size: var(--admin-fs-xl);
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: var(--admin-lh-tight);
    color: var(--admin-ink);
}

.admin-kpi-hint {
    margin: 0.25rem 0 0;
    font-size: var(--admin-fs-sm);
    color: var(--admin-muted);
}

.admin-overview-grid {
    display: grid;
    gap: 1rem;
}

@media (min-width: 1024px) {
    .admin-overview-grid {
        grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
        align-items: start;
    }
}

.admin-panel {
    padding: 1.15rem 1.15rem 1.2rem;
    border: 1px solid var(--admin-line);
    border-radius: var(--admin-radius);
    background: #fff;
    box-shadow: 0 8px 24px rgb(15 23 42 / 0.03);
}

.admin-panel-head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 1rem;
    min-width: 0;
}

.admin-panel-head > :first-child {
    min-width: 0;
    flex: 1 1 12rem;
}

.admin-panel-title {
    margin: 0;
    font-size: var(--admin-fs-xl);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--admin-ink);
}

.admin-panel-desc {
    margin: 0.25rem 0 0;
    font-size: var(--admin-fs-md);
    color: var(--admin-muted);
}

.admin-panel-link {
    flex-shrink: 0;
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--admin-accent);
    text-decoration: none;
}

.admin-panel-link:hover {
    text-decoration: underline;
}

.admin-panel-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--admin-line);
}

.admin-status-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.55rem;
}

.admin-status-item {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 0.8rem;
    border-radius: var(--admin-radius-sm);
    background: var(--admin-surface-2);
    border: 1px solid rgb(15 23 42 / 0.04);
}

.admin-status-icon {
    display: grid;
    place-items: center;
    width: 2.1rem;
    height: 2.1rem;
    border-radius: 0.6rem;
    background: #fff;
    color: var(--admin-accent);
    border: 1px solid var(--admin-line);
}

.admin-status-icon-i {
    font-size: 1rem;
    line-height: 1;
}

.admin-status-label {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--admin-muted);
}

.admin-status-value {
    margin: 0.15rem 0 0;
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--admin-text);
}

.admin-status-value--warn {
    color: var(--admin-warn);
}

.admin-status-link {
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--admin-accent);
    text-decoration: none;
}

.admin-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    font-size: var(--admin-fs-xs);
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.admin-badge--ok {
    color: var(--admin-ok);
    background: var(--admin-ok-soft);
}

.admin-badge--warn {
    color: var(--admin-warn);
    background: var(--admin-warn-soft);
}

.admin-badge--danger {
    color: #be123c;
    background: rgb(244 63 94 / 0.12);
}

.admin-page-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.admin-callout {
    padding: 0.85rem 1rem;
    border-radius: var(--admin-radius-sm);
    border: 1px solid var(--admin-line);
    background: var(--admin-surface-2);
    font-size: 0.8125rem;
    line-height: 1.5;
    color: #475569;
}

.admin-callout code {
    font-size: 0.75rem;
}

.admin-callout--ok {
    border-color: rgb(4 120 87 / 0.2);
    background: rgb(236 253 245 / 0.7);
    color: #065f46;
}

.admin-panel--muted {
    background: var(--admin-surface-2);
}

.admin-steps {
    margin: 0.75rem 0 0;
    padding-left: 1.15rem;
    font-size: 0.8125rem;
    color: var(--admin-muted);
    display: grid;
    gap: 0.35rem;
}

.admin-steps a {
    font-weight: 700;
    color: var(--admin-accent);
    text-decoration: none;
}

.admin-steps a:hover {
    text-decoration: underline;
}

.admin-table--wide {
    min-width: 640px;
}

.admin-table-center {
    text-align: center;
}

.admin-table-strong {
    font-weight: 800;
}

.admin-page--narrow {
    max-width: 40rem;
}

.admin-empty {
    padding: 1.5rem 0.5rem;
    text-align: center;
}

.admin-empty-title {
    margin: 0;
    font-size: var(--admin-fs-lg);
    font-weight: 800;
    color: var(--admin-text);
}

.admin-empty-desc {
    margin: 0.35rem 0 0;
    font-size: var(--admin-fs-md);
    color: var(--admin-muted);
}

.admin-table-wrap {
    overflow-x: auto;
    margin: 0 -0.25rem;
    padding: 0 0.25rem;
    max-width: 100%;
    min-width: 0;
    -webkit-overflow-scrolling: touch;
}

.admin-table {
    width: 100%;
    min-width: 520px;
    border-collapse: collapse;
    text-align: left;
    font-size: var(--admin-fs-md);
}

/* Tabel Ã¢â€ â€™ kartu di mobile (pakai data-label pada <td>) */
@media (max-width: 767px) {
    .admin-table-wrap:has(.admin-table--cards) {
        overflow-x: visible;
        margin: 0;
        padding: 0;
    }

    .admin-table--cards,
    .admin-table--cards.admin-table--wide {
        min-width: 0 !important;
        width: 100%;
    }

    .admin-table--cards thead {
        display: none;
    }

    .admin-table--cards tbody {
        display: grid;
        gap: 0.75rem;
    }

    .admin-table--cards tr {
        display: grid;
        gap: 0.55rem;
        padding: 0.9rem 0.95rem;
        border: 1px solid var(--admin-line);
        border-radius: var(--admin-radius);
        background: linear-gradient(180deg, #fff 0%, var(--admin-surface-2) 100%);
    }

    .admin-table--cards td {
        display: grid;
        grid-template-columns: minmax(5.25rem, 32%) minmax(0, 1fr);
        gap: 0.5rem;
        align-items: center;
        border: 0;
        padding: 0;
        min-width: 0;
    }

    .admin-table--cards td::before {
        content: attr(data-label);
        font-size: var(--admin-fs-sm);
        font-weight: 700;
        color: var(--admin-muted);
        line-height: 1.3;
    }

    .admin-table--cards .admin-table-center {
        text-align: left;
    }

    .admin-table--cards td > * {
        min-width: 0;
        max-width: 100%;
    }
}

@media (max-width: 419px) {
    .admin-table--cards td,
    .admin-tf-table td,
    .admin-banks-table td,
    .admin-pbal-table td {
        grid-template-columns: 1fr;
        gap: 0.2rem;
        align-items: start;
    }
}

.admin-table th {
    padding: 0.55rem 0.65rem 0.7rem 0;
    border-bottom: 1px solid var(--admin-line);
    font-size: var(--admin-fs-xs);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--admin-muted);
    vertical-align: middle;
}

.admin-table td {
    padding: 0.8rem 0.65rem 0.8rem 0;
    border-bottom: 1px solid rgb(15 23 42 / 0.04);
    vertical-align: middle;
    color: var(--admin-text);
}

.admin-table tr:last-child td {
    border-bottom: 0;
}

.admin-table-primary {
    margin: 0;
    font-weight: 700;
    color: var(--admin-ink);
}

.admin-table-meta {
    margin: 0.15rem 0 0;
    font-size: var(--admin-fs-sm);
    color: var(--admin-muted);
}

.admin-table-mono {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: var(--admin-fs-sm);
}

/* Content cards on nested admin pages */
.admin-page .rounded-2xl.border.border-slate-200.bg-white,
.admin-page form.rounded-2xl.border.border-slate-200.bg-white,
.admin-page section.rounded-2xl.border.border-slate-200.bg-white,
.admin-page .overflow-hidden.rounded-2xl.border.border-slate-200.bg-white {
    border-color: var(--admin-line) !important;
    border-radius: var(--admin-radius) !important;
    box-shadow: 0 8px 24px rgb(15 23 42 / 0.03);
}

/* Mobile bottom nav */
.admin-mobile-nav.spa-mobile-nav {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 45;
    padding: 0.45rem 0.55rem calc(0.45rem + env(safe-area-inset-bottom, 0px));
    border-top: 1px solid var(--admin-line);
    background: rgb(255 255 255 / 0.94);
    backdrop-filter: blur(14px);
}

@media (min-width: 1024px) {
    .admin-mobile-nav {
        display: none;
    }
}

.admin-mobile-nav-inner {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.2rem;
    max-width: 40rem;
    margin: 0 auto;
}

.admin-mobile-link {
    display: grid;
    justify-items: center;
    gap: 0.15rem;
    padding: 0.35rem 0.2rem;
    border-radius: 0.65rem;
    text-decoration: none;
    color: #64748b;
    transition: background 0.15s ease, color 0.15s ease;
}

.admin-mobile-link.is-active {
    color: #9a3412;
    background: rgb(255 237 213 / 0.85);
}

.admin-mobile-icon {
    display: grid;
    place-items: center;
    width: 1.5rem;
    height: 1.5rem;
}

.admin-mobile-icon-i {
    font-size: 1.05rem;
    line-height: 1;
}

.admin-mobile-label {
    font-size: 0.625rem;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

.admin-btn--danger {
    color: #be123c !important;
    border-color: rgb(244 63 94 / 0.25) !important;
    background: rgb(255 241 242) !important;
}

/* Ã¢â‚¬â€Ã¢â‚¬â€ Biaya Layanan Ã¢â‚¬â€Ã¢â‚¬â€ */
.admin-fees-page {
    gap: 1.25rem;
}

.admin-fees-hero {
    display: grid;
    gap: 1.25rem;
    padding: 1.35rem 1.25rem;
    border-radius: calc(var(--admin-radius) + 0.1rem);
    border: 1px solid rgb(15 23 42 / 0.08);
    background:
        linear-gradient(135deg, rgb(15 23 42 / 0.97) 0%, rgb(30 41 59 / 0.94) 52%, rgb(3 55 45 / 0.9) 100%);
    color: #fff;
    box-shadow: 0 16px 36px rgb(15 23 42 / 0.14);
    position: relative;
    overflow: hidden;
}

.admin-fees-hero::before {
    content: "";
    position: absolute;
    inset: auto -20% -55% 40%;
    height: 190%;
    background: radial-gradient(circle, rgb(45 212 191 / 0.28), transparent 58%);
    pointer-events: none;
}

.admin-fees-hero-main,
.admin-fees-metrics {
    position: relative;
    z-index: 1;
}

.admin-fees-hero-main {
    display: flex;
    align-items: flex-start;
    gap: 0.95rem;
    min-width: 0;
}

.admin-fees-hero-mark {
    display: grid;
    place-items: center;
    width: 3rem;
    height: 3rem;
    border-radius: 0.9rem;
    background: linear-gradient(145deg, #ccfbf1, #5eead4);
    color: #0f766e;
    flex-shrink: 0;
    box-shadow: 0 8px 20px rgb(2 8 23 / 0.25);
}

.admin-fees-hero-mark-i {
    font-size: 1.2rem;
    line-height: 1;
}

.admin-fees-hero-copy {
    min-width: 0;
    flex: 1;
}

.admin-fees-hero-title {
    margin: 0.35rem 0 0;
    font-size: var(--admin-fs-hero);
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: var(--admin-lh-tight);
}

.admin-fees-hero-lead {
    margin: 0.35rem 0 0;
    max-width: 36rem;
    font-size: var(--admin-fs-base);
    line-height: var(--admin-lh-body);
    color: rgb(167 243 208 / 0.92);
}

.admin-fees-metrics {
    display: grid;
    gap: 0.55rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width: 720px) {
    .admin-fees-metrics {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 1100px) {
    .admin-fees-metrics {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}

.admin-fees-metric {
    padding: 0.7rem 0.8rem;
    border-radius: calc(var(--admin-radius) - 0.15rem);
    background: rgb(255 255 255 / 0.08);
    border: 1px solid rgb(255 255 255 / 0.1);
    min-width: 0;
}

.admin-fees-metric-label {
    margin: 0;
    font-size: var(--admin-fs-xs);
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgb(203 213 225);
}

.admin-fees-metric-value {
    margin: 0.3rem 0 0;
    font-size: var(--admin-fs-lg);
    font-weight: 800;
    letter-spacing: -0.02em;
    font-variant-numeric: tabular-nums;
    line-height: 1.2;
    word-break: break-word;
}

.admin-fees-metric-meta {
    margin: 0.2rem 0 0;
    font-size: var(--admin-fs-2xs);
    color: rgb(148 163 184);
    line-height: 1.3;
}

.admin-fees-layout {
    display: grid;
    gap: 1rem;
}

@media (min-width: 1180px) {
    .admin-fees-layout {
        grid-template-columns: minmax(0, 1fr) minmax(15.5rem, 17.5rem);
        align-items: start;
    }
}

.admin-fees-grid {
    display: grid;
    gap: 1rem;
}

@media (min-width: 900px) {
    .admin-fees-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: stretch;
    }

    .admin-fees-card--span2,
    .admin-fees-card--wide,
    .admin-fees-card--gateway {
        grid-column: 1 / -1;
    }
}

.admin-fees-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
}

.admin-fees-card-head {
    display: flex;
    align-items: flex-start;
    gap: 0.8rem;
    margin-bottom: 1rem;
    padding-bottom: 0.9rem;
    border-bottom: 1px solid var(--admin-line, #e2e8f0);
}

.admin-fees-card-copy {
    min-width: 0;
    flex: 1;
}

.admin-fees-card-kicker {
    margin: 0 0 0.2rem;
    font-size: var(--admin-fs-2xs);
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--admin-muted);
}

.admin-fees-card-copy .admin-panel-title {
    margin: 0;
    font-size: var(--admin-fs-xl);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--admin-ink);
}

.admin-fees-card-copy .admin-panel-desc {
    margin: 0.3rem 0 0;
    font-size: var(--admin-fs-sm);
    color: var(--admin-muted);
    line-height: 1.45;
    max-width: 40rem;
}

.admin-fees-card-icon {
    display: grid;
    place-items: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 0.75rem;
    background: rgb(13 148 136 / 0.12);
    color: #0f766e;
    flex-shrink: 0;
}

.admin-fees-card-icon--cod {
    background: rgb(245 158 11 / 0.14);
    color: #b45309;
}

.admin-fees-card-icon--gateway {
    background: rgb(14 165 233 / 0.12);
    color: #0369a1;
}

.admin-fees-card-icon--cashout {
    background: rgb(16 185 129 / 0.14);
    color: #047857;
}

.admin-fees-card-icon--ship {
    background: rgb(99 102 241 / 0.12);
    color: #4338ca;
}

.admin-fees-card-icon-i {
    font-size: 1.1rem;
    line-height: 1;
}

.admin-fees-form {
    display: grid;
    gap: 1rem;
    flex: 1;
    align-content: start;
}

.admin-fees-form .admin-fees-actions {
    margin-top: auto;
}

.admin-fees-field {
    display: grid;
    gap: 0.4rem;
}

.admin-fees-field--lead {
    max-width: 22rem;
}

.admin-fees-field-grid {
    display: grid;
    gap: 0.875rem;
}

.admin-fees-field-grid--two .admin-fees-field--lead {
    max-width: none;
}

@media (min-width: 720px) {
    .admin-fees-field-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .admin-fees-field-grid--two {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.admin-fees-input-wrap {
    display: flex;
    align-items: stretch;
    min-width: 0;
    border: 1px solid var(--admin-line, #cbd5e1);
    border-radius: var(--form-radius, 0.75rem);
    background: #fff;
    overflow: hidden;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.admin-fees-input-wrap:focus-within {
    border-color: var(--form-focus, #0d9488);
    box-shadow: 0 0 0 3px rgb(13 148 136 / 0.15);
}

.admin-fees-input-prefix,
.admin-fees-input-suffix {
    display: grid;
    place-items: center;
    padding-inline: 0.85rem;
    font-size: var(--admin-fs-sm);
    font-weight: 800;
    color: var(--admin-muted);
    background: var(--admin-surface-2, #f8fafc);
    border-right: 1px solid var(--admin-line, #e2e8f0);
}

.admin-fees-input-suffix {
    border-right: 0;
    border-left: 1px solid var(--admin-line, #e2e8f0);
}

.admin-fees-input-wrap .admin-fees-input,
.admin-fees-input-wrap .form-control {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    min-width: 0;
}

.admin-fees-notes {
    margin: 0;
    padding: 0.75rem 0.85rem 0.75rem 1.35rem;
    border-radius: var(--admin-radius-sm, 0.65rem);
    border: 1px solid var(--admin-line, #e2e8f0);
    background: var(--admin-surface-2, #f8fafc);
    font-size: var(--admin-fs-sm);
    color: var(--admin-muted);
    display: grid;
    gap: 0.3rem;
    line-height: 1.4;
}

.admin-fees-method-grid {
    display: grid;
    gap: 0.75rem;
}

@media (min-width: 640px) {
    .admin-fees-method-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1100px) {
    .admin-fees-method-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.admin-fees-method {
    display: grid;
    gap: 0.4rem;
    padding: 0.95rem;
    border-radius: 0.85rem;
    border: 1px solid var(--admin-line, #e2e8f0);
    background: linear-gradient(180deg, rgb(248 250 252) 0%, #fff 100%);
    min-height: 100%;
}

.admin-fees-method-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.1rem;
}

.admin-fees-method-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.5rem;
    border-radius: 999px;
    font-size: var(--admin-fs-2xs);
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #0f766e;
    background: rgb(204 251 241);
}

.admin-fees-method-badge--va {
    color: #075985;
    background: rgb(224 242 254);
}

.admin-fees-method-badge--wallet {
    color: #047857;
    background: rgb(209 250 229);
}

.admin-fees-method-badge--min {
    color: #334155;
    background: rgb(226 232 240);
}

.admin-fees-method-unit {
    font-size: var(--admin-fs-2xs);
    font-weight: 700;
    color: var(--admin-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.admin-fees-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    padding-top: 0.25rem;
    border-top: 1px solid var(--admin-line, #e2e8f0);
}

.admin-fees-ship-lead {
    max-width: 22rem;
}

.admin-fees-ship-groups {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: 1fr;
}

@media (min-width: 720px) {
    .admin-fees-ship-groups {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.admin-fees-ship-group {
    display: grid;
    gap: 0.7rem;
    padding: 0.9rem;
    border-radius: 0.85rem;
    border: 1px solid var(--admin-line, #e2e8f0);
    background: linear-gradient(180deg, rgb(248 250 252) 0%, #fff 100%);
}

.admin-fees-ship-group-title {
    margin: 0;
    font-size: var(--admin-fs-xs);
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--admin-ink);
}

.admin-fees-ship-group-fields {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-fees-legend {
    background: var(--admin-surface-2, #f8fafc);
    position: sticky;
    top: 1rem;
}

.admin-fees-legend-head .admin-panel-title {
    margin: 0;
    font-size: var(--admin-fs-lg);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--admin-ink);
}

.admin-fees-legend-head .admin-panel-desc {
    margin: 0.25rem 0 0;
    font-size: var(--admin-fs-sm);
    color: var(--admin-muted);
    line-height: 1.4;
}

.admin-fees-steps {
    list-style: none;
    margin: 1rem 0 0;
    padding: 0;
    display: grid;
    gap: 0.65rem;
}

.admin-fees-steps li {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    font-size: var(--admin-fs-sm);
    color: var(--admin-muted);
    line-height: 1.45;
}

.admin-fees-step-num {
    display: grid;
    place-items: center;
    width: 1.4rem;
    height: 1.4rem;
    border-radius: 999px;
    flex-shrink: 0;
    margin-top: 0.05rem;
    font-size: var(--admin-fs-2xs);
    font-weight: 800;
    color: #0f766e;
    background: rgb(204 251 241);
}

.admin-fees-steps strong {
    color: var(--admin-ink);
}

/* Ã¢â‚¬â€Ã¢â‚¬â€ Penjual Ã¢â‚¬â€Ã¢â‚¬â€ */
.admin-sellers-page {
    gap: 1.15rem;
}

.admin-sellers-hero {
    display: grid;
    gap: 1.15rem;
    padding: 1.35rem 1.25rem;
    border-radius: calc(var(--admin-radius) + 0.1rem);
    border: 1px solid rgb(15 23 42 / 0.08);
    background:
        linear-gradient(135deg, rgb(15 23 42 / 0.97) 0%, rgb(30 41 59 / 0.94) 50%, rgb(12 74 110 / 0.9) 100%);
    color: #fff;
    box-shadow: 0 16px 36px rgb(15 23 42 / 0.14);
    position: relative;
    overflow: hidden;
}

.admin-sellers-hero::before {
    content: "";
    position: absolute;
    inset: auto -16% -48% 38%;
    height: 180%;
    background: radial-gradient(circle, rgb(56 189 248 / 0.28), transparent 58%);
    pointer-events: none;
}

.admin-sellers-hero-copy,
.admin-sellers-stats {
    position: relative;
    z-index: 1;
}

.admin-sellers-hero-title {
    margin: 0.55rem 0 0;
    font-size: var(--admin-fs-hero);
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: var(--admin-lh-tight);
}

.admin-sellers-hero-lead {
    margin: 0.4rem 0 0;
    max-width: 36rem;
    font-size: var(--admin-fs-base);
    line-height: var(--admin-lh-body);
    color: rgb(186 230 253);
}

.admin-sellers-stats {
    display: grid;
    gap: 0.65rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width: 900px) {
    .admin-sellers-stats {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.admin-sellers-stat {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0.8rem 0.85rem;
    border-radius: 0.85rem;
    border: 1px solid rgb(255 255 255 / 0.1);
    background: rgb(255 255 255 / 0.07);
    backdrop-filter: blur(8px);
}

.admin-sellers-stat-icon {
    display: grid;
    place-items: center;
    width: 2.2rem;
    height: 2.2rem;
    border-radius: 0.65rem;
    background: rgb(14 165 233 / 0.22);
    color: #7dd3fc;
    flex-shrink: 0;
}

.admin-sellers-stat-icon--ok {
    background: rgb(16 185 129 / 0.2);
    color: #6ee7b7;
}

.admin-sellers-stat-icon--warn {
    background: rgb(245 158 11 / 0.2);
    color: #fcd34d;
}

.admin-sellers-stat-icon--info {
    background: rgb(255 255 255 / 0.1);
    color: #e2e8f0;
}

.admin-sellers-stat-icon-i {
    font-size: 1.05rem;
    line-height: 1;
}

.admin-sellers-stat-label {
    margin: 0;
    font-size: var(--admin-fs-xs);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgb(148 163 184);
}

.admin-sellers-stat-value {
    margin: 0.2rem 0 0;
    font-size: var(--admin-fs-xl);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #fff;
    line-height: var(--admin-lh-tight);
}

.admin-sellers-stat-value--sm {
    font-size: var(--admin-fs-base);
}

.admin-sellers-toolbar {
    --admin-filter-h: 2.5rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem 1rem;
    margin-bottom: 1rem;
    min-width: 0;
}

.admin-sellers-toolbar-copy {
    flex: 0 1 auto;
    min-width: 0;
}

.admin-sellers-toolbar-copy .admin-panel-title {
    line-height: 1.25;
}

.admin-sellers-toolbar-copy .admin-panel-desc {
    margin-top: 0.15rem;
    white-space: nowrap;
}

.admin-sellers-filters {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: flex-end;
    gap: 0.5rem;
    flex: 1 1 16rem;
    min-width: 0;
    max-width: 28rem;
}

.admin-sellers-filter-search {
    flex: 1 1 10rem;
    min-width: 0;
    max-width: none;
}

.admin-sellers-filter-status {
    flex: 1 1 8.5rem;
    width: auto;
    min-width: 0;
    max-width: 12rem;
}

.admin-filter-field {
    display: flex;
    align-items: stretch;
    height: var(--admin-filter-h, 2.5rem);
    min-height: var(--admin-filter-h, 2.5rem);
    border: 1px solid var(--admin-line);
    border-radius: 0.75rem;
    background: #fff;
    overflow: hidden;
    box-shadow: 0 1px 2px rgb(15 23 42 / 0.03);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.admin-filter-field:focus-within {
    border-color: rgb(14 165 233);
    box-shadow: 0 0 0 3px rgb(14 165 233 / 0.14);
}

.admin-filter-search {
    flex: 1 1 14rem;
    min-width: min(100%, 14rem);
    max-width: 20rem;
}

.admin-filter-select {
    position: relative;
    flex: 0 1 11.5rem;
    min-width: 10.5rem;
}

.admin-filter-icon {
    display: grid;
    place-items: center;
    width: 2.55rem;
    color: #0369a1;
    background: linear-gradient(180deg, rgb(240 249 255) 0%, rgb(224 242 254) 100%);
    border-right: 1px solid rgb(186 230 253 / 0.7);
    flex-shrink: 0;
}

.admin-filter-icon-i {
    font-size: 0.95rem;
    line-height: 1;
}

.admin-filter-input,
.admin-filter-select-el {
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
    height: 100%;
    border: 0;
    outline: none;
    background: transparent;
    padding: 0 0.85rem;
    font: inherit;
    font-size: var(--admin-fs-md);
    font-weight: 600;
    color: var(--admin-text);
}

.admin-filter-select-el {
    appearance: none;
    padding-right: 2.25rem;
    cursor: pointer;
}

.admin-filter-chevron {
    position: absolute;
    right: 0.65rem;
    top: 50%;
    transform: translateY(-50%);
    display: grid;
    place-items: center;
    color: #64748b;
    pointer-events: none;
}

.admin-filter-chevron-i {
    font-size: 0.85rem;
    line-height: 1;
}

.admin-sellers-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    justify-content: center;
    min-width: 0;
}

.admin-sellers-action-form {
    display: inline-flex;
    margin: 0;
}

.admin-sellers-action {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    min-height: 1.9rem;
    padding: 0.3rem 0.55rem;
    border: 1px solid var(--admin-line);
    border-radius: 0.55rem;
    background: #fff;
    color: var(--admin-text);
    font: inherit;
    font-size: 0.6875rem;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.admin-sellers-action-i {
    font-size: 0.85rem;
    line-height: 1;
}

.admin-sellers-action--stats {
    color: #0369a1;
    border-color: rgb(125 211 252 / 0.7);
    background: rgb(240 249 255);
}

.admin-sellers-action--stats:hover {
    background: rgb(224 242 254);
}

.admin-sellers-action--off {
    color: #be123c;
    border-color: rgb(253 164 175 / 0.8);
    background: rgb(255 241 242);
}

.admin-sellers-action--off:hover {
    background: rgb(255 228 230);
}

.admin-sellers-action--on {
    color: #047857;
    border-color: rgb(110 231 183 / 0.8);
    background: rgb(236 253 245);
}

.admin-sellers-action--on:hover {
    background: rgb(209 250 229);
}

.admin-sellers-action--view {
    color: #475569;
}

.admin-sellers-action--view:hover {
    background: rgb(248 250 252);
}

.admin-sellers-shop {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    min-width: 0;
}

.admin-sellers-avatar {
    display: grid;
    place-items: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 0.7rem;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #0c4a6e;
    background: linear-gradient(145deg, rgb(224 242 254), rgb(186 230 253));
    flex-shrink: 0;
}

.admin-sellers-shop-meta {
    display: grid;
    gap: 0.1rem;
    min-width: 0;
}

.admin-sellers-shop-meta .admin-table-primary,
.admin-sellers-shop-meta .admin-table-meta {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.admin-sellers-biz {
    display: inline-flex;
    max-width: 10rem;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
    color: #334155;
    background: rgb(241 245 249);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.admin-sellers-metric {
    display: inline-grid;
    place-items: center;
    min-width: 2rem;
    padding: 0.2rem 0.45rem;
    border-radius: 0.5rem;
    font-size: var(--admin-fs-md);
    font-weight: 800;
    color: var(--admin-ink);
    background: var(--admin-surface-2);
}

.admin-sellers-table tbody tr {
    transition: background 0.12s ease;
}

.admin-sellers-table tbody tr:hover {
    background: rgb(248 250 252);
}

.admin-sellers-empty {
    padding: 2.5rem 1rem;
}

.admin-sellers-empty-icon {
    display: grid;
    place-items: center;
    width: 3rem;
    height: 3rem;
    margin: 0 auto 0.75rem;
    border-radius: 0.85rem;
    background: rgb(224 242 254);
    color: #0369a1;
}

.admin-sellers-empty-icon-i {
    font-size: var(--admin-fs-2xl);
    line-height: 1;
}

.admin-sellers-empty-filter {
    margin: 1rem 0 0;
    text-align: center;
    font-size: var(--admin-fs-md);
    font-weight: 600;
    color: var(--admin-muted);
}

@media (max-width: 960px) {
    .admin-sellers-toolbar {
        align-items: stretch;
        gap: 0.75rem;
    }

    .admin-sellers-toolbar-copy {
        flex: 1 1 100%;
    }

    .admin-sellers-toolbar-copy .admin-panel-desc {
        white-space: normal;
    }

    .admin-sellers-filters {
        flex: 1 1 100%;
        max-width: none;
        width: 100%;
        justify-content: stretch;
    }

    .admin-sellers-filter-search {
        flex: 1 1 12rem;
        min-width: 0;
    }

    .admin-sellers-filter-status {
        flex: 0 1 10rem;
        max-width: none;
    }
}

@media (max-width: 767px) {
    .admin-sellers-filter-search,
    .admin-sellers-filter-status {
        flex: 1 1 100%;
        width: 100%;
        min-width: 0;
        max-width: none;
    }

    .admin-sellers-actions {
        justify-content: flex-start;
    }

    .admin-sellers-biz {
        max-width: 100%;
    }
}

/* Ã¢â‚¬â€Ã¢â‚¬â€ Seller store stats Ã¢â‚¬â€Ã¢â‚¬â€ */
.admin-sstats-page {
    gap: 1.15rem;
}

.admin-sstats-nav {
    display: flex;
    align-items: center;
}

.admin-sstats-back {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--admin-muted);
    text-decoration: none;
    transition: color 0.15s ease;
}

.admin-sstats-back:hover {
    color: var(--admin-text);
}

.admin-sstats-back-i {
    font-size: 1rem;
    line-height: 1;
}

.admin-sstats-hero {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1.15rem;
    padding: 1.35rem 1.25rem;
    border-radius: calc(var(--admin-radius) + 0.1rem);
    border: 1px solid rgb(15 23 42 / 0.08);
    background:
        linear-gradient(135deg, rgb(15 23 42 / 0.97) 0%, rgb(30 41 59 / 0.94) 48%, rgb(12 74 110 / 0.9) 100%);
    color: #fff;
    box-shadow: 0 16px 36px rgb(15 23 42 / 0.14);
    position: relative;
    overflow: hidden;
}

.admin-sstats-hero::before {
    content: "";
    position: absolute;
    inset: auto -16% -48% 38%;
    height: 180%;
    background: radial-gradient(circle, rgb(56 189 248 / 0.28), transparent 58%);
    pointer-events: none;
}

.admin-sstats-hero-main,
.admin-sstats-hero-actions {
    position: relative;
    z-index: 1;
}

.admin-sstats-hero-main {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    min-width: 0;
    flex: 1 1 18rem;
}

.admin-sstats-avatar {
    display: grid;
    place-items: center;
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 0.95rem;
    font-size: 0.875rem;
    font-weight: 800;
    color: #0c4a6e;
    background: linear-gradient(145deg, rgb(224 242 254), rgb(186 230 253));
    flex-shrink: 0;
    box-shadow: 0 8px 20px rgb(2 8 23 / 0.25);
}

.admin-sstats-hero-copy {
    min-width: 0;
}

.admin-sstats-hero-title {
    margin: 0.45rem 0 0;
    font-size: var(--admin-fs-hero);
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: var(--admin-lh-tight);
}

.admin-sstats-hero-meta {
    margin: 0.35rem 0 0;
    font-size: var(--admin-fs-md);
    color: rgb(226 232 240 / 0.85);
    line-height: 1.45;
}

.admin-sstats-hero-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-top: 0.75rem;
}

.admin-sstats-chip {
    display: inline-flex;
    align-items: center;
    min-height: 1.55rem;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    border: 1px solid rgb(148 163 184 / 0.35);
    background: rgb(255 255 255 / 0.08);
    color: rgb(241 245 249 / 0.95);
    font-size: var(--admin-fs-xs);
    font-weight: 700;
}

.admin-panel .admin-sstats-chip {
    border-color: var(--admin-line);
    background: var(--admin-surface-2);
    color: var(--admin-text);
}

.admin-sstats-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
    justify-content: flex-end;
    flex: 0 1 auto;
}

.admin-sstats-hero-actions form {
    margin: 0;
    display: inline-flex;
}

.admin-sstats-hero-actions .admin-btn--ghost {
    color: #fff;
    border-color: rgb(255 255 255 / 0.28);
    background: rgb(255 255 255 / 0.08);
}

.admin-sstats-hero-actions .admin-btn--ghost:hover {
    background: rgb(255 255 255 / 0.14);
}

.admin-sstats-hero-actions .admin-btn--danger {
    color: #fecdd3;
    border-color: rgb(251 113 133 / 0.45);
    background: rgb(244 63 94 / 0.18);
}

.admin-sstats-hero-actions .admin-btn--primary {
    background: linear-gradient(135deg, #38bdf8, #0ea5e9);
    border-color: transparent;
    color: #0f172a;
}

.admin-sstats-kpi-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.75rem;
    align-items: stretch;
}

.admin-sstats-kpi {
    display: flex;
    flex-direction: column;
    min-height: 7.5rem;
    height: 100%;
    padding: 1rem 1.05rem;
    border-radius: var(--admin-radius);
    border: 1px solid var(--admin-line);
    background: linear-gradient(180deg, #fff 0%, var(--admin-surface-2) 100%);
    box-shadow: 0 1px 2px rgb(15 23 42 / 0.04);
    position: relative;
    overflow: hidden;
}

.admin-sstats-kpi::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: var(--admin-sstats-accent, #94a3b8);
}

.admin-sstats-kpi-head {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    min-width: 0;
}

.admin-sstats-kpi-icon {
    display: grid;
    place-items: center;
    width: 1.9rem;
    height: 1.9rem;
    border-radius: 0.55rem;
    background: var(--admin-sstats-accent-soft, rgb(148 163 184 / 0.16));
    color: var(--admin-sstats-accent, #64748b);
    flex-shrink: 0;
}

.admin-sstats-kpi-icon-i {
    font-size: 0.95rem;
    line-height: 1;
}

.admin-sstats-kpi-label {
    margin: 0;
    font-size: var(--admin-fs-xs);
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--admin-muted);
    line-height: 1.25;
    min-width: 0;
}

.admin-sstats-kpi-value {
    margin: 0.65rem 0 0;
    font-size: clamp(1.05rem, 1.35vw, var(--admin-fs-xl));
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--admin-ink);
    line-height: var(--admin-lh-tight);
    font-variant-numeric: tabular-nums;
    word-break: break-word;
}

.admin-sstats-kpi-hint {
    margin: auto 0 0;
    padding-top: 0.5rem;
    font-size: var(--admin-fs-sm);
    font-weight: 600;
    color: var(--admin-muted);
    line-height: 1.35;
    min-height: 1.35em;
}

.admin-sstats-kpi--revenue {
    --admin-sstats-accent: #0284c7;
    --admin-sstats-accent-soft: rgb(14 165 233 / 0.12);
}

.admin-sstats-kpi--month {
    --admin-sstats-accent: #059669;
    --admin-sstats-accent-soft: rgb(16 185 129 / 0.12);
}

.admin-sstats-kpi--orders {
    --admin-sstats-accent: #2563eb;
    --admin-sstats-accent-soft: rgb(37 99 235 / 0.12);
}

.admin-sstats-kpi--products {
    --admin-sstats-accent: #7c3aed;
    --admin-sstats-accent-soft: rgb(124 58 237 / 0.12);
}

.admin-sstats-kpi--pending {
    --admin-sstats-accent: #d97706;
    --admin-sstats-accent-soft: rgb(245 158 11 / 0.14);
}

.admin-sstats-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
    gap: 1rem;
    align-items: stretch;
}

.admin-sstats-grid--bottom {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-sstats-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    height: 100%;
    margin: 0;
}

.admin-sstats-card > .admin-panel-head {
    flex-shrink: 0;
    min-height: 3.35rem;
    margin-bottom: 0.95rem;
}

.admin-sstats-card-body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

.admin-sstats-bars {
    display: grid;
    grid-template-columns: repeat(14, minmax(0, 1fr));
    gap: 0.35rem;
    align-items: end;
    flex: 1 1 auto;
    min-height: 11rem;
    padding: 0.15rem 0 0;
}

.admin-sstats-bar-col {
    display: grid;
    gap: 0.4rem;
    justify-items: center;
    min-width: 0;
}

.admin-sstats-bar-track {
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 2px;
    width: 100%;
    height: 9.5rem;
    padding: 0 0.1rem;
    border-radius: 0.55rem 0.55rem 0.2rem 0.2rem;
    background:
        linear-gradient(180deg, transparent 0%, rgb(241 245 249 / 0.65) 100%);
}

.admin-sstats-bar {
    display: block;
    width: 42%;
    max-width: 0.55rem;
    min-height: 4px;
    border-radius: 999px 999px 0.15rem 0.15rem;
}

.admin-sstats-bar--orders {
    background: linear-gradient(180deg, #38bdf8, #0284c7);
}

.admin-sstats-bar--revenue {
    background: linear-gradient(180deg, #34d399, #059669);
    opacity: 0.85;
}

.admin-sstats-bar-label {
    font-size: 0.625rem;
    font-weight: 700;
    color: var(--admin-muted);
    white-space: nowrap;
    transform: rotate(-35deg);
    transform-origin: center top;
    margin-top: 0.15rem;
}

.admin-sstats-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
    margin-top: auto;
    padding-top: 1rem;
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--admin-muted);
}

.admin-sstats-legend span {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.admin-sstats-dot {
    display: inline-block;
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 999px;
}

.admin-sstats-dot--orders {
    background: #0284c7;
}

.admin-sstats-dot--revenue {
    background: #059669;
}

.admin-sstats-status-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.85rem;
    flex: 1 1 auto;
    align-content: start;
}

.admin-sstats-status-top {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    align-items: baseline;
    margin-bottom: 0.35rem;
    font-size: var(--admin-fs-md);
    font-weight: 600;
    color: var(--admin-text);
}

.admin-sstats-status-top strong {
    font-size: var(--admin-fs-sm);
    font-weight: 700;
    color: var(--admin-muted);
    text-align: right;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.admin-sstats-status-track {
    height: 0.45rem;
    border-radius: 999px;
    background: var(--admin-surface-2);
    overflow: hidden;
}

.admin-sstats-status-fill {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #38bdf8, #0ea5e9);
}

.admin-sstats-num {
    text-align: right;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.admin-sstats-products {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.6rem;
    flex: 1 1 auto;
    align-content: start;
}

.admin-sstats-product {
    display: grid;
    grid-template-columns: 1.75rem minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.75rem;
    min-height: 3.35rem;
    padding: 0.7rem 0.8rem;
    border: 1px solid var(--admin-line);
    border-radius: 0.75rem;
    background: var(--admin-surface-2);
}

.admin-sstats-product-rank {
    display: grid;
    place-items: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 0.5rem;
    font-size: 0.75rem;
    font-weight: 800;
    color: #0369a1;
    background: rgb(224 242 254);
}

.admin-sstats-product-body {
    min-width: 0;
}

.admin-sstats-product-body .admin-table-primary,
.admin-sstats-product-body .admin-table-meta {
    margin: 0;
}

.admin-sstats-product-body .admin-table-primary {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.admin-sstats-product-price {
    font-size: var(--admin-fs-sm);
    font-weight: 800;
    color: var(--admin-ink);
    font-variant-numeric: tabular-nums;
    text-align: right;
    white-space: nowrap;
}

@media (max-width: 1100px) {
    .admin-sstats-kpi-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }

    .admin-sstats-kpi {
        grid-column: span 2;
    }

    .admin-sstats-kpi:nth-child(4),
    .admin-sstats-kpi:nth-child(5) {
        grid-column: span 3;
    }

    .admin-sstats-grid,
    .admin-sstats-grid--bottom {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px) {
    .admin-sstats-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-sstats-kpi,
    .admin-sstats-kpi:nth-child(4),
    .admin-sstats-kpi:nth-child(5) {
        grid-column: span 1;
        min-height: 7.1rem;
    }

    .admin-sstats-kpi:last-child:nth-child(odd) {
        grid-column: 1 / -1;
    }

    .admin-sstats-hero {
        flex-direction: column;
    }

    .admin-sstats-hero-actions {
        width: 100%;
    }

    .admin-sstats-hero-actions .admin-btn,
    .admin-sstats-hero-actions form {
        flex: 1 1 auto;
    }

    .admin-sstats-hero-actions .admin-btn {
        width: 100%;
        justify-content: center;
    }

    .admin-sstats-bars {
        gap: 0.2rem;
        overflow-x: auto;
        grid-template-columns: repeat(14, minmax(1.35rem, 1fr));
        padding-bottom: 0.5rem;
    }

    .admin-sstats-bar-label {
        transform: none;
        font-size: 0.55rem;
    }

    .admin-sstats-product {
        grid-template-columns: 1.75rem minmax(0, 1fr);
        grid-template-rows: auto auto;
    }

    .admin-sstats-product-price {
        grid-column: 2;
        text-align: left;
    }
}

/* Ã¢â‚¬â€Ã¢â‚¬â€ WhatsApp OTP Ã¢â‚¬â€Ã¢â‚¬â€ */
/* Ã¢â‚¬â€Ã¢â‚¬â€ Admin account settings Ã¢â‚¬â€Ã¢â‚¬â€ */
.admin-account-page {
    gap: 1.15rem;
}

.admin-account-hero {
    display: grid;
    gap: 1rem;
    padding: 1.25rem 1.2rem;
    border-radius: calc(var(--admin-radius) + 0.1rem);
    border: 1px solid rgb(15 23 42 / 0.08);
    background:
        linear-gradient(135deg, rgb(15 23 42 / 0.97) 0%, rgb(30 41 59 / 0.94) 48%, rgb(67 20 7 / 0.88) 100%);
    color: #fff;
    box-shadow: 0 16px 36px rgb(15 23 42 / 0.14);
    position: relative;
    overflow: hidden;
}

.admin-account-hero::before {
    content: "";
    position: absolute;
    inset: auto -16% -48% 36%;
    height: 180%;
    background: radial-gradient(circle, rgb(251 146 60 / 0.28), transparent 58%);
    pointer-events: none;
}

.admin-account-hero-main {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    min-width: 0;
}

.admin-account-avatar {
    display: grid;
    place-items: center;
    width: 3.1rem;
    height: 3.1rem;
    border-radius: 0.95rem;
    font-size: var(--admin-fs-base);
    font-weight: 800;
    color: #9a3412;
    background: linear-gradient(145deg, #ffedd5, #fdba74);
    flex-shrink: 0;
    box-shadow: 0 8px 20px rgb(2 8 23 / 0.25);
}

.admin-account-hero-copy {
    min-width: 0;
}

.admin-account-hero-title {
    margin: 0.45rem 0 0;
    font-size: var(--admin-fs-hero);
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: var(--admin-lh-tight);
}

.admin-account-hero-lead {
    margin: 0.35rem 0 0;
    max-width: 38rem;
    font-size: var(--admin-fs-base);
    line-height: var(--admin-lh-body);
    color: rgb(254 215 170 / 0.92);
}

.admin-account-hero-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-top: 0.7rem;
}

.admin-account-chip {
    display: inline-flex;
    align-items: center;
    min-height: 1.5rem;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    border: 1px solid rgb(148 163 184 / 0.35);
    background: rgb(255 255 255 / 0.08);
    color: rgb(241 245 249 / 0.95);
    font-size: var(--admin-fs-xs);
    font-weight: 700;
}

.admin-account-workspace.admin-panel {
    padding: 0;
    overflow: hidden;
}

.admin-account-tabs-wrap {
    padding: 0.75rem 0.75rem 0;
    border-bottom: 1px solid var(--admin-line);
    background: var(--admin-surface-2);
}

.admin-account-tabs {
    display: flex;
    gap: 0.35rem;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 0.75rem;
}

.admin-account-tabs::-webkit-scrollbar {
    display: none;
}

.admin-account-tab {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    flex: 0 0 auto;
    min-width: 8.5rem;
    min-height: 3rem;
    padding: 0.45rem 0.75rem;
    border: 1px solid transparent;
    border-radius: 0.75rem;
    background: transparent;
    color: var(--admin-muted);
    cursor: pointer;
    text-align: left;
    transition:
        background-color 0.18s ease,
        border-color 0.18s ease,
        color 0.18s ease,
        box-shadow 0.18s ease;
}

.admin-account-tab:hover:not(.is-active) {
    background: rgb(255 255 255 / 0.72);
    color: var(--admin-text);
}

.admin-account-tab.is-active {
    background: #fff;
    border-color: var(--admin-line);
    color: var(--admin-ink);
    box-shadow: 0 6px 16px rgb(15 23 42 / 0.06);
}

.admin-account-tab:focus-visible {
    outline: 2px solid var(--admin-accent);
    outline-offset: 2px;
}

.admin-account-tab-icon {
    display: grid;
    place-items: center;
    width: 1.85rem;
    height: 1.85rem;
    border-radius: 0.55rem;
    background: rgb(148 163 184 / 0.14);
    color: inherit;
    flex-shrink: 0;
}

.admin-account-tab.is-active .admin-account-tab-icon {
    background: var(--admin-accent-soft);
    color: var(--admin-accent);
}

.admin-account-tab-icon-i {
    font-size: var(--admin-fs-lg);
    line-height: 1;
}

.admin-account-tab-text {
    display: grid;
    gap: 0.08rem;
    min-width: 0;
}

.admin-account-tab-label {
    font-size: var(--admin-fs-md);
    font-weight: 800;
    letter-spacing: -0.01em;
    line-height: 1.2;
}

.admin-account-tab-sub {
    font-size: var(--admin-fs-xs);
    font-weight: 600;
    color: var(--admin-muted);
    line-height: 1.2;
    white-space: nowrap;
}

.admin-account-tab.is-active .admin-account-tab-sub {
    color: rgb(100 116 139);
}

.admin-account-panels {
    padding: 1.2rem 1.2rem 1.25rem;
}

.admin-account-panel {
    display: none;
    animation: admin-fade-up 0.28s ease both;
}

.admin-account-panel.is-active {
    display: block;
}

.admin-account-panel-head {
    margin-bottom: 1.05rem;
    padding-bottom: 0.9rem;
    border-bottom: 1px solid var(--admin-line);
}

.admin-account-panel-title {
    margin: 0;
    font-size: var(--admin-fs-xl);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--admin-ink);
    line-height: var(--admin-lh-tight);
}

.admin-account-panel-desc {
    margin: 0.25rem 0 0;
    max-width: 40rem;
    font-size: var(--admin-fs-sm);
    color: var(--admin-muted);
    line-height: 1.4;
}

.admin-account-form {
    display: grid;
    gap: 1.1rem;
    max-width: 36rem;
    width: 100%;
}

.admin-account-fields {
    display: grid;
    gap: 1rem;
}

.admin-account-field {
    display: grid;
    gap: 0.4rem;
    min-width: 0;
}

.admin-account-field-grid {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: 1fr;
}

@media (min-width: 640px) {
    .admin-account-field-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.admin-account-input-wrap {
    display: flex;
    align-items: stretch;
    min-width: 0;
    border: 1px solid var(--admin-line, #cbd5e1);
    border-radius: var(--form-radius, 0.75rem);
    background: #fff;
    overflow: hidden;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.admin-account-input-wrap:focus-within {
    border-color: var(--form-focus, #0d9488);
    box-shadow: 0 0 0 3px rgb(13 148 136 / 0.15);
}

.admin-account-input-icon {
    display: grid;
    place-items: center;
    width: 2.6rem;
    flex-shrink: 0;
    color: var(--admin-muted);
    background: var(--admin-surface-2, #f8fafc);
    border-right: 1px solid var(--admin-line, #e2e8f0);
}

.admin-account-input-icon-i {
    font-size: 1rem;
    line-height: 1;
}

.admin-account-input-wrap .admin-account-input,
.admin-account-input-wrap .form-control {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    min-width: 0;
}

.admin-account-form .form-control[disabled],
.admin-account-form .form-control[readonly] {
    background: var(--admin-surface-2, #f8fafc);
    color: var(--admin-muted);
    cursor: not-allowed;
}

.admin-account-input-wrap:has(.form-control[disabled]),
.admin-account-input-wrap:has(.form-control[readonly]) {
    background: var(--admin-surface-2, #f8fafc);
}

.admin-account-notes {
    margin: 0;
    padding: 0.75rem 0.85rem 0.75rem 1.35rem;
    border-radius: var(--admin-radius-sm, 0.65rem);
    border: 1px solid var(--admin-line, #e2e8f0);
    background: var(--admin-surface-2, #f8fafc);
    font-size: var(--admin-fs-sm);
    color: var(--admin-muted);
    display: grid;
    gap: 0.3rem;
    line-height: 1.4;
}

.admin-account-otp {
    display: grid;
    gap: 0.45rem;
}

.admin-account-otp-row {
    display: grid;
    gap: 0.65rem;
    align-items: end;
    grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 480px) {
    .admin-account-otp-row {
        grid-template-columns: minmax(0, 1fr) auto;
    }
}

.admin-account-otp-field {
    min-width: 0;
}

.admin-account-otp-btn {
    min-height: 2.65rem;
    justify-self: stretch;
}

@media (min-width: 480px) {
    .admin-account-otp-btn {
        justify-self: start;
        white-space: nowrap;
    }
}

.admin-account-otp-hint {
    margin: 0;
    font-size: var(--admin-fs-sm);
    font-weight: 600;
    color: var(--admin-muted);
    line-height: 1.4;
}

.admin-account-otp-hint.is-ok {
    color: #047857;
}

.admin-account-otp-hint.is-error {
    color: #b91c1c;
}

.admin-account-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    padding-top: 0.15rem;
}

.admin-account-footnote {
    margin: 0;
    padding: 0 0.15rem;
    font-size: var(--admin-fs-sm);
    font-weight: 600;
    color: var(--admin-muted);
    line-height: 1.45;
}

@media (max-width: 639px) {
    .admin-account-tab {
        min-width: 7.6rem;
        padding: 0.4rem 0.6rem;
    }

    .admin-account-tab-sub {
        display: none;
    }

    .admin-account-panels {
        padding: 1.05rem 1rem 1.15rem;
    }
}

/* Ã¢â‚¬â€Ã¢â‚¬â€ Admin Transfer Rupiah Ã¢â‚¬â€Ã¢â‚¬â€ */
.admin-tf-page {
    gap: 1.15rem;
}

.admin-tf-hero {
    display: grid;
    gap: 1.15rem;
    padding: 1.25rem 1.2rem;
    border-radius: calc(var(--admin-radius) + 0.1rem);
    border: 1px solid rgb(15 23 42 / 0.08);
    background:
        linear-gradient(135deg, rgb(15 23 42 / 0.97) 0%, rgb(30 41 59 / 0.94) 52%, rgb(3 55 45 / 0.9) 100%);
    color: #fff;
    box-shadow: 0 16px 36px rgb(15 23 42 / 0.14);
    position: relative;
    overflow: hidden;
}

.admin-tf-hero::before {
    content: "";
    position: absolute;
    inset: auto -20% -55% 40%;
    height: 190%;
    background: radial-gradient(circle, rgb(45 212 191 / 0.28), transparent 58%);
    pointer-events: none;
}

.admin-tf-hero-main,
.admin-tf-metrics {
    position: relative;
    z-index: 1;
}

.admin-tf-hero-main {
    display: flex;
    align-items: flex-start;
    gap: 0.95rem;
    min-width: 0;
}

.admin-tf-hero-mark {
    display: grid;
    place-items: center;
    width: 3rem;
    height: 3rem;
    border-radius: 0.9rem;
    background: linear-gradient(145deg, #ccfbf1, #5eead4);
    color: #0f766e;
    flex-shrink: 0;
    box-shadow: 0 8px 20px rgb(2 8 23 / 0.25);
}

.admin-tf-hero-mark-i {
    font-size: 1.2rem;
    line-height: 1;
}

.admin-tf-hero-copy {
    min-width: 0;
}

.admin-tf-hero-title {
    margin: 0.4rem 0 0;
    font-size: var(--admin-fs-hero);
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: var(--admin-lh-tight);
}

.admin-tf-hero-lead {
    margin: 0.3rem 0 0;
    max-width: 36rem;
    font-size: var(--admin-fs-base);
    line-height: var(--admin-lh-body);
    color: rgb(167 243 208 / 0.92);
}

.admin-tf-hero-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-top: 0.7rem;
}

.admin-tf-chip {
    display: inline-flex;
    align-items: center;
    min-height: 1.5rem;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    border: 1px solid rgb(148 163 184 / 0.35);
    background: rgb(255 255 255 / 0.08);
    color: rgb(241 245 249 / 0.95);
    font-size: var(--admin-fs-xs);
    font-weight: 700;
}

.admin-tf-chip.is-ok {
    border-color: rgb(110 231 183 / 0.45);
    background: rgb(16 185 129 / 0.18);
    color: #a7f3d0;
}

.admin-tf-chip.is-warn {
    border-color: rgb(253 186 116 / 0.45);
    background: rgb(245 158 11 / 0.18);
    color: #fed7aa;
}

.admin-tf-metrics {
    display: grid;
    gap: 0.55rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width: 720px) {
    .admin-tf-metrics {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.admin-tf-metric {
    padding: 0.75rem 0.85rem;
    border-radius: 0.8rem;
    border: 1px solid rgb(255 255 255 / 0.1);
    background: rgb(255 255 255 / 0.07);
    min-height: 4.1rem;
}

.admin-tf-metric-label {
    margin: 0;
    font-size: var(--admin-fs-xs);
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: rgb(148 163 184);
}

.admin-tf-metric-value {
    margin: 0.35rem 0 0;
    font-size: var(--admin-fs-lg);
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: var(--admin-lh-tight);
    color: #fff;
}

.admin-tf-banners {
    display: grid;
    gap: 0.55rem;
}

.admin-tf-banner {
    margin: 0;
    padding: 0.8rem 1rem;
    border-radius: var(--admin-radius);
    border: 1px solid rgb(251 191 36 / 0.45);
    background: rgb(255 251 235);
    color: #92400e;
    font-size: var(--admin-fs-md);
    font-weight: 600;
    line-height: 1.45;
}

.admin-tf-banner a {
    color: inherit;
    font-weight: 800;
    text-decoration: underline;
}

.admin-tf-workspace.admin-panel {
    padding: 0;
    overflow: visible;
}

.admin-tf-workspace-head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.85rem 1rem;
    padding: 1.15rem 1.2rem 1rem;
    border-bottom: 1px solid var(--admin-line);
    background: var(--admin-surface-2);
    border-radius: var(--admin-radius) var(--admin-radius) 0 0;
}

.admin-tf-workspace-body {
    padding: 1.2rem;
    display: grid;
    gap: 1.15rem;
    overflow: visible;
    position: relative;
    z-index: 1;
}

.admin-tf-workspace .smart-select.is-open {
    z-index: 80;
}

.admin-tf-workspace .smart-select-panel {
    z-index: 80;
}

.admin-tf-steps {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
    margin: 0;
    padding: 0;
    list-style: none;
    min-width: 0;
    max-width: 100%;
}

.admin-tf-step {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    min-height: 2rem;
    padding: 0.25rem 0.65rem 0.25rem 0.3rem;
    border-radius: 999px;
    border: 1px solid var(--admin-line);
    background: #fff;
    color: var(--admin-muted);
    font-size: var(--admin-fs-sm);
    font-weight: 700;
}

.admin-tf-step span {
    display: grid;
    place-items: center;
    width: 1.35rem;
    height: 1.35rem;
    border-radius: 999px;
    background: var(--admin-surface-2);
    color: var(--admin-muted);
    font-size: var(--admin-fs-xs);
    font-weight: 800;
}

.admin-tf-step.is-active {
    border-color: rgb(15 118 110 / 0.28);
    background: rgb(204 251 241 / 0.55);
    color: #0f766e;
}

.admin-tf-step.is-active span {
    background: #0f766e;
    color: #fff;
}

.admin-tf-step.is-done {
    border-color: rgb(16 185 129 / 0.35);
    color: #047857;
}

.admin-tf-step.is-done span {
    background: #059669;
    color: #fff;
}

.admin-tf-step-block--confirm,
.admin-tf-step-block--receipt {
    display: grid;
    gap: 1.35rem;
    max-width: 26rem;
    animation: admin-fade-up 0.28s ease both;
}

.admin-tf-form,
.admin-tf-process-form {
    display: grid;
    gap: 1rem;
    max-width: 44rem;
    overflow: visible;
    position: relative;
}

.admin-tf-step-block--confirm .admin-tf-process-form {
    max-width: 100%;
    gap: 1rem;
    margin-top: 0.15rem;
}

.admin-tf-fields {
    display: grid;
    gap: 0.9rem;
    grid-template-columns: 1fr;
    overflow: visible;
}

@media (min-width: 720px) {
    .admin-tf-fields {
        grid-template-columns: 1fr 1fr;
    }

    .admin-tf-field--full {
        grid-column: 1 / -1;
    }
}

.admin-tf-field {
    display: grid;
    gap: 0.35rem;
    align-content: start;
}

.admin-tf-field--pin {
    max-width: 12rem;
}

.admin-tf-warning {
    margin: 0;
    padding: 0.55rem 0.7rem;
    border-radius: var(--admin-radius-sm);
    border: 1px solid rgb(251 191 36 / 0.55);
    background: rgb(255 251 235);
    color: #92400e;
    font-size: var(--admin-fs-sm);
    font-weight: 700;
    line-height: 1.4;
}

.admin-tf-form .form-control.is-invalid {
    border-color: rgb(245 158 11);
    box-shadow: 0 0 0 3px rgb(245 158 11 / 0.15);
}

.admin-tf-captcha {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 0.55rem;
}

.admin-tf-captcha-badge {
    display: grid;
    place-items: center;
    min-width: 7.5rem;
    min-height: 2.75rem;
    padding: 0.4rem 0.75rem;
    border-radius: 0.75rem;
    border: 1px dashed rgb(148 163 184 / 0.7);
    background:
        repeating-linear-gradient(
            -45deg,
            rgb(241 245 249),
            rgb(241 245 249) 6px,
            rgb(226 232 240) 6px,
            rgb(226 232 240) 12px
        );
    user-select: none;
}

.admin-tf-captcha-code {
    font-family: "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif;
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: 0.28em;
    color: var(--admin-ink);
}

.admin-tf-captcha-input {
    flex: 1 1 8rem;
    min-width: 0;
    max-width: 10rem;
    text-transform: uppercase;
}

.admin-tf-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    padding-top: 0.15rem;
}

.admin-tf-actions--inline {
    align-items: flex-end;
    padding-top: 0;
}

.admin-tf-process-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.75rem 1rem;
}

.admin-tf-confirm-card,
.admin-tf-receipt {
    width: 100%;
    max-width: 26rem;
    padding: 0;
    overflow: hidden;
    border-radius: calc(var(--admin-radius) + 0.15rem);
    border: 1px solid var(--admin-line);
    background: var(--admin-surface);
    box-shadow: 0 10px 28px rgb(15 23 42 / 0.06);
}

.admin-tf-confirm-top {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: start;
    gap: 0.85rem;
    padding: 1.2rem 1.2rem 1.05rem;
    background:
        radial-gradient(120% 80% at 0% 0%, rgb(14 165 233 / 0.08), transparent 55%),
        linear-gradient(160deg, rgb(248 250 252), rgb(241 245 249));
    border-bottom: 1px solid var(--admin-line);
}

.admin-tf-confirm-avatar {
    flex-shrink: 0;
    display: grid;
    place-items: center;
    width: 3.1rem;
    height: 3.1rem;
    border-radius: 999px;
    background: linear-gradient(145deg, #0f172a, #334155);
    color: #fff;
    font-size: 0.95rem;
    font-weight: 800;
    letter-spacing: 0.02em;
}

.admin-tf-confirm-avatar--ok {
    background: linear-gradient(145deg, #047857, #10b981);
}

.admin-tf-confirm-identity {
    min-width: 0;
    flex: 1;
}

.admin-tf-confirm-eyebrow,
.admin-tf-receipt-status {
    margin: 0 0 0.3rem;
    font-size: var(--admin-fs-xs);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--admin-muted);
}

.admin-tf-receipt-status {
    color: #047857;
}

.admin-tf-confirm-name {
    margin: 0;
    font-size: clamp(1.2rem, 2.2vw, 1.5rem);
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1.25;
    color: var(--admin-ink);
    word-break: break-word;
}

.admin-tf-confirm-bank {
    margin: 0.3rem 0 0;
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    border: 1px solid var(--admin-line);
    background: var(--admin-surface);
    font-size: var(--admin-fs-sm);
    font-weight: 700;
    color: var(--admin-text);
}

.admin-tf-confirm-meta {
    margin: 0;
    padding: 0.85rem 1.2rem 1.05rem;
    display: grid;
    gap: 0.65rem;
}

.admin-tf-confirm-row {
    display: grid;
    grid-template-columns: minmax(7rem, 9.5rem) minmax(0, 1fr);
    gap: 0.45rem 0.85rem;
    align-items: baseline;
}

.admin-tf-confirm-row dt {
    margin: 0;
    font-size: var(--admin-fs-sm);
    font-weight: 600;
    color: var(--admin-muted);
}

.admin-tf-confirm-row dd {
    margin: 0;
    font-size: var(--admin-fs-md);
    font-weight: 700;
    color: var(--admin-text);
    word-break: break-word;
    font-variant-numeric: tabular-nums;
    text-align: right;
}

.admin-tf-confirm-row--amount dd {
    font-size: clamp(1.1rem, 2vw, 1.3rem);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--admin-ink);
}

.admin-tf-confirm-row--total {
    padding-top: 0.55rem;
    border-top: 1px dashed var(--admin-line);
}

.admin-tf-confirm-row--total dd {
    font-size: clamp(1.05rem, 1.8vw, 1.2rem);
    font-weight: 800;
    color: var(--admin-ink);
}

.admin-tf-slip-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    align-items: center;
}

.admin-tf-reff {
    font-size: var(--admin-fs-sm);
    word-break: break-all;
}

#tf-receipt-slip-actions:not([hidden]) {
    margin-bottom: 0.35rem;
}

.admin-tf-confirm-verified {
    align-self: start;
    padding: 0.28rem 0.55rem;
    border-radius: 999px;
    background: rgb(236 253 245);
    color: #047857;
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    white-space: nowrap;
}

.admin-tf-confirm-hint {
    margin: 0;
    max-width: none;
    padding: 0.15rem 0.1rem 0;
    font-size: var(--admin-fs-sm);
    color: var(--admin-muted);
    line-height: 1.55;
}

.admin-tf-actions--confirm {
    margin-top: 0.25rem;
}

.admin-tf-pin-ghost {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
    border: 0 !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
}

.admin-tf-pin-root {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: grid;
    place-items: end center;
    padding: 0.75rem;
    padding-bottom: max(0.75rem, env(safe-area-inset-bottom));
}

.admin-tf-pin-root.hidden {
    display: none;
}

body.admin-tf-pin-open {
    overflow: hidden;
}

.admin-tf-pin-backdrop {
    position: absolute;
    inset: 0;
    background: rgb(15 23 42 / 0.45);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.admin-tf-pin-panel {
    position: relative;
    z-index: 1;
    width: min(100%, 24rem);
    padding: 1.2rem 1.15rem 1rem;
    border-radius: 1.35rem 1.35rem 1.1rem 1.1rem;
    border: 1px solid rgb(255 255 255 / 0.35);
    background: linear-gradient(165deg, rgb(255 255 255 / 0.82), rgb(248 250 252 / 0.78));
    box-shadow:
        0 24px 60px rgb(15 23 42 / 0.28),
        inset 0 1px 0 rgb(255 255 255 / 0.75);
    backdrop-filter: blur(22px) saturate(1.35);
    -webkit-backdrop-filter: blur(22px) saturate(1.35);
    animation: admin-tf-pin-up 0.28s cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes admin-tf-pin-up {
    from { transform: translateY(1.25rem); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

.admin-tf-pin-head { text-align: center; margin-bottom: 1rem; }

.admin-tf-pin-kicker {
    margin: 0;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #64748b;
}

.admin-tf-pin-title {
    margin: 0.35rem 0 0;
    font-size: 1.25rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #0f172a;
}

.admin-tf-pin-sub {
    margin: 0.25rem 0 0;
    font-size: 0.88rem;
    color: #64748b;
}

.admin-tf-pin-dots {
    display: flex;
    justify-content: center;
    gap: 0.7rem;
    margin: 0.35rem 0 0.85rem;
}

.admin-tf-pin-dots span {
    width: 0.78rem;
    height: 0.78rem;
    border-radius: 999px;
    border: 2px solid rgb(100 116 139 / 0.45);
    background: transparent;
    transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

.admin-tf-pin-dots span.is-on {
    background: #0f172a;
    border-color: #0f172a;
    transform: scale(1.08);
}

.admin-tf-pin-dots.is-error span {
    border-color: #e11d48;
    animation: admin-tf-pin-shake 0.35s ease;
}

.admin-tf-pin-dots.is-error span.is-on {
    background: #e11d48;
    border-color: #e11d48;
}

@keyframes admin-tf-pin-shake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-4px); }
    75% { transform: translateX(4px); }
}

.admin-tf-pin-error {
    margin: 0 0 0.7rem;
    text-align: center;
    font-size: 0.82rem;
    font-weight: 700;
    color: #be123c;
}

.admin-tf-pin-pad {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.55rem;
    margin-bottom: 0.75rem;
    user-select: none;
    -webkit-user-select: none;
}

.admin-tf-pin-key {
    appearance: none;
    border: 1px solid rgb(255 255 255 / 0.55);
    border-radius: 1rem;
    min-height: 3.35rem;
    background: rgb(255 255 255 / 0.72);
    color: #0f172a;
    font-size: 1.35rem;
    font-weight: 750;
    cursor: pointer;
    box-shadow: 0 6px 14px rgb(15 23 42 / 0.06);
    transition: transform 0.12s ease, background 0.12s ease, box-shadow 0.12s ease;
    touch-action: manipulation;
}

.admin-tf-pin-key:active,
.admin-tf-pin-key.is-pressed {
    transform: scale(0.96);
    background: rgb(226 232 240 / 0.95);
    box-shadow: none;
}

.admin-tf-pin-key--action {
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #475569;
}

.admin-tf-pin-key--zero { grid-column: 2; }

.admin-tf-pin-cancel {
    appearance: none;
    width: 100%;
    border: 0;
    background: transparent;
    color: #64748b;
    font-size: 0.92rem;
    font-weight: 700;
    padding: 0.65rem;
    cursor: pointer;
    border-radius: 0.75rem;
}

.admin-tf-pin-cancel:hover {
    background: rgb(15 23 42 / 0.04);
    color: #0f172a;
}

@media (min-width: 640px) {
    .admin-tf-pin-root { place-items: center; }
    .admin-tf-pin-panel { border-radius: 1.35rem; }
}

@media (max-width: 480px) {
    .admin-tf-confirm-top { grid-template-columns: auto minmax(0, 1fr); }
    .admin-tf-confirm-verified { grid-column: 1 / -1; justify-self: start; }
    .admin-tf-pin-key { min-height: 3.55rem; }
}

.admin-tf-history-panel.admin-panel {
    padding: 1.15rem 1.15rem 1.2rem;
}

.admin-tf-history-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.95rem;
}

.admin-tf-history-count {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    min-height: 1.7rem;
    padding: 0.2rem 0.6rem;
    border-radius: 999px;
    border: 1px solid var(--admin-line);
    background: var(--admin-surface-2);
    color: var(--admin-muted);
    font-size: var(--admin-fs-xs);
    font-weight: 700;
}

.admin-tf-table-wrap {
    margin-top: 0;
}

.admin-tf-empty {
    padding: 1.5rem 1rem;
}

@media (max-width: 800px) {
    .admin-tf-table thead {
        display: none;
    }

    .admin-tf-table tr {
        display: grid;
        gap: 0.45rem;
        padding: 0.85rem 0.9rem;
        border-bottom: 1px solid var(--admin-line);
    }

    .admin-tf-table td {
        display: grid;
        grid-template-columns: 7.5rem minmax(0, 1fr);
        gap: 0.5rem;
        border: 0;
        padding: 0;
    }

    .admin-tf-table td::before {
        content: attr(data-label);
        font-size: var(--admin-fs-xs);
        font-weight: 700;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        color: var(--admin-muted);
    }

    .admin-tf-empty-row td {
        display: block;
    }

    .admin-tf-empty-row td::before {
        content: none;
    }

    .admin-tf-workspace-head {
        padding: 1rem;
    }

    .admin-tf-workspace-body {
        padding: 1rem;
    }

    .admin-tf-confirm-row {
        grid-template-columns: 1fr;
        gap: 0.2rem;
    }

    .admin-tf-field--pin {
        max-width: none;
    }
}

/* Ã¢â‚¬â€Ã¢â‚¬â€ Admin banks Ã¢â‚¬â€Ã¢â‚¬â€ */
.admin-banks-page {
    gap: 1.15rem;
}

.admin-banks-hero {
    display: grid;
    gap: 1.15rem;
    padding: 1.25rem 1.2rem;
    border-radius: calc(var(--admin-radius) + 0.1rem);
    border: 1px solid rgb(15 23 42 / 0.08);
    background:
        linear-gradient(135deg, rgb(15 23 42 / 0.97) 0%, rgb(30 41 59 / 0.94) 48%, rgb(30 58 138 / 0.88) 100%);
    color: #fff;
    box-shadow: 0 16px 36px rgb(15 23 42 / 0.14);
    position: relative;
    overflow: hidden;
}

.admin-banks-hero::before {
    content: "";
    position: absolute;
    inset: auto -16% -48% 36%;
    height: 180%;
    background: radial-gradient(circle, rgb(96 165 250 / 0.3), transparent 58%);
    pointer-events: none;
}

.admin-banks-hero-copy,
.admin-banks-stats {
    position: relative;
    z-index: 1;
}

.admin-banks-hero-title {
    margin: 0.45rem 0 0;
    font-size: var(--admin-fs-hero);
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: var(--admin-lh-tight);
}

.admin-banks-hero-lead {
    margin: 0.35rem 0 0;
    max-width: 36rem;
    font-size: var(--admin-fs-base);
    line-height: var(--admin-lh-body);
    color: rgb(191 219 254 / 0.95);
}

.admin-banks-stats {
    display: grid;
    gap: 0.65rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width: 900px) {
    .admin-banks-stats {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.admin-banks-stat {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0.75rem 0.85rem;
    border-radius: 0.85rem;
    border: 1px solid rgb(255 255 255 / 0.1);
    background: rgb(255 255 255 / 0.07);
    backdrop-filter: blur(8px);
}

.admin-banks-stat-icon {
    display: grid;
    place-items: center;
    width: 2.15rem;
    height: 2.15rem;
    border-radius: 0.65rem;
    background: rgb(59 130 246 / 0.22);
    color: #93c5fd;
    flex-shrink: 0;
}

.admin-banks-stat-icon--ok {
    background: rgb(16 185 129 / 0.2);
    color: #6ee7b7;
}

.admin-banks-stat-icon--info {
    background: rgb(255 255 255 / 0.1);
    color: #e2e8f0;
}

.admin-banks-stat-icon--va {
    background: rgb(234 88 12 / 0.22);
    color: #fdba74;
}

.admin-banks-stat-icon-i {
    font-size: var(--admin-fs-xl);
    line-height: 1;
}

.admin-banks-stat-label {
    margin: 0;
    font-size: var(--admin-fs-xs);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgb(148 163 184);
}

.admin-banks-stat-value {
    margin: 0.2rem 0 0;
    font-size: var(--admin-fs-xl);
    font-weight: 800;
    color: #fff;
    line-height: var(--admin-lh-tight);
}

.admin-banks-toolbar {
    --admin-filter-h: 2.5rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem 1rem;
    margin-bottom: 1rem;
    min-width: 0;
}

.admin-banks-toolbar-copy {
    flex: 0 1 auto;
    min-width: 0;
}

.admin-banks-toolbar-copy .admin-panel-title {
    line-height: 1.25;
}

.admin-banks-toolbar-copy .admin-panel-desc {
    margin-top: 0.15rem;
}

.admin-banks-filters {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: flex-end;
    gap: 0.5rem;
    flex: 1 1 16rem;
    min-width: 0;
    max-width: 28rem;
}

.admin-banks-filter-search {
    flex: 1 1 10rem;
    min-width: 0;
    max-width: none;
}

.admin-banks-filter-status {
    flex: 1 1 8.5rem;
    width: auto;
    min-width: 0;
    max-width: 12rem;
}

.admin-banks-table-wrap {
    margin: 0 -0.1rem;
}

.admin-banks-table th,
.admin-banks-table td {
    vertical-align: middle;
}

.admin-banks-row.is-inactive {
    opacity: 0.72;
}

.admin-banks-row[hidden] {
    display: none;
}

.admin-banks-shop {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    min-width: 0;
}

.admin-banks-logo {
    display: grid;
    place-items: center;
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 0.7rem;
    border: 1px solid var(--admin-line);
    background: #fff;
    overflow: hidden;
    flex-shrink: 0;
}

.admin-banks-logo img {
    width: 1.85rem;
    height: 1.85rem;
    object-fit: contain;
}

.admin-banks-logo-fallback {
    font-size: 1rem;
    color: #64748b;
}

.admin-banks-shop-meta {
    display: grid;
    gap: 0.1rem;
    min-width: 0;
}

.admin-banks-shop-meta .admin-table-primary,
.admin-banks-shop-meta .admin-table-meta {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.admin-banks-code-pill {
    display: inline-flex;
    align-items: center;
    min-height: 1.55rem;
    padding: 0.15rem 0.5rem;
    border-radius: 0.45rem;
    background: var(--admin-surface-2);
    border: 1px solid var(--admin-line);
    font-size: var(--admin-fs-xs);
    font-weight: 700;
}

.admin-banks-channel {
    font-size: var(--admin-fs-sm);
    font-weight: 600;
    color: var(--admin-text);
}

.admin-banks-flag {
    display: inline-flex;
    align-items: center;
    min-height: 1.45rem;
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    font-size: var(--admin-fs-xs);
    font-weight: 700;
    color: #64748b;
    background: rgb(241 245 249);
    white-space: nowrap;
}

.admin-banks-flag--ok {
    color: #047857;
    background: rgb(236 253 245);
}

.admin-banks-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    cursor: pointer;
    user-select: none;
    vertical-align: middle;
}

.admin-banks-toggle input {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
    margin: 0;
    pointer-events: none;
}

.admin-banks-toggle-ui {
    position: relative;
    display: inline-block;
    width: 2.5rem;
    height: 1.4rem;
    border-radius: 999px;
    background: #cbd5e1;
    border: 1px solid rgb(148 163 184 / 0.45);
    box-shadow: inset 0 1px 2px rgb(15 23 42 / 0.08);
    transition: background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
    flex-shrink: 0;
}

.admin-banks-toggle-thumb {
    position: absolute;
    top: 50%;
    left: 0.15rem;
    width: 1.05rem;
    height: 1.05rem;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 1px 3px rgb(15 23 42 / 0.22);
    transform: translateY(-50%);
    transition: transform 0.18s ease;
}

.admin-banks-toggle input:checked + .admin-banks-toggle-ui {
    background: linear-gradient(135deg, #38bdf8, #0ea5e9);
    border-color: transparent;
    box-shadow: 0 0 0 3px rgb(14 165 233 / 0.14);
}

.admin-banks-toggle input:checked + .admin-banks-toggle-ui .admin-banks-toggle-thumb {
    transform: translate(1.05rem, -50%);
}

.admin-banks-toggle input:focus-visible + .admin-banks-toggle-ui {
    outline: 2px solid rgb(14 165 233);
    outline-offset: 2px;
}

.admin-banks-toggle-text {
    min-width: 1.55rem;
    font-size: var(--admin-fs-xs);
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--admin-muted);
    line-height: 1;
}

.admin-banks-toggle input:checked ~ .admin-banks-toggle-text {
    color: #0369a1;
}

.admin-banks-toggle.is-disabled,
.admin-banks-toggle:has(input:disabled) {
    opacity: 0.42;
    cursor: not-allowed;
}

.admin-banks-edit-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.3rem;
    min-height: 1.95rem;
    padding: 0.3rem 0.65rem;
    border: 1px solid var(--admin-line);
    border-radius: 0.55rem;
    background: #fff;
    color: var(--admin-text);
    font: inherit;
    font-size: var(--admin-fs-xs);
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
}

.admin-banks-edit-btn:hover {
    background: rgb(248 250 252);
    border-color: rgb(14 165 233 / 0.35);
}

.admin-banks-edit-i {
    font-size: 0.9rem;
    line-height: 1;
}

.admin-banks-empty-filter {
    margin: 1rem 0 0;
    text-align: center;
    font-size: var(--admin-fs-md);
    font-weight: 600;
    color: var(--admin-muted);
}

.admin-banks-dialog {
    width: min(34rem, calc(100vw - 1.5rem));
    max-height: calc(100vh - 2rem);
    margin: auto;
    padding: 0;
    border: 1px solid var(--admin-line);
    border-radius: calc(var(--admin-radius) + 0.1rem);
    background: #fff;
    box-shadow: 0 24px 48px rgb(15 23 42 / 0.18);
}

.admin-banks-dialog::backdrop {
    background: rgb(15 23 42 / 0.45);
    backdrop-filter: blur(4px);
}

.admin-banks-dialog-form {
    display: grid;
}

.admin-banks-dialog-head,
.admin-banks-dialog-body,
.admin-banks-dialog-foot {
    padding: 1rem 1.1rem;
}

.admin-banks-dialog-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    border-bottom: 1px solid var(--admin-line);
}

.admin-banks-dialog-close {
    width: 2rem;
    height: 2rem;
    border: 0;
    border-radius: 0.5rem;
    background: var(--admin-surface-2);
    color: var(--admin-muted);
    font-size: 1.25rem;
    line-height: 1;
    cursor: pointer;
}

.admin-banks-dialog-body {
    display: grid;
    gap: 0.85rem;
    overflow: auto;
}

.admin-banks-dialog-checks {
    display: grid;
    gap: 0.45rem;
}

.admin-banks-check {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-size: var(--admin-fs-md);
    font-weight: 600;
    color: var(--admin-text);
}

.admin-banks-dialog-foot {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    border-top: 1px solid var(--admin-line);
    background: var(--admin-surface-2);
}

@media (max-width: 960px) {
    .admin-banks-toolbar {
        align-items: stretch;
        gap: 0.75rem;
    }

    .admin-banks-toolbar-copy {
        flex: 1 1 100%;
    }

    .admin-banks-filters {
        flex: 1 1 100%;
        max-width: none;
        width: 100%;
        justify-content: stretch;
    }

    .admin-banks-filter-search {
        flex: 1 1 12rem;
        min-width: 0;
    }

    .admin-banks-filter-status {
        flex: 0 1 10rem;
        max-width: none;
    }
}

@media (max-width: 767px) {
    .admin-banks-filter-search,
    .admin-banks-filter-status {
        flex: 1 1 100%;
        width: 100%;
        min-width: 0;
        max-width: none;
    }
}

@media (max-width: 1024px) {
    .admin-banks-table thead {
        display: none;
    }

    .admin-banks-table tbody {
        display: grid;
        gap: 0.75rem;
    }

    .admin-banks-table tr {
        display: grid;
        gap: 0.55rem;
        padding: 0.9rem 0.95rem;
        border: 1px solid var(--admin-line);
        border-radius: var(--admin-radius);
        background: linear-gradient(180deg, #fff 0%, var(--admin-surface-2) 100%);
    }

    .admin-banks-table td {
        display: grid;
        grid-template-columns: 7.25rem minmax(0, 1fr);
        gap: 0.55rem;
        align-items: center;
        border: 0;
        padding: 0;
    }

    .admin-banks-table td::before {
        content: attr(data-label);
        font-size: var(--admin-fs-sm);
        font-weight: 700;
        color: var(--admin-muted);
    }

    .admin-banks-table .admin-table-center {
        text-align: left;
    }

    .admin-banks-toggle {
        justify-content: flex-start;
    }
}

/* Ã¢â‚¬â€Ã¢â‚¬â€ Admin Email SMTP Ã¢â‚¬â€Ã¢â‚¬â€ */
.admin-smtp-page {
    gap: 1.15rem;
}

.admin-smtp-hero {
    display: grid;
    gap: 1.15rem;
    padding: 1.25rem 1.2rem;
    border-radius: calc(var(--admin-radius) + 0.1rem);
    border: 1px solid rgb(15 23 42 / 0.08);
    background:
        linear-gradient(135deg, rgb(15 23 42 / 0.97) 0%, rgb(30 41 59 / 0.94) 52%, rgb(3 55 45 / 0.9) 100%);
    color: #fff;
    box-shadow: 0 16px 36px rgb(15 23 42 / 0.14);
    position: relative;
    overflow: hidden;
}

.admin-smtp-hero::before {
    content: "";
    position: absolute;
    inset: auto -20% -55% 40%;
    height: 190%;
    background: radial-gradient(circle, rgb(45 212 191 / 0.28), transparent 58%);
    pointer-events: none;
}

.admin-smtp-hero-main,
.admin-smtp-metrics {
    position: relative;
    z-index: 1;
}

.admin-smtp-hero-main {
    display: flex;
    align-items: flex-start;
    gap: 0.95rem;
    min-width: 0;
}

.admin-smtp-hero-mark {
    display: grid;
    place-items: center;
    width: 3rem;
    height: 3rem;
    border-radius: 0.9rem;
    background: linear-gradient(145deg, #ccfbf1, #5eead4);
    color: #0f766e;
    flex-shrink: 0;
    box-shadow: 0 8px 20px rgb(2 8 23 / 0.25);
}

.admin-smtp-hero-mark-i {
    font-size: 1.2rem;
    line-height: 1;
}

.admin-smtp-hero-copy {
    min-width: 0;
    flex: 1;
}

.admin-smtp-hero-title {
    margin: 0.4rem 0 0;
    font-size: var(--admin-fs-hero);
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: var(--admin-lh-tight);
}

.admin-smtp-hero-lead {
    margin: 0.3rem 0 0;
    max-width: 38rem;
    font-size: var(--admin-fs-base);
    line-height: var(--admin-lh-body);
    color: rgb(167 243 208 / 0.92);
}

.admin-smtp-metrics {
    display: grid;
    gap: 0.55rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width: 900px) {
    .admin-smtp-metrics {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (min-width: 1100px) {
    .admin-smtp-hero {
        grid-template-columns: minmax(0, 1.15fr) minmax(0, 1.1fr);
        align-items: stretch;
    }

    .admin-smtp-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-content: start;
    }
}

.admin-smtp-metric {
    padding: 0.75rem 0.85rem;
    border-radius: calc(var(--admin-radius) - 0.15rem);
    background: rgb(255 255 255 / 0.08);
    border: 1px solid rgb(255 255 255 / 0.1);
    min-width: 0;
}

.admin-smtp-metric-label {
    margin: 0;
    font-size: var(--admin-fs-xs);
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgb(203 213 225);
}

.admin-smtp-metric-value {
    margin: 0.35rem 0 0;
    font-size: var(--admin-fs-lg);
    font-weight: 800;
    letter-spacing: -0.02em;
    font-variant-numeric: tabular-nums;
    line-height: 1.25;
    word-break: break-word;
}

.admin-smtp-metric--status .admin-smtp-metric-value {
    display: flex;
    align-items: center;
    gap: 0.45rem;
}

.admin-smtp-metric-value--sm {
    font-size: var(--admin-fs-md);
}

.admin-smtp-metric-sep {
    margin: 0 0.1rem;
    opacity: 0.55;
    font-weight: 600;
}

.admin-smtp-metric-dot {
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 999px;
    background: #94a3b8;
    box-shadow: 0 0 0 3px rgb(148 163 184 / 0.2);
    flex-shrink: 0;
}

.admin-smtp-metric--status.is-live .admin-smtp-metric-dot {
    background: #34d399;
    box-shadow: 0 0 0 3px rgb(52 211 153 / 0.25);
}

.admin-smtp-metric--status.is-live .admin-smtp-metric-value {
    color: rgb(167 243 208);
}

.admin-smtp-metric--status.is-off .admin-smtp-metric-dot {
    background: #fbbf24;
    box-shadow: 0 0 0 3px rgb(251 191 36 / 0.22);
}

.admin-smtp-metric--status.is-off .admin-smtp-metric-value {
    color: rgb(253 230 138);
}

.admin-smtp-grid {
    display: grid;
    gap: 1rem;
}

@media (min-width: 1024px) {
    .admin-smtp-grid {
        grid-template-columns: minmax(0, 1.25fr) minmax(16rem, 0.75fr);
        align-items: start;
    }
}

.admin-smtp-aside {
    display: grid;
    gap: 1rem;
}

.admin-smtp-card-head {
    display: flex;
    align-items: flex-start;
    gap: 0.8rem;
    margin-bottom: 1rem;
}

.admin-smtp-card-copy {
    min-width: 0;
}

.admin-smtp-card-copy .admin-panel-title {
    margin: 0;
    font-size: var(--admin-fs-xl);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--admin-ink);
}

.admin-smtp-card-copy .admin-panel-desc {
    margin: 0.25rem 0 0;
    font-size: var(--admin-fs-sm);
    color: var(--admin-muted);
    line-height: 1.4;
}

.admin-smtp-card-icon {
    display: grid;
    place-items: center;
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 0.7rem;
    background: rgb(13 148 136 / 0.12);
    color: #0f766e;
    flex-shrink: 0;
}

.admin-smtp-card-icon--test {
    background: rgb(14 165 233 / 0.12);
    color: #0369a1;
}

.admin-smtp-card-icon--send {
    background: rgb(16 185 129 / 0.12);
    color: #047857;
}

.admin-smtp-card-icon--guide {
    background: rgb(245 158 11 / 0.14);
    color: #b45309;
}

.admin-smtp-card-icon-i {
    font-size: 1.1rem;
    line-height: 1;
}

.admin-smtp-card--guide {
    background: var(--admin-surface-2, #f8fafc);
}

.admin-smtp-callout {
    margin-bottom: 1rem;
    padding: 0.8rem 0.9rem;
    border-radius: var(--admin-radius-sm, 0.65rem);
    border: 1px solid var(--admin-line, #e2e8f0);
    background: var(--admin-surface-2, #f8fafc);
}

.admin-smtp-callout--ok {
    border-color: rgb(167 243 208 / 0.85);
    background: rgb(236 253 245);
}

.admin-smtp-callout-title {
    margin: 0;
    font-size: var(--admin-fs-md);
    font-weight: 800;
    color: var(--admin-ink, var(--admin-text));
}

.admin-smtp-callout-text {
    margin: 0.3rem 0 0;
    font-size: var(--admin-fs-sm);
    color: var(--admin-muted);
    line-height: 1.45;
}

.admin-smtp-form,
.admin-smtp-card .admin-smtp-field {
    display: grid;
    gap: 0.4rem;
}

.admin-smtp-form {
    gap: 1rem;
}

.admin-smtp-field-grid {
    display: grid;
    gap: 0.85rem;
}

@media (min-width: 640px) {
    .admin-smtp-field-grid {
        grid-template-columns: 1fr 1fr;
    }
}

.admin-smtp-select-wrap {
    --admin-filter-h: 2.5rem;
    width: 100%;
    max-width: none;
    min-width: 0;
    flex: 1 1 auto;
}

.admin-smtp-toggles {
    display: grid;
    gap: 0.55rem;
}

.admin-smtp-toggle {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    padding: 0.8rem 0.85rem;
    border-radius: var(--admin-radius-sm, 0.65rem);
    border: 1px solid var(--admin-line, #e2e8f0);
    background: var(--admin-surface-2, #f8fafc);
    cursor: pointer;
}

.admin-smtp-toggle input {
    margin-top: 0.15rem;
    accent-color: #0d9488;
}

.admin-smtp-toggle-body {
    display: grid;
    gap: 0.15rem;
    font-size: var(--admin-fs-sm);
    color: var(--admin-muted);
    line-height: 1.4;
}

.admin-smtp-toggle-body strong {
    color: var(--admin-ink, var(--admin-text));
    font-size: var(--admin-fs-base);
}

.admin-smtp-notes {
    margin: 0;
    padding: 0.75rem 0.85rem 0.75rem 1.35rem;
    border-radius: var(--admin-radius-sm, 0.65rem);
    border: 1px solid var(--admin-line, #e2e8f0);
    background: var(--admin-surface-2, #f8fafc);
    font-size: var(--admin-fs-sm);
    color: var(--admin-muted);
    display: grid;
    gap: 0.3rem;
    line-height: 1.4;
}

.admin-smtp-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    padding-top: 0.15rem;
}

.admin-smtp-full-btn {
    width: 100%;
}

.admin-smtp-test-result {
    margin: 0.75rem 0 0;
    padding: 0.65rem 0.75rem;
    border-radius: var(--admin-radius-sm, 0.65rem);
    font-size: var(--admin-fs-sm);
    font-weight: 600;
    line-height: 1.4;
}

.admin-smtp-test-result.is-ok {
    color: #047857;
    background: rgb(236 253 245);
    border: 1px solid rgb(167 243 208 / 0.8);
}

.admin-smtp-test-result.is-err {
    color: #be123c;
    background: rgb(255 241 242);
    border: 1px solid rgb(253 164 175 / 0.8);
}

.admin-smtp-steps {
    margin: 0;
    padding-left: 1.15rem;
    display: grid;
    gap: 0.45rem;
    font-size: var(--admin-fs-sm);
    color: var(--admin-muted);
    line-height: 1.45;
}

.admin-smtp-steps strong,
.admin-smtp-steps code {
    color: var(--admin-ink, var(--admin-text));
    font-weight: 700;
}

/* Ã¢â‚¬â€Ã¢â‚¬â€ Saldo Sistem Ã¢â‚¬â€Ã¢â‚¬â€ */
.admin-pbal-page {
    gap: 1.15rem;
}

.admin-pbal-hero {
    display: grid;
    gap: 1.15rem;
    padding: 1.25rem 1.2rem;
    border-radius: calc(var(--admin-radius) + 0.1rem);
    border: 1px solid rgb(15 23 42 / 0.08);
    background:
        linear-gradient(135deg, rgb(15 23 42 / 0.97) 0%, rgb(30 41 59 / 0.94) 52%, rgb(3 55 45 / 0.9) 100%);
    color: #fff;
    box-shadow: 0 16px 36px rgb(15 23 42 / 0.14);
    position: relative;
    overflow: hidden;
}

.admin-pbal-hero::before {
    content: "";
    position: absolute;
    inset: auto -20% -55% 40%;
    height: 190%;
    background: radial-gradient(circle, rgb(45 212 191 / 0.28), transparent 58%);
    pointer-events: none;
}

.admin-pbal-hero-main,
.admin-pbal-metrics {
    position: relative;
    z-index: 1;
}

.admin-pbal-hero-main {
    display: flex;
    align-items: flex-start;
    gap: 0.95rem;
    min-width: 0;
}

.admin-pbal-hero-mark {
    display: grid;
    place-items: center;
    width: 3rem;
    height: 3rem;
    border-radius: 0.9rem;
    background: linear-gradient(145deg, #ccfbf1, #5eead4);
    color: #0f766e;
    flex-shrink: 0;
    box-shadow: 0 8px 20px rgb(2 8 23 / 0.25);
}

.admin-pbal-hero-mark-i {
    font-size: 1.2rem;
    line-height: 1;
}

.admin-pbal-hero-copy {
    min-width: 0;
    flex: 1;
}

.admin-pbal-hero-title {
    margin: 0.4rem 0 0;
    font-size: var(--admin-fs-hero);
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: var(--admin-lh-tight);
}

.admin-pbal-hero-lead {
    margin: 0.3rem 0 0;
    max-width: 36rem;
    font-size: var(--admin-fs-base);
    line-height: var(--admin-lh-body);
    color: rgb(167 243 208 / 0.92);
}

.admin-pbal-balance {
    margin-top: 0.9rem;
    padding: 0.8rem 0.95rem;
    border-radius: calc(var(--admin-radius) - 0.15rem);
    background: rgb(255 255 255 / 0.08);
    border: 1px solid rgb(255 255 255 / 0.12);
    max-width: 22rem;
}

.admin-pbal-balance-label {
    margin: 0;
    font-size: var(--admin-fs-xs);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgb(167 243 208);
}

.admin-pbal-balance-value {
    margin: 0.25rem 0 0;
    font-size: clamp(1.45rem, 2.2vw, 1.85rem);
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1.15;
    font-variant-numeric: tabular-nums;
}

.admin-pbal-balance-note {
    margin: 0.3rem 0 0;
    font-size: var(--admin-fs-sm);
    color: rgb(167 243 208 / 0.85);
    line-height: 1.35;
}

.admin-pbal-metrics {
    display: grid;
    gap: 0.55rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width: 1100px) {
    .admin-pbal-hero {
        grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
        align-items: stretch;
    }

    .admin-pbal-metrics {
        align-content: start;
    }
}

.admin-pbal-metric {
    padding: 0.75rem 0.85rem;
    border-radius: calc(var(--admin-radius) - 0.15rem);
    background: rgb(255 255 255 / 0.08);
    border: 1px solid rgb(255 255 255 / 0.1);
    min-width: 0;
}

.admin-pbal-metric-label {
    margin: 0;
    font-size: var(--admin-fs-xs);
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgb(203 213 225);
}

.admin-pbal-metric-value {
    margin: 0.35rem 0 0;
    font-size: var(--admin-fs-md);
    font-weight: 800;
    letter-spacing: -0.02em;
    font-variant-numeric: tabular-nums;
    line-height: 1.25;
    word-break: break-word;
}

.admin-pbal-metric--in .admin-pbal-metric-value {
    color: rgb(167 243 208);
}

.admin-pbal-metric--out .admin-pbal-metric-value {
    color: rgb(254 202 202);
}

.admin-pbal-metric-sep,
.admin-pbal-chip-sep {
    margin: 0 0.15rem;
    opacity: 0.55;
    font-weight: 600;
}

.admin-pbal-breakdown {
    display: grid;
    gap: 0.65rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width: 720px) {
    .admin-pbal-breakdown {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 1100px) {
    .admin-pbal-breakdown {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}

.admin-pbal-chip {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding: 0.8rem 0.9rem;
    border-radius: var(--admin-radius);
    border: 1px solid var(--admin-line, var(--admin-border));
    background: var(--admin-surface);
    box-shadow: 0 1px 2px rgb(15 23 42 / 0.04);
    min-width: 0;
}

.admin-pbal-chip-label {
    font-size: var(--admin-fs-xs);
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--admin-muted);
}

.admin-pbal-chip-value {
    font-size: var(--admin-fs-md);
    font-weight: 800;
    color: var(--admin-ink);
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.02em;
    line-height: 1.3;
    word-break: break-word;
}

.admin-pbal-chip--in .admin-pbal-chip-value {
    color: #047857;
}

.admin-pbal-chip--out .admin-pbal-chip-value {
    color: #b91c1c;
}

.admin-pbal-panel {
    overflow: visible;
}

.admin-pbal-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.95rem;
}

.admin-pbal-toolbar-copy .admin-panel-title {
    margin: 0;
    font-size: var(--admin-fs-xl);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--admin-ink);
}

.admin-pbal-toolbar-copy .admin-panel-desc {
    margin: 0.25rem 0 0;
    font-size: var(--admin-fs-sm);
    color: var(--admin-muted);
    line-height: 1.4;
}

.admin-pbal-filters {
    margin-bottom: 1rem;
    padding: 0.85rem;
    border-radius: calc(var(--admin-radius) - 0.1rem);
    border: 1px solid var(--admin-line, var(--admin-border));
    background: var(--admin-surface-2, rgb(248 250 252));
}

.admin-pbal-filters-grid {
    display: grid;
    gap: 0.65rem;
    grid-template-columns: 1fr;
}

@media (min-width: 640px) {
    .admin-pbal-filters-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1024px) {
    .admin-pbal-filters-grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.1fr) minmax(0, 1.1fr) auto;
        align-items: end;
    }
}

.admin-pbal-filters-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

.admin-pbal-filters-summary {
    margin: 0.7rem 0 0;
    font-size: var(--admin-fs-sm);
    color: var(--admin-muted);
    font-weight: 600;
    line-height: 1.4;
}

.admin-pbal-empty {
    text-align: center;
    padding: 2rem 1rem 1.5rem;
}

.admin-pbal-empty-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    margin: 0 auto 0.75rem;
    border-radius: 0.85rem;
    background: rgb(15 23 42 / 0.05);
    color: var(--admin-muted);
}

.admin-pbal-empty-icon-i {
    font-size: 1.35rem;
}

.admin-pbal-table-wrap {
    margin: 0;
}

.admin-pbal-table {
    font-size: var(--admin-fs-md);
}

.admin-pbal-table th {
    font-size: var(--admin-fs-xs);
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--admin-muted);
}

.admin-pbal-table .admin-table-primary {
    font-size: var(--admin-fs-md);
    font-weight: 700;
    line-height: 1.35;
    color: var(--admin-ink);
}

.admin-pbal-table .admin-table-meta {
    margin-top: 0.2rem;
    font-size: var(--admin-fs-sm);
    line-height: 1.35;
    color: var(--admin-muted);
}

.admin-pbal-num {
    text-align: right;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.admin-pbal-cat {
    display: inline-block;
    font-size: var(--admin-fs-sm);
    font-weight: 700;
    color: var(--admin-text);
}

.admin-pbal-est {
    display: inline-block;
    margin-left: 0.35rem;
    padding: 0.1rem 0.4rem;
    border-radius: 999px;
    font-size: var(--admin-fs-2xs);
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    background: rgb(251 191 36 / 0.18);
    color: #92400e;
}

.admin-pbal-dir {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    font-size: var(--admin-fs-xs);
    font-weight: 700;
    line-height: 1.2;
}

.admin-pbal-dir--in {
    background: rgb(16 185 129 / 0.12);
    color: #047857;
}

.admin-pbal-dir--out {
    background: rgb(248 113 113 / 0.14);
    color: #b91c1c;
}

.admin-pbal-amount {
    font-size: var(--admin-fs-md);
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.02em;
}

.admin-pbal-amount--in {
    color: #047857;
}

.admin-pbal-amount--out {
    color: #b91c1c;
}

.admin-pbal-foot {
    margin: 0.85rem 0 0;
    font-size: var(--admin-fs-sm);
    color: var(--admin-muted);
    font-weight: 600;
}

@media (max-width: 719px) {
    .admin-pbal-table thead {
        display: none;
    }

    .admin-pbal-table tr {
        display: grid;
        gap: 0.45rem;
        padding: 0.9rem 0;
        border-bottom: 1px solid var(--admin-line, var(--admin-border));
    }

    .admin-pbal-table td {
        display: grid;
        grid-template-columns: 6.5rem minmax(0, 1fr);
        gap: 0.5rem;
        border: 0;
        padding: 0;
        align-items: start;
    }

    .admin-pbal-table td::before {
        content: attr(data-label);
        font-size: var(--admin-fs-sm);
        font-weight: 700;
        color: var(--admin-muted);
    }

    .admin-pbal-table .admin-pbal-num {
        text-align: left;
    }
}

.admin-wa-page {
    gap: 1.15rem;
}

.admin-wa-hero {
    display: grid;
    gap: 1.15rem;
    padding: 1.35rem 1.25rem;
    border-radius: calc(var(--admin-radius) + 0.1rem);
    border: 1px solid rgb(15 23 42 / 0.08);
    background:
        linear-gradient(135deg, rgb(15 23 42 / 0.97) 0%, rgb(6 78 59 / 0.88) 48%, rgb(20 83 45 / 0.9) 100%);
    color: #fff;
    box-shadow: 0 16px 36px rgb(15 23 42 / 0.14);
    position: relative;
    overflow: hidden;
}

.admin-wa-hero::before {
    content: "";
    position: absolute;
    inset: auto -18% -50% 40%;
    height: 180%;
    background: radial-gradient(circle, rgb(34 197 94 / 0.28), transparent 58%);
    pointer-events: none;
}

.admin-wa-hero-copy,
.admin-wa-status {
    position: relative;
    z-index: 1;
}

.admin-wa-hero-title {
    margin: 0.55rem 0 0;
    font-size: var(--admin-fs-hero);
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: var(--admin-lh-tight);
}

.admin-wa-hero-lead {
    margin: 0.4rem 0 0;
    max-width: 36rem;
    font-size: var(--admin-fs-base);
    line-height: var(--admin-lh-body);
    color: rgb(209 250 229);
}

.admin-wa-status {
    display: grid;
    gap: 0.65rem;
}

@media (min-width: 720px) {
    .admin-wa-status {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.admin-wa-status-card {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0.8rem 0.85rem;
    border-radius: 0.85rem;
    border: 1px solid rgb(255 255 255 / 0.1);
    background: rgb(255 255 255 / 0.07);
    backdrop-filter: blur(8px);
}

.admin-wa-status-dot {
    width: 0.7rem;
    height: 0.7rem;
    border-radius: 999px;
    background: #94a3b8;
    box-shadow: 0 0 0 4px rgb(148 163 184 / 0.18);
    flex-shrink: 0;
}

.admin-wa-status-card.is-live .admin-wa-status-dot {
    background: #34d399;
    box-shadow: 0 0 0 4px rgb(52 211 153 / 0.22);
}

.admin-wa-status-card.is-off .admin-wa-status-dot {
    background: #fbbf24;
    box-shadow: 0 0 0 4px rgb(251 191 36 / 0.2);
}

.admin-wa-status-icon {
    display: grid;
    place-items: center;
    width: 2.15rem;
    height: 2.15rem;
    border-radius: 0.65rem;
    background: rgb(255 255 255 / 0.1);
    color: #a7f3d0;
    flex-shrink: 0;
}

.admin-wa-status-icon--wa {
    color: #86efac;
}

.admin-wa-status-icon-i {
    font-size: 1.05rem;
    line-height: 1;
}

.admin-wa-status-label {
    margin: 0;
    font-size: var(--admin-fs-xs);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgb(167 243 208 / 0.8);
}

.admin-wa-status-value {
    margin: 0.2rem 0 0;
    font-size: var(--admin-fs-lg);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #fff;
    line-height: var(--admin-lh-tight);
}

.admin-wa-grid {
    display: grid;
    gap: 1rem;
}

@media (min-width: 1024px) {
    .admin-wa-grid {
        grid-template-columns: minmax(0, 1.2fr) minmax(16rem, 0.8fr);
        align-items: start;
    }
}

.admin-wa-aside {
    display: grid;
    gap: 1rem;
}

.admin-wa-card-head {
    display: flex;
    align-items: flex-start;
    gap: 0.8rem;
    margin-bottom: 1rem;
}

.admin-wa-card-icon {
    display: grid;
    place-items: center;
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 0.7rem;
    background: rgb(16 185 129 / 0.12);
    color: #047857;
    flex-shrink: 0;
}

.admin-wa-card-icon--guide {
    background: var(--admin-accent-soft);
    color: var(--admin-accent);
}

.admin-wa-card-icon-i {
    font-size: var(--admin-fs-xl);
    line-height: 1;
}

.admin-wa-callout {
    margin-bottom: 1rem;
    padding: 0.9rem 1rem;
    border-radius: var(--admin-radius-sm);
    border: 1px solid var(--admin-line);
    background: var(--admin-surface-2);
}

.admin-wa-callout--ok {
    border-color: rgb(4 120 87 / 0.22);
    background: rgb(236 253 245 / 0.75);
}

.admin-wa-callout-title {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 800;
    color: var(--admin-ink);
}

.admin-wa-callout--ok .admin-wa-callout-title {
    color: #065f46;
}

.admin-wa-callout-text {
    margin: 0.3rem 0 0;
    font-size: 0.8125rem;
    line-height: 1.5;
    color: var(--admin-muted);
}

.admin-wa-callout--ok .admin-wa-callout-text {
    color: #047857;
}

.admin-wa-callout code {
    font-size: 0.75rem;
}

.admin-wa-form {
    display: grid;
    gap: 1rem;
}

.admin-wa-field {
    display: grid;
    gap: 0.4rem;
}

.admin-wa-input-wrap {
    display: flex;
    align-items: stretch;
    min-width: 0;
    border: 1px solid var(--form-border, #cbd5e1);
    border-radius: var(--form-radius, 0.75rem);
    background: #fff;
    overflow: hidden;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.admin-wa-input-wrap:focus-within {
    border-color: rgb(16 185 129);
    box-shadow: 0 0 0 3px rgb(16 185 129 / 0.15);
}

.admin-wa-input-icon {
    display: grid;
    place-items: center;
    width: 2.75rem;
    color: var(--admin-muted);
    background: var(--admin-surface-2);
    border-right: 1px solid var(--admin-line);
    flex-shrink: 0;
}

.admin-wa-input-icon-i {
    font-size: 1rem;
    line-height: 1;
}

.admin-wa-input-wrap .admin-wa-input,
.admin-wa-input-wrap .form-control {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    min-width: 0;
}

.admin-wa-link {
    font-weight: 700;
    color: #047857;
    text-decoration: none;
}

.admin-wa-link:hover {
    text-decoration: underline;
}

.admin-wa-toggles {
    display: grid;
    gap: 0.55rem;
}

.admin-wa-toggle {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    padding: 0.85rem 0.9rem;
    border-radius: 0.85rem;
    border: 1px solid var(--admin-line);
    background: linear-gradient(180deg, rgb(248 250 252) 0%, #fff 100%);
    cursor: pointer;
}

.admin-wa-toggle input {
    margin-top: 0.15rem;
    flex-shrink: 0;
}

.admin-wa-toggle-body {
    display: grid;
    gap: 0.15rem;
    min-width: 0;
}

.admin-wa-toggle-title {
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--admin-text);
}

.admin-wa-toggle-desc {
    font-size: 0.75rem;
    color: var(--admin-muted);
    line-height: 1.4;
}

.admin-wa-toggle--danger {
    border-color: rgb(244 63 94 / 0.22);
    background: linear-gradient(180deg, rgb(255 241 242) 0%, #fff 100%);
}

.admin-wa-toggle--danger .admin-wa-toggle-title {
    color: #be123c;
}

.admin-wa-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    padding-top: 0.15rem;
}

.admin-wa-guide,
.admin-wa-tips {
    height: fit-content;
}

.admin-wa-steps {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.65rem;
}

.admin-wa-steps li {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    font-size: 0.8125rem;
    line-height: 1.45;
    color: var(--admin-muted);
}

.admin-wa-steps strong {
    color: var(--admin-text);
}

.admin-wa-step-num {
    display: grid;
    place-items: center;
    width: 1.55rem;
    height: 1.55rem;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #047857;
    background: rgb(209 250 229);
    flex-shrink: 0;
}

.admin-wa-tips {
    background: var(--admin-surface-2);
}

.admin-wa-tips-list {
    margin: 0.75rem 0 0;
    padding-left: 1.15rem;
    display: grid;
    gap: 0.4rem;
    font-size: 0.8125rem;
    color: var(--admin-muted);
    line-height: 1.45;
}

/* Ã¢â‚¬â€Ã¢â‚¬â€ REST API Studio Ã¢â‚¬â€Ã¢â‚¬â€ */
.api-studio-page {
    gap: 1.15rem;
}

.api-studio-hero {
    display: grid;
    gap: 1.15rem;
    padding: 1.35rem 1.25rem;
    border-radius: calc(var(--admin-radius) + 0.1rem);
    border: 1px solid rgb(15 23 42 / 0.08);
    background:
        linear-gradient(135deg, rgb(15 23 42 / 0.97) 0%, rgb(30 41 59 / 0.94) 48%, rgb(67 20 7 / 0.9) 100%);
    color: #fff;
    box-shadow: 0 16px 36px rgb(15 23 42 / 0.14);
    position: relative;
    overflow: hidden;
}

.api-studio-hero::before {
    content: "";
    position: absolute;
    inset: auto -14% -48% 36%;
    height: 180%;
    background: radial-gradient(circle, rgb(251 146 60 / 0.28), transparent 58%);
    pointer-events: none;
}

.api-studio-hero-copy,
.api-studio-stats {
    position: relative;
    z-index: 1;
}

.api-studio-hero-title {
    margin: 0.55rem 0 0;
    font-size: var(--admin-fs-hero);
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: var(--admin-lh-tight);
}

.api-studio-hero-lead {
    margin: 0.4rem 0 0;
    max-width: 38rem;
    font-size: var(--admin-fs-base);
    line-height: var(--admin-lh-body);
    color: rgb(254 215 170);
}

.api-studio-stats {
    display: grid;
    gap: 0.65rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width: 900px) {
    .api-studio-stats {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.api-studio-stat {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0.8rem 0.85rem;
    border-radius: 0.85rem;
    border: 1px solid rgb(255 255 255 / 0.1);
    background: rgb(255 255 255 / 0.07);
    backdrop-filter: blur(8px);
}

.api-studio-stat-icon {
    display: grid;
    place-items: center;
    width: 2.2rem;
    height: 2.2rem;
    border-radius: 0.65rem;
    background: rgb(234 88 12 / 0.22);
    color: #fdba74;
    flex-shrink: 0;
}

.api-studio-stat-icon--ok {
    background: rgb(16 185 129 / 0.2);
    color: #6ee7b7;
}

.api-studio-stat-icon--warn {
    background: rgb(245 158 11 / 0.2);
    color: #fcd34d;
}

.api-studio-stat-icon--info {
    background: rgb(255 255 255 / 0.1);
    color: #e2e8f0;
}

.api-studio-stat-icon-i {
    font-size: 1.05rem;
    line-height: 1;
}

.api-studio-stat-label {
    margin: 0;
    font-size: var(--admin-fs-xs);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgb(148 163 184);
}

.api-studio-stat-value {
    margin: 0.2rem 0 0;
    font-size: var(--admin-fs-xl);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #fff;
    line-height: var(--admin-lh-tight);
}

.api-studio-stat-value--sm {
    font-size: var(--admin-fs-base);
}

.api-studio-layout {
    display: grid;
    gap: 1rem;
}

@media (min-width: 1100px) {
    .api-studio-layout {
        grid-template-columns: minmax(16rem, 19rem) minmax(0, 1fr);
        align-items: start;
    }
}

.api-studio-side {
    position: sticky;
    top: calc(var(--admin-topbar-h) + 1rem);
}

.api-studio-side-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.85rem;
}

.api-studio-side-title {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    min-width: 0;
}

.api-studio-side-icon,
.api-studio-editor-icon,
.api-studio-live-icon {
    display: grid;
    place-items: center;
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 0.7rem;
    background: var(--admin-accent-soft);
    color: var(--admin-accent);
    flex-shrink: 0;
}

.api-studio-side-icon-i,
.api-studio-editor-icon-i,
.api-studio-live-icon-i,
.api-studio-input-icon-i {
    font-size: 1.05rem;
    line-height: 1;
}

.api-studio-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.4rem;
    max-height: min(70vh, 36rem);
    overflow: auto;
}

.api-studio-list-empty {
    padding: 1rem 0.5rem;
    font-size: 0.8125rem;
    color: var(--admin-muted);
    text-align: center;
}

.api-studio-list-item {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 0.55rem;
    width: 100%;
    padding: 0.65rem 0.7rem;
    border: 1px solid transparent;
    border-radius: 0.75rem;
    background: var(--admin-surface-2);
    text-align: left;
    cursor: pointer;
    font: inherit;
    transition: border-color 0.15s ease, background 0.15s ease, transform 0.15s ease;
}

.api-studio-list-item:hover {
    border-color: rgb(234 88 12 / 0.25);
    transform: translateY(-1px);
}

.api-studio-list-item.is-active {
    border-color: rgb(234 88 12 / 0.35);
    background: linear-gradient(135deg, rgb(255 247 237), rgb(255 237 213 / 0.7));
}

.api-studio-method {
    display: inline-grid;
    place-items: center;
    min-width: 3.1rem;
    padding: 0.2rem 0.35rem;
    border-radius: 0.4rem;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    color: #fff;
    background: #475569;
}

.api-studio-method--get { background: #0369a1; }
.api-studio-method--post { background: #047857; }
.api-studio-method--put,
.api-studio-method--patch { background: #b45309; }
.api-studio-method--delete { background: #be123c; }

.api-studio-list-meta {
    display: grid;
    min-width: 0;
    gap: 0.1rem;
}

.api-studio-list-name {
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--admin-ink);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.api-studio-list-slug {
    font-size: 0.6875rem;
    color: var(--admin-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.api-studio-main {
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.api-studio-editor-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.api-studio-editor-title-wrap,
.api-studio-live-title-wrap {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    min-width: 0;
}

.api-studio-switch {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.4rem 0.7rem;
    border-radius: 999px;
    border: 1px solid var(--admin-line);
    background: var(--admin-surface-2);
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--admin-text);
    cursor: pointer;
    user-select: none;
    flex-shrink: 0;
}

.api-studio-input-wrap {
    display: flex;
    align-items: stretch;
    min-width: 0;
    border: 1px solid var(--form-border, #cbd5e1);
    border-radius: var(--form-radius, 0.75rem);
    background: #fff;
    overflow: hidden;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.api-studio-input-wrap:focus-within {
    border-color: rgb(234 88 12);
    box-shadow: 0 0 0 3px rgb(234 88 12 / 0.15);
}

.api-studio-input-icon {
    display: grid;
    place-items: center;
    width: 2.75rem;
    color: var(--admin-muted);
    background: var(--admin-surface-2);
    border-right: 1px solid var(--admin-line);
    flex-shrink: 0;
}

.api-studio-input-wrap .api-studio-input,
.api-studio-input-wrap .form-control {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    min-width: 0;
}

.api-studio-grid {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: 1fr;
}

@media (min-width: 720px) {
    .api-studio-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .api-studio-span-2 {
        grid-column: 1 / -1;
    }
}

.api-studio-sections {
    display: grid;
    gap: 0.85rem;
    margin-top: 1.1rem;
}

.api-studio-section {
    padding: 0.9rem;
    border-radius: 0.85rem;
    border: 1px solid var(--admin-line);
    background:
        linear-gradient(180deg, rgb(248 250 252) 0%, #fff 100%);
}

.api-studio-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.65rem;
}

.api-studio-section-title {
    display: grid;
    gap: 0.25rem;
    min-width: 0;
}

.api-studio-section-badge {
    display: inline-flex;
    width: fit-content;
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #9a3412;
    background: rgb(255 237 213);
}

.api-studio-section-badge--body {
    color: #075985;
    background: rgb(224 242 254);
}

.api-studio-section-head h4 {
    margin: 0;
    font-size: 0.875rem;
    font-weight: 800;
    color: var(--admin-ink);
}

.api-studio-section-hint {
    margin: 0 0 0.65rem;
    font-size: 0.75rem;
    color: var(--admin-muted);
    line-height: 1.45;
}

.api-studio-param-rows {
    display: grid;
    gap: 0.45rem;
}

.api-studio-param-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) minmax(7rem, 0.9fr) minmax(0, 1.2fr) auto auto;
    gap: 0.4rem;
    align-items: center;
}

@media (max-width: 900px) {
    .api-studio-param-row {
        grid-template-columns: auto 1fr auto;
        grid-template-areas:
            "en key rem"
            "type type regen"
            "val val val";
    }

    .api-studio-param-row [data-field="enabled"] { grid-area: en; }
    .api-studio-param-row [data-field="key"] { grid-area: key; }
    .api-studio-param-row [data-field="type"] { grid-area: type; }
    .api-studio-param-row [data-field="value"] { grid-area: val; }
    .api-studio-param-row [data-regen] { grid-area: regen; }
    .api-studio-param-row [data-remove] { grid-area: rem; }
}

.api-studio-param-enable {
    display: grid;
    place-items: center;
}

.api-studio-select,
.api-studio-param-row .form-control,
.api-studio-param-row .api-studio-select {
    min-height: 2.35rem;
    height: 2.35rem;
    border: 1px solid var(--form-border, #cbd5e1);
    border-radius: 0.65rem;
    background: #fff;
    font: inherit;
    font-size: var(--admin-fs-md);
    padding-inline: 0.65rem;
    width: 100%;
    box-sizing: border-box;
}

.api-studio-param-row .form-control.is-auto {
    background: rgb(255 247 237);
    color: #9a3412;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.75rem;
    letter-spacing: 0.02em;
}

.api-studio-param-remove,
.api-studio-param-regen {
    display: grid;
    place-items: center;
    width: 2.35rem;
    height: 2.35rem;
    border: 1px solid var(--admin-line);
    border-radius: 0.65rem;
    background: #fff;
    color: #64748b;
    cursor: pointer;
    font-size: 1.1rem;
    line-height: 1;
}

.api-studio-param-regen:hover {
    color: #c2410c;
    border-color: rgb(234 88 12 / 0.35);
}

.api-studio-param-remove:hover {
    color: #be123c;
    border-color: rgb(244 63 94 / 0.35);
    background: rgb(255 241 242);
}

.api-studio-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-top: 1.15rem;
    padding-top: 1rem;
    border-top: 1px solid var(--admin-line);
}

.api-studio-live {
    background:
        radial-gradient(700px 220px at 100% 0%, rgb(234 88 12 / 0.08), transparent 55%),
        #0b1220;
    color: #e2e8f0;
    border-color: rgb(255 255 255 / 0.08);
}

.api-studio-live .admin-panel-title,
.api-studio-live .admin-panel-desc {
    color: #f8fafc;
}

.api-studio-live .admin-panel-desc {
    color: rgb(148 163 184);
}

.api-studio-live-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.9rem;
}

.api-studio-live-meta {
    flex-shrink: 0;
    padding: 0.35rem 0.7rem;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    background: rgb(255 255 255 / 0.08);
    color: #cbd5e1;
}

.api-studio-live-meta.is-loading {
    color: #fdba74;
    background: rgb(234 88 12 / 0.18);
}

.api-studio-live-meta.is-ok {
    color: #6ee7b7;
    background: rgb(16 185 129 / 0.16);
}

.api-studio-live-meta.is-err {
    color: #fda4af;
    background: rgb(244 63 94 / 0.18);
}

.api-studio-live-grid {
    display: grid;
    gap: 0.75rem;
}

@media (min-width: 900px) {
    .api-studio-live-grid {
        grid-template-columns: 1fr 1fr;
    }
}

.api-studio-live-card {
    min-width: 0;
    border-radius: 0.85rem;
    border: 1px solid rgb(255 255 255 / 0.08);
    background: rgb(15 23 42 / 0.65);
    overflow: hidden;
}

.api-studio-live-label {
    margin: 0;
    padding: 0.55rem 0.75rem;
    border-bottom: 1px solid rgb(255 255 255 / 0.06);
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #94a3b8;
}

.api-studio-code {
    margin: 0;
    padding: 0.85rem 0.9rem;
    max-height: 22rem;
    overflow: auto;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.75rem;
    line-height: 1.5;
    color: #e2e8f0;
    white-space: pre-wrap;
    word-break: break-word;
}

.api-studio-code--response {
    color: #fdba74;
}

.api-studio-code code {
    font: inherit;
    color: inherit;
}

@media (prefers-reduced-motion: reduce) {
    .admin-auth-atmosphere,
    .admin-auth-brand-mark,
    .admin-auth-stage,
    .admin-page,
    .admin-kpi-card,
    .admin-btn {
        animation: none !important;
        transition: none !important;
        transform: none !important;
    }
}

/* ===== Product form page =====
   Tipografi: title Ã¢â€ â€™ lead Ã¢â€ â€™ section Ã¢â€ â€™ label Ã¢â€ â€™ control Ã¢â€ â€™ hint
   Skala: --text-xs Ã‚Â· sm Ã‚Â· md Ã‚Â· lg Ã‚Â· xl Ã‚Â· 2xl
*/
.product-form-page {
    --product-gap: 1.125rem;
    --product-section-gap: 1rem;
    font-size: var(--text-md, 0.875rem);
    line-height: 1.45;
    color: rgb(51 65 85);
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.product-form-header.catalog-header:not(.is-stuck) {
    --pf-ctrl: 2rem;
    margin-bottom: var(--product-section-gap, 1rem);
    padding: 0.55rem 0.7rem;
    border-radius: 0.85rem;
    background: rgb(255 255 255 / 0.92);
    border-color: rgb(226 232 240 / 0.95);
}

.product-form-header.catalog-header {
    --pf-ctrl: 2rem;
}

.product-form-header .catalog-header-row {
    display: grid;
    grid-template-columns: var(--pf-ctrl) minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 0.55rem;
    padding: 0;
    min-height: var(--pf-ctrl);
}

.product-form-header .catalog-header-back {
    box-sizing: border-box;
    width: var(--pf-ctrl);
    height: var(--pf-ctrl);
    min-width: var(--pf-ctrl);
    border-radius: 0.55rem;
}

.product-form-header .catalog-header-brand,
.product-form-header .catalog-header-info {
    min-width: 0;
}

.product-form-header .catalog-header-menu {
    align-self: center;
}

.product-form-back {
    /* legacy — digantikan catalog-header-back */
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: var(--text-sm, 0.8125rem);
    font-weight: 600;
    color: rgb(4 120 87);
}

.product-form-back:hover {
    text-decoration: underline;
}

.product-form-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    margin-top: 0;
    min-width: 0;
    flex: 1;
}

.product-form-title,
.product-form-header .catalog-header-title {
    margin: 0;
    font-size: 0.975rem;
    font-weight: 700;
    color: var(--dash-ink, rgb(15 23 42));
    letter-spacing: -0.015em;
    line-height: 1.25;
}

.product-form-lead,
.product-form-header .catalog-header-lead {
    margin: 0.1rem 0 0;
    max-width: 36rem;
    font-size: 0.6875rem;
    font-weight: 500;
    line-height: 1.4;
    color: rgb(100 116 139);
}

.product-form-header .catalog-header-badge {
    min-height: 1.35rem;
    padding: 0.12rem 0.45rem;
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.01em;
}

.product-form-quick-actions,
.catalog-header-extras.product-form-quick-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4375rem;
    margin-top: 0.7rem;
}

.product-form-quick-action {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    min-height: 2rem;
    padding: 0.3125rem 0.75rem;
    border-radius: 9999px;
    border: 1px solid transparent;
    font-size: var(--text-sm, 0.8125rem);
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        transform 0.15s ease,
        color 0.2s ease;
}

.product-form-quick-action:focus-visible {
    outline: 2px solid rgb(16 185 129);
    outline-offset: 2px;
}

.product-form-quick-action:active {
    transform: scale(0.98);
}

button.product-form-quick-action {
    cursor: pointer;
    font-family: inherit;
}

.product-form-quick-action-icon {
    font-size: var(--text-md, 0.875rem);
    line-height: 1;
    flex-shrink: 0;
    display: block;
    transition: transform 0.2s ease;
}

#share-regenerate-btn.is-spinning {
    opacity: 0.72;
    pointer-events: none;
}

#share-regenerate-btn.is-spinning .product-form-quick-action-icon {
    animation: share-pulse 0.9s ease-in-out infinite;
}

@keyframes share-pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.55; transform: scale(0.94); }
}

.product-form-quick-action-share {
    border-color: rgb(167 243 208);
    background: rgb(236 253 245);
    color: rgb(4 120 87);
    box-shadow: none;
}

.product-form-quick-action-share:hover {
    border-color: rgb(110 231 183);
    background: rgb(209 250 229);
    box-shadow: none;
    transform: translateY(-1px);
}

.product-form-quick-action-share:hover .product-form-quick-action-icon {
    transform: scale(1.08);
}

.product-form-quick-action-store {
    border-color: rgb(226 232 240);
    background: #fff;
    color: rgb(51 65 85);
    box-shadow: none;
}

.product-form-quick-action-store:hover {
    border-color: rgb(203 213 225);
    background: rgb(248 250 252);
    box-shadow: none;
    transform: translateY(-1px);
    color: rgb(15 23 42);
}

.product-form-quick-action-store:hover .product-form-quick-action-icon {
    transform: translate(1px, -1px);
}

.product-form-badge {
    flex-shrink: 0;
    border-radius: 9999px;
    background: rgb(236 253 245);
    padding: 0.25rem 0.625rem;
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 700;
    letter-spacing: 0.02em;
    color: rgb(4 120 87);
}

.product-form-layout {
    display: grid;
    gap: var(--product-section-gap);
}

@media (min-width: 1024px) {
    .product-form-layout {
        grid-template-columns: minmax(0, 1fr) 21.5rem;
        align-items: start;
        gap: 1.5rem;
    }
}

.product-form-main {
    display: flex;
    flex-direction: column;
    gap: var(--product-section-gap);
    overflow: visible;
}

.product-form-section {
    border: var(--dash-surface-border, 1px solid rgb(167 243 208 / 0.62));
    border-radius: var(--dash-surface-radius, 1.125rem);
    background: #fff;
    box-shadow: none;
    padding: 1rem 1.125rem;
}

@media (min-width: 640px) {
    .product-form-section {
        padding: 1.25rem;
    }
}

.product-form-section-head {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    margin-bottom: var(--product-gap);
}

.product-form-section-icon {
    display: grid;
    place-items: center;
    width: 2.125rem;
    height: 2.125rem;
    flex-shrink: 0;
    border-radius: 0.625rem;
    background: rgb(236 253 245);
    font-size: var(--text-lg, 0.9375rem);
}

.product-form-section-title {
    margin: 0;
    font-size: var(--text-lg, 0.9375rem);
    font-weight: 700;
    color: rgb(15 23 42);
    line-height: 1.3;
}

.product-form-section-desc {
    margin: 0.1875rem 0 0;
    font-size: var(--text-sm, 0.8125rem);
    font-weight: 500;
    line-height: 1.45;
    color: rgb(100 116 139);
}

.product-form-stack {
    display: flex;
    flex-direction: column;
    gap: var(--product-gap);
}

/* Klasifikasi: jenis usaha + kategori Ã¢â‚¬â€ 2 baris full-width */
.product-form-classify {
    gap: var(--product-gap);
}

.product-form-classify .form-field,
.product-form-classify .smart-select {
    width: 100%;
    min-width: 0;
}

.product-form-classify .smart-select-value-label {
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
}

.product-form-field-full {
    grid-column: 1 / -1;
}

.product-form-field-full .smart-select,
.product-form-field-full .smart-select-trigger {
    width: 100%;
    min-width: 0;
}

.product-form-field-full .smart-select-value-label {
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
}

.product-form-grid {
    display: grid;
    gap: var(--product-gap);
}

.product-form-grid-2 {
    grid-template-columns: 1fr;
}

@media (min-width: 640px) {
    .product-form-grid-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.product-form-grid-3 {
    grid-template-columns: 1fr;
}

@media (min-width: 640px) {
    .product-form-grid-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.product-form-inline-2,
.product-form-inline-3 {
    display: grid;
    gap: 0.625rem;
}

.product-form-inline-2 {
    grid-template-columns: 1fr;
}

@media (min-width: 480px) {
    .product-form-inline-2 {
        grid-template-columns: minmax(9rem, 0.45fr) minmax(0, 1fr);
    }
}

.product-form-inline-3 {
    grid-template-columns: 1fr;
}

@media (min-width: 480px) {
    .product-form-inline-3 {
        grid-template-columns: minmax(5.5rem, 0.25fr) minmax(5rem, 0.2fr) minmax(0, 1fr);
    }
}

.product-form-checkbox-label {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-height: var(--form-height);
    font-size: var(--text-sm, 0.8125rem);
    font-weight: 600;
    color: rgb(51 65 85);
}

/* Collapsible diskon Ã¢â‚¬â€ overflow visible agar dropdown Smart Select tidak terpotong */
.product-form-details {
    overflow: visible;
}

.product-discount-section[open] {
    position: relative;
    z-index: 5;
}

.product-form-details:not([open]) .product-form-details-body {
    display: none;
}

.product-form-details-summary {
    display: flex;
    align-items: center;
    gap: 0.875rem;
    cursor: pointer;
    list-style: none;
    user-select: none;
}

.product-form-details-summary::-webkit-details-marker {
    display: none;
}

.product-form-details-summary .product-form-section-desc {
    display: block;
}

.product-form-details-chevron {
    margin-left: auto;
    font-size: 1.25rem;
    font-weight: 700;
    color: rgb(148 163 184);
    transition: transform 0.2s ease;
}

.product-form-details[open] .product-form-details-chevron {
    transform: rotate(90deg);
}

.product-form-details-body {
    margin-top: var(--product-gap);
    padding-top: var(--product-gap);
    border-top: 1px solid rgb(241 245 249);
    overflow: visible;
}

.product-discount-section .smart-select.is-open {
    z-index: 60;
}

.product-discount-section .smart-select-panel {
    z-index: 60;
}

/* ===== Discount blocks ===== */
.discount-blocks {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.discount-block {
    padding: 1rem 1.125rem;
    border: var(--dash-nest-border, 1px solid rgb(226 232 240));
    border-radius: var(--dash-surface-radius-sm, 0.875rem);
    background: var(--dash-nest-bg, rgb(248 250 252));
    overflow: visible;
    position: relative;
}

.discount-block .form-field {
    position: relative;
    overflow: visible;
}

.discount-block-head {
    margin-bottom: 0.875rem;
}

.discount-block .form-field + .discount-active-panel,
.discount-block .form-field + .discount-status {
    margin-top: 0.875rem;
}

.discount-active-panel.hidden {
    display: none;
}

.discount-active-panel {
    padding-top: 0.875rem;
    border-top: 1px dashed rgb(226 232 240);
    overflow: visible;
}

.discount-active-panel-grid {
    display: grid;
    gap: 0.875rem;
}

@media (min-width: 480px) {
    .discount-active-panel-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.discount-block-title {
    font-size: var(--text-sm, 0.8125rem);
    font-weight: 700;
    color: rgb(15 23 42);
}

.discount-block-desc {
    margin-top: 0.1875rem;
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 500;
    line-height: 1.45;
    color: rgb(100 116 139);
}

.discount-input-with-suffix {
    display: flex;
    align-items: stretch;
}

.discount-input-with-suffix .form-control {
    flex: 1;
    min-width: 0;
    border-radius: var(--form-radius) 0 0 var(--form-radius);
}

.discount-input-suffix {
    display: flex;
    align-items: center;
    padding-inline: 0.75rem;
    border: 1px solid var(--form-border);
    border-left: 0;
    border-radius: 0 var(--form-radius) var(--form-radius) 0;
    background: rgb(241 245 249);
    font-size: var(--text-sm, 0.8125rem);
    font-weight: 600;
    color: rgb(100 116 139);
    min-width: 2.75rem;
    justify-content: center;
    flex-shrink: 0;
}

.discount-status {
    margin-top: 0.625rem;
    margin-bottom: 0;
    font-size: var(--text-sm, 0.8125rem);
    line-height: 1.45;
}

.discount-status.is-muted {
    color: rgb(100 116 139);
}

.discount-status.is-active {
    padding: 0.625rem 0.875rem;
    border-radius: 0.625rem;
    border: 1px solid rgb(167 243 208);
    background: rgb(236 253 245);
    color: rgb(6 95 70);
}

.discount-status.is-active strong {
    font-weight: 700;
    color: rgb(4 120 87);
}


/* ===== App Modal (konfirmasi & alert) ===== */
.app-modal-root {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: grid;
    place-items: center;
    padding: 1rem;
}

.app-modal-root.hidden {
    display: none;
}

body.app-modal-open {
    overflow: hidden;
}

.app-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgb(15 23 42 / 0.55);
}

.app-modal-panel {
    position: relative;
    z-index: 1;
    width: min(100%, 24rem);
    padding: 1.5rem;
    border-radius: 1.25rem;
    background: #fff;
    box-shadow: none;
    text-align: center;
    animation: appModalIn 0.2s ease;
}

@keyframes appModalIn {
    from { opacity: 0; transform: scale(0.95) translateY(8px); }
    to { opacity: 1; transform: scale(1) translateY(0); }
}

.app-modal-icon {
    display: grid;
    place-items: center;
    width: 3rem;
    height: 3rem;
    margin: 0 auto 0.875rem;
    border-radius: 9999px;
    font-size: 1.25rem;
    font-weight: 800;
}

.app-modal-success .app-modal-icon { background: rgb(209 250 229); color: rgb(4 120 87); }
.app-modal-error .app-modal-icon { background: rgb(255 228 230); color: rgb(190 18 60); }
.app-modal-warning .app-modal-icon { background: rgb(254 243 199); color: rgb(180 83 9); }
.app-modal-info .app-modal-icon { background: rgb(219 234 254); color: rgb(29 78 216); }
.app-modal-confirm .app-modal-icon { background: rgb(254 243 199); color: rgb(180 83 9); }
.app-modal-processing .app-modal-icon { background: rgb(241 245 249); color: rgb(100 116 139); }

.app-modal-title {
    font-size: 1.125rem;
    font-weight: 800;
    color: rgb(15 23 42);
}

.app-modal-message {
    margin-top: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.55;
    color: rgb(100 116 139);
}

.app-modal-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: center;
    margin-top: 1.25rem;
}

.app-modal-btn {
    min-width: 6.5rem;
    padding: 0.625rem 1.125rem;
    border-radius: 0.75rem;
    font-size: 0.875rem;
    font-weight: 800;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
    border: none;
}

.app-modal-btn-primary { background: rgb(5 150 105); color: #fff; }
.app-modal-btn-primary:hover { background: rgb(4 120 87); }
.app-modal-btn-danger { background: rgb(225 29 72); color: #fff; }
.app-modal-btn-danger:hover { background: rgb(190 18 60); }
.app-modal-btn-ghost { background: rgb(241 245 249); color: rgb(71 85 105); }
.app-modal-btn-ghost:hover { background: rgb(226 232 240); }

.app-modal-spinner {
    display: inline-block;
    width: 1.5rem;
    height: 1.5rem;
    border: 3px solid rgb(226 232 240);
    border-top-color: rgb(5 150 105);
    border-radius: 9999px;
    animation: appModalSpin 0.7s linear infinite;
}

@keyframes appModalSpin {
    to { transform: rotate(360deg); }
}

/* Ã¢â‚¬â€Ã¢â‚¬â€ App Toast (non-blocking) Ã¢â‚¬â€Ã¢â‚¬â€ */
.app-toast-host {
    position: fixed;
    top: max(0.85rem, env(safe-area-inset-top));
    right: max(0.85rem, env(safe-area-inset-right));
    z-index: 1400;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    width: min(22.5rem, calc(100vw - 1.5rem));
    pointer-events: none;
}

.app-toast {
    pointer-events: auto;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.65rem;
    align-items: start;
    padding: 0.8rem 0.85rem;
    border-radius: 0.95rem;
    border: 1px solid rgb(15 23 42 / 0.08);
    background: rgb(255 255 255 / 0.92);
    box-shadow: 0 16px 40px rgb(15 23 42 / 0.16);
    backdrop-filter: blur(14px) saturate(1.2);
    -webkit-backdrop-filter: blur(14px) saturate(1.2);
    opacity: 0;
    transform: translateY(-0.55rem) scale(0.98);
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.app-toast.is-in {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.app-toast.is-out {
    opacity: 0;
    transform: translateY(-0.35rem) scale(0.98);
}

.app-toast-icon {
    display: grid;
    place-items: center;
    width: 1.7rem;
    height: 1.7rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 800;
    flex-shrink: 0;
}

.app-toast--success .app-toast-icon { background: #ecfdf5; color: #047857; }
.app-toast--error .app-toast-icon { background: #fff1f2; color: #be123c; }
.app-toast--warning .app-toast-icon { background: #fffbeb; color: #b45309; }
.app-toast--info .app-toast-icon { background: #eff6ff; color: #1d4ed8; }

.app-toast-body { min-width: 0; }
.app-toast-title {
    margin: 0;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    color: #0f172a;
}
.app-toast-message {
    margin: 0.15rem 0 0;
    font-size: 0.86rem;
    line-height: 1.4;
    color: #475569;
    font-weight: 600;
}

.app-toast-close {
    appearance: none;
    border: 0;
    background: transparent;
    color: #94a3b8;
    font-size: 1.1rem;
    line-height: 1;
    cursor: pointer;
    padding: 0.1rem 0.2rem;
    border-radius: 0.35rem;
}
.app-toast-close:hover { color: #0f172a; background: rgb(15 23 42 / 0.05); }

.admin-tf-money {
    display: flex;
    align-items: stretch;
    border: 1px solid var(--admin-line);
    border-radius: var(--admin-radius-sm, 0.75rem);
    background: #fff;
    overflow: hidden;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.admin-tf-money:focus-within {
    border-color: rgb(14 165 233 / 0.55);
    box-shadow: 0 0 0 3px rgb(14 165 233 / 0.12);
}

.admin-tf-money.is-invalid,
.admin-tf-form .admin-tf-money.is-invalid {
    border-color: rgb(245 158 11);
    box-shadow: 0 0 0 3px rgb(245 158 11 / 0.15);
}

.admin-tf-money-prefix {
    display: grid;
    place-items: center;
    min-width: 2.6rem;
    padding: 0 0.65rem;
    background: rgb(248 250 252);
    border-right: 1px solid var(--admin-line);
    color: #64748b;
    font-size: 0.92rem;
    font-weight: 800;
}

.admin-tf-money-input,
.admin-tf-money .admin-tf-money-input.form-control {
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    letter-spacing: 0.01em;
}

.admin-tf-field-hint {
    margin: 0.15rem 0 0;
    font-size: var(--admin-fs-xs, 0.75rem);
    color: var(--admin-muted);
    line-height: 1.35;
    min-height: 1.1rem;
}

.admin-tf-warning {
    display: none !important;
}


/* Upload foto produk Ã¢â‚¬â€ galeri unified */
.product-photo-gallery {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.product-photo-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.375rem 1rem;
}

.product-photo-count {
    font-size: var(--text-sm, 0.8125rem);
    font-weight: 700;
    color: rgb(15 23 42);
}

.product-photo-count.is-over-limit {
    color: rgb(225 29 72);
}

.product-photo-toolbar-hint {
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 500;
    color: rgb(100 116 139);
}

.product-photo-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.625rem;
}

@media (min-width: 640px) {
    .product-photo-grid {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}

.product-photo-new-wrap {
    display: contents;
}

.product-photo-tile {
    position: relative;
    overflow: hidden;
    aspect-ratio: 1;
    border-radius: 0.75rem;
    border: 1px solid rgb(226 232 240);
    background: rgb(248 250 252);
}

.product-photo-tile img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.product-photo-tile.is-primary {
    border-color: rgb(16 185 129);
    box-shadow: 0 0 0 2px rgb(209 250 229);
}

.product-photo-tile.is-removed {
    opacity: 0.45;
}

.product-photo-tile.is-removed img {
    filter: grayscale(0.6);
}

.product-photo-badge {
    position: absolute;
    top: 0.375rem;
    left: 0.375rem;
    padding: 0.125rem 0.5rem;
    border-radius: 9999px;
    background: rgb(5 150 105);
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 700;
    color: #fff;
    line-height: 1.4;
    pointer-events: none;
}

.product-photo-badge[hidden] {
    display: none;
}

.product-photo-remove {
    position: absolute;
    top: 0.375rem;
    right: 0.375rem;
    display: grid;
    place-items: center;
    width: 1.625rem;
    height: 1.625rem;
    border: 0;
    border-radius: 9999px;
    background: rgb(15 23 42 / 0.72);
    color: #fff;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    transition: background-color 0.15s ease, transform 0.15s ease;
}

.product-photo-remove:hover {
    background: rgb(225 29 72);
    transform: scale(1.05);
}

.product-photo-add {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.125rem;
    border: 2px dashed rgb(203 213 225);
    background: rgb(248 250 252);
    cursor: pointer;
    text-align: center;
    transition: border-color 0.2s ease, background-color 0.2s ease;
}

.product-photo-add:hover,
.product-photo-add.is-dragover,
.product-photo-add:focus-visible {
    border-color: rgb(16 185 129);
    background: rgb(236 253 245);
    outline: none;
}

.product-photo-add.is-hidden {
    display: none;
}

.product-photo-add-icon {
    font-size: var(--text-2xl, 1.1875rem);
    font-weight: 700;
    line-height: 1;
    color: rgb(4 120 87);
}

.product-photo-add-text {
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 700;
    color: rgb(51 65 85);
}

.product-photo-add-sub {
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 500;
    color: rgb(100 116 139);
}

.product-photo-gallery.is-dragover {
    outline: 2px dashed rgb(16 185 129);
    outline-offset: 4px;
    border-radius: 0.75rem;
}

/* Sidebar preview */
.product-form-aside {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    min-width: 0;
}

@media (min-width: 1024px) {
    .product-form-aside {
        position: sticky;
        top: 5rem;
        align-self: start;
    }
}

.product-form-preview {
    border: var(--dash-surface-border, 1px solid rgb(167 243 208 / 0.62));
    border-radius: var(--dash-surface-radius, 1.125rem);
    background: var(--dash-surface-bg, linear-gradient(180deg, rgb(236 253 245) 0%, #fff 100%));
    box-shadow: none;
    padding: 1.25rem;
}

.product-form-preview-label {
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--dash-kicker, rgb(4 120 87));
}

.product-form-preview-price {
    margin-top: 0.3125rem;
    font-size: var(--text-xl, 1.0625rem);
    font-weight: 700;
    color: rgb(4 120 87);
    letter-spacing: -0.015em;
    line-height: 1.25;
    font-variant-numeric: tabular-nums;
}

.product-form-preview-breakdown {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid rgb(167 243 208 / 0.6);
}

.product-form-preview-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    font-size: var(--text-sm, 0.8125rem);
}

.product-form-preview-row + .product-form-preview-row {
    margin-top: 0.5rem;
}

.product-form-preview-row dt {
    color: rgb(100 116 139);
    font-weight: 600;
}

.product-form-preview-note {
    margin: 0.65rem 0 0;
    font-size: 0.75rem;
    line-height: 1.4;
    color: var(--muted, #64748b);
}

.product-form-preview-row dd {
    font-weight: 700;
    color: rgb(15 23 42);
}

.product-form-preview-meta {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid rgb(167 243 208 / 0.6);
    font-size: var(--text-sm, 0.8125rem);
    line-height: 1.55;
    color: rgb(51 65 85);
}

.product-form-preview-meta-label {
    display: inline-block;
    min-width: 4.5rem;
    font-weight: 600;
    color: rgb(100 116 139);
}

.product-form-preview-tip {
    margin-top: 0.875rem;
    margin-bottom: 0;
    padding: 0.625rem 0.75rem;
    border-radius: 0.625rem;
    background: rgb(255 255 255 / 0.8);
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 500;
    line-height: 1.45;
    color: rgb(71 85 105);
}

/* Aksi simpan Ã¢â‚¬â€ bar terpisah, 1 baris rapi */
.product-form-aside-actions {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: stretch;
    gap: 0.5rem;
    padding: 0.75rem;
    border: var(--dash-surface-border, 1px solid rgb(226 232 240));
    border-radius: var(--dash-surface-radius, 1.125rem);
    background: #fff;
    box-shadow: none;
}

.product-form-aside-actions.hidden {
    display: none;
}

@media (min-width: 1024px) {
    .product-form-aside-actions.hidden.lg\:grid {
        display: grid;
    }
}

.product-form-aside-actions .form-btn {
    width: 100%;
    min-width: 0;
    min-height: 2.5rem;
    justify-content: center;
    gap: 0.375rem;
    padding-inline: 0.875rem;
    font-size: var(--text-sm, 0.8125rem);
    white-space: nowrap;
}

.product-form-aside-actions .form-btn:first-child {
    width: auto;
    padding-inline: 0.875rem;
}

.product-form-aside-actions .form-btn:last-child {
    justify-content: center;
    padding-inline: 0.75rem 1rem;
}

.product-form-aside-actions .form-btn-icon {
    font-size: 1rem;
}

/* Preview share sosial media Ã¢â‚¬â€ standalone di atas sidebar */
.social-share-preview {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
}

.social-share-preview-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}

.social-share-preview-intro {
    min-width: 0;
    flex: 1;
}

.social-share-preview-kicker {
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgb(51 65 85);
}

.social-share-preview-sub {
    margin-top: 0.1875rem;
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 500;
    line-height: 1.45;
    color: rgb(100 116 139);
}

.social-share-live-badge {
    flex-shrink: 0;
    padding: 0.1875rem 0.5rem;
    border-radius: 9999px;
    background: rgb(236 253 245);
    border: 1px solid rgb(167 243 208);
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 700;
    color: rgb(4 120 87);
    white-space: nowrap;
}

.social-share-mock {
    overflow: hidden;
    border: var(--dash-surface-border, 1px solid rgb(226 232 240));
    border-radius: var(--dash-surface-radius, 0.875rem);
    background: var(--dash-surface-bg, #fff);
    box-shadow: none;
}

.social-share-image {
    position: relative;
    width: 100%;
    aspect-ratio: 1.91 / 1;
    background: rgb(241 245 249);
    overflow: hidden;
}

.social-share-image img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.social-share-image-placeholder {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-inline: 1rem;
    text-align: center;
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 600;
    color: rgb(148 163 184);
    letter-spacing: 0.02em;
}

.social-share-body {
    padding: 0.625rem 0.75rem 0.75rem;
    background: rgb(249 250 251);
    border-top: 1px solid rgb(241 245 249);
}

.social-share-domain {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: rgb(100 116 139);
}

.social-share-title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin: 0.25rem 0 0;
    font-size: var(--text-sm, 0.8125rem);
    font-weight: 700;
    line-height: 1.3;
    color: rgb(15 23 42);
}

.social-share-desc {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin: 0.1875rem 0 0;
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 500;
    line-height: 1.45;
    color: rgb(100 116 139);
}

.social-share-path {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin: 0.375rem 0 0;
    font-family: ui-monospace, "Cascadia Mono", "Segoe UI Mono", monospace;
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 500;
    color: rgb(4 120 87);
}

.social-share-preview-foot {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.social-share-open-link {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 600;
    color: rgb(4 120 87);
    text-decoration: none;
}

.social-share-open-link:hover {
    text-decoration: underline;
}

.social-share-open-link.is-disabled {
    pointer-events: none;
    opacity: 0.45;
    text-decoration: none;
}

.social-share-foot-note {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 500;
    line-height: 1.4;
    color: rgb(148 163 184);
}

/* Footer mobile Ã¢â‚¬â€ selaras dengan aside actions */
.product-form-footer {
    position: sticky;
    bottom: 0;
    z-index: 30;
    margin-top: var(--product-section-gap);
    margin-inline: -0.25rem;
    padding: 0.625rem 0.25rem;
    padding-bottom: max(0.625rem, env(safe-area-inset-bottom));
    border-top: 1px solid rgb(226 232 240);
    background: rgb(255 255 255 / 0.97);
}

.product-form-footer-inner {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: stretch;
    gap: 0.5rem;
}

.product-form-footer-inner .form-btn {
    width: 100%;
    min-width: 0;
    min-height: 2.5rem;
    justify-content: center;
    gap: 0.375rem;
    padding-inline: 0.875rem;
    font-size: var(--text-sm, 0.8125rem);
    white-space: nowrap;
}

.product-form-footer-inner .form-btn:first-child {
    width: auto;
}

.product-form-footer-inner .form-btn-icon {
    font-size: 1rem;
}

#attribute-fields.hidden {
    display: none;
}

/* ===== Shipping smart config ===== */
.shipping-step + .shipping-step {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgb(241 245 249);
}

.shipping-step-label {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    margin-bottom: 0.875rem;
    font-size: 0.875rem;
    font-weight: 800;
    color: rgb(51 65 85);
}

.shipping-step-num {
    display: grid;
    place-items: center;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 9999px;
    background: rgb(236 253 245);
    font-size: 0.75rem;
    font-weight: 800;
    color: rgb(4 120 87);
}

.shipping-mode-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.625rem;
}

@media (min-width: 768px) {
    .shipping-mode-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.shipping-mode-card {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-height: 5.5rem;
    padding: 0.75rem 0.875rem;
    border: var(--dash-nest-border, 1px solid rgb(226 232 240 / 0.9));
    border-radius: var(--dash-surface-radius-sm, 0.75rem);
    background: var(--dash-nest-bg, #fff);
    cursor: pointer;
    transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

.shipping-mode-card:hover {
    border-color: rgb(167 243 208);
    background: rgb(248 250 252);
}

.shipping-mode-card.is-selected {
    border-color: rgb(16 185 129);
    background: rgb(236 253 245);
    box-shadow: 0 0 0 3px rgb(209 250 229);
}

.shipping-mode-card-icon {
    font-size: 1.25rem;
    line-height: 1;
}

.shipping-mode-card-title {
    font-size: 0.8125rem;
    font-weight: 800;
    color: rgb(15 23 42);
    line-height: 1.3;
}

.shipping-mode-card-desc {
    font-size: 0.6875rem;
    line-height: 1.4;
    color: rgb(100 116 139);
}

.shipping-live-summary {
    margin-bottom: 1rem;
    padding: 0.875rem 1rem;
    border-radius: 0.75rem;
    border: 1px solid rgb(167 243 208);
    background: rgb(236 253 245);
    font-size: 0.875rem;
    line-height: 1.55;
    color: rgb(6 95 70);
}

.shipping-live-summary.is-free {
    border-color: rgb(167 243 208);
    background: rgb(236 253 245);
    text-align: center;
}

.shipping-live-summary strong {
    font-weight: 800;
    color: rgb(4 120 87);
}

.shipping-config-fields {
    display: grid;
    gap: 0.875rem;
}

.shipping-config-fields.hidden {
    display: none;
}

@media (min-width: 640px) {
    .shipping-config-fields:has(.shipping-config-field.is-visible:nth-child(2)) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.shipping-config-field {
    display: none;
}

.shipping-config-field.is-visible {
    display: block;
}

.shipping-input-rp,
.shipping-input-qty {
    display: flex;
    align-items: stretch;
    gap: 0;
}

.shipping-input-prefix,
.shipping-input-suffix {
    display: flex;
    align-items: center;
    padding-inline: 0.875rem;
    border: 1px solid var(--form-border);
    background: rgb(248 250 252);
    font-size: 0.875rem;
    font-weight: 700;
    color: rgb(100 116 139);
    white-space: nowrap;
}

.shipping-input-prefix {
    border-right: 0;
    border-radius: var(--form-radius) 0 0 var(--form-radius);
}

.shipping-input-suffix {
    border-left: 0;
    border-radius: 0 var(--form-radius) var(--form-radius) 0;
}

.shipping-input-rp .form-control {
    border-radius: 0 var(--form-radius) var(--form-radius) 0;
}

.shipping-input-qty .form-control {
    border-radius: var(--form-radius) 0 0 var(--form-radius);
    max-width: 6rem;
}

.shipping-examples-wrap {
    margin-top: 1rem;
}

.shipping-examples-wrap.hidden {
    display: none;
}

.shipping-examples-label {
    margin-bottom: 0.5rem;
    font-size: 0.75rem;
    font-weight: 700;
    color: rgb(100 116 139);
}

.shipping-examples {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.shipping-example-chip {
    display: inline-flex;
    align-items: center;
    padding: 0.375rem 0.75rem;
    border-radius: 9999px;
    border: 1px solid rgb(226 232 240);
    background: rgb(248 250 252);
    font-size: 0.8125rem;
    font-weight: 700;
    color: rgb(51 65 85);
}

.shipping-example-chip.is-free {
    border-color: rgb(167 243 208);
    background: rgb(236 253 245);
    color: rgb(4 120 87);
}

/* ===== SmartLink Share Studio (selaras product-form) ===== */
#product-share-studio {
    --studio-radius: var(--dash-surface-radius, 1.125rem);
    --studio-radius-sm: var(--dash-surface-radius-sm, 0.75rem);
    --studio-pad: var(--dash-surface-pad, 1.125rem 1.25rem);
    --studio-border: var(--dash-surface-border, 1px solid rgb(167 243 208 / 0.62));
    --studio-shadow: none;
    --studio-bg: var(--dash-surface-bg, linear-gradient(135deg, rgb(236 253 245 / 0.92) 0%, rgb(255 255 255 / 0.98) 46%, rgb(240 253 250 / 0.88) 100%));
    --studio-nest-bg: var(--dash-nest-bg, rgb(255 255 255 / 0.86));
    --studio-nest-border: var(--dash-nest-border, 1px solid rgb(226 232 240 / 0.9));
}

#product-share-studio .product-form-section,
#product-share-studio .share-studio-aside-card,
#product-share-studio .share-studio-insights,
#product-share-studio .share-social-safe,
#product-share-studio .share-studio-preview.product-form-preview {
    border: var(--studio-border);
    border-radius: var(--studio-radius);
    background: var(--studio-bg);
    box-shadow: none;
}

#product-share-studio .share-studio-aside {
    display: flex;
    flex-direction: column;
    gap: 0.875rem;
    min-width: 0;
}

#product-share-studio .share-studio-aside-card {
    padding: 1rem 1.125rem;
    min-width: 0;
}

#product-share-studio .share-studio-nest,
#product-share-studio .share-studio-value-card {
    border: var(--studio-nest-border);
    border-radius: var(--studio-radius-sm);
    background: var(--studio-nest-bg);
}

#product-share-studio .share-studio-nest {
    padding: 0.625rem 0.75rem;
}

/* Tipografi kartu aside Ã¢â‚¬â€ selaras product-form */
.share-studio-card-kicker {
    margin: 0;
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--dash-kicker, rgb(4 120 87));
    line-height: 1.3;
}

.share-studio-card-title {
    margin: 0.3125rem 0 0;
    font-size: var(--text-md, 0.875rem);
    font-weight: 700;
    line-height: 1.3;
    color: rgb(15 23 42);
}

.share-studio-card-lead {
    margin: 0.3125rem 0 0;
    font-size: var(--text-sm, 0.8125rem);
    font-weight: 500;
    line-height: 1.45;
    color: rgb(100 116 139);
}

.share-studio-card-lead--tight {
    margin-top: 0.1875rem;
    font-size: var(--text-xs, 0.6875rem);
}

.share-studio-card-head {
    margin-bottom: 0.125rem;
}

.share-studio-insights-lead {
    margin-top: 0.5rem;
}

.share-studio-title-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

.share-studio-ai-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.3125rem;
    padding: 0.1875rem 0.5rem;
    border-radius: 9999px;
    border: 1px solid rgb(167 243 208);
    background: rgb(236 253 245);
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgb(4 120 87);
}

.share-studio-ai-dot {
    width: 0.375rem;
    height: 0.375rem;
    border-radius: 9999px;
    background: rgb(16 185 129);
    animation: share-ai-pulse 2s ease-in-out infinite;
}

@keyframes share-ai-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}

#share-regenerate-btn:disabled {
    opacity: 0.55;
    cursor: wait;
}

.share-studio-section .product-form-section-head {
    margin-bottom: 1rem;
}

/* Marketing hero Ã¢â‚¬â€ Caption siap pakai */
.share-studio-marketing {
    margin-bottom: 1.25rem;
    padding: var(--studio-pad, var(--dash-surface-pad, 1rem 1.125rem));
    border-radius: var(--studio-radius, var(--dash-surface-radius, 1.125rem));
    border: var(--studio-border, var(--dash-surface-border, 1px solid rgb(167 243 208 / 0.55)));
    background: var(--studio-bg, var(--dash-surface-bg, linear-gradient(135deg, rgb(236 253 245 / 0.95) 0%, rgb(255 255 255 / 0.98) 48%, rgb(240 253 250 / 0.85) 100%)));
    box-shadow: none;
}

.share-studio-marketing--standalone {
    margin-top: 1.25rem;
    margin-bottom: 0;
    padding: 1.125rem 1.25rem;
    border-radius: var(--studio-radius, 1.125rem);
    border: var(--studio-border, 1px solid rgb(167 243 208 / 0.65));
    background: var(--studio-bg, #fff);
    box-shadow: none;
}

.share-studio-marketing-head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.875rem 1rem;
}

.share-studio-marketing-kicker {
    margin: 0;
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: rgb(4 120 87);
}

.share-studio-marketing-title {
    margin: 0.3125rem 0 0;
    font-size: var(--text-xl, 1.0625rem);
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.3;
    color: rgb(15 23 42);
}

.share-studio-marketing-lead {
    margin: 0.375rem 0 0;
    max-width: 38rem;
    font-size: var(--text-sm, 0.8125rem);
    font-weight: 500;
    line-height: 1.5;
    color: rgb(100 116 139);
}

.share-studio-marketing-badge {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    min-width: 4.5rem;
    min-height: 4.5rem;
    padding: 0.5rem 0.625rem;
    border-radius: 0.875rem;
    border: 1px solid rgb(167 243 208);
    background: linear-gradient(145deg, rgb(5 150 105), rgb(16 185 129));
    color: #fff;
    text-align: center;
    box-shadow: none;
}

.share-studio-marketing-badge-num {
    font-size: 1.375rem;
    font-weight: 900;
    line-height: 1;
    font-variant-numeric: tabular-nums;
}

.share-studio-marketing-badge-label {
    margin-top: 0.1875rem;
    font-size: 0.5625rem;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    opacity: 0.92;
}

.share-studio-value-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.5rem;
    margin-top: 1rem;
}

.share-studio-value-card {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    min-width: 0;
    padding: 0.625rem 0.6875rem;
    border-radius: var(--studio-radius-sm, var(--dash-surface-radius-sm, 0.75rem));
    border: var(--studio-nest-border, var(--dash-nest-border, 1px solid rgb(226 232 240 / 0.9)));
    background: var(--studio-nest-bg, var(--dash-nest-bg, rgb(255 255 255 / 0.86)));
}

.share-studio-value-icon {
    display: grid;
    place-items: center;
    width: 1.75rem;
    height: 1.75rem;
    flex-shrink: 0;
    border-radius: 0.5rem;
    background: var(--dash-icon-chip-bg, rgb(236 253 245));
    color: var(--dash-icon-chip-fg, rgb(4 120 87));
    font-size: 0.9375rem;
    line-height: 1;
}

.share-studio-value-icon-i {
    font-size: 0.9375rem;
    line-height: 1;
    color: inherit;
}

.share-studio-value-title {
    margin: 0;
    font-size: 0.6875rem;
    font-weight: 800;
    color: rgb(15 23 42);
    line-height: 1.3;
}

.share-studio-value-desc {
    margin: 0.125rem 0 0;
    font-size: 0.625rem;
    line-height: 1.45;
    color: rgb(100 116 139);
}

.share-studio-flow {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
    margin: 0.875rem 0 0;
    padding: 0;
    list-style: none;
}

.share-studio-flow-step {
    display: flex;
    align-items: center;
    gap: 0.4375rem;
    flex: 1 1 10rem;
    min-width: 0;
    padding: 0.4375rem 0.5625rem;
    border-radius: 9999px;
    border: 1px solid rgb(226 232 240);
    background: rgb(255 255 255 / 0.75);
}

.share-studio-flow-num {
    display: grid;
    place-items: center;
    width: 1.375rem;
    height: 1.375rem;
    flex-shrink: 0;
    border-radius: 9999px;
    background: rgb(5 150 105);
    font-size: 0.625rem;
    font-weight: 800;
    color: #fff;
}

.share-studio-flow-body {
    display: flex;
    flex-direction: column;
    min-width: 0;
    font-size: 0.625rem;
    line-height: 1.35;
    color: rgb(100 116 139);
}

.share-studio-flow-body strong {
    font-size: 0.6875rem;
    font-weight: 800;
    color: rgb(15 23 42);
}

.share-studio-trust-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid rgb(167 243 208 / 0.45);
}

.share-studio-trust-tag {
    display: inline-flex;
    align-items: center;
    padding: 0.1875rem 0.5rem;
    border-radius: 9999px;
    background: rgb(255 255 255 / 0.9);
    border: 1px solid rgb(209 250 229);
    font-size: 0.5625rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: rgb(4 120 87);
}

.share-studio-tabs-wrap {
    margin-bottom: 1rem;
}

.share-studio-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
    padding: 0.375rem;
    border-radius: 0.875rem;
    border: 1px solid rgb(226 232 240);
    background: rgb(241 245 249);
}

.share-studio-tab {
    display: flex;
    flex: 1 1 calc(50% - 0.25rem);
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.3125rem;
    min-width: 0;
    min-height: 3.25rem;
    padding: 0.5rem 0.375rem;
    border-radius: 0.625rem;
    border: none;
    background: transparent;
    font-size: 0.6875rem;
    font-weight: 800;
    line-height: 1.25;
    color: rgb(100 116 139);
    cursor: pointer;
    transition:
        background-color 0.2s ease,
        box-shadow 0.2s ease,
        color 0.2s ease,
        transform 0.15s ease;
}

@media (min-width: 480px) {
    .share-studio-tab {
        flex: 1 1 calc(33.333% - 0.25rem);
    }
}

@media (min-width: 640px) {
    .share-studio-tab {
        flex: 1 1 calc(20% - 0.3rem);
        min-height: 3.5rem;
    }
}

.share-studio-tab:hover:not(.is-active) {
    background: rgb(255 255 255 / 0.55);
    color: rgb(51 65 85);
}

.share-studio-tab.is-active {
    background: #fff;
    color: rgb(15 23 42);
    box-shadow: none;
    transform: translateY(-1px);
}

.share-studio-tab:focus-visible {
    outline: 2px solid rgb(16 185 129);
    outline-offset: 2px;
}

.share-studio-tab-mark {
    display: grid;
    place-items: center;
    width: 1.625rem;
    height: 1.625rem;
    flex-shrink: 0;
    border-radius: 0.4375rem;
    font-size: 0.875rem;
    line-height: 1;
    background: rgb(255 255 255 / 0.65);
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.share-studio-tab-mark svg {
    display: block;
    width: 1.125rem;
    height: 1.125rem;
}

.share-studio-tab-mark .ui-emoji-icon,
.profile-tab-mark .ui-emoji-icon {
    font-size: 1rem;
    line-height: 1;
}

@media (min-width: 768px) {
    .share-studio-tab-mark {
        width: 1.75rem;
        height: 1.75rem;
        font-size: 1rem;
    }

    .share-studio-tab-mark svg {
        width: 1.25rem;
        height: 1.25rem;
    }

    .share-studio-tab-mark .ui-emoji-icon,
    .profile-tab-mark .ui-emoji-icon {
        font-size: 1.0625rem;
    }
}

.share-studio-tab.is-active .share-studio-tab-mark {
    transform: scale(1.06);
}

.share-tab-wa.is-active { color: rgb(21 128 61); }
.share-tab-wa.is-active .share-studio-tab-mark { background: rgb(37 211 102 / 0.16); }

.share-tab-ig.is-active { color: rgb(190 24 93); }
.share-tab-ig.is-active .share-studio-tab-mark { background: rgb(244 114 182 / 0.18); }

.share-tab-fb.is-active { color: rgb(29 78 216); }
.share-tab-fb.is-active .share-studio-tab-mark { background: rgb(59 130 246 / 0.14); }

.share-tab-tt.is-active { color: rgb(15 23 42); }
.share-tab-tt.is-active .share-studio-tab-mark { background: rgb(15 23 42 / 0.08); }

.share-tab-gen.is-active { color: rgb(4 120 87); }
.share-tab-gen.is-active .share-studio-tab-mark { background: rgb(16 185 129 / 0.14); }

.share-studio-tab-text {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.0625rem;
    width: 100%;
    min-width: 0;
}

.share-studio-tab-label {
    display: block;
    width: 100%;
    max-width: 100%;
    text-align: center;
    white-space: normal;
    overflow: visible;
    overflow-wrap: break-word;
    word-break: keep-all;
    line-height: 1.2;
}

.share-studio-tab-sublabel {
    display: block;
    font-size: 0.5625rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: rgb(148 163 184);
    line-height: 1.2;
}

.share-studio-tab.is-active .share-studio-tab-sublabel {
    color: inherit;
    opacity: 0.72;
}

@media (min-width: 640px) {
    .share-studio-tab-label {
        font-size: 0.6875rem;
    }

    .share-studio-tab-sublabel {
        font-size: 0.625rem;
    }
}

.share-studio-panel {
    display: none;
}

.share-studio-panel.is-active {
    display: block;
    animation: share-panel-in 0.2s ease;
}

@keyframes share-panel-in {
    from { opacity: 0; transform: translateY(3px); }
    to { opacity: 1; transform: translateY(0); }
}

.share-studio-panel-tip {
    font-size: 0.6875rem;
    line-height: 1.4;
    color: rgb(148 163 184);
    text-align: right;
}

.share-studio-panel-head {
    display: flex;
    flex-direction: column;
    gap: 0.4375rem;
    margin-bottom: 0.75rem;
}

.share-studio-panel-head-main {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.5rem 0.75rem;
}

.share-studio-panel-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.4375rem;
    padding: 0.3125rem 0.625rem;
    border-radius: 9999px;
    border: 1px solid color-mix(in srgb, var(--platform-accent, #059669) 28%, white);
    background: color-mix(in srgb, var(--platform-accent, #059669) 10%, white);
    font-size: 0.6875rem;
    font-weight: 800;
    color: rgb(15 23 42);
    line-height: 1.2;
}

.share-studio-panel-badge svg {
    display: block;
    width: 1rem;
    height: 1rem;
    flex-shrink: 0;
}

.share-studio-panel-benefit {
    margin: 0;
    flex: 1 1 12rem;
    min-width: 0;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.45;
    color: rgb(51 65 85);
}

.share-studio-panel-cta-hint {
    margin: 0;
    padding: 0.4375rem 0.625rem;
    border-radius: 0.5rem;
    border: 1px dashed rgb(203 213 225);
    background: rgb(248 250 252);
    font-size: 0.6875rem;
    line-height: 1.45;
    color: rgb(100 116 139);
}

.share-studio-caption-card {
    position: relative;
    padding: 0.0625rem;
    border-radius: 0.875rem;
    background: linear-gradient(
        135deg,
        color-mix(in srgb, var(--platform-accent, #059669) 55%, white),
        color-mix(in srgb, var(--platform-accent, #059669) 18%, white)
    );
    box-shadow: none;
}

.share-studio-caption-card-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.375rem 0.625rem;
    padding: 0.5625rem 0.875rem 0.375rem;
    border-radius: 0.8125rem 0.8125rem 0 0;
    background: rgb(255 255 255);
}

.share-studio-caption-label {
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgb(4 120 87);
}

.share-studio-caption-card .share-studio-caption {
    margin: 0;
    padding: 0.875rem 1rem 1rem;
    border: none;
    border-radius: 0 0 0.8125rem 0.8125rem;
    background: rgb(255 255 255);
    font-family: inherit;
    font-size: 0.875rem;
    line-height: 1.65;
    white-space: pre-wrap;
    word-break: break-word;
    overflow-wrap: anywhere;
    color: rgb(30 41 59);
    overflow: visible;
    max-height: none;
}

.share-studio-caption {
    margin: 0;
    padding: 1rem 1.125rem;
    border-radius: 0.75rem;
    border: 1px solid rgb(226 232 240);
    background: rgb(248 250 252);
    font-family: inherit;
    font-size: 0.875rem;
    line-height: 1.65;
    white-space: pre-wrap;
    word-break: break-word;
    overflow-wrap: anywhere;
    color: rgb(30 41 59);
    overflow: visible;
    max-height: none;
}

.share-studio-copy-btn {
    box-shadow: none;
}

.share-studio-section,
.share-studio-panel,
.product-form-main {
    overflow: visible;
}

.share-studio-char.is-at-limit {
    color: rgb(217 119 6);
}

.share-studio-panel-foot {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid rgb(241 245 249);
}

.share-studio-panel-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.625rem;
}

.share-studio-char {
    font-size: 0.6875rem;
    font-weight: 700;
    color: rgb(148 163 184);
    font-variant-numeric: tabular-nums;
}

.share-studio-panel-actions {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    gap: 0.5rem;
    min-width: 0;
    flex: 1 1 16rem;
}

.share-studio-panel-actions .form-btn,
.share-studio-panel-actions .share-launch-btn {
    width: 100%;
    min-width: 0;
    justify-content: center;
    white-space: nowrap;
}

.share-launch-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    box-shadow: none;
}

.share-launch-btn svg {
    width: 1rem;
    height: 1rem;
    flex-shrink: 0;
}

.share-launch-btn.is-launching {
    opacity: 0.7;
    cursor: wait;
}

.share-launch-btn--whatsapp-story {
    --btn-accent: #25d366;
    background: linear-gradient(135deg, #25d366, #128c7e) !important;
    border-color: #25d366 !important;
}

.share-launch-btn--instagram-feed {
    background: linear-gradient(135deg, #feda75, #d62976, #4f5bd5) !important;
    border-color: #d62976 !important;
}

.share-launch-btn--facebook {
    background: linear-gradient(135deg, #1877f2, #0d65d9) !important;
    border-color: #1877f2 !important;
}

.share-launch-btn--tiktok {
    background: linear-gradient(135deg, #010101, #fe2c55) !important;
    border-color: #010101 !important;
}

.share-launch-hint {
    margin: 0.875rem 0 0;
    padding-top: 0.125rem;
    font-size: 0.6875rem;
    line-height: 1.5;
    color: rgb(100 116 139);
}

.share-wa-format-hint {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.375rem;
    margin: 0.375rem 0 0;
    padding: 0.4375rem 0.625rem;
    border-radius: 0.5rem;
    background: rgb(240 253 244);
    border: 1px solid rgb(187 247 208 / 0.7);
    font-size: 0.625rem;
    color: rgb(71 85 105);
}

.share-wa-format-label {
    font-weight: 800;
    color: rgb(4 120 87);
}

.share-wa-format-hint code {
    padding: 0.0625rem 0.3125rem;
    border-radius: 0.25rem;
    background: rgb(255 255 255 / 0.85);
    font-size: 0.625rem;
    font-family: ui-monospace, monospace;
    color: rgb(15 23 42);
}

.share-wa-format-note {
    color: rgb(100 116 139);
}

/* Sidebar preview */
.share-studio-product-row {
    display: flex;
    gap: 0.625rem;
    align-items: center;
    margin-top: 0.5rem;
    min-width: 0;
}

.share-studio-product-thumb {
    width: 3.5rem;
    height: 3.5rem;
    flex-shrink: 0;
    border-radius: 0.625rem;
    object-fit: cover;
    border: 1px solid rgb(167 243 208 / 0.5);
}

.share-studio-product-meta {
    margin: 0;
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgb(4 120 87);
}

.share-studio-product-name {
    margin: 0.125rem 0 0;
    font-size: var(--text-sm, 0.8125rem);
    font-weight: 700;
    line-height: 1.35;
    color: rgb(15 23 42);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.share-studio-product-price {
    margin: 0.25rem 0 0;
    font-size: var(--text-lg, 0.9375rem) !important;
    font-weight: 700;
}

.product-form-aside .social-share-preview {
    padding: 0.875rem;
    border: var(--studio-border, var(--dash-surface-border, 1px solid rgb(226 232 240)));
    border-radius: var(--studio-radius, var(--dash-surface-radius, 1.125rem));
    background: var(--studio-bg, var(--dash-surface-bg, #fff));
    box-shadow: none;
}

.product-form-aside .social-share-desc {
    display: block;
    -webkit-line-clamp: unset;
    -webkit-box-orient: unset;
    overflow: visible;
    white-space: pre-wrap;
    word-break: break-word;
    overflow-wrap: anywhere;
}

.product-form-aside .social-share-title {
    display: block;
    -webkit-line-clamp: unset;
    -webkit-box-orient: unset;
    overflow: visible;
    white-space: normal;
    word-break: break-word;
}

.product-form-aside .social-share-path {
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
    word-break: break-all;
}

.share-studio-link-block {
    margin-top: 0.625rem;
    padding-top: 0.625rem;
    border-top: 1px solid rgb(241 245 249);
}

.share-studio-link {
    display: block;
    padding: 0.5rem 0.625rem;
    border-radius: 0.5rem;
    background: rgb(241 245 249);
    font-size: 0.6875rem;
    color: rgb(51 65 85);
    white-space: normal;
    word-break: break-all;
    overflow-wrap: anywhere;
}

.share-studio-link-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
    margin-top: 0.5rem;
}

.share-studio-insights {
    border: var(--studio-border, var(--dash-surface-border, 1px solid rgb(226 232 240)));
    border-radius: var(--studio-radius, var(--dash-surface-radius, 1.125rem));
    background: var(--studio-bg, var(--dash-surface-bg, #fff));
    box-shadow: none;
}

.share-studio-insights-list {
    display: grid;
    gap: 0.5rem;
    margin-top: 0.5rem;
    padding: 0;
    list-style: none;
}

.share-studio-insight {
    display: flex;
    gap: 0.5rem;
    align-items: flex-start;
    font-size: 0.75rem;
    line-height: 1.45;
    color: rgb(51 65 85);
}

.share-studio-insight-icon {
    flex-shrink: 0;
    line-height: 1.4;
}

.share-studio-insight-text {
    overflow: visible;
    word-break: break-word;
    overflow-wrap: anywhere;
}

.share-studio-insight-text strong {
    display: block;
    font-weight: 700;
    color: rgb(15 23 42);
}

.share-studio-insight-desc {
    display: block;
    margin-top: 0.125rem;
    font-weight: 500;
    color: rgb(100 116 139);
}

.share-launch-btn--general {
    background: linear-gradient(135deg, rgb(5 150 105), rgb(16 185 129)) !important;
    border-color: rgb(5 150 105) !important;
}

/* ===== Share Studio Ã¢â‚¬â€ mobile & tablet ===== */
.share-studio-mobile-link-btn {
    display: none;
}

.share-studio-insights-details {
    border: none;
    margin: 0;
    padding: 0;
}

.share-studio-insights-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    width: 100%;
    min-height: 1.5rem;
    list-style: none;
    cursor: pointer;
    user-select: none;
}

.share-studio-insights-summary::-webkit-details-marker {
    display: none;
}

.share-studio-insights-chevron {
    display: block;
    width: 0.5rem;
    height: 0.5rem;
    flex-shrink: 0;
    border-right: 2px solid rgb(4 120 87);
    border-bottom: 2px solid rgb(4 120 87);
    transform: rotate(45deg);
    transition: transform 0.2s ease;
}

.share-studio-insights-details[open] .share-studio-insights-chevron {
    transform: rotate(-135deg) translateY(-1px);
}

.share-studio-insights-body {
    padding-top: 0.125rem;
}

@media (max-width: 1023px) {
    .share-studio-layout {
        display: flex;
        flex-direction: column;
        gap: 0.875rem;
    }

    .share-studio-layout .product-form-aside {
        display: contents;
    }

    /* Urutan mobile: produk Ã¢â€ â€™ preview Ã¢â€ â€™ caption Ã¢â€ â€™ insight Ã¢â€ â€™ share aman */
    .share-studio-layout .share-studio-preview {
        order: 1;
    }

    .share-studio-layout .social-share-preview {
        order: 2;
    }

    .share-studio-layout .product-form-main {
        order: 3;
    }

    .share-studio-layout .share-studio-insights {
        order: 4;
    }

    .share-studio-layout .share-social-safe {
        order: 5;
    }

    .share-studio-mobile-link-btn {
        display: inline-flex;
        flex-shrink: 0;
        align-items: center;
        justify-content: center;
        min-height: 2.375rem;
        padding-inline: 0.75rem;
    }
}

@media (max-width: 639px) {
    .product-form-page .product-form-quick-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.4375rem;
    }

    .product-form-page .product-form-quick-action {
        justify-content: center;
        min-height: 2.625rem;
        padding: 0.5rem 0.625rem;
        font-size: 0.75rem;
        white-space: normal;
        text-align: center;
    }

    #product-share-studio #share-regenerate-btn {
        grid-column: 1 / -1;
    }

    #product-share-studio {
        --product-section-gap: 0.875rem;
        --product-gap: 1rem;
        padding-bottom: 0.25rem;
    }

    #product-share-studio .product-form-header {
        margin-bottom: 0.875rem;
    }

    #product-share-studio .product-form-heading {
        flex-direction: column;
        align-items: stretch;
        gap: 0.625rem;
    }

    #product-share-studio .product-form-title {
        font-size: var(--text-xl, 1.0625rem);
        line-height: 1.3;
    }

    #product-share-studio .product-form-lead {
        font-size: var(--text-sm, 0.8125rem);
        line-height: 1.5;
    }

    #product-share-studio .product-form-badge {
        align-self: flex-start;
        font-size: var(--text-xs, 0.6875rem);
        padding: 0.25rem 0.625rem;
    }

    #product-share-studio .share-studio-aside-card {
        padding: 0.875rem 1rem;
    }

    #product-share-studio .share-studio-title-row {
        gap: 0.375rem;
    }

    #product-share-studio .product-form-section {
        padding: 1rem;
        border-radius: 0.875rem;
    }

    #product-share-studio .product-form-section-head {
        gap: 0.75rem;
        margin-bottom: 0.875rem;
    }

    #product-share-studio .product-form-section-icon {
        width: 2.25rem;
        height: 2.25rem;
        font-size: 1rem;
        border-radius: 0.625rem;
    }

    #product-share-studio .product-form-section-title {
        font-size: 1rem;
    }

    #product-share-studio .product-form-section-desc {
        font-size: 0.75rem;
    }

    .share-studio-marketing {
        padding: 0.875rem;
    }

    .share-studio-marketing-head {
        flex-direction: column;
    }

    .share-studio-marketing-badge {
        align-self: flex-start;
        flex-direction: row;
        gap: 0.4375rem;
        min-width: 0;
        min-height: 0;
        padding: 0.4375rem 0.625rem;
    }

    .share-studio-marketing-badge-label {
        margin-top: 0;
        text-align: left;
    }

    .share-studio-marketing-badge-label br {
        display: none;
    }

    .share-studio-value-grid {
        grid-template-columns: 1fr;
    }

    .share-studio-flow-step {
        flex: 1 1 100%;
    }

    .share-studio-panel-head {
        gap: 0.3125rem;
        margin-bottom: 0.5rem;
    }

    .share-studio-panel-head-main {
        flex-direction: column;
        align-items: stretch;
        gap: 0.375rem;
    }

    .share-studio-panel-benefit {
        flex: none;
        width: 100%;
        font-size: 0.6875rem;
        line-height: 1.4;
    }

    .share-studio-panel-cta-hint {
        padding: 0.375rem 0.5625rem;
        font-size: 0.625rem;
        line-height: 1.4;
    }

    .share-studio-caption-card-head {
        flex-direction: column;
        align-items: flex-start;
    }

    .share-studio-panel-tip {
        text-align: left;
    }

    .share-studio-panel-actions {
        width: 100%;
    }

    .share-studio-copy-btn {
        flex: 1 1 auto;
        justify-content: center;
    }

    .share-studio-aside-card {
        border: var(--studio-border, var(--dash-surface-border, 1px solid rgb(226 232 240)));
        border-radius: var(--studio-radius, var(--dash-surface-radius, 1.125rem));
        background: var(--studio-bg, var(--dash-surface-bg, #fff));
        box-shadow: none;
    }

    .share-studio-preview {
        padding: 0.875rem 1rem;
        border: var(--studio-border, var(--dash-surface-border, 1px solid rgb(167 243 208)));
        background: var(--studio-bg, var(--dash-surface-bg, linear-gradient(180deg, rgb(236 253 245) 0%, #fff 100%)));
        box-shadow: none;
    }

    .share-studio-product-row {
        align-items: center;
        gap: 0.625rem;
        margin-top: 0.4375rem;
    }

    .share-studio-product-thumb {
        width: 3rem;
        height: 3rem;
        border-radius: 0.5rem;
    }

    .share-studio-product-name {
        font-size: 0.8125rem;
        -webkit-line-clamp: 1;
    }

    .share-studio-product-price {
        font-size: 1rem !important;
    }

    .product-form-aside .social-share-preview {
        padding: 0.875rem 1rem;
        border-radius: 0.875rem;
    }

    .social-share-mock {
        border-radius: 0.625rem;
    }

    .social-share-image {
        max-height: 9rem;
    }

    .share-studio-link-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.4375rem;
    }

    .share-studio-link-actions .form-btn {
        justify-content: center;
        min-height: 2.625rem;
    }

    .share-studio-insights {
        padding: 0.75rem 1rem;
        border-radius: 0.875rem;
    }

    .share-studio-insights-list {
        margin-top: 0.625rem;
    }

    .share-studio-tabs-wrap {
        margin-inline: -0.25rem;
        margin-bottom: 0.875rem;
    }

    .share-studio-tabs {
        flex-wrap: nowrap;
        gap: 0.3125rem;
        padding: 0.3125rem;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x proximity;
        scrollbar-width: none;
    }

    .share-studio-tabs::-webkit-scrollbar {
        display: none;
    }

    .share-studio-tab {
        flex: 0 0 auto;
        min-width: 4.75rem;
        max-width: 6.5rem;
        min-height: 3.5rem;
        padding: 0.4375rem 0.5rem;
        scroll-snap-align: start;
    }

    .share-studio-tab.is-active {
        transform: none;
    }

    .share-studio-tab-mark {
        width: 1.5rem;
        height: 1.5rem;
        font-size: 0.8125rem;
    }

    .share-studio-tab-label {
        font-size: 0.625rem;
        line-height: 1.15;
    }

    .share-studio-tab-sublabel {
        font-size: 0.5rem;
    }

    .share-studio-panel-tip {
        font-size: 0.6875rem;
        margin-bottom: 0.5rem;
    }

    .share-studio-caption {
        padding: 0.875rem 1rem;
        font-size: 0.8125rem;
        line-height: 1.6;
        border-radius: 0.625rem;
    }

    .share-studio-panel-foot {
        margin-top: 0.625rem;
        padding-top: 0.625rem;
    }

    .share-studio-panel-bar {
        flex-direction: column;
        align-items: stretch;
        gap: 0.625rem;
    }

    .share-launch-hint {
        margin-top: 0.75rem;
        text-align: center;
    }

    .share-studio-char {
        text-align: center;
        font-size: 0.6875rem;
    }

    .share-studio-panel-actions {
        grid-template-columns: 1fr;
        flex: none;
        width: 100%;
        gap: 0.4375rem;
    }

    .share-studio-panel-actions .form-btn,
    .share-studio-panel-actions .share-launch-btn {
        width: 100%;
        justify-content: center;
        min-height: 2.625rem;
        font-size: var(--text-sm, 0.8125rem);
    }

    .share-studio-link-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 379px) {
    /* Icon-only hanya untuk Share Studio — jangan sembunyikan label tab profil */
    #product-share-studio .share-studio-tab {
        min-width: 3.25rem;
        max-width: 3.25rem;
        padding: 0.375rem;
    }

    #product-share-studio .share-studio-tab-text {
        display: none;
    }

    #product-share-studio .share-studio-tab-mark {
        width: 1.75rem;
        height: 1.75rem;
        font-size: 1rem;
    }
}

/* ===== Shared UI icons Ã¢â‚¬â€ emoji (gaya Marketing Toolkit) ===== */
.ui-emoji-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-style: normal;
    font-weight: 400;
    font-family: "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", "Twemoji Mozilla", "Segoe UI Symbol", sans-serif;
    line-height: 1;
    flex-shrink: 0;
    speak: never;
    user-select: none;
    -webkit-user-select: none;
}

/* Label teks pada tombol ikon+teks Ã¢â‚¬â€ boleh disembunyikan di mobile tanpa mematikan ikon */
.ui-btn-label {
    display: inline;
}

.ui-brand-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    line-height: 1;
}

.ui-brand-icon svg {
    display: block;
    width: 1.125em;
    height: 1.125em;
}

.ui-svg-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    line-height: 1;
    color: inherit;
}

.ui-svg-icon svg {
    display: block;
    width: 1.125em;
    height: 1.125em;
    flex-shrink: 0;
}

.ui-icon {
    font-size: 1rem;
    line-height: 1;
    flex-shrink: 0;
}

.form-btn-icon.ui-emoji-icon,
.ui-icon.ui-emoji-icon {
    font-size: 1.05em;
}

.dash-icon-chip .ui-emoji-icon,
.dash-kpi-icon .ui-emoji-icon,
.dash-panel-head-icon .ui-emoji-icon,
.share-studio-value-icon .ui-emoji-icon {
    font-size: 0.95rem;
}

.ui-icon-chip {
    display: grid;
    place-items: center;
    width: 1.75rem;
    height: 1.75rem;
    flex-shrink: 0;
    border-radius: 0.4375rem;
    background: rgb(241 245 249);
    color: rgb(100 116 139);
    transition: background-color 0.15s ease, color 0.15s ease;
}

.ui-icon-chip-danger {
    background: rgb(255 241 242);
    color: rgb(244 63 94);
}

.dash-topbar-user-link:hover .ui-icon-chip:not(.ui-icon-chip-danger) {
    background: rgb(209 250 229);
    color: rgb(4 120 87);
}

.dash-topbar-user-link-danger:hover .ui-icon-chip-danger {
    background: rgb(254 226 226);
    color: rgb(190 18 60);
}

.product-form-section-icon--svg {
    color: rgb(4 120 87);
}

.product-form-section-icon-svg {
    font-size: 1.125rem;
    line-height: 1;
}

.profile-tab-mark {
    display: grid;
    place-items: center;
    width: 1.625rem;
    height: 1.625rem;
    flex-shrink: 0;
    border-radius: 0.4375rem;
    background: rgb(255 255 255 / 0.65);
    color: rgb(100 116 139);
    transition: background-color 0.2s ease, color 0.2s ease;
}

.profile-tab.is-active .profile-tab-mark {
    background: rgb(209 250 229);
    color: rgb(4 120 87);
}

body.is-dash-menu-open {
    overflow: hidden;
}

.dash-nav-icon {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
}

.dash-nav-icon-i {
    font-size: 1.125rem;
    line-height: 1;
}

.dash-nav-icon-i.ui-emoji-icon {
    font-size: 1.2rem;
}

.spa-mobile-nav .dash-nav-icon-i {
    font-size: 1.25rem;
}

.spa-mobile-nav .dash-nav-icon-i.ui-emoji-icon {
    font-size: 1.35rem;
}

/* ===== Dashboard topbar (mobile app style) ===== */
.dash-topbar {
    position: sticky;
    top: 0;
    z-index: 40;
    overflow: visible;
    border-bottom: var(--dash-chrome-border, 1px solid rgb(226 232 240));
    background: var(--dash-chrome-bg, rgb(255 255 255 / 0.97));
    padding-top: env(safe-area-inset-top, 0);
}

.dash-app .dash-topbar {
    background:
        linear-gradient(180deg, rgb(255 255 255 / 0.98) 0%, rgb(248 250 252 / 0.96) 100%);
}

.dash-topbar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.625rem;
    min-height: 3.375rem;
    margin-inline: auto;
    width: 100%;
    max-width: 1120px;
    min-width: 0;
    box-sizing: border-box;
    padding-inline: max(0.75rem, env(safe-area-inset-left, 0px)) max(0.75rem, env(safe-area-inset-right, 0px));
}

.dash-topbar-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    min-width: 0;
    font-weight: 800;
    color: var(--dash-brand-deep, rgb(4 120 87));
    text-decoration: none;
}

.dash-topbar-brand-mark {
    display: grid;
    place-items: center;
    width: 2.125rem;
    height: 2.125rem;
    flex-shrink: 0;
    border-radius: 0.75rem;
    background: linear-gradient(145deg, rgb(16 185 129) 0%, rgb(5 150 105) 48%, rgb(4 120 87) 100%);
    font-size: 0.6875rem;
    font-weight: 800;
    color: #fff;
    box-shadow: 0 6px 14px rgb(5 150 105 / 0.22);
}

.dash-topbar-brand-copy {
    display: flex;
    flex-direction: column;
    min-width: 0;
    line-height: 1.15;
}

.dash-topbar-brand-text {
    display: block;
    font-size: 0.875rem;
    letter-spacing: -0.02em;
    color: var(--dash-brand-deep, rgb(4 120 87));
}

.dash-topbar-brand-sub {
    display: block;
    margin-top: 0.1rem;
    font-size: 0.625rem;
    font-weight: 700;
    color: var(--dash-muted, rgb(100 116 139));
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: min(42vw, 11rem);
}

.dash-topbar-trailing {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    flex-shrink: 0;
}

.dash-topbar-quick {
    display: grid;
    place-items: center;
    width: 2.125rem;
    height: 2.125rem;
    border-radius: 9999px;
    border: 1px solid rgb(167 243 208);
    background: rgb(236 253 245);
    color: rgb(4 120 87);
    text-decoration: none;
    transition: transform 0.15s ease, background-color 0.15s ease;
}

.dash-topbar-quick:hover {
    background: rgb(209 250 229);
    transform: translateY(-1px);
}

.dash-topbar-quick:active {
    transform: scale(0.96);
}

.dash-topbar-quick-i {
    font-size: 1rem;
    line-height: 1;
}

#dash-topbar-user-slot {
    flex-shrink: 0;
}

.dash-topbar-user-trigger {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    max-width: min(14rem, 42vw);
    padding: 0.3125rem 0.4375rem 0.3125rem 0.3125rem;
    border: 1px solid rgb(226 232 240);
    border-radius: 9999px;
    background: rgb(248 250 252);
    cursor: pointer;
    font-family: inherit;
    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

.dash-topbar-user-trigger:hover {
    background: #fff;
    border-color: rgb(203 213 225);
}

body.is-dash-menu-open .dash-topbar-user-trigger {
    background: #fff;
    border-color: rgb(167 243 208);
    box-shadow: 0 0 0 3px rgb(16 185 129 / 0.12);
}

.dash-topbar-user-trigger:focus-visible {
    outline: 2px solid rgb(16 185 129);
    outline-offset: 2px;
}

.dash-topbar-avatar {
    display: grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    flex-shrink: 0;
    overflow: hidden;
    border-radius: 9999px;
    background: linear-gradient(135deg, rgb(16 185 129), rgb(5 150 105));
    color: #fff;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.02em;
}

.dash-topbar-avatar-lg {
    width: 2.5rem;
    height: 2.5rem;
    font-size: 0.75rem;
}

.dash-topbar-avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dash-topbar-avatar-fallback {
    line-height: 1;
}

.dash-topbar-user-meta {
    display: none;
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;
    text-align: left;
}

.dash-topbar-user-name {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.75rem;
    font-weight: 800;
    color: rgb(15 23 42);
    line-height: 1.2;
}

.dash-topbar-user-sub {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.625rem;
    font-weight: 600;
    color: rgb(100 116 139);
    line-height: 1.2;
}

.dash-topbar-user-chevron {
    font-size: 0.875rem;
    line-height: 1;
    flex-shrink: 0;
    color: rgb(148 163 184);
    transition: transform 0.2s ease;
}

body.is-dash-menu-open .dash-topbar-user-chevron {
    transform: rotate(180deg);
    color: rgb(4 120 87);
}

.dash-user-menu-layer {
    position: fixed;
    inset: 0;
    z-index: 60;
    pointer-events: none;
}

.dash-user-menu-layer:not([hidden]) {
    pointer-events: auto;
}

.dash-user-menu-layer[hidden] {
    display: none !important;
}

.dash-topbar-backdrop {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 0;
    border: none;
    background: rgb(15 23 42 / 0.4);
    cursor: pointer;
    animation: dash-overlay-in 0.2s ease;
}

@keyframes dash-overlay-in {
    from { opacity: 0; }
    to { opacity: 1; }
}

.dash-topbar-user-panel {
    position: fixed;
    z-index: 1;
    top: var(--dash-menu-top, 3.75rem);
    right: var(--dash-menu-right, 1rem);
    width: min(17.5rem, calc(100vw - 2rem));
    padding: 0.375rem;
    border: var(--dash-chrome-border, 1px solid rgb(226 232 240));
    border-radius: var(--dash-surface-radius, 1.125rem);
    background: var(--dash-chrome-bg, #fff);
    box-shadow: none;
    animation: dash-menu-in 0.18s ease;
}

@keyframes dash-menu-in {
    from { opacity: 0; transform: translateY(-4px) scale(0.98); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

.dash-topbar-user-panel-head {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    padding: 0.625rem 0.75rem 0.5rem;
}

.dash-topbar-panel-name {
    font-size: 0.875rem;
    font-weight: 800;
    color: rgb(15 23 42);
    line-height: 1.25;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dash-topbar-panel-sub {
    margin-top: 0.125rem;
    font-size: 0.6875rem;
    font-weight: 600;
    color: rgb(100 116 139);
}

.dash-topbar-user-links {
    display: grid;
    gap: 0.125rem;
    padding: 0.25rem;
    border-top: 1px solid rgb(241 245 249);
}

.dash-topbar-user-link {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    width: 100%;
    padding: 0.625rem 0.75rem;
    border: none;
    border-radius: 0.625rem;
    background: transparent;
    font-family: inherit;
    font-size: 0.8125rem;
    font-weight: 700;
    color: rgb(51 65 85);
    text-decoration: none;
    text-align: left;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.dash-topbar-user-link:hover {
    background: rgb(236 253 245);
    color: rgb(4 120 87);
}

.dash-topbar-user-logout {
    padding: 0.25rem;
    border-top: 1px solid rgb(241 245 249);
}

.dash-topbar-user-link-danger {
    color: rgb(225 29 72);
}

.dash-topbar-user-link-danger:hover {
    background: rgb(255 241 242);
    color: rgb(190 18 60);
}

.dash-sidebar-store {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    padding: 0.625rem 0.75rem;
    border-radius: 0.75rem;
    background: linear-gradient(135deg, rgb(5 150 105), rgb(4 120 87));
    color: #fff;
    text-decoration: none;
    transition: background 0.2s ease, transform 0.2s ease;
}

.dash-sidebar-store:hover {
    background: linear-gradient(135deg, rgb(16 185 129), rgb(5 150 105));
}

.dash-sidebar-store-body {
    display: flex;
    flex-direction: column;
    gap: 0.0625rem;
    flex: 1;
    min-width: 0;
}

.dash-sidebar-store-label {
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgb(209 250 229);
}

.dash-sidebar-store-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.875rem;
    font-weight: 800;
    line-height: 1.25;
}

.dash-sidebar-store-chevron {
    flex-shrink: 0;
    font-size: 0.875rem;
    color: rgb(167 243 208);
    opacity: 0.85;
}

.dash-sidebar-avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dash-sidebar-avatar {
    display: grid;
    place-items: center;
    width: 2.25rem;
    height: 2.25rem;
    flex-shrink: 0;
    overflow: hidden;
    border-radius: 9999px;
    background: rgb(255 255 255 / 0.2);
    font-size: 0.6875rem;
    font-weight: 800;
}

.dash-sidebar-avatar-fallback {
    color: #fff;
}

@media (min-width: 480px) {
    .dash-topbar-brand-text {
        display: inline;
    }

    .dash-topbar-user-meta {
        display: flex;
    }

    .dash-topbar-user-trigger {
        max-width: 16rem;
        padding-right: 0.625rem;
    }
}

@media (min-width: 640px) {
    .dash-topbar-inner {
        min-height: 3.75rem;
    }

    .dash-topbar-brand-mark {
        width: 2.25rem;
        height: 2.25rem;
    }
}

/* ===== Profile module =====
   Tipografi: title → lead → section → label → control → hint
   Jarak seragam: --profile-card-gap / --profile-pad / --profile-radius
*/
.profile-page {
    --profile-card-gap: 0.7rem;
    --profile-pad: 0.85rem;
    --profile-pad-sm: 0.7rem;
    --profile-radius: 0.85rem;
    --profile-nest-pad: 0.7rem 0.85rem;
    max-width: 100%;
    min-width: 0;
}

.profile-page .profile-header.product-form-header:not(.is-stuck) {
    margin-bottom: var(--profile-card-gap);
}

.profile-page .profile-header .catalog-header-extras.product-form-quick-actions {
    margin-top: 0.5rem;
    gap: 0.4rem;
}

.profile-header .product-form-back {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
}

.profile-header .product-form-back .ui-icon {
    font-size: 0.875rem;
}

.profile-page .product-form-heading {
    margin-top: 0;
}

.profile-heading-main {
    min-width: 0;
    flex: 1;
}

.profile-page .product-form-title {
    font-size: var(--text-xl, 1.0625rem);
    font-weight: 800;
}

.profile-page .product-form-lead {
    font-size: var(--text-sm, 0.8125rem);
    font-weight: 500;
}

.profile-page .product-form-section-title {
    font-size: var(--text-lg, 0.9375rem);
    font-weight: 700;
}

.profile-page .product-form-section-desc {
    font-size: var(--text-sm, 0.8125rem);
    font-weight: 500;
}

.profile-page .form-label {
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 700;
}

.profile-page .form-control,
.profile-page .form-textarea,
.profile-page .form-select {
    font-size: var(--text-sm, 0.8125rem);
}

.profile-completion-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.3125rem;
    padding: 0.25rem 0.625rem;
    border-radius: 9999px;
    border: 1px solid rgb(253 230 138);
    background: rgb(254 252 232);
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 800;
    color: rgb(180 83 9);
    white-space: nowrap;
    line-height: 1.2;
}

.profile-completion-badge.is-complete {
    border-color: rgb(167 243 208);
    background: rgb(236 253 245);
    color: rgb(4 120 87);
}

.profile-layout {
    gap: var(--profile-card-gap);
}

@media (min-width: 1024px) {
    .profile-layout.product-form-layout {
        gap: 1rem;
    }
}

.profile-main {
    display: flex;
    flex-direction: column;
    gap: var(--profile-card-gap);
    min-width: 0;
}

.profile-tabs-wrap.share-studio-tabs-wrap {
    margin: 0;
}

.profile-tabs-hint {
    margin: 0 0 0.35rem;
    padding: 0 0.1rem;
    font-size: 0.6875rem;
    font-weight: 500;
    line-height: 1.35;
    color: rgb(100 116 139);
}

.profile-tabs.share-studio-tabs {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.3rem;
    padding: 0.3rem;
    margin: 0;
    border-radius: var(--profile-radius);
    overflow: visible;
    flex-wrap: nowrap;
    scroll-snap-type: none;
}

.profile-tabs::-webkit-scrollbar {
    display: none;
}

.profile-tab.share-studio-tab {
    position: relative;
    flex: unset;
    width: auto;
    min-width: 0;
    max-width: none;
    min-height: 3.4rem;
    padding: 0.4rem 0.2rem;
    gap: 0.2rem;
    border-radius: 0.6rem;
    text-decoration: none;
    color: rgb(71 85 105);
    transform: none;
}

.profile-tab .share-studio-tab-text {
    display: flex !important;
    gap: 0.05rem;
}

.profile-tab .share-studio-tab-label {
    font-size: 0.625rem;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: 0;
}

.profile-tab .share-studio-tab-sublabel {
    font-size: 0.5rem;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.profile-tab .profile-tab-mark,
.profile-tab .share-studio-tab-mark {
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 0.4rem;
    transform: none;
}

.profile-tab .profile-tab-mark .ui-svg-icon,
.profile-tab .profile-tab-mark .ui-svg-icon svg,
.profile-tab .share-studio-tab-mark .ui-svg-icon,
.profile-tab .share-studio-tab-mark .ui-svg-icon svg {
    width: 0.95rem;
    height: 0.95rem;
}

.profile-tab.is-active {
    background: #fff;
    color: rgb(4 120 87);
    box-shadow: 0 1px 2px rgb(15 23 42 / 0.05);
    transform: none;
}

.profile-tab.is-active .profile-tab-mark,
.profile-tab.is-active .share-studio-tab-mark {
    background: rgb(209 250 229);
    color: rgb(4 120 87);
    transform: none;
}

.profile-tab-alert {
    position: absolute;
    top: 0.2rem;
    right: 0.2rem;
    display: grid;
    place-items: center;
    width: 0.85rem;
    height: 0.85rem;
    border-radius: 9999px;
    background: rgb(245 158 11);
    font-size: 0.5rem;
    font-weight: 800;
    color: #fff;
    line-height: 1;
    z-index: 1;
}

.profile-panel {
    display: none;
    min-width: 0;
}

.profile-panel.is-active {
    display: block;
    animation: share-panel-in 0.2s ease;
}

.profile-panel.product-form-section {
    margin: 0;
    padding: var(--profile-pad);
    border-radius: var(--profile-radius);
}

@media (min-width: 640px) {
    .profile-panel.product-form-section {
        padding: 1rem 1.1rem;
    }
}

.profile-panel .product-form-section-head {
    gap: 0.6rem;
    margin-bottom: 0.75rem;
}

.profile-panel-body {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    min-width: 0;
}

.profile-form-stack {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    min-width: 0;
}

.profile-form-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-top: 0;
    padding-top: 0.75rem;
    border-top: 1px solid rgb(241 245 249);
}

.profile-wilayah {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 0.875rem 1rem;
    border-radius: var(--dash-surface-radius-sm, 0.75rem);
    border: 1px solid rgb(226 232 240);
    background:
        linear-gradient(165deg, rgb(248 250 252) 0%, rgb(241 245 249 / 0.65) 100%);
    overflow: visible;
    min-width: 0;
}

.profile-wilayah-head .form-hint,
.profile-wilayah-head .form-label + p {
    margin: 0.2rem 0 0;
}

/* Satu kolom penuh Ã¢â‚¬â€ dropdown smart-select tidak terpotong */
.profile-wilayah-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
    min-width: 0;
    overflow: visible;
}

.profile-wilayah-grid .form-field {
    margin: 0;
    min-width: 0;
    overflow: visible;
}

.profile-wilayah-grid > .form-field > .form-label {
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 800;
}

.profile-wilayah-grid .smart-select,
.profile-wilayah .smart-select {
    width: 100%;
    max-width: 100%;
}

.profile-wilayah .smart-select.is-open {
    z-index: 70;
}

.profile-wilayah .smart-select-panel {
    z-index: 70;
    min-width: 100%;
    max-width: min(100vw - 2rem, 28rem);
}

.profile-wilayah-status {
    margin: 0;
    font-size: 0.75rem;
    line-height: 1.4;
    color: rgb(100 116 139);
}

.profile-wilayah-status.is-error {
    color: rgb(190 18 60);
}

.profile-wilayah-status.is-loading {
    color: rgb(29 78 216);
}

.profile-wilayah-preview {
    margin: 0;
    padding: 0.55rem 0.7rem;
    border-radius: 0.55rem;
    background: rgb(255 255 255 / 0.85);
    border: 1px dashed rgb(203 213 225);
    color: rgb(51 65 85);
    font-size: 0.8125rem;
    line-height: 1.45;
    word-break: break-word;
}

.profile-page .profile-panel.product-form-section,
.profile-page .profile-form-stack {
    overflow: visible;
}

.profile-avatar-card {
    display: flex;
    align-items: flex-start;
    gap: 0.875rem;
    padding: var(--profile-nest-pad);
    border-radius: var(--dash-surface-radius-sm, 0.75rem);
    border: 1px solid rgb(226 232 240);
    background: rgb(248 250 252);
    min-width: 0;
}

.profile-avatar-preview {
    display: grid;
    place-items: center;
    width: 4.75rem;
    height: 4.75rem;
    flex-shrink: 0;
    overflow: hidden;
    border-radius: 0.875rem;
    border: 2px solid rgb(167 243 208);
    background: linear-gradient(135deg, rgb(236 253 245), rgb(209 250 229));
    color: rgb(4 120 87);
    font-size: var(--text-lg, 0.9375rem);
    font-weight: 800;
}

.profile-avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.profile-avatar-fallback {
    line-height: 1;
}

.profile-avatar-name {
    margin: 0;
    font-size: var(--text-md, 0.875rem);
    font-weight: 700;
    color: rgb(15 23 42);
    line-height: 1.3;
}

.profile-avatar-sub {
    margin: 0.1875rem 0 0;
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 600;
    color: rgb(100 116 139);
    line-height: 1.35;
}

.profile-avatar-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.625rem;
    margin-top: 0.625rem;
}

.profile-avatar-upload {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    min-height: 2rem;
    padding: 0.375rem 0.75rem;
    border-radius: 0.5rem;
    border: 1px solid rgb(167 243 208);
    background: #fff;
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 700;
    color: rgb(4 120 87);
    cursor: pointer;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

.profile-avatar-upload:hover {
    background: rgb(236 253 245);
    border-color: rgb(52 211 153);
}

.profile-avatar-upload-icon {
    font-size: 0.875rem;
    line-height: 1;
}

.profile-field-hint {
    margin: 0.375rem 0 0;
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 500;
    line-height: 1.45;
    color: rgb(148 163 184);
}

.profile-remove-photo {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 600;
    color: rgb(100 116 139);
    cursor: pointer;
}

/* Nest boxes Ã¢â‚¬â€ bukan kartu penuh di dalam kartu */
.profile-social-safe,
.profile-security-tips,
.profile-bank-summary,
.profile-bank-empty {
    margin: 0;
    padding: var(--profile-nest-pad);
    border-radius: var(--dash-surface-radius-sm, 0.75rem);
    border: 1px solid rgb(226 232 240);
    background: rgb(248 250 252);
    box-shadow: none;
}

.profile-bank-summary {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    border-color: rgb(167 243 208);
    background: rgb(236 253 245);
}

.profile-bank-summary-logo {
    display: grid;
    place-items: center;
    width: 2.75rem;
    height: 2.75rem;
    flex: 0 0 auto;
    border-radius: 0.7rem;
    border: 1px solid rgb(167 243 208);
    background: #fff;
    overflow: hidden;
    color: rgb(4 120 87);
}

.profile-bank-summary-logo img {
    width: 2rem;
    height: 2rem;
    object-fit: contain;
}

.profile-bank-summary-logo-fallback {
    width: 1.25rem;
    height: 1.25rem;
}

.profile-bank-summary-info {
    flex: 1 1 auto;
    min-width: 0;
}

.profile-bank-summary-meta {
    margin: 0.15rem 0 0;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.35rem;
    line-height: 1.35;
}

.profile-bank-summary-sep {
    opacity: 0.55;
    color: rgb(4 120 87);
    font-weight: 600;
}

.profile-social-safe-title,
.profile-security-tips-title,
.profile-bank-summary-label {
    margin: 0;
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--dash-kicker, rgb(4 120 87));
    line-height: 1.3;
}

.profile-social-safe-list,
.profile-security-tips-list {
    margin: 0.5rem 0 0;
    padding: 0 0 0 1.05rem;
    list-style: disc;
    display: grid;
    gap: 0.3125rem;
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 600;
    line-height: 1.5;
    color: rgb(71 85 105);
}

.profile-social-safe-list {
    padding-left: 0;
    list-style: none;
}

.profile-social-safe-list li {
    padding: 0.4375rem 0.625rem;
    border-radius: 0.5rem;
    border: 1px solid rgb(226 232 240);
    background: #fff;
}

.profile-social-form {
    gap: 0;
}

.profile-social-field {
    padding: 0.875rem 0;
    border-bottom: 1px solid rgb(241 245 249);
    min-width: 0;
}

.profile-social-field:first-child {
    padding-top: 0;
}

.profile-social-field:last-of-type {
    border-bottom: none;
    padding-bottom: 0;
}

.profile-social-field-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.375rem;
    margin-bottom: 0.375rem;
}

.profile-social-label {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
}

.profile-social-label-icon {
    display: inline-flex;
    width: 1.25rem;
    height: 1.25rem;
}

.profile-social-label-icon svg,
.profile-social-label-icon-i svg {
    width: 1.25rem;
    height: 1.25rem;
}

.profile-social-connected,
.profile-social-disconnected {
    font-size: 0.625rem;
    font-weight: 800;
    padding: 0.125rem 0.4375rem;
    border-radius: 9999px;
    line-height: 1.3;
}

.profile-social-connected {
    color: rgb(4 120 87);
    background: rgb(209 250 229);
}

.profile-social-disconnected {
    color: rgb(180 83 9);
    background: rgb(254 243 199);
}

.profile-bank-summary-icon,
.profile-bank-empty-icon {
    display: grid;
    place-items: center;
    width: 2.375rem;
    height: 2.375rem;
    flex-shrink: 0;
    border-radius: 0.625rem;
    background: #fff;
    color: rgb(4 120 87);
}

.profile-bank-empty-icon {
    color: rgb(148 163 184);
}

.profile-bank-summary-name {
    margin: 0;
    font-size: var(--text-sm, 0.8125rem);
    font-weight: 800;
    color: rgb(15 23 42);
    line-height: 1.3;
}

.profile-bank-summary-account {
    margin: 0;
    font-size: var(--text-sm, 0.8125rem);
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.03em;
    color: rgb(51 65 85);
}

.profile-bank-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.375rem;
    border-style: dashed;
}

.profile-bank-empty-title {
    margin: 0;
    font-size: var(--text-sm, 0.8125rem);
    font-weight: 800;
    color: rgb(51 65 85);
}

.profile-bank-empty-desc {
    margin: 0;
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 500;
    line-height: 1.45;
    color: rgb(100 116 139);
    max-width: 22rem;
}

.profile-bank-summary-owner {
    margin: 0.2rem 0 0;
    font-size: var(--text-sm, 0.8125rem);
    font-weight: 700;
    color: rgb(4 120 87);
    line-height: 1.3;
}

.profile-bank-form-stack {
    display: grid;
    gap: 1rem;
    margin-top: 1rem;
    min-width: 0;
}

.profile-bank-alert {
    margin-top: 0.85rem;
    padding: 0.75rem 0.85rem;
    border-radius: var(--dash-surface-radius-sm, 0.75rem);
    border: 1px solid rgb(254 215 170);
    background: rgb(255 247 237);
    font-size: var(--text-sm, 0.8125rem);
    font-weight: 600;
    color: rgb(154 52 18);
    line-height: 1.4;
}

.profile-bank-verify {
    margin-top: 1rem;
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.profile-bank-verify[hidden] {
    display: none !important;
}

.profile-bank-verify-card {
    padding: 1rem 1.05rem;
    border-radius: var(--dash-surface-radius-sm, 0.75rem);
    border: 1px solid rgb(167 243 208);
    background: linear-gradient(180deg, rgb(236 253 245) 0%, #fff 55%);
    min-width: 0;
}

.profile-bank-verify-badge {
    margin: 0;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.25rem 0.55rem;
    border-radius: 9999px;
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 800;
    color: rgb(4 120 87);
    background: rgb(209 250 229);
}

.profile-bank-verify-list {
    margin: 0.85rem 0 0;
    display: grid;
    gap: 0.65rem;
}

.profile-bank-verify-list > div {
    display: grid;
    gap: 0.15rem;
    min-width: 0;
}

.profile-bank-verify-list dt {
    margin: 0;
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgb(100 116 139);
}

.profile-bank-verify-list dd {
    margin: 0;
    font-size: var(--text-sm, 0.8125rem);
    font-weight: 700;
    color: rgb(15 23 42);
    word-break: break-word;
}

.profile-bank-verify-owner {
    font-size: var(--text-lg, 0.9375rem) !important;
    font-weight: 800 !important;
    color: rgb(4 120 87) !important;
}

.profile-bank-verify-note {
    margin: 0.85rem 0 0;
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 600;
    color: rgb(71 85 105);
    line-height: 1.45;
}

#profile-panel-rekening .smart-select {
    width: 100%;
}

#profile-panel-rekening .profile-form-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

/* Password / security */
.profile-security-new-grid {
    display: grid;
    gap: 0.875rem;
    min-width: 0;
}

@media (min-width: 640px) {
    .profile-security-new-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.profile-password-input {
    position: relative;
    display: flex;
    align-items: center;
    min-width: 0;
}

.profile-password-input .form-control {
    width: 100%;
    padding-right: 2.75rem;
}

.profile-password-toggle {
    position: absolute;
    right: 0.3125rem;
    top: 50%;
    transform: translateY(-50%);
    display: grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border: none;
    border-radius: 0.4375rem;
    background: transparent;
    color: rgb(100 116 139);
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.profile-password-toggle:hover {
    background: rgb(241 245 249);
    color: rgb(15 23 42);
}

.profile-password-toggle .ui-icon {
    font-size: 0.9375rem;
}

.profile-password-strength {
    margin-top: 0.5rem;
}

.profile-password-strength-meter {
    height: 0.3125rem;
    border-radius: 9999px;
    background: rgb(226 232 240);
    overflow: hidden;
}

.profile-password-strength-bar {
    display: block;
    height: 100%;
    width: 25%;
    border-radius: inherit;
    background: rgb(248 113 113);
    transition: width 0.2s ease, background-color 0.2s ease;
}

.profile-password-strength[data-level="1"] .profile-password-strength-bar {
    width: 25%;
    background: rgb(248 113 113);
}

.profile-password-strength[data-level="2"] .profile-password-strength-bar {
    width: 50%;
    background: rgb(251 191 36);
}

.profile-password-strength[data-level="3"] .profile-password-strength-bar {
    width: 75%;
    background: rgb(52 211 153);
}

.profile-password-strength[data-level="4"] .profile-password-strength-bar {
    width: 100%;
    background: rgb(5 150 105);
}

.profile-password-strength-label {
    margin: 0.3125rem 0 0;
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 600;
    color: rgb(100 116 139);
}

.profile-password-match-hint.is-err {
    color: rgb(190 18 60);
}

.profile-password-match-hint.is-ok {
    color: rgb(4 120 87);
}

.profile-page .form-control.is-invalid {
    border-color: rgb(251 113 133);
}

.profile-page .form-control.is-valid {
    border-color: rgb(52 211 153);
}

/* Aside — jarak & kartu seragam */
.profile-aside.product-form-aside {
    gap: var(--profile-card-gap);
}

.profile-aside-card,
.profile-aside .product-form-preview,
.profile-completion-card,
.profile-store-link-card {
    margin: 0;
    padding: var(--profile-pad);
    border: 1px solid rgb(226 232 240);
    border-radius: var(--profile-radius);
    background: #fff;
    box-shadow: none;
    min-width: 0;
}

.profile-aside .product-form-preview-label {
    margin: 0 0 0.625rem;
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 800;
    letter-spacing: 0.05em;
}

.profile-aside-account {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
}

.profile-aside-avatar {
    width: 3.25rem;
    height: 3.25rem;
    font-size: var(--text-sm, 0.8125rem);
    border-width: 1.5px;
}

.profile-aside-shop {
    margin: 0;
    font-size: var(--text-sm, 0.8125rem);
    font-weight: 800;
    color: rgb(15 23 42);
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.profile-aside-owner,
.profile-aside-meta,
.profile-aside-phone {
    margin: 0.125rem 0 0;
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 600;
    color: rgb(100 116 139);
    line-height: 1.35;
}

.profile-aside-meta {
    font-weight: 700;
    color: rgb(71 85 105);
}

.profile-aside-phone {
    font-variant-numeric: tabular-nums;
}

.profile-completion-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}

.profile-completion-head .product-form-preview-label {
    margin: 0;
}

.profile-completion-score {
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 800;
    color: rgb(4 120 87);
    font-variant-numeric: tabular-nums;
}

.profile-completion-meter {
    height: 0.375rem;
    margin-bottom: 0.625rem;
    border-radius: 9999px;
    background: rgb(226 232 240);
    overflow: hidden;
}

.profile-completion-meter-fill {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, rgb(52 211 153), rgb(5 150 105));
    transition: width 0.3s ease;
}

.profile-completion-list {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.profile-completion-link {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    width: 100%;
    padding: 0.4375rem 0.5rem;
    border: none;
    border-radius: 0.5rem;
    background: transparent;
    font-family: inherit;
    text-align: left;
    cursor: pointer;
    transition: background-color 0.15s ease;
}

.profile-completion-link:hover {
    background: rgb(248 250 252);
}

.profile-completion-item.is-done .profile-completion-check {
    color: rgb(4 120 87);
}

.profile-completion-check {
    flex-shrink: 0;
    width: 1rem;
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 800;
    color: rgb(148 163 184);
    line-height: 1.35;
}

.profile-completion-label {
    display: block;
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 700;
    color: rgb(15 23 42);
    line-height: 1.3;
}

.profile-completion-hint {
    display: block;
    margin-top: 0.0625rem;
    font-size: 0.625rem;
    font-weight: 500;
    line-height: 1.35;
    color: rgb(148 163 184);
}

.profile-store-link-card .share-studio-link-block {
    margin-top: 0;
    gap: 0.5rem;
}

.profile-store-link-card .share-studio-link {
    font-size: var(--text-xs, 0.6875rem);
    word-break: break-all;
}

.profile-aside-tip {
    margin: 0;
    padding: var(--profile-pad-sm) var(--profile-pad);
    border: 1px solid rgb(226 232 240 / 0.9);
    border-radius: var(--profile-radius);
    background: rgb(248 250 252);
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 500;
    line-height: 1.45;
    color: rgb(100 116 139);
}

@media (max-width: 639px) {
    .dash-topbar-user-panel {
        top: auto !important;
        right: 0 !important;
        left: 0 !important;
        bottom: 0;
        width: auto;
        max-width: none;
        border-radius: 1.125rem 1.125rem 0 0;
        padding-bottom: max(0.75rem, env(safe-area-inset-bottom));
        animation: dash-sheet-in 0.24s ease;
    }

    @keyframes dash-sheet-in {
        from { opacity: 0; transform: translateY(100%); }
        to { opacity: 1; transform: translateY(0); }
    }

    .profile-page {
        --profile-card-gap: 0.6rem;
        --profile-pad: 0.75rem;
        --profile-pad-sm: 0.6rem;
        --profile-radius: 0.75rem;
        --profile-nest-pad: 0.65rem 0.75rem;
    }

    .profile-layout .product-form-aside {
        order: -1;
    }

    .profile-page .profile-header.product-form-header:not(.is-stuck) {
        margin-bottom: var(--profile-card-gap);
        padding: 0.45rem 0.55rem;
    }

    .profile-page .profile-header .catalog-header-extras.product-form-quick-actions {
        margin-top: 0.45rem;
    }

    .profile-tabs-hint {
        margin-bottom: 0.3rem;
        font-size: 0.625rem;
    }

    .profile-tabs.share-studio-tabs {
        gap: 0.25rem;
        padding: 0.25rem;
    }

    .profile-tab.share-studio-tab {
        min-height: 3.1rem;
        padding: 0.35rem 0.15rem;
    }

    .profile-tab .share-studio-tab-sublabel {
        display: none;
    }

    .profile-panel .product-form-section-head {
        margin-bottom: 0.65rem;
    }

    .profile-panel-body,
    .profile-form-stack {
        gap: 0.7rem;
    }

    .profile-form-actions {
        padding-top: 0.7rem;
        gap: 0.45rem;
    }

    .profile-avatar-card {
        flex-direction: column;
        align-items: stretch;
        gap: 0.7rem;
        padding: var(--profile-nest-pad);
    }

    .profile-avatar-preview {
        width: 4.25rem;
        height: 4.25rem;
        align-self: flex-start;
    }

    .profile-wilayah {
        gap: 0.65rem;
        padding: var(--profile-nest-pad);
    }

    .profile-form-actions .form-btn {
        width: 100%;
        justify-content: center;
        min-height: 2.625rem;
    }

    .profile-security-new-grid {
        grid-template-columns: 1fr;
        gap: 0.7rem;
    }
}

/* ===== Products catalog Ã¢â‚¬â€ online store layout ===== */
.catalog-store {
    --catalog-radius: var(--dash-surface-radius, 1rem);
    --catalog-shadow: none;
    --catalog-shell-pad-x: max(0.75rem, env(safe-area-inset-left, 0px));
    --catalog-shell-pad-x-end: max(0.75rem, env(safe-area-inset-right, 0px));
    margin-inline: 0;
    max-width: 100%;
    min-width: 0;
}

/*
 * Page chrome Ã¢â‚¬â€ navbar konten modern (kecuali overview dashboard).
 * Rest: soft mint board menyatu dengan dash surface.
 * Stuck: frosted bar menyatu dengan dash-topbar.
 */
.catalog-header {
    --ch-ink: var(--dash-ink, rgb(15 23 42));
    --ch-muted: var(--dash-muted, rgb(100 116 139));
    --ch-line: rgb(167 243 208 / 0.55);
    --ch-soft: rgb(236 253 245 / 0.85);
    --ch-accent: var(--dash-brand-deep, rgb(4 120 87));
    --ch-accent-soft: var(--dash-icon-chip-bg, rgb(236 253 245));
    --ch-surface:
        linear-gradient(165deg, rgb(236 253 245 / 0.72) 0%, rgb(255 255 255 / 0.96) 42%, rgb(248 250 252 / 0.9) 100%);
    --ch-stuck-pad-y: 0.45rem;
    --ch-stuck-pad-x: 0.65rem;
    --ch-stuck-radius: 1rem;
    --ch-stuck-mb: 0.75rem;
    --ch-stuck-line: rgb(226 232 240 / 0.92);
    position: sticky;
    top: var(--catalog-nav-top, 3.5rem);
    /* Default rendah agar overflow tools tidak menelan klik grid; naik saat stuck/select open */
    z-index: 5;
    margin: 0 0 1.125rem;
    padding: 0.7rem 0.85rem 0.75rem;
    border: 1px solid var(--ch-line);
    border-radius: var(--dash-surface-radius, 1.125rem);
    background: var(--ch-surface);
    box-shadow: none;
    overflow: visible;
    max-width: 100%;
    min-width: 0;
    transition:
        background 0.22s ease,
        border-color 0.22s ease,
        border-radius 0.22s ease,
        box-shadow 0.22s ease,
        margin 0.22s ease,
        padding 0.22s ease;
}

.catalog-header.is-stuck {
    z-index: 35;
    margin-bottom: var(--ch-stuck-mb);
    padding: var(--ch-stuck-pad-y) var(--ch-stuck-pad-x);
    /* Tempel ke topbar: hilangkan rounded atas saja; border & rounded bawah tetap */
    border: 1px solid var(--ch-stuck-line);
    border-top-color: transparent;
    border-radius: 0 0 var(--ch-stuck-radius) var(--ch-stuck-radius);
    background: var(--dash-chrome-bg, rgb(255 255 255 / 0.97));
    -webkit-backdrop-filter: blur(18px) saturate(1.2);
    backdrop-filter: blur(18px) saturate(1.2);
    box-shadow: 0 6px 18px rgb(15 23 42 / 0.06);
}

.catalog-header-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.65rem;
    padding: 0;
    border-bottom: none;
    background: transparent;
}

.catalog-header-back {
    display: grid;
    place-items: center;
    flex-shrink: 0;
    width: 2.375rem;
    height: 2.375rem;
    margin-left: 0;
    border-radius: 0.75rem;
    border: 1px solid rgb(226 232 240 / 0.95);
    background: rgb(255 255 255 / 0.88);
    color: rgb(71 85 105);
    text-decoration: none;
    transition:
        background-color 0.15s ease,
        border-color 0.15s ease,
        color 0.15s ease,
        transform 0.15s ease;
}

.catalog-header-back:hover {
    background: var(--ch-accent-soft);
    border-color: rgb(167 243 208 / 0.95);
    color: var(--ch-accent);
    transform: translateX(-1px);
}

.catalog-header-back:focus-visible {
    outline: 2px solid rgb(16 185 129 / 0.45);
    outline-offset: 2px;
}

.catalog-header-back .ui-icon {
    font-size: 1.05rem;
}

.catalog-header-brand {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    flex: 1;
    min-width: 0;
}

.catalog-header-info {
    min-width: 0;
}

.catalog-header-info > :first-child {
    margin-top: 0;
}

.catalog-header-avatar {
    display: grid;
    place-items: center;
    width: 2.5rem;
    height: 2.5rem;
    flex-shrink: 0;
    overflow: hidden;
    border-radius: 0.8rem;
    border: 1px solid rgb(167 243 208 / 0.7);
    background: var(--ch-accent-soft);
    color: var(--ch-accent);
    font-size: 0.6875rem;
    font-weight: 700;
    box-shadow: none;
}

.catalog-header-avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.catalog-header-title {
    margin: 0;
    font-size: 1.125rem;
    font-weight: 800;
    letter-spacing: -0.035em;
    color: var(--ch-ink);
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.catalog-header-sub {
    margin: 0.2rem 0 0;
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--ch-muted);
    line-height: 1.4;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.catalog-header-lead {
    margin: 0.25rem 0 0;
    max-width: 40rem;
    font-size: var(--text-sm, 0.8125rem);
    font-weight: 500;
    color: var(--ch-muted);
    line-height: 1.5;
}

.catalog-header-menu,
.catalog-header-actions {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    flex-shrink: 0;
}

.catalog-header-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    min-height: 2.25rem;
    padding: 0.375rem 0.8rem;
    border-radius: 0.7rem;
    border: 1px solid transparent;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    font-family: inherit;
    transition:
        background-color 0.15s ease,
        border-color 0.15s ease,
        color 0.15s ease,
        box-shadow 0.15s ease,
        transform 0.15s ease;
}

.catalog-header-btn .ui-icon {
    font-size: 0.9rem;
    flex-shrink: 0;
}

.catalog-header-btn--icon {
    width: 2.25rem;
    min-width: 2.25rem;
    padding: 0;
    color: rgb(71 85 105);
    background: rgb(255 255 255 / 0.8);
    border-color: rgb(226 232 240 / 0.95);
}

.catalog-header-btn--icon:hover {
    background: var(--ch-accent-soft);
    border-color: rgb(167 243 208 / 0.95);
    color: var(--ch-accent);
}

.catalog-header-btn--outline {
    background: rgb(255 255 255 / 0.88);
    border-color: rgb(226 232 240);
    color: rgb(51 65 85);
}

.catalog-header-btn--outline:hover {
    border-color: rgb(167 243 208);
    background: #fff;
    color: var(--ch-accent);
}

.catalog-header-btn--accent {
    background: linear-gradient(180deg, rgb(16 185 129) 0%, var(--ch-accent) 100%);
    border-color: transparent;
    color: #fff;
    box-shadow: 0 6px 14px rgb(4 120 87 / 0.18);
}

.catalog-header-btn--accent:hover {
    background: linear-gradient(180deg, rgb(5 150 105) 0%, rgb(6 95 70) 100%);
    border-color: transparent;
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgb(4 120 87 / 0.22);
}

.catalog-header-badge {
    display: inline-flex;
    align-items: center;
    min-height: 1.625rem;
    padding: 0.2rem 0.55rem;
    border-radius: 9999px;
    border: 1px solid rgb(167 243 208 / 0.8);
    background: var(--ch-accent-soft);
    color: var(--ch-accent);
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    line-height: 1;
    white-space: nowrap;
}

.catalog-header-extras {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4375rem;
    margin-top: 0.7rem;
    padding-top: 0.65rem;
    border-top: 1px solid rgb(226 232 240 / 0.7);
}

.catalog-header.is-stuck .catalog-header-extras {
    border-top-color: rgb(226 232 240 / 0.55);
}

/* Sticky: tipografi & aksi sekunder dipadatkan seragam di semua halaman */
.catalog-header.is-stuck .catalog-header-lead,
.catalog-header.is-stuck .catalog-header-sub {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
    margin-top: 0.05rem;
    font-size: 0.625rem;
    line-height: 1.3;
}

.catalog-header.is-stuck .catalog-header-extras.product-form-quick-actions {
    display: none;
}

.catalog-header.is-stuck .catalog-header-stats,
.catalog-header.is-stuck .catalog-header-meta {
    margin-top: 0.4rem;
    padding: 0.4rem 0.55rem;
}

.catalog-header-dropdown {
    position: relative;
    z-index: 8;
}

.catalog-header-dropdown-panel {
    position: absolute;
    top: calc(100% + 0.4rem);
    right: 0;
    z-index: 30;
    min-width: 12rem;
    padding: 0.4rem;
    border-radius: 0.85rem;
    border: 1px solid rgb(226 232 240 / 0.95);
    background: rgb(255 255 255 / 0.98);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    box-shadow: 0 16px 36px rgb(15 23 42 / 0.12);
}

.catalog-header-dropdown-panel[hidden] {
    display: none;
}

.catalog-header-dropdown-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    padding: 0.6rem 0.7rem;
    border: none;
    border-radius: 0.6rem;
    background: transparent;
    font-size: 0.8125rem;
    font-weight: 600;
    color: rgb(51 65 85);
    text-decoration: none;
    text-align: left;
    cursor: pointer;
    font-family: inherit;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.catalog-header-dropdown-item:hover {
    background: var(--ch-soft);
    color: var(--ch-accent);
}

.catalog-header-dropdown-item .ui-icon {
    font-size: 0.9rem;
    color: var(--ch-muted);
}

/* Metrik ringkas di bawah brand */
.catalog-header-stats {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.35rem 1rem;
    margin-top: 0.65rem;
    padding: 0.55rem 0.7rem;
    border: 1px solid rgb(226 232 240 / 0.8);
    border-radius: var(--dash-surface-radius-sm, 0.75rem);
    background: rgb(255 255 255 / 0.72);
}

.catalog-header.is-stuck .catalog-header-stats {
    background: rgb(248 250 252 / 0.9);
    border-color: rgb(226 232 240 / 0.75);
}

.catalog-stat-chip {
    display: inline-flex;
    align-items: baseline;
    gap: 0.3rem;
    padding: 0;
    border-radius: 0;
    background: transparent;
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--ch-muted);
    white-space: nowrap;
}

.catalog-stat-chip strong {
    font-weight: 700;
    color: var(--ch-ink);
    font-variant-numeric: tabular-nums;
}

.catalog-stat-chip--ok strong { color: var(--ch-accent); }
.catalog-stat-chip--warn strong { color: rgb(180 83 9); }
.catalog-stat-chip--muted strong {
    font-size: inherit;
    letter-spacing: -0.01em;
    color: var(--ch-muted);
}

.catalog-header-tools {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    margin-top: 0.7rem;
    padding: 0.7rem;
    border: 1px solid rgb(226 232 240 / 0.85);
    border-radius: var(--dash-surface-radius-sm, 0.75rem);
    background: rgb(255 255 255 / 0.78);
    position: relative;
    z-index: 1;
    overflow: visible;
}

.catalog-header.is-stuck .catalog-header-tools {
    border-color: rgb(226 232 240 / 0.75);
    background: rgb(248 250 252 / 0.92);
}

.catalog-header-search {
    position: relative;
    display: flex;
    align-items: center;
}

.catalog-header-search-icon {
    position: absolute;
    left: 0.85rem;
    color: rgb(148 163 184);
    pointer-events: none;
}

.catalog-header-search-input {
    width: 100%;
    min-height: 2.5rem;
    padding: 0.45rem 2.15rem 0.45rem 2.35rem;
    border: 1px solid rgb(226 232 240 / 0.95);
    border-radius: 0.75rem;
    background: rgb(248 250 252);
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--ch-ink);
    transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.catalog-header-search-input::placeholder {
    color: rgb(148 163 184);
    font-weight: 500;
}

.catalog-header-search-input:focus {
    outline: none;
    background: #fff;
    border-color: rgb(110 231 183);
    box-shadow: 0 0 0 3px rgb(16 185 129 / 0.14);
}

.catalog-header-search-clear {
    position: absolute;
    right: 0.4rem;
    display: grid;
    place-items: center;
    width: 1.625rem;
    height: 1.625rem;
    border: none;
    border-radius: 0.45rem;
    background: transparent;
    color: rgb(148 163 184);
    cursor: pointer;
}

.catalog-header-search-clear:hover {
    background: var(--ch-soft);
    color: rgb(71 85 105);
}

.catalog-header-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.55rem;
}

.catalog-header-filters,
.catalog-header-categories {
    display: flex;
    gap: 0.25rem;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding: 0.2rem;
    flex: 1;
    min-width: 0;
    border-radius: 0.8rem;
    background: rgb(241 245 249 / 0.9);
    border: 1px solid rgb(226 232 240 / 0.7);
}

.catalog-header-filters::-webkit-scrollbar,
.catalog-header-categories::-webkit-scrollbar {
    display: none;
}

.catalog-header-pill,
.catalog-header-cat {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    min-height: 1.95rem;
    padding: 0.28rem 0.75rem;
    border: 0;
    border-radius: 0.6rem;
    background: transparent;
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--ch-muted);
    cursor: pointer;
    font-family: inherit;
    transition: background-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.catalog-header-pill:hover:not(.is-active),
.catalog-header-cat:hover:not(.is-active) {
    color: var(--ch-ink);
    background: rgb(255 255 255 / 0.85);
}

.catalog-header-pill.is-active,
.catalog-header-cat.is-active {
    background: #fff;
    color: var(--ch-accent);
    box-shadow: 0 1px 3px rgb(15 23 42 / 0.08);
}

.catalog-header-toolbar-end {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    flex-shrink: 0;
    position: relative;
    z-index: 6;
    --catalog-toolbar-height: 2.25rem;
}

/* Select di header katalog (kategori + urut) Ã¢â‚¬â€ gaya & z-index konsisten */
.catalog-header-select,
.catalog-header-sort {
    flex: 1 1 auto;
    min-width: 7.25rem;
    max-width: 11rem;
    height: var(--catalog-toolbar-height);
    position: relative;
    z-index: 1;
}

/* Naikkan stacking HANYA pada select yang terbuka â€” jangan angkat seluruh tools fold
   (itu bisa menelan klik ke grid produk di bawah header sticky). */
.catalog-header:has(.smart-select.is-open),
.catalog-header:has([data-catalog-menu-panel]:not([hidden])) {
    z-index: 50;
}

.catalog-header-select:has(.smart-select.is-open),
.catalog-header-sort:has(.smart-select.is-open) {
    z-index: 60;
}

.catalog-header-select:has(.smart-select.is-open) .smart-select.is-open,
.catalog-header-sort:has(.smart-select.is-open) .smart-select.is-open {
    z-index: 61;
}

.catalog-header-select:has(.smart-select.is-open) .smart-select-panel,
.catalog-header-sort:has(.smart-select.is-open) .smart-select-panel {
    z-index: 62;
}

.catalog-header-filter-select {
    flex: 1 1 14rem;
    min-width: 13.5rem;
    max-width: 18rem;
}

.catalog-header-filter-select .smart-select-panel {
    right: auto;
    width: max-content;
    min-width: max(100%, 16rem);
    max-width: min(22rem, calc(100vw - 2rem));
}

.catalog-header-filter-select .smart-select-option-body {
    min-width: max-content;
}

.catalog-header-filter-select .smart-select-option-label {
    overflow: visible;
    text-overflow: unset;
    white-space: nowrap;
}

.catalog-header-select .smart-select,
.catalog-header-sort .smart-select {
    width: 100%;
    height: 100%;
}

.catalog-header-select .smart-select.is-open,
.catalog-header-sort .smart-select.is-open,
.catalog-header .smart-select.is-open {
    z-index: 80;
}

.catalog-header-select .smart-select-trigger,
.catalog-header-sort .smart-select-trigger {
    min-height: var(--catalog-toolbar-height);
    height: var(--catalog-toolbar-height);
    padding-inline: 0.625rem;
    gap: 0.375rem;
    border-radius: 0.65rem;
    border: 1px solid rgb(226 232 240);
    background: #fff;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1;
    box-sizing: border-box;
    box-shadow: none;
}

.catalog-header-select .smart-select-trigger:hover,
.catalog-header-sort .smart-select-trigger:hover {
    border-color: rgb(203 213 225);
    background: #fff;
}

.catalog-header-select .smart-select.is-open .smart-select-trigger,
.catalog-header-select .smart-select-trigger:focus-visible,
.catalog-header-sort .smart-select.is-open .smart-select-trigger,
.catalog-header-sort .smart-select-trigger:focus-visible {
    border-color: var(--form-focus);
    background: #fff;
    box-shadow: 0 0 0 2px var(--form-focus-ring);
}

.catalog-header-select .smart-select-value-label,
.catalog-header-sort .smart-select-value-label {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.catalog-header-select .smart-select-chevron,
.catalog-header-sort .smart-select-chevron {
    width: 1rem;
    height: 1rem;
}

.catalog-header-select .smart-select-chevron .ui-emoji-icon,
.catalog-header-sort .smart-select-chevron .ui-emoji-icon {
    font-size: 0.75rem;
}

.catalog-header-select .smart-select-panel,
.catalog-header-sort .smart-select-panel,
.catalog-header .smart-select-panel {
    z-index: 80;
    border-radius: 0.625rem;
    box-shadow: none;
    border: 1px solid rgb(226 232 240);
}

.catalog-header-select .smart-select-compact .smart-select-option,
.catalog-header-sort .smart-select-compact .smart-select-option {
    min-height: 2rem;
    padding: 0.375rem 0.625rem;
    font-size: 0.75rem;
    font-weight: 600;
}

.catalog-view-toggle {
    display: inline-flex;
    align-items: center;
    height: var(--catalog-toolbar-height);
    padding: 0.15rem;
    border-radius: 0.65rem;
    border: 1px solid rgb(226 232 240);
    background: #fff;
    box-sizing: border-box;
}

.catalog-view-btn {
    display: grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border: none;
    border-radius: 0.5rem;
    background: transparent;
    color: rgb(148 163 184);
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.catalog-view-btn.is-active {
    background: var(--dash-icon-chip-bg, rgb(236 253 245));
    color: var(--dash-brand-deep, rgb(4 120 87));
    box-shadow: none;
}

.catalog-header-meta {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--ch-muted, rgb(100 116 139));
}

/* Form / profile / share Ã¢â‚¬â€ pakai catalog-header yang sama */
.content-page-header .catalog-header-title-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem 0.55rem;
}

.content-page-header .catalog-header-sub,
.content-page-header .catalog-header-lead {
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
}

@media (max-width: 639px) {
    .catalog-header {
        padding: 0.6rem 0.7rem 0.65rem;
        border-radius: 1rem;
    }

    .catalog-header {
        --ch-stuck-pad-y: 0.4rem;
        --ch-stuck-pad-x: 0.55rem;
        --ch-stuck-radius: 0.85rem;
        --ch-stuck-mb: 0.65rem;
    }

    .catalog-header.is-stuck {
        padding: var(--ch-stuck-pad-y) var(--ch-stuck-pad-x);
        margin-bottom: var(--ch-stuck-mb);
        border-radius: 0 0 var(--ch-stuck-radius) var(--ch-stuck-radius);
    }

    .catalog-header-title {
        font-size: 1.05rem;
    }

    .product-form-header.catalog-header {
        --pf-ctrl: 1.875rem;
    }

    .product-form-header.catalog-header:not(.is-stuck) {
        padding: 0.45rem 0.55rem;
        margin-bottom: 0.75rem;
        border-radius: 0.75rem;
    }

    .product-form-header .catalog-header-row {
        column-gap: 0.45rem;
    }

    .product-form-header .catalog-header-title {
        font-size: 0.9375rem;
        font-weight: 700;
    }

    .product-form-header .catalog-header-lead {
        font-size: 0.625rem;
        line-height: 1.35;
    }

    /* Icon-only hanya di toolbar header — jangan hancurkan CTA empty state / body */
    .catalog-header .catalog-header-btn-text {
        display: none;
    }

    .catalog-header .catalog-header-btn:not(.catalog-header-btn--icon) {
        width: 2.25rem;
        min-width: 2.25rem;
        min-height: 2.25rem;
        padding: 0;
    }

    .content-page-header .catalog-header-btn-text {
        display: inline;
    }

    .content-page-header .catalog-header-btn:not(.catalog-header-btn--icon) {
        width: auto;
        min-width: 0;
        padding: 0.375rem 0.75rem;
    }
}

/* Main etalase â€” stacking di bawah header, tapi di atas overflow tools yang keliru */
.catalog-main {
    position: relative;
    z-index: 1;
    padding-bottom: 1.5rem;
    isolation: isolate;
}

/* Product grid Ã¢â‚¬â€ tile ala Tokopedia/Shopee */
.catalog-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 10.75rem), 1fr));
    gap: 0.75rem;
    min-width: 0;
    max-width: 100%;
}

.catalog-grid.is-list-view {
    grid-template-columns: 1fr;
    gap: 0.625rem;
}

.catalog-tile {
    display: grid;
    grid-template-areas:
        "media"
        "body"
        "actions";
    grid-template-columns: minmax(0, 1fr);
    min-width: 0;
    overflow: hidden;
    border-radius: var(--dash-surface-radius, 0.875rem);
    background: var(--dash-surface-bg, #fff);
    border: var(--dash-surface-border, 1px solid rgb(241 245 249));
    box-shadow: none;
    transition: box-shadow 0.25s ease, transform 0.25s ease, border-color 0.25s ease;
}

.catalog-tile:hover {
    border-color: rgb(52 211 153 / 0.75);
    box-shadow: none;
    transform: translateY(-3px);
}

.catalog-grid.is-list-view .catalog-tile {
    grid-template-areas: "media body actions";
    grid-template-columns: 5.75rem minmax(0, 1fr) auto;
    align-items: center;
    gap: 0;
}

.catalog-grid.is-list-view .catalog-tile:hover {
    transform: none;
}

.catalog-tile-media {
    grid-area: media;
    position: relative;
    aspect-ratio: 1;
    overflow: hidden;
    background: rgb(248 250 252);
}

.catalog-grid.is-list-view .catalog-tile-media {
    width: 5.75rem;
    aspect-ratio: 1;
    align-self: stretch;
    border-radius: 0;
}

.catalog-tile-img-link {
    display: block;
    width: 100%;
    height: 100%;
}

.catalog-tile-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s ease;
}

.catalog-tile:hover .catalog-tile-img {
    transform: scale(1.05);
}

.catalog-grid.is-list-view .catalog-tile:hover .catalog-tile-img {
    transform: none;
}

.catalog-tile-placeholder {
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    min-height: 6rem;
    color: rgb(203 213 225);
}

.catalog-tile-placeholder-icon {
    font-size: 2.25rem;
    line-height: 1;
}

.catalog-tile-flag {
    position: absolute;
    top: 0.5rem;
    left: 0.5rem;
    z-index: 1;
    padding: 0.1875rem 0.4375rem;
    border-radius: 0.3125rem;
    font-size: 0.5625rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.catalog-tile-flag--live {
    background: rgb(236 253 245);
    color: rgb(4 120 87);
    border: 1px solid rgb(167 243 208);
}

.catalog-tile-flag--low {
    background: rgb(254 252 232);
    color: rgb(180 83 9);
    border: 1px solid rgb(253 230 138);
}

.catalog-tile-flag--out {
    background: rgb(254 226 226);
    color: rgb(190 18 60);
    border: 1px solid rgb(254 202 202);
}

/* Aksi produk â€” baris sendiri di bawah kartu (bukan overlay foto) */
.catalog-tile-actions {
    grid-area: actions;
    z-index: 1;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.25rem;
    padding: 0.375rem 0.5rem;
    background: rgb(248 250 252);
    border-top: 1px solid rgb(241 245 249);
    opacity: 1;
    pointer-events: auto;
}

.catalog-tile-action {
    display: grid;
    place-items: center;
    width: 1.875rem;
    height: 1.875rem;
    border: 1px solid rgb(226 232 240);
    border-radius: 0.5rem;
    background: #fff;
    color: rgb(51 65 85);
    text-decoration: none;
    cursor: pointer;
    font-family: inherit;
    flex-shrink: 0;
    pointer-events: auto;
    transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.catalog-tile-action:hover {
    background: #fff;
    border-color: rgb(167 243 208);
    color: rgb(4 120 87);
}

.catalog-tile-action--primary {
    background: rgb(5 150 105);
    border-color: rgb(5 150 105);
    color: #fff;
}

.catalog-tile-action--primary:hover {
    background: rgb(4 120 87);
    border-color: rgb(4 120 87);
    color: #fff;
}

.catalog-tile-action--danger:hover {
    background: rgb(254 242 242);
    border-color: rgb(254 202 202);
    color: rgb(190 18 60);
}

.catalog-tile-delete-form {
    display: contents;
}

.catalog-grid.is-list-view .catalog-tile-actions {
    grid-area: actions;
    justify-content: flex-end;
    align-self: center;
    padding: 0.5rem 0.625rem 0.5rem 0.25rem;
    background: transparent;
    border-top: 0;
}

.catalog-grid.is-list-view .catalog-tile-action--primary {
    background: rgb(5 150 105);
    border-color: rgb(5 150 105);
    color: #fff;
}

.catalog-grid.is-list-view .catalog-tile-action--primary:hover {
    background: rgb(4 120 87);
    border-color: rgb(4 120 87);
    color: #fff;
}

.catalog-grid.is-list-view .catalog-tile-action--danger:hover {
    background: rgb(254 242 242);
    border-color: rgb(254 202 202);
    color: rgb(190 18 60);
}

.catalog-tile-body {
    grid-area: body;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding: 0.625rem 0.6875rem 0.75rem;
    min-width: 0;
}

.catalog-grid.is-list-view .catalog-tile-body {
    justify-content: center;
    padding: 0.5rem 0.5rem 0.5rem 0.75rem;
}

.catalog-grid.is-list-view .catalog-tile-name {
    min-height: 0;
}

.catalog-grid.is-list-view .catalog-tile-name a {
    -webkit-line-clamp: 1;
}

.catalog-grid.is-list-view .catalog-tile-price {
    font-size: var(--text-lg, 0.9375rem);
}

.catalog-grid.is-list-view .catalog-tile-meta {
    margin-top: 0;
    gap: 0.25rem 0.5rem;
}

.catalog-grid.is-list-view .catalog-tile-category {
    max-width: none;
    overflow: visible;
    text-overflow: unset;
}

.catalog-tile-price {
    font-size: var(--text-xl, 1.0625rem);
    font-weight: 800;
    color: rgb(4 120 87);
    letter-spacing: -0.02em;
    line-height: 1.2;
}

.catalog-tile-name {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.4;
    min-height: 2.25rem;
}

.catalog-tile-name a {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    color: rgb(30 41 59);
    text-decoration: none;
    transition: color 0.15s ease;
}

.catalog-tile-name a:hover {
    color: rgb(4 120 87);
}

.catalog-tile-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0.25rem 0.5rem;
    margin-top: 0.125rem;
    font-size: 0.625rem;
    font-weight: 700;
    line-height: 1.35;
}

.catalog-tile-category {
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: rgb(148 163 184);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.catalog-tile-category::after {
    content: "Ã‚Â·";
    margin-left: 0.5rem;
    color: rgb(203 213 225);
    font-weight: 700;
}

.catalog-tile-stock {
    flex-shrink: 0;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.catalog-tile-stock--available { color: rgb(4 120 87); }
.catalog-tile-stock--low { color: rgb(180 83 9); }
.catalog-tile-stock--out { color: rgb(190 18 60); }

/* Empty states */
.catalog-empty-state,
.catalog-empty-filter {
    padding: 3rem 1.5rem;
    border-radius: var(--dash-surface-radius, var(--catalog-radius));
    background: var(--dash-surface-bg, #fff);
    border: var(--dash-surface-border, 1px solid rgb(226 232 240));
    box-shadow: none;
    text-align: center;
}

.catalog-empty-state-inner,
.catalog-empty-filter-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.625rem;
    max-width: 22rem;
    margin-inline: auto;
}

.catalog-empty-visual {
    display: grid;
    place-items: center;
    width: 5rem;
    height: 5rem;
    border-radius: 1.25rem;
    background: linear-gradient(135deg, rgb(236 253 245), rgb(209 250 229));
    color: rgb(4 120 87);
}

.catalog-empty-visual-icon {
    font-size: 2rem;
    line-height: 1;
}

.catalog-empty-icon {
    font-size: 2.5rem;
    color: rgb(148 163 184);
}

.catalog-empty-title {
    font-size: 1.25rem;
    font-weight: 800;
    color: rgb(15 23 42);
}

.catalog-empty-desc {
    font-size: 0.875rem;
    line-height: 1.55;
    color: rgb(100 116 139);
}

.catalog-empty-cta {
    margin-top: 0.75rem;
}

/* CTA empty state — selalu tombol penuh (teks + ikon), tidak ikut mode icon-only header */
.catalog-empty-state .catalog-header-btn,
.catalog-empty-filter .catalog-header-btn,
a.catalog-empty-cta.catalog-header-btn,
.catalog-empty-cta .catalog-header-btn {
    width: auto;
    min-width: 0;
    min-height: 2.5rem;
    padding: 0.55rem 1.15rem;
    gap: 0.4rem;
    white-space: nowrap;
}

.catalog-empty-state .catalog-header-btn--accent,
.catalog-empty-filter .catalog-header-btn--accent,
a.catalog-empty-cta.catalog-header-btn--accent,
.catalog-empty-cta .catalog-header-btn--accent {
    color: #fff;
    background: linear-gradient(180deg, rgb(16 185 129) 0%, rgb(5 150 105) 100%);
    border-color: transparent;
    box-shadow: 0 4px 12px rgb(4 120 87 / 0.16);
}

.catalog-empty-state .catalog-header-btn--accent:hover,
.catalog-empty-filter .catalog-header-btn--accent:hover,
a.catalog-empty-cta.catalog-header-btn--accent:hover,
.catalog-empty-cta .catalog-header-btn--accent:hover {
    color: #fff;
    background: linear-gradient(180deg, rgb(5 150 105) 0%, rgb(4 120 87) 100%);
}

.catalog-empty-state .catalog-header-btn--outline,
.catalog-empty-filter .catalog-header-btn--outline,
.catalog-empty-cta .catalog-header-btn--outline {
    color: rgb(51 65 85);
    background: #fff;
    border-color: rgb(226 232 240);
}

.orders-empty-actions.catalog-empty-cta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
}

@media (min-width: 1024px) {
    .catalog-store {
        margin-inline: 0;
    }

    .catalog-header-title {
        font-size: 1.0625rem;
    }

    .catalog-header-avatar {
        width: 2.625rem;
        height: 2.625rem;
    }

    .catalog-grid {
        grid-template-columns: repeat(auto-fill, minmax(11.5rem, 1fr));
        gap: 1rem;
    }
}

@media (min-width: 1280px) {
    .catalog-grid:not(.is-list-view) {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .catalog-header-row {
        padding-inline: 0;
    }

    .catalog-header .catalog-header-btn-text {
        display: none;
    }

    .catalog-header .catalog-header-btn--accent {
        width: 2.125rem;
        min-width: 2.125rem;
        padding: 0;
    }

    .catalog-header-toolbar {
        flex-direction: column;
        align-items: stretch;
    }

    .catalog-header-toolbar-end {
        justify-content: space-between;
    }

    .catalog-header-select,
    .catalog-header-sort {
        flex: 1;
        min-width: 0;
        max-width: none;
    }

    .catalog-header-stats {
        overflow-x: auto;
        flex-wrap: nowrap;
        scrollbar-width: none;
    }

    .catalog-header-stats::-webkit-scrollbar {
        display: none;
    }

    .catalog-grid:not(.is-list-view) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.625rem;
    }

    .catalog-tile-body {
        padding: 0.5rem 0.5625rem 0.625rem;
    }

    .catalog-tile-price {
        font-size: 0.9375rem;
    }

    .catalog-tile-name {
        font-size: 0.75rem;
        min-height: 2rem;
    }

    /* Mobile grid: aksi selalu terlihat di bawah kartu */
    .catalog-grid:not(.is-list-view) .catalog-tile {
        grid-template-areas:
            "media"
            "body"
            "actions";
    }

    .catalog-grid:not(.is-list-view) .catalog-tile-actions {
        grid-area: actions;
        opacity: 1;
        pointer-events: auto;
        flex-wrap: nowrap;
        justify-content: space-between;
        gap: 0.25rem;
        padding: 0.375rem 0.4375rem;
        background: rgb(248 250 252);
        border-top: 1px solid rgb(241 245 249);
    }

    .catalog-grid:not(.is-list-view) .catalog-tile-action {
        width: 1.875rem;
        height: 1.875rem;
        background: #fff;
        border: 1px solid rgb(226 232 240);
        border-radius: 0.5rem;
    }

    /* Mobile list: foto+info di atas, aksi 1 baris di bawah */
    .catalog-grid.is-list-view .catalog-tile {
        grid-template-areas:
            "media body"
            "actions actions";
        grid-template-columns: 4.5rem minmax(0, 1fr);
    }

    .catalog-grid.is-list-view .catalog-tile-media {
        width: 4.5rem;
    }

    .catalog-grid.is-list-view .catalog-tile-actions {
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: space-between;
        gap: 0.25rem;
        padding: 0.3125rem 0.5rem;
        border-top: 1px solid rgb(241 245 249);
        background: rgb(248 250 252);
    }

    .catalog-grid.is-list-view .catalog-tile-action {
        width: 1.75rem;
        height: 1.75rem;
    }
}

@media (max-width: 379px) {
    .catalog-grid:not(.is-list-view) {
        grid-template-columns: 1fr 1fr;
    }
}

/* ===== Orders board (/dashboard/orders) ===== */
.orders-board {
    --orders-radius: var(--dash-surface-radius, 0.875rem);
    margin-inline: 0;
    max-width: 100%;
    min-width: 0;
    overflow-x: clip;
}

.orders-header.catalog-header {
    overflow: visible;
}

.orders-header.catalog-header:not(.is-stuck) {
    margin-bottom: 1rem;
}

.orders-header-top {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    padding: 0;
    gap: 0.65rem;
}

.orders-header-top .catalog-header-brand {
    min-width: 0;
}

.orders-header-actions {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    flex-shrink: 0;
    min-width: 0;
}

.orders-header-top .catalog-header-menu {
    min-width: 0;
}

.orders-header .catalog-header-sub,
.orders-header-sub {
    margin-top: 0.15rem;
    font-size: 0.75rem;
    line-height: 1.35;
    white-space: normal;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.15rem 0.45rem;
    overflow: visible;
    text-overflow: unset;
}

.orders-header-sub-count,
.orders-header-sub-revenue {
    min-width: 0;
}

.orders-header-sub-revenue {
    color: rgb(100 116 139);
}

.orders-header-inline-revenue {
    font-weight: 700;
    color: rgb(4 120 87);
    font-variant-numeric: tabular-nums;
}

/* CTA hero Ã¢â‚¬â€ penanda order perlu diproses */
.orders-action-pulse {
    display: inline-flex;
    align-items: center;
    gap: 0.3125rem;
    flex-shrink: 0;
    min-height: 2.125rem;
    padding: 0.3rem 0.65rem;
    border: 0;
    border-radius: 0.65rem;
    background: rgb(255 247 237);
    color: rgb(180 83 9);
    font-family: inherit;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.orders-action-pulse:hover {
    background: rgb(254 243 199);
    border-color: rgb(251 191 36);
}

.orders-action-pulse:focus-visible {
    outline: 2px solid rgb(245 158 11);
    outline-offset: 2px;
}

.orders-action-pulse.is-active,
.catalog-header-pill.orders-filter-proses.is-active {
    border-color: rgb(245 158 11);
    background: rgb(245 158 11);
    color: #fff;
}

.orders-action-pulse.is-active .orders-action-pulse-dot {
    background: #fff;
    box-shadow: 0 0 0 3px rgb(255 255 255 / 0.35);
}

.orders-action-pulse-dot {
    width: 0.4375rem;
    height: 0.4375rem;
    border-radius: 9999px;
    background: rgb(245 158 11);
    box-shadow: 0 0 0 0 rgb(245 158 11 / 0.55);
    animation: orders-pulse-dot 1.6s ease-out infinite;
}

@keyframes orders-pulse-dot {
    0% { box-shadow: 0 0 0 0 rgb(245 158 11 / 0.55); }
    70% { box-shadow: 0 0 0 0.375rem rgb(245 158 11 / 0); }
    100% { box-shadow: 0 0 0 0 rgb(245 158 11 / 0); }
}

.orders-header-tools.catalog-header-tools {
    min-width: 0;
}

.orders-header-toolbar {
    gap: 0.375rem;
}

.orders-header-filters {
    flex: 1;
    min-width: 0;
}

.orders-header-meta {
    margin: 0;
    font-size: 0.6875rem;
    color: rgb(100 116 139);
}

.orders-filter-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1rem;
    height: 1rem;
    margin-left: 0.1875rem;
    padding: 0 0.25rem;
    border-radius: 9999px;
    background: rgb(254 243 199);
    color: rgb(180 83 9);
    font-size: 0.5625rem;
    font-weight: 800;
    line-height: 1;
}

.catalog-header-pill.is-active .orders-filter-count {
    background: rgb(254 243 199);
    color: rgb(180 83 9);
}

.orders-header .catalog-header-search-input {
    min-height: 2.125rem;
    font-size: var(--text-sm, 0.8125rem);
}

.orders-list {
    display: flex;
    flex-direction: column;
    gap: 0.4375rem;
    margin-top: 0.375rem;
    min-width: 0;
    max-width: 100%;
}

@media (max-width: 639px) {
    .orders-header-top {
        grid-template-columns: auto minmax(0, 1fr) auto;
        gap: 0.45rem;
        padding: 0;
    }

    .orders-header-actions {
        gap: 0.3125rem;
    }

    .orders-header .catalog-header-btn-text {
        display: none;
    }

    .orders-header .catalog-header-btn {
        width: 2rem;
        min-width: 2rem;
        min-height: 2rem;
        padding: 0;
    }

    .orders-action-pulse {
        min-height: 2rem;
        min-width: 2rem;
        padding: 0.25rem 0.4375rem;
        gap: 0.25rem;
        border-radius: 0.5rem;
    }

    .orders-action-pulse span:last-child {
        display: none;
    }

    .orders-header-sub {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.0625rem;
    }

    .orders-header-sub-revenue {
        font-size: 0.625rem;
        line-height: 1.3;
    }

    .orders-header-toolbar.catalog-header-toolbar {
        flex-direction: column;
        align-items: stretch;
        gap: 0.375rem;
    }

    .orders-header-filters.catalog-header-filters {
        width: 100%;
        margin-inline: -0.125rem;
        padding-inline: 0.125rem;
    }

    .orders-header .catalog-header-toolbar-end {
        width: 100%;
    }

    .orders-header .catalog-header-sort {
        width: 100%;
        max-width: none;
        min-width: 0;
    }
}

.orders-empty,
.orders-empty-filter {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin-top: 0.625rem;
    padding: 1.75rem 1.125rem;
    border-radius: var(--orders-radius);
    border: 1px solid rgb(226 232 240);
    background: #fff;
}

.orders-empty-filter.hidden {
    display: none;
}

.orders-empty-icon {
    display: grid;
    place-items: center;
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 0.875rem;
    background: rgb(236 253 245);
    font-size: 1.5rem;
}

.orders-empty-title {
    margin-top: 0.875rem;
    font-size: 1.0625rem;
    font-weight: 800;
    color: rgb(15 23 42);
}

.orders-empty-desc {
    margin-top: 0.4375rem;
    max-width: 22rem;
    font-size: 0.8125rem;
    line-height: 1.5;
    color: rgb(100 116 139);
}

.orders-empty-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem;
    margin-top: 1rem;
}

.order-card {
    display: flex;
    border-radius: var(--dash-surface-radius, var(--orders-radius));
    border: var(--dash-surface-border, 1px solid rgb(226 232 240));
    background: var(--dash-surface-bg, #fff);
    box-shadow: none;
    overflow: hidden;
    transition: border-color 0.15s ease;
    min-width: 0;
    max-width: 100%;
}

.order-card-rail {
    width: 0.1875rem;
    flex-shrink: 0;
    background: rgb(226 232 240);
}

.order-card--action .order-card-rail,
.order-status--paid .order-card-rail { background: rgb(16 185 129); }
.order-status--processing .order-card-rail { background: rgb(59 130 246); }
.order-status--shipped .order-card-rail { background: rgb(99 102 241); }
.order-status--pending .order-card-rail { background: rgb(245 158 11); }
.order-status--cancelled .order-card-rail,
.order-status--expired .order-card-rail { background: rgb(244 63 94); }
.order-status--completed .order-card-rail { background: rgb(148 163 184); }

.order-card--action {
    border-color: rgb(52 211 153);
    background: linear-gradient(180deg, rgb(236 253 245 / 0.55) 0%, #fff 48%);
    box-shadow: inset 0 0 0 1px rgb(167 243 208 / 0.45);
}

.order-card--next {
    border-color: rgb(191 219 254);
    background: linear-gradient(180deg, rgb(239 246 255 / 0.7) 0%, #fff 48%);
}

.order-card--next .order-card-rail {
    background: rgb(59 130 246);
}

.order-card:hover {
    border-color: rgb(203 213 225);
}

.order-card--action:hover {
    border-color: rgb(16 185 129);
}

.order-card--next:hover {
    border-color: rgb(96 165 250);
}

/* Penanda aksi di kartu tertutup */
.order-action-flag {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.125rem 0.4375rem;
    border-radius: 0.375rem;
    border: 1px solid rgb(191 219 254);
    background: rgb(239 246 255);
    color: rgb(29 78 216);
    font-size: 0.5625rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    line-height: 1.25;
    white-space: nowrap;
}

.order-action-flag-dot {
    width: 0.375rem;
    height: 0.375rem;
    border-radius: 9999px;
    background: currentColor;
    flex-shrink: 0;
}

.order-action-flag--urgent {
    border-color: rgb(167 243 208);
    background: rgb(220 252 231);
    color: rgb(4 120 87);
    animation: order-action-flag-glow 2s ease-in-out infinite;
}

.order-cod-overdue-flag {
    display: inline-flex;
    align-items: center;
    min-height: 1.25rem;
    padding: 0.1rem 0.4rem;
    border-radius: 9999px;
    border: 1px solid rgb(254 202 202);
    background: rgb(254 242 242);
    color: rgb(185 28 28);
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    line-height: 1.2;
    white-space: nowrap;
}

.order-card--cod-overdue {
    box-shadow: inset 3px 0 0 rgb(239 68 68);
}

.order-action-flag--urgent .order-action-flag-dot {
    background: rgb(16 185 129);
    box-shadow: 0 0 0 0 rgb(16 185 129 / 0.5);
    animation: orders-pulse-dot 1.6s ease-out infinite;
}

@keyframes order-action-flag-glow {
    0%, 100% { box-shadow: 0 0 0 0 rgb(16 185 129 / 0); }
    50% { box-shadow: 0 0 0 3px rgb(16 185 129 / 0.12); }
}

.order-card--terminal {
    opacity: 0.88;
}

.order-card-inner {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.order-card-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.3125rem 0.5rem;
    padding: 0.5rem 0.75rem 0.25rem;
}

.order-card-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.3125rem;
    min-width: 0;
}

.order-card-time {
    font-size: 0.6875rem;
    font-weight: 600;
    color: rgb(100 116 139);
}

.order-card-number {
    font-size: 0.6875rem;
    font-weight: 800;
    font-family: ui-monospace, monospace;
    color: rgb(51 65 85);
}

.order-pay-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.0625rem 0.375rem;
    border-radius: 9999px;
    font-size: 0.5625rem;
    font-weight: 800;
    border: 1px solid transparent;
    letter-spacing: 0.02em;
}

.order-pay--qris { background: rgb(239 246 255); color: rgb(29 78 216); border-color: rgb(191 219 254); }
.order-pay--gopay { background: rgb(239 246 255); color: rgb(29 78 216); }
.order-pay--dana { background: rgb(245 243 255); color: rgb(109 40 217); }
.order-pay--va { background: rgb(248 250 252); color: rgb(51 65 85); border-color: rgb(226 232 240); }
.order-pay--cod { background: rgb(255 251 235); color: rgb(180 83 9); border-color: rgb(253 230 138); }
.order-pay--default { background: rgb(248 250 252); color: rgb(71 85 105); }

.order-status-badge {
    display: inline-flex;
    padding: 0.125rem 0.4375rem;
    border-radius: 9999px;
    font-size: 0.5625rem;
    font-weight: 800;
    white-space: nowrap;
    line-height: 1.3;
}

.order-status--pending { background: rgb(254 243 199); color: rgb(180 83 9); }
.order-status--paid { background: rgb(209 250 229); color: rgb(4 120 87); }
.order-status--processing { background: rgb(219 234 254); color: rgb(29 78 216); }
.order-status--shipped { background: rgb(224 231 255); color: rgb(67 56 202); }
.order-status--completed { background: rgb(241 245 249); color: rgb(51 65 85); }
.order-status--cancelled { background: rgb(255 228 230); color: rgb(190 18 60); }
.order-status--expired { background: rgb(241 245 249); color: rgb(100 116 139); }

.order-progress {
    display: flex;
    align-items: center;
    gap: 0;
    padding: 0.125rem 0.75rem 0.4375rem;
    min-width: 0;
}

.order-progress-step {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 0.1875rem;
    flex: 0 0 auto;
    min-width: 0;
}

.order-progress-dot {
    width: 0.4375rem;
    height: 0.4375rem;
    border-radius: 9999px;
    background: rgb(226 232 240);
    border: 1.5px solid rgb(203 213 225);
    box-sizing: border-box;
}

.order-progress-text {
    font-size: 0.5625rem;
    font-weight: 700;
    color: rgb(148 163 184);
    line-height: 1;
    white-space: nowrap;
}

.order-progress-line {
    flex: 1 1 auto;
    height: 0.125rem;
    margin: 0 0.25rem 0.875rem;
    border-radius: 9999px;
    background: rgb(226 232 240);
    min-width: 0.5rem;
}

.order-progress-step.is-done .order-progress-dot {
    background: rgb(16 185 129);
    border-color: rgb(16 185 129);
}

.order-progress-step.is-done .order-progress-text {
    color: rgb(4 120 87);
}

.order-progress-step.is-current .order-progress-dot {
    background: #fff;
    border-color: rgb(5 150 105);
    box-shadow: 0 0 0 2px rgb(167 243 208);
}

.order-progress-step.is-current .order-progress-text {
    color: rgb(15 23 42);
    font-weight: 800;
}

.order-progress-line.is-done {
    background: rgb(52 211 153);
}

.order-progress-track {
    flex: 1;
    height: 0.1875rem;
    border-radius: 9999px;
    background: rgb(226 232 240);
    overflow: hidden;
}

.order-progress-fill {
    display: block;
    height: 100%;
    border-radius: 9999px;
    background: linear-gradient(90deg, rgb(52 211 153), rgb(16 185 129));
    transition: width 0.25s ease;
}

.order-progress-label {
    flex-shrink: 0;
    font-size: 0.5625rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: rgb(4 120 87);
}

.order-hint {
    margin: 0 0.75rem 0.375rem;
    padding: 0.3125rem 0.5rem;
    border-radius: 0.375rem;
    font-size: 0.6875rem;
    font-weight: 700;
}

.order-hint--pending {
    background: rgb(255 251 235);
    color: rgb(146 64 14);
}

.order-card-body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.5rem 0.875rem;
    align-items: start;
    padding: 0.125rem 0.75rem 0.5rem;
}

.order-card-main {
    min-width: 0;
}

.order-card-product {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.1875rem 0.375rem;
    margin: 0;
    font-size: 0.875rem;
    font-weight: 800;
    color: rgb(15 23 42);
    line-height: 1.25;
}

.order-card-product-name {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
}

.order-card-qty {
    flex-shrink: 0;
    font-size: 0.75rem;
    font-weight: 800;
    color: rgb(100 116 139);
    font-variant-numeric: tabular-nums;
}

.order-buyer-line {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.1875rem 0.3125rem;
    margin: 0.25rem 0 0;
    font-size: 0.75rem;
    line-height: 1.35;
    color: rgb(71 85 105);
}

.order-buyer-name {
    font-weight: 800;
    color: rgb(15 23 42);
}

.order-buyer-sep {
    color: rgb(203 213 225);
}

.order-buyer-phone {
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.order-buyer-address {
    margin: 0.1875rem 0 0;
    font-size: 0.6875rem;
    line-height: 1.35;
    color: rgb(100 116 139);
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.order-buyer-notes {
    margin: 0.3125rem 0 0;
    padding: 0.25rem 0.4375rem;
    border-radius: 0.375rem;
    border-left: 2px solid rgb(251 191 36);
    background: rgb(255 251 235 / 0.7);
    font-size: 0.6875rem;
    line-height: 1.35;
    color: rgb(120 53 15);
}

.order-card-side {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.1875rem;
    min-width: 6.75rem;
    text-align: right;
}

.order-side-net {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.0625rem;
}

.order-side-net-label {
    font-size: 0.5625rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: rgb(100 116 139);
}

.order-side-net-value {
    font-size: 0.9375rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.02em;
    color: rgb(4 120 87);
    line-height: 1.15;
}

.order-finance-details {
    width: 100%;
}

.order-finance-summary {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    margin-left: auto;
    padding: 0.0625rem 0;
    font-size: 0.625rem;
    font-weight: 700;
    color: rgb(100 116 139);
    cursor: pointer;
    list-style: none;
    user-select: none;
}

.order-finance-summary::-webkit-details-marker {
    display: none;
}

.order-finance-summary::after {
    content: "Ã¢â€“Â¾";
    font-size: 0.5rem;
    color: rgb(148 163 184);
}

.order-finance-details[open] .order-finance-summary::after {
    content: "Ã¢â€“Â´";
}

.order-finance-panel {
    margin-top: 0.3125rem;
    padding: 0.4375rem 0.5rem;
    border-radius: 0.5rem;
    border: 1px solid rgb(226 232 240);
    background: rgb(248 250 252);
    text-align: left;
}

.order-finance-row {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
    font-size: 0.6875rem;
    color: rgb(71 85 105);
}

.order-finance-row + .order-finance-row {
    margin-top: 0.25rem;
}

.order-finance-row--muted {
    color: rgb(100 116 139);
}

.order-finance-row strong {
    font-weight: 800;
    color: rgb(15 23 42);
    font-variant-numeric: tabular-nums;
}

.order-seller-net-sub {
    margin: 0.3125rem 0 0;
    font-size: 0.5625rem;
    line-height: 1.35;
    color: rgb(100 116 139);
}

.order-card-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.375rem;
    padding: 0.4375rem 0.75rem;
    border-top: 1px solid rgb(241 245 249);
    background: rgb(248 250 252 / 0.55);
}

.order-wa-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    min-height: 1.875rem;
    padding: 0.25rem 0.5rem;
    border-radius: 0.4375rem;
    border: 1px solid rgb(187 247 208);
    background: #fff;
    font-size: 0.6875rem;
    font-weight: 800;
    color: rgb(4 120 87);
    text-decoration: none;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.order-wa-btn .ui-icon {
    font-size: 0.8125rem;
}

.order-wa-btn:hover {
    background: rgb(236 253 245);
    border-color: rgb(52 211 153);
}

.order-card-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.3125rem;
    margin-left: auto;
}

.order-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    min-height: 1.875rem;
    padding: 0.25rem 0.625rem;
    border-radius: 0.4375rem;
    border: 1px solid transparent;
    font-size: 0.6875rem;
    font-weight: 800;
    line-height: 1.2;
    cursor: pointer;
    white-space: nowrap;
}

.order-action-btn .ui-icon {
    font-size: 0.8125rem;
}

.order-action-btn--primary {
    background: rgb(5 150 105);
    border-color: rgb(4 120 87);
    color: #fff;
}

.order-action-btn--primary:hover {
    background: rgb(4 120 87);
}

.order-action-btn--ghost {
    background: #fff;
    border-color: rgb(226 232 240);
    color: rgb(100 116 139);
}

.order-action-btn--ghost:hover {
    border-color: rgb(254 205 211);
    background: rgb(255 241 242);
    color: rgb(190 18 60);
}

/* ===== Order fold card (kartu lipat) ===== */
.order-fold {
    position: relative;
}

/* Tipografi lebih ringan agar daftar tidak terasa penuh */
.order-fold .order-card-number {
    font-weight: 600;
    color: rgb(100 116 139);
}

.order-fold .order-card-product {
    font-size: 0.8125rem;
    font-weight: 600;
    color: rgb(30 41 59);
}

.order-fold .order-card-qty {
    font-weight: 600;
}

.order-fold .order-buyer-name {
    font-weight: 500;
    color: rgb(71 85 105);
}

.order-fold .order-side-net-value {
    font-size: 0.875rem;
    font-weight: 600;
}

.order-fold .order-pay-badge,
.order-fold .order-status-badge {
    font-weight: 600;
}

.order-fold .order-fold-face-hint {
    font-weight: 600;
}

.order-fold .order-fold-phone {
    font-weight: 600;
}

.order-fold .order-fold-money strong {
    font-weight: 600;
}

.order-fold .order-progress-step.is-current .order-progress-text {
    font-weight: 600;
}

.order-fold-shell {
    flex: 1 1 auto;
    min-width: 0;
}

.order-fold-face {
    list-style: none;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(4.25rem, auto);
    align-items: start;
    gap: 0.5rem 0.75rem;
    padding: 0.5625rem 0.75rem;
    cursor: pointer;
    position: relative;
    user-select: none;
    background: #fff;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

.order-fold-face::-webkit-details-marker {
    display: none;
}

.order-fold-face::marker {
    content: "";
    display: none;
}

.order-fold-face-main {
    min-width: 0;
}

.order-fold-face-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.3125rem;
    margin-bottom: 0.25rem;
}

.order-fold-face-buyer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem 0.5rem;
    margin: 0.25rem 0 0;
    font-size: 0.75rem;
    color: rgb(71 85 105);
    line-height: 1.3;
}

.order-fold-face-hint {
    font-size: 0.625rem;
    font-weight: 800;
    color: rgb(180 83 9);
}

.order-fold-face-side {
    display: grid;
    justify-items: end;
    align-content: start;
    gap: 0.25rem;
    padding-top: 0.0625rem;
    min-width: 0;
    max-width: 100%;
}

.order-fold-face .order-side-net-value {
    font-size: 0.9375rem;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.order-fold-face-side .order-status-badge {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}

.order-fold-chevron {
    display: inline-grid;
    place-items: center;
    width: 1.25rem;
    height: 1.25rem;
    margin-top: 0.125rem;
    border-radius: 9999px;
    background: rgb(241 245 249);
    color: rgb(100 116 139);
    transition: transform 0.22s ease, background-color 0.15s ease, color 0.15s ease;
}

.order-fold-chevron-i {
    font-size: 0.75rem;
    line-height: 1;
}

.order-fold-shell[open] .order-fold-chevron {
    transform: rotate(180deg);
    background: rgb(209 250 229);
    color: rgb(4 120 87);
}

.order-fold-shell[open] .order-fold-face {
    background: #fff;
    border-bottom: 1px solid rgb(241 245 249);
}

.order-fold-shell[open] .order-fold-face-hint {
    display: none;
}

.order-fold-panel {
    background: #fff;
    transform-origin: top center;
    animation: order-fold-open 0.22s ease;
}

@keyframes order-fold-open {
    from {
        opacity: 0.35;
        transform: perspective(640px) rotateX(-8deg) translateY(-0.25rem);
    }
    to {
        opacity: 1;
        transform: perspective(640px) rotateX(0deg) translateY(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .order-fold-panel {
        animation: none;
    }

    .order-fold-chevron {
        transition: none;
    }
}

.order-fold-panel-inner {
    display: grid;
    gap: 0.625rem;
    padding: 0.625rem 0.75rem 0;
    min-width: 0;
}

.order-fold-contact {
    display: grid;
    gap: 0.25rem;
    min-width: 0;
}

.order-fold-phone {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: rgb(51 65 85);
    word-break: break-all;
}

.order-fold-address {
    margin: 0;
    font-size: 0.75rem;
    line-height: 1.4;
    color: rgb(71 85 105);
    overflow-wrap: anywhere;
    word-break: break-word;
    white-space: normal;
}

.order-fold-contact .order-buyer-notes {
    margin: 0.125rem 0 0;
}

.order-fold-meta-row {
    display: grid;
    gap: 0.1875rem;
    min-width: 0;
}

.order-fold-money {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.1875rem 0.375rem;
    font-size: 0.75rem;
    color: rgb(71 85 105);
    line-height: 1.35;
}

.order-fold-money-label {
    font-weight: 700;
    color: rgb(100 116 139);
}

.order-fold-money strong {
    font-weight: 800;
    color: rgb(4 120 87);
    font-variant-numeric: tabular-nums;
}

.order-fold-money-sep {
    color: rgb(203 213 225);
}

.order-fold-money-total {
    font-weight: 600;
    color: rgb(100 116 139);
    font-variant-numeric: tabular-nums;
}

.order-fold-pay-note {
    margin: 0;
    font-size: 0.625rem;
    font-weight: 600;
    line-height: 1.35;
    color: rgb(148 163 184);
    overflow-wrap: anywhere;
    word-break: break-word;
}

.order-fold-panel .order-progress,
.order-fold-panel .order-hint {
    padding-inline: 0;
    margin-inline: 0;
}

.order-progress--fold {
    padding-block: 0.125rem 0.25rem;
    gap: 0;
}

.order-progress--fold .order-progress-step {
    flex: 1 1 0;
    min-width: 0;
}

.order-progress--fold .order-progress-text {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}

.order-progress--fold .order-progress-line {
    flex: 0.55 1 auto;
    min-width: 0.375rem;
    max-width: 1.75rem;
    margin-bottom: 0.875rem;
}

.order-fold-panel .order-card-footer {
    margin: 0 -0.75rem;
    padding: 0.5rem 0.75rem;
    border-radius: 0;
    background: rgb(248 250 252 / 0.7);
}

.order-fold-dash-link {
    margin-left: auto;
    font-size: 0.6875rem;
    font-weight: 800;
    color: rgb(4 120 87);
    text-decoration: none;
}

.order-fold-dash-link:hover {
    text-decoration: underline;
}

.dash-overview-orders {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0.5rem 0.625rem 0.625rem;
    min-width: 0;
}

.dash-overview-orders .order-fold {
    border-radius: 0.75rem;
}

.dash-overview-orders .order-fold-face {
    padding: 0.5rem 0.625rem;
}

.dash-overview-orders .order-card-product {
    font-size: 0.8125rem;
}

.dash-overview-orders .order-fold-face .order-side-net-value {
    font-size: 0.875rem;
}

.dash-overview-board--orders {
    min-width: 0;
}

@media (min-width: 1024px) {
    .dash-overview-boards {
        grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr);
    }
}

@media (max-width: 639px) {
    .orders-header-summary {
        padding: 0.375rem 0.625rem;
        gap: 0.3125rem;
    }

    .orders-header-summary-spacer {
        display: none;
    }

    .orders-header-tools.catalog-header-tools {
        gap: 0.45rem;
    }

    .orders-header .catalog-header-search-input {
        min-height: 2.125rem;
    }

    .orders-list {
        gap: 0.5rem;
    }

    .order-fold,
    .order-fold-shell {
        min-width: 0;
        max-width: 100%;
    }

    .order-fold-face {
        grid-template-columns: minmax(0, 1fr) minmax(4rem, 5.25rem);
        padding: 0.5rem 0.625rem;
        gap: 0.375rem 0.5rem;
    }

    .order-fold-face-meta {
        gap: 0.25rem;
        margin-bottom: 0.1875rem;
    }

    .order-fold-face-meta .order-card-number,
    .order-fold-face-meta .order-card-time {
        font-size: 0.625rem;
    }

    .order-fold-face-meta .order-pay-badge,
    .order-fold-face-meta .order-action-flag {
        font-size: 0.5rem;
        padding: 0.0625rem 0.3125rem;
    }

    .order-fold .order-card-product {
        font-size: 0.8125rem;
        line-height: 1.3;
    }

    .order-fold .order-card-product-name {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        white-space: normal;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .order-fold-face-buyer {
        font-size: 0.6875rem;
        gap: 0.1875rem 0.375rem;
    }

    .order-fold-face-hint {
        flex: 1 1 100%;
        font-size: 0.5625rem;
    }

    .order-fold-face .order-side-net-value {
        font-size: 0.8125rem;
        line-height: 1.2;
    }

    .order-fold-face-side .order-status-badge {
        font-size: 0.5rem;
        padding: 0.0625rem 0.3125rem;
        justify-self: end;
    }

    .order-fold-chevron {
        width: 1.125rem;
        height: 1.125rem;
        margin-top: 0.0625rem;
    }

    .order-fold-panel-inner {
        padding: 0.5rem 0.625rem 0;
        gap: 0.5rem;
    }

    .order-fold-money {
        font-size: 0.6875rem;
        gap: 0.125rem 0.3125rem;
    }

    .order-fold-panel .order-card-footer {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        align-items: stretch;
        gap: 0.375rem;
        margin-inline: -0.625rem;
        padding: 0.5rem 0.625rem;
    }

    .order-fold-address {
        font-size: 0.6875rem;
        line-height: 1.45;
        -webkit-line-clamp: unset;
    }

    .order-progress--fold {
        width: 100%;
        max-width: 100%;
        overflow: hidden;
    }

    .order-progress--fold .order-progress-text {
        font-size: 0.5rem;
    }

    .order-progress--fold .order-progress-line {
        margin-bottom: 0.75rem;
        min-width: 0.25rem;
        max-width: 1.25rem;
    }

    .order-card-head,
    .order-card-body,
    .order-card-footer,
    .order-progress,
    .order-hint {
        padding-inline: 0.625rem;
    }

    .order-card-body {
        grid-template-columns: 1fr;
        gap: 0.4375rem;
        padding-bottom: 0.4375rem;
    }

    .order-card-side {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        min-width: 0;
        padding-top: 0.375rem;
        border-top: 1px dashed rgb(226 232 240);
        text-align: left;
    }

    .order-side-net {
        align-items: flex-start;
    }

    .order-finance-summary {
        margin-left: 0;
    }

    .order-progress-text {
        font-size: 0.5rem;
    }

    .order-progress-line {
        margin-bottom: 0.75rem;
        margin-inline: 0.1875rem;
    }

    .order-card-footer {
        flex-wrap: wrap;
        gap: 0.375rem;
        padding-block: 0.4375rem;
    }

    .order-card-actions {
        margin-left: 0;
        flex: 1 1 auto;
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-end;
        align-items: stretch;
        gap: 0.3125rem;
        min-width: 0;
    }

    .order-fold-panel .order-card-actions {
        width: 100%;
    }

    .order-card-actions form {
        flex: 1 1 auto;
        min-width: 0;
    }

    .order-action-btn {
        width: 100%;
        justify-content: center;
        min-height: 2rem;
        padding-inline: 0.5rem;
    }

    .order-action-btn--primary {
        flex: 1 1 auto;
        min-width: 0;
    }

    .order-action-btn-text {
        display: none;
    }

    .order-wa-btn {
        flex-shrink: 0;
        min-width: 2rem;
        min-height: 2rem;
        justify-content: center;
        padding-inline: 0.4375rem;
    }

    .order-wa-btn .ui-btn-label {
        display: none;
    }

    .order-wa-btn .ui-icon,
    .order-wa-btn .ui-emoji-icon,
    .order-wa-btn .ui-brand-icon {
        display: inline-flex;
    }

    .dash-overview-orders .order-fold-face {
        grid-template-columns: minmax(0, 1fr) minmax(3.75rem, 4.75rem);
    }
}

/* ===== Share studio Ã¢â‚¬â€ akun sosial terhubung ===== */
.share-account-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.375rem;
    margin-top: 0;
}

.share-studio-panel-head .share-account-bar {
    margin-top: 0.125rem;
}

.share-account-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.3125rem;
    padding: 0.25rem 0.5625rem;
    border-radius: 9999px;
    font-size: 0.625rem;
    font-weight: 800;
    text-decoration: none;
    line-height: 1.3;
}

.share-account-chip--ok {
    border: 1px solid rgb(167 243 208);
    background: rgb(236 253 245);
    color: rgb(4 120 87);
}

.share-account-chip--warn {
    border: 1px solid rgb(253 230 138);
    background: rgb(255 251 235);
    color: rgb(180 83 9);
}

.share-account-chip-icon {
    font-size: 0.625rem;
}

.share-safe-tag {
    margin-left: auto;
    font-size: 0.5625rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgb(100 116 139);
    padding: 0.125rem 0.375rem;
    border-radius: 0.25rem;
    background: rgb(248 250 252);
    border: 1px solid rgb(226 232 240);
}

.share-social-safe-details {
    margin: 0;
    padding: 0;
    border: none;
}

.share-social-safe-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    width: 100%;
    min-height: 1.5rem;
    list-style: none;
    cursor: pointer;
    user-select: none;
}

.share-social-safe-summary::-webkit-details-marker {
    display: none;
}

.share-social-safe-summary .share-studio-insights-chevron {
    display: block;
    flex-shrink: 0;
}

.share-social-safe-details[open] .share-studio-insights-chevron {
    transform: rotate(-135deg) translateY(-1px);
}

.share-social-safe-details .share-studio-card-title {
    margin-top: 0.625rem;
}

.share-social-safe-body {
    padding-top: 0.125rem;
}

.share-social-safe-list {
    display: grid;
    gap: 0.4375rem;
    margin: 0.625rem 0 0;
    padding: 0;
    list-style: none;
}

.share-social-safe-desc {
    display: block;
    margin-top: 0.125rem;
    font-weight: 500;
    color: rgb(100 116 139);
}

.share-social-safe-item {
    display: flex;
    gap: 0.4375rem;
    align-items: flex-start;
    font-size: 0.6875rem;
    line-height: 1.45;
    color: rgb(51 65 85);
}

.share-social-safe-icon {
    flex-shrink: 0;
    line-height: 1.3;
}

.share-social-safe-text strong {
    font-weight: 800;
    color: rgb(15 23 42);
}

.share-social-safe-link {
    display: inline-block;
    margin-top: 0.625rem;
    font-size: 0.6875rem;
    font-weight: 800;
    color: rgb(4 120 87);
    text-decoration: none;
}

.share-social-safe-link:hover {
    text-decoration: underline;
}

@media (max-width: 639px) {
    .share-account-bar {
        flex-direction: column;
        align-items: stretch;
    }

    .share-safe-tag {
        margin-left: 0;
        align-self: flex-start;
    }
}

/* ===== Dashboard shell & sidebar v16 ===== */
.dash-body {
    min-height: 100vh;
    min-height: 100dvh;
    padding-bottom: calc(var(--dash-dock-h, 4.25rem) + 0.75rem + env(safe-area-inset-bottom, 0));
    background:
        radial-gradient(120% 60% at 0% 0%, rgb(209 250 229 / 0.55) 0%, transparent 48%),
        radial-gradient(90% 50% at 100% 0%, rgb(224 242 254 / 0.45) 0%, transparent 42%),
        rgb(241 245 249);
    font-family: inherit;
    color: var(--dash-ink, rgb(15 23 42));
    -webkit-font-smoothing: antialiased;
    max-width: 100%;
    overflow-x: clip;
}

.dash-body.is-dash-more-open {
    overflow: hidden;
}

@media (min-width: 1024px) {
    .dash-body {
        padding-bottom: 0;
        background:
            radial-gradient(70% 40% at 10% 0%, rgb(209 250 229 / 0.4) 0%, transparent 50%),
            rgb(248 250 252);
    }
}

.dash-shell {
    --dash-shell-pad-x: max(0.75rem, env(safe-area-inset-left, 0px));
    --dash-shell-pad-x-end: max(0.75rem, env(safe-area-inset-right, 0px));
    display: grid;
    gap: 1rem;
    width: 100%;
    max-width: 1120px;
    min-width: 0;
    margin-inline: auto;
    padding-block: 0.75rem 1.25rem;
    padding-inline: var(--dash-shell-pad-x) var(--dash-shell-pad-x-end);
    box-sizing: border-box;
}

.dash-shell .catalog-store,
.dash-shell .balance-board,
.dash-shell .orders-board,
.dash-shell .affiliates-board,
.dash-shell .finance-board {
    --catalog-shell-pad-x: var(--dash-shell-pad-x);
    --catalog-shell-pad-x-end: var(--dash-shell-pad-x-end);
}

/* Kartu permukaan dashboard Ã¢â‚¬â€ overview, panel, KPI (pola Marketing Toolkit) */
.dash-shell .dash-surface,
.dash-shell .dash-kpi-card,
.dash-shell .dash-panel {
    border-radius: var(--dash-surface-radius);
    border: var(--dash-surface-border);
    background: var(--dash-surface-bg);
    box-shadow: var(--dash-surface-shadow);
}

.dash-shell .dash-kpi-card {
    padding: 0.625rem 0.6875rem;
}

.dash-shell .dash-panel {
    overflow: hidden;
    background: var(--dash-surface-bg-solid);
}

.dash-shell .dash-panel-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem 1rem;
    padding: 1rem 1.125rem 0.875rem;
    border-bottom: 1px solid rgb(167 243 208 / 0.45);
    background: transparent;
}

.dash-panel-head-main {
    display: inline-flex;
    align-items: flex-start;
    gap: 0.5rem;
    min-width: 0;
}

.dash-panel-head-icon {
    display: grid;
    place-items: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 0.5rem;
    background: var(--dash-icon-chip-bg);
    color: var(--dash-icon-chip-fg);
    flex-shrink: 0;
    margin-top: 0.1rem;
}

.dash-panel-head-icon-i {
    font-size: 0.9375rem;
    line-height: 1;
}

.dash-shell .dash-panel-title {
    margin: 0;
    font-size: var(--text-md, 0.875rem);
    font-weight: 700;
    letter-spacing: -0.01em;
    line-height: 1.3;
    color: var(--dash-ink);
}

.dash-shell .dash-panel-link {
    display: inline-flex;
    align-items: center;
    gap: 0.15rem;
    flex-shrink: 0;
    margin-top: 0.15rem;
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 700;
    letter-spacing: 0.02em;
    color: var(--dash-kicker);
    text-decoration: none;
}

.dash-panel-link-i {
    font-size: 0.8rem;
}

.dash-shell .dash-panel-link:hover {
    text-decoration: underline;
}

.dash-shell .dash-kicker {
    margin: 0;
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--dash-kicker);
    line-height: 1.3;
}

/* ===== Dashboard overview Ã¢â‚¬â€ app-like home ===== */
.dash-overview {
    display: grid;
    gap: 0.85rem;
    min-width: 0;
    max-width: 100%;
}

.dash-overview-hero {
    position: relative;
    border-radius: var(--dash-surface-radius, 1.25rem);
    border: 1px solid rgb(4 120 87 / 0.28);
    background:
        radial-gradient(120% 90% at 100% 0%, rgb(52 211 153 / 0.35) 0%, transparent 42%),
        linear-gradient(145deg, rgb(5 150 105) 0%, rgb(4 120 87) 52%, rgb(6 78 59) 100%);
    color: #fff;
    padding: 1rem 1.05rem 1.05rem;
    box-shadow: 0 16px 36px rgb(4 120 87 / 0.18);
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    box-sizing: border-box;
}

.dash-overview-hero-glow {
    position: absolute;
    inset: auto -20% -40% auto;
    width: 12rem;
    height: 12rem;
    border-radius: 9999px;
    background: rgb(255 255 255 / 0.12);
    pointer-events: none;
}

.dash-overview-hero-main {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem 1rem;
    min-width: 0;
}

.dash-overview-hero-identity {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    flex: 1 1 14rem;
    min-width: 0;
}

.dash-overview-hero-avatar {
    display: grid;
    place-items: center;
    width: 3rem;
    height: 3rem;
    flex-shrink: 0;
    overflow: hidden;
    border-radius: 1rem;
    border: 2px solid rgb(255 255 255 / 0.35);
    background: rgb(255 255 255 / 0.16);
    font-size: 0.8rem;
    font-weight: 800;
}

.dash-overview-hero-avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dash-overview-hero-copy {
    flex: 1 1 auto;
    min-width: 0;
}

.dash-overview-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.2rem 0.55rem;
    border-radius: 9999px;
    background: rgb(255 255 255 / 0.16);
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.dash-overview-hero-badge-i {
    font-size: 0.7rem;
}

.dash-overview-hero-greet {
    margin: 0.45rem 0 0;
    font-size: var(--text-sm, 0.8125rem);
    font-weight: 600;
    color: rgb(209 250 229);
    overflow-wrap: anywhere;
}

.dash-overview-hero-title {
    margin: 0.15rem 0 0;
    font-size: clamp(1.15rem, 3.5vw, 1.4rem);
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.dash-overview-hero-lead {
    margin: 0.35rem 0 0;
    max-width: 28rem;
    font-size: var(--text-sm, 0.8125rem);
    line-height: 1.45;
    color: rgb(236 253 245 / 0.9);
}

.dash-overview-hero-cta {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    min-height: 2.5rem;
    padding: 0.5rem 0.9rem;
    border-radius: 0.9rem;
    background: #fff;
    color: rgb(4 120 87);
    font-size: var(--text-sm, 0.8125rem);
    font-weight: 800;
    text-decoration: none;
    box-shadow: 0 8px 18px rgb(15 23 42 / 0.12);
    flex-shrink: 0;
    transition: transform 0.15s ease;
}

.dash-overview-hero-cta:hover {
    transform: translateY(-1px);
}

.dash-overview-hero-cta:active {
    transform: scale(0.97);
}

.dash-overview-hero-cta-i {
    font-size: 0.95rem;
}

.dash-overview-hero-cta-short {
    display: none;
}

.dash-overview-quick {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.45rem;
    margin-top: 0.95rem;
}

@media (min-width: 640px) {
    .dash-overview-quick {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }
}

.dash-overview-quick-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.3rem;
    padding: 0.55rem 0.35rem 0.5rem;
    border-radius: 0.95rem;
    background: rgb(255 255 255 / 0.12);
    border: 1px solid rgb(255 255 255 / 0.14);
    color: #fff;
    text-decoration: none;
    transition: background-color 0.15s ease, transform 0.15s ease;
}

.dash-overview-quick-item:hover {
    background: rgb(255 255 255 / 0.2);
    transform: translateY(-1px);
}

.dash-overview-quick-item:active {
    transform: scale(0.97);
}

.dash-overview-quick-icon {
    position: relative;
    display: grid;
    place-items: center;
    width: 2.15rem;
    height: 2.15rem;
    border-radius: 0.75rem;
    background: rgb(255 255 255 / 0.18);
}

.dash-overview-quick-icon-i {
    font-size: 1.05rem;
}

.dash-overview-quick-badge {
    position: absolute;
    top: -0.25rem;
    right: -0.3rem;
    min-width: 1rem;
    height: 1rem;
    padding: 0 0.25rem;
    border-radius: 9999px;
    background: rgb(251 191 36);
    color: rgb(69 26 3);
    font-size: 0.5625rem;
    font-weight: 900;
    line-height: 1rem;
    text-align: center;
}

.dash-overview-quick-label {
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.01em;
}

.dash-overview-store-link {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.55rem 0.65rem;
    margin-top: 0.9rem;
    padding: 0.7rem 0.75rem;
    border-radius: 0.95rem;
    background: rgb(255 255 255 / 0.1);
    border: 1px solid rgb(255 255 255 / 0.14);
    min-width: 0;
}

.dash-overview-store-ico {
    display: grid;
    place-items: center;
    width: 2.15rem;
    height: 2.15rem;
    border-radius: 0.7rem;
    background: rgb(255 255 255 / 0.16);
    flex-shrink: 0;
}

.dash-overview-store-ico-i {
    font-size: 1.05rem;
}

.dash-overview-store-meta {
    min-width: 0;
}

.dash-overview-store-label {
    display: block;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgb(167 243 208);
    white-space: nowrap;
}

.dash-overview-store-url {
    display: block;
    margin-top: 0.1rem;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--text-sm, 0.8125rem);
    font-weight: 600;
    color: rgb(236 253 245);
    background: transparent;
    padding: 0;
}

.dash-overview-store-actions {
    display: inline-flex;
    gap: 0.35rem;
    flex-shrink: 0;
}

.dash-overview-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.3rem;
    min-height: 2.125rem;
    padding: 0.35rem 0.7rem;
    border-radius: 0.7rem;
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 800;
    text-decoration: none;
    border: none;
    cursor: pointer;
    font-family: inherit;
    transition: transform 0.15s ease;
}

.dash-overview-btn:active {
    transform: scale(0.97);
}

.dash-overview-btn-i {
    font-size: 0.85rem;
}

.dash-overview-btn--solid {
    background: #fff;
    color: rgb(4 120 87);
}

.dash-overview-btn--ghost {
    background: rgb(255 255 255 / 0.14);
    color: #fff;
}

.dash-kpi-board {
    min-width: 0;
    max-width: 100%;
}

.dash-kpi-board-head {
    margin-bottom: 0.875rem;
}

.dash-kpi-board .dash-card-title {
    font-size: var(--text-xl);
}

.dash-kpi-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
    min-width: 0;
    max-width: 100%;
}

@media (min-width: 768px) {
    .dash-kpi-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 0.5rem;
    }
}

.dash-shell .dash-kpi-card {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    min-width: 0;
    max-width: 100%;
    min-height: 6.25rem;
    padding: 0.7rem 0.75rem;
    justify-content: flex-start;
    box-sizing: border-box;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    background: var(--dash-nest-bg);
    border: var(--dash-nest-border);
    border-radius: var(--dash-surface-radius-sm);
    box-shadow: none;
    transition: border-color 0.15s ease, background-color 0.15s ease;
}

.dash-shell a.dash-kpi-card:hover {
    border-color: rgb(167 243 208 / 0.95);
    background: #fff;
}

.dash-shell a.dash-kpi-card:active {
    transform: scale(0.985);
}

.dash-kpi-head {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
}

.dash-kpi-icon {
    display: grid;
    place-items: center;
    flex-shrink: 0;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 0.5rem;
    background: var(--dash-icon-chip-bg);
    color: var(--dash-icon-chip-fg);
    line-height: 1;
}

.dash-kpi-icon-i {
    font-size: 0.9375rem;
    line-height: 1;
}

.dash-kpi-head .dash-kicker {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.625rem;
    letter-spacing: 0.04em;
}

.dash-kpi-go {
    display: grid;
    place-items: center;
    color: rgb(148 163 184);
    flex-shrink: 0;
}

.dash-kpi-go-i {
    font-size: 0.8rem;
}

.dash-kpi-value {
    margin: 0;
    margin-top: auto;
    font-size: var(--text-xl, 1.0625rem);
    font-weight: 700;
    color: var(--dash-ink);
    letter-spacing: -0.02em;
    line-height: 1.2;
    overflow-wrap: anywhere;
    word-break: break-word;
    font-variant-numeric: tabular-nums;
}

.dash-kpi-hint {
    margin: 0;
    font-size: 0.625rem;
    font-weight: 500;
    line-height: 1.45;
    color: var(--dash-muted);
}

.dash-kpi-card--products .dash-kpi-icon,
.dash-kpi-card--orders .dash-kpi-icon,
.dash-kpi-card--today .dash-kpi-icon,
.dash-kpi-card--earn .dash-kpi-icon {
    background: var(--dash-icon-chip-bg);
    color: var(--dash-icon-chip-fg);
}

.dash-kpi-card--earn .dash-kpi-value {
    color: var(--dash-kicker);
}

.dash-cod-alerts {
    display: grid;
    gap: 0.55rem;
    margin: 0 0 0.875rem;
    min-width: 0;
}

.orders-cod-alerts {
    margin-top: 0.25rem;
}

.dash-cod-pipeline {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.625rem 1rem;
    padding: 0.75rem 0.875rem;
    border-radius: var(--dash-surface-radius-sm, 0.75rem);
    border: 1px solid rgb(253 230 138);
    background: linear-gradient(180deg, rgb(255 251 235) 0%, rgb(255 255 255) 100%);
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

.dash-cod-pipeline--info {
    border-color: rgb(167 243 208 / 0.85);
    background: linear-gradient(180deg, rgb(236 253 245) 0%, rgb(255 255 255) 100%);
}

.dash-cod-pipeline--info .dash-cod-pipeline-icon {
    background: rgb(209 250 229);
    color: rgb(4 120 87);
}

.dash-cod-pipeline--info .dash-cod-pipeline-title,
.dash-cod-pipeline--info .dash-cod-pipeline-link {
    color: rgb(4 120 87);
}

.dash-cod-pipeline--info .dash-cod-pipeline-text {
    color: rgb(6 78 59);
}

.dash-cod-pipeline--danger {
    border-color: rgb(254 202 202);
    background: linear-gradient(180deg, rgb(254 242 242) 0%, rgb(255 255 255) 100%);
}

.dash-cod-pipeline--danger .dash-cod-pipeline-icon {
    background: rgb(254 226 226);
    color: rgb(185 28 28);
}

.dash-cod-pipeline--danger .dash-cod-pipeline-title,
.dash-cod-pipeline--danger .dash-cod-pipeline-link {
    color: rgb(185 28 28);
}

.dash-cod-pipeline--danger .dash-cod-pipeline-text {
    color: rgb(127 29 29);
}

.dash-cod-pipeline-meta {
    margin: 0.3rem 0 0;
    font-size: 0.6875rem;
    font-weight: 700;
    color: rgb(100 116 139);
}

.dash-cod-pipeline-icon {
    display: grid;
    place-items: center;
    width: 2.25rem;
    height: 2.25rem;
    flex-shrink: 0;
    border-radius: 0.625rem;
    background: rgb(254 243 199);
    color: rgb(180 83 9);
}

.dash-cod-pipeline-icon-i {
    font-size: 1.0625rem;
    line-height: 1;
}

.dash-cod-pipeline-body {
    flex: 1 1 12rem;
    min-width: 0;
}

.dash-cod-pipeline-title {
    margin: 0;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgb(180 83 9);
}

.dash-cod-pipeline-text {
    margin: 0.25rem 0 0;
    font-size: var(--text-sm, 0.8125rem);
    line-height: 1.45;
    color: rgb(69 26 3);
}

.dash-cod-pipeline-text em {
    font-style: normal;
    font-weight: 800;
}

.dash-cod-pipeline-link {
    display: inline-flex;
    align-items: center;
    gap: 0.15rem;
    flex-shrink: 0;
    font-size: var(--text-sm, 0.8125rem);
    font-weight: 800;
    color: rgb(180 83 9);
    text-decoration: none;
}

.dash-cod-pipeline-link-i {
    font-size: 0.9rem;
}

.dash-cod-pipeline-link:hover {
    text-decoration: underline;
}

.dash-overview-boards {
    display: grid;
    gap: 0.75rem;
    min-width: 0;
    max-width: 100%;
}

@media (min-width: 1024px) {
    .dash-overview-boards {
        grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
        gap: 0.75rem;
        align-items: start;
    }
}

.dash-shell .dash-overview-board > .dash-panel-head {
    padding: 0.5625rem 0.875rem;
}

.dash-shell .dash-panel {
    min-width: 0;
    max-width: 100%;
}

.dash-overview-list {
    display: grid;
    min-width: 0;
}

.dash-overview-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.375rem 0.75rem;
    padding: 0.5rem 0.875rem;
    border-top: 1px solid rgb(167 243 208 / 0.28);
    min-width: 0;
    text-decoration: none;
    color: inherit;
    background: transparent;
    transition: background-color 0.12s ease;
}

a.dash-overview-row:hover {
    background: rgb(236 253 245 / 0.55);
}

.dash-overview-row:first-child {
    border-top: none;
}

.dash-overview-row--order.is-action {
    background: rgb(255 251 235 / 0.55);
}

.dash-overview-row--order.is-action:hover {
    background: rgb(254 243 199 / 0.65);
}

.dash-overview-row--order {
    align-items: start;
}

.dash-overview-row-main {
    min-width: 0;
}

.dash-overview-row-title {
    margin: 0;
    font-size: var(--text-sm, 0.8125rem);
    font-weight: 600;
    color: rgb(30 41 59);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
    line-height: 1.3;
}

.dash-overview-row-qty {
    margin-left: 0.25rem;
    font-weight: 600;
    color: rgb(100 116 139);
}

.dash-overview-row-meta {
    margin: 0.125rem 0 0;
    font-size: 0.6875rem;
    color: rgb(100 116 139);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem 0.375rem;
    min-width: 0;
    line-height: 1.3;
}

.dash-overview-row-meta > span:not(.dash-stock-badge),
.dash-overview-row-meta > time {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
}

.dash-overview-row-side {
    display: grid;
    justify-items: end;
    gap: 0.1875rem;
    text-align: right;
    flex-shrink: 0;
    max-width: 100%;
}

.dash-overview-row-amount {
    margin: 0;
    font-size: var(--text-sm, 0.8125rem);
    font-weight: 600;
    color: rgb(4 120 87);
    white-space: nowrap;
    line-height: 1.3;
}

.dash-overview-row--product .dash-overview-row-amount {
    align-self: center;
}

.dash-overview-row-badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.25rem;
    max-width: 11.5rem;
}

.dash-overview-row .order-pay-badge,
.dash-overview-row .order-status-badge {
    font-size: 0.5625rem;
    padding: 0.125rem 0.375rem;
    line-height: 1.25;
    white-space: normal;
    text-align: center;
}

.dash-overview-row-next {
    font-size: 0.625rem;
    font-weight: 800;
    color: rgb(180 83 9);
    letter-spacing: 0.01em;
}

.dash-stock-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.0625rem 0.3125rem;
    border-radius: 9999px;
    font-size: 0.5625rem;
    font-weight: 600;
    line-height: 1.2;
    flex-shrink: 0;
}

.dash-stock--ok {
    background: rgb(209 250 229);
    color: rgb(4 120 87);
}

.dash-stock--low {
    background: rgb(254 243 199);
    color: rgb(180 83 9);
}

.dash-stock--out {
    background: rgb(255 228 230);
    color: rgb(190 18 60);
}

.dash-overview-empty {
    margin: 0;
    padding: 1rem 0.875rem;
    text-align: center;
    font-size: var(--text-sm, 0.8125rem);
    color: rgb(100 116 139);
}

.dash-overview-onboard .dash-overview-onboard-head {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0 0 1rem;
    margin-bottom: 0.875rem;
    border-bottom: 1px solid rgb(167 243 208 / 0.45);
    background: transparent;
    color: inherit;
}

.dash-overview-onboard-mark {
    display: grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border-radius: 0.55rem;
    background: var(--dash-icon-chip-bg);
    color: var(--dash-icon-chip-fg);
    flex-shrink: 0;
    margin-top: 0.1rem;
}

.dash-overview-onboard-mark-i {
    font-size: 1rem;
}

.dash-overview-onboard-lead {
    margin: 0.375rem 0 0;
    font-size: var(--text-sm);
    font-weight: 500;
    color: var(--dash-muted);
}

.dash-overview-steps {
    display: grid;
    gap: 0.625rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.dash-overview-step {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
    min-width: 0;
    padding: 0.9rem 0.95rem;
    border: 1px solid rgb(226 232 240);
    border-radius: 0.875rem;
    background: #fff;
    transition: border-color 0.15s ease, background-color 0.15s ease;
}

.dash-overview-step:hover {
    border-color: rgb(167 243 208);
    background: rgb(236 253 245 / 0.45);
}

.dash-overview-step-main {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    min-width: 0;
}

.dash-overview-step-num {
    display: grid;
    place-items: center;
    width: 1.625rem;
    height: 1.625rem;
    flex-shrink: 0;
    margin-top: 0.05rem;
    border-radius: 9999px;
    background: var(--dash-brand);
    color: #fff;
    font-size: 0.6875rem;
    font-weight: 800;
    line-height: 1;
}

.dash-overview-step-copy {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
    flex: 1 1 auto;
}

.dash-overview-step-title {
    margin: 0;
    font-size: 0.875rem;
    font-weight: 800;
    letter-spacing: -0.015em;
    color: var(--dash-ink);
    line-height: 1.3;
}

.dash-overview-step-desc {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1.45;
    color: rgb(71 85 105);
}

.dash-overview-step-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    align-self: stretch;
    min-height: 2.25rem;
    padding: 0.45rem 1rem;
    border-radius: 0.65rem;
    background: var(--dash-brand);
    color: #fff;
    font-size: 0.8125rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    transition: background-color 0.15s ease;
}

.dash-overview-step-cta:hover {
    background: var(--dash-brand-dark, rgb(4 120 87));
    color: #fff;
}

.dash-overview-step-cta-i {
    display: inline-flex;
    font-size: 0.875rem;
    line-height: 1;
    opacity: 0.9;
}

@media (max-width: 639px) {
    .dash-shell {
        width: 100%;
        max-width: 100%;
        gap: 0.75rem;
        padding-block: 0.75rem 1rem;
        padding-inline: max(0.625rem, env(safe-area-inset-left, 0px)) max(0.625rem, env(safe-area-inset-right, 0px));
    }

    .dash-topbar-inner {
        padding-inline: max(0.625rem, env(safe-area-inset-left, 0px)) max(0.625rem, env(safe-area-inset-right, 0px));
    }

    .dash-topbar-user-trigger {
        max-width: min(11.5rem, 48vw);
    }

    .dash-shell .dash-kpi-card {
        padding: 0.625rem 0.6875rem;
        min-height: 5.5rem;
        gap: 0.3125rem;
    }

    .dash-kpi-icon-i {
        font-size: 0.625rem;
    }

    .dash-kpi-head {
        gap: 0.3125rem;
    }

    .dash-shell .dash-panel-head {
        padding: 0.625rem 0.75rem;
        flex-wrap: wrap;
        gap: 0.375rem;
    }

    .dash-overview {
        gap: 0.7rem;
    }

    .dash-overview-hero {
        padding: 0.85rem 0.85rem 0.9rem;
        border-radius: 1.15rem;
    }

    .dash-overview-hero-main {
        flex-wrap: nowrap;
        align-items: center;
        gap: 0.55rem;
    }

    .dash-overview-hero-avatar {
        width: 2.65rem;
        height: 2.65rem;
        border-radius: 0.85rem;
    }

    .dash-overview-hero-badge {
        padding: 0.15rem 0.45rem;
    }

    .dash-overview-hero-lead {
        display: none;
    }

    .dash-overview-hero-greet {
        margin: 0.3rem 0 0;
        font-size: 0.6875rem;
        line-height: 1.3;
    }

    .dash-overview-hero-title {
        margin: 0.1rem 0 0;
        font-size: 1.05rem;
        line-height: 1.2;
    }

    .dash-overview-hero-cta {
        min-height: 2.25rem;
        padding: 0.4rem 0.7rem;
        border-radius: 0.75rem;
        font-size: 0.75rem;
        align-self: center;
    }

    .dash-overview-hero-cta-full {
        display: none;
    }

    .dash-overview-hero-cta-short {
        display: inline;
    }

    .dash-overview-quick {
        margin-top: 0.8rem;
        gap: 0.35rem;
    }

    .dash-overview-quick-item {
        padding: 0.45rem 0.25rem 0.4rem;
        border-radius: 0.8rem;
    }

    .dash-overview-quick-icon {
        width: 1.95rem;
        height: 1.95rem;
    }

    .dash-overview-store-link {
        grid-template-columns: auto minmax(0, 1fr);
        gap: 0.5rem;
        margin-top: 0.75rem;
        padding: 0.6rem 0.65rem;
    }

    .dash-overview-store-actions {
        grid-column: 1 / -1;
        width: 100%;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.35rem;
    }

    .dash-overview-store-actions .dash-overview-btn {
        width: 100%;
        min-height: 2.125rem;
    }

    .dash-overview-btn span {
        display: inline;
    }

    .dash-topbar-user-meta {
        display: none;
    }

    .dash-topbar-user-chevron {
        display: none;
    }

    .dash-kpi-value {
        font-size: 0.9375rem;
    }

    .dash-kpi-hint {
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .dash-cod-pipeline {
        padding: 0.6875rem 0.75rem;
    }

    .dash-cod-pipeline-link {
        width: 100%;
        text-align: right;
    }

    .dash-overview-row {
        padding: 0.5625rem 0.75rem;
        gap: 0.375rem 0.5rem;
    }

    .dash-overview-row-badges {
        max-width: 9.75rem;
    }

    .dash-overview-row-meta {
        font-size: 0.625rem;
    }

    .dash-overview-step {
        padding: 0.85rem 0.875rem;
        gap: 0.7rem;
    }

    .dash-overview-step-title {
        font-size: 0.8125rem;
    }

    .dash-overview-step-desc {
        font-size: 0.6875rem;
    }

    .dash-overview-step-cta {
        min-height: 2.125rem;
        font-size: 0.75rem;
    }
}

@media (min-width: 640px) {
    .dash-overview-step {
        flex-direction: row;
        align-items: center;
        gap: 1rem;
        padding: 0.95rem 1.1rem;
    }

    .dash-overview-step-main {
        flex: 1 1 auto;
        align-items: center;
    }

    .dash-overview-step-num {
        margin-top: 0;
    }

    .dash-overview-step-cta {
        align-self: center;
        flex: 0 0 auto;
        min-width: 6.5rem;
        min-height: 2.25rem;
    }
}

@media (min-width: 1024px) {
    .dash-shell {
        grid-template-columns: 15.75rem minmax(0, 1fr);
        gap: 1.25rem;
        padding-block: 1.25rem 1.75rem;
        align-items: start;
    }

    .dash-topbar-brand-sub {
        max-width: 16rem;
    }
}

.dash-main {
    min-width: 0;
}

.dash-sidebar {
    display: none;
}

@media (min-width: 1024px) {
    .dash-sidebar {
        display: block;
        position: sticky;
        top: calc(3.75rem + 0.75rem);
        align-self: start;
    }
}

.dash-sidebar-panel {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 0.75rem;
    border: var(--dash-chrome-border, 1px solid rgb(226 232 240 / 0.95));
    border-radius: var(--dash-surface-radius, 1.25rem);
    background: rgb(255 255 255 / 0.96);
    box-shadow: var(--dash-surface-shadow, none);
}

.dash-sidebar-nav {
    display: grid;
    gap: 0.2rem;
}

.dash-sidebar-link {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    padding: 0.625rem 0.75rem;
    border-radius: 0.75rem;
    font-size: 0.8125rem;
    font-weight: 700;
    color: rgb(71 85 105);
    text-decoration: none;
    transition: background-color 0.15s ease, color 0.15s ease, transform 0.15s ease;
}

.dash-sidebar-link-icon {
    display: grid;
    place-items: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 0.55rem;
    background: rgb(248 250 252);
    color: rgb(100 116 139);
    flex-shrink: 0;
}

.dash-sidebar-link:hover {
    background: rgb(236 253 245);
    color: rgb(4 120 87);
}

.dash-sidebar-link:hover .dash-sidebar-link-icon {
    background: rgb(209 250 229);
    color: rgb(4 120 87);
}

.dash-sidebar-link.is-active,
.dash-sidebar-link.is-spa-active {
    background: linear-gradient(135deg, rgb(5 150 105), rgb(4 120 87));
    color: #fff;
    box-shadow: 0 8px 18px rgb(5 150 105 / 0.22);
}

.dash-sidebar-link.is-active .dash-sidebar-link-icon,
.dash-sidebar-link.is-spa-active .dash-sidebar-link-icon {
    background: rgb(255 255 255 / 0.18);
    color: #fff;
}

.dash-sidebar-link.is-active .dash-nav-icon-i,
.dash-sidebar-link.is-spa-active .dash-nav-icon-i {
    color: inherit;
}

.dash-sidebar-link-label {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Floating app dock */
.spa-mobile-nav,
.dash-app-dock {
    position: fixed;
    inset-inline: 0.625rem;
    bottom: calc(0.5rem + env(safe-area-inset-bottom, 0));
    z-index: 50;
    border: 1px solid rgb(226 232 240 / 0.95);
    border-radius: 1.35rem;
    background: rgb(255 255 255 / 0.97);
    padding: 0.35rem 0.4rem;
    box-shadow: 0 14px 36px rgb(15 23 42 / 0.12);
}

@media (min-width: 1024px) {
    .spa-mobile-nav,
    .dash-app-dock {
        display: none;
    }
}

.spa-mobile-nav-inner {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.125rem;
    max-width: 36rem;
    margin-inline: auto;
}

.spa-mobile-nav-link {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.15rem;
    min-height: 3.15rem;
    padding: 0.3rem 0.15rem;
    border: none;
    border-radius: 1rem;
    background: transparent;
    font-family: inherit;
    font-size: 0.625rem;
    font-weight: 800;
    color: rgb(148 163 184);
    text-decoration: none;
    cursor: pointer;
    transition: color 0.15s ease, background-color 0.15s ease, transform 0.15s ease;
}

.spa-mobile-nav-icon {
    display: grid;
    place-items: center;
    width: 1.85rem;
    height: 1.85rem;
    border-radius: 0.7rem;
    transition: background-color 0.15s ease, color 0.15s ease, transform 0.15s ease;
}

.spa-mobile-nav-link:active {
    transform: scale(0.96);
}

.spa-mobile-nav-link.is-active,
.spa-mobile-nav-link.is-spa-active {
    color: rgb(4 120 87);
    background: rgb(236 253 245);
}

.spa-mobile-nav-link.is-active .spa-mobile-nav-icon,
.spa-mobile-nav-link.is-spa-active .spa-mobile-nav-icon {
    background: rgb(5 150 105);
    color: #fff;
    transform: translateY(-1px);
}

.spa-mobile-nav-link.is-active .dash-nav-icon-i,
.spa-mobile-nav-link.is-spa-active .dash-nav-icon-i {
    color: inherit;
}

.spa-mobile-nav-label {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.spa-mobile-nav-more {
    appearance: none;
}

/* Sheet Ã¢â‚¬Å“LainnyaÃ¢â‚¬Â */
.dash-more-layer {
    position: fixed;
    inset: 0;
    z-index: 60;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.dash-more-layer[hidden] {
    display: none !important;
}

.dash-more-backdrop {
    position: absolute;
    inset: 0;
    border: 0;
    background: rgb(15 23 42 / 0.42);
    cursor: pointer;
}

.dash-more-sheet {
    position: relative;
    z-index: 1;
    width: min(28rem, 100%);
    max-height: min(78vh, 36rem);
    overflow: auto;
    border-radius: 1.35rem 1.35rem 0 0;
    background: #fff;
    padding: 0.5rem 0.875rem calc(1rem + env(safe-area-inset-bottom, 0));
    box-shadow: 0 -12px 40px rgb(15 23 42 / 0.16);
    animation: dash-more-rise 0.22s ease-out;
}

@keyframes dash-more-rise {
    from {
        transform: translateY(1.25rem);
        opacity: 0.6;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dash-more-sheet {
        animation: none;
    }
}

.dash-more-handle {
    width: 2.5rem;
    height: 0.28rem;
    margin: 0.2rem auto 0.65rem;
    border-radius: 9999px;
    background: rgb(226 232 240);
}

.dash-more-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

.dash-more-kicker {
    margin: 0;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgb(4 120 87);
}

.dash-more-title {
    margin: 0.15rem 0 0;
    font-size: 1.0625rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: rgb(15 23 42);
}

.dash-more-close {
    display: grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border: 1px solid rgb(226 232 240);
    border-radius: 9999px;
    background: rgb(248 250 252);
    color: rgb(71 85 105);
    cursor: pointer;
}

.dash-more-close-i {
    font-size: 0.95rem;
}

.dash-more-grid {
    display: grid;
    gap: 0.4rem;
}

.dash-more-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.7rem;
    padding: 0.75rem 0.8rem;
    border-radius: 0.95rem;
    border: 1px solid rgb(241 245 249);
    background: rgb(248 250 252);
    color: rgb(30 41 59);
    text-decoration: none;
    transition: background-color 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

.dash-more-item:hover,
.dash-more-item:active {
    background: #fff;
    border-color: rgb(167 243 208);
    transform: translateY(-1px);
}

.dash-more-item.is-active {
    border-color: rgb(5 150 105);
    background: rgb(236 253 245);
}

.dash-more-item--accent {
    border-color: rgb(167 243 208);
    background: linear-gradient(135deg, rgb(236 253 245), #fff);
}

.dash-more-item-icon {
    display: grid;
    place-items: center;
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 0.8rem;
    background: #fff;
    color: rgb(4 120 87);
    border: 1px solid rgb(209 250 229);
}

.dash-more-item-icon-i {
    font-size: 1.15rem;
}

.dash-more-item-label {
    font-size: 0.875rem;
    font-weight: 800;
}

.dash-more-item-go {
    font-size: 0.9rem;
    color: rgb(148 163 184);
}

/* ===== Affiliates board ===== */
.affiliates-board {
    max-width: 100%;
    min-width: 0;
    overflow-x: clip;
}

.affiliates-header.catalog-header {
    overflow: visible;
}

.affiliates-header.catalog-header:not(.is-stuck) {
    margin-bottom: 1rem;
}

.catalog-header-row.affiliates-header-top {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.65rem;
    padding: 0;
}

.affiliates-header .catalog-header-title {
    font-size: 1.0625rem;
    font-weight: 700;
    line-height: 1.25;
}

.affiliates-header .catalog-header-sub {
    margin-top: 0.0625rem;
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 600;
    line-height: 1.35;
    color: rgb(100 116 139);
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
}

.affiliates-header-actions {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    flex-shrink: 0;
    min-width: 0;
}

.affiliates-header-stats {
    gap: 0.35rem 0.85rem;
}

.affiliates-header-tools.catalog-header-tools {
    min-width: 0;
}

.affiliates-header-meta {
    margin: 0;
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 600;
    color: rgb(100 116 139);
    line-height: 1.4;
}

.affiliates-header .catalog-header-search-input {
    min-height: 2.125rem;
    font-size: var(--text-sm, 0.8125rem);
}

.affiliates-add-panel {
    margin-bottom: 0.875rem;
    min-width: 0;
}

.affiliates-add-panel[hidden] {
    display: none;
}

.affiliates-add-panel-inner {
    border: 1px solid rgb(167 243 208 / 0.85);
    border-radius: var(--dash-surface-radius, var(--catalog-radius, 1rem));
    background: linear-gradient(180deg, rgb(236 253 245 / 0.55) 0%, #fff 42%);
    padding: 1rem 1.125rem;
    box-shadow: none;
    min-width: 0;
}

.affiliates-add-panel-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.875rem;
}

.affiliates-add-panel-title {
    margin: 0;
    font-size: var(--text-lg, 0.9375rem);
    font-weight: 800;
    color: rgb(15 23 42);
    line-height: 1.3;
    letter-spacing: -0.01em;
}

.affiliates-add-panel-sub {
    margin: 0.25rem 0 0;
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 600;
    color: rgb(100 116 139);
    line-height: 1.45;
    max-width: 36rem;
}

.affiliates-add-panel-close {
    display: grid;
    place-items: center;
    flex-shrink: 0;
    width: 2rem;
    height: 2rem;
    border: 1px solid rgb(226 232 240);
    border-radius: 0.5rem;
    background: #fff;
    color: rgb(100 116 139);
    cursor: pointer;
    transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease;
}

.affiliates-add-panel-close:hover {
    border-color: rgb(252 165 165);
    background: rgb(255 241 242);
    color: rgb(190 18 60);
}

.affiliates-add-form-grid {
    display: grid;
    gap: 0.75rem;
    min-width: 0;
}

.affiliates-add-form .form-field {
    min-width: 0;
}

.affiliates-add-form .form-label,
.affiliates-edit-form .form-label {
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 700;
}

.affiliates-add-form .form-control,
.affiliates-edit-form .form-control,
.affiliates-edit-form .form-disabled {
    font-size: var(--text-sm, 0.8125rem);
}

@media (min-width: 640px) {
    .affiliates-add-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .affiliates-add-field--wide {
        grid-column: span 2;
    }
}

.affiliates-add-form-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-top: 0.875rem;
    padding-top: 0.875rem;
    border-top: 1px solid rgb(226 232 240 / 0.85);
}

.affiliates-grid {
    display: grid;
    gap: 0.75rem;
    margin-top: 0.25rem;
    min-width: 0;
    max-width: 100%;
}

@media (min-width: 720px) {
    .affiliates-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.875rem;
    }
}

.affiliate-card {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    min-width: 0;
    max-width: 100%;
    padding: var(--dash-surface-pad);
    border: var(--dash-surface-border);
    border-radius: var(--dash-surface-radius);
    background: var(--dash-surface-bg-solid);
    box-shadow: var(--dash-surface-shadow);
    transition: border-color 0.15s ease, background-color 0.15s ease;
    box-sizing: border-box;
}

.affiliate-card:hover {
    border-color: rgb(167 243 208 / 0.95);
}

.affiliate-card--active {
    border-color: rgb(167 243 208 / 0.95);
    background: var(--dash-surface-bg);
}

.affiliate-card-top {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    min-width: 0;
}

.affiliate-card-avatar {
    display: grid;
    place-items: center;
    flex-shrink: 0;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 0.5rem;
    border: 0;
    background: var(--dash-icon-chip-bg);
    color: var(--dash-icon-chip-fg);
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1;
}

.affiliate-card-identity {
    flex: 1;
    min-width: 0;
}

.affiliate-card-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    min-width: 0;
}

.affiliate-card-name {
    margin: 0;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--text-md, 0.875rem);
    font-weight: 700;
    color: rgb(15 23 42);
    line-height: 1.3;
    letter-spacing: -0.01em;
}

.affiliate-card-pct {
    flex-shrink: 0;
    padding: 0.1875rem 0.4375rem;
    border-radius: 0.375rem;
    border: 1px solid rgb(167 243 208);
    background: rgb(236 253 245);
    color: rgb(4 120 87);
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    line-height: 1.2;
}

.affiliate-card-chips {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.375rem;
    margin-top: 0.375rem;
    min-width: 0;
}

.affiliate-card-code {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    padding: 0.125rem 0.4375rem;
    border-radius: 0.375rem;
    background: rgb(248 250 252);
    border: 1px solid rgb(226 232 240);
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 700;
    color: rgb(4 120 87);
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.affiliate-card-wa {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    min-width: 0;
    max-width: 100%;
    padding: 0.125rem 0.4375rem;
    border-radius: 0.375rem;
    border: 1px solid rgb(187 247 208);
    background: #fff;
    color: rgb(4 120 87);
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 700;
    line-height: 1.3;
    text-decoration: none;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

.affiliate-card-wa .ui-icon {
    font-size: 0.75rem;
    flex-shrink: 0;
}

.affiliate-card-wa:hover {
    background: rgb(236 253 245);
    border-color: rgb(52 211 153);
}

.affiliate-card-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
    min-width: 0;
}

.affiliate-card-metric {
    min-width: 0;
    padding: 0.625rem 0.6875rem;
    border-radius: var(--dash-surface-radius-sm);
    border: var(--dash-nest-border);
    background: var(--dash-nest-bg);
}

.affiliate-card-metric-label {
    display: block;
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--dash-kicker);
    line-height: 1.2;
}

.affiliate-card-metric-value {
    display: block;
    margin-top: 0.1875rem;
    font-size: var(--text-sm, 0.8125rem);
    font-weight: 700;
    color: var(--dash-ink);
    font-variant-numeric: tabular-nums;
    line-height: 1.25;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.affiliate-card-metric-value--accent {
    color: rgb(4 120 87);
}

.affiliate-card-link {
    display: flex;
    align-items: stretch;
    gap: 0.375rem;
    min-width: 0;
}

.affiliate-card-link-row {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    min-width: 0;
    width: 100%;
}

.affiliate-card-link-input {
    flex: 1;
    min-width: 0;
    width: 100%;
    padding: 0.5rem 0.625rem;
    border: 1px solid rgb(226 232 240);
    border-radius: 0.5rem;
    background: rgb(248 250 252);
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 600;
    color: rgb(71 85 105);
    line-height: 1.35;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.affiliate-card-copy {
    display: grid;
    place-items: center;
    flex-shrink: 0;
    width: 2.25rem;
    min-height: 2.25rem;
    border: 1px solid rgb(226 232 240);
    border-radius: 0.5rem;
    background: #fff;
    color: rgb(71 85 105);
    cursor: pointer;
    transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease;
}

.affiliate-card-copy:hover {
    border-color: rgb(167 243 208);
    background: rgb(236 253 245);
    color: rgb(4 120 87);
}

.affiliate-card-copy .ui-icon {
    font-size: 0.875rem;
}

.affiliate-card-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.375rem;
    margin-top: auto;
    padding-top: 0.125rem;
    min-width: 0;
}

.affiliate-card-delete {
    margin: 0;
    min-width: 0;
}

.affiliate-card-delete .affiliate-card-action {
    width: 100%;
}

.affiliate-card-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.3125rem;
    min-height: 2rem;
    width: 100%;
    padding: 0.3125rem 0.5rem;
    border: 1px solid rgb(226 232 240);
    border-radius: 0.5rem;
    background: #fff;
    color: rgb(51 65 85);
    font-family: inherit;
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
    transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease;
    box-sizing: border-box;
}

.affiliate-card-action .ui-icon {
    font-size: 0.8125rem;
    flex-shrink: 0;
}

.affiliate-card-action:hover {
    border-color: rgb(167 243 208);
    background: rgb(236 253 245);
    color: rgb(4 120 87);
}

.affiliate-card-action--danger {
    color: rgb(190 18 60);
    border-color: rgb(254 205 211);
    background: rgb(255 241 242);
}

.affiliate-card-action--danger:hover {
    border-color: rgb(251 113 133);
    background: rgb(255 228 230);
    color: rgb(159 18 57);
}

.affiliates-empty {
    text-align: center;
}

.affiliates-empty-filter {
    margin-top: 0.75rem;
}

.affiliates-procedure {
    width: 100%;
    max-width: 22rem;
    margin: 1rem auto 0;
    padding: 0.75rem 0.85rem;
    border-radius: 0.75rem;
    border: 1px solid rgb(226 232 240);
    background: rgb(248 250 252);
    text-align: left;
    box-sizing: border-box;
}

.affiliates-procedure-title {
    margin: 0;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    color: rgb(71 85 105);
    line-height: 1.3;
}

.affiliates-procedure-list {
    list-style: none;
    display: grid;
    gap: 0.45rem;
    margin: 0.55rem 0 0;
    padding: 0.55rem 0 0;
    border-top: 1px solid rgb(226 232 240 / 0.9);
    font-size: 0.6875rem;
    font-weight: 500;
    color: rgb(71 85 105);
    line-height: 1.4;
}

.affiliates-procedure-list li {
    display: grid;
    grid-template-columns: 3.5rem minmax(0, 1fr);
    gap: 0.4rem 0.55rem;
    align-items: start;
    margin: 0;
    padding: 0;
}

.affiliates-procedure-label {
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: rgb(100 116 139);
    line-height: 1.4;
    padding-top: 0.05rem;
}

.affiliates-procedure-text {
    min-width: 0;
    color: rgb(51 65 85);
}

.affiliates-procedure-link {
    align-items: center;
}

.affiliates-procedure-code,
.affiliates-procedure-list code {
    display: block;
    min-width: 0;
    margin: 0;
    padding: 0.3rem 0.45rem;
    border-radius: 0.4rem;
    border: 1px solid rgb(167 243 208 / 0.7);
    background: rgb(236 253 245 / 0.65);
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.625rem;
    font-weight: 600;
    line-height: 1.35;
    word-break: break-all;
    color: rgb(4 120 87);
}

.affiliates-edit {
    max-width: 100%;
    min-width: 0;
}

.affiliates-edit-header .catalog-header-title {
    font-size: var(--text-lg, 0.9375rem);
}

.affiliates-edit-header .catalog-header-sub {
    font-size: var(--text-xs, 0.6875rem);
    white-space: normal;
}

.affiliates-edit-body {
    border: 1px solid rgb(226 232 240);
    border-radius: var(--dash-surface-radius, 1rem);
    background: #fff;
    box-shadow: none;
    padding: 1rem 1.125rem;
    min-width: 0;
}

.affiliates-edit-grid {
    display: grid;
    gap: 0.875rem;
    min-width: 0;
}

@media (min-width: 640px) {
    .affiliates-edit-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.affiliates-edit-link {
    display: grid;
    gap: 0.375rem;
    margin-top: 1rem;
    min-width: 0;
}

.affiliates-edit-link .form-label {
    margin: 0;
}

.affiliates-edit-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid rgb(241 245 249);
}

@media (max-width: 639px) {
    .catalog-header-row.affiliates-header-top {
        padding: 0;
        gap: 0.45rem;
    }

    .affiliates-header .catalog-header-avatar {
        width: 2.125rem;
        height: 2.125rem;
        font-size: 0.625rem;
    }

    .affiliates-header .catalog-header-btn-text {
        display: none;
    }

    .affiliates-header .catalog-header-btn--accent {
        width: 2rem;
        min-width: 2rem;
        min-height: 2rem;
        padding: 0;
    }

    .affiliates-header-stats {
        overflow-x: auto;
        flex-wrap: nowrap;
        scrollbar-width: none;
    }

    .affiliates-header-stats::-webkit-scrollbar {
        display: none;
    }

    .affiliates-header-tools.catalog-header-tools {
        min-width: 0;
    }

    .affiliates-header-meta {
        font-size: 0.625rem;
    }

    .affiliates-header-meta > span:last-child {
        display: none;
    }

    .affiliates-add-panel-inner {
        padding: 0.875rem;
    }

    .affiliate-card {
        padding: 0.75rem;
        gap: 0.625rem;
    }

    .affiliate-card-avatar {
        width: 2.25rem;
        height: 2.25rem;
    }

    .affiliate-card-action .ui-btn-label {
        display: none;
    }

    .affiliate-card-action .ui-icon,
    .affiliate-card-action .ui-emoji-icon,
    .affiliate-card-action .ui-brand-icon {
        display: inline-flex;
    }

    .affiliate-card-action {
        min-height: 2.125rem;
        padding-inline: 0.375rem;
    }

    .affiliates-edit-body {
        padding: 0.875rem;
    }

    .affiliates-edit-actions {
        flex-direction: column-reverse;
        align-items: stretch;
    }

    .affiliates-edit-actions .form-btn,
    .affiliates-edit-actions a.form-btn {
        width: 100%;
        justify-content: center;
    }
}

/* ===== Finance board (Saldo + Pencairan) Ã¢â‚¬â€ selaras catalog-header ===== */
.balance-board,
.finance-board {
    max-width: 100%;
    min-width: 0;
    overflow-x: clip;
    display: grid;
    gap: 0.75rem;
}

.balance-header.catalog-header {
    --balance-header-gap: 0.55rem;
    --balance-ctrl: 2.125rem;
    --balance-pad: 0.7rem;
    overflow: visible;
}

.balance-header.catalog-header:not(.is-stuck) {
    margin-bottom: 0.75rem;
    padding: var(--balance-pad);
}

.catalog-header-row.balance-header-top {
    display: grid;
    grid-template-columns: var(--balance-ctrl) minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 0.55rem;
    row-gap: 0;
    padding: 0;
    min-height: var(--balance-ctrl);
}

.balance-header-top .catalog-header-back {
    box-sizing: border-box;
    width: var(--balance-ctrl);
    height: var(--balance-ctrl);
    min-width: var(--balance-ctrl);
    border-radius: 0.6rem;
}

.balance-header-top .catalog-header-brand {
    min-width: 0;
    align-self: center;
}

.balance-header-top .catalog-header-info {
    display: grid;
    gap: 0.1rem;
    min-width: 0;
}

.balance-header .catalog-header-title {
    font-size: 1.0625rem;
    line-height: 1.2;
    margin: 0;
}

.balance-header-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    flex-shrink: 0;
    min-width: 0;
}

.balance-header-actions .catalog-header-menu {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-width: 0;
}

.balance-header .catalog-header-btn {
    box-sizing: border-box;
    width: auto;
    min-width: var(--balance-ctrl);
    height: var(--balance-ctrl);
    min-height: var(--balance-ctrl);
    max-height: var(--balance-ctrl);
    padding: 0 0.65rem;
    border-radius: 0.6rem;
    box-shadow: none;
    transform: none;
    flex-shrink: 0;
}

.balance-header .catalog-header-btn--accent {
    box-shadow: 0 1px 3px rgb(4 120 87 / 0.18);
}

.balance-header .catalog-header-btn--accent:hover {
    transform: none;
    box-shadow: 0 2px 6px rgb(4 120 87 / 0.2);
}

.balance-header .catalog-header-btn .ui-icon,
.balance-header .catalog-header-back .ui-icon {
    font-size: 0.95rem;
    width: 1rem;
    height: 1rem;
}

.balance-header .ui-svg-icon,
.balance-header .ui-svg-icon svg {
    width: 1rem;
    height: 1rem;
}

.balance-header .catalog-header-sub,
.balance-header-sub {
    margin: 0;
    font-size: 0.6875rem;
    line-height: 1.3;
    white-space: normal;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.05rem 0.35rem;
    overflow: visible;
    text-overflow: unset;
}

.balance-header-sub-shop,
.balance-header-sub-amount {
    min-width: 0;
}

.balance-header-sub-amount {
    color: rgb(100 116 139);
}

.balance-header-inline-amount {
    font-weight: 700;
    color: rgb(4 120 87);
    font-variant-numeric: tabular-nums;
}

/* Stats + rekening: satu sistem padding & jarak */
.balance-header-stats.catalog-header-stats,
.balance-header-meta.catalog-header-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.75rem;
    margin-top: var(--balance-header-gap);
    padding: 0.55rem 0.7rem;
    border: 1px solid rgb(226 232 240 / 0.9);
    border-radius: 0.7rem;
    background: rgb(255 255 255 / 0.78);
}

.balance-header-stats.catalog-header-stats {
    justify-content: space-between;
}

.balance-header-meta.catalog-header-meta {
    display: block;
    font-size: 0.75rem;
    color: var(--ch-muted, rgb(100 116 139));
}

.balance-header-stats .catalog-stat-chip {
    font-size: 0.6875rem;
    gap: 0.25rem;
    flex: 1 1 auto;
    min-width: 0;
    justify-content: center;
}

.balance-header-stats .catalog-stat-chip:first-child {
    justify-content: flex-start;
}

.balance-header-stats .catalog-stat-chip:last-child {
    justify-content: flex-end;
}

.balance-header-bank {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.6875rem;
    font-weight: 600;
    color: rgb(71 85 105);
    line-height: 1.4;
}

.balance-header-bank .ui-icon {
    flex-shrink: 0;
    margin-top: 0;
    font-size: 0.9rem;
    width: 1rem;
    height: 1rem;
    color: rgb(4 120 87);
}

.balance-header-bank .ui-svg-icon,
.balance-header-bank .ui-svg-icon svg {
    width: 1rem;
    height: 1rem;
}

.balance-header-bank a {
    color: rgb(4 120 87);
    font-weight: 800;
    text-decoration: none;
}

.balance-header-bank a:hover {
    text-decoration: underline;
}

.balance-header-bank-note {
    color: rgb(148 163 184);
    font-weight: 500;
}

/* ---- Pencairan saldo penjual ---- */
.seller-wd-page {
    min-width: 0;
}

.seller-wd-page .balance-header-meta.seller-wd-header-meta {
    display: grid;
    gap: 0.45rem;
    margin-top: var(--balance-header-gap, 0.55rem);
    padding: 0.6rem 0.75rem;
}

.seller-wd-balance-line {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.35rem 0.75rem;
    margin: 0;
    padding-bottom: 0.45rem;
    border-bottom: 1px solid rgb(226 232 240 / 0.85);
}

.seller-wd-balance-label {
    font-size: 0.6875rem;
    font-weight: 600;
    color: rgb(100 116 139);
    line-height: 1.3;
}

.seller-wd-balance-amount {
    font-size: 0.9375rem;
    font-weight: 800;
    color: rgb(4 120 87);
    font-variant-numeric: tabular-nums;
    line-height: 1.2;
}

.seller-wd-header-meta .balance-header-bank {
    margin: 0;
    align-items: center;
    gap: 0.45rem;
}

.seller-wd-banners {
    display: grid;
    gap: 0.5rem;
}

.seller-wd-banner {
    margin: 0;
    padding: 0.7rem 0.85rem;
    border-radius: 0.75rem;
    border: 1px solid rgb(253 230 138);
    background: rgb(254 252 232);
    color: rgb(120 53 15);
    font-size: var(--text-sm, 0.8125rem);
    font-weight: 600;
    line-height: 1.45;
}

.seller-wd-banner a {
    color: rgb(4 120 87);
    font-weight: 800;
}

.seller-wd-panel {
    border: var(--dash-surface-border);
    border-radius: var(--dash-surface-radius);
    background: var(--dash-surface-bg-solid);
    padding: var(--dash-surface-pad);
    min-width: 0;
    box-shadow: var(--dash-surface-shadow);
}

.seller-wd-panel-head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem 1rem;
    margin-bottom: 0.9rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid rgb(167 243 208 / 0.45);
}

.seller-wd-panel-title {
    margin: 0.25rem 0 0;
    font-size: var(--text-xl);
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.3;
    color: var(--dash-ink);
}

.seller-wd-panel-desc {
    margin: 0.375rem 0 0;
    font-size: var(--text-sm);
    font-weight: 500;
    color: var(--dash-muted);
    line-height: 1.5;
}

.seller-wd-steps {
    margin: 0;
}

.seller-wd-bank-card {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    border: 1px solid rgb(226 232 240);
    border-radius: 0.75rem;
    background: #fff;
    padding: 0.65rem 0.75rem;
    margin-bottom: 0.85rem;
}

.seller-wd-bank-card.is-verified {
    border-color: rgb(167 243 208 / 0.85);
    background: rgb(255 255 255);
}

.seller-wd-bank-logo {
    display: grid;
    place-items: center;
    width: 2.5rem;
    height: 2.5rem;
    flex: 0 0 auto;
    border-radius: 0.6rem;
    border: 1px solid rgb(226 232 240);
    background: rgb(248 250 252);
    overflow: hidden;
    color: rgb(4 120 87);
}

.seller-wd-bank-card.is-verified .seller-wd-bank-logo {
    border-color: rgb(167 243 208 / 0.9);
    background: #fff;
}

.seller-wd-bank-logo img {
    width: 1.75rem;
    height: 1.75rem;
    object-fit: contain;
}

.seller-wd-bank-logo-fallback {
    width: 1.15rem;
    height: 1.15rem;
}

.seller-wd-bank-info {
    min-width: 0;
    flex: 1 1 auto;
    display: grid;
    gap: 0.2rem;
}

.seller-wd-bank-title-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.5rem;
    min-width: 0;
}

.seller-wd-bank-name {
    margin: 0;
    min-width: 0;
    font-size: 0.875rem;
    font-weight: 700;
    color: rgb(15 23 42);
    line-height: 1.25;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.seller-wd-bank-badge {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    min-height: 1.2rem;
    padding: 0.1rem 0.4rem;
    border-radius: 9999px;
    border: 1px solid rgb(167 243 208 / 0.85);
    background: rgb(236 253 245);
    font-size: 0.5625rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    color: rgb(4 120 87);
    line-height: 1;
}

.seller-wd-bank-badge.is-warn {
    border-color: rgb(253 230 138);
    background: rgb(254 252 232);
    color: rgb(180 83 9);
}

.seller-wd-bank-meta {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.2rem 0.45rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: rgb(100 116 139);
    line-height: 1.35;
}

.seller-wd-bank-meta a {
    color: rgb(4 120 87);
    font-weight: 700;
    text-decoration: none;
}

.seller-wd-bank-meta a:hover {
    text-decoration: underline;
}

.seller-wd-bank-meta-bank,
.seller-wd-bank-meta-acc {
    min-width: 0;
}

.seller-wd-bank-meta-acc {
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.02em;
    color: rgb(51 65 85);
}

.seller-wd-history-count {
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 700;
    color: rgb(100 116 139);
    white-space: nowrap;
}

.seller-wd-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.seller-wd-table {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--text-sm, 0.8125rem);
}

.seller-wd-table th {
    text-align: left;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgb(100 116 139);
    padding: 0.45rem 0.5rem;
    border-bottom: 1px solid rgb(226 232 240);
}

.seller-wd-table td {
    padding: 0.7rem 0.5rem;
    border-bottom: 1px solid rgb(241 245 249);
    color: rgb(30 41 59);
    vertical-align: top;
}

.seller-wd-muted {
    color: rgb(100 116 139);
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 600;
}

.seller-wd-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.15rem 0.45rem;
    border-radius: 999px;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    background: rgb(241 245 249);
    color: rgb(71 85 105);
}

.seller-wd-badge.is-ok {
    background: rgb(220 252 231);
    color: rgb(22 101 52);
}

.seller-wd-badge.is-warn {
    background: rgb(254 243 199);
    color: rgb(146 64 14);
}

.seller-wd-link {
    color: rgb(4 120 87);
    font-weight: 800;
    text-decoration: none;
}

.seller-wd-link:hover {
    text-decoration: underline;
}

.seller-wd-empty {
    text-align: center;
    padding: 1.25rem 0.75rem;
}

.seller-wd-empty-title {
    margin: 0;
    font-weight: 800;
    color: rgb(15 23 42);
}

.seller-wd-empty-desc {
    margin: 0.25rem 0 0;
    color: rgb(100 116 139);
    font-size: var(--text-sm, 0.8125rem);
}

.seller-wd-slip-card {
    border: 1px solid rgb(226 232 240);
    border-radius: var(--dash-surface-radius, 1rem);
    background: #fff;
    padding: 1.1rem 1.15rem;
}

.profile-pin-block {
    border-top: 1px solid rgb(226 232 240);
    padding-top: 0.25rem;
}

@media (max-width: 720px) {
    .seller-wd-table thead {
        display: none;
    }

    .seller-wd-table,
    .seller-wd-table tbody,
    .seller-wd-table tr,
    .seller-wd-table td {
        display: block;
        width: 100%;
    }

    .seller-wd-table tr {
        border: 1px solid rgb(226 232 240);
        border-radius: 0.75rem;
        padding: 0.65rem 0.75rem;
        margin-bottom: 0.55rem;
        background: #fff;
    }

    .seller-wd-table td {
        border: 0;
        padding: 0.25rem 0;
        display: grid;
        grid-template-columns: 7.5rem 1fr;
        gap: 0.35rem;
    }

    .seller-wd-table td::before {
        content: attr(data-label);
        font-size: 0.625rem;
        font-weight: 800;
        letter-spacing: 0.03em;
        text-transform: uppercase;
        color: rgb(100 116 139);
    }

    .seller-wd-empty-row td {
        display: block;
    }

    .seller-wd-empty-row td::before {
        content: none;
    }
}

/* ---- Tambah saldo (QRIS / VA Close) ---- */
.seller-topup-page {
    min-width: 0;
}

.seller-topup-panel {
    margin-top: 0.75rem;
}

.seller-topup-form {
    display: grid;
    gap: 1rem;
}

.seller-topup-amount-wrap {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    border: 1px solid rgb(203 213 225);
    border-radius: 0.75rem;
    background: #fff;
    padding: 0 0.85rem;
}

.seller-topup-amount-prefix {
    font-weight: 800;
    color: rgb(71 85 105);
    font-size: 0.95rem;
}

.seller-topup-amount-wrap .seller-topup-amount {
    border: 0;
    box-shadow: none;
    padding-left: 0;
    font-size: 1.15rem;
    font-weight: 800;
    letter-spacing: 0.01em;
}

.seller-topup-amount-wrap:focus-within {
    border-color: rgb(16 185 129);
    box-shadow: 0 0 0 3px rgb(167 243 208 / 0.55);
}

.seller-topup-methods {
    margin: 0;
    padding: 0;
    border: 0;
    min-width: 0;
}

.seller-topup-methods legend {
    margin-bottom: 0.45rem;
}

.seller-topup-method-grid {
    display: grid;
    gap: 0.55rem;
}

@media (min-width: 640px) {
    .seller-topup-method-grid {
        grid-template-columns: 1fr 1fr;
    }
}

.seller-topup-method {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    margin: 0;
    padding: 0.8rem 0.9rem;
    border: 1px solid rgb(226 232 240);
    border-radius: 0.85rem;
    background: rgb(248 250 252);
    cursor: pointer;
    transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.seller-topup-method.is-selected {
    border-color: rgb(16 185 129);
    background: rgb(236 253 245);
    box-shadow: 0 0 0 3px rgb(167 243 208 / 0.35);
}

.seller-topup-method.is-disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

.seller-topup-method-input {
    margin-top: 0.2rem;
    accent-color: rgb(5 150 105);
}

.seller-topup-method-body {
    display: grid;
    gap: 0.15rem;
    min-width: 0;
}

.seller-topup-method-body strong {
    font-size: 0.95rem;
    color: rgb(15 23 42);
}

.seller-topup-method-body span {
    font-size: 0.78rem;
    color: rgb(100 116 139);
    line-height: 1.4;
}

.seller-topup-va-banks {
    display: grid;
    gap: 0.45rem;
}

.seller-topup-va-banks.hidden {
    display: none;
}

.seller-topup-va-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
}

@media (min-width: 720px) {
    .seller-topup-va-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.seller-topup-va {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
    padding: 0.65rem 0.7rem;
    border: 1px solid rgb(226 232 240);
    border-radius: 0.75rem;
    background: #fff;
    cursor: pointer;
}

.seller-topup-va.is-selected {
    border-color: rgb(16 185 129);
    background: rgb(236 253 245);
}

.seller-topup-va-input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.seller-topup-va-logo {
    width: 28px;
    height: 28px;
    object-fit: contain;
    flex-shrink: 0;
}

.seller-topup-va-fallback {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.seller-topup-va-name {
    font-size: 0.82rem;
    font-weight: 700;
    color: rgb(30 41 59);
    line-height: 1.25;
}

.seller-topup-quote {
    display: grid;
    gap: 0.4rem;
    padding: 0.85rem 0.95rem;
    border-radius: 0.85rem;
    border: 1px solid rgb(167 243 208 / 0.7);
    background: linear-gradient(180deg, rgb(236 253 245), rgb(240 253 250));
}

.seller-topup-quote-row,
.seller-topup-quote-total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    font-size: 0.875rem;
    color: rgb(51 65 85);
}

.seller-topup-quote-total {
    margin-top: 0.2rem;
    padding-top: 0.55rem;
    border-top: 1px dashed rgb(167 243 208);
    font-weight: 700;
    color: rgb(15 23 42);
}

.seller-topup-quote-total strong {
    font-size: 1.05rem;
    color: rgb(4 120 87);
}

.seller-topup-msg {
    margin: 0;
    padding: 0.65rem 0.8rem;
    border-radius: 0.7rem;
    font-size: 0.85rem;
    font-weight: 600;
    background: rgb(254 252 232);
    border: 1px solid rgb(253 230 138);
    color: rgb(120 53 15);
}

.seller-topup-msg.is-error {
    background: rgb(255 241 242);
    border-color: rgb(254 205 211);
    color: rgb(159 18 57);
}

.seller-topup-actions {
    display: grid;
    gap: 0.55rem;
}

.seller-topup-lock-hint {
    margin: 0;
    text-align: center;
}

.seller-topup-active-banner strong {
    font-weight: 800;
}

.balance-panel {
    border: var(--dash-surface-border);
    border-radius: var(--dash-surface-radius);
    background: var(--dash-surface-bg-solid);
    padding: var(--dash-surface-pad);
    min-width: 0;
    box-shadow: var(--dash-surface-shadow);
}

.balance-panel-head {
    margin-bottom: 0.875rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid rgb(167 243 208 / 0.45);
}

.balance-panel-title {
    margin: 0.25rem 0 0;
    font-size: var(--text-xl);
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--dash-ink);
    line-height: 1.3;
}

.balance-panel-desc {
    margin: 0.375rem 0 0;
    font-size: var(--text-sm);
    font-weight: 500;
    line-height: 1.5;
    color: var(--dash-muted);
    line-height: 1.45;
}

.balance-filters {
    --balance-control-h: 2.5rem;
    --balance-control-radius: 0.75rem;
    --balance-control-pad-x: 0.75rem;
    --balance-control-icon: 1.05rem;
    margin-bottom: 0.875rem;
    padding: 0.875rem;
    border-radius: 0.75rem;
    border: 1px solid rgb(241 245 249);
    background: rgb(248 250 252);
}

.balance-filters-grid {
    display: grid;
    gap: 0.7rem;
    min-width: 0;
}

@media (min-width: 900px) {
    .balance-filters-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
        align-items: end;
    }
}

.balance-filters .form-field {
    display: grid;
    gap: 0.35rem;
    margin: 0;
    min-width: 0;
}

.balance-filters .form-label {
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 700;
    margin-bottom: 0;
    color: rgb(51 65 85);
}

.balance-filters .form-control,
.balance-filters .form-select,
.balance-filters .smart-select-trigger,
.balance-filters-actions .form-btn {
    box-sizing: border-box;
    min-height: var(--balance-control-h);
    height: var(--balance-control-h);
    border-radius: var(--balance-control-radius);
    font-size: var(--text-sm, 0.8125rem);
    line-height: 1.25;
}

.balance-filters .form-control,
.balance-filters .form-select {
    padding-block: 0;
    padding-inline: var(--balance-control-pad-x);
    width: 100%;
    color-scheme: light;
}

.balance-filters .form-select {
    appearance: none;
    padding-right: 2.35rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%2364748b'%3E%3Cpath fill-rule='evenodd' d='M5.23 7.21a.75.75 0 011.06.02L10 10.94l3.71-3.71a.75.75 0 111.06 1.06l-4.24 4.25a.75.75 0 01-1.06 0L5.21 8.29a.75.75 0 01.02-1.08z' clip-rule='evenodd'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.7rem center;
    background-size: 1.1rem;
}

/* Date: satu ikon kalender kustom; native indicator disembunyikan tapi tetap bisa diklik */
.balance-date-field {
    position: relative;
    display: block;
    min-width: 0;
}

.balance-date-field .form-control {
    display: block;
    position: relative;
    z-index: 0;
    padding-right: 2.6rem;
    line-height: calc(var(--balance-control-h) - 2px);
    -webkit-appearance: none;
    appearance: none;
}

.balance-date-field-icon {
    position: absolute;
    right: 0.7rem;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
    display: grid;
    place-items: center;
    width: var(--balance-control-icon);
    height: var(--balance-control-icon);
    color: rgb(100 116 139);
    pointer-events: none;
}

.balance-date-field-icon .ui-icon,
.balance-date-field-icon .ui-svg-icon,
.balance-date-field-icon .ui-svg-icon svg {
    display: block;
    width: var(--balance-control-icon);
    height: var(--balance-control-icon);
    font-size: var(--balance-control-icon);
}

.balance-date-field input[type="date"]::-webkit-calendar-picker-indicator {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    color: transparent;
    background: transparent;
    opacity: 0;
    cursor: pointer;
    z-index: 3;
}

.balance-date-field input[type="date"]::-webkit-inner-spin-button,
.balance-date-field input[type="date"]::-webkit-clear-button {
    -webkit-appearance: none;
    display: none;
    margin: 0;
}

.balance-date-field input[type="date"]::-webkit-datetime-edit,
.balance-date-field input[type="date"]::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
    display: flex;
    align-items: center;
    height: 100%;
}

.balance-date-field input[type="date"]::-webkit-date-and-time-value {
    text-align: left;
    min-height: 1.2em;
}

.balance-filters .smart-select {
    display: block;
    width: 100%;
    min-width: 0;
}

.balance-filters .smart-select-trigger {
    width: 100%;
    min-height: var(--balance-control-h);
    height: var(--balance-control-h);
    padding: 0 var(--balance-control-pad-x);
    gap: 0.5rem;
    border-radius: var(--balance-control-radius);
    background: #fff;
    align-items: center;
}

.balance-filters .smart-select-value {
    min-width: 0;
    flex: 1;
    align-items: center;
    gap: 0.4rem;
}

.balance-filters .smart-select-value-label,
.balance-filters .smart-select-placeholder {
    font-size: var(--text-sm, 0.8125rem);
    font-weight: 500;
    line-height: 1.25;
}

.balance-filters .smart-select-chevron {
    width: 1.1rem;
    height: 1.1rem;
    color: rgb(100 116 139);
}

.balance-filters .smart-select-chevron .ui-emoji-icon {
    display: none;
}

.balance-filters .smart-select-chevron::before {
    content: "";
    display: block;
    width: 1.05rem;
    height: 1.05rem;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill-rule='evenodd' d='M5.23 7.21a.75.75 0 011.06.02L10 10.94l3.71-3.71a.75.75 0 111.06 1.06l-4.24 4.25a.75.75 0 01-1.06 0L5.21 8.29a.75.75 0 01.02-1.08z' clip-rule='evenodd'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill-rule='evenodd' d='M5.23 7.21a.75.75 0 011.06.02L10 10.94l3.71-3.71a.75.75 0 111.06 1.06l-4.24 4.25a.75.75 0 01-1.06 0L5.21 8.29a.75.75 0 01.02-1.08z' clip-rule='evenodd'/%3E%3C/svg%3E") center / contain no-repeat;
}

.balance-filters .smart-select-value-icon,
.balance-filters .smart-select-option-icon {
    width: 1.35rem;
    height: 1.35rem;
    border-radius: 0.35rem;
    font-size: 0.8rem;
}

.balance-filters-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

.balance-filters-actions .form-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    flex: 0 0 auto;
    padding-inline: 1rem;
    font-weight: 700;
}

.balance-filters-actions .form-btn-sm {
    min-height: var(--balance-control-h);
    height: var(--balance-control-h);
    padding-inline: 1rem;
    font-size: var(--text-sm, 0.8125rem);
    border-radius: var(--balance-control-radius);
}

.balance-filters-actions .form-btn-icon,
.balance-filters-actions .ui-svg-icon,
.balance-filters-actions .ui-svg-icon svg {
    width: 1rem;
    height: 1rem;
    font-size: 1rem;
}

.balance-filters-summary {
    margin: 0.625rem 0 0;
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 600;
    color: rgb(71 85 105);
    line-height: 1.4;
}

.balance-table-wrap {
    width: 100%;
    overflow-x: auto;
    border: 1px solid rgb(226 232 240);
    border-radius: 0.75rem;
    background: #fff;
    -webkit-overflow-scrolling: touch;
}

.balance-table {
    width: 100%;
    min-width: 36rem;
    border-collapse: collapse;
    font-size: var(--text-sm, 0.8125rem);
}

.balance-table thead th {
    padding: 0.625rem 0.875rem;
    border-bottom: 1px solid rgb(226 232 240);
    background: rgb(248 250 252);
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgb(100 116 139);
    text-align: left;
    white-space: nowrap;
}

.balance-table-num {
    text-align: right !important;
}

.balance-table tbody td {
    padding: 0.75rem 0.875rem;
    border-bottom: 1px solid rgb(241 245 249);
    vertical-align: top;
    color: rgb(51 65 85);
}

.balance-table tbody tr:last-child td {
    border-bottom: none;
}

.balance-table tbody tr:hover {
    background: rgb(248 250 252 / 0.85);
}

.balance-td-date {
    width: 8.5rem;
    white-space: nowrap;
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 600;
    color: rgb(71 85 105);
    font-variant-numeric: tabular-nums;
}

.balance-desc-main {
    margin: 0;
    font-size: var(--text-sm, 0.8125rem);
    font-weight: 600;
    color: rgb(15 23 42);
    line-height: 1.4;
}

.balance-desc-meta {
    margin: 0.25rem 0 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem 0.375rem;
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 600;
    color: rgb(148 163 184);
    line-height: 1.35;
}

.balance-desc-cat {
    color: rgb(100 116 139);
}

.balance-td-dir {
    width: 7.5rem;
}

.balance-dir-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.1875rem 0.5rem;
    border-radius: 9999px;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    line-height: 1.2;
}

.balance-dir-badge--in {
    background: rgb(220 252 231);
    color: rgb(4 120 87);
}

.balance-dir-badge--out {
    background: rgb(255 228 230);
    color: rgb(190 18 60);
}

.balance-dir-badge--cod {
    background: rgb(254 243 199);
    color: rgb(180 83 9);
}

.balance-amount {
    display: inline-block;
    font-size: var(--text-sm, 0.8125rem);
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.balance-amount--in { color: rgb(4 120 87); }
.balance-amount--out { color: rgb(190 18 60); }
.balance-amount--cod { color: rgb(146 64 14); }

.balance-amount-note {
    display: block;
    margin-top: 0.125rem;
    font-size: 0.5625rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgb(148 163 184);
}

.balance-row--cod {
    background: rgb(255 251 235 / 0.35);
}

.balance-table-foot {
    margin: 0.625rem 0 0;
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 600;
    color: rgb(148 163 184);
}

.balance-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.375rem;
    padding: 1.75rem 1.125rem;
    border-radius: var(--dash-surface-radius-sm);
    border: var(--dash-nest-border);
    background: var(--dash-nest-bg);
}

.balance-empty-icon {
    display: grid;
    place-items: center;
    width: 1.75rem;
    height: 1.75rem;
    margin-bottom: 0.25rem;
    border-radius: 0.5rem;
    background: var(--dash-icon-chip-bg);
    color: var(--dash-icon-chip-fg);
    font-size: 0.9375rem;
}

.balance-empty-title {
    margin: 0;
    font-size: var(--text-md);
    font-weight: 700;
    color: var(--dash-ink);
}

.balance-empty-desc {
    margin: 0 0 0.5rem;
    max-width: 22rem;
    font-size: var(--text-sm);
    font-weight: 500;
    line-height: 1.5;
    color: var(--dash-muted);
}

@media (max-width: 639px) {
    .balance-header.catalog-header {
        --balance-ctrl: 2rem;
        --balance-header-gap: 0.5rem;
        --balance-pad: 0.6rem;
    }

    .catalog-header-row.balance-header-top {
        column-gap: 0.45rem;
        padding: 0;
    }

    .balance-header .catalog-header-title {
        font-size: 1rem;
    }

    .balance-header .catalog-header-btn-text {
        display: none;
    }

    .balance-header .catalog-header-btn {
        width: var(--balance-ctrl);
        min-width: var(--balance-ctrl);
        height: var(--balance-ctrl);
        min-height: var(--balance-ctrl);
        max-height: var(--balance-ctrl);
        padding: 0;
        justify-content: center;
    }

    .balance-header .catalog-header-btn--accent,
    .balance-header .catalog-header-btn--accent:hover {
        box-shadow: 0 1px 3px rgb(4 120 87 / 0.16);
        transform: none;
    }

    .balance-header-stats.catalog-header-stats,
    .balance-header-meta.catalog-header-meta {
        margin-top: var(--balance-header-gap);
        padding: 0.5rem 0.6rem;
        gap: 0.3rem 0.5rem;
    }

    .balance-header-bank {
        gap: 0.4rem;
    }

    .balance-panel {
        padding: 0.875rem;
    }

    .balance-filters {
        --balance-control-h: 2.5rem;
        --balance-control-radius: 0.7rem;
        --balance-control-pad-x: 0.7rem;
        --balance-control-icon: 1.1rem;
        padding: 0.75rem;
    }

    .balance-filters-grid {
        gap: 0.65rem;
    }

    .balance-date-field .form-control {
        padding-right: 2.55rem;
        font-size: 0.8125rem;
    }

    .balance-date-field-icon {
        right: 0.65rem;
    }

    .balance-filters .smart-select-trigger {
        font-size: 0.8125rem;
    }

    .balance-filters-actions {
        width: 100%;
        align-items: stretch;
    }

    .balance-filters-actions .form-btn {
        flex: 1 1 auto;
        justify-content: center;
        min-height: var(--balance-control-h);
        height: var(--balance-control-h);
    }

    .balance-table {
        min-width: 0;
        display: block;
    }

    .balance-table thead {
        display: none;
    }

    .balance-table tbody,
    .balance-table tr,
    .balance-table td {
        display: block;
        width: 100%;
    }

    .balance-table tbody tr {
        padding: 0.75rem;
        border-bottom: 1px solid rgb(241 245 249);
    }

    .balance-table tbody tr:last-child {
        border-bottom: none;
    }

    .balance-table tbody td {
        padding: 0.1875rem 0;
        border: none;
    }

    .balance-td-date {
        width: auto;
        margin-bottom: 0.25rem;
    }

    .balance-td-dir {
        width: auto;
        margin-top: 0.375rem;
    }

    .balance-td-amount {
        margin-top: 0.375rem;
        text-align: left !important;
    }

    .balance-td-amount .balance-amount {
        font-size: var(--text-md, 0.875rem);
    }
}

.catalog-store#products-catalog,
.products-header.catalog-header {
    max-width: 100%;
    min-width: 0;
}

.products-header.catalog-header {
    overflow: visible;
}

.products-header.catalog-header:not(.is-stuck) {
    margin-bottom: 1rem;
}

/*
 * Sticky hero lock — pastikan chrome is-stuck menang atas override per-halaman
 * (padding / radius / background / margin) di products, orders, saldo, form, profil, dll.
 */
.catalog-header.is-stuck,
.product-form-header.catalog-header.is-stuck,
.balance-header.catalog-header.is-stuck,
.orders-header.catalog-header.is-stuck,
.affiliates-header.catalog-header.is-stuck,
.products-header.catalog-header.is-stuck,
.profile-header.catalog-header.is-stuck,
.content-page-header.catalog-header.is-stuck,
.profile-page .profile-header.product-form-header.is-stuck {
    z-index: 35;
    margin-bottom: var(--ch-stuck-mb, 0.75rem);
    padding: var(--ch-stuck-pad-y, 0.45rem) var(--ch-stuck-pad-x, 0.65rem);
    border: 1px solid var(--ch-stuck-line, rgb(226 232 240 / 0.92));
    border-top-color: transparent;
    border-radius: 0 0 var(--ch-stuck-radius, 1rem) var(--ch-stuck-radius, 1rem);
    background: var(--dash-chrome-bg, rgb(255 255 255 / 0.97));
    -webkit-backdrop-filter: blur(18px) saturate(1.2);
    backdrop-filter: blur(18px) saturate(1.2);
    box-shadow: 0 6px 18px rgb(15 23 42 / 0.06);
}

.catalog-header-row.products-header-top {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.65rem;
    padding: 0;
}

.products-header-top .catalog-header-brand {
    min-width: 0;
}

.products-header .catalog-header-sub,
.products-header-sub {
    margin-top: 0.15rem;
    font-size: 0.75rem;
    line-height: 1.35;
    white-space: normal;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.15rem 0.45rem;
    overflow: visible;
    text-overflow: unset;
}

.products-header-sub-count,
.products-header-sub-value {
    min-width: 0;
}

.products-header-sub-value {
    color: rgb(100 116 139);
}

.products-header-inline-value {
    font-weight: 700;
    color: rgb(4 120 87);
    font-variant-numeric: tabular-nums;
}

.products-header-actions {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    flex-shrink: 0;
    min-width: 0;
}

.products-header-alerts {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    flex-shrink: 0;
}

.products-stock-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    flex-shrink: 0;
    min-height: 2.125rem;
    padding: 0.3rem 0.55rem;
    border: 0;
    border-radius: 0.65rem;
    background: rgb(241 245 249 / 0.9);
    color: rgb(71 85 105);
    font-family: inherit;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.products-stock-chip strong {
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    color: rgb(15 23 42);
}

.products-stock-chip--warn {
    background: rgb(255 247 237);
    color: rgb(180 83 9);
}

.products-stock-chip--warn strong {
    color: rgb(180 83 9);
}

.products-stock-chip:hover {
    background: rgb(236 253 245);
    color: rgb(4 120 87);
}

.products-stock-chip--warn:hover {
    background: rgb(254 243 199);
    color: rgb(180 83 9);
}

.products-stock-chip.is-active {
    background: rgb(4 120 87);
    color: #fff;
}

.products-stock-chip.is-active strong {
    color: #fff;
}

.products-stock-chip--warn.is-active {
    background: rgb(217 119 6);
    color: #fff;
}

.products-header-tools.catalog-header-tools {
    min-width: 0;
    max-width: 100%;
}

/* Kartu lipat Ã¢â‚¬â€ Cari & filter (mobile) */
.catalog-tools-fold {
    gap: 0;
    padding: 0;
    overflow: visible;
}

.catalog-tools-fold-toggle {
    display: none;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    margin: 0;
    padding: 0.7rem 0.75rem;
    border: 0;
    border-radius: inherit;
    background: transparent;
    text-align: left;
    cursor: pointer;
    font: inherit;
    color: inherit;
}

.catalog-tools-fold-text {
    display: grid;
    gap: 0.1rem;
    min-width: 0;
}

.catalog-tools-fold-title {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 800;
    letter-spacing: -0.015em;
    color: rgb(15 23 42);
    line-height: 1.25;
}

.catalog-tools-fold-summary {
    margin: 0;
    font-size: 0.6875rem;
    font-weight: 600;
    color: rgb(100 116 139);
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.catalog-tools-fold-side {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    flex: 0 0 auto;
}

.catalog-tools-fold-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.75rem;
    height: 1.5rem;
    padding: 0 0.45rem;
    border-radius: 999px;
    background: rgb(236 253 245);
    color: rgb(4 120 87);
    font-size: 0.6875rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

.catalog-tools-fold.has-active-filters .catalog-tools-fold-count {
    background: rgb(254 243 199);
    color: rgb(180 83 9);
}

.catalog-tools-fold-chevron {
    display: inline-grid;
    place-items: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 0.5rem;
    border: 1px solid rgb(226 232 240);
    background: rgb(248 250 252);
    color: rgb(71 85 105);
    transition: transform 0.2s ease, background 0.15s ease, border-color 0.15s ease;
}

.catalog-tools-fold-chevron .ui-icon {
    font-size: 0.875rem;
    line-height: 1;
}

.catalog-tools-fold:not(.is-collapsed) .catalog-tools-fold-chevron {
    transform: rotate(180deg);
    border-color: rgb(167 243 208);
    background: rgb(236 253 245);
    color: rgb(4 120 87);
}

.catalog-tools-fold-body {
    display: grid;
    gap: 0.6rem;
    padding: 0.7rem;
    min-width: 0;
    overflow: visible;
}

.catalog-tools-fold-body[hidden] {
    display: none !important;
}

@media (min-width: 640px) {
    .catalog-tools-fold-toggle {
        display: none !important;
    }

    .catalog-tools-fold-body,
    .catalog-tools-fold-body[hidden] {
        display: grid !important;
    }

    .catalog-tools-fold.is-collapsed .catalog-tools-fold-body {
        display: grid !important;
    }
}

.products-header .catalog-header-search {
    min-width: 0;
    width: 100%;
}

.products-header .catalog-header-search-input {
    min-height: 2.125rem;
    font-size: var(--text-sm, 0.8125rem);
    max-width: 100%;
    box-sizing: border-box;
}

.products-header-toolbar {
    gap: 0.375rem;
}

.products-header-filters {
    flex: 1;
    min-width: 0;
    width: 100%;
    max-width: 100%;
}

.products-header-meta {
    margin: 0;
    font-size: 0.6875rem;
    color: rgb(100 116 139);
    font-variant-numeric: tabular-nums;
    min-width: 0;
    overflow-wrap: anywhere;
}

.products-header-filter-note {
    color: rgb(180 83 9);
    font-weight: 600;
}

@media (max-width: 639px) {
    .catalog-header-row.products-header-top {
        gap: 0.45rem;
        padding: 0;
    }

    .products-header .catalog-header-avatar {
        width: 2.125rem;
        height: 2.125rem;
        font-size: 0.625rem;
    }

    .products-header-actions {
        gap: 0.3125rem;
    }

    .products-header .catalog-header-btn-text {
        display: none;
    }

    .products-header .catalog-header-btn {
        width: 2rem;
        min-width: 2rem;
        min-height: 2rem;
        padding: 0;
    }

    .products-header-sub {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.0625rem;
    }

    .products-header-sub-value {
        font-size: 0.625rem;
        line-height: 1.3;
    }

    .products-stock-chip {
        min-height: 2rem;
        min-width: 2rem;
        padding: 0.25rem 0.4375rem;
        gap: 0.1875rem;
    }

    .products-stock-chip span {
        display: none;
    }

    .products-header-tools.catalog-header-tools {
        gap: 0;
    }

    .products-tools-fold .catalog-tools-fold-toggle {
        display: flex;
    }

    .products-tools-fold.is-collapsed {
        padding: 0;
    }

    .products-tools-fold:not(.is-collapsed) .catalog-tools-fold-toggle {
        border-bottom: 1px solid rgb(241 245 249);
        border-radius: var(--dash-surface-radius-sm, 0.75rem) var(--dash-surface-radius-sm, 0.75rem) 0 0;
    }

    .products-tools-fold:not(.is-collapsed) .catalog-tools-fold-body {
        padding-top: 0.65rem;
    }

    .products-header-toolbar.catalog-header-toolbar {
        flex-direction: column;
        align-items: stretch;
        gap: 0.375rem;
        min-width: 0;
    }

    .products-header-filters.catalog-header-filters {
        width: 100%;
        margin-inline: -0.125rem;
        padding-inline: 0.125rem;
    }

    .products-header-toolbar-end.catalog-header-toolbar-end,
    .products-header .catalog-header-toolbar-end {
        width: 100%;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 0.375rem;
        min-width: 0;
    }

    .products-header .catalog-header-filter-select {
        grid-column: 1 / -1;
        width: 100%;
        max-width: none;
        min-width: 0;
        flex: none;
    }

    .products-header .catalog-header-sort {
        width: 100%;
        max-width: none;
        min-width: 0;
        flex: 1 1 auto;
    }

    .products-header .catalog-view-toggle {
        flex: 0 0 auto;
        margin-left: 0;
        justify-self: end;
    }

    .products-header .catalog-header-filter-select .smart-select-panel {
        max-width: min(18rem, calc(100vw - 2rem));
        min-width: min(100%, 12rem);
        width: min(100%, 18rem);
    }

    .products-header-meta {
        font-size: 0.625rem;
    }

    /* Kartu aksi: jangan overflow di grid 2 kolom sempit */
    #products-catalog .catalog-grid:not(.is-list-view) .catalog-tile-actions {
        gap: 0.1875rem;
        padding: 0.3125rem 0.375rem;
        justify-content: space-between;
    }

    #products-catalog .catalog-grid:not(.is-list-view) .catalog-tile-action {
        width: 1.75rem;
        height: 1.75rem;
    }

    #products-catalog .catalog-grid.is-list-view .catalog-tile-category {
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
}

@media (max-width: 379px) {
    .products-header-alerts {
        display: none;
    }

    #products-catalog .catalog-grid:not(.is-list-view) .catalog-tile-action {
        width: 1.625rem;
        height: 1.625rem;
    }

    #products-catalog .catalog-grid:not(.is-list-view) .catalog-tile-action .ui-icon {
        font-size: 0.75rem;
    }
}

/* ===== Public storefront ===== */
.store-body {
    min-height: 100vh;
    min-height: 100dvh;
    background: rgb(248 250 252);
    color: rgb(15 23 42);
    -webkit-font-smoothing: antialiased;
}

.store-front,
.store-product {
    width: min(100% - 2rem, 960px);
    margin-inline: auto;
    padding-block: 1rem 2rem;
}

.store-order-banner {
    margin-bottom: 0.875rem;
    border: 1px solid rgb(167 243 208);
    border-radius: 0.875rem;
    background: linear-gradient(135deg, rgb(236 253 245), rgb(209 250 229 / 0.5));
    box-shadow: none;
}

.store-order-banner-inner {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.875rem 1rem;
}

.store-order-banner-icon {
    display: grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    flex-shrink: 0;
    border-radius: 9999px;
    background: rgb(5 150 105);
    color: #fff;
    font-weight: 800;
}

.store-order-banner-title {
    font-size: 0.875rem;
    font-weight: 800;
    color: rgb(4 120 87);
}

.store-order-banner-text,
.store-order-banner-order {
    margin-top: 0.25rem;
    font-size: 0.75rem;
    color: rgb(51 65 85);
    line-height: 1.45;
}

.store-order-banner-close {
    margin-left: auto;
    border: none;
    background: transparent;
    font-size: 1.25rem;
    line-height: 1;
    color: rgb(100 116 139);
    cursor: pointer;
}

.store-hero {
    margin-bottom: 0.875rem;
    border: 1px solid rgb(226 232 240);
    border-radius: 1rem;
    background: linear-gradient(135deg, rgb(5 150 105), rgb(4 120 87));
    color: #fff;
    box-shadow: none;
    overflow: hidden;
}

.store-hero-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.125rem 1rem;
}

.store-hero-brand {
    display: flex;
    align-items: flex-start;
    gap: 0.875rem;
    min-width: 0;
    flex: 1;
}

.store-hero-avatar {
    display: grid;
    place-items: center;
    width: 3.5rem;
    height: 3.5rem;
    flex-shrink: 0;
    overflow: hidden;
    border-radius: 0.875rem;
    border: 2px solid rgb(255 255 255 / 0.25);
    background: rgb(255 255 255 / 0.15);
    font-size: 1.25rem;
    font-weight: 800;
}

.store-hero-avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.store-hero-title {
    font-size: 1.375rem;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.02em;
}

.store-hero-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.375rem;
    margin-top: 0.375rem;
}

.store-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.125rem 0.5rem;
    border-radius: 9999px;
    background: rgb(255 255 255 / 0.2);
    font-size: 0.625rem;
    font-weight: 700;
}

.store-hero-stat {
    font-size: 0.75rem;
    color: rgb(209 250 229);
}

.store-hero-desc {
    margin-top: 0.5rem;
    max-width: 36rem;
    font-size: 0.8125rem;
    line-height: 1.5;
    color: rgb(236 253 245);
}

.store-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.store-hero-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.4375rem 0.75rem;
    border: 1px solid rgb(255 255 255 / 0.35);
    border-radius: 0.625rem;
    background: rgb(255 255 255 / 0.12);
    color: #fff;
    font-size: 0.75rem;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    font-family: inherit;
    transition: background 0.15s ease;
}

.store-hero-btn:hover {
    background: rgb(255 255 255 / 0.22);
}

.store-hero-btn--accent {
    border-color: transparent;
    background: #fff;
    color: rgb(4 120 87);
}

.store-hero-btn--accent:hover {
    background: rgb(236 253 245);
}

.store-header {
    margin-bottom: 0.875rem;
}

.store-header-tools {
    padding: 0.625rem 0.75rem;
}

.store-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

@media (min-width: 640px) {
    .store-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 1rem;
    }
}

@media (min-width: 960px) {
    .store-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (min-width: 1200px) {
    .store-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr));
        gap: 0.875rem;
    }
}

.store-tile {
    border-radius: 0.875rem;
    background: #fff;
    box-shadow: none;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.store-tile:hover {
    transform: translateY(-2px);
    box-shadow: none;
}

.store-tile-link {
    display: flex;
    flex-direction: column;
    height: 100%;
    color: inherit;
    text-decoration: none;
}

.store-tile-media {
    position: relative;
    aspect-ratio: 1;
    overflow: hidden;
    border-radius: 0.875rem 0.875rem 0 0;
    background: rgb(241 245 249);
}

.store-tile-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.2s ease;
}

.store-tile:hover .store-tile-img {
    transform: scale(1.03);
}

.store-tile-placeholder {
    display: grid;
    place-items: center;
    height: 100%;
    color: rgb(203 213 225);
}

.store-tile-flag {
    position: absolute;
    top: 0.5rem;
    left: 0.5rem;
    padding: 0.125rem 0.4375rem;
    border-radius: 9999px;
    font-size: 0.5625rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.store-tile-flag--out {
    background: rgb(15 23 42);
    color: #fff;
}

.store-tile-flag--low {
    background: rgb(254 243 199);
    color: rgb(146 64 14);
}

.store-tile-body {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding: 0.625rem 0.75rem 0.75rem;
}

.store-tile-category {
    font-size: 0.5625rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: rgb(4 120 87);
}

.store-tile-name {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 0.8125rem;
    font-weight: 700;
    line-height: 1.35;
    color: rgb(15 23 42);
}

.store-tile-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-top: auto;
    padding-top: 0.375rem;
}

.store-tile-price {
    font-size: 0.875rem;
    font-weight: 800;
    color: rgb(4 120 87);
}

.store-tile-cta {
    font-size: 0.6875rem;
    font-weight: 700;
    color: rgb(100 116 139);
}

.store-empty-state,
.store-empty-filter {
    padding: 2.5rem 1rem;
    text-align: center;
}

.store-empty-filter.hidden {
    display: none;
}

.store-empty-visual {
    font-size: 2.5rem;
}

.store-empty-title {
    margin-top: 0.75rem;
    font-size: 1.0625rem;
    font-weight: 800;
}

.store-empty-desc {
    margin-top: 0.375rem;
    font-size: 0.8125rem;
    color: rgb(100 116 139);
}

.store-footer {
    margin-top: 2rem;
    padding-top: 1rem;
    border-top: 1px solid rgb(226 232 240);
    text-align: center;
    font-size: 0.75rem;
    color: rgb(148 163 184);
}

.store-footer-link {
    font-weight: 700;
    color: rgb(4 120 87);
    text-decoration: none;
}

/* Product detail Ã¢â‚¬â€ premium store page */
.store-product-page {
    --store-product-radius: 1.125rem;
    --store-product-pad: 1rem;
    padding-top: 0;
    padding-bottom: calc(5.5rem + env(safe-area-inset-bottom, 0));
}

@media (max-width: 959px) {
    .store-product-page.store-product {
        width: 100%;
        max-width: none;
        margin-inline: 0;
        padding-inline: 0;
        padding-top: 0;
    }

    .store-product-layout {
        padding-inline: var(--store-product-pad);
        padding-top: 0.875rem;
        gap: 0.875rem;
    }
}

@media (min-width: 960px) {
    .store-product-page.store-product {
        width: min(100% - 2rem, 68rem);
        padding-top: 1.25rem;
        padding-bottom: 2.5rem;
    }
}

.store-product-main {
    display: grid;
    gap: 0.875rem;
    min-width: 0;
}

@media (min-width: 960px) {
    .store-product-main {
        gap: 1.125rem;
    }
}

/* Topbar: kosongkan area atas (safe-area), full-bleed, tidak menabrak konten */
.store-product-topbar {
    position: sticky;
    top: 0;
    z-index: 40;
    display: flex;
    align-items: center;
    gap: 0.625rem;
    width: 100%;
    margin: 0;
    padding: 0.5625rem var(--store-product-pad, 1rem);
    padding-top: calc(0.75rem + env(safe-area-inset-top, 0px));
    padding-bottom: 0.625rem;
    border-bottom: 1px solid rgb(226 232 240 / 0.85);
    background: rgb(255 255 255 / 0.97);
    box-sizing: border-box;
}

@media (min-width: 960px) {
    .store-product-topbar {
        display: none;
    }
}

.store-product-topbar-back,
.store-product-topbar-wa {
    display: grid;
    place-items: center;
    width: 2.375rem;
    height: 2.375rem;
    flex-shrink: 0;
    border-radius: 0.75rem;
    border: 1px solid rgb(226 232 240);
    background: #fff;
    color: rgb(51 65 85);
    text-decoration: none;
    transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease;
}

.store-product-topbar-back:hover,
.store-product-topbar-wa:hover {
    border-color: rgb(167 243 208);
    background: rgb(236 253 245);
    color: rgb(4 120 87);
}

.store-product-topbar-wa {
    color: rgb(4 120 87);
    border-color: rgb(167 243 208);
    background: rgb(236 253 245);
}

.store-product-topbar-body {
    flex: 1;
    min-width: 0;
}

.store-product-topbar-label {
    margin: 0;
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: rgb(148 163 184);
    line-height: 1.2;
}

.store-product-topbar-title {
    margin: 0.0625rem 0 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--text-sm, 0.8125rem);
    font-weight: 700;
    color: rgb(15 23 42);
    line-height: 1.3;
}

.store-breadcrumb {
    display: none;
    margin-bottom: 0.875rem;
}

@media (min-width: 960px) {
    .store-breadcrumb {
        display: block;
    }
}

.store-breadcrumb-link {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    font-size: var(--text-sm, 0.8125rem);
    font-weight: 600;
    color: rgb(4 120 87);
    text-decoration: none;
}

.store-breadcrumb-link:hover {
    text-decoration: underline;
}

.store-product-layout {
    display: grid;
    gap: 1rem;
    min-width: 0;
}

@media (min-width: 960px) {
    .store-product-layout {
        grid-template-columns: minmax(0, 1.2fr) minmax(20rem, 24rem);
        gap: 1.75rem;
        align-items: start;
    }
}

.store-product-showcase {
    display: grid;
    gap: 0.875rem;
    min-width: 0;
    max-width: 100%;
}

/* ===== Premium product image slider ===== */
.store-gallery--slider {
    display: grid;
    gap: 0;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgb(226 232 240 / 0.95);
    border-radius: var(--store-product-radius, 1.125rem);
    background: #fff;
    box-shadow: none;
}

@media (max-width: 959px) {
    .store-gallery--slider {
        border-radius: 0;
        border-left: none;
        border-right: none;
        border-top: none;
        margin-inline: 0;
    }
}

.store-slider-stage {
    position: relative;
    min-width: 0;
    max-width: 100%;
    background:
        radial-gradient(120% 80% at 50% 0%, rgb(236 253 245 / 0.45) 0%, transparent 55%),
        linear-gradient(180deg, rgb(248 250 252) 0%, rgb(241 245 249) 100%);
}

.store-slider-viewport {
    position: relative;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    touch-action: pan-y pinch-zoom;
    aspect-ratio: 1 / 1;
    background: rgb(241 245 249);
}

@media (min-width: 640px) {
    .store-slider-viewport {
        aspect-ratio: 4 / 3;
    }
}

@media (min-width: 960px) {
    .store-slider-viewport {
        width: 100%;
        max-width: 100%;
        margin-inline: 0;
        aspect-ratio: 4 / 3;
    }
}

.store-slider-track {
    position: absolute;
    inset: 0;
    display: flex;
    width: 100%;
    height: 100%;
    min-width: 0;
    transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: transform;
}

.store-slider-track.is-dragging {
    transition: none;
}

.store-slider-slide {
    position: relative;
    flex: 0 0 100%;
    width: 100%;
    min-width: 100%;
    max-width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    padding: 0;
    overflow: hidden;
    background: rgb(241 245 249);
    box-sizing: border-box;
}

.store-slider-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    user-select: none;
    -webkit-user-drag: none;
    transition: opacity 0.25s ease;
}

.store-slider-img.is-upgrading {
    opacity: 0.88;
}

.store-gallery-placeholder {
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    min-height: 12rem;
    color: rgb(203 213 225);
    font-size: 2.75rem;
    background: rgb(248 250 252);
}

.store-gallery-flag {
    position: absolute;
    top: 0.75rem;
    left: 0.75rem;
    z-index: 3;
    padding: 0.3125rem 0.625rem;
    border-radius: 0.5rem;
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.2;
    box-shadow: none;
}

.store-gallery-flag--out {
    background: rgb(15 23 42);
    color: #fff;
}

.store-gallery-flag--low {
    background: rgb(254 243 199);
    color: rgb(146 64 14);
    border: 1px solid rgb(253 230 138);
}

.store-slider-nav {
    position: absolute;
    top: 50%;
    z-index: 3;
    display: grid;
    place-items: center;
    width: 2.5rem;
    height: 2.5rem;
    border: 1px solid rgb(226 232 240);
    border-radius: 9999px;
    background: rgb(255 255 255 / 0.96);
    color: rgb(51 65 85);
    box-shadow: none;
    cursor: pointer;
    transform: translateY(-50%);
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.store-slider-nav:hover {
    background: #fff;
    border-color: rgb(167 243 208);
    color: rgb(4 120 87);
}

.store-slider-nav:focus-visible {
    outline: 2px solid rgb(16 185 129);
    outline-offset: 2px;
}

.store-slider-nav--prev {
    left: 0.75rem;
}

.store-slider-nav--next {
    right: 0.75rem;
}

@media (max-width: 639px) {
    .store-slider-nav {
        width: 2.125rem;
        height: 2.125rem;
        opacity: 0.92;
    }

    .store-slider-nav--prev {
        left: 0.5rem;
    }

    .store-slider-nav--next {
        right: 0.5rem;
    }
}

@media (min-width: 960px) {
    .store-slider-nav {
        width: 2.625rem;
        height: 2.625rem;
        opacity: 0;
        pointer-events: none;
    }

    .store-slider-stage:hover .store-slider-nav,
    .store-slider-nav:focus-visible {
        opacity: 1;
        pointer-events: auto;
    }
}

/* Indikator di bawah stage Ã¢â‚¬â€ bersih, tidak menutupi foto */
.store-slider-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.625rem 0.875rem 0.75rem;
    background: #fff;
    border-top: 1px solid rgb(241 245 249);
}

.store-slider-dots {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.375rem;
    min-width: 0;
}

.store-slider-dot {
    width: 0.375rem;
    height: 0.375rem;
    padding: 0;
    border: none;
    border-radius: 9999px;
    background: rgb(203 213 225);
    cursor: pointer;
    transition: width 0.2s ease, background 0.2s ease;
}

.store-slider-dot.is-active {
    width: 1rem;
    background: rgb(5 150 105);
}

.store-slider-dot:focus-visible {
    outline: 2px solid rgb(16 185 129);
    outline-offset: 2px;
}

.store-slider-counter {
    flex-shrink: 0;
    padding: 0.1875rem 0.5rem;
    border-radius: 0.375rem;
    background: rgb(248 250 252);
    border: 1px solid rgb(226 232 240);
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 700;
    color: rgb(71 85 105);
    font-variant-numeric: tabular-nums;
    line-height: 1.2;
}

.store-slider-thumbs {
    display: flex;
    gap: 0.5rem;
    padding: 0.625rem 0.75rem 0.75rem;
    overflow-x: auto;
    scrollbar-width: none;
    border-top: 1px solid rgb(241 245 249);
    background: rgb(252 253 254);
    -webkit-overflow-scrolling: touch;
    min-width: 0;
}

.store-slider-thumbs::-webkit-scrollbar {
    display: none;
}

@media (max-width: 639px) {
    .store-slider-thumbs {
        padding-inline: 0.875rem;
    }
}

.store-slider-thumb {
    flex-shrink: 0;
    width: 3.25rem;
    height: 3.25rem;
    padding: 0;
    border: 1.5px solid rgb(226 232 240);
    border-radius: 0.625rem;
    overflow: hidden;
    cursor: pointer;
    background: #fff;
    transition: border-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}

.store-slider-thumb:hover {
    border-color: rgb(167 243 208);
}

.store-slider-thumb.is-active {
    border-color: rgb(5 150 105);
    box-shadow: 0 0 0 2px rgb(209 250 229);
}

.store-slider-thumb:focus-visible {
    outline: 2px solid rgb(16 185 129);
    outline-offset: 2px;
}

.store-slider-thumb-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Desktop: gallery 2-kolom Ã¢â‚¬â€ thumbs kiri + stage responsif */
@media (min-width: 960px) {
    .store-gallery--slider:not([data-slide-count="0"]):not([data-slide-count="1"]) {
        grid-template-columns: 4.5rem minmax(0, 1fr);
        gap: 0.75rem;
        padding: 0.875rem;
        align-items: start;
        overflow: hidden;
    }

    .store-gallery--slider:not([data-slide-count="0"]):not([data-slide-count="1"]) .store-slider-stage {
        grid-column: 2;
        grid-row: 1;
        border-radius: 0.875rem;
        overflow: hidden;
        border: 1px solid rgb(241 245 249);
        background:
            radial-gradient(120% 80% at 50% 0%, rgb(236 253 245 / 0.4) 0%, transparent 55%),
            linear-gradient(180deg, rgb(248 250 252) 0%, rgb(241 245 249) 100%);
    }

    .store-gallery--slider:not([data-slide-count="0"]):not([data-slide-count="1"]) .store-slider-thumbs {
        grid-column: 1;
        grid-row: 1;
        flex-direction: column;
        align-items: stretch;
        align-self: stretch;
        width: 100%;
        max-height: 100%;
        padding: 0;
        overflow-x: hidden;
        overflow-y: auto;
        border-top: none;
        background: transparent;
        gap: 0.5rem;
        scrollbar-width: thin;
    }

    .store-gallery--slider:not([data-slide-count="0"]):not([data-slide-count="1"]) .store-slider-thumb {
        width: 100%;
        height: auto;
        aspect-ratio: 1 / 1;
        border-radius: 0.5rem;
    }

    .store-gallery--slider:not([data-slide-count="0"]):not([data-slide-count="1"]) .store-slider-meta {
        border-top-color: rgb(241 245 249 / 0.9);
        padding: 0.5625rem 0.75rem 0.625rem;
        background: rgb(255 255 255 / 0.92);
    }

    .store-gallery--slider[data-slide-count="0"] .store-slider-stage,
    .store-gallery--slider[data-slide-count="1"] .store-slider-stage {
        border-radius: 0;
    }

    .store-gallery--slider[data-slide-count="0"],
    .store-gallery--slider[data-slide-count="1"] {
        padding: 0.875rem;
    }

    .store-gallery--slider[data-slide-count="0"] .store-slider-viewport,
    .store-gallery--slider[data-slide-count="1"] .store-slider-viewport {
        border-radius: 0.875rem;
        overflow: hidden;
        border: 1px solid rgb(241 245 249);
    }
}

.store-product-head {
    padding: 1rem 1.125rem;
    border: 1px solid rgb(226 232 240 / 0.95);
    border-radius: var(--store-product-radius, 1.125rem);
    background: #fff;
    box-shadow: none;
}

.store-product-category {
    display: inline-block;
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: rgb(4 120 87);
    line-height: 1.3;
}

.store-product-title {
    margin: 0.3125rem 0 0;
    font-size: var(--text-xl, 1.0625rem);
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -0.02em;
    color: rgb(15 23 42);
}

@media (min-width: 960px) {
    .store-product-title {
        font-size: var(--text-2xl, 1.1875rem);
    }
}

.store-product-price-row {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 0.375rem;
    margin-top: 0.5rem;
}

.store-product-price {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 700;
    color: rgb(4 120 87);
    letter-spacing: -0.02em;
    font-variant-numeric: tabular-nums;
    line-height: 1.2;
}

@media (min-width: 960px) {
    .store-product-price {
        font-size: 1.375rem;
    }
}

.store-product-unit {
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 500;
    color: rgb(148 163 184);
}

.store-product-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
    margin-top: 0.75rem;
}

.store-product-chip {
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0.5625rem;
    border-radius: 0.5rem;
    font-size: var(--text-xs, 0.6875rem);
    font-weight: 700;
    line-height: 1.2;
}

.store-product-chip--available {
    background: rgb(236 253 245);
    color: rgb(4 120 87);
}

.store-product-chip--low {
    background: rgb(254 243 199);
    color: rgb(146 64 14);
}

.store-product-chip--out {
    background: rgb(255 241 242);
    color: rgb(190 18 60);
}

.store-product-chip--muted {
    background: rgb(248 250 252);
    color: rgb(100 116 139);
}

.store-product-details {
    display: grid;
    gap: 0.75rem;
}

.store-product-notice {
    padding: 0.625rem 0.75rem;
    border: 1px solid rgb(254 243 199);
    border-radius: 0.625rem;
    background: rgb(255 251 235);
    font-size: 0.6875rem;
    line-height: 1.45;
    color: rgb(120 53 15);
}

.store-product-sheet {
    display: grid;
    gap: 0;
    border: 1px solid rgb(226 232 240);
    border-radius: var(--store-product-radius, 0.875rem);
    background: #fff;
    box-shadow: 0 1px 2px rgb(15 23 42 / 0.03);
    overflow: hidden;
}

.store-product-fold {
    margin: 0;
    border: 0;
    background: transparent;
}

.store-product-fold + .store-product-fold {
    border-top: 1px solid rgb(241 245 249);
}

.store-product-fold-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.9rem 1.05rem;
    cursor: pointer;
    list-style: none;
    user-select: none;
    transition: background 0.15s ease;
}

.store-product-fold-head::-webkit-details-marker {
    display: none;
}

.store-product-fold-head::marker {
    content: "";
    display: none;
}

.store-product-fold-head:hover {
    background: rgb(248 250 252);
}

.store-product-fold-text {
    display: grid;
    gap: 0.15rem;
    min-width: 0;
}

.store-product-fold-title {
    margin: 0;
    font-size: 0.875rem;
    font-weight: 800;
    letter-spacing: -0.015em;
    color: rgb(15 23 42);
    line-height: 1.25;
}

.store-product-fold-sub {
    margin: 0;
    font-size: 0.6875rem;
    font-weight: 600;
    color: rgb(100 116 139);
    line-height: 1.3;
}

.store-product-fold-chevron {
    display: inline-grid;
    place-items: center;
    width: 1.875rem;
    height: 1.875rem;
    flex-shrink: 0;
    border-radius: 0.55rem;
    border: 1px solid rgb(226 232 240);
    background: rgb(248 250 252);
    color: rgb(71 85 105);
    transition: transform 0.2s ease, background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.store-product-fold-chevron .ui-icon {
    font-size: 0.875rem;
    line-height: 1;
}

.store-product-fold[open] .store-product-fold-chevron {
    transform: rotate(180deg);
    border-color: rgb(167 243 208);
    background: rgb(236 253 245);
    color: rgb(4 120 87);
}

.store-product-fold[open] .store-product-fold-head {
    border-bottom: 1px solid rgb(241 245 249);
    background: rgb(252 253 254);
}

.store-product-fold-body {
    padding: 0.9rem 1.05rem 1.05rem;
}

.store-product-desc {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.6;
    color: rgb(71 85 105);
    white-space: pre-line;
}

.store-specs {
    display: grid;
    gap: 0;
    margin: 0;
}

.store-spec-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
    gap: 0.75rem;
    align-items: start;
    padding: 0.65rem 0;
    border-bottom: 1px solid rgb(241 245 249);
    font-size: 0.8125rem;
}

.store-spec-row:first-child {
    padding-top: 0;
}

.store-spec-row:last-child {
    padding-bottom: 0;
    border-bottom: none;
}

.store-spec-row dt {
    margin: 0;
    color: rgb(100 116 139);
    font-weight: 600;
    line-height: 1.4;
}

.store-spec-row dd {
    margin: 0;
    font-weight: 700;
    text-align: right;
    color: rgb(15 23 42);
    line-height: 1.4;
    word-break: break-word;
}

/* Legacy accordion aliases (jika masih ada markup lama) */
.store-product-accordion {
    border: 1px solid rgb(226 232 240);
    border-radius: var(--store-product-radius, 0.875rem);
    background: #fff;
    overflow: hidden;
}

.store-product-accordion-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.875rem 1.05rem;
    font-size: 0.875rem;
    font-weight: 800;
    color: rgb(15 23 42);
    cursor: pointer;
    list-style: none;
}

.store-product-accordion-head::-webkit-details-marker {
    display: none;
}

.store-product-accordion-body {
    padding: 0 1.05rem 1.05rem;
}

.store-procedure-list {
    margin: 0;
    padding-left: 1rem;
    font-size: 0.75rem;
    line-height: 1.55;
    color: rgb(71 85 105);
}

.store-checkout {
    position: relative;
}

@media (min-width: 960px) {
    .store-checkout {
        position: sticky;
        top: 1rem;
    }
}

.store-checkout-panel {
    padding: 1.125rem;
    border: 1px solid rgb(167 243 208 / 0.6);
    border-radius: 1rem;
    background: linear-gradient(180deg, rgb(255 255 255) 0%, rgb(248 250 252) 100%);
    box-shadow: none;
}

.store-checkout-head {
    padding-bottom: 0.75rem;
    border-bottom: 1px solid rgb(241 245 249);
}

.store-checkout-title {
    font-size: 1rem;
    font-weight: 800;
    color: rgb(15 23 42);
}

.store-checkout-sub {
    margin-top: 0.125rem;
    font-size: 0.6875rem;
    color: rgb(100 116 139);
}

.store-checkout-steps {
    display: flex;
    gap: 0.5rem;
    margin: 0.875rem 0 0;
    padding: 0;
    list-style: none;
}

.store-checkout-step {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    padding: 0.3125rem 0.25rem;
    border-radius: 0.5rem;
    background: rgb(248 250 252);
    font-size: 0.5625rem;
    font-weight: 700;
    color: rgb(148 163 184);
    transition: background-color 0.15s ease, color 0.15s ease;
}

@media (min-width: 480px) {
    .store-checkout-step {
        font-size: 0.625rem;
        padding-inline: 0.375rem;
    }
}

.store-checkout-step span {
    display: grid;
    place-items: center;
    width: 1.125rem;
    height: 1.125rem;
    flex-shrink: 0;
    border-radius: 9999px;
    background: rgb(226 232 240);
    font-size: 0.5625rem;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.store-checkout-step.is-active {
    background: rgb(236 253 245);
    color: rgb(4 120 87);
}

.store-checkout-step.is-active span {
    background: rgb(5 150 105);
    color: #fff;
}

.store-checkout-block {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid rgb(241 245 249);
}

.store-checkout-block--qty {
    margin-top: 0.875rem;
}

.store-checkout-block-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

.store-checkout-block-head-text {
    min-width: 0;
}

.store-checkout-block-title {
    margin-bottom: 0;
    font-size: 0.8125rem;
    font-weight: 800;
    color: rgb(15 23 42);
    letter-spacing: -0.01em;
}

.store-checkout-block-sub {
    margin-top: 0.1875rem;
    font-size: 0.6875rem;
    line-height: 1.4;
    color: rgb(148 163 184);
}

.store-checkout-block-badge {
    flex-shrink: 0;
    padding: 0.25rem 0.625rem;
    border-radius: 9999px;
    background: rgb(236 253 245);
    font-size: 0.6875rem;
    font-weight: 700;
    color: rgb(4 120 87);
}

.store-checkout-block-badge--muted {
    background: rgb(248 250 252);
    color: rgb(100 116 139);
}

/* Recipient form fields */
.store-recipient-fields {
    display: grid;
    gap: 0.875rem;
}

.store-recipient-field {
    display: grid;
    gap: 0.4375rem;
}

.store-recipient-label {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.375rem;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: rgb(71 85 105);
}

.store-recipient-required {
    color: rgb(239 68 68);
    font-weight: 800;
    text-transform: none;
}

.store-recipient-optional {
    padding: 0.125rem 0.4375rem;
    border-radius: 9999px;
    background: rgb(248 250 252);
    font-size: 0.5625rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: rgb(148 163 184);
}

.store-recipient-input-wrap {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    min-height: 2.875rem;
    padding: 0.5rem 0.75rem;
    border: 1px solid rgb(226 232 240);
    border-radius: 0.875rem;
    background: rgb(248 250 252);
    transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
}

.store-recipient-input-wrap:focus-within {
    border-color: rgb(16 185 129);
    background: #fff;
    box-shadow: 0 0 0 3px rgb(209 250 229 / 0.85);
}

.store-recipient-input-wrap--area {
    align-items: flex-start;
    min-height: 0;
    padding-block: 0.625rem;
}

.store-recipient-icon {
    display: grid;
    place-items: center;
    width: 1.75rem;
    height: 1.75rem;
    flex-shrink: 0;
    border-radius: 0.5rem;
    background: rgb(236 253 245);
    color: rgb(4 120 87);
}

.store-recipient-icon--top {
    margin-top: 0.125rem;
}

.store-recipient-icon .ui-emoji-icon,
.store-recipient-icon .ui-icon,
.store-recipient-icon .ui-brand-icon,
.store-recipient-icon-svg {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.05rem;
    height: 1.05rem;
    font-size: 0.875rem;
    line-height: 1;
}

.store-recipient-icon .ui-brand-icon svg,
.store-recipient-icon-svg svg {
    width: 100%;
    height: 100%;
    display: block;
}

.store-recipient-input {
    flex: 1;
    min-width: 0;
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.45;
    color: rgb(15 23 42);
    outline: none;
}

.store-recipient-input::placeholder {
    font-weight: 500;
    color: rgb(148 163 184);
}

.store-recipient-textarea {
    min-height: 4.25rem;
    resize: vertical;
    padding-top: 0.125rem;
}

.store-recipient-textarea--sm {
    min-height: 3.25rem;
}

.store-recipient-hint {
    font-size: 0.625rem;
    line-height: 1.4;
    color: rgb(148 163 184);
}

.store-recipient-field.is-invalid .store-recipient-input-wrap {
    border-color: rgb(252 165 165);
    background: rgb(255 251 251);
    box-shadow: 0 0 0 3px rgb(254 226 226 / 0.7);
}

.store-checkout-block--buyer {
    padding-bottom: 0.125rem;
}

.store-checkout-block--pay {
    margin-top: 1rem;
}

/* Legacy qty head alias */
.store-qty-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

.store-qty-unit-badge {
    flex-shrink: 0;
    padding: 0.25rem 0.625rem;
    border-radius: 9999px;
    background: rgb(236 253 245);
    font-size: 0.6875rem;
    font-weight: 700;
    color: rgb(4 120 87);
}

.store-qty-stepper {
    display: flex;
    align-items: stretch;
    gap: 0.625rem;
}

.store-qty-stepper-btn {
    display: grid;
    place-items: center;
    width: 2.75rem;
    flex-shrink: 0;
    border: 1px solid rgb(226 232 240);
    border-radius: 0.75rem;
    background: #fff;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1;
    color: rgb(51 65 85);
    cursor: pointer;
    transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}

.store-qty-stepper-btn:hover {
    border-color: rgb(167 243 208);
    background: rgb(236 253 245);
    color: rgb(4 120 87);
}

.store-qty-stepper-btn:active {
    transform: scale(0.97);
}

.store-qty-stepper-field {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    min-width: 0;
    padding: 0.5rem 0.75rem;
    border: 1px solid rgb(226 232 240);
    border-radius: 0.75rem;
    background: rgb(248 250 252);
}

.store-qty-stepper-input {
    width: 100%;
    max-width: 5rem;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 1.375rem;
    font-weight: 800;
    text-align: center;
    color: rgb(15 23 42);
    font-variant-numeric: tabular-nums;
    outline: none;
    -moz-appearance: textfield;
}

.store-qty-stepper-input::-webkit-outer-spin-button,
.store-qty-stepper-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.store-qty-stepper-unit {
    font-size: 0.6875rem;
    font-weight: 600;
    color: rgb(100 116 139);
    text-transform: lowercase;
}

.store-qty-hint {
    margin-top: 0.625rem;
    font-size: 0.6875rem;
    color: rgb(148 163 184);
}

.store-pay-methods {
    display: grid;
    gap: 0.5rem;
}

.store-pay-methods--grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.store-pay-method {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-height: 3.25rem;
    padding: 0.5rem 0.625rem;
    border: 1px solid rgb(226 232 240);
    border-radius: 0.625rem;
    background: #fff;
    cursor: pointer;
    transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.store-pay-method--wide {
    grid-column: 1 / -1;
}

.store-pay-method.is-selected {
    border-color: rgb(5 150 105);
    background: rgb(236 253 245 / 0.55);
    box-shadow: 0 0 0 1px rgb(5 150 105 / 0.15);
}

.store-pay-method.is-disabled {
    cursor: not-allowed;
    opacity: 0.58;
    background: rgb(248 250 252);
}

.store-pay-method.is-disabled .store-pay-method-label {
    color: rgb(100 116 139);
}

.store-pay-method-input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.store-pay-method-icon {
    font-size: 1.125rem;
    line-height: 1;
    flex-shrink: 0;
}

.store-pay-method-body {
    display: flex;
    flex-direction: column;
    gap: 0.0625rem;
    min-width: 0;
}

.store-pay-method-label {
    font-size: 0.75rem;
    font-weight: 800;
    color: rgb(15 23 42);
}

.store-pay-method-hint {
    font-size: 0.5625rem;
    line-height: 1.3;
    color: rgb(100 116 139);
}

.store-checkout-summary-wrap {
    margin-top: 1rem;
    border: 1px solid rgb(226 232 240);
    border-radius: 0.75rem;
    background: rgb(248 250 252);
    overflow: hidden;
}

.store-checkout-summary-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.625rem 0.75rem;
    font-size: 0.75rem;
    font-weight: 800;
    color: rgb(51 65 85);
    cursor: pointer;
    list-style: none;
}

.store-checkout-summary-toggle::-webkit-details-marker {
    display: none;
}

.store-checkout-summary {
    padding: 0 0.75rem 0.75rem;
}

.store-summary-row {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    padding-block: 0.1875rem;
    font-size: 0.75rem;
    color: rgb(100 116 139);
}

.store-summary-row strong {
    color: rgb(15 23 42);
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.store-summary-row--discount strong {
    color: rgb(4 120 87);
}

.store-summary-total {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    margin-top: 0.375rem;
    padding-top: 0.5rem;
    border-top: 1px solid rgb(226 232 240);
    font-size: 0.875rem;
    font-weight: 800;
}

.store-summary-total strong {
    color: rgb(4 120 87);
    font-size: 1.0625rem;
    font-variant-numeric: tabular-nums;
}

.store-checkout-hint {
    margin-top: 0.5rem;
    font-size: 0.6875rem;
    line-height: 1.45;
    color: rgb(100 116 139);
}

.store-payment-compare {
    margin-top: 0.625rem;
    padding: 0.625rem;
    border: 1px solid rgb(226 232 240);
    border-radius: 0.5rem;
    background: #fff;
    font-size: 0.6875rem;
}

.store-payment-compare.hidden {
    display: none;
}

.store-compare-title {
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: rgb(100 116 139);
}

.store-compare-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.375rem;
    margin-top: 0.375rem;
}

.store-compare-card {
    padding: 0.375rem;
    border: 1px solid rgb(226 232 240);
    border-radius: 0.4375rem;
    text-align: center;
}

.store-compare-card.is-active {
    border-color: rgb(5 150 105);
    background: rgb(236 253 245);
}

.store-compare-card strong {
    display: block;
    margin-top: 0.125rem;
    font-size: 0.8125rem;
    color: rgb(15 23 42);
}

.store-compare-note {
    margin-top: 0.375rem;
    line-height: 1.45;
    color: rgb(71 85 105);
}

.store-checkout-msg {
    margin-top: 0.625rem;
    text-align: center;
    font-size: 0.8125rem;
    font-weight: 700;
}

.store-checkout-msg.hidden {
    display: none;
}

.store-checkout-msg--error {
    color: rgb(190 18 60);
}

.store-checkout-actions {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
    margin-top: 1rem;
}

.store-checkout-submit {
    min-height: 3rem;
    border-radius: 0.875rem;
    font-size: 0.9375rem;
    font-weight: 800;
    letter-spacing: -0.01em;
    box-shadow: none;
}

.store-checkout-submit:hover:not(:disabled) {
    box-shadow: none;
    transform: translateY(-1px);
}

.store-checkout-submit:active:not(:disabled) {
    transform: translateY(0);
}

.store-checkout-wa {
    min-height: 2.75rem;
    border-radius: 0.875rem;
    border-color: rgb(226 232 240);
    background: rgb(248 250 252);
    font-size: 0.8125rem;
    font-weight: 700;
    color: rgb(71 85 105);
    text-decoration: none;
}

.store-checkout-wa:hover {
    border-color: rgb(167 243 208);
    background: rgb(236 253 245);
    color: rgb(4 120 87);
}

.store-checkout-flow-note {
    display: grid;
    gap: 0.1875rem;
    margin: 0 0 1rem;
    padding: 0.75rem 0.875rem;
    border-radius: 0.875rem;
    border: 1px solid rgb(191 219 254 / 0.9);
    background: linear-gradient(135deg, rgb(239 246 255), rgb(255 255 255));
    font-size: 0.75rem;
    line-height: 1.45;
    color: rgb(51 65 85);
}

.store-checkout-flow-note strong {
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgb(29 78 216);
}

.store-checkout-actions {
    display: grid;
    gap: 0.625rem;
}

.store-checkout-cart-link,
.store-checkout-wa-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.375rem;
    min-height: 2.25rem;
    font-size: 0.8125rem;
    font-weight: 700;
    color: rgb(4 120 87);
    text-decoration: none;
}

.store-checkout-wa-link {
    color: rgb(71 85 105);
    font-weight: 600;
}

.store-checkout-cart-link:hover,
.store-checkout-wa-link:hover {
    color: rgb(5 150 105);
    text-decoration: underline;
}

@media (max-width: 959px) {
    .store-checkout-actions--desktop > .store-checkout-submit {
        display: none;
    }

    .store-checkout-panel--compact .store-checkout-actions--desktop {
        display: grid;
        margin-top: 0.75rem;
    }
}

.store-checkout-bar {
    position: fixed;
    inset-inline: 0;
    bottom: 0;
    z-index: 40;
    border-top: 1px solid rgb(226 232 240);
    background: rgb(255 255 255 / 0.97);
    padding: 0.625rem 0.75rem calc(0.625rem + env(safe-area-inset-bottom, 0));
    box-shadow: 0 -8px 24px rgb(15 23 42 / 0.06);
    box-sizing: border-box;
}

@media (min-width: 960px) {
    .store-checkout-bar {
        display: none;
    }
}

.store-checkout-bar-inner {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
    max-width: 28.5rem;
    margin-inline: auto;
    min-width: 0;
    box-sizing: border-box;
}

.store-checkout-bar-cart {
    display: grid;
    place-items: center;
    width: 2.75rem;
    height: 2.75rem;
    flex-shrink: 0;
    border: 1px solid rgb(167 243 208);
    border-radius: 0.875rem;
    background: rgb(236 253 245);
    color: rgb(4 120 87);
    cursor: pointer;
}

.store-checkout-bar-total {
    flex: 1;
    min-width: 0;
}

.store-checkout-bar-label {
    display: block;
    font-size: 0.5625rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgb(148 163 184);
}

.store-checkout-bar-amount {
    display: block;
    font-size: 1rem;
    font-weight: 800;
    color: rgb(4 120 87);
    font-variant-numeric: tabular-nums;
}

.store-checkout-bar-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 1 auto;
    min-width: 7rem;
    max-width: 11rem;
    min-height: 2.75rem;
    padding-inline: 1rem;
    border: none;
    border-radius: 0.875rem;
    background: rgb(5 150 105);
    color: #fff;
    font-family: inherit;
    font-size: 0.8125rem;
    font-weight: 800;
    cursor: pointer;
    box-shadow: none;
    white-space: nowrap;
    transition: background-color 0.15s ease, transform 0.15s ease;
}

@media (max-width: 359px) {
    .store-checkout-bar-btn {
        min-width: 5.75rem;
        padding-inline: 0.75rem;
        font-size: 0.75rem;
    }

    .store-checkout-bar-amount {
        font-size: 0.9375rem;
    }
}

.store-checkout-bar-btn:hover:not(:disabled) {
    background: rgb(4 120 87);
}

.store-checkout-bar-btn:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

.store-honeypot {
    position: absolute;
    left: -9999px;
    width: 0;
    height: 0;
    opacity: 0;
}

.store-order-modal {
    position: fixed;
    inset: 0;
    z-index: 60;
    display: grid;
    place-items: center;
    padding: 1rem;
}

.store-order-modal.hidden {
    display: none;
}

.store-order-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgb(15 23 42 / 0.45);
}

.store-order-modal-panel {
    position: relative;
    width: min(100%, 22rem);
    padding: 1.25rem;
    border-radius: 1rem;
    background: #fff;
    text-align: center;
    box-shadow: none;
}

.store-order-modal-icon {
    display: grid;
    place-items: center;
    width: 3rem;
    height: 3rem;
    margin-inline: auto;
    border-radius: 9999px;
    background: rgb(236 253 245);
    color: rgb(4 120 87);
    font-size: 1.25rem;
    font-weight: 800;
}

.store-order-modal-title {
    margin-top: 0.75rem;
    font-size: 1.0625rem;
    font-weight: 800;
}

.store-order-modal-text {
    margin-top: 0.375rem;
    font-size: 0.8125rem;
    color: rgb(71 85 105);
    line-height: 1.45;
}

.store-order-modal-extra {
    margin-top: 0.25rem;
    font-size: 0.75rem;
    word-break: break-word;
}

.store-order-modal-order {
    margin-top: 0.625rem;
    font-size: 0.75rem;
    color: rgb(100 116 139);
}

.store-order-modal-actions {
    margin-top: 1rem;
}

@media (max-width: 639px) {
    .store-hero-btn-text {
        display: none;
    }

    .store-hero-title {
        font-size: 1.125rem;
    }
}

/* Ã¢â‚¬â€Ã¢â‚¬â€ Compact product checkout panel Ã¢â‚¬â€Ã¢â‚¬â€ */
.store-checkout-panel--compact {
    padding: 0.875rem;
    display: grid;
    gap: 0;
}

.store-checkout-panel--compact .store-checkout-head {
    padding-bottom: 0.625rem;
}

.store-checkout-head-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}

.store-checkout-head-row .store-checkout-title {
    font-size: 0.9375rem;
}

.store-checkout-head-row .store-checkout-sub {
    margin-top: 0.125rem;
    max-width: 12rem;
    line-height: 1.35;
}

.store-checkout-steps--mini {
    flex: 0 0 auto;
    display: flex;
    gap: 0.375rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.store-checkout-steps--mini .store-checkout-step {
    flex: none;
    width: 1.625rem;
    height: 1.625rem;
    padding: 0;
    border-radius: 9999px;
    background: rgb(241 245 249);
    font-size: 0;
}

.store-checkout-steps--mini .store-checkout-step span {
    width: 100%;
    height: 100%;
    font-size: 0.625rem;
    background: transparent;
    color: inherit;
}

.store-checkout-steps--mini .store-checkout-step.is-active {
    background: rgb(16 185 129);
    color: #fff;
}

.store-checkout-steps--mini .store-checkout-step.is-active span {
    background: transparent;
    color: #fff;
}

.store-checkout-steps--mini .store-checkout-step.is-done {
    background: rgb(209 250 229);
    color: rgb(4 120 87);
}

.store-checkout-panel--compact .store-checkout-block {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
}

.store-checkout-panel--compact .store-checkout-block--qty {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid rgb(241 245 249);
}

.store-checkout-inline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.store-checkout-inline-label {
    min-width: 0;
}

.store-checkout-inline-label .store-checkout-block-title {
    margin: 0;
}

.store-checkout-inline .store-qty-hint {
    margin-top: 0.125rem;
    font-size: 0.625rem;
}

.store-checkout-inline .store-qty-stepper {
    flex: 0 0 auto;
    gap: 0.375rem;
    max-width: 11.5rem;
}

.store-checkout-inline .store-qty-stepper-btn {
    width: 2.25rem;
    border-radius: 0.625rem;
    font-size: 1.125rem;
}

.store-checkout-inline .store-qty-stepper-field {
    padding: 0.25rem 0.5rem;
    border-radius: 0.625rem;
    gap: 0;
}

.store-checkout-inline .store-qty-stepper-input {
    font-size: 1.125rem;
    max-width: 3rem;
}

.store-checkout-inline .store-qty-stepper-unit {
    font-size: 0.5625rem;
}

.store-checkout-block-title--section {
    margin-bottom: 0.625rem;
}

.store-recipient-fields--compact {
    gap: 0.625rem;
}

.store-recipient-grid {
    display: grid;
    gap: 0.625rem;
}

@media (min-width: 420px) {
    .store-recipient-grid {
        grid-template-columns: 1fr 1fr;
        gap: 0.5rem 0.625rem;
    }
}

.store-recipient-fields--compact .store-recipient-field {
    gap: 0.3125rem;
}

.store-recipient-fields--compact .store-recipient-label {
    font-size: 0.625rem;
}

.store-recipient-fields--compact .store-recipient-input-wrap {
    min-height: 2.5rem;
    padding: 0.375rem 0.625rem;
    border-radius: 0.75rem;
    gap: 0.5rem;
}

.store-recipient-fields--compact .store-recipient-icon {
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 0.4375rem;
}

.store-recipient-fields--compact .store-recipient-input {
    font-size: 0.8125rem;
}

.store-checkout-wilayah {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    margin-top: 0.25rem;
}

/* Nama wilayah selalu UCASE di trigger & daftar opsi */
.store-checkout-wilayah .smart-select-value-label,
.store-checkout-wilayah .smart-select-option-label,
.profile-wilayah .smart-select-value-label,
.profile-wilayah .smart-select-option-label {
    text-transform: uppercase;
}

.store-checkout-wilayah-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.55rem;
    overflow: visible;
    min-width: 0;
}

@media (min-width: 960px) {
    .store-checkout-wilayah-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.65rem 0.75rem;
    }
}

.store-checkout-wilayah .store-recipient-field,
.store-checkout-wilayah .smart-select {
    width: 100%;
    min-width: 0;
    max-width: 100%;
}

.store-checkout-wilayah .store-recipient-select,
.store-checkout-wilayah select.form-select {
    width: 100%;
    min-height: 2.55rem;
}

/* Panel & label select penuh lebar trigger */
.store-checkout-wilayah .smart-select-panel {
    left: 0;
    right: 0;
    width: 100%;
    min-width: 100%;
    max-width: 100%;
}

.store-checkout-wilayah .smart-select-value-label,
.store-checkout-wilayah .smart-select-option-label {
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
    line-height: 1.3;
}

.store-checkout-wilayah .smart-select-option {
    align-items: flex-start;
    white-space: normal;
}

.store-checkout-wilayah-preview {
    margin: 0;
    padding: 0.45rem 0.6rem;
    border-radius: 0.5rem;
    background: rgb(248 250 252);
    border: 1px dashed rgb(203 213 225);
    color: rgb(71 85 105);
    font-size: 0.78rem;
    line-height: 1.4;
}

.store-checkout-shipping-note {
    margin: 0;
    font-size: 0.75rem;
    line-height: 1.4;
    color: rgb(100 116 139);
}

.admin-shipping-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem 1rem;
}

@media (max-width: 720px) {
    .admin-shipping-grid {
        grid-template-columns: 1fr;
    }
}

.store-recipient-textarea--compact {
    min-height: 2.75rem;
    resize: vertical;
}

.store-checkout-notes {
    border: 1px dashed rgb(226 232 240);
    border-radius: 0.75rem;
    background: rgb(248 250 252 / 0.7);
    overflow: hidden;
}

.store-checkout-notes > summary {
    padding: 0.5rem 0.75rem;
    font-size: 0.6875rem;
    font-weight: 700;
    color: rgb(71 85 105);
    cursor: pointer;
    list-style: none;
}

.store-checkout-notes > summary::-webkit-details-marker {
    display: none;
}

.store-checkout-notes > summary span {
    font-weight: 600;
    color: rgb(148 163 184);
}

.store-checkout-notes[open] > summary {
    border-bottom: 1px solid rgb(241 245 249);
}

.store-checkout-notes .store-recipient-field {
    padding: 0.5rem 0.75rem 0.625rem;
}

.store-pay-methods--compact {
    gap: 0.5rem;
}

.store-pay-methods--compact .store-pay-method {
    padding: 0.5rem 0.625rem;
    border-radius: 0.75rem;
    gap: 0.5rem;
    min-height: 0;
}

.store-pay-methods--compact .store-pay-method-icon {
    font-size: 1rem;
    width: 1.75rem;
    text-align: center;
}

.store-pay-methods--compact .store-pay-method-label {
    font-size: 0.75rem;
}

.store-pay-methods--compact .store-pay-method-hint {
    font-size: 0.625rem;
    line-height: 1.25;
}

.store-pay-methods--compact .store-pay-method.is-disabled .store-pay-method-hint {
    display: none;
}

.store-checkout-panel--compact .store-checkout-summary-wrap {
    margin-top: 0.75rem;
}

.store-checkout-summary-live {
    font-size: 0.8125rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    color: rgb(4 120 87);
}

.store-checkout-panel--compact .store-checkout-actions {
    margin-top: 0.875rem;
    gap: 0.625rem;
}

.store-checkout-panel--compact .store-checkout-submit {
    min-height: 2.75rem;
    border-radius: 0.75rem;
    font-size: 0.875rem;
}

.store-checkout-cart-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(6.25rem, auto);
    gap: 0.5rem;
    align-items: stretch;
}

.store-checkout-cart-save,
.store-checkout-cart-view {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.375rem;
    min-height: 2.5rem;
    padding: 0.5rem 0.75rem;
    border: 1px solid rgb(167 243 208);
    border-radius: 0.75rem;
    background: rgb(236 253 245);
    color: rgb(4 120 87);
    font-family: inherit;
    font-size: 0.8125rem;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.store-checkout-cart-save:hover,
.store-checkout-cart-view:hover {
    background: rgb(209 250 229);
    border-color: rgb(52 211 153);
    color: rgb(6 95 70);
}

.store-checkout-cart-save:active,
.store-checkout-cart-view:active {
    transform: scale(0.98);
}

.store-checkout-cart-view {
    position: relative;
    padding-inline: 0.875rem;
    background: #fff;
    border-color: rgb(226 232 240);
    color: rgb(51 65 85);
}

.store-checkout-cart-view:hover {
    background: rgb(248 250 252);
    border-color: rgb(167 243 208);
    color: rgb(4 120 87);
}

.store-checkout-cart-view .store-dock-badge {
    position: static;
    margin-left: 0.125rem;
    box-shadow: none;
    top: auto;
    right: auto;
}

.store-checkout-panel--compact .store-checkout-wa-link {
    min-height: 1.75rem;
    font-size: 0.75rem;
    margin-top: 0.125rem;
}

.store-checkout-panel--compact .store-checkout-msg {
    margin-top: 0.625rem;
}

@media (max-width: 959px) {
    .store-product-main {
        gap: 0.875rem;
    }

    .store-product-details {
        gap: 0.625rem;
    }

    .store-product-fold-head {
        padding: 0.8rem 0.9rem;
    }

    .store-product-fold-body {
        padding: 0.8rem 0.9rem 0.95rem;
    }

    .store-checkout {
        margin-top: 0.25rem;
    }
}

/* Ã¢â‚¬â€Ã¢â‚¬â€ Product buy panel (detail Ã¢â€ â€™ checkout) Ã¢â‚¬â€Ã¢â‚¬â€ */
.store-product-buy {
    position: relative;
}

@media (min-width: 960px) {
    .store-product-buy {
        position: sticky;
        top: 1rem;
    }
}

.store-product-buy-panel {
    padding: 1.125rem;
    border: 1px solid rgb(167 243 208 / 0.65);
    border-radius: var(--store-product-radius, 1.125rem);
    background: linear-gradient(180deg, #fff 0%, rgb(248 250 252) 100%);
    box-shadow: none;
    display: grid;
    gap: 0.625rem;
}

.store-product-buy-title {
    margin: 0;
    font-size: var(--text-lg, 0.9375rem);
    font-weight: 700;
    color: rgb(15 23 42);
    letter-spacing: -0.015em;
}

.store-product-buy-sub {
    margin: 0;
    font-size: var(--text-sm, 0.8125rem);
    font-weight: 500;
    line-height: 1.45;
    color: rgb(100 116 139);
}

.store-product-buy-primary,
.store-product-bar-buy {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.375rem;
    min-height: 2.75rem;
    padding: 0.625rem 1rem;
    border-radius: 0.75rem;
    border: 1px solid rgb(5 150 105);
    background: linear-gradient(145deg, rgb(16 185 129), rgb(5 150 105));
    color: #fff;
    font-family: inherit;
    font-size: 0.875rem;
    font-weight: 800;
    text-decoration: none;
    box-shadow: none;
    cursor: pointer;
}

.store-product-buy-primary:disabled {
    opacity: 0.55;
    cursor: not-allowed;
    box-shadow: none;
}

.store-product-buy-row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0.5rem;
}

.store-product-buy-cart,
.store-product-buy-view {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.375rem;
    min-height: 2.5rem;
    padding: 0.5rem 0.75rem;
    border-radius: 0.75rem;
    border: 1px solid rgb(167 243 208);
    background: rgb(236 253 245);
    color: rgb(4 120 87);
    font-family: inherit;
    font-size: 0.8125rem;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
}

.store-product-buy-view {
    background: #fff;
    border-color: rgb(226 232 240);
    color: rgb(51 65 85);
    padding-inline: 0.875rem;
}

.store-product-buy-view .store-dock-badge {
    position: static;
    margin-left: 0.125rem;
    box-shadow: none;
}

.store-product-buy-wa .ui-brand-icon,
.store-product-buy-wa .ui-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.15rem;
    height: 1.15rem;
    flex-shrink: 0;
}

.store-product-buy-wa .ui-brand-icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

.store-product-buy-wa {    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.375rem;
    min-height: 1.75rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: rgb(71 85 105);
    text-decoration: none;
}

.store-product-buy-wa:hover {
    color: rgb(4 120 87);
}

.store-product-bar {
    position: fixed;
    inset-inline: 0;
    bottom: 0;
    z-index: 40;
    border-top: 1px solid rgb(226 232 240);
    background: rgb(255 255 255 / 0.96);
    padding: 0.625rem 1rem calc(0.625rem + env(safe-area-inset-bottom, 0));
    box-shadow: none;
}

@media (min-width: 960px) {
    .store-product-bar {
        display: none;
    }
}

.store-product-bar-inner {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    max-width: 960px;
    margin-inline: auto;
}

.store-product-bar-cart {
    display: grid;
    place-items: center;
    width: 2.75rem;
    height: 2.75rem;
    flex-shrink: 0;
    border: 1px solid rgb(167 243 208);
    border-radius: 0.875rem;
    background: rgb(236 253 245);
    color: rgb(4 120 87);
    cursor: pointer;
}

.store-product-bar-buy {
    flex: 1;
    min-height: 2.75rem;
}

.store-product-page {
    padding-bottom: calc(5.5rem + env(safe-area-inset-bottom, 0));
}

@media (min-width: 960px) {
    .store-product-page {
        padding-bottom: 2rem;
    }
}

/* Ã¢â‚¬â€Ã¢â‚¬â€ Dedicated checkout page (selaras layout + topbar detail produk) Ã¢â‚¬â€Ã¢â‚¬â€ */
.store-body--app:has(.store-checkout-app) {
    padding-bottom: calc(5.5rem + env(safe-area-inset-bottom, 0));
    overflow-x: clip;
}

@media (min-width: 960px) {
    .store-body--app:has(.store-checkout-app) {
        padding-bottom: 0;
    }
}

.store-checkout-app {
    --store-checkout-pad: 1rem;
    --store-product-pad: 1rem; /* samakan token padding topbar produk */
    width: 100%;
    max-width: none;
    min-width: 0;
    margin-inline: 0;
    padding: 0;
    padding-bottom: calc(5.5rem + env(safe-area-inset-bottom, 0));
    box-sizing: border-box;
    overflow-x: clip;
}

.store-checkout-app .store-product-topbar {
    /* pakai desain topbar detail produk apa adanya */
    z-index: 50;
}

.store-checkout-main {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0.875rem var(--store-checkout-pad) 1rem;
    display: grid;
    gap: 0.875rem;
    box-sizing: border-box;
}

.store-checkout-layout {
    display: grid;
    gap: 0.875rem;
    width: 100%;
    min-width: 0;
}

.store-checkout-primary {
    display: grid;
    gap: 0.625rem;
    width: 100%;
    max-width: 28.5rem;
    min-width: 0;
    margin-inline: auto;
}

.store-checkout-aside {
    width: 100%;
    min-width: 0;
    max-width: 100%;
}

@media (min-width: 960px) {
    .store-checkout-app {
        width: min(100% - 2rem, 68rem);
        margin-inline: auto;
        padding-top: 1.25rem;
        padding-bottom: 2.5rem;
    }

    .store-checkout-main {
        padding: 0;
        gap: 1.125rem;
    }

    .store-checkout-layout--with-aside {
        grid-template-columns: minmax(0, 1fr) minmax(17rem, 22rem);
        gap: 1.75rem;
        align-items: start;
    }

    .store-checkout-layout--with-aside .store-checkout-primary {
        width: 100%;
        max-width: none;
        margin-inline: 0;
    }

    .store-checkout-primary {
        max-width: 36rem;
        margin-inline: 0;
    }

    .store-checkout-app:not(:has(.store-checkout-layout--with-aside)) .store-checkout-primary {
        margin-inline: auto;
    }

    .store-checkout-aside {
        position: sticky;
        top: 1.25rem;
        align-self: start;
    }
}

@media (min-width: 1280px) {
    .store-checkout-app {
        width: min(100% - 2rem, 72rem);
    }

    .store-checkout-layout--with-aside {
        grid-template-columns: minmax(0, 1fr) minmax(18rem, 24rem);
        gap: 1.75rem;
    }
}

/* Sidebar produk terkait */
.store-checkout-related {
    border-radius: 1rem;
    border: 1px solid rgb(226 232 240 / 0.95);
    background:
        linear-gradient(165deg, rgb(248 253 250) 0%, rgb(255 255 255) 42%, rgb(255 255 255) 100%);
    box-shadow: none;
    overflow: hidden;
}

.store-checkout-related-head {
    padding: 0.875rem 0.9375rem 0.625rem;
    border-bottom: 1px solid rgb(241 245 249);
}

.store-checkout-related-kicker {
    margin: 0;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgb(4 120 87);
}

.store-checkout-related-title {
    margin: 0.2rem 0 0;
    font-size: 0.9375rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: rgb(15 23 42);
    line-height: 1.25;
}

.store-checkout-related-lead {
    margin: 0.2rem 0 0;
    font-size: 0.6875rem;
    color: rgb(100 116 139);
    line-height: 1.35;
}

.store-checkout-related-list {
    list-style: none;
    margin: 0;
    padding: 0.5rem;
    display: grid;
    gap: 0.5rem;
}

.store-checkout-related-item {
    display: grid;
    gap: 0.5rem;
    padding: 0.5rem;
    border-radius: 0.75rem;
    border: 1px solid rgb(241 245 249);
    background: #fff;
    transition: border-color 0.15s ease, background 0.15s ease;
}

.store-checkout-related-item:hover {
    border-color: rgb(167 243 208 / 0.9);
    background: rgb(248 253 250);
}

.store-checkout-related-link {
    display: grid;
    grid-template-columns: 3.75rem minmax(0, 1fr);
    gap: 0.625rem;
    align-items: start;
    color: inherit;
    text-decoration: none;
    min-width: 0;
}

.store-checkout-related-media {
    position: relative;
    aspect-ratio: 1;
    overflow: hidden;
    border-radius: 0.5625rem;
    background: rgb(248 250 252);
}

.store-checkout-related-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.store-checkout-related-placeholder {
    display: grid;
    place-items: center;
    height: 100%;
    color: rgb(203 213 225);
}

.store-checkout-related-badge {
    position: absolute;
    top: 0.25rem;
    left: 0.25rem;
    padding: 0.1rem 0.3125rem;
    border-radius: 9999px;
    font-size: 0.5625rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    line-height: 1.2;
}

.store-checkout-related-badge--out {
    background: rgb(15 23 42);
    color: #fff;
}

.store-checkout-related-badge--low {
    background: rgb(254 243 199);
    color: rgb(146 64 14);
}

.store-checkout-related-body {
    display: grid;
    gap: 0.15rem;
    min-width: 0;
    padding-top: 0.0625rem;
}

.store-checkout-related-cat {
    font-size: 0.5625rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgb(4 120 87);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.store-checkout-related-name {
    font-size: 0.75rem;
    font-weight: 800;
    line-height: 1.3;
    color: rgb(15 23 42);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.store-checkout-related-price {
    margin-top: 0.125rem;
    font-size: 0.8125rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    color: rgb(4 120 87);
    line-height: 1.25;
}

.store-checkout-related-unit {
    font-size: 0.625rem;
    font-weight: 600;
    color: rgb(148 163 184);
}

.store-checkout-related-actions {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0.375rem;
}

.store-checkout-related-add,
.store-checkout-related-buy {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.3rem;
    box-sizing: border-box;
    height: 1.875rem;
    min-height: 1.875rem;
    padding: 0 0.625rem;
    border-radius: 0.5rem;
    font-family: inherit;
    font-size: 0.6875rem;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.store-checkout-related-add {
    border: 1px solid rgb(167 243 208);
    background: rgb(236 253 245);
    color: rgb(4 120 87);
}

.store-checkout-related-add .ui-icon {
    font-size: 0.8125rem;
    line-height: 1;
}

.store-checkout-related-add:hover {
    background: rgb(209 250 229);
    border-color: rgb(52 211 153);
}

.store-checkout-related-buy {
    border: 1px solid rgb(5 150 105);
    background: rgb(5 150 105);
    color: #fff;
    padding-inline: 0.75rem;
}

.store-checkout-related-buy:hover {
    background: rgb(4 120 87);
    border-color: rgb(4 120 87);
}

.store-checkout-related-soldout {
    margin: 0;
    font-size: 0.6875rem;
    font-weight: 700;
    color: rgb(148 163 184);
    text-align: center;
}

.store-checkout-related-more {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    margin: 0;
    padding: 0.75rem 0.875rem;
    border-top: 1px solid rgb(241 245 249);
    font-size: 0.75rem;
    font-weight: 800;
    color: rgb(4 120 87);
    text-decoration: none;
    background: rgb(255 255 255 / 0.65);
}

.store-checkout-related-more:hover {
    background: rgb(236 253 245 / 0.75);
}

/* Mobile: carousel horizontal terkurung (tidak pecahkan layout) */
@media (max-width: 959px) {
    .store-checkout-related {
        max-width: 100%;
    }

    .store-checkout-related-head {
        padding: 0.75rem 0.875rem 0.5rem;
    }

    .store-checkout-related-list {
        display: flex;
        gap: 0.625rem;
        padding: 0.5rem 0.75rem 0.75rem;
        margin: 0;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

    .store-checkout-related-list::-webkit-scrollbar {
        display: none;
        width: 0;
        height: 0;
    }

    .store-checkout-related-item {
        flex: 0 0 min(11.25rem, 68%);
        width: min(11.25rem, 68%);
        max-width: 11.25rem;
        scroll-snap-align: start;
        box-sizing: border-box;
    }

    .store-checkout-related-link {
        grid-template-columns: 1fr;
        gap: 0.5rem;
    }

    .store-checkout-related-media {
        aspect-ratio: 1 / 1;
        border-radius: 0.625rem;
    }

    .store-checkout-related-actions {
        grid-template-columns: 1fr 1fr;
    }

    .store-checkout-related-add .ui-svg-icon,
    .store-checkout-related-add .ui-svg-icon svg {
        width: 0.875rem;
        height: 0.875rem;
        color: inherit;
    }
}

.store-checkout-crumb {
    display: none; /* mobile: topbar produk; desktop: seperti breadcrumb detail produk */
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin: 0 0 0.25rem;
    font-size: 0.6875rem;
    color: rgb(148 163 184);
}

@media (min-width: 960px) {
    .store-checkout-crumb {
        display: flex;
    }
}

.store-checkout-crumb a {
    color: rgb(4 120 87);
    font-weight: 700;
    text-decoration: none;
}

.store-checkout-crumb .is-current {
    color: rgb(51 65 85);
    font-weight: 800;
}

.store-checkout-flow {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: 0.25rem;
    margin: 0;
    padding: 0.5rem;
    list-style: none;
    border-radius: 0.875rem;
    border: 1px solid rgb(226 232 240);
    background: #fff;
    font-size: 0.6875rem;
    font-weight: 700;
    color: rgb(148 163 184);
    box-sizing: border-box;
}

.store-checkout-flow li {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    min-width: 0;
    padding: 0.375rem 0.25rem;
    border-radius: 0.625rem;
    text-align: center;
}

.store-checkout-flow li em {
    font-style: normal;
    font-size: 0.625rem;
    font-weight: 700;
    line-height: 1.2;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.store-checkout-flow li span {
    display: grid;
    place-items: center;
    width: 1.375rem;
    height: 1.375rem;
    flex-shrink: 0;
    border-radius: 9999px;
    background: rgb(241 245 249);
    font-size: 0.625rem;
    font-weight: 800;
}

.store-checkout-flow li.is-active {
    color: rgb(4 120 87);
    background: rgb(236 253 245 / 0.85);
}

.store-checkout-flow li.is-active span {
    background: rgb(16 185 129);
    color: #fff;
}

.store-checkout-flow li.is-done {
    color: rgb(4 120 87);
}

.store-checkout-flow li.is-done span {
    background: rgb(209 250 229);
    color: rgb(4 120 87);
}

@media (min-width: 480px) {
    .store-checkout-flow {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.375rem;
        padding: 0.625rem 0.75rem;
    }

    .store-checkout-flow li {
        flex-direction: row;
        justify-content: flex-start;
        padding: 0;
        border-radius: 0;
        background: transparent;
        text-align: left;
    }

    .store-checkout-flow li.is-active {
        background: transparent;
    }

    .store-checkout-flow li em {
        font-size: 0.6875rem;
        white-space: nowrap;
    }
}

.store-checkout-items {
    border-bottom: 1px solid rgb(241 245 249);
}

.store-checkout-items-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.75rem 0.875rem 0.5rem;
}

.store-checkout-items-title {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 800;
    color: rgb(15 23 42);
}

.store-checkout-items-count {
    font-size: 0.6875rem;
    font-weight: 700;
    color: rgb(100 116 139);
}

.store-checkout-items-list {
    display: grid;
}

.store-checkout-line {
    display: grid;
    grid-template-columns: 3.5rem minmax(0, 1fr);
    gap: 0.625rem;
    padding: 0.625rem 0.875rem;
    border-top: 1px solid rgb(241 245 249);
}

.store-checkout-line-media {
    overflow: hidden;
    border-radius: 0.5rem;
    background: rgb(248 250 252);
    aspect-ratio: 1;
}

.store-checkout-line-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.store-checkout-line-body {
    display: grid;
    gap: 0.25rem;
    min-width: 0;
}

.store-checkout-line-name {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 800;
    line-height: 1.3;
    color: rgb(15 23 42);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.store-checkout-line-meta {
    margin: 0;
    font-size: 0.6875rem;
    color: rgb(100 116 139);
}

.store-checkout-line-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-top: 0.125rem;
}

.store-checkout-line-total {
    font-size: 0.8125rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    color: rgb(4 120 87);
}

.store-checkout-sheet {
    border-radius: 1rem;
    border: 1px solid rgb(226 232 240 / 0.95);
    background: #fff;
    box-shadow: none;
    /* visible: agar panel smart-select wilayah tidak terpotong di mobile */
    overflow: visible;
    min-width: 0;
    max-width: 100%;
}

.store-checkout-cart-hint {
    display: grid;
    gap: 0.35rem;
    margin: 0;
    padding: 0.75rem 0.875rem;
    border-bottom: 1px solid rgb(241 245 249);
    background: rgb(236 253 245);
    font-size: 0.75rem;
    line-height: 1.4;
    color: rgb(6 95 70);
}

.store-checkout-cart-hint a {
    font-weight: 800;
    color: rgb(4 120 87);
    text-decoration: none;
}

.store-checkout-cart-hint a:hover {
    text-decoration: underline;
}

.store-checkout-product {
    display: grid;
    grid-template-columns: 3.75rem minmax(0, 1fr);
    gap: 0.75rem;
    align-items: center;
    padding: 0.75rem 0.875rem;
    border-bottom: 1px solid rgb(241 245 249);
    text-decoration: none;
    color: inherit;
    background: linear-gradient(135deg, rgb(255 255 255) 0%, rgb(236 253 245 / 0.45) 100%);
}

.store-checkout-product:hover .store-checkout-product-name {
    color: rgb(4 120 87);
}

.store-checkout-product-media {
    display: block;
    overflow: hidden;
    border-radius: 0.625rem;
    background: rgb(248 250 252);
    aspect-ratio: 1;
}

.store-checkout-product-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.store-checkout-product-placeholder {
    display: grid;
    place-items: center;
    height: 100%;
    color: rgb(203 213 225);
}

.store-checkout-product-info {
    display: grid;
    gap: 0.125rem;
    min-width: 0;
}

.store-checkout-product-cat {
    font-size: 0.5625rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: rgb(4 120 87);
}

.store-checkout-product-name {
    font-size: 0.875rem;
    font-weight: 800;
    line-height: 1.3;
    color: rgb(15 23 42);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.store-checkout-product-meta {
    font-size: 0.6875rem;
    color: rgb(100 116 139);
}

.store-checkout-product-meta strong {
    font-size: 0.8125rem;
    font-weight: 800;
    color: rgb(4 120 87);
}

.store-checkout-product-stock {
    font-weight: 700;
    color: rgb(4 120 87);
}

.store-checkout-product-stock--out {
    color: rgb(190 18 60);
}

.store-checkout-product-stock--low {
    color: rgb(180 83 9);
}

.store-checkout-form {
    padding: 0.75rem 0.875rem 0.875rem;
    display: grid;
    gap: 0;
    min-width: 0;
}

.store-checkout-form-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    padding-bottom: 0.625rem;
    border-bottom: 1px solid rgb(241 245 249);
}

/* Mobile: langkah mini di form disembunyikan Ã¢â‚¬â€ sudah ada flow di atas */
@media (max-width: 719px) {
    .store-checkout-form-head .store-checkout-steps--mini {
        display: none;
    }

    .store-checkout-form {
        padding: 0.75rem 0.75rem 1rem;
    }

    .store-checkout-items-head,
    .store-checkout-line {
        padding-inline: 0.75rem;
    }

    .store-checkout-totals {
        padding-inline: 0.75rem;
    }
}

.store-checkout-form .store-checkout-title {
    margin: 0;
    font-size: 0.9375rem;
}

.store-checkout-form .store-checkout-sub {
    margin-top: 0.125rem;
}

.store-checkout-form .store-checkout-block {
    margin-top: 0.875rem;
    padding-top: 0.875rem;
    border-top: 1px solid rgb(241 245 249);
}

.store-checkout-form .store-checkout-block--qty {
    margin-top: 0.875rem;
}

.store-checkout-pay-note {
    margin: 0 0 0.5rem;
    padding: 0.4375rem 0.625rem;
    border-radius: 0.5rem;
    border: 1px solid rgb(254 243 199);
    background: rgb(255 251 235);
    font-size: 0.6875rem;
    line-height: 1.35;
    color: rgb(120 53 15);
}

.store-checkout-pay-note--warn {
    border-color: rgb(254 202 202);
    background: rgb(254 242 242);
    color: rgb(153 27 27);
}

.store-pay-method.is-disabled .store-pay-method-hint {
    color: rgb(148 163 184);
}

.store-checkout-totals {
    margin-top: 0.875rem;
    padding: 0.75rem 0.875rem;
    border-radius: 0.75rem;
    border: 1px solid rgb(226 232 240);
    background: rgb(248 250 252);
}

.store-checkout-totals-row {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    padding-block: 0.1875rem;
    font-size: 0.75rem;
    color: rgb(100 116 139);
}

.store-checkout-totals-row strong {
    color: rgb(15 23 42);
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.store-checkout-totals-row--discount strong {
    color: rgb(4 120 87);
}

.store-checkout-totals-total {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.75rem;
    margin-top: 0.375rem;
    padding-top: 0.5rem;
    border-top: 1px dashed rgb(203 213 225);
    font-size: 0.8125rem;
    font-weight: 700;
    color: rgb(51 65 85);
}

.store-checkout-totals-total strong {
    font-size: 1.0625rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    color: rgb(4 120 87);
}

.store-checkout-form .store-checkout-hint {
    margin: 0.5rem 0 0;
    font-size: 0.6875rem;
    line-height: 1.4;
    color: rgb(148 163 184);
}

.store-checkout-form .store-checkout-actions {
    margin-top: 0.875rem;
    gap: 0.625rem;
}

.store-checkout-form .store-checkout-submit {
    min-height: 2.75rem;
    border-radius: 0.75rem;
    font-size: 0.875rem;
}

.store-checkout-secondary-links {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    padding-top: 0.125rem;
}

.store-checkout-secondary-links a {
    font-size: 0.75rem;
    font-weight: 700;
    color: rgb(100 116 139);
    text-decoration: none;
}

.store-checkout-secondary-links a:hover {
    color: rgb(4 120 87);
}

.store-checkout-app .store-checkout-actions--desktop {
    display: grid;
}

@media (max-width: 959px) {
    .store-checkout-app .store-checkout-actions--desktop > .store-checkout-submit {
        display: none;
    }

    .store-checkout-app .store-checkout-actions--desktop {
        margin-top: 0.75rem;
    }

    .store-pay-methods--compact {
        grid-template-columns: 1fr;
    }

    .store-pay-methods--compact .store-pay-method--wide {
        grid-column: auto;
    }

    .store-checkout-line-foot {
        flex-wrap: wrap;
        gap: 0.375rem 0.5rem;
    }

    .store-checkout-primary,
    .store-checkout-sheet,
    .store-checkout-form,
    .store-checkout-wilayah,
    .store-recipient-fields,
    .store-pay-methods {
        min-width: 0;
        max-width: 100%;
    }
}

.store-checkout-app .store-checkout-bar {
    bottom: 0;
}

@media (min-width: 960px) {
    .store-checkout-app .store-checkout-bar {
        display: none;
    }
}

/* Ã¢â‚¬â€Ã¢â‚¬â€ SEO Platform Ã¢â‚¬â€Ã¢â‚¬â€ */
.admin-seo-page {
    gap: 1.15rem;
}

.admin-seo-hero {
    display: grid;
    gap: 1.15rem;
    padding: 1.25rem 1.2rem;
    border-radius: calc(var(--admin-radius) + 0.1rem);
    border: 1px solid rgb(15 23 42 / 0.08);
    background:
        linear-gradient(135deg, rgb(15 23 42 / 0.97) 0%, rgb(30 41 59 / 0.94) 52%, rgb(3 55 45 / 0.9) 100%);
    color: #fff;
    box-shadow: 0 16px 36px rgb(15 23 42 / 0.14);
    position: relative;
    overflow: hidden;
}

.admin-seo-hero::before {
    content: "";
    position: absolute;
    inset: auto -20% -55% 40%;
    height: 190%;
    background: radial-gradient(circle, rgb(45 212 191 / 0.28), transparent 58%);
    pointer-events: none;
}

.admin-seo-hero-main,
.admin-seo-metrics {
    position: relative;
    z-index: 1;
}

.admin-seo-hero-main {
    display: flex;
    align-items: flex-start;
    gap: 0.95rem;
    min-width: 0;
}

.admin-seo-hero-mark {
    display: grid;
    place-items: center;
    width: 3rem;
    height: 3rem;
    border-radius: 0.9rem;
    background: linear-gradient(145deg, #ccfbf1, #5eead4);
    color: #0f766e;
    flex-shrink: 0;
    box-shadow: 0 8px 20px rgb(2 8 23 / 0.25);
}

.admin-seo-hero-mark-i {
    font-size: 1.2rem;
    line-height: 1;
}

.admin-seo-hero-copy {
    min-width: 0;
    flex: 1;
}

.admin-seo-hero-title {
    margin: 0.4rem 0 0;
    font-size: var(--admin-fs-hero);
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: var(--admin-lh-tight);
}

.admin-seo-hero-lead {
    margin: 0.3rem 0 0;
    max-width: 40rem;
    font-size: var(--admin-fs-base);
    line-height: var(--admin-lh-body);
    color: rgb(167 243 208 / 0.92);
}

.admin-seo-metrics {
    display: grid;
    gap: 0.55rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width: 900px) {
    .admin-seo-metrics {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (min-width: 1100px) {
    .admin-seo-hero {
        grid-template-columns: minmax(0, 1.15fr) minmax(0, 1.1fr);
        align-items: stretch;
    }

    .admin-seo-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-content: start;
    }
}

.admin-seo-metric {
    padding: 0.75rem 0.85rem;
    border-radius: calc(var(--admin-radius) - 0.15rem);
    background: rgb(255 255 255 / 0.08);
    border: 1px solid rgb(255 255 255 / 0.1);
    min-width: 0;
}

.admin-seo-metric-label {
    margin: 0;
    font-size: var(--admin-fs-xs);
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgb(203 213 225);
}

.admin-seo-metric-value {
    margin: 0.35rem 0 0;
    font-size: var(--admin-fs-lg);
    font-weight: 800;
    letter-spacing: -0.02em;
    font-variant-numeric: tabular-nums;
    line-height: 1.25;
    word-break: break-word;
}

.admin-seo-metric--status .admin-seo-metric-value {
    display: flex;
    align-items: center;
    gap: 0.45rem;
}

.admin-seo-metric-dot {
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 999px;
    background: #94a3b8;
    box-shadow: 0 0 0 3px rgb(148 163 184 / 0.2);
    flex-shrink: 0;
}

.admin-seo-metric--status.is-live .admin-seo-metric-dot {
    background: #34d399;
    box-shadow: 0 0 0 3px rgb(52 211 153 / 0.25);
}

.admin-seo-metric--status.is-live .admin-seo-metric-value {
    color: rgb(167 243 208);
}

.admin-seo-metric--status.is-off .admin-seo-metric-dot {
    background: #fbbf24;
    box-shadow: 0 0 0 3px rgb(251 191 36 / 0.22);
}

.admin-seo-metric--status.is-off .admin-seo-metric-value {
    color: rgb(253 230 138);
}

.admin-seo-grid {
    display: grid;
    gap: 1rem;
    align-items: start;
}

@media (min-width: 1024px) {
    .admin-seo-grid {
        grid-template-columns: minmax(0, 1.3fr) minmax(16rem, 0.7fr);
    }
}

.admin-seo-card-head {
    display: flex;
    align-items: flex-start;
    gap: 0.8rem;
    margin-bottom: 1rem;
}

.admin-seo-card-copy {
    min-width: 0;
}

.admin-seo-card-copy .admin-panel-title {
    margin: 0;
    font-size: var(--admin-fs-xl);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--admin-ink);
}

.admin-seo-card-copy .admin-panel-desc {
    margin: 0.25rem 0 0;
    font-size: var(--admin-fs-sm);
    color: var(--admin-muted);
    line-height: 1.4;
}

.admin-seo-card-icon {
    display: grid;
    place-items: center;
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 0.7rem;
    background: rgb(13 148 136 / 0.12);
    color: #0f766e;
    flex-shrink: 0;
}

.admin-seo-card-icon--preview {
    background: rgb(14 165 233 / 0.12);
    color: #0369a1;
}

.admin-seo-card-icon-i {
    font-size: 1.1rem;
    line-height: 1;
}

.admin-seo-form {
    display: grid;
    gap: 1rem;
}

.admin-seo-field {
    display: grid;
    gap: 0.4rem;
}

.admin-seo-input-wrap {
    display: flex;
    align-items: stretch;
    min-width: 0;
    border: 1px solid var(--admin-line, #cbd5e1);
    border-radius: var(--form-radius, 0.75rem);
    background: #fff;
    overflow: hidden;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.admin-seo-input-wrap:focus-within {
    border-color: var(--form-focus, #0d9488);
    box-shadow: 0 0 0 3px rgb(13 148 136 / 0.15);
}

.admin-seo-input-icon {
    display: grid;
    place-items: center;
    width: 2.6rem;
    flex-shrink: 0;
    color: var(--admin-muted);
    background: var(--admin-surface-2, #f8fafc);
    border-right: 1px solid var(--admin-line, #e2e8f0);
}

.admin-seo-input-icon-i {
    font-size: 1rem;
    line-height: 1;
}

.admin-seo-input-wrap .admin-seo-input,
.admin-seo-input-wrap .form-control {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    min-width: 0;
}

.admin-seo-textarea {
    width: 100%;
    min-height: 5.5rem;
    resize: vertical;
    padding: 0.75rem 0.9rem;
    border: 1px solid var(--form-border, #cbd5e1);
    border-radius: var(--form-radius, 0.75rem);
    font: inherit;
    font-size: var(--admin-fs-base);
    line-height: 1.5;
    color: var(--admin-ink, #0f172a);
    background: #fff;
}

.admin-seo-textarea:focus {
    outline: none;
    border-color: var(--form-focus, #0d9488);
    box-shadow: 0 0 0 3px rgb(13 148 136 / 0.15);
}

.admin-seo-count {
    float: right;
    font-variant-numeric: tabular-nums;
    color: var(--admin-muted);
    font-size: var(--admin-fs-sm);
}

.admin-seo-divider {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin: 0.15rem 0;
    color: var(--admin-muted);
    font-size: var(--admin-fs-xs);
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.admin-seo-divider::before,
.admin-seo-divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--admin-line, #e2e8f0);
}

.admin-seo-toggles {
    display: grid;
    gap: 0.55rem;
}

.admin-seo-toggle {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    padding: 0.8rem 0.85rem;
    border-radius: var(--admin-radius-sm, 0.65rem);
    border: 1px solid var(--admin-line, #e2e8f0);
    background: var(--admin-surface-2, #f8fafc);
    cursor: pointer;
}

.admin-seo-toggle input {
    margin-top: 0.15rem;
    accent-color: #0d9488;
}

.admin-seo-toggle-body {
    display: grid;
    gap: 0.15rem;
    font-size: var(--admin-fs-sm);
    color: var(--admin-muted);
    line-height: 1.4;
}

.admin-seo-toggle-body strong {
    color: var(--admin-ink, var(--admin-text));
    font-size: var(--admin-fs-base);
}

.admin-seo-notes {
    margin: 0;
    padding: 0.75rem 0.85rem 0.75rem 1.35rem;
    border-radius: var(--admin-radius-sm, 0.65rem);
    border: 1px solid var(--admin-line, #e2e8f0);
    background: var(--admin-surface-2, #f8fafc);
    font-size: var(--admin-fs-sm);
    color: var(--admin-muted);
    display: grid;
    gap: 0.3rem;
    line-height: 1.4;
}

.admin-seo-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    padding-top: 0.15rem;
}

.admin-seo-serp {
    padding: 1rem 1.05rem;
    border-radius: calc(var(--admin-radius) - 0.1rem);
    border: 1px solid var(--admin-line, #e2e8f0);
    background: #fff;
}

.admin-seo-serp-url {
    margin: 0;
    font-size: var(--admin-fs-sm);
    color: #202124;
}

.admin-seo-serp-title {
    margin: 0.35rem 0 0;
    font-size: var(--admin-fs-xl);
    line-height: 1.3;
    font-weight: 500;
    color: #1a0dab;
    word-break: break-word;
}

.admin-seo-serp-desc {
    margin: 0.35rem 0 0;
    font-size: var(--admin-fs-sm);
    line-height: 1.5;
    color: #4d5156;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.admin-seo-tips {
    margin-top: 1rem;
    padding: 0.9rem 1rem;
    border-radius: calc(var(--admin-radius) - 0.1rem);
    background: var(--admin-surface-2, #f8fafc);
    border: 1px solid var(--admin-line, #e2e8f0);
}

.admin-seo-tips-title {
    margin: 0;
    font-size: var(--admin-fs-sm);
    font-weight: 700;
    color: var(--admin-ink, #0f172a);
}

.admin-seo-tips ul {
    margin: 0.45rem 0 0;
    padding-left: 1.1rem;
    font-size: var(--admin-fs-sm);
    line-height: 1.55;
    color: var(--admin-muted);
}

.admin-seo-tips li + li {
    margin-top: 0.2rem;
}

.admin-seo-tips strong {
    color: var(--admin-ink, #0f172a);
}

@media (min-width: 1024px) {
    .admin-seo-preview {
        position: sticky;
        top: 1rem;
    }
}

.admin-seo-assets {
    display: grid;
    gap: 1.15rem;
}

.admin-seo-assets--trio {
    grid-template-columns: 1fr;
}

@media (min-width: 720px) {
    .admin-seo-assets--trio {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-seo-assets--trio .admin-seo-asset--wide {
        grid-column: 1 / -1;
    }
}

.admin-seo-asset-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem 0.65rem;
    margin-bottom: 0.25rem;
}

.admin-seo-asset-title {
    margin: 0;
    font-size: var(--admin-fs-md);
    font-weight: 700;
    color: var(--admin-ink, #0f172a);
}

.admin-seo-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    font-size: var(--admin-fs-2xs, 0.6875rem);
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #0f766e;
    background: #ccfbf1;
    border: 1px solid #99f6e4;
}

.admin-seo-badge--og {
    color: #9a3412;
    background: #fff7ed;
    border-color: #fed7aa;
}

.admin-seo-badge--logo {
    color: #065f46;
    background: #ecfdf5;
    border-color: #a7f3d0;
}

.admin-seo-asset-desc {
    margin: 0 0 0.75rem;
    font-size: var(--admin-fs-sm);
    line-height: 1.5;
    color: var(--admin-muted);
}

.admin-seo-drop {
    display: grid;
    gap: 0.75rem;
    padding: 0.85rem;
    border-radius: calc(var(--admin-radius) - 0.05rem);
    border: 1px dashed var(--admin-line, #cbd5e1);
    background: var(--admin-surface-2, #f8fafc);
    transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

@media (min-width: 640px) {
    .admin-seo-drop {
        grid-template-columns: auto 1fr;
        align-items: center;
    }
}

.admin-seo-drop.is-dragover {
    border-color: #0d9488;
    background: rgb(236 253 245);
    box-shadow: 0 0 0 3px rgb(13 148 136 / 0.12);
}

.admin-seo-drop-preview {
    width: 4.5rem;
    height: 4.5rem;
    border-radius: 0.85rem;
    border: 1px solid var(--admin-line, #e2e8f0);
    background: #fff;
    display: grid;
    place-items: center;
    overflow: hidden;
    flex-shrink: 0;
}

.admin-seo-drop-preview--logo {
    width: 7.5rem;
    height: 3.25rem;
    background:
        linear-gradient(45deg, #f1f5f9 25%, transparent 25%),
        linear-gradient(-45deg, #f1f5f9 25%, transparent 25%),
        linear-gradient(45deg, transparent 75%, #f1f5f9 75%),
        linear-gradient(-45deg, transparent 75%, #f1f5f9 75%);
    background-size: 12px 12px;
    background-position: 0 0, 0 6px, 6px -6px, -6px 0;
    background-color: #fff;
}

.admin-seo-drop-preview--og {
    width: 100%;
    max-width: 12.5rem;
    height: auto;
    aspect-ratio: 1200 / 630;
}

.admin-seo-drop-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.admin-seo-drop-img--icon {
    object-fit: contain;
    padding: 0.35rem;
}

.admin-seo-drop-img--logo {
    object-fit: contain;
    padding: 0.3rem 0.45rem;
}

.admin-seo-drop-placeholder {
    color: rgb(148 163 184);
}

.admin-seo-drop-ph-icon {
    font-size: 1.35rem;
}

.admin-seo-drop-meta {
    display: grid;
    gap: 0.4rem;
    min-width: 0;
}

.admin-seo-pick {
    justify-self: start;
    cursor: pointer;
}

.admin-seo-drop-hint {
    margin: 0;
    font-size: var(--admin-fs-xs);
    line-height: 1.45;
    color: var(--admin-muted);
}

.admin-seo-remove {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: var(--admin-fs-sm);
    color: #b91c1c;
    cursor: pointer;
}

.admin-seo-advanced {
    margin-top: 0.65rem;
    border-radius: var(--admin-radius-sm, 0.65rem);
    border: 1px solid var(--admin-line, #e2e8f0);
    background: #fff;
    padding: 0.55rem 0.75rem;
}

.admin-seo-advanced > summary {
    cursor: pointer;
    font-size: var(--admin-fs-sm);
    font-weight: 600;
    color: var(--admin-ink, #334155);
    list-style: none;
}

.admin-seo-advanced > summary::-webkit-details-marker {
    display: none;
}

.admin-seo-brand-preview {
    margin-top: 1rem;
    padding: 0.85rem 1rem;
    border-radius: calc(var(--admin-radius) - 0.1rem);
    border: 1px solid var(--admin-line, #e2e8f0);
    background: #fff;
}

.admin-seo-brand-label {
    margin: 0 0 0.55rem;
    font-size: var(--admin-fs-xs);
    font-weight: 700;
    color: var(--admin-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.admin-seo-brand-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    font-size: var(--admin-fs-md);
    font-weight: 800;
    color: var(--admin-ink, #0f172a);
}

.admin-seo-brand-chip-img {
    width: 2.25rem;
    height: 2.25rem;
    object-fit: contain;
    border-radius: 0.55rem;
    border: 1px solid var(--admin-line, #e2e8f0);
    background: #fff;
    padding: 0.15rem;
}

.admin-seo-brand-chip-fallback {
    display: grid;
    place-items: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 0.55rem;
    background: linear-gradient(135deg, #14b8a6, #0d9488);
    color: #fff;
    font-size: var(--admin-fs-xs);
    font-weight: 800;
}

.site-brand-mark--logo {
    display: grid;
    place-items: center;
    overflow: hidden;
    border-radius: 0.65rem;
    background: transparent;
    flex-shrink: 0;
}

.site-brand-mark-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.site-brand-mark--on-dark {
    background: rgb(255 255 255 / 0.06);
    box-shadow: inset 0 0 0 1px rgb(255 255 255 / 0.08);
}

.admin-seo-og-card {
    margin-top: 1rem;
    border-radius: calc(var(--admin-radius) - 0.1rem);
    border: 1px solid var(--admin-line, #e2e8f0);
    overflow: hidden;
    background: #fff;
}

.admin-seo-og-media {
    aspect-ratio: 1200 / 630;
    background: rgb(241 245 249);
    overflow: hidden;
}

.admin-seo-og-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.admin-seo-og-empty {
    height: 100%;
    min-height: 7rem;
    display: grid;
    place-items: center;
    font-size: var(--admin-fs-sm);
    color: rgb(148 163 184);
}

.admin-seo-og-body {
    padding: 0.75rem 0.85rem 0.9rem;
}

.admin-seo-og-host {
    margin: 0;
    font-size: var(--admin-fs-2xs, 0.6875rem);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--admin-muted);
}

.admin-seo-og-title {
    margin: 0.25rem 0 0;
    font-size: var(--admin-fs-md);
    font-weight: 700;
    line-height: 1.3;
    color: var(--admin-ink, #0f172a);
}

.admin-seo-og-desc {
    margin: 0.3rem 0 0;
    font-size: var(--admin-fs-sm);
    line-height: 1.45;
    color: var(--admin-muted);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Ã¢â‚¬â€Ã¢â‚¬â€ Native checkout payment sheet (QRIS / VA) Ã¢â‚¬â€Ã¢â‚¬â€ */
.store-va-bank-panel {
    margin-top: 0.75rem;
    padding: 0.75rem;
    border-radius: 0.875rem;
    background: linear-gradient(165deg, rgb(248 250 252), rgb(241 245 249));
    border: 1px solid rgb(226 232 240);
}

.store-va-bank-panel.hidden {
    display: none;
}

.store-va-bank-label {
    margin: 0 0 0.5rem;
    font-size: 0.75rem;
    font-weight: 700;
    color: rgb(51 65 85);
}

.store-va-bank-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
}

@media (min-width: 640px) {
    .store-va-bank-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.store-va-bank {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.55rem 0.65rem;
    border-radius: 0.75rem;
    border: 1px solid rgb(226 232 240);
    background: #fff;
    cursor: pointer;
    transition: border-color 0.18s ease, transform 0.18s ease, background 0.18s ease;
}

.store-va-bank:hover {
    border-color: rgb(148 163 184);
}

.store-va-bank.is-selected {
    border-color: rgb(16 185 129);
    background: rgb(236 253 245);
    transform: translateY(-1px);
}

.store-va-bank-input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.store-va-bank-logo,
.store-va-bank-fallback {
    width: 1.75rem;
    height: 1.75rem;
    flex: 0 0 auto;
    object-fit: contain;
}

.store-va-bank-fallback {
    display: grid;
    place-items: center;
    font-size: 1rem;
}

.store-va-bank-name {
    font-size: 0.75rem;
    font-weight: 700;
    color: rgb(30 41 59);
    line-height: 1.25;
}

body.store-pay-sheet-open {
    overflow: hidden;
}

.store-pay-sheet {
    position: fixed;
    inset: 0;
    z-index: 70;
    display: grid;
    align-items: end;
    justify-items: center;
}

.store-pay-sheet.hidden {
    display: none;
}

.store-pay-sheet-backdrop {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(120% 80% at 50% 0%, rgb(16 185 129 / 0.18), transparent 55%),
        rgb(15 23 42 / 0.55);
    animation: store-pay-fade 0.28s ease;
}

.store-pay-sheet-panel {
    position: relative;
    width: min(100%, 28rem);
    max-height: min(94vh, 46rem);
    overflow: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* legacy Edge */
    margin: 0;
    padding: 1rem 1rem 1.25rem;
    border-radius: 1.25rem 1.25rem 0 0;
    background:
        linear-gradient(180deg, rgb(255 255 255) 0%, rgb(248 250 252) 100%);
    box-shadow: 0 -12px 40px rgb(15 23 42 / 0.18);
    animation: store-pay-rise 0.34s cubic-bezier(0.22, 1, 0.36, 1);
}

.store-pay-sheet-panel::-webkit-scrollbar {
    display: none; /* Chrome, Safari, Edge */
    width: 0;
    height: 0;
}

@media (min-width: 720px) {
    .store-pay-sheet {
        place-items: center;
        padding: 1.25rem;
    }

    .store-pay-sheet-panel {
        border-radius: 1.25rem;
        max-height: min(90vh, 44rem);
        box-shadow: 0 24px 60px rgb(15 23 42 / 0.22);
    }
}

@keyframes store-pay-rise {
    from { transform: translateY(1.5rem); opacity: 0.4; }
    to { transform: translateY(0); opacity: 1; }
}

@keyframes store-pay-fade {
    from { opacity: 0; }
    to { opacity: 1; }
}

.store-pay-sheet-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}

.store-pay-sheet-kicker {
    margin: 0;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgb(16 185 129);
}

.store-pay-sheet-title {
    margin: 0.2rem 0 0;
    font-size: 1.125rem;
    font-weight: 800;
    color: rgb(15 23 42);
    line-height: 1.25;
}

.store-pay-sheet-close {
    width: 2rem;
    height: 2rem;
    border: 0;
    border-radius: 9999px;
    background: rgb(241 245 249);
    color: rgb(71 85 105);
    font-size: 1.25rem;
    line-height: 1;
    cursor: pointer;
}

.store-pay-sheet-meta {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 0.875rem;
    padding: 0.75rem 0.875rem;
    border-radius: 0.875rem;
    background: rgb(15 23 42);
    color: #fff;
}

.store-pay-sheet-meta-label {
    display: block;
    font-size: 0.6875rem;
    opacity: 0.72;
    margin-bottom: 0.15rem;
}

.store-pay-sheet-amount {
    font-size: 1.25rem;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.store-pay-sheet-timer strong {
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum";
    font-size: 1.05rem;
    letter-spacing: 0.02em;
    min-width: 5.75rem;
    display: inline-block;
    text-align: right;
}

.store-pay-sheet-timer strong.is-urgent {
    color: rgb(220 38 38);
}

.store-pay-sheet-order {
    margin: 0.55rem 0 0;
    font-size: 0.75rem;
    color: rgb(100 116 139);
}

.store-pay-qris,
.store-pay-va {
    margin-top: 0.875rem;
}

.store-pay-qris.hidden,
.store-pay-va.hidden {
    display: none;
}

.store-pay-qris-frame {
    display: grid;
    justify-items: center;
    gap: 0.65rem;
    padding: 1rem 1rem 0.85rem;
    border-radius: 1rem;
    background:
        linear-gradient(160deg, rgb(239 246 255), rgb(255 255 255) 45%, rgb(236 253 245));
    border: 1px solid rgb(226 232 240);
}

.store-pay-qris-logo {
    width: min(10.5rem, 62%);
    height: auto;
    min-height: 2.25rem;
    max-height: 3rem;
    display: block;
    object-fit: contain;
    object-position: center;
}

.store-pay-qris-logo[src=""] {
    visibility: hidden;
}

.store-pay-qris-code-wrap {
    width: min(100%, 14rem);
    aspect-ratio: 1;
    padding: 0.65rem;
    border-radius: 0.85rem;
    background: #fff;
    border: 1px solid rgb(226 232 240);
}

.store-pay-qris-code {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.store-pay-qris-caption {
    margin: 0;
    font-size: 0.75rem;
    color: rgb(71 85 105);
    text-align: center;
}

.store-pay-va-card {
    padding: 0.95rem;
    border-radius: 1rem;
    background: #fff;
    border: 1px solid rgb(226 232 240);
}

.store-pay-va-bank {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 800;
    color: rgb(30 41 59);
}

.store-pay-va-label {
    margin: 0.55rem 0 0.25rem;
    font-size: 0.6875rem;
    color: rgb(100 116 139);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 700;
}

.store-pay-va-number-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.store-pay-va-number {
    flex: 1;
    font-size: 1.15rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    color: rgb(15 23 42);
    word-break: break-all;
}

.store-pay-copy {
    flex: 0 0 auto;
    border: 0;
    border-radius: 0.65rem;
    padding: 0.45rem 0.75rem;
    background: rgb(16 185 129);
    color: #fff;
    font-size: 0.75rem;
    font-weight: 700;
    cursor: pointer;
}

.store-pay-copy:hover {
    background: rgb(5 150 105);
}

.store-pay-copy-feedback {
    margin: 0.4rem 0 0;
    font-size: 0.75rem;
    color: rgb(4 120 87);
    font-weight: 600;
}

.store-pay-copy-feedback.hidden {
    display: none;
}

.store-pay-status {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.85rem;
    padding: 0.65rem 0.75rem;
    border-radius: 0.75rem;
    background: rgb(241 245 249);
    color: rgb(51 65 85);
    font-size: 0.8125rem;
    font-weight: 600;
}

.store-pay-status-dot {
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 9999px;
    background: rgb(148 163 184);
    flex: 0 0 auto;
}

.store-pay-status.is-pending .store-pay-status-dot {
    background: rgb(245 158 11);
    box-shadow: 0 0 0 0 rgb(245 158 11 / 0.55);
    animation: store-pay-pulse 1.4s ease infinite;
}

.store-pay-status.is-paid {
    background: rgb(236 253 245);
    color: rgb(4 120 87);
}

.store-pay-status.is-paid .store-pay-status-dot {
    background: rgb(16 185 129);
}

.store-pay-status.is-expired {
    background: rgb(254 242 242);
    color: rgb(185 28 28);
}

.store-pay-status.is-expired .store-pay-status-dot {
    background: rgb(239 68 68);
}

@keyframes store-pay-pulse {
    0% { box-shadow: 0 0 0 0 rgb(245 158 11 / 0.45); }
    70% { box-shadow: 0 0 0 0.45rem rgb(245 158 11 / 0); }
    100% { box-shadow: 0 0 0 0 rgb(245 158 11 / 0); }
}

/* Tata cara bayar Ã¢â‚¬â€ card selaras Marketing Toolkit */
.store-pay-howto.share-studio-marketing {
    margin-top: 0.85rem;
    margin-bottom: 0;
    padding: 0.85rem 0.9rem;
    border-radius: 1rem;
}

.store-pay-howto .share-studio-marketing-head {
    gap: 0.65rem 0.75rem;
}

.store-pay-howto .share-studio-marketing-title {
    font-size: 0.9375rem;
}

.store-pay-howto .share-studio-marketing-lead {
    font-size: 0.75rem;
    max-width: none;
}

.store-pay-howto .share-studio-marketing-badge {
    min-width: 3.75rem;
    min-height: 3.75rem;
    padding: 0.4rem 0.5rem;
    border-radius: 0.75rem;
}

.store-pay-howto .share-studio-marketing-badge-num {
    font-size: 1.2rem;
}

.store-pay-howto .share-studio-marketing-badge-label {
    font-size: 0.5rem;
}

.store-pay-howto-tips.share-studio-value-grid {
    grid-template-columns: 1fr;
    gap: 0.4rem;
    margin-top: 0.75rem;
}

@media (min-width: 420px) {
    .store-pay-howto-tips.share-studio-value-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.store-pay-howto .share-studio-value-card {
    padding: 0.5rem 0.55rem;
    gap: 0.4rem;
}

.store-pay-howto .share-studio-value-icon {
    width: 1.6rem;
    height: 1.6rem;
    border-radius: 0.45rem;
    font-size: 0.85rem;
}

.store-pay-howto .share-studio-value-title {
    font-size: 0.6875rem;
}

.store-pay-howto .share-studio-value-desc {
    font-size: 0.625rem;
}

.store-pay-howto-flow.share-studio-flow {
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 0.35rem;
    margin-top: 0.75rem;
}

.store-pay-howto-flow .share-studio-flow-step {
    flex: 1 1 auto;
    width: 100%;
    border-radius: 0.75rem;
    padding: 0.5rem 0.65rem;
    gap: 0.55rem;
}

.store-pay-howto-flow .share-studio-flow-num {
    width: 1.5rem;
    height: 1.5rem;
    font-size: 0.6875rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

.store-pay-howto-flow .share-studio-flow-body {
    font-size: 0.6875rem;
}

.store-pay-howto-flow .share-studio-flow-body strong {
    font-size: 0.75rem;
}

.store-pay-howto-trust.share-studio-trust-bar {
    margin-top: 0.65rem;
    padding-top: 0.65rem;
}

.store-pay-howto .share-studio-trust-tag {
    font-size: 0.625rem;
    padding: 0.25rem 0.5rem;
}

.store-pay-sheet-actions {
    margin-top: 0.95rem;
    display: grid;
    gap: 0.5rem;
}

.store-pay-check-btn {
    min-height: 2.75rem;
}

.store-pay-secondary {
    border: 0;
    background: transparent;
    color: rgb(100 116 139);
    font-size: 0.75rem;
    font-weight: 600;
    cursor: pointer;
    padding: 0.35rem;
}

.store-pay-secondary:hover {
    color: rgb(30 41 59);
}
