/* Devchitra (admin v2): theme v6 "jewel" — the look the owner approved on 18 Oct 2026.
   docs/design/admin-v2/theme.css, carried onto the panel's own markup. Loaded after
   admin-v2.css, which keeps the layout and the Brahmand (dark) palette.

   Shwet (light): warm white canvas, white sidebar, white cards that lift, deep Indian
   jewel colours with one job each, a saffron-to-rose gradient on the main actions.
   Brahmand (dark): unchanged navy + antique gold; it only shares the shapes below. */

/* ---------- Shwet tokens ---------- */
body.admin-v2:not(.theme-dark) {
    --v2-bg: #F7F5F1; --v2-paper: #FFFFFF; --v2-side: #FFFFFF; --v2-panel: #F3F3F0; --v2-hover: #F4F2EE;
    --v2-line: #E7E5DF; --v2-line2: #EFEDE8; --v2-card-b: #ECEAE4;
    --v2-ink: #17151B; --v2-ink2: #3A3640; --v2-muted: #6C6875; --v2-faint: #A19DA8;
    --v2-esp: #17151B; --v2-esp2: #2A2630; --v2-on-esp: #FFFFFF;
    --v2-gold: #DD6B20; --v2-gold4: #FDBA74; --v2-gold-s: #FCEBDD;
    --v2-saf: #DD6B20; --v2-saf-s: #FCEBDD; --v2-kum: #C53030; --v2-kum-s: #FBE9E9;
    --v2-tul: #2F855A; --v2-tul-s: #E6F2EB; --v2-ind: #4C51BF; --v2-ind-s: #ECEDFA;
    --v2-sel: #FCEBDD; --v2-focus: rgba(221, 107, 32, .22);
    --v2-hero: linear-gradient(135deg, #E07A2E 0%, #C9505A 100%);
    --v2-lift: 0 1px 2px rgba(23, 21, 27, .04), 0 8px 24px -14px rgba(23, 21, 27, .16);
    --c-saf: #DD6B20; --c-rose: #C2416B; --c-pea: #13808A; --c-roy: #4C51BF; --c-mari: #D69420; --c-tul: #2F855A;
    --c-vio: #805AD5; --c-sky: #2B6CB0; --c-kum: #C53030; --c-pink: #B83280; --c-ind: #5A67D8; --c-teal: #2C7A7B;
    --app-surface: #FFFFFF; --app-card-bg: #FFFFFF; --app-card-border: var(--v2-card-b);
    --bs-primary: #DD6B20 !important; --bs-primary-rgb: 221, 107, 32 !important;
    background-color: var(--v2-bg) !important;
}
body.admin-v2.theme-dark {
    --v2-paper: rgba(17, 23, 55, .82); --v2-card-b: var(--v2-line);
    /* Brahmand: the accent colours the Shwet rules use, in the navy + gold palette */
    --c-saf: #E8893A; --c-mari: #D4AF63; --c-tul: #7CC8A0; --c-kum: #F08A80; --c-ind: #9DB0F0; --c-roy: #9DB0F0;
    --c-rose: #F08AB0; --c-pea: #6FD0D4; --c-vio: #C3A6F5; --c-sky: #8EC5F0; --c-pink: #F0A0C8; --c-teal: #6FD0C0;
    --v2-hero: linear-gradient(135deg, #E2C27F 0%, #C99A45 100%);
    --v2-lift: 0 1px 2px rgba(0, 0, 0, .25);
}
/* the canvas: a faint saffron and rose wash in the corners */
body.admin-v2:not(.theme-dark)::before {
    content: ""; position: fixed; inset: 0; pointer-events: none; z-index: -1;
    background: radial-gradient(800px 420px at 100% -10%, rgba(221, 107, 32, .035), transparent 60%),
        radial-gradient(700px 420px at 0% 110%, rgba(194, 65, 107, .025), transparent 60%);
}
body.admin-v2 #app { position: relative; } /* no z-index: a stacking context here put the phone menu under its backdrop */
body.admin-v2 #main, body.admin-v2 .main-content, body.admin-v2 .vh-root { background: transparent !important; }

/* ---------- sidebar: white, icons carry the module colour ---------- */
body.admin-v2:not(.theme-dark) .sidebar-item[data-m="home"] { --m: var(--c-saf); }
body.admin-v2:not(.theme-dark) .sidebar-item[data-m="orders"] { --m: var(--c-roy); }
body.admin-v2:not(.theme-dark) .sidebar-item[data-m="products"] { --m: var(--c-mari); }
body.admin-v2:not(.theme-dark) .sidebar-item[data-m="customers"] { --m: var(--c-pea); }
body.admin-v2:not(.theme-dark) .sidebar-item[data-m="inbox"] { --m: var(--c-rose); }
body.admin-v2:not(.theme-dark) .sidebar-item[data-m="marketing"] { --m: var(--c-vio); }
body.admin-v2:not(.theme-dark) .sidebar-item[data-m="analytics"] { --m: var(--c-sky); }
body.admin-v2:not(.theme-dark) .sidebar-item[data-m="finance"] { --m: var(--c-tul); }
body.admin-v2:not(.theme-dark) .sidebar-item[data-m="shipping"] { --m: var(--c-ind); }
body.admin-v2:not(.theme-dark) .sidebar-item[data-m="delivery"] { --m: var(--c-teal); }
body.admin-v2:not(.theme-dark) .sidebar-item[data-m="store"] { --m: var(--c-pink); }
body.admin-v2:not(.theme-dark) .sidebar-item[data-m="app"] { --m: var(--c-rose); }
body.admin-v2:not(.theme-dark) .sidebar-item[data-m="settings"],
body.admin-v2:not(.theme-dark) .sidebar-item[data-m="more"] { --m: var(--v2-muted); }

body.admin-v2:not(.theme-dark) #sidebar .sidebar-wrapper { background: #FFFFFF !important; border-right: 1px solid var(--v2-card-b) !important; }
body.admin-v2 .sidebar-wrapper .sidebar-header { height: 64px; display: flex; align-items: center; border-bottom: 1px solid var(--v2-card-b); margin-bottom: 8px; }
body.admin-v2 .sidebar-wrapper .container-logo { max-height: 34px; }
body.admin-v2 .menu .sidebar-title { font: 600 11px var(--v2-f) !important; letter-spacing: .1em !important; text-transform: uppercase; padding: 14px 12px 4px !important; margin: 6px 0 0 !important; }
body.admin-v2 .sidebar-link { height: 36px; border-radius: 9px !important; }
body.admin-v2:not(.theme-dark) .sidebar-link svg { color: var(--m) !important; stroke-width: 1.9; }
body.admin-v2:not(.theme-dark) .sidebar-link:hover { background: #F5F3EF !important; }
body.admin-v2 .sidebar-item.active > .sidebar-link,
body.admin-v2 .sidebar-item.active > .sidebar-link span {
    background: color-mix(in srgb, var(--m) 12%, transparent) !important; font-weight: 650 !important;
}
body.admin-v2 .sidebar-item.active > .sidebar-link span { background: transparent !important; }
body.admin-v2 .sidebar-item.active > .sidebar-link { position: relative; box-shadow: none !important; }
body.admin-v2 .sidebar-item.active > .sidebar-link::before {
    content: ""; position: absolute; left: 0; top: 8px; bottom: 8px; width: 3px; border-radius: 0 3px 3px 0; background: var(--m);
}
body.admin-v2 .sidebar-link .badge {
    background: color-mix(in srgb, var(--m) 15%, transparent) !important; color: var(--m) !important;
    border-radius: 999px !important; font-weight: 650; padding: 0 7px !important; line-height: 18px; margin-left: auto !important;
}
body.admin-v2 .menu .submenu .submenu-item a { border-radius: 7px; }
body.admin-v2 .menu .submenu .submenu-item.active > a {
    background: color-mix(in srgb, var(--m) 9%, transparent) !important; box-shadow: inset 2px 0 0 var(--m); font-weight: 600 !important;
}
body.admin-v2:not(.theme-dark) .sidebar-search-box .form-control { background: var(--v2-paper) !important; border-radius: 10px !important; }

/* ---------- top bar ---------- */
body.admin-v2 .app-header {
    position: sticky; top: 0; z-index: 20; backdrop-filter: blur(10px); box-shadow: none !important;
}
body.admin-v2:not(.theme-dark) .app-header { background: color-mix(in srgb, #F7F5F1 88%, transparent) !important; border-bottom: 1px solid var(--v2-line) !important; }
body.admin-v2 .app-header .navbar { height: 60px !important; min-height: 60px !important; }
body.admin-v2 .v2-modesw, body.admin-v2 .v2-thm { background: var(--v2-paper) !important; border: 1px solid var(--v2-line) !important; border-radius: 11px !important; padding: 3px !important; }
body.admin-v2 .v2-modesw button, body.admin-v2 .v2-thm button { border-radius: 8px !important; font-weight: 600 !important; height: 30px; }
body.admin-v2 .v2-modesw button.on { background: var(--v2-hero) !important; color: #FFFFFF !important; box-shadow: none !important; }
body.admin-v2.theme-dark .v2-modesw button.on { color: #0B1026 !important; }
body.admin-v2:not(.theme-dark) .v2-thm button.on { background: var(--v2-ink) !important; color: #FFFFFF !important; box-shadow: none !important; }
body.admin-v2.theme-dark .v2-thm button.on { background: var(--v2-hero) !important; color: #0B1026 !important; }
@media (min-width: 992px) { body.admin-v2 .v2-thm button span, body.admin-v2 .v2-modesw button span { display: inline !important; } }
body.admin-v2 .v2-gs { background: var(--v2-paper) !important; border-radius: 10px !important; height: 36px; }
body.admin-v2 .v2-gs:hover { border-color: var(--v2-saf) !important; }
body.admin-v2 .hdr-icon-btn { border-radius: 10px !important; }

/* ---------- page heading ---------- */
body.admin-v2 .main-content { padding: 30px 40px 80px !important; }
body.admin-v2 .v2h-head h1, body.admin-v2 .page-heading h3, body.admin-v2 .page-title h3 {
    font: 700 28px/1.15 var(--v2-f) !important; letter-spacing: -.025em;
}
body.admin-v2.theme-dark .v2h-head h1, body.admin-v2.theme-dark .page-heading h3, body.admin-v2.theme-dark .page-title h3 {
    font: 600 28px/1.15 var(--v2-f-title) !important; letter-spacing: .04em;
}
body.admin-v2 .v2h-head p { font-size: 13.5px !important; margin-top: 4px !important; }

/* ---------- surfaces: white cards that lift ---------- */
body.admin-v2 .card, body.admin-v2 .list-surface {
    background: var(--v2-paper) !important; border: 1px solid var(--v2-card-b) !important;
    border-radius: 16px !important; box-shadow: var(--v2-lift) !important;
}
body.admin-v2 .card .card-header { padding: 15px 20px !important; }
body.admin-v2 .card-h { padding: 15px 20px !important; min-height: 54px; }
body.admin-v2 .card-h h3, body.admin-v2 .card .card-header h4, body.admin-v2 .card .card-title {
    font: 650 14.5px var(--v2-f) !important; letter-spacing: -.005em !important;
}
body.admin-v2.theme-dark .card-h h3 { font: 600 12.5px var(--v2-f) !important; letter-spacing: .14em !important; text-transform: uppercase; }
body.admin-v2 .card-b { padding: 18px 20px !important; }
body.admin-v2 .card-b.tight { padding: 6px 0 !important; }
body.admin-v2 .modal-content, body.admin-v2 .offcanvas { border-radius: 16px !important; background: var(--v2-paper) !important; }
body.admin-v2 .dropdown-menu { border-radius: 12px !important; background: var(--v2-paper) !important; }

/* the old palette written into the pages, moved to the jewel colours */
body.admin-v2:not(.theme-dark) [style*="#C46A1B"], body.admin-v2:not(.theme-dark) [style*="#c46a1b"] { --mc: #DD6B20 !important; }
body.admin-v2:not(.theme-dark) [style*="#A8803F"], body.admin-v2:not(.theme-dark) [style*="#a8803f"] { --mc: #D69420 !important; }
body.admin-v2:not(.theme-dark) [style*="#4A5D9A"], body.admin-v2:not(.theme-dark) [style*="#4a5d9a"] { --mc: #4C51BF !important; }
body.admin-v2:not(.theme-dark) [style*="#2E6B4A"], body.admin-v2:not(.theme-dark) [style*="#2e6b4a"] { --mc: #2F855A !important; }
body.admin-v2:not(.theme-dark) [style*="#B3261E"], body.admin-v2:not(.theme-dark) [style*="#b3261e"] { --mc: #C53030 !important; }
body.admin-v2:not(.theme-dark) [style*="#7A4E9A"], body.admin-v2:not(.theme-dark) [style*="#7a4e9a"] { --mc: #805AD5 !important; }
body.admin-v2:not(.theme-dark) [style*="#2C6E8F"], body.admin-v2:not(.theme-dark) [style*="#2c6e8f"] { --mc: #2B6CB0 !important; }
body.admin-v2:not(.theme-dark) [style*="#8A5A2B"], body.admin-v2:not(.theme-dark) [style*="#8a5a2b"] { --mc: #5A67D8 !important; }
body.admin-v2:not(.theme-dark) [style*="#6B5A1E"], body.admin-v2:not(.theme-dark) [style*="#6b5a1e"] { --mc: #2F855A !important; }

/* ---------- Home ---------- */
body.admin-v2 .v2h { gap: 18px !important; }
body.admin-v2 .v2h-live { font-size: 12.5px !important; color: var(--v2-muted) !important; margin-top: -6px; }
body.admin-v2 .v2h-live b { color: var(--v2-ink); font-weight: 650; }
body.admin-v2 .v2h-live .pulse { background: var(--c-tul, #2F855A) !important; animation: v2pulse 2s infinite; }
body.admin-v2 .v2h-live .sepd { width: 3px !important; height: 3px !important; border-radius: 50%; background: var(--v2-faint) !important; }
@keyframes v2pulse { 0% { box-shadow: 0 0 0 0 rgba(22, 163, 74, .5); } 70% { box-shadow: 0 0 0 8px rgba(22, 163, 74, 0); } 100% { box-shadow: 0 0 0 0 rgba(22, 163, 74, 0); } }
body.admin-v2 .v2h-grid.g4 { gap: 16px !important; }
body.admin-v2 .v2h-bento { gap: 18px !important; }
body.admin-v2 .card.kpi { position: relative; overflow: hidden; padding: 16px 18px 0 !important; min-height: 132px; }
body.admin-v2 .card.kpi small { font: 600 12.5px var(--v2-f) !important; color: var(--v2-muted) !important; }
body.admin-v2 .card.kpi .ki { width: 28px !important; height: 28px !important; border-radius: 9px !important; background: color-mix(in srgb, var(--mc) 13%, transparent) !important; color: var(--mc) !important; }
body.admin-v2 .card.kpi .v { font: 700 30px/1.15 var(--v2-f) !important; letter-spacing: -.025em; margin-top: 8px; font-variant-numeric: tabular-nums; }
body.admin-v2.theme-dark .card.kpi .v { font-family: "Playfair Display", Georgia, serif !important; font-weight: 600 !important; }
body.admin-v2 .card.kpi .dl { display: inline-flex; align-self: flex-start; align-items: center; gap: 3px; font-weight: 700; font-size: 11.5px !important; border-radius: 999px; padding: 1px 8px; background: var(--v2-panel); color: var(--v2-muted); }
body.admin-v2 .card.kpi .dl.up { background: color-mix(in srgb, var(--v2-tul) 14%, transparent); color: var(--v2-tul); }
body.admin-v2 .card.kpi .dl.dn { background: color-mix(in srgb, var(--v2-kum) 14%, transparent); color: var(--v2-kum); }
body.admin-v2 .card.kpi .v2c-spark { display: block; width: calc(100% + 36px) !important; height: 42px !important; margin: auto -18px 0 !important; }
body.admin-v2 .todo .li { padding: 11px 20px !important; gap: 14px !important; }
body.admin-v2 .todo .n {
    min-width: 34px !important; height: 28px !important; border-radius: 9px !important; font: 700 14px var(--v2-f) !important;
    color: var(--mc, var(--v2-saf)) !important; background: color-mix(in srgb, var(--mc, var(--v2-saf)) 13%, transparent) !important;
}
body.admin-v2 .todo .li:hover { background: color-mix(in srgb, var(--mc, var(--v2-saf)) 7%, transparent) !important; }
body.admin-v2 .peak { font-weight: 650; background: color-mix(in srgb, var(--v2-saf) 12%, transparent) !important; color: var(--v2-saf) !important; }
body.admin-v2 .v2c-bullet-fill { background: var(--v2-hero) !important; }
body.admin-v2 .fn-r:nth-child(1) .fn-bar i { background: var(--c-saf, #DD6B20) !important; }
body.admin-v2 .fn-r:nth-child(2) .fn-bar i { background: var(--c-mari, #D69420) !important; }
body.admin-v2 .fn-r:nth-child(3) .fn-bar i { background: var(--c-roy, #4C51BF) !important; }
body.admin-v2 .fn-r:nth-child(4) .fn-bar i { background: var(--c-pea, #13808A) !important; }
body.admin-v2 .fn-r:nth-child(5) .fn-bar i { background: var(--c-tul, #2F855A) !important; }
body.admin-v2 .hb-bar i { background: var(--c-pea, #13808A) !important; }
body.admin-v2 .fn-bar, body.admin-v2 .hb-bar { height: 10px !important; border-radius: 6px !important; }

/* ---------- controls ---------- */
body.admin-v2 .btn { border-radius: 10px !important; font-weight: 600; box-shadow: none !important; }
body.admin-v2 .btn-primary { background: var(--v2-hero) !important; border-color: transparent !important; color: #FFFFFF !important; }
body.admin-v2.theme-dark .btn-primary { color: #0B1026 !important; }
body.admin-v2 .btn-primary:hover { filter: brightness(1.05); }
body.admin-v2:not(.theme-dark) .btn-light, body.admin-v2:not(.theme-dark) .btn-outline-primary,
body.admin-v2:not(.theme-dark) .btn-outline-secondary { background: var(--v2-paper) !important; border-color: var(--v2-line) !important; }
body.admin-v2 .form-control, body.admin-v2 .form-select, body.admin-v2 .multiselect__tags { border-radius: 9px !important; }
body.admin-v2:not(.theme-dark) .form-control, body.admin-v2:not(.theme-dark) .form-select, body.admin-v2:not(.theme-dark) .multiselect__tags { background-color: var(--v2-paper) !important; }
body.admin-v2 .form-control:focus, body.admin-v2 .form-select:focus {
    border-color: var(--v2-saf) !important; box-shadow: 0 0 0 3px color-mix(in srgb, var(--v2-saf) 20%, transparent) !important;
}
body.admin-v2:not(.theme-dark) .form-check-input:checked { background-color: var(--c-saf) !important; border-color: var(--c-saf) !important; }
body.admin-v2:not(.theme-dark) .form-switch .form-check-input:checked { background-color: var(--c-tul) !important; border-color: var(--c-tul) !important; }

/* ---------- lists ---------- */
body.admin-v2 .table thead th { font: 650 11.5px var(--v2-f) !important; letter-spacing: .04em !important; text-transform: uppercase !important; }
body.admin-v2 .table tbody tr:hover > td { background: color-mix(in srgb, var(--v2-saf) 6%, transparent) !important; }
body.admin-v2 .table tbody tr:hover > td:first-child { box-shadow: inset 3px 0 0 var(--v2-saf) !important; }
body.admin-v2 .v2-otabs button.on { border-bottom: 2px solid var(--c-roy, var(--v2-esp)) !important; color: var(--v2-ink) !important; }
body.admin-v2 .v2-otabs button.on .cnt { background: color-mix(in srgb, var(--c-roy, var(--v2-gold)) 15%, transparent) !important; color: var(--c-roy, var(--v2-gold)) !important; }
body.admin-v2 .nav-tabs .nav-link.active::after { background: var(--v2-saf) !important; }
body.admin-v2 .page-item.active .page-link { background: var(--v2-ink) !important; border-color: var(--v2-ink) !important; color: var(--v2-paper) !important; }
body.admin-v2.theme-dark .page-item.active .page-link { background: var(--v2-gold) !important; border-color: var(--v2-gold) !important; color: #0B1026 !important; }

/* status badges as tinted pills */
body.admin-v2 .badge { border-radius: 999px !important; font-weight: 650 !important; }
body.admin-v2:not(.theme-dark) .badge.bg-success, body.admin-v2:not(.theme-dark) .badge.bg-light-success { background: color-mix(in srgb, var(--c-tul) 13%, transparent) !important; color: var(--c-tul) !important; }
body.admin-v2:not(.theme-dark) .badge.bg-danger, body.admin-v2:not(.theme-dark) .badge.bg-light-danger { background: color-mix(in srgb, var(--c-kum) 13%, transparent) !important; color: var(--c-kum) !important; }
body.admin-v2:not(.theme-dark) .badge.bg-warning, body.admin-v2:not(.theme-dark) .badge.bg-light-warning { background: color-mix(in srgb, var(--c-mari) 16%, transparent) !important; color: color-mix(in srgb, var(--c-mari) 70%, #17151B) !important; }
body.admin-v2:not(.theme-dark) .badge.bg-info, body.admin-v2:not(.theme-dark) .badge.bg-light-info { background: color-mix(in srgb, var(--c-roy) 13%, transparent) !important; color: var(--c-roy) !important; }
body.admin-v2:not(.theme-dark) .badge.bg-primary, body.admin-v2:not(.theme-dark) .badge.bg-light-primary { background: color-mix(in srgb, var(--c-saf) 14%, transparent) !important; color: color-mix(in srgb, var(--c-saf) 85%, #17151B) !important; }
body.admin-v2:not(.theme-dark) .badge.bg-secondary, body.admin-v2:not(.theme-dark) .badge.bg-light-secondary { background: var(--v2-panel) !important; color: var(--v2-muted) !important; }
body.admin-v2 .sidebar-link .badge.bg-danger { background: color-mix(in srgb, var(--m) 15%, transparent) !important; color: var(--m) !important; }


/* ---------- module colours as tokens (page heads read the active one) ---------- */
body.admin-v2 {
    --m-home: var(--c-saf); --m-orders: var(--c-roy); --m-products: var(--c-mari); --m-customers: var(--c-pea);
    --m-inbox: var(--c-rose); --m-marketing: var(--c-vio); --m-analytics: var(--c-sky); --m-finance: var(--c-tul);
    --m-shipping: var(--c-ind); --m-delivery: var(--c-teal); --m-store: var(--c-pink); --m-app: var(--c-rose);
    --m-settings: var(--v2-muted); --m-more: var(--v2-muted);
}
body.admin-v2.theme-dark {
    --m-home: #D4AF63; --m-orders: #D4AF63; --m-products: #D4AF63; --m-customers: #D4AF63; --m-inbox: #D4AF63;
    --m-marketing: #D4AF63; --m-analytics: #D4AF63; --m-finance: #D4AF63; --m-shipping: #D4AF63; --m-delivery: #D4AF63;
    --m-store: #D4AF63; --m-app: #D4AF63; --m-settings: #D4AF63; --m-more: #D4AF63;
}
body.admin-v2:has(.sidebar-item.active[data-m="home"]) { --pm: var(--m-home); --pm-ic: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M15%2021v-8a1%201%200%200%200-1-1h-4a1%201%200%200%200-1%201v8%27%2F%3E%3Cpath%20d%3D%27M3%2010a2%202%200%200%201%20.709-1.528l7-6a2%202%200%200%201%202.582%200l7%206A2%202%200%200%201%2021%2010v9a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2z%27%2F%3E%3C%2Fsvg%3E"); }
body.admin-v2:has(.sidebar-item.active[data-m="orders"]) { --pm: var(--m-orders); --pm-ic: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M11%2021.73a2%202%200%200%200%202%200l7-4A2%202%200%200%200%2021%2016V8a2%202%200%200%200-1-1.73l-7-4a2%202%200%200%200-2%200l-7%204A2%202%200%200%200%203%208v8a2%202%200%200%200%201%201.73z%27%2F%3E%3Cpath%20d%3D%27M12%2022V12%27%2F%3E%3Cpolyline%20points%3D%273.29%207%2012%2012%2020.71%207%27%2F%3E%3Cpath%20d%3D%27m7.5%204.27%209%205.15%27%2F%3E%3C%2Fsvg%3E"); }
body.admin-v2:has(.sidebar-item.active[data-m="products"]) { --pm: var(--m-products); --pm-ic: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12.586%202.586A2%202%200%200%200%2011.172%202H4a2%202%200%200%200-2%202v7.172a2%202%200%200%200%20.586%201.414l8.704%208.704a2.426%202.426%200%200%200%203.42%200l6.58-6.58a2.426%202.426%200%200%200%200-3.42z%27%2F%3E%3Ccircle%20cx%3D%277.5%27%20cy%3D%277.5%27%20r%3D%27.5%27%20fill%3D%27currentColor%27%2F%3E%3C%2Fsvg%3E"); }
body.admin-v2:has(.sidebar-item.active[data-m="customers"]) { --pm: var(--m-customers); --pm-ic: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M16%2021v-2a4%204%200%200%200-4-4H6a4%204%200%200%200-4%204v2%27%2F%3E%3Cpath%20d%3D%27M16%203.128a4%204%200%200%201%200%207.744%27%2F%3E%3Cpath%20d%3D%27M22%2021v-2a4%204%200%200%200-3-3.87%27%2F%3E%3Ccircle%20cx%3D%279%27%20cy%3D%277%27%20r%3D%274%27%2F%3E%3C%2Fsvg%3E"); }
body.admin-v2:has(.sidebar-item.active[data-m="inbox"]) { --pm: var(--m-inbox); --pm-ic: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M22%2017a2%202%200%200%201-2%202H6.828a2%202%200%200%200-1.414.586l-2.202%202.202A.71.71%200%200%201%202%2021.286V5a2%202%200%200%201%202-2h16a2%202%200%200%201%202%202z%27%2F%3E%3C%2Fsvg%3E"); }
body.admin-v2:has(.sidebar-item.active[data-m="marketing"]) { --pm: var(--m-marketing); --pm-ic: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cline%20x1%3D%2719%27%20x2%3D%275%27%20y1%3D%275%27%20y2%3D%2719%27%2F%3E%3Ccircle%20cx%3D%276.5%27%20cy%3D%276.5%27%20r%3D%272.5%27%2F%3E%3Ccircle%20cx%3D%2717.5%27%20cy%3D%2717.5%27%20r%3D%272.5%27%2F%3E%3C%2Fsvg%3E"); }
body.admin-v2:has(.sidebar-item.active[data-m="analytics"]) { --pm: var(--m-analytics); --pm-ic: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M3%203v16a2%202%200%200%200%202%202h16%27%2F%3E%3Cpath%20d%3D%27M18%2017V9%27%2F%3E%3Cpath%20d%3D%27M13%2017V5%27%2F%3E%3Cpath%20d%3D%27M8%2017v-3%27%2F%3E%3C%2Fsvg%3E"); }
body.admin-v2:has(.sidebar-item.active[data-m="finance"]) { --pm: var(--m-finance); --pm-ic: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M6%203h12%27%2F%3E%3Cpath%20d%3D%27M6%208h12%27%2F%3E%3Cpath%20d%3D%27m6%2013%208.5%208%27%2F%3E%3Cpath%20d%3D%27M6%2013h3%27%2F%3E%3Cpath%20d%3D%27M9%2013c6.667%200%206.667-10%200-10%27%2F%3E%3C%2Fsvg%3E"); }
body.admin-v2:has(.sidebar-item.active[data-m="shipping"]) { --pm: var(--m-shipping); --pm-ic: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M14%2018V6a2%202%200%200%200-2-2H4a2%202%200%200%200-2%202v11a1%201%200%200%200%201%201h2%27%2F%3E%3Cpath%20d%3D%27M15%2018H9%27%2F%3E%3Cpath%20d%3D%27M19%2018h2a1%201%200%200%200%201-1v-3.65a1%201%200%200%200-.22-.624l-3.48-4.35A1%201%200%200%200%2017.52%208H14%27%2F%3E%3Ccircle%20cx%3D%2717%27%20cy%3D%2718%27%20r%3D%272%27%2F%3E%3Ccircle%20cx%3D%277%27%20cy%3D%2718%27%20r%3D%272%27%2F%3E%3C%2Fsvg%3E"); }
body.admin-v2:has(.sidebar-item.active[data-m="delivery"]) { --pm: var(--m-delivery); --pm-ic: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2718.5%27%20cy%3D%2717.5%27%20r%3D%273.5%27%2F%3E%3Ccircle%20cx%3D%275.5%27%20cy%3D%2717.5%27%20r%3D%273.5%27%2F%3E%3Ccircle%20cx%3D%2715%27%20cy%3D%275%27%20r%3D%271%27%2F%3E%3Cpath%20d%3D%27M12%2017.5V14l-3-3%204-3%202%203h2%27%2F%3E%3C%2Fsvg%3E"); }
body.admin-v2:has(.sidebar-item.active[data-m="store"]) { --pm: var(--m-store); --pm-ic: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%2710%27%2F%3E%3Cpath%20d%3D%27M12%202a14.5%2014.5%200%200%200%200%2020%2014.5%2014.5%200%200%200%200-20%27%2F%3E%3Cpath%20d%3D%27M2%2012h20%27%2F%3E%3C%2Fsvg%3E"); }
body.admin-v2:has(.sidebar-item.active[data-m="app"]) { --pm: var(--m-app); --pm-ic: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20width%3D%2714%27%20height%3D%2720%27%20x%3D%275%27%20y%3D%272%27%20rx%3D%272%27%20ry%3D%272%27%2F%3E%3Cpath%20d%3D%27M12%2018h.01%27%2F%3E%3C%2Fsvg%3E"); }
body.admin-v2:has(.sidebar-item.active[data-m="settings"]) { --pm: var(--m-settings); --pm-ic: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M9.671%204.136a2.34%202.34%200%200%201%204.659%200%202.34%202.34%200%200%200%203.319%201.915%202.34%202.34%200%200%201%202.33%204.033%202.34%202.34%200%200%200%200%203.831%202.34%202.34%200%200%201-2.33%204.033%202.34%202.34%200%200%200-3.319%201.915%202.34%202.34%200%200%201-4.659%200%202.34%202.34%200%200%200-3.32-1.915%202.34%202.34%200%200%201-2.33-4.033%202.34%202.34%200%200%200%200-3.831A2.34%202.34%200%200%201%206.35%206.051a2.34%202.34%200%200%200%203.319-1.915%27%2F%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%273%27%2F%3E%3C%2Fsvg%3E"); }
body.admin-v2:has(.sidebar-item.active[data-m="more"]) { --pm: var(--m-more); --pm-ic: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20width%3D%277%27%20height%3D%277%27%20x%3D%273%27%20y%3D%273%27%20rx%3D%271%27%2F%3E%3Crect%20width%3D%277%27%20height%3D%277%27%20x%3D%2714%27%20y%3D%273%27%20rx%3D%271%27%2F%3E%3Crect%20width%3D%277%27%20height%3D%277%27%20x%3D%2714%27%20y%3D%2714%27%20rx%3D%271%27%2F%3E%3Crect%20width%3D%277%27%20height%3D%277%27%20x%3D%273%27%20y%3D%2714%27%20rx%3D%271%27%2F%3E%3C%2Fsvg%3E"); }

/* page heading: the module's icon in a tinted tile, as in the prototype */
body.admin-v2 .v2h-head h1, body.admin-v2 .page-head-title { display: flex !important; align-items: center; gap: 10px; }
body.admin-v2 .page-head-title { font: 700 28px/1.15 var(--v2-f) !important; letter-spacing: -.025em; margin: 0; }
body.admin-v2.theme-dark .page-head-title { font: 600 28px/1.15 var(--v2-f-title) !important; letter-spacing: .04em; }
body.admin-v2:has(.sidebar-item.active[data-m]) .v2h-head h1::before,
body.admin-v2:has(.sidebar-item.active[data-m]) .page-head-title::before {
    content: ""; flex: none; width: 36px; height: 36px; border-radius: 11px; background: var(--pm);
    -webkit-mask: var(--pm-ic) center / 18px 18px no-repeat, linear-gradient(rgba(0, 0, 0, .13), rgba(0, 0, 0, .13));
    mask: var(--pm-ic) center / 18px 18px no-repeat, linear-gradient(rgba(0, 0, 0, .13), rgba(0, 0, 0, .13));
}

/* the wordmark the prototype uses (the uploaded logo carries wide margins) */
body.admin-v2 .sidebar-wrapper .sidebar-header > div { justify-content: flex-start !important; }
body.admin-v2 .sidebar-wrapper .container-logo { content: url(/assets/images/devchitra/admin-v2-logo-black.png); height: 34px !important; width: auto !important; max-height: none; }
body.admin-v2.theme-dark .sidebar-wrapper .container-logo { content: url(/assets/images/devchitra/admin-v2-logo-white.png); filter: none !important; }

/* lists: rows, not a grid — no column lines, no bands */
body.admin-v2 .table thead th + th, body.admin-v2 .table tbody td + td { border-left: 0 !important; }
body.admin-v2 .table tbody tr:nth-child(even) > td { background: transparent !important; }
body.admin-v2 .table-striped > tbody > tr:nth-of-type(odd) > * { --bs-table-bg-type: transparent !important; --bs-table-accent-bg: transparent !important; box-shadow: none; }
body.admin-v2 .table tbody td { padding-top: 11px !important; padding-bottom: 11px !important; vertical-align: middle; }
body.admin-v2 .table thead th { padding-top: 11px !important; padding-bottom: 11px !important; }
body.admin-v2 .list-page .table tbody td:first-child .fw-bold { font-family: "JetBrains Mono", ui-monospace, Consolas, monospace; font-size: 12.5px; font-weight: 600 !important; letter-spacing: -.01em; }
body.admin-v2 .table tbody td a.text-primary { color: var(--v2-ink) !important; font-weight: 600; }
body.admin-v2 .table tbody td a.text-primary:hover { color: var(--v2-saf) !important; }
body.admin-v2 .table tbody td small.text-muted, body.admin-v2 .table tbody td .text-muted { color: var(--v2-muted) !important; }

/* where the order came from */
body.admin-v2 .v2-src { font: 650 11px var(--v2-f) !important; letter-spacing: .04em; min-width: 62px; text-align: center; padding: 3px 8px !important; border-radius: 6px !important; }
body.admin-v2:not(.theme-dark) .v2-src.s-MWEB, body.admin-v2:not(.theme-dark) .v2-src.s-WEB { background: color-mix(in srgb, var(--c-roy) 12%, transparent) !important; color: var(--c-roy) !important; }
body.admin-v2:not(.theme-dark) .v2-src.s-Android, body.admin-v2:not(.theme-dark) .v2-src.s-IOS { background: color-mix(in srgb, var(--c-rose) 12%, transparent) !important; color: var(--c-rose) !important; }
body.admin-v2.theme-dark .v2-src.s-MWEB, body.admin-v2.theme-dark .v2-src.s-WEB { background: rgba(212, 175, 99, .14) !important; color: #E6CB8E !important; }
body.admin-v2.theme-dark .v2-src.s-Android, body.admin-v2.theme-dark .v2-src.s-IOS { background: rgba(243, 226, 184, .10) !important; color: #F3E2B8 !important; }

/* payment and fulfilment: pills with a status dot */
body.admin-v2 .v2-pay, body.admin-v2 .v2-ful { display: inline-flex !important; align-items: center; gap: 6px; height: 24px; padding: 0 10px 0 8px !important; font: 650 12px var(--v2-f) !important; }
body.admin-v2 .v2-pay::before, body.admin-v2 .v2-ful::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; opacity: .9; }
body.admin-v2:not(.theme-dark) .v2-pay.p-paid, body.admin-v2:not(.theme-dark) .v2-ful.f-done { background: color-mix(in srgb, var(--c-tul) 13%, transparent) !important; color: var(--c-tul) !important; }
body.admin-v2:not(.theme-dark) .v2-pay.p-collect, body.admin-v2:not(.theme-dark) .v2-ful.f-today { background: color-mix(in srgb, var(--c-saf) 14%, transparent) !important; color: color-mix(in srgb, var(--c-saf) 85%, #17151B) !important; }
body.admin-v2:not(.theme-dark) .v2-pay.p-pend, body.admin-v2:not(.theme-dark) .v2-ful.f-transit { background: color-mix(in srgb, var(--c-roy) 13%, transparent) !important; color: var(--c-roy) !important; }
body.admin-v2:not(.theme-dark) .v2-pay.p-refund, body.admin-v2:not(.theme-dark) .v2-ful.f-late { background: color-mix(in srgb, var(--c-kum) 13%, transparent) !important; color: var(--c-kum) !important; }
body.admin-v2 .v2-pay.p-none, body.admin-v2 .v2-ful.f-none { background: transparent !important; padding: 0 !important; color: var(--v2-faint) !important; }
body.admin-v2 .v2-pay.p-none::before, body.admin-v2 .v2-ful.f-none::before { display: none; }

/* Brahmand: one accent, gold — the module colours step back */
body.admin-v2.theme-dark .card.kpi, body.admin-v2.theme-dark .dotc, body.admin-v2.theme-dark .todo .li,
body.admin-v2.theme-dark [style*="--mc"] { --mc: #D4AF63 !important; }
body.admin-v2.theme-dark .todo .n { background: transparent !important; border: 1px solid rgba(212, 175, 99, .45); }
body.admin-v2.theme-dark .sidebar-link .badge { background: transparent !important; color: #D4AF63 !important; border: 1px solid rgba(212, 175, 99, .6); }

/* =====================================================================
   Shell (prototype core.js sideHTML / topHTML)
   ===================================================================== */
/* page column: 1400 wide, centred, as the prototype's #page */
body.admin-v2 #main > .main-content { width: 100%; max-width: 1400px; margin: 0 auto; }

/* sidebar: brand row, menu that scrolls, foot that stays */
body.admin-v2 #sidebar .sidebar-wrapper { display: flex; flex-direction: column; }
body.admin-v2 .sidebar-wrapper .sidebar-menu { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding-top: 6px; }
body.admin-v2 .sidebar-wrapper .sidebar-header { height: 64px !important; padding: 0 12px 0 18px !important; margin: 0 !important; flex: none; }
body.admin-v2 .v2-brand { display: flex; align-items: center; justify-content: space-between; gap: 8px; height: 100%; width: 100%; }
body.admin-v2 .v2-logo { display: flex; align-items: center; min-width: 0; }
body.admin-v2 .v2-logo .container-logo { height: 36px !important; width: auto !important; max-width: 160px; }
body.admin-v2 .v2-mini-t {
    display: inline-grid; place-items: center; width: 30px; height: 30px; border: 0; border-radius: 8px;
    background: transparent; color: var(--v2-faint); flex: none;
}
body.admin-v2 .v2-mini-t:hover { background: var(--v2-hover); color: var(--v2-ink); }
@media (max-width: 1199.98px) { body.admin-v2 .v2-mini-t { display: none; } }

/* group links: no chevrons; counts as tinted pills */
body.admin-v2 .sidebar-item.has-sub > .sidebar-link::after,
body.admin-v2 .sidebar-item.has-sub > .sidebar-link .submenu-toggle,
body.admin-v2 .sidebar-item.has-sub > .sidebar-link > svg:last-child:not(:first-child) { display: none !important; }
body.admin-v2 .v2-cnt {
    margin-left: auto; min-width: 20px; padding: 0 6px; border-radius: 999px; text-align: center;
    font: 600 11.5px/18px var(--v2-f); color: var(--v2-muted); font-variant-numeric: tabular-nums;
}
body.admin-v2 .v2-cnt.hot { background: color-mix(in srgb, var(--m, var(--v2-saf)) 15%, transparent); color: var(--m, var(--v2-saf)); font-weight: 650; }
body.admin-v2.theme-dark .v2-cnt.hot { background: transparent; color: #D4AF63; border: 1px solid rgba(212, 175, 99, .6); }
body.admin-v2 .menu .submenu .submenu-item a { display: flex !important; align-items: center; gap: 6px; }

/* the foot: Settings, then the account (teleported from the top bar) */
body.admin-v2 .v2-side-foot { flex: none; border-top: 1px solid var(--v2-card-b, var(--v2-line)); padding: 8px 10px 10px; }
body.admin-v2 .v2-side-foot > .sidebar-item { list-style: none; margin: 0 0 4px !important; }
body.admin-v2 .v2-side-foot .sidebar-item.active > .sidebar-link { background: color-mix(in srgb, var(--m, var(--v2-muted)) 12%, transparent) !important; }
body.admin-v2 .v2-me { width: 100%; }
body.admin-v2 .v2-me .user-chip {
    display: flex !important; align-items: center; gap: 10px; width: 100%; padding: 8px 10px !important;
    border-radius: 9px; border: 0 !important; background: transparent !important; color: var(--v2-ink) !important;
}
body.admin-v2 .v2-me .user-chip:hover { background: var(--v2-hover) !important; }
body.admin-v2 .v2-me .user-chip img { width: 32px !important; height: 32px !important; border-radius: 50% !important; object-fit: cover; flex: none; }
body.admin-v2 .v2-me .user-chip > span { display: flex !important; flex-direction: column; min-width: 0; text-align: left; }
body.admin-v2 .v2-me .user-chip-name { font: 650 13.5px var(--v2-f); color: var(--v2-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.admin-v2 .v2-me .user-chip-role { font-size: 11.5px; color: var(--v2-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.admin-v2 .v2-me .hdr-caret { display: none !important; }
body.admin-v2 .v2-me .dropdown-menu { min-width: 230px; margin-bottom: 6px !important; }

/* icon-only sidebar (the collapse button), desktop */
@media (min-width: 1200px) {
    body.admin-v2.v2-mini { --app-sidebar-w: 68px; }
    body.admin-v2.v2-mini .sidebar-wrapper .sidebar-header { padding: 0 !important; justify-content: center; }
    body.admin-v2.v2-mini .v2-brand { justify-content: center; }
    body.admin-v2.v2-mini .v2-logo { display: none; }
    body.admin-v2.v2-mini .v2-mini-t { display: inline-grid; }
    body.admin-v2.v2-mini .sidebar-link { justify-content: center; padding: 0 !important; }
    body.admin-v2.v2-mini .sidebar-link > span, body.admin-v2.v2-mini .menu .sidebar-title,
    body.admin-v2.v2-mini .menu .submenu, body.admin-v2.v2-mini .v2-me .user-chip > span { display: none !important; }
    body.admin-v2.v2-mini .sidebar-item.active > .sidebar-link::before { display: none; }
    body.admin-v2.v2-mini .v2-me .user-chip { justify-content: center; padding: 6px 0 !important; }
    body.admin-v2.v2-mini .v2-side-foot { padding: 8px 6px; }
}

/* top bar: the sidebar's own button collapses it on desktop, so no burger there */
@media (min-width: 1200px) { body.admin-v2 .app-header .burger-btn { display: none !important; } }
body.admin-v2 .app-header .container-fluid { padding: 0 28px !important; }
body.admin-v2 .v2-gs { min-width: 380px !important; height: 34px !important; }
@media (max-width: 1199.98px) { body.admin-v2 .v2-gs { min-width: 0 !important; } }

body.admin-v2 .v2-mini-t { margin-left: auto; }
body.admin-v2 .v2-side-foot .sidebar-link {
    display: flex !important; align-items: center; gap: 10px; height: 36px; padding: 0 10px !important; border-radius: 9px !important;
    color: var(--v2-ink2) !important; font: 500 13.5px var(--v2-f) !important; text-decoration: none !important;
}
body.admin-v2 .v2-side-foot .sidebar-link svg { width: 16px !important; height: 16px !important; color: var(--m, var(--v2-muted)) !important; fill: none !important; flex: none; }
body.admin-v2 .v2-side-foot .sidebar-link:hover { background: var(--v2-hover) !important; color: var(--v2-ink) !important; }
/* the setup-guide badge sits beside the sidebar, not over the account */
body.admin-v2 .sg-pop { left: calc(var(--app-sidebar-w) + 16px) !important; }
/* the bell carries a small dot, as in the prototype */
body.admin-v2 .app-header .hdr-dot {
    font-size: 0 !important; min-width: 0 !important; width: 8px !important; height: 8px !important; padding: 0 !important;
    top: 7px !important; right: 7px !important; border-radius: 50% !important; background: var(--c-saf, #DD6B20) !important;
    box-shadow: 0 0 0 2px var(--v2-paper, #fff) !important;
}

/* =====================================================================
   Lists (prototype components.js A.list: card with tabs, .tbar, table, .tfoot, .bulk)
   ===================================================================== */
body.admin-v2 .page-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 22px !important; }
body.admin-v2 .page-head-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
body.admin-v2 .page-head-actions .btn { height: 36px; display: inline-flex; align-items: center; gap: 6px; }

body.admin-v2 .list-surface.v2-lst { padding: 0 !important; overflow: visible; }
body.admin-v2 .v2-lst > .v2-otabs { display: flex; gap: 4px; padding: 0 14px; margin: 0 !important; border-bottom: 1px solid var(--v2-line) !important; overflow-x: auto; flex-wrap: nowrap; }
body.admin-v2 .v2-lst > .v2-otabs button {
    display: inline-flex; align-items: center; gap: 6px; height: 42px; padding: 0 8px !important; margin-bottom: -1px;
    border: 0; border-bottom: 2px solid transparent !important; border-radius: 0 !important; background: transparent !important;
    font: 600 13.5px var(--v2-f) !important; color: var(--v2-muted) !important; white-space: nowrap;
}
body.admin-v2 .v2-lst > .v2-otabs button:hover { color: var(--v2-ink) !important; }
body.admin-v2 .v2-lst > .v2-otabs button.on { color: var(--v2-ink) !important; border-bottom-color: var(--pm, var(--c-roy, var(--v2-esp))) !important; }
body.admin-v2 .v2-lst > .v2-otabs .cnt { font: 600 12px var(--v2-f); padding: 0 7px; border-radius: 999px; background: var(--v2-panel); color: var(--v2-muted); line-height: 20px; }
body.admin-v2 .v2-lst > .v2-otabs button.on .cnt { background: color-mix(in srgb, var(--pm, var(--c-roy)) 15%, transparent) !important; color: var(--pm, var(--c-roy)) !important; }

body.admin-v2 .v2-tbar { display: flex; align-items: center; gap: 6px; padding: 10px 14px; flex-wrap: wrap; border-bottom: 1px solid var(--v2-line); }
body.admin-v2 .v2-tbar .sp { flex: 1; }
body.admin-v2 .v2-srch {
    display: flex; align-items: center; gap: 8px; height: 30px; padding: 0 10px; margin: 0; min-width: 240px;
    border: 1px solid var(--v2-line); border-radius: 9px; background: var(--v2-paper); color: var(--v2-faint); cursor: text;
}
body.admin-v2 .v2-srch input { border: 0; outline: 0; background: transparent; flex: 1; min-width: 0; font-size: 13.5px; color: var(--v2-ink); }
body.admin-v2 .v2-srch input::-webkit-search-cancel-button { display: none; }
body.admin-v2 .v2-srch kbd { font: 500 11px var(--v2-f); color: var(--v2-muted); background: var(--v2-panel); border: 1px solid var(--v2-line); border-radius: 4px; padding: 0 5px; box-shadow: none; }
body.admin-v2 .v2-srch:focus-within { border-color: var(--v2-saf); box-shadow: 0 0 0 3px color-mix(in srgb, var(--v2-saf) 20%, transparent); }
body.admin-v2 .chip {
    display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 10px; border-radius: 8px;
    border: 1px solid var(--v2-line); background: var(--v2-paper); font: 400 13px var(--v2-f); color: var(--v2-ink2); white-space: nowrap; cursor: pointer;
}
body.admin-v2 .chip svg { color: var(--v2-muted); }
body.admin-v2 .chip:hover { border-color: var(--v2-faint); color: var(--v2-ink); }
body.admin-v2 .chip.set { background: color-mix(in srgb, var(--c-saf, #DD6B20) 12%, transparent); border-color: color-mix(in srgb, var(--c-saf, #DD6B20) 45%, transparent); color: var(--v2-ink); }
body.admin-v2 .chip .chip-x { cursor: pointer; }
body.admin-v2 .v2-date-chip { padding-right: 6px; }
body.admin-v2 .v2-date-chip input, body.admin-v2 .v2-date-chip .form-control {
    border: 0 !important; background: transparent !important; box-shadow: none !important; height: 28px !important; padding: 0 !important;
    width: 9.5em; font-size: 13px !important; color: var(--v2-ink2) !important; cursor: pointer;
}
body.admin-v2 .v2-date-chip input::placeholder { color: var(--v2-ink2); opacity: 1; }
body.admin-v2 .ib {
    width: 32px; height: 32px; border-radius: 8px; display: inline-grid; place-items: center; position: relative;
    border: 0; background: transparent; color: var(--v2-muted);
}
body.admin-v2 .ib:hover { background: var(--v2-hover); color: var(--v2-ink); }
body.admin-v2 .ib.sm { width: 28px; height: 28px; }

/* pop-up menu (V2Menu) */
body.admin-v2 .v2-menu-wrap { position: relative; display: inline-flex; }
body.admin-v2 .v2-menu {
    position: absolute; top: calc(100% + 4px); left: 0; z-index: 1060; min-width: 200px; max-height: 60vh; overflow: auto;
    background: var(--v2-paper); border: 1px solid var(--v2-line); border-radius: 12px; padding: 4px;
    box-shadow: 0 16px 48px rgba(23, 21, 27, .14), 0 2px 6px rgba(23, 21, 27, .06);
}
body.admin-v2.theme-dark .v2-menu { background: #141A3A; }
body.admin-v2 .v2-menu.is-right { left: auto; right: 0; }
body.admin-v2 .v2-menu.is-up { top: auto; bottom: calc(100% + 6px); }
body.admin-v2 .v2-menu-it, body.admin-v2 .v2-menu-ck-row {
    display: flex; align-items: center; gap: 10px; width: 100%; min-height: 32px; padding: 0 10px; border: 0; border-radius: 6px;
    background: transparent; font: 400 13.5px var(--v2-f); color: var(--v2-ink2); text-align: left; cursor: pointer; white-space: nowrap;
}
body.admin-v2 .v2-menu-it svg { color: var(--v2-muted); flex: none; }
body.admin-v2 .v2-menu-it:hover, body.admin-v2 .v2-menu-ck-row:hover { background: var(--v2-hover); color: var(--v2-ink); }
body.admin-v2 .v2-menu-it.on { color: var(--v2-ink); font-weight: 600; }
body.admin-v2 .v2-menu-it.danger, body.admin-v2 .v2-menu-it.danger svg { color: var(--v2-kum); }
body.admin-v2 .v2-menu-it .v2-menu-ck { margin-left: auto; color: var(--v2-saf); }
body.admin-v2 .v2-menu-h { font: 500 12px var(--v2-f); color: var(--v2-faint); padding: 8px 10px 4px; }
body.admin-v2 .v2-menu-sep { border-top: 1px solid var(--v2-line2); margin: 4px 0; }
body.admin-v2 .v2-menu-ck-row .form-check-input { margin: 0; }

/* table inside the list card */
body.admin-v2 .v2-lst .table-responsive { margin: 0 !important; }
body.admin-v2 .v2-lst .table { margin: 0 !important; }
body.admin-v2 .v2-lst .table thead th:first-child, body.admin-v2 .v2-lst .table tbody td:first-child { padding-left: 14px !important; }
body.admin-v2 .v2-w0 { width: 1%; white-space: nowrap; }
body.admin-v2 .v2-lst tr.v2-click { cursor: pointer; }
body.admin-v2 .v2-lst tr.v2-sel > td { background: var(--v2-sel) !important; }
body.admin-v2.theme-dark .v2-lst tr.v2-sel > td { background: color-mix(in srgb, var(--v2-gold) 10%, transparent) !important; }
body.admin-v2 .v2-lst .table tbody td small { font-size: 12px; margin-top: 2px; }
body.admin-v2 .v2-lst .table tbody td .fw-bold + small { display: block; }
body.admin-v2 .v2-thumbs { display: flex; align-items: center; gap: 4px; }
body.admin-v2 .v2-thumb { width: 22px; height: 28px; border-radius: 4px; background: var(--v2-panel) center / cover no-repeat; flex: none; box-shadow: 0 0 0 1px var(--v2-line2); }
body.admin-v2 .v2-thumbs-n { margin-left: 6px; font-size: 13px; color: var(--v2-muted); white-space: nowrap; }
body.admin-v2 .v2-tag { display: inline-flex; align-items: center; height: 22px; padding: 0 7px; border-radius: 4px; background: var(--v2-panel); font-size: 12px; color: var(--v2-ink2); white-space: nowrap; }
body.admin-v2 .v2-mono { font-family: "JetBrains Mono", ui-monospace, Consolas, monospace; letter-spacing: -.01em; }
body.admin-v2 .v2-ra { display: flex; justify-content: flex-end; }
body.admin-v2 .v2-lst .table tbody tr .v2-ra .ib { opacity: 0; transition: opacity .12s; }
@media (hover: none), (max-width: 767.98px) { body.admin-v2 .v2-lst .table tbody tr .v2-ra .ib { opacity: .7; } }
body.admin-v2 .v2-lst .table tbody tr .v2-ra .v2-menu-wrap:focus-within .ib { opacity: 1; }
body.admin-v2 .v2-lst .table tbody tr:hover .v2-ra .ib { opacity: 1; }

/* footer: "Showing a–b of n", rows per page, Prev 1 2 … Next */
body.admin-v2 .v2-lst .list-footer { display: flex; align-items: center; gap: 10px; padding: 8px 14px !important; border-top: 1px solid var(--v2-line); font-size: 13px; color: var(--v2-muted); flex-wrap: wrap; }
body.admin-v2 .v2-lst .list-footer .v2-tf-info { margin-right: auto; }
body.admin-v2 .v2-lst .list-footer .v2-tf-info b { color: var(--v2-ink); font-weight: 600; }
body.admin-v2 .v2-lst .list-footer .list-perpage { display: flex; align-items: center; gap: 8px; }
body.admin-v2 .v2-lst .list-footer .list-perpage .form-select { width: auto; height: 28px; padding-top: 0; padding-bottom: 0; }
body.admin-v2 .v2-lst .list-pagination .page-link { border: 0 !important; background: transparent !important; border-radius: 7px !important; min-width: 28px; height: 28px; display: grid; place-items: center; padding: 0 8px; }
body.admin-v2 .v2-lst .list-pagination .page-item.active .page-link { background: var(--v2-ink) !important; color: var(--v2-paper) !important; }
body.admin-v2.theme-dark .v2-lst .list-pagination .page-item.active .page-link { background: #D4AF63 !important; color: #0B1026 !important; }

/* the bulk bar */
body.admin-v2 .bulk {
    position: fixed; left: calc(50% + var(--app-sidebar-w) / 2); bottom: 18px; transform: translateX(-50%); z-index: 1050; width: max-content;
    display: flex; align-items: center; gap: 4px; padding: 6px 6px 6px 14px; border-radius: 12px;
    background: var(--v2-ink); color: var(--v2-paper); white-space: nowrap; font-size: 13.5px;
    box-shadow: 0 16px 48px rgba(23, 21, 27, .25);
}
body.admin-v2.theme-dark .bulk { background: #E9ECFA; color: #0B1026; }
body.admin-v2 .bulk > b { margin-right: 8px; font-weight: 600; }
body.admin-v2 .bulk .btn { background: transparent !important; border-color: transparent !important; color: inherit !important; height: 32px; display: inline-flex; align-items: center; gap: 6px; }
body.admin-v2 .bulk .btn:hover { background: rgba(255, 255, 255, .12) !important; }
body.admin-v2.theme-dark .bulk .btn:hover { background: rgba(11, 16, 38, .08) !important; }
.v2-bulk-enter-active, .v2-bulk-leave-active { transition: transform .2s, opacity .2s; }
.v2-bulk-enter-from, .v2-bulk-leave-to { opacity: 0; transform: translate(-50%, 120%) !important; }
@media (max-width: 1199.98px) { body.admin-v2 .bulk { left: 50%; max-width: calc(100vw - 24px); overflow-x: auto; } }
@media (max-width: 767.98px) { body.admin-v2 .v2-srch { min-width: 0; flex: 1 1 100%; } }

body.admin-v2 .v2-lst .table tbody td .v2-mono.fw-bold { font-size: 12.5px; font-weight: 600 !important; }
/* the setup-guide badge: bottom-right, clear of lists and the account */
body.admin-v2 .sg-pop { left: auto !important; right: 18px !important; bottom: 18px !important; }
/* a sidebar count keeps its pill, whatever the theme's link rules say */
body.admin-v2 .sidebar-link > span.v2-cnt { margin-left: auto !important; border: 0 !important; }
body.admin-v2:not(.theme-dark) .sidebar-link > span.v2-cnt.hot { background: color-mix(in srgb, var(--m, var(--v2-saf)) 15%, transparent) !important; color: var(--m, var(--v2-saf)) !important; }

/* =====================================================================
   Home (prototype pages-sell.js "/dashboard", theme.css home pieces)
   ===================================================================== */
body.admin-v2 .tipi {
    display: inline-grid; place-items: center; width: 15px; height: 15px; margin-left: 4px; border-radius: 50%;
    border: 1px solid var(--v2-line); color: var(--v2-faint); font: 600 9.5px/1 var(--v2-f); cursor: help; flex: none; vertical-align: middle;
}
body.admin-v2 .tipi:hover { border-color: var(--v2-saf); color: var(--v2-saf); }
body.admin-v2 .v2h-head .v2pp-btn { background: var(--v2-paper) !important; border-radius: 10px !important; height: 36px !important; font-weight: 600 !important; border-color: var(--v2-line) !important; }
body.admin-v2 .v2h-head .v2pp-pop { background: var(--v2-paper) !important; border-radius: 12px !important; }
body.admin-v2 .card.kpi .d { display: flex; align-items: center; gap: 6px; margin-top: 4px; min-height: 20px; font-size: 12px; }
body.admin-v2 .dp { display: inline-flex; align-items: center; gap: 3px; font-weight: 700; font-size: 11.5px; border-radius: 999px; padding: 1px 8px; }
body.admin-v2 .dp.up { background: color-mix(in srgb, var(--c-tul, #2F855A) 14%, transparent); color: var(--c-tul, #2F855A); }
body.admin-v2 .dp.dn { background: color-mix(in srgb, var(--c-kum, #C53030) 14%, transparent); color: var(--c-kum, #C53030); }
body.admin-v2 .dp.eq { background: var(--v2-panel); color: var(--v2-muted); }
body.admin-v2 .card.kpi { padding-bottom: 0 !important; display: flex !important; flex-direction: column; }
body.admin-v2 .card.kpi .v2c-spark { margin-top: auto !important; }

/* card headers: text links, not buttons */
body.admin-v2 .v2-link { margin-left: auto; font: 600 13px var(--v2-f); color: var(--v2-saf) !important; text-decoration: none; white-space: nowrap; }
body.admin-v2 .v2-link:hover { text-decoration: underline; }
body.admin-v2 .card-h h3 { flex: 1 1 auto; }
body.admin-v2 .v2-sel-chip { height: 30px; padding: 0 26px 0 10px; border: 1px solid var(--v2-line); border-radius: 8px; background-color: var(--v2-paper); font: 500 12.5px var(--v2-f); color: var(--v2-ink2); }
body.admin-v2 .legend .v2-lg-cur { display: inline-block; width: 12px; height: 3px; border-radius: 2px; margin-right: 6px; vertical-align: 3px; background: linear-gradient(90deg, #E07A2E, #C9505A); }
body.admin-v2 .legend .v2-lg-prev { display: inline-block; width: 12px; height: 3px; border-radius: 2px; margin-right: 6px; vertical-align: 3px; background: var(--v2-faint); }
body.admin-v2 .v2c-area .v2c-prev { stroke: var(--v2-faint) !important; stroke-dasharray: 4 4; stroke-width: 1.5; }
body.admin-v2.theme-dark .v2c-area .v2c-ln-a { stop-color: #E2C27F; }
body.admin-v2.theme-dark .v2c-area .v2c-ln-b { stop-color: #C99A45; }

/* where orders get stuck: each stage its own colour, the count inside the bar */
body.admin-v2 .funnel { display: grid; gap: 10px; }
body.admin-v2 .funnel .fr { display: grid; grid-template-columns: 96px minmax(0, 1fr) 112px; align-items: center; gap: 12px; font-size: 13px; }
body.admin-v2 .funnel .fr .lab { color: var(--v2-ink2); font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.admin-v2 .funnel .fr .trk { height: 28px; display: flex; justify-content: center; }
body.admin-v2 .funnel .fr .bar { height: 100%; border-radius: 8px; display: flex; align-items: center; justify-content: center; color: #fff; font: 700 13px var(--v2-f); min-width: 38px; }
body.admin-v2 .funnel .fr:nth-child(1) .bar { background: var(--c-saf, #DD6B20); }
body.admin-v2 .funnel .fr:nth-child(2) .bar { background: var(--c-mari, #D69420); }
body.admin-v2 .funnel .fr:nth-child(3) .bar { background: var(--c-roy, #4C51BF); }
body.admin-v2 .funnel .fr:nth-child(4) .bar { background: var(--c-pea, #13808A); }
body.admin-v2 .funnel .fr:nth-child(5) .bar { background: var(--c-tul, #2F855A); }
body.admin-v2.theme-dark .funnel .fr .bar { background: #D4AF63 !important; color: #0B1026; }
body.admin-v2 .funnel .fr .rt { text-align: right; color: var(--v2-muted); font-size: 12px; white-space: nowrap; }
body.admin-v2 .funnel .fr .rt b { color: var(--v2-ink); font-weight: 700; }
body.admin-v2 .exc { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 14px; padding-top: 12px; border-top: 1px dashed var(--v2-line); }
body.admin-v2 .exc span { font-size: 12px; font-weight: 650; border-radius: 999px; padding: 3px 10px; background: color-mix(in srgb, var(--c-kum, #C53030) 12%, transparent); color: var(--c-kum, #C53030); }
body.admin-v2 .exc span.mut { background: var(--v2-panel); color: var(--v2-muted); }

/* when customers buy */
body.admin-v2 .v2c-heat { display: grid !important; gap: 3px !important; font-size: 10.5px; color: var(--v2-faint); }
body.admin-v2 .v2c-heat-r { display: grid !important; grid-template-columns: 32px repeat(12, minmax(0, 1fr)) !important; gap: 3px !important; align-items: center; }
body.admin-v2 .v2c-heat-r i { aspect-ratio: 1.6; height: auto !important; border-radius: 5px !important; display: block; opacity: 1 !important; }
body.admin-v2 .v2c-heat-head small { text-align: center; font-size: 10.5px; color: var(--v2-faint); }
body.admin-v2 .v2c-heat-l { font-size: 10.5px !important; color: var(--v2-faint) !important; }
body.admin-v2 .v2c-heat-key { display: flex; align-items: center; gap: 5px; font-size: 11.5px; color: var(--v2-muted); margin-top: 10px; }
body.admin-v2 .v2c-heat-key i { width: 16px; height: 8px; border-radius: 2px; }
body.admin-v2:not(.theme-dark) { --v2-heat: #2F855A; }
body.admin-v2.theme-dark { --v2-heat: #D4AF63; }

/* sales by deity */
body.admin-v2 .dbar { display: grid; grid-template-columns: 32px minmax(0, 1fr) 76px; gap: 10px; align-items: center; padding: 6px 0; }
body.admin-v2 .dbar .ic { width: 32px; height: 32px; border-radius: 10px; display: grid; place-items: center; background: color-mix(in srgb, var(--c-saf, #DD6B20) 12%, transparent); }
body.admin-v2 .dbar .ic img { width: 22px; height: 22px; object-fit: contain; }
body.admin-v2.theme-dark .dbar .ic img { filter: invert(1) brightness(1.4); }
body.admin-v2 .dbar .nm { display: flex; justify-content: space-between; font-size: 12.5px; margin-bottom: 4px; gap: 8px; }
body.admin-v2 .dbar .nm span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-weight: 650; color: var(--v2-ink2); }
body.admin-v2 .dbar .nm em { font-style: normal; color: var(--v2-muted); flex: none; }
body.admin-v2 .dbar .tr { height: 7px; border-radius: 4px; background: var(--v2-panel); overflow: hidden; }
body.admin-v2 .dbar .tr i { display: block; height: 100%; border-radius: 4px; background: var(--c-saf, #DD6B20); }
body.admin-v2.theme-dark .dbar .tr i { background: #D4AF63; }
body.admin-v2 .dbar > b { text-align: right; font: 700 13px var(--v2-f); }

/* how customers pay */
body.admin-v2 .pt-top { display: grid !important; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 12px !important; }
body.admin-v2 .pt-box { background: var(--v2-panel); border-radius: 10px; padding: 10px 12px; }
body.admin-v2 .pt-box small { display: block; font-size: 12px; color: var(--v2-muted); }
body.admin-v2 .pt-box b { font: 700 18px var(--v2-f); }
body.admin-v2 .pt-bar { height: 10px !important; border-radius: 6px !important; gap: 2px; margin-bottom: 10px !important; }

/* where orders come from */
body.admin-v2 .src-g { margin-top: 12px; }
body.admin-v2 .src-gh { display: flex; justify-content: space-between; align-items: center; font-size: 13px; margin-bottom: 6px; }
body.admin-v2 .src-gh i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 8px; }
body.admin-v2 .src-g .src-r { display: grid !important; grid-template-columns: 74px minmax(0, 1fr) 40px !important; gap: 10px; align-items: center; padding: 3px 0 3px 18px !important; }
body.admin-v2 .srcb { font: 650 11px var(--v2-f) !important; letter-spacing: .04em; text-align: center; padding: 3px 8px !important; border-radius: 6px; }
body.admin-v2:not(.theme-dark) .srcb.s-MWEB, body.admin-v2:not(.theme-dark) .srcb.s-WEB { background: color-mix(in srgb, var(--c-roy) 12%, transparent) !important; color: var(--c-roy) !important; }
body.admin-v2:not(.theme-dark) .srcb.s-Android, body.admin-v2:not(.theme-dark) .srcb.s-IOS { background: color-mix(in srgb, var(--c-rose) 12%, transparent) !important; color: var(--c-rose) !important; }
body.admin-v2 .hb-bar { height: 7px !important; border-radius: 4px !important; }

/* searches */
body.admin-v2 .sterm { display: grid; grid-template-columns: 22px minmax(0, 1fr) 64px 64px 58px; gap: 10px; align-items: center; padding: 8px 0; border-bottom: 1px solid var(--v2-line2); font-size: 13px; }
body.admin-v2 .sterm:last-child { border-bottom: 0; }
body.admin-v2 .sterm .rk { font-weight: 700; color: var(--v2-faint); text-align: right; }
body.admin-v2 .sterm .q { min-width: 0; }
body.admin-v2 .sterm .q b { display: block; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.admin-v2 .sterm .q .tr { display: block; height: 6px; border-radius: 3px; background: var(--v2-panel); margin-top: 5px; overflow: hidden; }
body.admin-v2 .sterm .q .tr i { display: block; height: 100%; border-radius: 3px; background: var(--c-vio, #805AD5); }
body.admin-v2 .sterm .n { text-align: right; font-weight: 700; }
body.admin-v2 .sterm.hd { font: 650 11px var(--v2-f); letter-spacing: .04em; text-transform: uppercase; color: var(--v2-muted); padding-top: 0; }

/* stock and the glance list */
body.admin-v2 .stk { display: flex; height: 12px; border-radius: 7px; overflow: hidden; gap: 2px; margin: 6px 0 12px; }
body.admin-v2 .stk i { display: block; height: 100%; }
body.admin-v2 .lgl { display: grid; }
body.admin-v2 .lgl > div { display: grid; grid-template-columns: 10px minmax(0, 1fr) auto 42px; gap: 10px; align-items: center; font-size: 13px; padding: 7px 0; border-bottom: 1px solid var(--v2-line2); }
body.admin-v2 .lgl > div:last-child { border-bottom: 0; }
body.admin-v2 .lgl i { width: 10px; height: 10px; border-radius: 3px; }
body.admin-v2 .lgl b { font-weight: 650; text-align: right; }
body.admin-v2 .lgl em { font-style: normal; color: var(--v2-muted); text-align: right; font-size: 12px; }
body.admin-v2 .card-b.tight .kv { padding: 9px 20px !important; }
body.admin-v2 .v2h .li .av { background: var(--v2-hero); color: #fff; }
body.admin-v2 .v2h .card.s12 > .li, body.admin-v2 .v2h .card.s4 > .li { padding: 11px 20px !important; }

/* =====================================================================
   Order page (prototype "/orders/:id") — the order drawer laid out as a page
   ===================================================================== */
body.admin-v2 .ods-panel.ods-page {
    position: static !important; width: auto !important; height: auto !important; z-index: auto !important;
    background: transparent !important; box-shadow: none !important; display: block !important; transform: none !important;
}
body.admin-v2 .ods-page .ods-body { padding: 0 !important; overflow: visible !important; background: transparent !important; }
body.admin-v2 .v2-od-crumbs { display: flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--v2-muted); margin-bottom: 8px; }
body.admin-v2 .v2-od-crumbs a { color: var(--v2-muted) !important; text-decoration: none; }
body.admin-v2 .v2-od-crumbs a:hover { color: var(--v2-ink) !important; }
body.admin-v2 .v2-od-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 22px; }
body.admin-v2 .v2-od-h1 { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
body.admin-v2 .v2-od-h1 h1 { margin: 0; }
body.admin-v2 .v2-od-sub { font-size: 13.5px; color: var(--v2-muted); margin-top: 4px; }
body.admin-v2 .v2-od-acts { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
body.admin-v2 .v2-od-acts .btn { height: 36px; display: inline-flex; align-items: center; gap: 6px; }
body.admin-v2 .v2-od-acts .ib[disabled] { opacity: .35; pointer-events: none; }
/* progress steps */
body.admin-v2 .v2-od-steps { display: grid !important; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 4px; padding: 18px 20px !important; margin-bottom: 16px; }
body.admin-v2 .v2-od-steps > div { position: relative; padding-top: 14px; font-size: 13px; color: var(--v2-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.admin-v2 .v2-od-steps > div::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; border-radius: 2px; background: var(--v2-panel); }
body.admin-v2 .v2-od-steps > div.d { color: var(--v2-ink2); }
body.admin-v2 .v2-od-steps > div.d::before { background: var(--c-roy, #4C51BF); }
body.admin-v2 .v2-od-steps > div.c { color: var(--v2-ink); font-weight: 600; }
body.admin-v2 .v2-od-steps > div.c::before { background: var(--v2-hero); }
body.admin-v2 .v2-od-steps > div.x { color: var(--v2-kum); font-weight: 600; }
body.admin-v2 .v2-od-steps > div.x::before { background: var(--v2-kum); }
/* main column (items, shipment, timeline) and side column (customer, address, payment, invoice) */
body.admin-v2 .ods-page .row.ods-itemwise { display: grid !important; grid-template-columns: minmax(0, 1fr) 340px; grid-template-rows: min-content 1fr; gap: 0 16px; margin: 0 !important; align-items: start; }
body.admin-v2 .ods-page .row.ods-itemwise > [class*="col-"] { width: auto !important; max-width: none !important; padding: 0 !important; margin: 0 !important; }
body.admin-v2 .ods-page .ods-col-items { grid-column: 1; grid-row: 1 / span 2; }
body.admin-v2 .ods-page .ods-col-left { grid-column: 2; grid-row: 1; }
body.admin-v2 .ods-page .ods-col-right { grid-column: 2; grid-row: 2; }
@media (max-width: 1199.98px) {
    body.admin-v2 .ods-page .row.ods-itemwise { grid-template-columns: minmax(0, 1fr); }
    body.admin-v2 .ods-page .ods-col-items, body.admin-v2 .ods-page .ods-col-left, body.admin-v2 .ods-page .ods-col-right { grid-column: 1; grid-row: auto; }
    body.admin-v2 .ods-page .ods-col-items { order: -1; } /* one column: items first, as the prototype */
}
/* the drawer's cards as the page's cards */
body.admin-v2 .ods-page .ods-card {
    background: var(--v2-paper) !important; border: 1px solid var(--v2-card-b) !important; border-radius: 16px !important;
    box-shadow: var(--v2-lift) !important; padding: 0 0 4px !important; margin-bottom: 16px !important; overflow: hidden;
}
body.admin-v2 .ods-page .ods-card > .ods-card-title {
    padding: 15px 20px; min-height: 54px; margin: 0 0 12px !important; border-bottom: 1px solid var(--v2-line2);
    font: 650 14.5px var(--v2-f) !important; color: var(--v2-ink) !important;
}
body.admin-v2 .ods-page .ods-card > .ods-card-title .ods-ic { display: none; }
body.admin-v2 .ods-page .ods-card > :not(.ods-card-title) { margin-left: 20px; margin-right: 20px; }
body.admin-v2 .ods-page .ods-card > .ods-card-title + * { margin-top: 0; }
body.admin-v2 .ods-page .ods-card .ods-row { padding: 6px 0; font-size: 13.5px; }

body.admin-v2 .ods-page .ods-col-more { grid-column: 1; grid-row: 3; }
@media (max-width: 1199.98px) { body.admin-v2 .ods-page .ods-col-more { grid-row: auto; } }
body.admin-v2 .ods-page .ods-eitem.v2-od-item { border: 0 !important; border-radius: 0 !important; padding: 0 !important; margin: 0 !important; background: transparent !important; box-shadow: none !important; }
body.admin-v2 .ods-page .ods-card > .ods-eitem.v2-od-item { margin: 0 !important; }
body.admin-v2 .v2-od-line { display: grid; grid-template-columns: 18px 32px minmax(0, 1fr) auto auto auto; gap: 12px; align-items: center; padding: 11px 0; border-bottom: 1px solid var(--v2-line2); }
body.admin-v2 .v2-od-ck-sp { width: 16px; }
body.admin-v2 .v2-od-thumb { width: 32px; height: 40px; border-radius: 4px; background: var(--v2-panel) center / cover no-repeat; box-shadow: 0 0 0 1px var(--v2-line2); }
body.admin-v2 .v2-od-tx { min-width: 0; flex: 1; }
body.admin-v2 .v2-od-tx b { display: block; font: 600 13.5px var(--v2-f); color: var(--v2-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.admin-v2 .v2-od-tx small { display: block; font-size: 12px; color: var(--v2-muted); margin-top: 2px; }
body.admin-v2 .v2-od-amt { min-width: 76px; text-align: right; font: 700 13.5px var(--v2-f); }
body.admin-v2 .v2-od-line .btn { display: inline-flex; align-items: center; gap: 4px; }
body.admin-v2 .v2-od-manage { padding: 12px 0 16px; margin: 0 !important; border-bottom: 1px solid var(--v2-line2); background: color-mix(in srgb, var(--v2-panel) 45%, transparent); }
body.admin-v2 .v2-od-parcel { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 4px 0 14px; }
body.admin-v2 .v2-od-parcel .btn { display: inline-flex; align-items: center; gap: 5px; }
body.admin-v2 .v2-od-btns { display: flex; flex-wrap: wrap; gap: 8px; padding-bottom: 14px; }
body.admin-v2 .v2-od-btns .btn { display: inline-flex; align-items: center; gap: 5px; }
body.admin-v2 .v2-od-items-h { display: flex; align-items: center; gap: 8px; }
body.admin-v2 .v2-od-items-h > span { font: 650 15px var(--v2-f); }
body.admin-v2 .v2-od-items-h small { font-size: 12.5px; font-weight: 400; }
body.admin-v2 .v2-od-items-h .v2-menu-wrap { margin-left: auto; }
body.admin-v2 .v2-od-sum { padding: 6px 0 14px; }
body.admin-v2 .v2-od-cust-h { display: flex; align-items: center; gap: 6px; }
body.admin-v2 .v2-od-cust-h > span { font: 650 15px var(--v2-f); }
body.admin-v2 .v2-od-cust-h .ib { width: 30px; height: 30px; display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 8px; background: transparent; color: var(--v2-muted); }
body.admin-v2 .v2-od-cust-h .ib:hover { background: var(--v2-panel); color: var(--v2-ink); }
body.admin-v2 .v2-od-cust { display: flex; align-items: center; gap: 12px; padding: 2px 0 14px; }
body.admin-v2 .v2-od-cust.is-link { cursor: pointer; }
body.admin-v2 .v2-od-cust .v2-od-tx b { white-space: normal; }
body.admin-v2 .v2-od-av { width: 40px; height: 40px; flex: none; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--v2-panel); color: var(--v2-muted); font: 650 13px var(--v2-f); box-shadow: 0 0 0 1px var(--v2-line2); }
body.admin-v2 .v2-od-lnk { display: inline-flex; align-items: center; gap: 4px; padding: 2px 4px; text-decoration: none !important; color: var(--v2-saf) !important; font: 600 13px var(--v2-f); }
body.admin-v2 .v2-od-addr { font-size: 14px; line-height: 1.55; color: var(--v2-ink); padding-bottom: 14px; }
body.admin-v2 .v2-od-addr .text-muted { font-size: 13px; }
body.admin-v2 .ods-page .v2-od-sum .ods-total { padding: 10px 0 0 !important; background: none !important; border-radius: 0 !important; }
body.admin-v2 .v2-od-sum .ods-row { display: flex; justify-content: space-between; padding: 5px 0; font-size: 13.5px; color: var(--v2-muted); }
body.admin-v2 .v2-od-sum .ods-row b { font-weight: 500; color: var(--v2-ink); }
body.admin-v2 .v2-od-sum .ods-total { display: flex; justify-content: space-between; border-top: 1px solid var(--v2-line2); margin-top: 6px; padding-top: 10px; font: 650 14.5px var(--v2-f); color: var(--v2-ink); background: none; }
@media (max-width: 767.98px) { body.admin-v2 .v2-od-line { grid-template-columns: 18px 32px minmax(0, 1fr) auto; } body.admin-v2 .v2-od-line .v2-ful, body.admin-v2 .v2-od-line .btn { grid-column: 3 / -1; justify-self: start; } body.admin-v2 .v2-od-line .v2-od-amt { grid-column: 4; grid-row: 1; min-width: 0; } /* regression R-24: the price fell into the narrow first columns and ran into Manage at 390 px */ }

/* Returns: "Needs you" chips and cards (prototype /return-requests) */
body.admin-v2 .v2-needs { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin: -6px 0 14px; }
body.admin-v2 .v2-needs > b { font: 650 14px var(--v2-f); margin-right: 4px; }
body.admin-v2 .v2-need { display: inline-flex; align-items: center; gap: 6px; height: 26px; padding: 0 10px; border: 0; border-radius: 999px; font: 650 12.5px var(--v2-f); }
body.admin-v2 .v2-need.n-decide { background: color-mix(in srgb, var(--c-kum, #C53030) 12%, transparent); color: var(--c-kum, #C53030); }
body.admin-v2 .v2-need.n-collect { background: color-mix(in srgb, var(--c-mari, #D69420) 16%, transparent); color: color-mix(in srgb, var(--c-mari, #D69420) 75%, #17151B); }
body.admin-v2 .v2-need.n-refund { background: color-mix(in srgb, var(--c-tul, #2F855A) 13%, transparent); color: var(--c-tul, #2F855A); }
body.admin-v2 .v2-need.on { box-shadow: 0 0 0 2px currentColor inset; }
body.admin-v2 .v2-rcards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-bottom: 20px; }
@media (max-width: 1199.98px) { body.admin-v2 .v2-rcards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767.98px) { body.admin-v2 .v2-rcards { grid-template-columns: 1fr; } }
body.admin-v2 .v2-rcard { display: flex !important; flex-direction: row !important; gap: 12px; padding: 12px !important; margin: 0 !important; }
body.admin-v2 .v2-rthumb { width: 76px; height: 76px; flex: none; border-radius: 10px; border: 1px solid var(--v2-line2); background: var(--v2-panel) center / cover no-repeat; }
body.admin-v2 .v2-rbody { min-width: 0; flex: 1; display: flex; flex-direction: column; gap: 3px; }
body.admin-v2 .v2-rtop { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
body.admin-v2 .v2-rtop small { color: var(--v2-muted); font-size: 12px; }
body.admin-v2 .v2-rname { font: 650 14px var(--v2-f); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 4px; }
body.admin-v2 .v2-rmeta { font-size: 12.5px; color: var(--v2-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.admin-v2 .v2-racts { display: flex; justify-content: flex-end; align-items: center; gap: 6px; margin-top: auto; padding-top: 8px; }
body.admin-v2 .v2-racts .btn { height: 30px; display: inline-flex; align-items: center; gap: 4px; }
body.admin-v2 .v2-racts .btn-link { color: var(--v2-ink) !important; text-decoration: none; font-weight: 600; }
body.admin-v2 .v2-ritem { display: flex; align-items: center; gap: 10px; }
body.admin-v2 .v2-ritem .v2-thumb { width: 32px; height: 40px; }
body.admin-v2 .v2-ritem { min-width: 260px; max-width: 360px; }
body.admin-v2 .v2-ritem > div { min-width: 0; }
body.admin-v2 .v2-ritem b, body.admin-v2 .v2-ritem small { display: block; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.admin-v2 .v2-ritem small { font-weight: 400; }

/* Shipments */
body.admin-v2 .v2-lst tr.v2-exc > td { background: color-mix(in srgb, var(--c-kum, #C53030) 6%, transparent) !important; }
body.admin-v2 .v2-cstrip .v2-tag { margin-left: 4px; }

body.admin-v2 .menu .submenu .submenu-item a { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* ---------- products list (prototype pages-catalog.js "/products") ---------- */
body.admin-v2 .v2-sw { width: 32px; height: 18px; border-radius: 9px; background: var(--v2-line, #E4E1EA); position: relative; cursor: pointer; flex: none; display: inline-block; vertical-align: middle; border: 0; padding: 0; transition: background .15s; }
body.admin-v2 .v2-sw::after { content: ""; position: absolute; left: 2px; top: 2px; width: 14px; height: 14px; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(0, 0, 0, .25); transition: transform .15s; }
body.admin-v2 .v2-sw.on { background: var(--c-tul); }
body.admin-v2 .v2-sw.on::after { transform: translateX(14px); }
body.admin-v2.theme-dark .v2-sw.on::after { background: #0B1026; }
body.admin-v2 .v2-sw:disabled { opacity: .5; cursor: default; }
body.admin-v2 .v2-star { display: inline-flex; align-items: center; gap: 4px; font-weight: 600; }
body.admin-v2 .v2-star { font-weight: 500; }
body.admin-v2 .v2-lst .form-check-input:not(:checked):not(:indeterminate) { border: 1.5px solid var(--v2-faint) !important; width: 16px; height: 16px; border-radius: 4px; background-color: transparent; }
body.admin-v2.theme-dark .v2-lst small.v2-lo { color: var(--v2-gold) !important; }
body.admin-v2.theme-dark .v2-sw.on { background: var(--v2-gold); }
@media (max-width: 767.98px) { body.admin-v2 .page-head { align-items: flex-start; } }
body.admin-v2 .v2-lo { color: var(--c-saf) !important; }
body.admin-v2 .bulk .btn.v2-danger { color: #F7A4A4 !important; }
body.admin-v2.theme-dark .bulk .btn.v2-danger { color: var(--c-kum) !important; }
body.admin-v2 .page-head .v2-psub { color: var(--v2-muted); font-size: 13.5px; margin-top: 4px; }

/* ---------- confirm dialogs (SweetAlert) as the prototype's A.confirm / A.prompt:
   title and one muted line on the left, Cancel then the action on the right, no icon.
   A warning is a destructive question, so its action is red. ---------- */
body.admin-v2 .swal2-container.swal2-backdrop-show { background: rgba(23, 21, 27, .38) !important; }
body.admin-v2.theme-dark .swal2-container.swal2-backdrop-show { background: rgba(4, 6, 18, .6) !important; }
body.admin-v2 .swal2-popup {
    width: min(480px, calc(100vw - 32px)) !important; padding: 0 !important; text-align: left !important;
    border-radius: 12px !important; background: var(--v2-paper) !important; border: 1px solid var(--v2-line) !important;
    box-shadow: 0 24px 64px -20px rgba(23, 21, 27, .35) !important; font-family: var(--v2-f) !important; display: grid !important;
}
body.admin-v2.theme-dark .swal2-popup { background: #121838 !important; }
body.admin-v2 .swal2-popup .swal2-icon { display: none !important; }
body.admin-v2 .swal2-popup .swal2-title {
    font: 600 16px/1.35 var(--v2-f) !important; color: var(--v2-ink) !important; text-align: left !important;
    padding: 18px 20px 2px !important; margin: 0 !important; letter-spacing: 0 !important;
}
body.admin-v2 .swal2-popup .swal2-html-container {
    color: var(--v2-muted) !important; font-size: 13.5px !important; line-height: 1.5 !important; text-align: left !important;
    margin: 4px 20px 0 !important; padding: 0 !important;
}
body.admin-v2 .swal2-popup .swal2-input, body.admin-v2 .swal2-popup .swal2-textarea, body.admin-v2 .swal2-popup .swal2-select {
    margin: 14px 20px 0 !important; width: auto !important; max-width: none !important; font-size: 14px !important;
    border: 1px solid var(--v2-line) !important; border-radius: 8px !important; box-shadow: none !important;
    background: var(--v2-paper) !important; color: var(--v2-ink) !important;
}
body.admin-v2 .swal2-popup .swal2-textarea { min-height: 84px !important; padding: 10px 12px !important; }
body.admin-v2 .swal2-popup .swal2-validation-message { margin: 10px 20px 0 !important; background: transparent !important; color: var(--c-kum) !important; justify-content: flex-start !important; padding: 0 !important; font-size: 13px !important; }
body.admin-v2 .swal2-popup .swal2-actions {
    flex-direction: row-reverse !important; justify-content: flex-start !important; gap: 8px !important;
    width: 100% !important; margin: 14px 0 0 !important; padding: 12px 20px 16px !important; box-sizing: border-box;
}
body.admin-v2 .swal2-popup .swal2-actions button.swal2-styled {
    margin: 0 !important; height: 36px; padding: 0 14px !important; border-radius: 8px !important; font: 600 13.5px var(--v2-f) !important;
    box-shadow: none !important; outline: 0 !important;
}
body.admin-v2 .swal2-popup .swal2-confirm { background: var(--v2-hero) !important; border: 1px solid transparent !important; color: #fff !important; }
body.admin-v2.theme-dark .swal2-popup .swal2-confirm { color: #0B1026 !important; }
body.admin-v2 .swal2-popup.swal2-icon-warning .swal2-confirm, body.admin-v2 .swal2-popup.swal2-icon-error .swal2-confirm { background: var(--c-kum) !important; color: #fff !important; }
body.admin-v2 .swal2-popup .swal2-cancel, body.admin-v2 .swal2-popup .swal2-deny {
    background: var(--v2-paper) !important; border: 1px solid var(--v2-line) !important; color: var(--v2-ink) !important; font-weight: 500 !important;
}
body.admin-v2.theme-dark .swal2-popup .swal2-cancel, body.admin-v2.theme-dark .swal2-popup .swal2-deny { background: transparent !important; }
body.admin-v2 .swal2-popup .swal2-close { color: var(--v2-faint) !important; }

/* ---------- product editor (prototype "/products/:id"): one page, sections left, side cards right ---------- */
body.admin-v2 .v2-pe { background: transparent !important; border: 0 !important; box-shadow: none !important; }
body.admin-v2 .v2-pe > .card-body { padding: 0 !important; }
body.admin-v2 .v2-pe > .card-footer { background: var(--v2-paper) !important; border: 1px solid var(--v2-card-b) !important; border-radius: 12px !important; margin-top: 16px; padding: 12px 20px !important; justify-content: flex-end !important; gap: 8px; }
@media (min-width: 1200px) { body.admin-v2 .v2-pe > .card-footer { margin-right: 340px; } }
body.admin-v2 .pe-grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 20px; align-items: start; }
@media (max-width: 1199.98px) { body.admin-v2 .pe-grid { grid-template-columns: minmax(0, 1fr); } }
body.admin-v2 .pe-main { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
body.admin-v2 .pe-main .tabs, body.admin-v2 .pe-main .tabs > div:not(.tab-content), body.admin-v2 .pe-main .tab-content,
body.admin-v2 .pe-main .tab-content > .tab-pane.active { display: contents !important; }
body.admin-v2 .pe-main .nav-tabs { order: 0; }
body.admin-v2 .pe-main .pe-media { order: 1; }
body.admin-v2 .pe-main .pe-about { order: 2; }
body.admin-v2 .pe-main .pe-variants { order: 3; }
body.admin-v2 .pe-main .pe-seo { order: 4; }
body.admin-v2 .pe-main .pe-custom { order: 5; }
body.admin-v2 .pe-sec { background: var(--v2-paper); border: 1px solid var(--v2-card-b); border-radius: 12px; padding: 0 20px 18px; box-shadow: var(--v2-lift); min-width: 0; }
body.admin-v2.theme-dark .pe-sec { background: #121838; }
body.admin-v2 .pe-ch, body.admin-v2 .pe-sec > h5.pe-h, body.admin-v2 .pe-seo > .d-flex:first-child {
    margin: 0 -20px 16px !important; padding: 14px 20px; border-bottom: 1px solid var(--v2-line2);
    display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap;
}
body.admin-v2 .pe-ch h3, body.admin-v2 .pe-sec > h5.pe-h, body.admin-v2 .pe-seo > .d-flex:first-child h5 { font: 600 15px/1.3 var(--v2-f) !important; margin: 0 !important; color: var(--v2-ink); letter-spacing: 0; }
body.admin-v2 .pe-seo > .d-flex:first-child { align-items: center; }
body.admin-v2 .pe-ch small { color: var(--v2-muted); font-size: 12.5px; }
body.admin-v2 .pe-sec h5:not(.pe-h) { font: 600 13.5px var(--v2-f); color: var(--v2-ink2); }
body.admin-v2 .pe-sec label { font: 500 13px var(--v2-f); color: var(--v2-ink2); }
body.admin-v2 .pe-aside { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
body.admin-v2 .pe-aside [class*="col-"] { width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important; padding-left: 0 !important; padding-right: 0 !important; }
body.admin-v2 .pe-aside .row { margin: 0 !important; }
body.admin-v2 .pe-aside .form-group { margin-bottom: 14px; }
body.admin-v2 .pe-aside .form-group:last-child { margin-bottom: 0; }
body.admin-v2 .pe-aside small.text-muted { font-size: 12px; }
body.admin-v2 .rdy-h { display: flex; gap: 12px; align-items: center; padding-top: 18px; margin-bottom: 10px; }
body.admin-v2 .rdy-h small { display: block; color: var(--v2-muted); font-size: 12px; }
body.admin-v2 .rdy { width: 46px; height: 46px; border-radius: 50%; flex: none; position: relative; display: grid; place-items: center;
    background: conic-gradient(var(--c-tul) calc(var(--p) * 1%), var(--v2-line2) 0); }
body.admin-v2 .rdy::before { content: ""; position: absolute; inset: 4px; border-radius: 50%; background: var(--v2-paper); }
body.admin-v2.theme-dark .rdy::before { background: #121838; }
body.admin-v2 .rdy b { position: relative; font-size: 11.5px; }
body.admin-v2 .rdy-i { display: flex; gap: 8px; align-items: center; width: 100%; border: 0; background: none; padding: 5px 0; font-size: 13px; color: var(--v2-ink2); text-align: left; }
body.admin-v2 .rdy-i svg { color: var(--c-saf); flex: none; }
body.admin-v2 .rdy-i.ok svg { color: var(--c-tul); }
body.admin-v2 .rdy-i.ok span { color: var(--v2-muted); }
body.admin-v2 .pe-mini { display: flex; gap: 12px; align-items: center; }
body.admin-v2 .pe-mini-img { width: 48px; height: 60px; border-radius: 6px; background: var(--v2-panel) center / cover no-repeat; flex: none; }
body.admin-v2 .pe-mini s { color: var(--v2-faint); }
body.admin-v2 .pe-info { background: color-mix(in srgb, var(--c-ind) 8%, transparent); border-radius: 8px; padding: 10px 12px; font-size: 12.5px; color: var(--v2-ink2); margin-bottom: 14px; }
body.admin-v2 .pe-catbtn { cursor: pointer; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* ---------- product hero + tips (prototype .phero / .ptips) ---------- */
body.admin-v2 .v2ph .phero { display: grid; grid-template-columns: minmax(0, 230px) minmax(0, 1fr) minmax(0, 340px); gap: 22px; padding: 18px !important; margin: 0 0 14px !important; align-items: stretch; border-radius: 12px; }
body.admin-v2 .v2ph .ph-gal { display: grid; gap: 8px; align-content: start; }
body.admin-v2 .v2ph .ph-main { aspect-ratio: 1; border-radius: 12px; background: #fff center / 112% no-repeat; box-shadow: inset 0 0 0 1px var(--v2-line); display: grid; place-items: center; color: var(--v2-faint); }
body.admin-v2 .v2ph .ph-th { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
body.admin-v2 .v2ph .ph-th span { aspect-ratio: 1; border-radius: 8px; background: #fff center / cover; box-shadow: inset 0 0 0 1px var(--v2-line); display: grid; place-items: center; font-size: 12px; font-weight: 650; color: var(--v2-muted); }
body.admin-v2 .v2ph .ph-th .more { background: var(--v2-panel); }
body.admin-v2 .v2ph .ph-info { display: flex; flex-direction: column; gap: 12px; min-width: 0; padding-top: 4px; }
body.admin-v2 .v2ph .ph-chips { display: flex; gap: 6px; flex-wrap: wrap; }
body.admin-v2 .v2ph .ph-price { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
body.admin-v2 .v2ph .ph-price b { font: 700 26px var(--v2-f); letter-spacing: -.02em; color: var(--v2-ink); }
body.admin-v2 .v2ph .ph-price s { color: var(--v2-faint); font-size: 14px; }
body.admin-v2 .v2ph .ph-off { font-size: 12px; font-weight: 650; padding: 2px 8px; border-radius: 999px; background: color-mix(in srgb, var(--c-tul) 12%, transparent); color: var(--c-tul); }
body.admin-v2 .v2ph .ph-sizes { display: flex; gap: 8px; flex-wrap: wrap; }
body.admin-v2 .v2ph .ph-sz { display: inline-flex; align-items: center; gap: 7px; padding: 6px 11px; border-radius: 10px; background: var(--v2-panel); font-size: 13px; font-weight: 650; }
body.admin-v2 .v2ph .ph-sz i { width: 7px; height: 7px; border-radius: 50%; background: var(--c-tul); }
body.admin-v2 .v2ph .ph-sz.lo i { background: var(--c-mari); }
body.admin-v2 .v2ph .ph-sz.out i { background: var(--c-kum); }
body.admin-v2 .v2ph .ph-sz em { font-style: normal; font-weight: 500; color: var(--v2-muted); font-size: 12px; }
body.admin-v2 .v2ph .ph-desc { margin: 0; font-size: 13.5px; line-height: 1.5; color: var(--v2-muted); max-width: 52ch; }
body.admin-v2 .v2ph .ph-meta { display: flex; gap: 16px; flex-wrap: wrap; font-size: 12.5px; color: var(--v2-muted); margin-top: auto; }
body.admin-v2 .v2ph .ph-meta span { display: inline-flex; align-items: center; gap: 5px; }
body.admin-v2 .v2ph .ph-meta b { color: var(--v2-ink); }
body.admin-v2 .v2ph .ph-meta .lo { color: var(--c-mari); }
body.admin-v2 .v2ph .ph-meta .out { color: var(--c-kum); }
body.admin-v2 .v2ph .ph-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; align-content: start; }
body.admin-v2 .v2ph .ph-st { position: relative; display: grid; gap: 2px; padding: 10px 12px; border-radius: 12px; background: var(--v2-panel); min-width: 0; overflow: hidden; color: inherit !important; text-decoration: none; transition: background .15s; }
body.admin-v2 .v2ph a.ph-st:hover { background: var(--v2-hover); }
body.admin-v2 .v2ph .ph-st small { display: flex; align-items: center; gap: 5px; font-size: 11.5px; color: var(--v2-muted); font-weight: 600; }
body.admin-v2 .v2ph .ph-st b { font: 700 17px/1.25 var(--v2-f); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-variant-numeric: lining-nums proportional-nums; }
body.admin-v2 .v2ph .ph-st em { font-style: normal; font-size: 11.5px; color: var(--v2-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.admin-v2 .v2ph .ph-st:first-child { padding-bottom: 32px; }
body.admin-v2 .v2ph .ph-sp { position: absolute; left: 0; right: 0; bottom: 0; height: 30px; opacity: .9; }
body.admin-v2 .v2ph .ph-sp svg { width: 100%; height: 30px !important; display: block; }
body.admin-v2 .v2ph .ptips { display: flex; gap: 8px; flex-wrap: wrap; margin: 0 0 18px; }
body.admin-v2 .v2ph .ptip { display: inline-flex; align-items: center; gap: 7px; height: 32px; padding: 0 6px 0 11px; border-radius: 999px; font-size: 12.5px; font-weight: 600; border: 1px solid transparent; cursor: pointer; }
body.admin-v2 .v2ph .ptip b { font-size: 12px; padding: 3px 9px; border-radius: 999px; background: var(--v2-paper); color: inherit; }
body.admin-v2 .v2ph .ptip.no-go { cursor: default; padding-right: 12px; }
body.admin-v2 .v2ph .ptip.t-kum { background: color-mix(in srgb, var(--c-kum) 10%, transparent); color: var(--c-kum); }
body.admin-v2 .v2ph .ptip.t-saf { background: color-mix(in srgb, var(--c-mari) 14%, transparent); color: color-mix(in srgb, var(--c-mari) 60%, var(--v2-ink)); }
body.admin-v2 .v2ph .ptip.t-tul { background: color-mix(in srgb, var(--c-tul) 11%, transparent); color: var(--c-tul); }
body.admin-v2 .v2ph .ptip:not(.no-go):hover { border-color: currentColor; }
body.admin-v2.theme-dark .v2ph .ph-main, body.admin-v2.theme-dark .v2ph .ph-th span { box-shadow: none; }
body.admin-v2.theme-dark .v2ph .ph-st { background: #0f1533; box-shadow: inset 0 0 0 1px rgba(212, 175, 99, .14); }
body.admin-v2.theme-dark .v2ph .ph-st b { font-family: var(--v2-f-title) !important; color: #F3E6C8; }
body.admin-v2.theme-dark .v2ph .ptip.t-tul, body.admin-v2.theme-dark .v2ph .ptip.t-saf { background: rgba(212, 175, 99, .12); color: #E6CB8E; }
@media (max-width: 1240px) { body.admin-v2 .v2ph .phero { grid-template-columns: minmax(0, 200px) minmax(0, 1fr); } body.admin-v2 .v2ph .ph-stats { grid-column: span 2; grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 767.98px) { body.admin-v2 .v2ph .phero { grid-template-columns: 1fr; } body.admin-v2 .v2ph .ph-gal { max-width: 320px; } body.admin-v2 .v2ph .ph-stats { grid-column: auto; grid-template-columns: 1fr 1fr; } }

body.admin-v2.theme-dark .pe-sec .cat-pill.cat-pill-active { background: var(--v2-gold) !important; border-color: var(--v2-gold) !important; color: #0B1026 !important; }
body.admin-v2:not(.theme-dark) .pe-sec .cat-pill.cat-pill-active { background: var(--v2-ink) !important; border-color: var(--v2-ink) !important; color: #fff !important; }

/* ---------- inventory (prototype "/stock-management") ---------- */
body.admin-v2 .v2-figs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 0 !important; margin-bottom: 14px !important; border-radius: 12px; overflow: hidden; }
body.admin-v2 .v2-figs > div { padding: 16px 18px; display: grid; gap: 2px; min-width: 0; }
body.admin-v2 .v2-figs > div + div { border-left: 1px solid var(--v2-line2); }
body.admin-v2 .v2-figs small { color: var(--v2-muted); font-size: 12.5px; }
body.admin-v2 .v2-figs b { font: 700 24px/1.2 var(--v2-f); color: var(--v2-ink); }
body.admin-v2.theme-dark .v2-figs b { font-family: var(--v2-f-title) !important; }
body.admin-v2 .v2-figs em { font-style: normal; color: var(--v2-muted); font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 767.98px) { body.admin-v2 .v2-figs { grid-template-columns: 1fr 1fr; } body.admin-v2 .v2-figs > div:nth-child(3) { border-left: 0; } body.admin-v2 .v2-figs > div:nth-child(n+3) { border-top: 1px solid var(--v2-line2); } }
body.admin-v2 .v2-attn { opacity: 1 !important; display: inline-flex; align-items: center; gap: 7px; height: 32px; padding: 0 12px; border-radius: 999px; border: 0; margin-bottom: 14px; font-size: 12.5px; font-weight: 600; background: color-mix(in srgb, var(--c-kum) 10%, transparent); color: var(--c-kum); }
body.admin-v2 .v2-stock { margin: 0 !important; }
body.admin-v2 .v2-stock > thead th { font: 600 11.5px var(--v2-f) !important; text-transform: uppercase; letter-spacing: .04em; color: var(--v2-muted) !important; background: var(--v2-panel) !important; padding: 10px 14px !important; white-space: nowrap; }
body.admin-v2 .v2-stock > tbody > tr > td { padding: 10px 14px !important; vertical-align: middle; border-color: var(--v2-line2) !important; }
body.admin-v2 .v2-stg table { border-collapse: separate; border-spacing: 6px 4px; margin: -4px -6px; }
body.admin-v2 .v2-stock .v2-stg table th, body.admin-v2 .v2-stock .v2-stg table td { background: none !important; border: 0 !important; padding: 0 2px !important; box-shadow: none !important; text-transform: none !important; letter-spacing: 0 !important; font: 600 11.5px var(--v2-f) !important; color: var(--v2-muted) !important; text-align: center; vertical-align: middle; }
body.admin-v2 .v2-stock .v2-stg table tbody th { text-align: left !important; color: var(--v2-ink2) !important; padding-right: 8px !important; }
body.admin-v2 .v2-stock .v2-stg table td { font-weight: 500 !important; }
body.admin-v2 .v2-stg th { font: 600 11.5px var(--v2-f); color: var(--v2-muted); text-align: center; padding: 0 2px; white-space: nowrap; }
body.admin-v2 .v2-stg tbody th { text-align: left; color: var(--v2-ink2); padding-right: 6px; }
body.admin-v2 .v2-stg-store { font-size: 11.5px; color: var(--v2-muted); margin: 4px 0 2px; display: flex; align-items: center; gap: 4px; }
body.admin-v2 .v2-step { display: inline-flex; align-items: center; height: 26px; border: 1px solid var(--v2-line); border-radius: 8px; background: var(--v2-paper); }
body.admin-v2 .v2-step button { width: 22px; height: 24px; border: 0; background: none; color: var(--v2-muted); display: inline-grid; place-items: center; padding: 0; }
body.admin-v2 .v2-step button:hover:not(:disabled) { color: var(--v2-ink); }
body.admin-v2 .v2-step button:disabled { opacity: .35; }
body.admin-v2 .v2-step b { min-width: 30px; text-align: center; font-size: 12.5px; cursor: pointer; }
body.admin-v2 .v2-step.is-low { border-color: color-mix(in srgb, var(--c-mari) 70%, transparent); }
body.admin-v2 .v2-step.is-low b { color: color-mix(in srgb, var(--c-mari) 70%, var(--v2-ink)); }
body.admin-v2 .v2-step.is-out { border-color: color-mix(in srgb, var(--c-kum) 55%, transparent); }
body.admin-v2 .v2-step.is-out b { color: var(--c-kum); }
body.admin-v2 .v2-step.is-unl b { color: var(--v2-muted); cursor: default; }
body.admin-v2 .v2-stg-list { display: grid; gap: 4px; }
body.admin-v2 .v2-stg-li { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 12.5px; }
body.admin-v2 .v2-stock .stock-link { cursor: pointer; }
body.admin-v2 .v2-stock .stock-link:hover { color: var(--bs-primary); }

/* ---------- categories as tiles (prototype .ctiles / .ct) ---------- */
body.admin-v2 .v2-seg { display: inline-flex; padding: 3px; gap: 2px; border-radius: 10px; background: var(--v2-panel); border: 1px solid var(--v2-line); }
body.admin-v2 .v2-seg button { display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 10px; border: 0; border-radius: 7px; background: transparent; color: var(--v2-muted); font: 600 13px var(--v2-f); }
body.admin-v2 .v2-seg button.on { background: var(--v2-paper); color: var(--v2-ink); box-shadow: 0 1px 2px rgba(23, 21, 27, .08); }
body.admin-v2.theme-dark .v2-seg button.on { background: var(--v2-gold); color: #0B1026; }
body.admin-v2 .v2-tbar-bare { padding: 0 !important; margin-bottom: 14px; background: transparent !important; border: 0 !important; }
body.admin-v2 .v2-ctiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 14px; }
body.admin-v2 .v2-ctile { display: flex; flex-direction: column; border-radius: 14px; background: var(--v2-paper); border: 1px solid var(--v2-card-b); box-shadow: var(--v2-lift); overflow: hidden; cursor: pointer; transition: transform .15s, box-shadow .15s; color: inherit; text-decoration: none; min-width: 0; }
body.admin-v2.theme-dark .v2-ctile { background: #121838; border-color: rgba(212, 175, 99, .16); }
body.admin-v2 .v2-ctile:hover { transform: translateY(-2px); }
body.admin-v2 .v2-ctile.off .v2-ctile-img { filter: grayscale(.8); opacity: .6; }
body.admin-v2 .v2-ctile.dragging { opacity: .4; }
body.admin-v2 .v2-ctile-drag { position: absolute; right: 10px; top: 12px; color: #fff; opacity: .8; cursor: grab; }
body.admin-v2 .v2-ctile-img { position: relative; aspect-ratio: 4 / 3; background: var(--v2-panel) center / cover no-repeat; display: grid; place-items: center; color: var(--v2-faint); }
body.admin-v2 .v2-ctile-n { position: absolute; left: 10px; top: 10px; min-width: 24px; height: 24px; border-radius: 8px; display: grid; place-items: center; font: 700 12px var(--v2-f); background: rgba(0, 0, 0, .55); color: #fff; padding: 0 6px; }
body.admin-v2 .v2-ctile-img .v2-cat-sym { left: auto; right: 10px; top: auto; bottom: 10px; width: 34px; height: 34px; }
body.admin-v2 .v2-ctile-b { padding: 10px 12px 12px; display: grid; gap: 2px; min-width: 0; }
body.admin-v2 .v2-ctile-b > b { font-weight: 700; }
body.admin-v2 .v2-ctile-b small { font-size: 12px; color: var(--v2-muted); }
body.admin-v2 .v2-ctile-f { display: flex; align-items: center; justify-content: space-between; margin-top: 6px; }
body.admin-v2 .v2-ctile-sw { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--v2-muted); margin: 0; cursor: default; }
body.admin-v2 .v2-ctile.add { align-items: center; justify-content: center; flex-direction: row; gap: 8px; min-height: 220px; border-style: dashed; box-shadow: none; background: transparent; color: var(--v2-muted); font-weight: 600; }
body.admin-v2 .v2-bare-foot { background: transparent !important; border: 0 !important; padding: 14px 0 0 !important; }

/* ---------- every vendor list in the New admin, read like the prototype's tables:
   cells on the left, a sort arrow only on the sorted column, values as tags, the
   search first in the toolbar, status as a dot and a word ---------- */
body.admin-v2 .list-surface .table th.text-center, body.admin-v2 .list-surface .table td.text-center { text-align: left !important; }
body.admin-v2 .list-surface .table thead .dt-sort-icon:not(.is-active) { opacity: 0; transition: opacity .12s; }
body.admin-v2 .list-surface .table thead th:hover .dt-sort-icon { opacity: .6; }
body.admin-v2 .list-surface .table tbody .badge.bg-light { display: inline-flex; align-items: center; height: 22px; padding: 0 7px; border-radius: 4px; background: var(--v2-panel) !important; border: 0 !important; color: var(--v2-ink2) !important; font: 500 12px var(--v2-f); margin: 2px 4px 2px 0; }
body.admin-v2 .list-surface > .list-toolbar { justify-content: flex-start !important; }
body.admin-v2 .list-surface > .list-toolbar > .list-icon-btn:last-child { margin-left: auto; }
body.admin-v2 .list-surface .table .list-actions { justify-content: flex-end; }
body.admin-v2 .list-surface .table .status-pill { background: transparent !important; border: 0 !important; padding: 0 !important; gap: 7px; font: 500 13px var(--v2-f) !important; color: var(--v2-ink2) !important; }
body.admin-v2 .list-surface .table .status-pill::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--v2-faint); flex: none; }
body.admin-v2 .list-surface .table .status-pill.is-active::before { background: var(--c-tul); }
body.admin-v2 .list-surface .table .status-pill.is-inactive { color: var(--v2-muted) !important; }
body.admin-v2 .list-surface .table .status-pill.is-inactive::before { background: var(--c-kum); }
body.admin-v2 .list-surface .table .status-pill.is-warning::before { background: var(--c-mari); }
body.admin-v2 .list-surface .table .status-pill.is-info::before { background: var(--c-ind); }

body.admin-v2 .v2-blogo { width: 32px; height: 32px; border-radius: 8px; background: #fff center / contain no-repeat; box-shadow: inset 0 0 0 1px var(--v2-line); flex: none; }
body.admin-v2 .v2-btable { margin: 0 !important; }
body.admin-v2 .v2-btable > thead th { font: 600 11.5px var(--v2-f) !important; text-transform: uppercase; letter-spacing: .04em; color: var(--v2-muted) !important; background: var(--v2-panel) !important; padding: 10px 14px !important; }
body.admin-v2 .v2-btable > tbody > tr > td { padding: 10px 14px !important; vertical-align: middle; border-color: var(--v2-line2) !important; }

/* ---------- category order (prototype "/categories-order") ---------- */
body.admin-v2 .v2-corder { max-width: 640px; }
body.admin-v2 .v2-corder .list-group-item { gap: 12px; justify-content: flex-start !important; padding: 10px 14px !important; border: 0 !important; border-bottom: 1px solid var(--v2-line2) !important; background: transparent !important; border-radius: 0 !important; }
body.admin-v2 .v2-corder .list-group-item:last-child { border-bottom: 0 !important; }
body.admin-v2 .v2-co-grip { color: var(--v2-faint); cursor: grab; display: inline-grid; }
body.admin-v2 .v2-co-n { width: 22px; color: var(--v2-muted); font-size: 13px; text-align: right; }
body.admin-v2 .v2-co-img { width: 32px; height: 32px; border-radius: 6px; background: var(--v2-panel) center / cover no-repeat; flex: none; }
body.admin-v2 .v2-co-tx { flex: 1; min-width: 0; display: grid; }
body.admin-v2 .v2-co-tx b { font-weight: 600; }
body.admin-v2 .v2-co-tx small { color: var(--v2-muted); font-size: 12px; }

/* ---------- media library (prototype "/media") ---------- */
body.admin-v2 .v2-media.is-drop .list-surface { outline: 2px dashed var(--c-saf); outline-offset: 4px; }
body.admin-v2 .v2-mgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 16px; padding: 16px; }
body.admin-v2 .v2-mtile { position: relative; display: grid; gap: 2px; min-width: 0; }
body.admin-v2 .v2-mtile-img { aspect-ratio: 1; border-radius: 8px; background: #fff center / contain no-repeat; box-shadow: inset 0 0 0 1px var(--v2-line); margin-bottom: 6px; }
body.admin-v2 .v2-mtile.on .v2-mtile-img { box-shadow: inset 0 0 0 2px var(--c-saf); }
body.admin-v2 .v2-mtile b { font-size: 12.5px; font-weight: 600; }
body.admin-v2 .v2-mtile small { font-size: 11.5px; color: var(--v2-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.admin-v2 .v2-mtile-ck { position: absolute; left: 8px; top: 8px; z-index: 1; margin: 0; opacity: 0; transition: opacity .12s; }
body.admin-v2 .v2-mtile-acts { position: absolute; right: 6px; top: 6px; display: flex; gap: 4px; opacity: 0; transition: opacity .12s; }
body.admin-v2 .v2-mtile-acts .ib { background: var(--v2-paper) !important; box-shadow: 0 1px 3px rgba(0, 0, 0, .15); }
body.admin-v2 .v2-mtile:hover .v2-mtile-ck, body.admin-v2 .v2-mtile.on .v2-mtile-ck, body.admin-v2 .v2-mtile:hover .v2-mtile-acts { opacity: 1; }
body.admin-v2 .v2-mempty { margin: 16px; padding: 48px 16px; border: 2px dashed var(--v2-line); border-radius: 12px; display: grid; justify-items: center; gap: 6px; color: var(--v2-muted); cursor: pointer; text-align: center; }
body.admin-v2 .v2-mempty b { color: var(--v2-ink); }
body.admin-v2 .v2-danger-t { color: var(--c-kum) !important; }

/* ---------- bulk upload / update (prototype "/bulk-upload") ---------- */
body.admin-v2 .v2-bulk-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; align-items: start; }
@media (max-width: 991.98px) { body.admin-v2 .v2-bulk-grid { grid-template-columns: minmax(0, 1fr); } }
body.admin-v2 .v2-bulk-grid > .card { margin: 0 !important; }
body.admin-v2 .v2-bulk-grid .card-header { border: 0 !important; background: transparent !important; padding: 18px 20px 4px !important; }
body.admin-v2 .v2-bulk-grid .card-header h4 { font: 600 17px/1.3 var(--v2-f) !important; margin-top: 2px !important; }
body.admin-v2 .v2-step-n { font: 600 12.5px var(--v2-f); color: var(--v2-ink2); }
body.admin-v2 .v2-bulk-grid .card-body { padding: 10px 20px 20px !important; }
body.admin-v2 .v2-bulk-grid .alert-info { background: var(--v2-panel) !important; border: 0 !important; color: var(--v2-ink2) !important; font-size: 13px; border-radius: 10px; }
body.admin-v2 .v2-bulk-grid .badge.bg-primary, body.admin-v2 .v2-bulk-grid .badge.bg-secondary { display: inline-flex; align-items: center; height: 24px; padding: 0 8px; border-radius: 5px; background: var(--v2-panel) !important; color: var(--v2-ink2) !important; font: 500 12.5px var(--v2-f); }
body.admin-v2 .v2-bulk-grid .badge.bg-primary { box-shadow: inset 0 0 0 1px var(--v2-line); color: var(--v2-ink) !important; font-weight: 600; }

/* ---------- side drawer, as the prototype's .drawer: a b-modal with modal-class "v2-drawer", and every
   New-admin modal that holds a record form (Add / Edit brand, attribute, FAQ, role, store, ...) ---------- */
body.admin-v2 :is(.modal.v2-drawer, .modal:not(.v2-dlg):has(> .modal-dialog .modal-body form)) .modal-dialog { position: fixed; top: 0; right: 0; bottom: 0; margin: 0 !important; width: min(600px, 100vw); max-width: none !important; height: 100%; max-height: 100%; }
body.admin-v2 :is(.modal.v2-drawer, .modal:not(.v2-dlg):has(> .modal-dialog .modal-body form)).fade .modal-dialog { transform: translateX(40px); transition: transform .2s ease; }
body.admin-v2 :is(.modal.v2-drawer, .modal:not(.v2-dlg):has(> .modal-dialog .modal-body form)).show .modal-dialog { transform: none; }
body.admin-v2 :is(.modal.v2-drawer, .modal:not(.v2-dlg):has(> .modal-dialog .modal-body form)) .modal-content { height: 100%; max-height: 100% !important; border-radius: 0 !important; border: 0 !important; border-left: 1px solid var(--v2-line) !important; }
body.admin-v2 :is(.modal.v2-drawer, .modal:not(.v2-dlg):has(> .modal-dialog .modal-body form)) .modal-header { padding: 14px 20px !important; }
body.admin-v2 :is(.modal.v2-drawer, .modal:not(.v2-dlg):has(> .modal-dialog .modal-body form)) .modal-title { font: 600 17px/1.3 var(--v2-f) !important; }
body.admin-v2 :is(.modal.v2-drawer, .modal:not(.v2-dlg):has(> .modal-dialog .modal-body form)) .modal-footer { padding: 12px 20px !important; }
body.admin-v2 :is(.modal.v2-drawer, .modal:not(.v2-dlg):has(> .modal-dialog .modal-body form)) .modal-body img:not(.v2-keep) { max-height: 120px; width: auto; max-width: 100%; object-fit: contain; }

/* modal footers read as the prototype's: Cancel (plain) first, the action last */
body.admin-v2 .modal-footer { justify-content: flex-end; gap: 8px; }
body.admin-v2 .modal-footer > * { margin: 0 !important; }
body.admin-v2 .modal-footer > .btn-primary, body.admin-v2 .modal-footer > .btn-success, body.admin-v2 .modal-footer > .btn-danger { order: 2; }
body.admin-v2 .modal-footer > .btn-secondary, body.admin-v2 .modal-footer > .btn-light, body.admin-v2 .modal-footer > .btn-outline-secondary { order: 1; background: var(--v2-paper) !important; color: var(--v2-ink) !important; border: 1px solid var(--v2-line) !important; }

body.admin-v2 .v2-ava { width: 28px; height: 28px; border-radius: 50%; display: inline-grid; place-items: center; flex: none; background: var(--v2-panel); color: var(--v2-ink2); font: 600 10.5px var(--v2-f); box-shadow: inset 0 0 0 1px var(--v2-line); }

/* ---------- customer page (prototype "/customers/:id") ---------- */
body.admin-v2 .v2-ava.lg { width: 52px; height: 52px; font-size: 17px; }
body.admin-v2 .page-head-title.v2-no-tile::before { display: none !important; }
body.admin-v2 .v2-cv-sum { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 20px; padding: 18px !important; margin-bottom: 16px !important; align-items: center; border-radius: 12px; }
@media (max-width: 1199.98px) { body.admin-v2 .v2-cv-sum { grid-template-columns: minmax(0, 1fr); } }
body.admin-v2 .v2-cv-tags { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 10px; }
body.admin-v2 .v2-cv-contact { display: flex; gap: 16px; flex-wrap: wrap; font-size: 13px; color: var(--v2-ink2); margin-top: 6px; }
body.admin-v2 .v2-cv-contact span { display: inline-flex; align-items: center; gap: 6px; }
body.admin-v2 .v2-cv-contact svg { color: var(--v2-muted); }
body.admin-v2 .v2-cv-figs { display: grid; grid-template-columns: repeat(5, minmax(110px, 1fr)); gap: 8px; }
@media (max-width: 767.98px) { body.admin-v2 .v2-cv-figs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
body.admin-v2 .v2-cv-figs > div { display: grid; gap: 2px; padding: 10px 12px; border-radius: 12px; background: var(--v2-panel); min-width: 0; }
body.admin-v2 .v2-cv-figs small { font-size: 11.5px; color: var(--v2-muted); font-weight: 600; }
body.admin-v2 .v2-cv-figs b { font: 700 17px/1.25 var(--v2-f); }
body.admin-v2 .v2-cv-figs em { font-style: normal; font-size: 11.5px; color: var(--v2-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.admin-v2.theme-dark .v2-cv-figs > div { background: #0f1533; }
body.admin-v2 .v2-cv-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 20px; align-items: start; }
@media (max-width: 1199.98px) { body.admin-v2 .v2-cv-grid { grid-template-columns: minmax(0, 1fr); } }
body.admin-v2 .v2-cv-main { padding: 0 !important; overflow: hidden; border-radius: 12px; margin: 0 !important; }
body.admin-v2 .v2-cv-main > .list-surface, body.admin-v2 .v2-cv-main > .card { border: 0 !important; box-shadow: none !important; margin: 0 !important; border-radius: 0 !important; background: transparent !important; }
body.admin-v2 .v2-cv-main > div > .table-responsive > .table, body.admin-v2 .v2-cv-main > .table-responsive > .table { margin: 0 !important; }
body.admin-v2 .v2-cv-side .card { padding: 0 18px 10px !important; border-radius: 12px; margin: 0 !important; }
body.admin-v2 .v2-cv-side .pe-ch { margin: 0 -18px 6px !important; padding: 14px 18px; }
body.admin-v2 .v2-kv { display: flex; justify-content: space-between; gap: 10px; padding: 7px 0; font-size: 13px; }
body.admin-v2 .v2-kv span { color: var(--v2-muted); }
body.admin-v2 .v2-kv b { font-weight: 500; text-align: right; }
body.admin-v2 .v2-cv-main .v2-otabs { flex-wrap: nowrap !important; overflow-x: auto; scrollbar-width: none; }
body.admin-v2 .v2-cv-main .v2-otabs button { white-space: nowrap; flex: none; }
body.admin-v2 .pe-ch h3 { text-transform: none !important; font-family: var(--v2-f) !important; letter-spacing: 0 !important; font-size: 15px !important; }
body.admin-v2 .v2-cv-orders td { padding: 12px 14px !important; border-color: var(--v2-line2) !important; }

body.admin-v2 .v2-cart-lines > td { background: var(--v2-panel) !important; padding: 8px 14px 8px 56px !important; }
body.admin-v2 .v2-cart-line { display: grid; grid-template-columns: minmax(0, 1fr) auto 60px 90px 32px; gap: 12px; align-items: center; padding: 4px 0; font-size: 13px; }

/* ---------- wishlists (prototype "/wishlists") ---------- */
body.admin-v2 .v2-sec-h { display: flex; align-items: baseline; gap: 10px; margin: 0 0 10px; }
body.admin-v2 .v2-sec-h b { font: 600 15px var(--v2-f); }
body.admin-v2 .v2-sec-h small { color: var(--v2-muted); font-size: 12.5px; }
body.admin-v2 .v2-wcards { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; margin-bottom: 22px; }
body.admin-v2 .v2-wcard { display: flex !important; flex-direction: row !important; align-items: flex-start; gap: 12px; padding: 12px !important; margin: 0 !important; border-radius: 12px; }
body.admin-v2 .v2-wcard-img { width: 84px; height: 84px; border-radius: 8px; flex: none; background: #fff center / contain no-repeat; box-shadow: inset 0 0 0 1px var(--v2-line); }
body.admin-v2 .v2-wcard-n { margin: 4px 0 6px; font-size: 13px; color: var(--v2-muted); }
body.admin-v2 .v2-wcard-n b { font: 700 17px var(--v2-f); color: var(--c-rose); }
body.admin-v2 .v2-wcard .btn-sm { display: inline-flex; align-items: center; gap: 5px; }

body.admin-v2 .v2-src-tag { display: inline-flex; align-items: center; height: 22px; padding: 0 7px; border-radius: 5px; background: var(--v2-panel); box-shadow: inset 0 0 0 1px var(--v2-line); font: 700 11px var(--v2-f); letter-spacing: .02em; }

body.admin-v2 .v2-up { color: var(--c-tul) !important; }

body.admin-v2 .v2-txn-figs { grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(0, 1.6fr); align-items: stretch; }
body.admin-v2 .v2-txn-figs > div:not(.v2-split) { align-content: center; }
body.admin-v2 .v2-split { display: grid; gap: 6px; align-content: start; }
body.admin-v2 .v2-split-bar { display: flex; gap: 3px; height: 10px; margin-bottom: 6px; }
body.admin-v2 .v2-split-bar i { display: block; height: 100%; border-radius: 3px; }
body.admin-v2 .v2-split-row { display: grid; grid-template-columns: minmax(0, 1fr) auto 40px; gap: 10px; align-items: center; font-size: 13px; padding: 2px 0; border-top: 1px solid var(--v2-line2); }
body.admin-v2 .v2-split-row:first-of-type { border-top: 0; }
body.admin-v2 .v2-split-row span { display: inline-flex; align-items: center; gap: 8px; color: var(--v2-ink2); }
body.admin-v2 .v2-split-row span i { width: 9px; height: 9px; border-radius: 3px; display: inline-block; }
body.admin-v2 .v2-split-row b { font: 700 16px var(--v2-f); }
body.admin-v2 .v2-split-row em { font-style: normal; font-size: 12px; color: var(--v2-muted); text-align: right; }
@media (max-width: 991.98px) { body.admin-v2 .v2-txn-figs { grid-template-columns: 1fr 1fr; } body.admin-v2 .v2-split { grid-column: span 2; border-left: 0 !important; border-top: 1px solid var(--v2-line2); } }

/* ---------- inbox (prototype "/chat") ---------- */
body.admin-v2 .v2-chat-seg { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; padding: 3px; margin: 10px 12px 0; border-radius: 10px; background: var(--v2-panel); border: 1px solid var(--v2-line); }
body.admin-v2 .v2-chat-seg button { white-space: nowrap; font-size: 12.5px !important; height: 30px; border: 0; border-radius: 7px; background: transparent; color: var(--v2-muted); font: 600 13px var(--v2-f); }
body.admin-v2 .v2-chat-seg button.on { background: var(--v2-ink); color: var(--v2-paper); }
body.admin-v2.theme-dark .v2-chat-seg button.on { background: var(--v2-gold); color: #0B1026; }
body.admin-v2 .v2-needs-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--c-saf); flex: none; display: inline-block; }
body.admin-v2 .v2-quick { display: flex; gap: 6px; flex-wrap: wrap; padding: 10px 12px 0; border-top: 1px solid var(--v2-line2); }
body.admin-v2 .v2-quick button { height: 28px; padding: 0 10px; border-radius: 6px; border: 1px solid var(--v2-line); background: var(--v2-paper); color: var(--v2-ink2); font: 500 12.5px var(--v2-f); }
body.admin-v2 .v2-quick button:hover { border-color: var(--v2-faint); color: var(--v2-ink); }
@media (min-width: 1200px) {
  body.admin-v2 .v2-chat-grid { display: grid; grid-template-columns: minmax(260px, 1fr) minmax(0, 2fr) 260px; margin: 0; }
  body.admin-v2 .v2-chat-grid > [class*="col-lg"] { width: auto; max-width: none; flex: none; padding: 0 8px 0 0; margin: 0 !important; }
}
body.admin-v2 .v2-chat-side .list-surface { padding: 18px 16px !important; height: 100%; }
body.admin-v2 .v2-chat-side .v2-kv { border-top: 1px solid var(--v2-line2); }
body.admin-v2 .v2-chat-orders { border-top: 1px solid var(--v2-line2); padding-top: 10px; margin-top: 4px; }
body.admin-v2 .v2-chat-order { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 7px 0; color: inherit !important; text-decoration: none; border-bottom: 1px solid var(--v2-line2); font-size: 13px; }

body.admin-v2 .v2-code { display: inline-flex; align-items: center; height: 24px; padding: 0 8px; border-radius: 5px; background: var(--v2-panel); box-shadow: inset 0 0 0 1px var(--v2-line); font: 600 12px "JetBrains Mono", ui-monospace, Consolas, monospace; letter-spacing: .02em; }
body.admin-v2 .v2-usebar { height: 4px; border-radius: 3px; background: var(--v2-line2); margin: 4px 0 4px; overflow: hidden; }
body.admin-v2 .v2-usebar i { display: block; height: 100%; background: var(--v2-ink); border-radius: 3px; }
body.admin-v2.theme-dark .v2-usebar i { background: var(--v2-gold); }
body.admin-v2 .v2-pay.p-muted { background: var(--v2-panel) !important; color: var(--v2-muted) !important; }

body.admin-v2 .v2-lastc-figs { grid-template-columns: minmax(0, 2fr) repeat(3, minmax(0, 1fr)); }
body.admin-v2 .v2-lastc-figs > div { display: grid; gap: 2px; padding: 16px 18px; }
body.admin-v2 .v2-lastc-figs .v2-lastc-l b { font: 600 15px var(--v2-f) !important; }
@media (max-width: 767.98px) { body.admin-v2 .v2-lastc-figs { grid-template-columns: 1fr 1fr; } }

body.admin-v2 .v2-thumb.v2-thumb-sq { width: 36px; height: 36px; border-radius: 6px; }

/* vendor stat tiles (a row of .stat-card) read as the prototype's one figures card */
body.admin-v2 .row:has(> [class*="col"] > .stat-card) { --bs-gutter-x: 0; --bs-gutter-y: 0; margin: 0 0 14px !important; background: var(--v2-paper); border: 1px solid var(--v2-card-b); border-radius: 12px; overflow: hidden; box-shadow: var(--v2-lift); }
body.admin-v2.theme-dark .row:has(> [class*="col"] > .stat-card) { background: #121838; }
body.admin-v2 .row:has(> [class*="col"] > .stat-card) > [class*="col"] { padding: 0 !important; border-left: 1px solid var(--v2-line2); }
body.admin-v2 .row:has(> [class*="col"] > .stat-card) > [class*="col"]:first-child { border-left: 0; }
body.admin-v2 .row > [class*="col"] > .stat-card { background: transparent !important; border: 0 !important; box-shadow: none !important; border-radius: 0 !important; padding: 16px 18px !important; height: 100%; display: block !important; }
body.admin-v2 .stat-card .stat-icon { display: none !important; }
body.admin-v2 .stat-card .stat-label { font: 400 12.5px var(--v2-f) !important; color: var(--v2-muted) !important; text-transform: none !important; letter-spacing: 0 !important; }
body.admin-v2 .stat-card .stat-num { font: 700 24px/1.2 var(--v2-f) !important; color: var(--v2-ink) !important; margin-top: 2px; }
body.admin-v2.theme-dark .stat-card .stat-num { font-family: var(--v2-f-title) !important; }

/* every list footer in the New admin: no first / last buttons (prototype pager is Prev 1 2 Next) */
body.admin-v2 .pagination > li:has(> [aria-label="Go to first page"]), body.admin-v2 .pagination > li:has(> [aria-label="Go to last page"]) { display: none !important; }

/* ---------- reports (prototype "/reports/*") ---------- */
body.admin-v2 .v2-rkpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 16px; }
@media (max-width: 991.98px) { body.admin-v2 .v2-rkpis { grid-template-columns: 1fr 1fr; } }
body.admin-v2 .v2-rkpi { padding: 18px !important; margin: 0 !important; border-radius: 12px; display: grid; gap: 4px; }
body.admin-v2 .v2-rkpi small { font: 600 13px var(--v2-f); color: var(--v2-ink2); }
body.admin-v2 .v2-rkpi b { font: 700 30px/1.15 var(--v2-f); letter-spacing: -.02em; }
body.admin-v2.theme-dark .v2-rkpi b { font-family: var(--v2-f-title) !important; }
body.admin-v2 .v2-rkpi em { font-style: normal; font-size: 12.5px; }
body.admin-v2 .v2-allfig { padding: 0 !important; margin: 0 0 16px !important; border-radius: 12px; overflow: hidden; }
body.admin-v2 .v2-allfig-h { display: flex; align-items: center; gap: 8px; width: 100%; padding: 14px 18px; border: 0; background: transparent; font: 600 14px var(--v2-f); color: var(--v2-ink); }
body.admin-v2 .v2-allfig-h .cnt { font-size: 11.5px; padding: 1px 7px; border-radius: 999px; background: var(--v2-panel); color: var(--v2-muted); }
body.admin-v2 .v2-allfig-h .rot { transform: rotate(180deg); }
body.admin-v2 .v2-allfig-g { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); border-top: 1px solid var(--v2-line2); }
body.admin-v2 .v2-allfig-g > div { display: grid; gap: 2px; padding: 12px 18px; border-bottom: 1px solid var(--v2-line2); border-right: 1px solid var(--v2-line2); }
body.admin-v2 .v2-allfig-g small { color: var(--v2-muted); font-size: 12px; }
body.admin-v2 .v2-allfig-g b { font: 700 17px var(--v2-f); }
body.admin-v2 .rp-card { border-radius: 12px; }

/* ---------- settings hub (prototype "/settings") ---------- */
body.admin-v2 .v2-sh-g { font: 600 14.5px var(--v2-f); color: var(--v2-ink); margin: 22px 0 6px; padding-bottom: 10px; border-bottom: 1px solid var(--v2-line); }
body.admin-v2 .v2-sh-g:first-of-type { margin-top: 4px; }
body.admin-v2 .v2-sh-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px 24px; }
@media (max-width: 991.98px) { body.admin-v2 .v2-sh-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 575.98px) { body.admin-v2 .v2-sh-grid { grid-template-columns: 1fr; } }
body.admin-v2 .v2-sh-i { display: flex; align-items: center; gap: 12px; padding: 10px 6px; border-radius: 8px; color: var(--v2-ink2) !important; text-decoration: none; font-size: 14px; }
body.admin-v2 .v2-sh-i:hover { background: var(--v2-hover); color: var(--v2-ink) !important; }
body.admin-v2 .v2-sh-ic { width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center; flex: none; background: color-mix(in srgb, var(--c-saf) 14%, transparent); color: var(--c-saf); }
body.admin-v2.theme-dark .v2-sh-ic { background: rgba(212, 175, 99, .12); color: var(--v2-gold); }

/* settings pages: one head above the navigator and the page (prototype .fl2) */
@media (min-width: 992px) { body.admin-v2 .v2-set-layout { grid-template-columns: 236px minmax(0, 1fr) !important; gap: 20px 40px !important; } }
@media (max-width: 991.98px) { body.admin-v2 .v2-set-layout { grid-template-columns: minmax(0, 1fr) !important; } body.admin-v2 .v2-set-layout > nav { display: none !important; } } /* the prototype drops the navigator on phones */
body.admin-v2 .v2-set-head { grid-column: 1 / -1; margin-bottom: 2px; }
body.admin-v2 .v2-set-page > div > .page-head .page-head-title, body.admin-v2 .v2-set-page .page-heading .page-title h3, body.admin-v2 .v2-set-page > div > .page-head > .page-head-title,
body.admin-v2 .v2-set-page .page-head > div > .page-head-title:only-child { display: none !important; }
body.admin-v2 .v2-set-page .page-head a:has(> svg[class*="arrow-left"]), body.admin-v2 .v2-set-page .page-head button:has(> svg[class*="arrow-left"]),
body.admin-v2 .v2-set-page .page-head .btn:has(> .fa-arrow-left) { display: none !important; }
body.admin-v2 .v2-set-page .page-head-title { display: none !important; } /* the shared head above carries the title */
body.admin-v2 .v2-set-page .page-head:has(> .page-head-title:only-child), body.admin-v2 .v2-set-page .page-head:has(> .page-head-title:first-child + .btn:last-child > svg[class*="arrow-left"]),
body.admin-v2 .v2-set-page .page-head:has(> .page-head-title:first-child + .btn:last-child > .fa-arrow-left) { display: none !important; }
body.admin-v2 .v2-set-page .page-head { min-height: 0; margin-bottom: 12px !important; justify-content: flex-end; }

/* settings forms sit on the page, not in a card (prototype .fl2 main) */
body.admin-v2 .v2-set-page .card:has(> .card-body form), body.admin-v2 .v2-set-page .card:has(> .card-body > .row form) { background: transparent !important; border: 0 !important; box-shadow: none !important; }
body.admin-v2 .v2-set-page .card:has(> .card-body form) > .card-body { padding: 4px 0 0 !important; }
body.admin-v2 .v2-set-page .v2-fsec { font: 650 16px var(--v2-f); margin: 26px 0 14px; padding-top: 22px; padding-bottom: 0; border-bottom: 0; border-top: 1px solid var(--v2-line2); background-clip: content-box; }
body.admin-v2 .v2-set-page .v2-fsec:not(.v2-fsec ~ .v2-fsec) { border-top: 0; padding-top: 0; margin-top: 0; }

/* settings forms: the prototype's two-column grid, switches as "label ... switch" rows, 17px section titles */
@media (min-width: 768px) {
  body.admin-v2 .v2-set-page :is(form, .dc-settings) .row > :is(.col-md-3, .col-md-4, .col-lg-3, .col-lg-4, .col-xl-3, .col-xl-4):not(.col-6) { flex: 0 0 auto; width: 50%; }
}
body.admin-v2 .v2-set-page form .form-group:has(> .form-check.form-switch) { display: flex; flex-wrap: wrap; align-items: center; column-gap: 12px; row-gap: 2px; }
body.admin-v2 .v2-set-page form .form-group:has(> .form-check.form-switch) > label { flex: 1 1 0; margin: 0 !important; font-size: 14px; color: var(--v2-ink); }
body.admin-v2 .v2-set-page form .form-group:has(> .form-check.form-switch) > br { display: none; }
body.admin-v2 .v2-set-page form .form-group:has(> .form-check.form-switch) > .form-check.form-switch { order: 2; margin: 0 !important; padding-left: 2.5em; min-height: 0; }
body.admin-v2 .v2-set-page form .form-group:has(> .form-check.form-switch) > :not(label, br, .form-check) { order: 3; flex-basis: 100%; }
body.admin-v2 .v2-set-page form > h5, body.admin-v2 .v2-set-page form h5.mb-1 { font: 650 16px var(--v2-f) !important; color: var(--v2-ink); }

/* one-image upload as a compact tile (prototype "Change image") */
body.admin-v2 div.v2-up { display: flex; align-items: center; gap: 12px; min-height: 70px; padding: 12px 14px; border: 1px dashed var(--v2-line); border-radius: 8px; background: var(--v2-bg); cursor: pointer; }
body.admin-v2 div.v2-up:hover, body.admin-v2 div.v2-up.dragover { border-color: var(--c-saf); }
body.admin-v2 .v2-up-th { width: 46px; height: 46px; flex: none; border-radius: 6px; display: grid; place-items: center; background: var(--v2-panel) center / contain no-repeat; color: var(--v2-faint); }
body.admin-v2 div.v2-up.has .v2-up-th { background-color: var(--v2-panel); }
body.admin-v2 .v2-up-t { flex: 1; min-width: 0; display: grid; gap: 1px; }
body.admin-v2 .v2-up-t b { font: 500 14px var(--v2-f); color: var(--v2-ink); }
body.admin-v2 .v2-up-t small { font-size: 12.5px; color: var(--v2-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* settings: provider / section cards read as plain sections (prototype), lists keep their card */
body.admin-v2 .v2-set-page .card:has(form, input:not([type="checkbox"], [readonly]), select, textarea):not(:has(table, .list-surface, .v2-lst, input[accept=".zip"])) { background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
body.admin-v2 .v2-set-page .card:has(form, input:not([type="checkbox"], [readonly]), select, textarea):not(:has(table, .list-surface, .v2-lst, input[accept=".zip"])) > .card-header { background: transparent !important; border: 0 !important; padding: 20px 0 6px !important; }
body.admin-v2 .v2-set-page .card:has(form, input:not([type="checkbox"], [readonly]), select, textarea):not(:has(table, .list-surface, .v2-lst, input[accept=".zip"])) > .card-header :is(h4, h5, h6, .card-title) { font: 650 16px var(--v2-f) !important; color: var(--v2-ink); }
body.admin-v2 .v2-set-page .card:has(form, input:not([type="checkbox"], [readonly]), select, textarea):not(:has(table, .list-surface, .v2-lst, input[accept=".zip"])) > .card-body { padding-left: 0 !important; padding-right: 0 !important; }
body.admin-v2 .v2-set-page .card:has(form, input:not([type="checkbox"], [readonly]), select, textarea):not(:has(table, .list-surface, .v2-lst, input[accept=".zip"])) > .card-footer { background: transparent !important; border: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }
body.admin-v2 .v2-set-page .card:has(form, input:not([type="checkbox"], [readonly]), select, textarea):not(:has(table, .list-surface, .v2-lst, input[accept=".zip"])) + .card:has(form, input:not([type="checkbox"], [readonly]), select, textarea):not(:has(table, .list-surface, .v2-lst, input[accept=".zip"])) { border-top: 1px solid var(--v2-line2) !important; margin-top: 8px; }

/* settings: keys, tokens and passwords show as dots until the field is focused (prototype masks them) */
body.admin-v2 .v2-set-page :is(#smtp_email_password, #google_map_api_key, #google_place_api_key, #googleMapApiKey, #text_gen_key, #apiKey, #firebase_apiKey, #firebase_vapid_key, #reverb_app_secret, #pusher_app_secret,
  input[placeholder*="Auth Token"], input[placeholder*="Auth Key"], input[placeholder*="API Key"], input[placeholder*="SID"], input[name*="secret"], input[name*="password"]:not([type="number"])):not(:focus) { -webkit-text-security: disc; }

/* notification settings (prototype "/settings/notification_settings") */
body.admin-v2 .v2-set-page .card.v2-nsc { background: var(--v2-paper) !important; border: 1px solid var(--v2-line) !important; border-radius: 12px !important; padding: 0; margin-bottom: 16px; }
body.admin-v2 .v2-nsc-h { display: flex; align-items: baseline; gap: 10px; padding: 16px 20px; border-bottom: 1px solid var(--v2-line2); }
body.admin-v2 .v2-nsc-h b { font: 600 15px var(--v2-f); }
body.admin-v2 .v2-nsc-h span { font-size: 13px; }
body.admin-v2 .v2-nsc-b { padding: 16px 20px 18px; margin: 0; }
body.admin-v2 .v2-nst .v2-nst-g td { background: var(--v2-panel); font-size: 11.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--v2-muted); padding-top: 8px; padding-bottom: 8px; }
body.admin-v2 .v2-nst td { padding-top: 9px; padding-bottom: 9px; }
body.admin-v2 .v2-nst .form-check { min-height: 0; margin: 0; vertical-align: middle; }
body.admin-v2 .v2-nst .btn-sm { padding: 4px 10px; font-size: 12.5px; line-height: 1.3; }

/* vendor list footers read as the prototype's: count on the left, rows per page and pages on the right */
body.admin-v2 .list-footer:has(> .list-perpage > .list-range) { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; font-size: 13px; color: var(--v2-muted); }
body.admin-v2 .list-footer > .list-perpage:has(> .list-range) { display: contents; }
body.admin-v2 .list-footer > .list-perpage > .list-range { order: 0; margin-right: auto; color: var(--v2-muted); }
body.admin-v2 .list-footer > .list-perpage > span:not(.list-range) { order: 1; }
body.admin-v2 .list-footer > .list-perpage > .form-select { order: 2; width: auto; height: 30px; padding-top: 0; padding-bottom: 0; }
body.admin-v2 .list-footer > .list-pagination { order: 3; }

/* plugins: catalogue and installed cards stay cards, actions read left to right */
body.admin-v2 .v2-set-page .card:has(.plugin-icon) { border-radius: 12px; }
body.admin-v2 .v2-set-page .card:has(.plugin-icon) > .card-footer { background: transparent; border-top: 1px solid var(--v2-line2); justify-content: flex-start !important; }
body.admin-v2 .v2-set-page .plugin-icon { width: 40px; height: 40px; border-radius: 9px; display: grid; place-items: center; flex: none; background: color-mix(in srgb, var(--c-saf) 14%, transparent); color: var(--c-saf); }

/* schema-driven settings (Theme, Navigation, Search, First launch, WhatsApp): switches as plain rows */
body.admin-v2 .v2-set-page .dc-settings [data-dc-field] > .border.rounded:has(> .form-check.form-switch) { border: 0 !important; padding: 4px 0 !important; align-items: center !important; }
body.admin-v2 .v2-set-page .dc-settings [data-dc-field] > .border.rounded:has(> .form-check.form-switch) .small.fw-semibold { font-size: 14px !important; font-weight: 500 !important; color: var(--v2-ink); }

body.admin-v2 .v2-set-page .dc-settings .card-header > strong { font: 650 16px var(--v2-f) !important; color: var(--v2-ink); }
body.admin-v2 .v2-set-page .dc-settings :is(.form-control-sm, .form-select-sm) { min-height: 36px; font-size: 14px; padding-left: 11px; }

/* Mobile app pages: navigator | page | phone preview (prototype pages-mobile.js) */
@media (min-width: 1200px) { body.admin-v2 .v2-set-layout.v2-ma-layout { grid-template-columns: 200px minmax(0, 1fr) 300px !important; } }
@media (max-width: 1199.98px) { body.admin-v2 .v2-ma-layout > .v2map { display: none; } }

/* Edit country drawer: the steps as stacked sections, actions pinned at the foot */
body.admin-v2 .v2-csec + .v2-csec { border-top: 1px solid var(--v2-line2); margin-top: 18px; padding-top: 18px; }
body.admin-v2 .v2-csec > h4 { font: 600 16px var(--v2-f) !important; }
body.admin-v2 .v2-cdrawer .row > [class*="col-md-4"], body.admin-v2 .v2-cdrawer .row > [class*="col-lg-4"] { flex: 0 0 auto; width: 50%; }
body.admin-v2 .v2-cfoot { position: sticky; bottom: -16px; z-index: 3; display: flex; justify-content: flex-end; gap: 8px; margin: 18px -16px -16px; padding: 12px 16px; background: var(--v2-paper); border-top: 1px solid var(--v2-line); }

/* a wider drawer for forms with a map (Add / Edit zone) */
body.admin-v2 .modal.v2-drawer.v2-drawer-wide .modal-dialog { width: min(860px, 100vw) !important; }
body.admin-v2 .v2-drawer .zone-form .row > :is(.col-md-3, .col-lg-3) { flex: 0 0 auto; width: 50%; }
body.admin-v2 .v2-drawer .zone-form .row > :is(.col-md-6, .col-lg-6):has(.btn-group, [role="radiogroup"], .form-check-inline) { flex: 0 0 auto; width: 100%; }
body.admin-v2 .v2-drawer .zone-form .card { box-shadow: none; }

/* page forms opened in a drawer: two columns, no card inside the drawer */
@media (min-width: 576px) { body.admin-v2 .modal.v2-drawer:not(.v2-drawer-wide) .modal-body .row > :is(.col-md-3, .col-md-4, .col-lg-3, .col-lg-4, .col-xl-3, .col-xl-4) { flex: 0 0 auto; width: 50%; } }
body.admin-v2 .modal.v2-drawer .modal-body > :is(.list-page, .zone-form, div) > .card, body.admin-v2 .modal.v2-drawer .modal-body .page-heading > form > .card,
body.admin-v2 .modal.v2-drawer .modal-body > .card, body.admin-v2 .modal.v2-drawer .modal-body .list-page .card { border: 0 !important; box-shadow: none !important; background: transparent !important; }
body.admin-v2 .modal.v2-drawer .modal-body .list-page .card > .card-body, body.admin-v2 .modal.v2-drawer .modal-body > .card > .card-body, body.admin-v2 .modal.v2-drawer .modal-body > :is(.zone-form, div) > .card > .card-body { padding: 0 !important; }
body.admin-v2 .modal.v2-drawer .modal-body .list-page .card > .card-header, body.admin-v2 .modal.v2-drawer .modal-body > .card > .card-header, body.admin-v2 .modal.v2-drawer .modal-body > :is(.zone-form, div) > .card > .card-header { padding-left: 0 !important; padding-right: 0 !important; background: transparent !important; }
body.admin-v2 .modal.v2-drawer .modal-body .list-page .card + .card { border-top: 1px solid var(--v2-line2) !important; border-radius: 0 !important; padding-top: 8px; }

/* Brahmand: drawers are a solid surface, the page does not show through */
body.admin-v2.theme-dark :is(.modal.v2-drawer, .modal:not(.v2-dlg):has(> .modal-dialog .modal-body form)) .modal-content { background: #141A3A !important; backdrop-filter: none !important; }
body.admin-v2.theme-dark .v2-cfoot { background: #141A3A; }

/* role editor: the permission matrix needs a wider drawer; "Other" switches keep their label on one line */
body.admin-v2 .modal:has(.v2-perm) .modal-dialog { width: min(860px, 100vw) !important; }
body.admin-v2 .v2-perm td:last-child { min-width: 220px; }
body.admin-v2 .v2-perm td:last-child label, body.admin-v2 .v2-perm td:last-child .form-check-label { white-space: normal; word-break: normal; overflow-wrap: normal; }

/* promo code drawer: sections stacked without card chrome */
body.admin-v2 .v2-promo-dr > .card { border: 0 !important; box-shadow: none !important; background: transparent !important; margin-bottom: 4px !important; }
body.admin-v2 .v2-promo-dr > .card + .card { border-top: 1px solid var(--v2-line2) !important; border-radius: 0 !important; }
body.admin-v2 .v2-promo-dr > .card > .card-header { background: transparent !important; border: 0 !important; padding: 16px 0 4px !important; }
body.admin-v2 .v2-promo-dr > .card > .card-header h6 { font: 600 16px var(--v2-f) !important; }
body.admin-v2 .v2-promo-dr > .card > .card-body { padding: 8px 0 12px !important; }

/* placeholder chips in drawers (email / template editors): quiet chips, not primary buttons */
body.admin-v2 .modal.v2-drawer .modal-body .btn.btn-sm.btn-primary:is([class*="me-1"]):not([type="submit"]) { background: var(--v2-panel) !important; color: var(--v2-ink2) !important; border: 1px solid var(--v2-line) !important; box-shadow: none !important; font: 500 12px "JetBrains Mono", ui-monospace, monospace; padding: 3px 8px; }
body.admin-v2 .modal.v2-drawer .modal-body .btn.btn-sm.btn-primary:is([class*="me-1"]):not([type="submit"]):hover { border-color: var(--c-saf) !important; color: var(--v2-ink) !important; }

/* return detail slider as the prototype's drawer: 560px, one column, plain sections */
body.admin-v2 .rds-panel { width: min(600px, 100vw) !important; max-width: none !important; border-left: 1px solid var(--v2-line); box-shadow: -12px 0 40px rgba(31, 26, 23, .12) !important; background: var(--v2-paper) !important; }
body.admin-v2.theme-dark .rds-panel { background: #141A3A !important; }
body.admin-v2 .rds-panel .rds-header { padding: 18px 20px; border-bottom: 1px solid var(--v2-line2); }
body.admin-v2 .rds-panel .rds-body { background: transparent !important; padding: 4px 20px 20px; }
body.admin-v2 .rds-panel .rds-body > .row > [class*="col-lg-6"] { flex: 0 0 auto; width: 100%; }
body.admin-v2 .rds-panel .rds-card { background: transparent !important; border: 0 !important; border-bottom: 1px solid var(--v2-line2) !important; border-radius: 0 !important; padding: 16px 0 !important; margin: 0 !important; }
body.admin-v2 .rds-panel .rds-card-title { font: 600 15px var(--v2-f) !important; }
body.admin-v2 .rds-panel .rds-card-title svg, body.admin-v2 .rds-panel .rds-ic { color: var(--v2-muted) !important; }
body.admin-v2 .rds-backdrop { background: rgba(31, 26, 23, .32); }
body.admin-v2 .rds-panel .rds-header h5 { white-space: nowrap; font: 600 17px var(--v2-f) !important; }
body.admin-v2 .rds-panel .rds-header .btn { white-space: nowrap; padding: 5px 10px; font-size: 13px; }
body.admin-v2 .rds-panel .rds-header .btn:has(> svg.lucide-message-circle) { font-size: 0; gap: 0; padding: 6px 8px; }
body.admin-v2 .rds-panel .rds-header .btn:has(> svg.lucide-message-circle) > svg { width: 16px; height: 16px; }

/* signed-out pages (prototype pages-auth.js): one centred card on a soft saffron / rose glow.
   The vendor's default picture gives way to the glow; a background uploaded in Settings stays. */
html.dc-v2 .auth { font-family: "Mona Sans", var(--v2-f, system-ui), sans-serif; background-color: #F8F2EA; }
html.dc-v2 .auth:not([style*="/storage/"]) { background-image: radial-gradient(42vw 42vw at 8% 18%, rgba(253, 186, 116, .55), transparent 70%), radial-gradient(36vw 36vw at 78% 12%, rgba(253, 230, 138, .45), transparent 70%), radial-gradient(40vw 40vw at 92% 92%, rgba(244, 114, 182, .32), transparent 70%) !important; background-size: cover; }
html.dc-v2.dc-v2-dark .auth { background-color: #0B1026; }
html.dc-v2.dc-v2-dark .auth:not([style*="/storage/"]) { background-image: radial-gradient(42vw 42vw at 10% 20%, rgba(212, 175, 99, .22), transparent 70%), radial-gradient(40vw 40vw at 90% 90%, rgba(127, 156, 255, .18), transparent 70%) !important; }
html.dc-v2 .auth .login-wrapper { justify-content: center !important; background: transparent !important; padding: 40px 16px !important; }
html.dc-v2 .auth .auth-section { border-radius: 16px; box-shadow: 0 24px 60px -24px rgba(31, 26, 23, .28), 0 0 0 1px rgba(31, 26, 23, .05) !important; }
html.dc-v2 .auth .auth-card { width: min(440px, calc(100vw - 32px)); padding: 40px 40px 32px; }
html.dc-v2:not(.dc-v2-dark) .auth .lg-title { font: 700 26px/1.2 "Mona Sans", sans-serif !important; color: #1F1A17 !important; letter-spacing: -.02em; }
html.dc-v2:not(.dc-v2-dark) .auth .lg-subtitle { color: #6E6359; }
html.dc-v2:not(.dc-v2-dark) .auth .lg-label { color: #1F1A17; font-weight: 600; }
html.dc-v2 .auth .lg-input { border-radius: 10px; }
html.dc-v2:not(.dc-v2-dark) .auth .lg-input { border-color: #E7DFD2; }
html.dc-v2 .auth .lg-input:focus { border-color: #C2410C; box-shadow: 0 0 0 3px rgba(194, 65, 12, .14); }
html.dc-v2 .auth .lg-btn { border-radius: 10px; box-shadow: none !important; }
html.dc-v2:not(.dc-v2-dark) .auth .lg-btn-soft { background: #fff !important; border: 1px solid #E7DFD2 !important; color: #1F1A17 !important; }
html.dc-v2 .auth .lg-btn-soft:hover { border-color: #C2410C !important; }
html.dc-v2 .auth form:has(> .lg-btn-soft) { display: flex; flex-direction: column; }
html.dc-v2 .auth .lg-btn-soft { margin: 0 !important; }
html.dc-v2 .auth form > .lg-btn-soft:only-of-type, html.dc-v2 .auth .lg-btn-soft:first-of-type:last-of-type { grid-column: 1 / -1; }
html.dc-v2 .auth .auth-section:has(> .lg-back) { background: transparent !important; box-shadow: none !important; position: relative; }
html.dc-v2 .auth .auth-section:has(> .lg-back) > .auth-card { background: #fff; border-radius: 16px; box-shadow: 0 24px 60px -24px rgba(31, 26, 23, .28), 0 0 0 1px rgba(31, 26, 23, .05); }
html.dc-v2.dc-v2-dark .auth .auth-section:has(> .lg-back) > .auth-card { background: #141A3A; box-shadow: 0 0 0 1px #2A3263; }
html.dc-v2 .auth .lg-back { background: transparent !important; color: #6E6359 !important; border: 0 !important; padding: 0 0 12px !important; box-shadow: none !important; backdrop-filter: none !important; }
html.dc-v2 .auth .lg-back:hover { color: #1F1A17 !important; }
html.dc-v2.dc-v2-dark .auth .lg-back { color: #9AA3C7 !important; }
html.dc-v2 .auth .lg-brand:has(.lg-brand-logo) .lg-brand-name { display: none; }
html.dc-v2.dc-v2-dark .auth .auth-section { background: #141A3A !important; box-shadow: 0 24px 60px -24px rgba(0, 0, 0, .6), 0 0 0 1px #2A3263 !important; }
html.dc-v2.dc-v2-dark .auth .lg-title { font: 600 26px/1.2 "Cinzel", serif !important; color: #EEF1FF !important; }
html.dc-v2.dc-v2-dark .auth .lg-subtitle, html.dc-v2.dc-v2-dark .auth .lg-copyright { color: #9AA3C7 !important; }
html.dc-v2.dc-v2-dark .auth .lg-label { color: #DDE2F6 !important; }
html.dc-v2.dc-v2-dark .auth .lg-input { background: #0F1530 !important; border-color: #2A3263 !important; color: #EEF1FF !important; }
html.dc-v2.dc-v2-dark .auth .lg-forgot a { color: #C9B37E !important; }
html.dc-v2.dc-v2-dark .auth .lg-btn:not(.lg-btn-soft) { background: #C9B37E !important; color: #0B1026 !important; }
html.dc-v2.dc-v2-dark .auth .lg-btn-soft { background: transparent !important; border: 1px solid #2A3263 !important; color: #EEF1FF !important; }
html.dc-v2.dc-v2-dark .auth .lg-brand-logo { filter: invert(1) brightness(1.6); }
html.dc-v2 .auth form:has(> .lg-btn-soft) > .lg-btn-soft { display: inline-flex; }
@media (min-width: 420px) { html.dc-v2 .auth form:has(> .lg-btn-soft) { display: grid; grid-template-columns: 1fr 1fr; column-gap: 10px; } html.dc-v2 .auth form:has(> .lg-btn-soft) > :not(.lg-btn-soft) { grid-column: 1 / -1; } }

/* phones: the open sidebar drawer sits above its backdrop (the backdrop dimmed the menu too) */
@media (max-width: 1199.98px) { body.admin-v2 #sidebar { position: relative; z-index: 30; } }

/* not found / no permission / server error: the prototype's quiet card on the page colour */
html.dc-v2 .err-page { background: #F8F2EA !important; font-family: "Mona Sans", sans-serif; }
html.dc-v2 body:has(.err-page), html.dc-v2 body:has(> #app .auth) { background: #F8F2EA !important; }
html.dc-v2.dc-v2-dark body:has(.err-page), html.dc-v2.dc-v2-dark body:has(> #app .auth) { background: #0B1026 !important; }
html.dc-v2 .err-page { min-height: 100vh; }
html.dc-v2.dc-v2-dark .err-page { background: #0B1026 !important; }
html.dc-v2 .err-card { border-radius: 16px !important; box-shadow: 0 0 0 1px rgba(31, 26, 23, .06), 0 20px 50px -28px rgba(31, 26, 23, .3) !important; }
html.dc-v2.dc-v2-dark .err-card { background: #141A3A !important; box-shadow: 0 0 0 1px #2A3263 !important; color: #EEF1FF; }
html.dc-v2 .err-icon { background: rgba(194, 65, 12, .1) !important; color: #C2410C !important; }
html.dc-v2.dc-v2-dark .err-icon { background: rgba(201, 179, 126, .14) !important; color: #C9B37E !important; }
html.dc-v2 .err-code { color: #1F1A17 !important; letter-spacing: -.03em; }
html.dc-v2 .err-title { color: #1F1A17 !important; font: 600 19px "Mona Sans", sans-serif !important; }
html.dc-v2 .err-text { color: #6E6359 !important; }
html.dc-v2.dc-v2-dark .err-code, html.dc-v2.dc-v2-dark .err-title { color: #EEF1FF !important; }
html.dc-v2.dc-v2-dark .err-text { color: #9AA3C7 !important; }
html.dc-v2 .err-btn { border-radius: 10px !important; }
html.dc-v2 .err-actions .btn-outline-secondary { background: #fff !important; border-color: #E7DFD2 !important; color: #1F1A17 !important; }
html.dc-v2.dc-v2-dark .err-actions .btn-outline-secondary { background: transparent !important; border-color: #2A3263 !important; color: #EEF1FF !important; }
html.dc-v2.dc-v2-dark .err-actions .btn-primary { background: #C9B37E !important; border-color: #C9B37E !important; color: #0B1026 !important; }

/* toasts as the prototype's: one dark pill at the bottom centre, red for errors */
body.admin-v2 .v-toast { padding: 0 0 18px !important; height: auto !important; left: 0 !important; right: 0 !important; overflow: visible !important; pointer-events: none; }
body.admin-v2 .v-toast.v-toast--top, body.admin-v2 .v-toast.v-toast--bottom, body.admin-v2 .v-toast { flex-direction: column-reverse !important; justify-content: flex-start !important; align-items: center !important; top: auto !important; bottom: 0 !important; }
body.admin-v2 .v-toast__item { pointer-events: auto; width: auto !important; max-width: min(560px, calc(100vw - 32px)); min-height: 0 !important; margin: 4px 0 !important; padding: 0 !important; border-radius: 12px !important; background: #1F1A17 !important; color: #FBF8F3 !important; box-shadow: 0 12px 30px -10px rgba(31, 26, 23, .45) !important; align-self: center !important; opacity: 1 !important; }
body.admin-v2 .v-toast__item--error { background: #B4232A !important; color: #fff !important; }
body.admin-v2 .v-toast__item .v-toast__icon { display: none !important; }
body.admin-v2 .v-toast__item .v-toast__text { padding: 10px 16px !important; font: 500 13.5px var(--v2-f) !important; }
body.admin-v2.theme-dark .v-toast__item:not(.v-toast__item--error) { background: #EEF1FF !important; color: #0B1026 !important; }

/* account menu (sidebar foot): compact rows, quiet active language */
body.admin-v2 .user-chip + .dropdown-menu { min-width: 230px; padding: 6px !important; border-radius: 12px !important; border: 1px solid var(--v2-line) !important; box-shadow: 0 18px 40px -16px rgba(31, 26, 23, .3) !important; }
body.admin-v2 .user-chip + .dropdown-menu .dropdown-item { font: 500 13.5px var(--v2-f) !important; padding: 7px 10px !important; border-radius: 7px; color: var(--v2-ink2) !important; }
body.admin-v2 .user-chip + .dropdown-menu .dropdown-item svg { width: 16px !important; height: 16px !important; color: var(--v2-muted); }
body.admin-v2 .user-chip + .dropdown-menu .dropdown-item:hover { background: var(--v2-hover) !important; color: var(--v2-ink) !important; }
body.admin-v2 .user-chip + .dropdown-menu .dropdown-item.active { background: var(--v2-sel) !important; color: var(--v2-ink) !important; font-weight: 600 !important; }
body.admin-v2 .user-chip + .dropdown-menu .dropdown-item.active svg { color: var(--c-saf); }
body.admin-v2 .user-chip + .dropdown-menu .dropdown-header, body.admin-v2 .user-chip + .dropdown-menu h6 { font: 600 11.5px var(--v2-f) !important; letter-spacing: .04em; text-transform: uppercase; color: var(--v2-faint) !important; padding: 8px 10px 4px !important; }
body.admin-v2 .user-chip + .dropdown-menu { background: var(--v2-paper) !important; backdrop-filter: none !important; }
body.admin-v2.theme-dark .user-chip + .dropdown-menu { background: #141A3A !important; border-color: #2A3263 !important; }
body.admin-v2.theme-dark .user-chip + .dropdown-menu .dropdown-item:has(svg.lucide-log-out) { color: #FF8A8A !important; }
body.admin-v2 .user-chip + .dropdown-menu .dropdown-divider { margin: 4px 0 !important; border-color: var(--v2-line2) !important; }
body.admin-v2 .user-chip + .dropdown-menu .dropdown-item.text-danger, body.admin-v2 .user-chip + .dropdown-menu .dropdown-item:has(svg.lucide-log-out) { color: #B4232A !important; }

/* account settings (prototype "/account"): plain sections, two columns, no hero card */
body.admin-v2 .acct-page .acct-card { background: transparent !important; border: 0 !important; box-shadow: none !important; max-width: none; }
body.admin-v2 .acct-page .acct-hero { background: transparent !important; border: 0 !important; padding: 0 0 18px !important; }
body.admin-v2 .acct-page .acct-avatar { background: var(--v2-sel) !important; color: var(--v2-ink) !important; }
body.admin-v2 .acct-page .acct-body { padding: 0 !important; }
body.admin-v2 .acct-page .acct-sec { border-top: 1px solid var(--v2-line2); padding: 22px 0 !important; margin: 0 !important; }
body.admin-v2 .acct-page .acct-sec-ic { display: none !important; }
body.admin-v2 .acct-page .acct-sec-title { font: 600 17px var(--v2-f) !important; }
body.admin-v2 .acct-page .acct-field label { text-transform: none !important; letter-spacing: 0 !important; font: 500 13.5px var(--v2-f) !important; color: var(--v2-ink) !important; }
@media (min-width: 768px) { body.admin-v2 .acct-page .acct-sec > .acct-field { width: calc(50% - 8px); } body.admin-v2 .acct-page .acct-sec .row > .col-12:has(#acct-current) { width: 50%; } }
body.admin-v2 .acct-page .acct-foot { background: transparent !important; border-top: 1px solid var(--v2-line2) !important; padding: 16px 0 0 !important; }

/* no grey buttons in the prototype: a secondary action is a white button with a hairline */
body.admin-v2 .btn.btn-secondary:not(.dropdown-toggle, .btn-group > .btn, .active) { background: var(--v2-paper) !important; color: var(--v2-ink) !important; border: 1px solid var(--v2-line) !important; box-shadow: none !important; }
body.admin-v2 .btn.btn-secondary:not(.dropdown-toggle, .btn-group > .btn, .active):hover { border-color: var(--v2-ink2) !important; }
body.admin-v2.theme-dark .btn.btn-secondary:not(.dropdown-toggle, .btn-group > .btn, .active) { background: transparent !important; color: #EEF1FF !important; border-color: #2A3263 !important; }
/* a chosen segment (btn-secondary inside a button group) is the prototype's dark pill */
body.admin-v2 .btn-group > .btn.btn-secondary { background: var(--v2-ink) !important; color: var(--v2-paper) !important; border-color: var(--v2-ink) !important; }
body.admin-v2.theme-dark .btn-group > .btn.btn-secondary { background: #C9B37E !important; color: #0B1026 !important; border-color: #C9B37E !important; }
body.admin-v2 .btn-group > .btn.btn-outline-secondary { background: var(--v2-paper) !important; color: var(--v2-ink2) !important; border-color: var(--v2-line) !important; }
/* info notes read as a quiet panel line, not a cyan alert (builder, wizards, forms) */
body.admin-v2 .main-content .alert-info { background: var(--v2-panel) !important; border: 1px solid var(--v2-line2) !important; color: var(--v2-ink2) !important; border-radius: 10px !important; }
body.admin-v2 .main-content .alert-info svg { color: var(--c-saf) !important; }
body.admin-v2.theme-dark .main-content .alert-info { background: rgba(255, 255, 255, .04) !important; border-color: #2A3263 !important; color: #C8CEE9 !important; }

/* ---------- motion ---------- */
@keyframes v2rise { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
body.admin-v2 .main-content > * > *:not(.bulk) { animation: v2rise .3s ease backwards; } /* backwards: no transform is left behind once it ends (a leftover transform turns the page into the containing block for absolute and fixed children) */ /* the bulk bar keeps its own centring transform */
@media (prefers-reduced-motion: reduce) { body.admin-v2 .main-content > * > *, body.admin-v2 .v2h-live .pulse { animation: none; } }

/* Return drawer (prototype "Return on DC-…"): head, item, sections, sticky footer */
body.admin-v2 .v2-rd-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
body.admin-v2 .v2-rd-tx { min-width: 0; display: flex; flex-direction: column; }
body.admin-v2 .v2-rd-tx b { font: 650 15px var(--v2-f); color: var(--v2-ink); }
body.admin-v2 .v2-rd-tx small { font-size: 12.5px; color: var(--v2-muted); margin-top: 2px; }
body.admin-v2 .v2-rd-tx .v2-ful { align-self: flex-start; }
body.admin-v2 .v2-rd-item { display: flex; gap: 12px; align-items: flex-start; padding: 4px 0 16px; border-bottom: 1px solid var(--v2-line2); }
body.admin-v2 .v2-rd-thumb { width: 48px; height: 60px; flex: none; border-radius: 6px; background: var(--v2-panel) center / cover no-repeat; box-shadow: 0 0 0 1px var(--v2-line2); }
body.admin-v2 .v2-rd-sec { padding: 16px 0; border-bottom: 1px solid var(--v2-line2); }
body.admin-v2 .v2-rd-sec h6 { font: 650 14px var(--v2-f); margin: 0 0 8px; color: var(--v2-ink); }
body.admin-v2 .v2-rd-sec p { margin: 0 0 4px; font-size: 13.5px; color: var(--v2-ink2); }
body.admin-v2 .v2-rd-sec .rds-row { display: flex; justify-content: space-between; padding: 4px 0; font-size: 13.5px; color: var(--v2-muted); }
body.admin-v2 .v2-rd-sec .rds-row b { color: var(--v2-ink); font-weight: 500; }
body.admin-v2 .v2-rd-foot { position: sticky; bottom: 0; display: flex; align-items: center; gap: 8px; padding: 12px 20px; border-top: 1px solid var(--v2-line2); background: var(--v2-paper, #fff); }
body.admin-v2 .v2-rd-foot .btn { display: inline-flex; align-items: center; gap: 6px; }

/* Product page: Visibility switches and the Duplicate / Delete foot (prototype pe aside) */
body.admin-v2 .pe-vis { display: flex; flex-direction: column; gap: 4px; }
body.admin-v2 .pe-vis-row { display: flex; align-items: center; justify-content: space-between; padding: 6px 0; font-size: 13.5px; color: var(--v2-ink); }
body.admin-v2 .pe-danger .btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; }

/* Analytics → Searches (prototype /reports/search) */
body.admin-v2 .v2-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 16px; }
@media (max-width: 991.98px) { body.admin-v2 .v2-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
body.admin-v2 .v2-kpis .card { padding: 14px 16px; margin: 0; display: flex; flex-direction: column; gap: 4px; }
body.admin-v2 .v2-kpis small { color: var(--v2-muted); font-size: 12.5px; }
body.admin-v2 .v2-kpis b { font: 700 26px var(--v2-f); color: var(--v2-ink); }
body.admin-v2 .v2-kpis em { font-style: normal; font-size: 12px; color: var(--v2-muted); }
body.admin-v2 .v2-kpis em.up { color: var(--v2-tul, #2F855A); } body.admin-v2 .v2-kpis em.down { color: var(--v2-kum, #C53030); }
body.admin-v2 .v2-kpis em span { color: var(--v2-muted); }
body.admin-v2 .v2-srp-grid { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); gap: 16px; }
@media (max-width: 991.98px) { body.admin-v2 .v2-srp-grid { grid-template-columns: 1fr; } }
body.admin-v2 .v2-srp-bar { height: 4px; border-radius: 4px; background: var(--v2-line2); margin-top: 6px; overflow: hidden; }
body.admin-v2 .v2-srp-bar i { display: block; height: 100%; background: var(--v2-ind, #5B4BB7); border-radius: 4px; }
body.admin-v2 .v2-srp-nr { display: flex; align-items: center; gap: 10px; padding: 8px 16px; border-top: 1px solid var(--v2-line2); font-size: 13.5px; }
body.admin-v2 .v2-srp-nr span { flex: 1; }

/* FAQs: the prototype's column header over the sortable list */
body.admin-v2 .v2-faq-h { display: grid; grid-template-columns: 70px minmax(0, 1fr) 120px; gap: 12px; padding: 10px 16px; background: var(--v2-panel); border-top: 1px solid var(--v2-line2); border-bottom: 1px solid var(--v2-line2); font: 650 11px var(--v2-f); letter-spacing: .06em; text-transform: uppercase; color: var(--v2-muted); }

/* Product page → SEO: the search result preview (prototype) */
body.admin-v2 .pe-serp { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; margin-bottom: 14px; border-radius: 10px; background: var(--v2-panel); border: 1px solid var(--v2-line2); }
body.admin-v2 .pe-serp small { color: #1E8E3E; font-size: 12.5px; }
body.admin-v2 .pe-serp b { color: #1A0DAB; font: 500 17px var(--v2-f); }
body.admin-v2 .pe-serp span { color: var(--v2-muted); font-size: 13px; }

/* Brahmand: card titles in small capitals, as the prototype's dark theme */
body.admin-v2.theme-dark .ods-page .ods-card-title,
body.admin-v2.theme-dark .ods-page .ods-card-title > span,
body.admin-v2.theme-dark .v2-pe .pe-ch h3,
body.admin-v2.theme-dark .v2-cv-side .pe-ch h3 { text-transform: uppercase; letter-spacing: .08em; font-size: 12.5px !important; }

/* Orders report: funnel and day × hour grid (prototype /reports/orders) */
body.admin-v2 .v2-orep { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; margin-bottom: 16px; }
@media (max-width: 991.98px) { body.admin-v2 .v2-orep { grid-template-columns: 1fr; } }
body.admin-v2 .v2-orep .card { margin: 0; padding-bottom: 14px; }
body.admin-v2 .v2-orep .pe-ch { display: flex; align-items: center; }
body.admin-v2 .v2-funnel { padding: 4px 16px; display: flex; flex-direction: column; gap: 10px; }
body.admin-v2 .v2-funnel-r { display: grid; grid-template-columns: 80px minmax(0, 1fr) 44px; gap: 10px; align-items: center; font-size: 13px; }
body.admin-v2 .v2-funnel-b { display: flex; justify-content: center; }
body.admin-v2 .v2-funnel-b i { display: flex; justify-content: center; align-items: center; height: 22px; border-radius: 4px; color: #fff; font-style: normal; }
body.admin-v2 .v2-funnel-b i b { font-size: 12px; }
body.admin-v2 .fb-received { background: var(--v2-kum, #C53030); } body.admin-v2 .fb-processed { background: var(--v2-gold, #D69420); }
body.admin-v2 .fb-shipped { background: var(--v2-ind, #5B4BB7); } body.admin-v2 .fb-delivered { background: #2C7A7B; }
body.admin-v2 .v2-funnel-r em { font-style: normal; text-align: right; color: var(--v2-muted); }
body.admin-v2 .v2-stuck { display: flex; flex-wrap: wrap; gap: 6px; padding: 12px 16px 0; }
body.admin-v2 .v2-heat { padding: 4px 16px; display: flex; flex-direction: column; gap: 4px; }
body.admin-v2 .v2-heat-h, body.admin-v2 .v2-heat-r { display: grid; grid-template-columns: 34px repeat(12, minmax(0, 1fr)); gap: 3px; align-items: center; font-size: 10.5px; color: var(--v2-muted); }
body.admin-v2 .v2-heat-r i { display: block; height: 16px; border-radius: 3px; background: #2F855A; }

/* Customers report: New and returning buyers donut */
body.admin-v2 .v2-nrb { margin-bottom: 16px; padding-bottom: 16px; }
body.admin-v2 .v2-nrb-b { display: flex; align-items: center; gap: 28px; padding: 6px 20px; }
body.admin-v2 .v2-donut { --p: 0; width: 120px; height: 120px; border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; background: radial-gradient(closest-side, var(--v2-paper, #fff) 72%, transparent 73%), conic-gradient(#2C7A7B calc(var(--p) * 1%), #C53030 0); }
body.admin-v2 .v2-donut b { font: 700 20px var(--v2-f); } body.admin-v2 .v2-donut small { font-size: 11px; color: var(--v2-muted); }
body.admin-v2 .v2-nrb-l { display: flex; flex-direction: column; gap: 10px; min-width: 240px; font-size: 13.5px; }
body.admin-v2 .v2-nrb-l div { display: grid; grid-template-columns: 14px 1fr 60px 50px; align-items: center; gap: 8px; }
body.admin-v2 .v2-nrb-l i { width: 10px; height: 10px; border-radius: 50%; } body.admin-v2 .v2-nrb-l .d-r { background: #2C7A7B; } body.admin-v2 .v2-nrb-l .d-f { background: #C53030; }
body.admin-v2 .v2-nrb-l em { font-style: normal; color: var(--v2-muted); text-align: right; }

/* Reports: Share (stacked bar + legend) and Breakdown rows (prototype) */
body.admin-v2 .v2-share { margin-bottom: 16px; padding-bottom: 14px; }
body.admin-v2 .v2-share-bar { display: flex; height: 10px; border-radius: 6px; overflow: hidden; margin: 2px 16px 12px; background: var(--v2-line2); }
body.admin-v2 .v2-share-bar i { display: block; height: 100%; }
body.admin-v2 .v2-share-row { display: grid; grid-template-columns: 14px minmax(0, 1fr) auto 48px; gap: 10px; align-items: center; padding: 5px 16px; font-size: 13.5px; }
body.admin-v2 .v2-share-row i { width: 10px; height: 10px; border-radius: 2px; }
body.admin-v2 .v2-share-row em { font-style: normal; text-align: right; color: var(--v2-muted); }
body.admin-v2 .v2-bd-row { display: grid; grid-template-columns: 120px minmax(0, 1fr) 80px; gap: 10px; align-items: center; padding: 5px 16px; font-size: 13px; }
body.admin-v2 .v2-bd-row span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.admin-v2 .v2-bd-row .v2-srp-bar { margin-top: 0; height: 6px; }
body.admin-v2 .v2-bd-row b { text-align: right; }
body.admin-v2 .v2-share > .pe-ch, body.admin-v2 .v2-nrb > .pe-ch, body.admin-v2 .v2-orep .card > .pe-ch { padding: 14px 16px 8px; }

/* Shipping zones: the prototype's tiles — label, value, caption */
body.admin-v2 .v2-zc-metrics .zc-metric { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; text-align: left; }
body.admin-v2 .v2-zc-metrics small { font-size: 11.5px; color: var(--v2-muted); }
body.admin-v2 .v2-zc-metrics b { font: 700 16px var(--v2-f); color: var(--v2-ink); }
body.admin-v2 .v2-zc-metrics em { font-style: normal; font-size: 11.5px; color: var(--v2-muted); }

/* Zones / Stores: cards as wide as the prototype's */
body.admin-v2 .zone-grid, body.admin-v2 .list-page .card-grid { grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)) !important; }
body.admin-v2 .entity-card-foot { display: flex; align-items: center; gap: 8px; }
body.admin-v2 .entity-card-foot .btn { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }

/* Devchitra (admin v2): product page variants grid */
body.admin-v2 .pe-vg { margin-bottom: 16px; }
body.admin-v2 .pe-vg-chips { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 12px; }
body.admin-v2 .pe-vg-chip { border: 1px solid var(--v2-line, #E7E5EA); border-radius: 999px; padding: 4px 10px; font-size: 12.5px; background: var(--v2-panel); }
body.admin-v2 .pe-vmx { display: grid; grid-template-columns: repeat(var(--fc), minmax(160px, 1fr)); gap: 10px; align-items: stretch; overflow-x: auto; }
body.admin-v2 .pe-vmx-h { font-size: 12px; font-weight: 650; color: var(--v2-muted, #6B6875); text-transform: uppercase; letter-spacing: .06em; padding: 0 2px; }
body.admin-v2 .pe-vmx-r { grid-column: 1 / -1; display: flex; align-items: baseline; gap: 8px; padding: 8px 2px 0; margin-top: 2px; border-top: 1px solid var(--v2-line-2, #F0EEF2); }
body.admin-v2 .pe-vmx-r b { font-weight: 700; }
body.admin-v2 .pe-vmx-r small { font-size: 11.5px; color: var(--v2-muted, #6B6875); }
body.admin-v2 .pe-vc { border: 1px solid var(--v2-line, #E7E5EA); border-radius: 12px; padding: 10px; display: grid; gap: 8px; background: var(--v2-paper, #fff); min-width: 0; }
body.admin-v2 .pe-vc.off { opacity: .55; }
body.admin-v2 .pe-vc.none { place-items: center; color: var(--v2-faint, #A19FA8); font-size: 12px; border-style: dashed; background: transparent; }
body.admin-v2 .pe-vc-h { display: flex; align-items: center; justify-content: space-between; gap: 6px; font-size: 11px; color: var(--v2-muted, #6B6875); }
body.admin-v2 .pe-vc-h .v2-mono { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.admin-v2 .pe-vc-p { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
body.admin-v2 .pe-vc-p label { display: grid; gap: 2px; margin: 0; }
body.admin-v2 .pe-vc-p small { font-size: 10.5px; color: var(--v2-muted, #6B6875); font-weight: 600; }
body.admin-v2 .pe-vc-p input { text-align: right; padding: 0 6px; height: 30px; }
body.admin-v2 .pe-vc-p label:first-child input { color: var(--v2-muted, #6B6875); }
body.admin-v2 .pe-vc-s { display: grid; grid-template-columns: 26px minmax(0, 1fr) 26px auto; gap: 4px; align-items: center; }
body.admin-v2 .pe-vc-s button { height: 28px; border-radius: 7px; border: 1px solid var(--v2-line, #E7E5EA); background: transparent; display: grid; place-items: center; color: var(--v2-muted, #6B6875); padding: 0; }
body.admin-v2 .pe-vc-s button:hover { color: var(--v2-ink, #17151B); border-color: var(--v2-ink, #17151B); }
body.admin-v2 .pe-vc-s input { text-align: center; padding: 0 4px; min-width: 0; height: 28px; }
body.admin-v2 .pe-vc-s em { font-style: normal; font-size: 11px; font-weight: 650; padding: 2px 7px; border-radius: 999px; background: rgba(47, 133, 90, .12); color: #2F855A; }
body.admin-v2 .pe-vc-s.lo em { background: rgba(214, 148, 32, .16); color: #8A5A0B; }
body.admin-v2 .pe-vc-s.out em { background: rgba(197, 48, 48, .12); color: #C53030; }
body.admin-v2 .pe-vc-f { display: flex; align-items: center; justify-content: space-between; gap: 6px; font-size: 11.5px; color: #2F855A; font-weight: 600; }
body.admin-v2 .pe-vc-f span { white-space: nowrap; }
body.admin-v2 .pe-vg-all { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
@media (max-width: 820px) { body.admin-v2 .pe-vmx { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; overflow: visible; } body.admin-v2 .pe-vmx-h { display: none; } body.admin-v2 .pe-vc-s { grid-template-columns: 26px minmax(0, 1fr) 26px; } body.admin-v2 .pe-vc-s em { display: none; } }

/* Devchitra (admin v2): product Images and Custom sections cards */
body.admin-v2 .pe-imgs { display: grid; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: 10px; }
body.admin-v2 .pe-imgs .pe-im { aspect-ratio: 4 / 5; border-radius: 10px; background: var(--v2-panel, #F6F5F7) center / cover; position: relative; border: 1px solid var(--v2-line, #E7E5EA); cursor: grab; }
body.admin-v2 .pe-imgs .pe-im:first-child { cursor: pointer; }
body.admin-v2 .pe-imgs .pe-im.over { outline: 2px solid var(--v2-gold, #D69420); }
body.admin-v2 .pe-imgs .pe-im .mn { position: absolute; left: 5px; bottom: 5px; font-size: 11px; font-weight: 600; background: rgba(255, 255, 255, .92); color: #1F1A17; border-radius: 4px; padding: 1px 6px; }
body.admin-v2 .pe-imgs .pe-im .rm { position: absolute; right: 5px; top: 5px; width: 24px; height: 24px; border-radius: 4px; border: 0; padding: 0; background: rgba(255, 255, 255, .94); color: #B3261E; display: none; place-items: center; }
body.admin-v2 .pe-imgs .pe-im:hover .rm { display: grid; }
body.admin-v2 .pe-imgs .add { border: 1px dashed var(--v2-line, #E7E5EA); display: grid; place-items: center; align-content: center; gap: 4px; color: var(--v2-muted, #6B6875); font-size: 12.5px; cursor: pointer; text-align: center; aspect-ratio: 4 / 5; border-radius: 10px; }
body.admin-v2 .pe-imgs .add:hover { border-color: var(--v2-faint, #A19FA8); color: var(--v2-ink, #17151B); }
body.admin-v2 .pe-imgs-more { display: flex; gap: 14px; align-items: center; margin-top: 10px; font-size: 12.5px; }
body.admin-v2 .pe-cs + .pe-cs { border-top: 1px solid var(--v2-line-2, #F0EEF2); padding-top: 12px; margin-top: 4px; }
body.admin-v2 button.pe-vg-chip { cursor: pointer; }
body.admin-v2 button.pe-vg-chip:hover:not(:disabled) { border-color: var(--v2-ink, #17151B); }

/* Devchitra (admin v2): floating save bar (prototype .savebar); the page's own Update / Save
   button hides while the bar can save for it. */
body.admin-v2 .v2-savebar { position: fixed; left: calc(var(--v2-sw, 220px) + 40px); right: 40px; bottom: 16px; z-index: 1040; display: flex; align-items: center; gap: 12px; padding: 8px 8px 8px 16px; border-radius: 12px; background: var(--v2-ink, #17151B); color: var(--v2-bg, #FBFAF8); box-shadow: 0 10px 30px rgba(0, 0, 0, .22); transform: translateY(160%); transition: transform .2s ease; max-width: 760px; margin: 0 auto; font-size: 13.5px; }
body.admin-v2 .v2-savebar.show { transform: none; }
body.admin-v2 .v2-savebar b { font-weight: 500; }
body.admin-v2 .v2-savebar .sp { flex: 1; }
body.admin-v2 .v2-savebar .btn { border-color: transparent; }
body.admin-v2 .v2-savebar .btn.g { color: var(--v2-bg, #FBFAF8); opacity: .75; background: transparent; }
body.admin-v2 .v2-savebar .btn.g:hover { background: rgba(255, 255, 255, .1); opacity: 1; }
body.admin-v2 .v2-savebar .btn.light { background: var(--v2-bg, #FBFAF8); color: var(--v2-ink, #17151B); font-weight: 600; }
body.admin-v2.v2-sb-on .v2-set-page button[type="submit"]:not(.modal button) { display: none !important; }
body.admin-v2.v2-sb-on .v2-set-page .dc-set-save { display: none !important; }
@media (max-width: 991px) { body.admin-v2 .v2-savebar { left: 16px; right: 16px; } }
body.admin-v2 .v2-fsec-i { display: inline-block !important; color: var(--v2-faint, #A19FA8); margin-left: 6px; vertical-align: -2px; cursor: help; }
/* Devchitra (admin v2): General settings grouped as the prototype — the language tabs, rows and
   wrappers flatten (display: contents) so every field can be ordered into its group. */
body.admin-v2 form.gs-v2 { display: flex; flex-wrap: wrap; margin-left: calc(-.5 * var(--bs-gutter-x, 1.5rem)); margin-right: calc(-.5 * var(--bs-gutter-x, 1.5rem)); }
body.admin-v2 form.gs-v2 .tabs, body.admin-v2 form.gs-v2 .tabs > div:not(.tab-content), body.admin-v2 form.gs-v2 .tab-content,
body.admin-v2 form.gs-v2 .tab-content > .tab-pane.active, body.admin-v2 form.gs-v2 .tab-pane.active > .row, body.admin-v2 form.gs-v2 > .row, body.admin-v2 form.gs-v2 > .col-md-12, body.admin-v2 form.gs-v2 > .col-md-12 > .row { display: contents; }
body.admin-v2 form.gs-v2 .nav-tabs { order: 0; width: 100%; }
body.admin-v2 form.gs-v2 .gs-id { order: 1; }
body.admin-v2 form.gs-v2 .gs-ct { order: 2; }
body.admin-v2 form.gs-v2 .gs-on { order: 3; }
body.admin-v2 form.gs-v2 .gs-sr { order: 4; }
body.admin-v2 form.gs-v2 > .d-flex { order: 9; display: flex; width: 100%; padding: 0 calc(.5 * var(--bs-gutter-x, 1.5rem)); }
body.admin-v2 form.gs-v2 .v2-fsec { width: 100%; padding-left: calc(.5 * var(--bs-gutter-x, 1.5rem)); padding-right: calc(.5 * var(--bs-gutter-x, 1.5rem)); }
body.admin-v2 form.gs-v2 .v2-fsec.gs-ct, body.admin-v2 form.gs-v2 .v2-fsec.gs-on, body.admin-v2 form.gs-v2 .v2-fsec.gs-sr { border-top: 1px solid var(--v2-line2); padding-top: 22px; margin-top: 26px; }
body.admin-v2 form.gs-v2 .gs-id.col-md-4 { flex: 0 0 auto; width: 50%; }
@media (max-width: 767px) { body.admin-v2 form.gs-v2 [class*="col-"] { width: 100% !important; } }
body.admin-v2 .dc-range { display: flex; align-items: center; gap: 12px; max-width: 360px; }
body.admin-v2 .dc-range .form-range { flex: 1; accent-color: var(--v2-ink, #17151B); }
body.admin-v2 .dc-range b { min-width: 14px; font-size: 13px; }
@media (min-width: 1200px) { body.admin-v2 .v2-set-layout.v2-ma-layout.v2-ma-ov { grid-template-columns: 200px minmax(0, 1fr) !important; } }
body.admin-v2 .v2-bd-row .v2-srp-bar { height: 7px; border-radius: 4px; background: var(--v2-panel); }
body.admin-v2 .v2-bd-row .v2-srp-bar i { border-radius: 4px; }
body.admin-v2 .v2-bd-row b { text-align: right; font-weight: 650; }
/* report cards: the prototype's card head — coloured dot, title, rule below */
body.admin-v2 .v2-share > .pe-ch, body.admin-v2 .v2-nrb > .pe-ch, body.admin-v2 .v2-orep .card > .pe-ch { padding: 14px 18px !important; margin: 0 0 10px !important; border-bottom: 1px solid var(--v2-line2); }
body.admin-v2 .v2-share > .pe-ch h3, body.admin-v2 .v2-nrb > .pe-ch h3, body.admin-v2 .v2-orep .card > .pe-ch h3 { display: flex; align-items: center; gap: 8px; }
body.admin-v2 .v2-share > .pe-ch h3::before, body.admin-v2 .v2-nrb > .pe-ch h3::before, body.admin-v2 .v2-orep .card > .pe-ch h3::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--c-pea, #2C7A7B); flex: none; }
body.admin-v2 .v2-bd > .pe-ch h3::before { background: var(--c-mari, #D69420); }
body.admin-v2 .v2-orep .card:first-child > .pe-ch h3::before { background: var(--c-neel, #3B5BDB); }
body.admin-v2 .v2-orep .card:nth-child(2) > .pe-ch h3::before { background: var(--c-saf, #E8590C); }
body.admin-v2 .v2-bd-row { padding-left: 18px; padding-right: 18px; }
body.admin-v2 .v2-set-page .input-group-prepend:has(.myDivClass) { display: none !important; }
body.admin-v2 .v2-set-page .input-group-prepend:has(.myDivClass) + .form-control { border-radius: var(--bs-border-radius, 8px) !important; }
/* Devchitra (admin v2): Invoices settings — two even columns, no rules, image picker cards (prototype) */
@media (min-width: 768px) { body.admin-v2 .inv-v2 .card-body > .row > .form-group { flex: 0 0 auto; width: 50%; } }
body.admin-v2 .inv-v2 .card-body > .row > .col-12:has(> hr) { display: none; }
body.admin-v2 .inv-v2 .card-header > svg { display: none; }
body.admin-v2 .inv-v2 .form-control, body.admin-v2 .inv-v2 .form-select { width: 100% !important; max-width: none !important; }
body.admin-v2 .inv-pick { display: flex; align-items: center; gap: 12px; border: 1px solid var(--v2-line); border-radius: 10px; padding: 10px 12px; background: var(--v2-panel); }
body.admin-v2 .inv-pick-l { display: flex; align-items: center; gap: 12px; flex: 1; margin: 0; cursor: pointer; font-size: 13px; }
body.admin-v2 .inv-pick-t { width: 44px; height: 44px; border-radius: 8px; background: var(--v2-paper) center / contain no-repeat; border: 1px solid var(--v2-line2); flex: none; }
body.admin-v2 .inv-pick-x { border: 0; background: transparent; color: var(--v2-muted); padding: 4px; }
body.admin-v2 .inv-pick-x:hover { color: #C53030; }
body.admin-v2 .v2-set-page .ws-metadesc { flex: 0 0 auto; width: 100% !important; } /* prototype: meta description on its own row */
/* settings head: the page description sits in the ⓘ by the title (prototype), not as a line */
body.admin-v2 .v2-set-i { color: var(--v2-faint, #A19FA8); margin-left: 8px; flex: none; cursor: help; }
body.admin-v2 .v2-set-page .dc-hint { display: none; }
body.admin-v2 .v2-set-page .v2-fsec-h { font: 650 16px var(--v2-f); margin: 26px 0 14px; padding-top: 22px; border-top: 1px solid var(--v2-line2); width: 100%; }
/* SMS gateway: one provider under another, its fields in two columns (prototype) */
body.admin-v2 .sms-v2 > .row > .col-md-6 { flex: 0 0 auto; width: 100%; }
@media (min-width: 768px) { body.admin-v2 .sms-v2 .card-body { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; } }
body.admin-v2 .sms-v2 .card-body > small, body.admin-v2 .sms-v2 .card-body > p { grid-column: 1 / -1; }
body.admin-v2 .v2-set-page form > .v2-fsec-h:first-child { border-top: 0; padding-top: 0; margin-top: 0; }
body.admin-v2 .v2-set-page .dc-hr { display: none; }
body.admin-v2 .v2-lang-tr { display: grid; gap: 4px; min-width: 180px; max-width: 300px; }
body.admin-v2 .v2-lang-tr i { display: block; height: 4px; border-radius: 3px; background: var(--v2-line2); overflow: hidden; }
body.admin-v2 .v2-lang-tr b { display: block; height: 100%; background: var(--v2-ink); }
body.admin-v2 .v2-lang-tr small { color: var(--v2-muted); font-size: 12px; }
body.admin-v2 .v2-al-ch { display: flex; align-items: center; gap: 10px; }
body.admin-v2 .v2-al-ic { width: 28px; height: 28px; border-radius: 7px; border: 1px solid var(--v2-line); display: grid; place-items: center; font-size: 11px; color: var(--v2-muted); flex: none; text-transform: uppercase; }
body.admin-v2 .v2-al-by { display: flex; align-items: center; gap: 8px; }
body.admin-v2 .v2-al-av { width: 26px; height: 26px; border-radius: 50%; background: var(--v2-panel); border: 1px solid var(--v2-line); display: grid; place-items: center; font-size: 10px; font-weight: 700; flex: none; }
body.admin-v2 .v2-al-when { display: grid; line-height: 1.3; }
body.admin-v2 .v2-al-when b { font-weight: 500; }
body.admin-v2 .v2-al-when small { color: var(--v2-muted); }
/* Cron jobs (prototype): short tile labels, big figures, the setup guide shows the command only */
body.admin-v2 .cron-v2 .cron-help { display: none !important; }
body.admin-v2 .cron-v2 .card .fs-5 { font-size: 30px !important; font-weight: 700; letter-spacing: -.02em; }
body.admin-v2 .cron-v2 .nav-tabs { border: 1px solid var(--v2-line); border-radius: 9px; padding: 3px; display: inline-flex; gap: 2px; }
body.admin-v2 .cron-v2 .nav-tabs .nav-link { border: 0 !important; border-radius: 7px; padding: 5px 12px; font-size: 13px; color: var(--v2-muted); }
body.admin-v2 .cron-v2 .nav-tabs .nav-link.active { background: var(--v2-ink) !important; color: var(--v2-bg) !important; font-weight: 600; box-shadow: none !important; }
body.admin-v2 .cron-v2 .nav-tabs .nav-link::after { display: none !important; }
body.admin-v2 .cron-v2 label.fw-bold { display: none; }
/* Plugins head (prototype): core version and Install from zip; classic keeps its badge */
.plg-head-v2 { display: none; }
body.admin-v2 .plg-head-v2 { display: flex; align-items: center; gap: 12px; }
body.admin-v2 .plg-ver-old { display: none !important; }
body.admin-v2 .plg-core { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 600; color: var(--v2-muted); }
body.admin-v2 .plg-core i { width: 6px; height: 6px; border-radius: 50%; background: var(--v2-faint); }
/* System updater (prototype): the SOP note on top, no help lines */
.su-note-v2 { display: none; }
body.admin-v2 .su-note-v2 { display: block; padding: 12px 14px; border-radius: 10px; background: var(--v2-panel); border: 1px solid var(--v2-line2); font-size: 13px; color: var(--v2-ink); margin-bottom: 16px; }
body.admin-v2 .su-v2 .su-help { display: none; }
body.admin-v2 .cron-v2 table .btn { background: transparent !important; color: var(--v2-ink) !important; border: 1px solid var(--v2-line) !important; padding: 4px 10px !important; font-size: 13px; font-weight: 600; white-space: nowrap; box-shadow: none !important; }
body.admin-v2 .cron-v2 table .btn svg { display: none; }
body.admin-v2 .cron-v2 table td .small.text-muted, body.admin-v2 .cron-v2 table td small.text-muted { display: none; }
/* Bulk upload / update (prototype): the explanations read as a plain line under the step title */
body.admin-v2 .v2-bulk-grid .alert-info { background: transparent !important; border: 0 !important; padding: 0 !important; color: var(--v2-muted) !important; font-size: 13px; }
/* phones: report KPI figures fit their tile (prototype 22px), padding tighter */
@media (max-width: 575.98px) {
  body.admin-v2 .v2-rkpis { gap: 10px; }
  body.admin-v2 .v2-rkpi { padding: 12px !important; min-width: 0; }
  body.admin-v2 .v2-rkpi b { font-size: 22px; overflow-wrap: anywhere; }
  body.admin-v2 .v2-rkpi em { font-size: 11px; }
}
/* Brahmand: KPI tile labels in small capitals, as the prototype's dark theme */
body.admin-v2.theme-dark .v2h-grid .kpi > small { text-transform: uppercase; letter-spacing: .08em; font-size: 11px; }
/* Brahmand (prototype): switches on in green, settings section headings in small capitals */
body.admin-v2.theme-dark .v2-sw.on, body.admin-v2.theme-dark .form-switch .form-check-input:checked { background-color: var(--c-tul, #3DDC97) !important; border-color: var(--c-tul, #3DDC97) !important; }
body.admin-v2.theme-dark .v2-set-page .v2-fsec, body.admin-v2.theme-dark .v2-set-page .v2-fsec-h { text-transform: uppercase; letter-spacing: .08em; font-size: 13px !important; }
/* Customers report (prototype): New and returning buyers beside the Trend */
body.admin-v2 .v2-cust-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 16px; margin-bottom: 16px; align-items: stretch; }
body.admin-v2 .v2-cust-row > .card { margin: 0 !important; }
@media (max-width: 991.98px) { body.admin-v2 .v2-cust-row { grid-template-columns: 1fr; } }
body.admin-v2 .v2-ctrend-svg { display: block; width: calc(100% - 36px); height: 170px; margin: 4px 18px 0; }
body.admin-v2 .v2-ctrend-svg .a { fill: color-mix(in srgb, var(--c-pea, #13808A) 14%, transparent); }
body.admin-v2 .v2-ctrend-svg .l { fill: none; stroke: var(--c-saf, #DD6B20); stroke-width: 2; vector-effect: non-scaling-stroke; }
body.admin-v2 .v2-ctrend-x { display: flex; justify-content: space-between; margin: 4px 18px 0; font-size: 11px; color: var(--v2-muted); }
/* Brahmand: help boxes and outline radio cards were left light */
body.admin-v2.theme-dark .alert-light, body.admin-v2.theme-dark .alert-secondary { background: var(--v2-panel) !important; border-color: var(--v2-line) !important; color: var(--v2-ink) !important; }
body.admin-v2.theme-dark label.btn.btn-outline-primary:not(.active) { background: transparent !important; color: var(--v2-ink) !important; border-color: var(--v2-line) !important; }
body.admin-v2 .v2-lastc-figs .lc-bar { display: block; height: 5px; border-radius: 3px; background: var(--v2-line2); overflow: hidden; margin-top: 6px; }
body.admin-v2 .v2-lastc-figs .lc-bar b { display: block; height: 100%; background: var(--c-tul, #2F855A); }
/* Devchitra (admin v2): qCommerce — Live deliveries board, the "quick commerce is off" bar, list switches */
body.admin-v2 .v2-modebar { display: flex; gap: 10px; align-items: center; padding: 10px 14px; border-radius: 12px; margin-bottom: 18px; font-size: 13px; background: linear-gradient(90deg, rgba(212, 140, 40, .14), transparent); border: 1px solid rgba(212, 140, 40, .28); color: var(--v2-ink2); }
body.admin-v2 .v2-modebar b { color: var(--v2-ink); }
body.admin-v2 .v2-modebar .btn { margin-left: auto; white-space: nowrap; }
body.admin-v2 .v2-live-cols { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 16px; }
body.admin-v2 .v2-live-row { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 16px; }
body.admin-v2 .v2-live .card { margin: 0; overflow: hidden; }
body.admin-v2 .v2-live-h { display: flex; align-items: baseline; gap: 8px; padding: 14px 16px 10px; border-bottom: 1px solid var(--v2-line2); }
body.admin-v2 .v2-live-h h3 { font: 650 14.5px var(--v2-f) !important; margin: 0 !important; color: var(--v2-ink) !important; letter-spacing: -.005em !important; }
body.admin-v2 .v2-live-h > span { color: var(--v2-muted); font-size: 12.5px; }
body.admin-v2 .v2-live-li { display: flex; align-items: center; gap: 10px; padding: 10px 16px; border-bottom: 1px solid var(--v2-line2); color: var(--v2-ink); text-decoration: none; }
body.admin-v2 .v2-live-li:last-child { border-bottom: 0; }
body.admin-v2 .v2-live-li:hover { background: var(--v2-panel); }
body.admin-v2 .v2-live-li b { display: block; font-size: 13px; }
body.admin-v2 .v2-live-li small { display: block; color: var(--v2-muted); font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.admin-v2 .v2-live-li .min-w-0 { flex: 1; }
body.admin-v2 .v2-live-when { color: var(--v2-muted); font-size: 12.5px; white-space: nowrap; }
body.admin-v2 .v2-live-empty { padding: 22px 16px; color: var(--v2-muted); font-size: 13px; text-align: center; }
body.admin-v2 .v2-live-mapwrap { padding: 14px 16px 16px; }
body.admin-v2 .v2-live-map { height: 300px; border-radius: 10px; border: 1px solid var(--v2-line); position: relative; background: linear-gradient(0deg, var(--v2-line2) 1px, transparent 1px) 0 0 / 24px 24px, linear-gradient(90deg, var(--v2-line2) 1px, var(--v2-panel) 1px) 0 0 / 24px 24px; }
body.admin-v2 .v2-live-tag { position: absolute; display: inline-flex; align-items: center; gap: 4px; height: 22px; padding: 0 7px; border-radius: 4px; background: var(--v2-paper); box-shadow: 0 0 0 1px var(--v2-line); font-size: 12px; color: var(--v2-ink2); white-space: nowrap; }
body.admin-v2 .v2-live-tag.on { background: #4A5D9A; color: #fff; box-shadow: none; }
body.admin-v2 .v2-live-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--v2-line); flex: none; }
body.admin-v2 .v2-live-dot.on { background: var(--c-tul, #2F855A); box-shadow: 0 0 0 3px rgba(47, 133, 90, .18); }
body.admin-v2 .v2-sw.v2-sw-btn { cursor: pointer; }
body.admin-v2 .v2-btable th.v2-ck, body.admin-v2 .v2-btable td.v2-ck { width: 36px; padding-right: 0 !important; }
@media (max-width: 1100px) { body.admin-v2 .v2-live-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); } body.admin-v2 .v2-live-row { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 600px) { body.admin-v2 .v2-live-cols { grid-template-columns: minmax(0, 1fr); } body.admin-v2 .v2-modebar { flex-wrap: wrap; } body.admin-v2 .v2-modebar .btn { margin-left: 0; } }
/* Devchitra (admin v2): Delivery partner app — group headings inside the one settings card */
body.admin-v2 .v2-dsub { margin: 10px 0 4px; padding-top: 16px; border-top: 1px solid var(--v2-line2); }
body.admin-v2 .v2-dsub .card-title { font: 600 14.5px var(--v2-f) !important; margin: 0; color: var(--v2-ink); }
/* Devchitra (admin v2): delivery partner page — the tabs and their table read as one card */
body.admin-v2 .v2-boy-tabs { margin-bottom: 0 !important; border-bottom-left-radius: 0 !important; border-bottom-right-radius: 0 !important; box-shadow: none !important; }
body.admin-v2 .v2-boy-tabs .v2-otabs { border-bottom: 0; }
body.admin-v2 .v2-boy-tabs + .list-surface { margin-top: 0 !important; border-top: 1px solid var(--v2-line2) !important; border-top-left-radius: 0 !important; border-top-right-radius: 0 !important; }
/* Devchitra (admin v2): Customers → Users → one user (prototype "/signup-leads/:id") */
body.admin-v2 .v2-lead-err { display: flex; gap: 6px; align-items: center; margin: 8px 0 0; color: var(--c-kum, #B23A3A); font-size: 13px; }
body.admin-v2 .v2-lead-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 16px; align-items: start; margin-top: 16px; }
body.admin-v2 .v2-lead-grid .card { margin: 0; }
body.admin-v2 .v2-lead-side { display: grid; gap: 16px; }
body.admin-v2 .v2-lead-h { display: flex; align-items: baseline; gap: 8px; padding: 14px 16px 10px; border-bottom: 1px solid var(--v2-line2); }
body.admin-v2 .v2-lead-h h3 { font: 650 14.5px var(--v2-f) !important; margin: 0 !important; color: var(--v2-ink) !important; letter-spacing: -.005em !important; }
body.admin-v2 .v2-lead-h span { color: var(--v2-muted); font-size: 12.5px; }
body.admin-v2 .v2-lead-b { padding: 14px 16px 16px; }
body.admin-v2 .v2-kv { display: grid; grid-template-columns: auto 1fr; gap: 8px 14px; margin: 0; padding: 14px 16px 16px; font-size: 13.5px; }
body.admin-v2 .v2-kv dt { color: var(--v2-muted); font-weight: 500; }
body.admin-v2 .v2-kv dd { margin: 0; color: var(--v2-ink); text-align: right; min-width: 0; overflow-wrap: anywhere; }
body.admin-v2 .v2-tlu { padding: 6px 16px 16px; }
body.admin-v2 .v2-tl-day { margin: 12px 0 6px; font-size: 12px; font-weight: 600; color: var(--v2-muted); text-transform: uppercase; letter-spacing: .04em; }
body.admin-v2 .v2-tl-e { display: flex; gap: 12px; padding: 8px 0; position: relative; }
body.admin-v2 .v2-tl-e > i { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; flex: none; background: var(--v2-panel); color: var(--v2-ink2); }
body.admin-v2 .v2-tl-e.ok > i { background: color-mix(in srgb, var(--c-tul) 14%, transparent); color: var(--c-tul); }
body.admin-v2 .v2-tl-e.bad > i { background: color-mix(in srgb, var(--c-kum) 14%, transparent); color: var(--c-kum); }
body.admin-v2 .v2-tl-e b { display: block; font-size: 13.5px; color: var(--v2-ink); }
body.admin-v2 .v2-tl-e small { display: block; font-size: 12px; color: var(--v2-muted); }
@media (max-width: 991.98px) { body.admin-v2 .v2-lead-grid { grid-template-columns: minmax(0, 1fr); } }

/* ===== Devchitra (admin v2) parity batch 1 (24 Oct): measured against the prototype (TOKENS.md) ===== */
/* Mona Sans everywhere: the vendor forces Instrument Sans with !important on these elements; :where keeps
   this rule at the lowest weight so the titles' own fonts (Cinzel in Brahmand, mono codes) still win. */
body.admin-v2 :where(.page-heading, .page-title, .main, #main, .sidebar-wrapper, .menu, .sidebar-item, .sidebar-link, .sidebar-title,
  .submenu, .submenu-item, .card, .card-header, .card-title, .card-body, .btn, .form-control, .form-select, .form-label, .input-group,
  .modal, .modal-header, .modal-body, .modal-footer, .table, h1, h2, h3, h4, h5, h6, p, span, a, label, input, select, textarea, button, td, th, li, small, b, strong, div) {
  font-family: var(--v2-f) !important;
}
body.admin-v2 :where(.v2-mono, code, kbd, pre) { font-family: "JetBrains Mono", ui-monospace, Consolas, monospace !important; }
/* Brahmand: the prototype's final navy + gold tokens (theme.css) */
body.admin-v2.theme-dark {
  --v2-bg: #0B1026; --v2-paper: #141A3A; --v2-panel: #18204A; --v2-hover: #1B2350; --v2-line: #2A3263; --v2-line2: #222A58; --v2-card-b: #2A3263;
  --v2-ink: #EEF1FF; --v2-ink2: #D3D8F2; --v2-muted: #9AA3C7; --v2-faint: #6F78A3;
  --c-saf: #D4AF63; --c-mari: #E6CB8E; --c-roy: #9DB0F0; --c-pea: #7FC6C0; --c-tul: #7CC8A0; --c-kum: #F08A80; --c-rose: #E3A1B4; --c-vio: #B9A9EE; --c-sky: #8EC1EE; --c-pink: #E3A1B4; --c-ind: #9DB0F0; --c-teal: #7FC6C0;
}
/* buttons, tabs, search, chips, tables */
body.admin-v2 .btn { font-weight: 600 !important; }
body.admin-v2 .v2-otabs button { line-height: 1.5 !important; }
body.admin-v2 .v2-otabs button:not(.on) { font-weight: 550 !important; }
body.admin-v2 .v2-srch, body.admin-v2 .v2-srch input { font-size: 14px !important; font-weight: 400 !important; line-height: 1.5 !important; }
body.admin-v2 .chip { line-height: 1.5 !important; }
body.admin-v2 .table thead th { font-weight: 650 !important; padding-top: 9px !important; padding-bottom: 9px !important; }
body.admin-v2 .table tbody td { line-height: 1.5 !important; }
body.admin-v2.theme-dark .v2-srch { background: #0E1434 !important; }
body.admin-v2.theme-dark .chip, body.admin-v2.theme-dark .v2-gs { background: #141A3A !important; }
body.admin-v2.theme-dark .table thead th { background: #141A40 !important; }
/* sidebar: sub links and section titles in the prototype's quiet grey */
body.admin-v2:not(.theme-dark) #sidebar .submenu-item:not(.active) > a { color: #8C8894 !important; }
body.admin-v2.theme-dark #sidebar .submenu-item:not(.active) > a { color: #7F88B5 !important; }
body.admin-v2.theme-dark #sidebar .sidebar-item > a.sidebar-link { color: #A9B0D3 !important; }
body.admin-v2:not(.theme-dark) .menu .sidebar-title { color: #8C8894 !important; }
body.admin-v2.theme-dark .menu .sidebar-title { color: #7F88B5 !important; }
body.admin-v2 .menu .sidebar-title { padding-top: 20px !important; }
/* the admin in the sidebar footer: initials circle, name 13/600, role 12 */
body.admin-v2 .v2-me .user-chip { border-radius: 6px !important; padding: 8px 10px !important; }
body.admin-v2 .v2-me-av { width: 28px; height: 28px; border-radius: 50%; display: inline-grid; place-items: center; flex: none; font: 600 11.5px/1.5 var(--v2-f) !important; background: var(--v2-hero); color: #fff; }
body.admin-v2.theme-dark .v2-me-av { background: transparent; color: #D4AF63; border: 1px solid rgba(212, 175, 99, .6); }
body.admin-v2 .v2-me .user-chip-name { font-weight: 600 !important; line-height: 1.5 !important; }
body.admin-v2 .btn, body.admin-v2 .page-head .btn { line-height: 1.5 !important; }
body.admin-v2 .list-surface .v2-otabs > button, body.admin-v2 .v2-otabs > button.on { line-height: 1.5 !important; }
body.admin-v2 .v2-btable > tbody > tr > td, body.admin-v2 .list-surface .table > tbody > tr > td { line-height: 1.5 !important; }
body.admin-v2 .v2-me .user-chip .user-chip-name { line-height: 19.5px !important; }
body.admin-v2 header.app-header .v2-gs { line-height: 1.5 !important; }
body.admin-v2.theme-dark header.app-header { background: rgba(11, 16, 38, .88) !important; }
/* sidebar geometry, as the prototype: 64px brand row, no bar on the open item, sub links 30px from 36px */
body.admin-v2 .sidebar-wrapper .sidebar-header { min-height: 64px !important; height: 64px !important; }
body.admin-v2 .sidebar-wrapper .sidebar-header .logo img, body.admin-v2 .sidebar-wrapper .sidebar-header img { max-height: 36px; width: auto; }
body.admin-v2 .sidebar-item.active > .sidebar-link::before { display: none !important; }
body.admin-v2 .sidebar-item.active > .sidebar-link { box-shadow: none !important; }
body.admin-v2 #sidebar .menu { padding-left: 10px !important; padding-right: 10px !important; }
body.admin-v2 #sidebar .menu .submenu { padding: 2px 0 6px 26px !important; }
body.admin-v2 #sidebar .menu .submenu .submenu-item > a { height: 30px !important; min-height: 30px !important; padding: 0 10px !important; }
body.admin-v2 #sidebar .menu .submenu .submenu-item.active > a::after { display: none !important; }
body.admin-v2 #sidebar .sidebar-item { margin-top: 0 !important; }
body.admin-v2 .app-header .navbar { padding-left: 0 !important; padding-right: 0 !important; }
/* ===== form drawer, measured from the prototype's .drawer (24 Oct) ===== */
body.admin-v2 .modal.v2-drawer .modal-content { box-shadow: 0 16px 48px rgba(31, 26, 23, .14), 0 2px 6px rgba(31, 26, 23, .06) !important; border-left: 1px solid var(--v2-line) !important; }
body.admin-v2 .modal.v2-drawer .modal-header { padding: 14px 20px !important; border-bottom: 1px solid var(--v2-line) !important; min-height: 71px; }
body.admin-v2 .modal.v2-drawer .modal-title { font: 600 17px/1.3 var(--v2-f) !important; color: var(--v2-ink) !important; letter-spacing: 0 !important; text-transform: none !important; display: flex; flex-direction: column; }
body.admin-v2 .modal.v2-drawer .v2-dh-sub { font: 400 13px/1.5 var(--v2-f) !important; color: var(--v2-muted) !important; }
body.admin-v2 .modal.v2-drawer .modal-footer { padding: 12px 20px !important; border-top: 1px solid var(--v2-line) !important; gap: 8px; justify-content: flex-end; }
body.admin-v2 .modal.v2-drawer .modal-footer > * { margin: 0 !important; }
body.admin-v2 .modal.v2-drawer .modal-footer .btn { height: 36px; padding: 0 12px !important; border-radius: 10px !important; font: 600 13.5px/1.5 var(--v2-f) !important; display: inline-flex; align-items: center; gap: 6px; }
body.admin-v2 .modal.v2-drawer .modal-footer .v2-btn-ghost { background: var(--v2-paper) !important; border: 1px solid var(--v2-line) !important; color: var(--v2-ink) !important; }
body.admin-v2:not(.theme-dark) .modal.v2-drawer .modal-footer .btn-primary { background-image: var(--v2-hero) !important; border: 1px solid transparent !important; color: #fff !important; box-shadow: none !important; }
body.admin-v2 .modal.v2-fdrawer .modal-dialog { width: min(760px, 100vw) !important; max-width: none !important; }
body.admin-v2 .modal.v2-fdrawer .modal-body { padding: 4px 20px 20px !important; }
body.admin-v2 .v2-dsec { border-bottom: 1px solid var(--v2-card-b); }
body.admin-v2 .v2-dsec:last-child { border-bottom: 0; }
body.admin-v2 .v2-dsec > h3 { font: 650 14.5px var(--v2-f) !important; color: var(--v2-ink) !important; margin: 0 !important; padding: 18px 0 4px; letter-spacing: 0 !important; text-transform: none !important; }
body.admin-v2.theme-dark .v2-dsec > h3 { font-size: 12.5px !important; font-weight: 600 !important; letter-spacing: .14em !important; text-transform: uppercase !important; }
body.admin-v2 .v2-dgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 20px; padding: 10px 0 20px; }
body.admin-v2 .v2-dgrid > .v2-full { grid-column: 1 / -1; }
body.admin-v2 .v2-dfield { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
body.admin-v2 .v2-dfield > label { font: 500 13px/1.5 var(--v2-f) !important; color: var(--v2-ink) !important; display: flex; align-items: center; gap: 6px; margin: 0 !important; }
body.admin-v2 .v2-dfield .v2-req { color: var(--c-kum, #C53030); font-style: normal; }
body.admin-v2 .v2-dfield .v2-ccount { margin-left: auto; color: var(--v2-faint); font: 400 13px/1.5 var(--v2-f) !important; }
body.admin-v2 .v2-dfield .form-control, body.admin-v2 .v2-dfield .form-select { min-height: 36px; padding: 0 10px; border: 1px solid var(--v2-line) !important; border-radius: 9px !important; font: 400 14px/1.5 var(--v2-f) !important; box-shadow: none !important; }
body.admin-v2 .v2-dfield textarea.form-control { padding: 8px 10px; }
body.admin-v2 .v2-dfield .v2-hint { color: var(--v2-muted); font-size: 12.5px; }
body.admin-v2 .v2-upl { display: flex !important; align-items: center; gap: 12px; padding: 10px; border: 1px dashed var(--v2-line); border-radius: 8px; cursor: pointer; min-height: 80px; font-weight: 400 !important; }
body.admin-v2 .v2-upl-th { width: 48px; height: 48px; border-radius: 6px; background: var(--v2-panel) center / cover; display: grid; place-items: center; color: var(--v2-muted); flex: none; }
body.admin-v2 .v2-upl-tx b { display: block; font: 500 13.5px/1.5 var(--v2-f); color: var(--v2-ink); }
body.admin-v2 .v2-upl-tx small { display: block; font-size: 12.5px; color: var(--v2-muted); line-height: 1.5; }
body.admin-v2 .v2-link-btn { background: none; border: 0; padding: 0; color: var(--v2-muted); font-size: 12.5px; text-decoration: underline; align-self: flex-start; }
@media (max-width: 600px) { body.admin-v2 .v2-dgrid { grid-template-columns: minmax(0, 1fr); } }
body.admin-v2 .modal.v2-drawer .modal-content > .modal-header { padding: 14px 20px !important; border-radius: 0 !important; }
body.admin-v2 .modal.v2-drawer .modal-content > .modal-footer { border-radius: 0 !important; }
body.admin-v2 .modal.v2-drawer .modal-header .modal-title { font-size: 17px !important; line-height: 1.3 !important; }
body.admin-v2 .v2-dsec > h3 { letter-spacing: -.005em !important; }
body.admin-v2 .v2-dfield textarea.form-control { min-height: 88px; }
/* AppSelect (vue-multiselect) as the prototype's select */
body.admin-v2 .v2-dfield .multiselect { min-height: 36px; }
body.admin-v2 .v2-dfield .multiselect__tags { min-height: 36px; padding: 7px 36px 0 10px !important; border: 1px solid var(--v2-line) !important; border-radius: 9px !important; background: var(--v2-paper) !important; font: 400 14px/1.5 var(--v2-f) !important; }
body.admin-v2 .v2-dfield .multiselect__single, body.admin-v2 .v2-dfield .multiselect__placeholder, body.admin-v2 .v2-dfield .multiselect__input { font: 400 14px/1.5 var(--v2-f) !important; color: var(--v2-ink) !important; background: transparent !important; padding: 0 !important; margin: 0 0 7px !important; min-height: 0 !important; }
body.admin-v2 .v2-dfield .multiselect__placeholder { color: var(--v2-faint) !important; }
body.admin-v2 .v2-dfield .multiselect__select { height: 34px !important; }
body.admin-v2 .v2-dfield .multiselect--disabled { opacity: .55; background: transparent !important; }
/* Brahmand inputs: the prototype's deep field colour */
body.admin-v2.theme-dark .form-control, body.admin-v2.theme-dark .form-select, body.admin-v2.theme-dark .v2-dfield .multiselect__tags { background-color: #0E1434 !important; color: var(--v2-ink) !important; border-color: var(--v2-line) !important; }
body.admin-v2.theme-dark .v2-dsec > h3 { color: #E6E9FA !important; }
body.admin-v2 .v2-upl { color: var(--v2-muted) !important; font: 400 12.5px/1.5 var(--v2-f) !important; }
body.admin-v2 .modal.v2-drawer.show .modal-content > .modal-header { padding: 14px 20px !important; }
body.admin-v2 .modal.v2-drawer.show .modal-header .modal-title { font-size: 17px !important; line-height: 1.3 !important; }
body.admin-v2 .v2-dfield > label.v2-upl { color: var(--v2-muted) !important; font: 400 12.5px/1.5 var(--v2-f) !important; }
/* drawer close: the prototype's quiet ✕; selects: a thin chevron instead of the vendor triangle */
body.admin-v2 .modal.v2-drawer .modal-header .btn-close { filter: none !important; opacity: .55; background-color: transparent !important; color: var(--v2-muted) !important; --bs-btn-close-color: var(--v2-muted); }
body.admin-v2 .modal.v2-drawer .modal-header .btn-close svg, body.admin-v2 .modal.v2-drawer .modal-header .btn-close * { color: var(--v2-muted) !important; stroke: currentColor !important; }
body.admin-v2.theme-dark .modal.v2-drawer .modal-header .btn-close { filter: invert(1) grayscale(1) brightness(1.4) !important; }
body.admin-v2 .multiselect__select::before { border: solid currentColor !important; border-width: 0 1.5px 1.5px 0 !important; width: 7px !important; height: 7px !important; top: 42% !important; transform: rotate(45deg) translate(-25%, -25%) !important; margin-top: 0 !important; color: var(--v2-muted) !important; position: absolute; left: 50%; }
body.admin-v2 .multiselect--active .multiselect__select { transform: rotate(180deg); }
/* ===== every v2 drawer form gets the prototype's fields (labels 13/500, inputs 36 / r9 / 14px, selects alike) ===== */
body.admin-v2 .modal.v2-drawer .modal-body { padding: 4px 20px 20px !important; }
body.admin-v2 .modal.v2-drawer .modal-body :is(label, .form-label):not(.form-check-label):not(.btn):not(.v2-upl):not(.v2-radios > label) { font: 500 13px/1.5 var(--v2-f) !important; color: var(--v2-ink) !important; margin-bottom: 6px; }
body.admin-v2 .modal.v2-drawer .modal-body .form-check-label { font: 400 13.5px/1.5 var(--v2-f) !important; color: var(--v2-ink) !important; }
body.admin-v2 .modal.v2-drawer .modal-body .form-group, body.admin-v2 .modal.v2-drawer .modal-body .mb-3 { margin-bottom: 18px !important; }
body.admin-v2 .modal.v2-drawer .modal-body .form-control:not(textarea), body.admin-v2 .modal.v2-drawer .modal-body .form-select { min-height: 36px; height: 36px; padding: 0 10px; }
body.admin-v2 .modal.v2-drawer .modal-body .form-control, body.admin-v2 .modal.v2-drawer .modal-body .form-select { border: 1px solid var(--v2-line) !important; border-radius: 9px !important; font: 400 14px/1.5 var(--v2-f) !important; box-shadow: none !important; color: var(--v2-ink) !important; }
body.admin-v2 .modal.v2-drawer .modal-body textarea.form-control { padding: 8px 10px; min-height: 88px; }
body.admin-v2 .modal.v2-drawer .modal-body .form-control:focus, body.admin-v2 .modal.v2-drawer .modal-body .form-select:focus { border-color: var(--c-saf) !important; box-shadow: 0 0 0 3px var(--v2-focus, rgba(221, 107, 32, .22)) !important; }
body.admin-v2 .modal.v2-drawer .modal-body .multiselect { min-height: 36px; }
body.admin-v2 .modal.v2-drawer .modal-body .multiselect__tags { min-height: 36px; padding: 7px 36px 0 10px !important; border: 1px solid var(--v2-line) !important; border-radius: 9px !important; background: var(--v2-paper) !important; font: 400 14px/1.5 var(--v2-f) !important; }
body.admin-v2 .modal.v2-drawer .modal-body :is(.multiselect__single, .multiselect__placeholder, .multiselect__input) { font: 400 14px/1.5 var(--v2-f) !important; color: var(--v2-ink) !important; background: transparent !important; padding: 0 !important; margin: 0 0 7px !important; min-height: 0 !important; }
body.admin-v2 .modal.v2-drawer .modal-body .multiselect__placeholder { color: var(--v2-faint) !important; }
body.admin-v2 .modal.v2-drawer .modal-body .multiselect__select { height: 34px !important; }
body.admin-v2 .modal.v2-drawer .modal-body i.text-danger, body.admin-v2 .modal.v2-drawer .modal-body .text-danger:is(i, span):empty { color: var(--c-kum, #C53030) !important; font-style: normal; }
body.admin-v2.theme-dark .modal.v2-drawer .modal-body .multiselect__tags { background: #0E1434 !important; }
body.admin-v2 .modal.v2-drawer .modal-footer .btn-secondary, body.admin-v2 .modal.v2-drawer .modal-footer .btn-light, body.admin-v2 .modal.v2-drawer .modal-footer .btn-outline-secondary { background: var(--v2-paper) !important; border: 1px solid var(--v2-line) !important; color: var(--v2-ink) !important; }
/* the cancel button sits first, as the prototype (vendor footers put Save first) */
body.admin-v2 .modal.v2-drawer .modal-footer :is(.btn-secondary, .btn-light, .btn-outline-secondary, .v2-btn-ghost) { order: -1; }

/* ---------- every vendor record form as the prototype's drawer (utils/v2Drawers.js tags it v2-drawer):
   560 wide (wide forms 760), one section title, fields in two columns, Status as plain radios ---------- */
body.admin-v2 .modal.v2-drawer:not(.v2-fdrawer):not(.v2-drawer-wide) .modal-dialog { width: min(560px, 100vw) !important; }
body.admin-v2 .modal.v2-drawer .v2-dh-auto { display: block; }
body.admin-v2 .modal.v2-drawer .modal-body .v2-dsec-auto { font: 650 14.5px/1.4 var(--v2-f) !important; color: var(--v2-ink) !important; margin: 0 !important; padding: 18px 0 14px; letter-spacing: -.005em !important; text-transform: none !important; }
body.admin-v2.theme-dark .modal.v2-drawer .modal-body .v2-dsec-auto { font-size: 12.5px !important; font-weight: 600 !important; letter-spacing: .14em !important; text-transform: uppercase !important; color: #E6E9FA !important; }
@media (min-width: 601px) {
    body.admin-v2 .modal.v2-drawer:not(.v2-fdrawer) .modal-body form .row:not(:has(> [class*="col-"])) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px; margin: 0 !important; }
    body.admin-v2 .modal.v2-drawer:not(.v2-fdrawer) .modal-body form .row:not(:has(> [class*="col-"])) > * { width: auto; max-width: none; padding: 0; margin-left: 0; margin-right: 0; min-width: 0; }
    body.admin-v2 .modal.v2-drawer:not(.v2-fdrawer) .modal-body form .row:not(:has(> [class*="col-"])) > :is(:has(textarea, .ql-editor, .tox, .ck-editor, .table, .file-input-div), .col-12, .w-100) { grid-column: 1 / -1; }
}
/* the vendor's Activate / Deactivate toggle buttons read as the prototype's radios (admin.css .radios) */
body.admin-v2 .modal.v2-drawer .modal-body .btn-group-toggle { display: flex; flex-wrap: wrap; gap: 4px 18px; box-shadow: none !important; }
body.admin-v2 .modal.v2-drawer .modal-body .btn-group-toggle > .btn { display: inline-flex; align-items: center; gap: 7px; min-height: 30px; padding: 0 !important; margin: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; color: var(--v2-ink) !important; font: 400 13.5px/1.5 var(--v2-f) !important; cursor: pointer; }
body.admin-v2 .modal.v2-drawer .modal-body .btn-group-toggle > .btn > input[type="radio"] { position: static !important; clip: auto !important; pointer-events: auto; width: 15px; height: 15px; margin: 0 !important; opacity: 1; accent-color: var(--v2-esp); }
body.admin-v2.theme-dark .modal.v2-drawer .modal-body .btn-group-toggle > .btn > input[type="radio"] { accent-color: #D4AF63; }
body.admin-v2 .modal.v2-drawer .modal-body .btn-group-toggle + * , body.admin-v2 .modal.v2-drawer .modal-body .form-group > .col-md-9.text-left { padding: 0 !important; margin-top: 0 !important; }

/* ---------- parity batch 2 (measured against the prototype, 24 Oct): top bar controls, table cells,
   page-head buttons, account name ---------- */
body.admin-v2 header.app-header { height: 60px !important; min-height: 60px !important; box-sizing: border-box; }
body.admin-v2 .v2-modesw button { padding: 0 12px !important; }
body.admin-v2 header.app-header .v2-gs { font-size: 13.5px !important; line-height: 20.25px !important; }
body.admin-v2 header.app-header .v2-gs kbd { font: 500 11px/18px var(--v2-f) !important; height: 20px; padding: 0 5px !important; display: inline-flex; align-items: center; }
body.admin-v2 header.app-header .v2-toplink { height: 32px; display: inline-flex !important; align-items: center; gap: 6px !important; border-radius: 6px; color: var(--v2-ink2) !important; }
body.admin-v2 header.app-header .v2-toplink:hover { background: var(--v2-hover, rgba(0, 0, 0, .04)); }
body.admin-v2 .v2-thm { padding: 0 !important; border-radius: 10px !important; overflow: hidden; height: 32px; display: inline-flex; align-items: stretch; }
body.admin-v2 .v2-thm button { border-radius: 0 !important; padding: 0 10px !important; font-weight: 500 !important; line-height: 18.75px !important; height: 30px; }
body.admin-v2 header.app-header .hdr-icon-btn { width: 32px !important; height: 32px !important; border: 0 !important; border-radius: 6px !important; background: transparent !important; color: var(--v2-muted) !important; }
body.admin-v2 header.app-header .hdr-icon-btn:hover { background: var(--v2-hover, rgba(0, 0, 0, .04)) !important; color: var(--v2-ink) !important; }
body.admin-v2 header.app-header .hdr-icon-btn svg { width: 17px !important; height: 17px !important; }
body.admin-v2 .table tbody td { font-size: 13.5px; padding-top: 10px !important; padding-bottom: 10px !important; }
body.admin-v2 .table thead th, body.admin-v2 .table tbody td { padding-left: 14px !important; padding-right: 14px !important; }
body.admin-v2 .table tbody td :is(.text-body-secondary, .text-secondary) { color: var(--v2-muted) !important; }
body.admin-v2 .page-head .btn { height: 36px; padding: 0 12px !important; font-size: 13.5px !important; line-height: 20.25px !important; display: inline-flex; align-items: center; gap: 6px; }
body.admin-v2 .v2-me .user-chip .user-chip-name { font-size: 13px !important; }

/* ---------- drawer details measured against the prototype's Add brand (24 Oct) ---------- */
body.admin-v2 .modal.v2-drawer .modal-body .v2-dsec-auto { padding: 23px 0 8px !important; line-height: 21px !important; }
body.admin-v2 .modal.v2-drawer .modal-body .v2-dsec-auto ~ .tabs > .tab-content.mt-3, body.admin-v2 .modal.v2-drawer .modal-body .v2-dsec-auto ~ div > .tab-content.mt-3 { margin-top: 0 !important; }
body.admin-v2 .modal.v2-drawer .modal-header .btn-close { width: 32px !important; height: 32px !important; padding: 0 !important; margin: -2px 0 0 auto !important; border-radius: 10px; background-size: 13px !important; flex: none; }
body.admin-v2 .modal.v2-drawer .modal-header .btn-close:hover { background-color: var(--v2-hover, rgba(0, 0, 0, .04)) !important; opacity: .8; }
body.admin-v2 .modal.v2-drawer .modal-body label + i.text-danger, body.admin-v2 .modal.v2-drawer .modal-body label > i.text-danger { margin-left: 6px; font: 400 13px/19.5px var(--v2-f) !important; }
body.admin-v2 div.v2-up { padding: 10px !important; gap: 12px; min-height: 70px; background: transparent !important; color: var(--v2-muted) !important; font-size: 12.5px; line-height: 18.75px; border-radius: 12px; }
body.admin-v2 div.v2-up:hover { background: var(--v2-hover, rgba(0, 0, 0, .03)) !important; border-color: var(--v2-faint) !important; }
body.admin-v2 .v2-up-th { width: 48px !important; height: 48px !important; border-radius: 10px !important; }
body.admin-v2 .v2-up-t b { font: 500 13.5px/20.25px var(--v2-f) !important; }
body.admin-v2 .v2-up-t small { font-size: 12.5px !important; line-height: 18.75px; white-space: normal !important; }
/* the primary drawer button carries the prototype's check mark (v2Drawers.js adds .v2-ok) */
body.admin-v2 .modal.v2-drawer .modal-footer .btn.v2-ok::before { content: ""; width: 15px; height: 15px; flex: none; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%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 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat; }
body.admin-v2 .modal.v2-drawer .modal-body .btn-group-toggle > .btn:has(input[value="1"]) { order: -1; }
body.admin-v2 .modal.v2-drawer .modal-body .btn-group-toggle > .btn { flex: none !important; }
body.admin-v2 .modal.v2-drawer .modal-body .btn-group-toggle > .btn > input[type="radio"] { appearance: auto !important; -webkit-appearance: radio !important; border: 0 !important; background: none !important; box-shadow: none !important; }
body.admin-v2 .modal.v2-drawer .modal-header .btn-close { border-radius: 6px !important; }
body.admin-v2 div.v2-up { border-radius: 8px !important; }
body.admin-v2 .v2-up-th { border-radius: 6px !important; }

/* ---------- prototype field types for v2 drawer templates: radios (admin.css .radios) and tags (.tagsin) ---------- */
body.admin-v2 .v2-radios { display: flex; flex-wrap: wrap; gap: 4px 18px; }
body.admin-v2 .modal.v2-drawer .modal-body .v2-radios > label { display: flex !important; align-items: center; gap: 7px; min-height: 30px; margin: 0 !important; cursor: pointer; font: 400 13.5px/1.5 var(--v2-f) !important; color: var(--v2-ink) !important; }
body.admin-v2 .v2-radios input[type="radio"] { appearance: auto !important; -webkit-appearance: radio !important; width: 15px; height: 15px; margin: 0; border: 0 !important; background: none !important; box-shadow: none !important; accent-color: var(--v2-esp); }
body.admin-v2.theme-dark .v2-radios input[type="radio"] { accent-color: #D4AF63; }
body.admin-v2 .v2-tagsin { display: flex; flex-wrap: wrap; gap: 5px; align-items: center; min-height: 36px; border: 1px solid var(--v2-line); border-radius: 9px; padding: 4px 6px; background: var(--v2-bg); cursor: text; }
body.admin-v2 .v2-tagsin:focus-within { border-color: var(--c-saf); box-shadow: 0 0 0 3px var(--v2-focus, rgba(221, 107, 32, .14)); }
body.admin-v2 .v2-tagsin input { border: 0 !important; outline: 0; flex: 1; min-width: 110px; height: 26px; background: transparent !important; font: 400 13.5px var(--v2-f); color: var(--v2-ink); box-shadow: none !important; padding: 0 !important; }
body.admin-v2 .v2-tagsin input::placeholder { color: var(--v2-faint); }
body.admin-v2 .v2-tag { display: inline-flex; align-items: center; gap: 4px; height: 24px; padding: 0 7px; border-radius: 4px; background: var(--v2-panel); font: 400 12px var(--v2-f); color: var(--v2-ink2); white-space: nowrap; }
body.admin-v2 .v2-tag button { opacity: .55; display: grid; padding: 0; border: 0; background: none; color: inherit; }
body.admin-v2 .v2-tag button:hover { opacity: 1; }
body.admin-v2 .modal.v2-drawer .v2-hint { font: 400 12.5px/1.5 var(--v2-f); color: var(--v2-muted); }

/* ---------- vendor section parts inside drawers read as the prototype's sections: headings, rules,
   the shared SEO block ("Search engine listing"), small outline buttons, ⓘ hints ---------- */
body.admin-v2 .modal.v2-drawer .modal-body :is(h4, h5, h6):not([class*="v2-"]) { font: 650 14.5px/21px var(--v2-f) !important; color: var(--v2-ink) !important; letter-spacing: -.005em !important; text-transform: none !important; margin: 0 0 14px !important; padding-top: 18px; }
body.admin-v2.theme-dark .modal.v2-drawer .modal-body :is(h4, h5, h6):not([class*="v2-"]) { font-size: 12.5px !important; font-weight: 600 !important; letter-spacing: .14em !important; text-transform: uppercase !important; color: #E6E9FA !important; }
body.admin-v2 .modal.v2-drawer .modal-body hr { border: 0; border-top: 1px solid var(--v2-card-b); opacity: 1; margin: 6px 0 0 !important; }
body.admin-v2 .modal.v2-drawer .modal-body .seo-section > .d-flex { margin-bottom: 0 !important; }
body.admin-v2 .modal.v2-drawer .modal-body .seo-section > .d-flex > h5 { margin-bottom: 14px !important; }
body.admin-v2 .modal.v2-drawer .modal-body .row { --bs-gutter-x: 20px; }
body.admin-v2 .modal.v2-drawer .modal-body form .d-flex > .form-group.flex-grow-1 { flex: 1 1 0 !important; min-width: 0; }
body.admin-v2 .modal.v2-drawer .modal-body form .d-flex > .form-group.me-2 { margin-right: 20px !important; }
body.admin-v2 .modal.v2-drawer .modal-body .btn-sm:is(.btn-outline-primary, .btn-outline-secondary, .btn-light) { height: 30px; padding: 0 10px !important; border-radius: 8px !important; border: 1px solid var(--v2-line) !important; background: var(--v2-paper) !important; color: var(--v2-ink) !important; font: 500 13px/1 var(--v2-f) !important; display: inline-flex; align-items: center; gap: 6px; box-shadow: none !important; }
body.admin-v2 .modal.v2-drawer .modal-body .btn-sm:is(.btn-outline-primary, .btn-outline-secondary, .btn-light):hover { background: var(--v2-hover) !important; }
body.admin-v2 .modal.v2-drawer .modal-body label > small[id].d-inline-flex { padding: 0 !important; background: none !important; border: 0 !important; color: var(--v2-faint) !important; margin-left: 4px; font-size: 12px; }
/* password show / hide: one quiet button joined to the field, 36 high */
body.admin-v2 .modal.v2-drawer .modal-body .input-group > .form-control { border-top-right-radius: 0 !important; border-bottom-right-radius: 0 !important; }
body.admin-v2 .modal.v2-drawer .modal-body .input-group > :is(.btn, .input-group-text) { height: 36px; min-height: 36px; padding: 0 10px !important; border: 1px solid var(--v2-line) !important; border-left: 0 !important; border-radius: 0 9px 9px 0 !important; background: var(--v2-paper) !important; color: var(--v2-muted) !important; box-shadow: none !important; display: inline-flex; align-items: center; }
body.admin-v2 .modal.v2-drawer .modal-body .input-group > :is(.btn, .input-group-text) svg { width: 16px; height: 16px; }
body.admin-v2.theme-dark .modal.v2-drawer .modal-body .input-group > :is(.btn, .input-group-text) { background: #0E1434 !important; }
body.admin-v2 .modal.v2-drawer .v2-linkfield { display: flex !important; align-items: center; color: var(--v2-muted) !important; text-decoration: none; background: var(--v2-panel) !important; }
body.admin-v2 .modal.v2-drawer .v2-linkfield:hover { color: var(--v2-ink) !important; }

/* ---------- drawer geometry measured on every form (drawermetrics, 24 Oct): section title → first label 20px,
   selects 36 high like inputs, wide drawers 760 (prototype .drawer.wide) ---------- */
body.admin-v2 .modal.v2-drawer .modal-body .v2-dsec-auto { padding: 23px 0 0 !important; margin: 0 0 20px !important; }
body.admin-v2 .modal.v2-drawer .modal-body .v2-dsec-auto ~ * :is(.tab-content, .row, .form-group, .v2-dgrid):first-child,
body.admin-v2 .modal.v2-drawer .modal-body .v2-dsec-auto ~ :is(.tabs, .row, .form-group, div) { margin-top: 0 !important; }
body.admin-v2 .modal.v2-drawer .modal-body .v2-dsec-auto + .v2-dgrid { padding-top: 0; }
body.admin-v2 .modal.v2-drawer .modal-body .v2-dsec-auto ~ * .tab-content.mt-3 { margin-top: 0 !important; }
body.admin-v2 .modal.v2-drawer .modal-body .multiselect { height: 36px; min-height: 36px !important; }
body.admin-v2 .modal.v2-drawer .modal-body .multiselect--active, body.admin-v2 .modal.v2-drawer .modal-body .multiselect.multiselect--multiple { height: auto; }
body.admin-v2 .modal.v2-drawer .modal-body .multiselect__tags { box-sizing: border-box; min-height: 36px !important; padding-top: 6px !important; padding-bottom: 0 !important; }
body.admin-v2 .modal.v2-drawer .modal-body select.form-select, body.admin-v2 .modal.v2-drawer .modal-body select.form-control { height: 36px !important; min-height: 36px !important; padding-top: 0 !important; padding-bottom: 0 !important; box-sizing: border-box; }
body.admin-v2 .modal.v2-drawer.v2-drawer-wide .modal-dialog { width: min(760px, 100vw) !important; }
body.admin-v2 .modal.v2-drawer .modal-body .v2-dsec-auto ~ * .v2-dgrid:first-child, body.admin-v2 .modal.v2-drawer .modal-body .v2-dsec-auto ~ .v2-dgrid { padding-top: 0 !important; }
body.admin-v2 .modal.v2-drawer .modal-body .form-group > label:not(.btn) { vertical-align: top; }

/* a drawer whose form keeps its own submit gets the prototype's footer (v2Drawers.js .v2-dfoot-auto); the in-form button hides */
body.admin-v2 .modal.v2-drawer .modal-body .v2-submit-moved { display: none !important; }
body.admin-v2 .modal.v2-drawer .v2-linkfield { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
/* every small outline button in a drawer (map tools, add row, …) reads as the prototype's ghost button; destructive ones keep red text */
body.admin-v2 .modal.v2-drawer .modal-body .btn-sm[class*="btn-outline-"], body.admin-v2 .modal.v2-drawer .modal-body .btn[class*="btn-outline-"]:not(.btn-group-toggle > .btn) { height: 30px; padding: 0 10px !important; border-radius: 8px !important; border: 1px solid var(--v2-line) !important; background: var(--v2-paper) !important; color: var(--v2-ink) !important; font: 500 13px/1 var(--v2-f) !important; display: inline-flex; align-items: center; gap: 6px; box-shadow: none !important; }
body.admin-v2 .modal.v2-drawer .modal-body .btn[class*="btn-outline-"]:not(.btn-group-toggle > .btn):hover { background: var(--v2-hover) !important; }
body.admin-v2 .modal.v2-drawer .modal-body .btn.btn-outline-danger:not(.btn-group-toggle > .btn) { color: var(--c-kum, #C53030) !important; }
body.admin-v2 .modal.v2-drawer .modal-body .btn[class*="btn-outline-"] svg { width: 15px; height: 15px; }
body.admin-v2 .modal.v2-drawer .modal-body .btn[class*="btn-outline-"] .badge { background: var(--v2-panel) !important; color: var(--v2-muted) !important; border: 0 !important; }

/* ---------- prototype ₹ prefix (.ig .pre), label row with an action (Code · Generate), promo drawer: Title beside Code ---------- */
body.admin-v2 .v2-ig { display: flex; align-items: stretch; }
body.admin-v2 .v2-ig > .v2-pre { display: grid; place-items: center; padding: 0 10px; border: 1px solid var(--v2-line); border-right: 0; border-radius: 9px 0 0 9px; background: var(--v2-panel); color: var(--v2-muted); font: 400 13px var(--v2-f); }
body.admin-v2 .modal.v2-drawer .modal-body .v2-ig > .form-control { border-radius: 0 9px 9px 0 !important; flex: 1; min-width: 0; }
body.admin-v2 .modal.v2-drawer .modal-body label.v2-lab-row { display: flex !important; align-items: center; gap: 6px; }
body.admin-v2 .modal.v2-drawer .modal-body label.v2-lab-row > i.text-danger { margin-left: 0 !important; }
body.admin-v2 .modal.v2-drawer .v2-link-btn { border: 0; background: none; padding: 0; font: 500 13px var(--v2-f); color: var(--v2-ink); cursor: pointer; }
body.admin-v2 .modal.v2-drawer .v2-link-btn:hover { text-decoration: underline; }
body.admin-v2 .v2-promo-dr .card:first-child .card-body > .row > .col-md-12.mt-2,
body.admin-v2 .v2-promo-dr .card:first-child .card-body > .row > .col-md-12.mt-2 > div:not(.nav),
body.admin-v2 .v2-promo-dr .card:first-child .card-body > .row > .col-md-12.mt-2 > div > .row.mt-2 { display: contents; }
body.admin-v2 .v2-promo-dr .card:first-child .card-body > .row > .col-md-12.mt-2 .form-group:has(textarea) { width: 100%; }
body.admin-v2 .v2-promo-dr .card:first-child .card-body > .row > :is(.col-md-6.mt-2, .form-group.col-md-6.mt-2) { margin-top: 0 !important; }
/* promo drawer sections spaced as the prototype's: title 23px under the rule, fields 20px under the title, 20px to the next rule */
body.admin-v2 .v2-promo-dr > .card > .card-header { padding: 0 !important; }
body.admin-v2 .v2-promo-dr > .card > .card-header h6 { padding-top: 23px !important; margin: 0 !important; }
body.admin-v2 .v2-promo-dr > .card > .card-body { padding: 20px 0 2px !important; }
body.admin-v2 .v2-promo-dr > .card { margin-bottom: 0 !important; }
body.admin-v2 .v2-promo-dr > .card + .card { border-top-color: var(--v2-card-b) !important; }
body.admin-v2 .modal.v2-drawer .v2-link-btn, body.admin-v2 .modal.v2-drawer .v2-link-btn:hover { text-decoration: none !important; }
/* an AppSelect that also carries form-control: the inner box is the field, not the wrapper */
body.admin-v2 .modal.v2-drawer .modal-body .multiselect.form-control { padding: 0 !important; border: 0 !important; background: transparent !important; height: 36px; min-height: 36px !important; box-shadow: none !important; }

/* ---------- vendor cards inside any drawer read as the prototype's sections: flat, no inset, a rule between,
   two columns, 20px gutters, muted helper text ---------- */
body.admin-v2 .modal.v2-drawer .modal-body .card { border: 0 !important; border-top: 1px solid var(--v2-card-b) !important; box-shadow: none !important; background: transparent !important; border-radius: 0 !important; margin-bottom: 0 !important; }
body.admin-v2 .modal.v2-drawer .modal-body > .card:first-child, body.admin-v2 .modal.v2-drawer .modal-body > :first-child > .card:first-child, body.admin-v2 .modal.v2-drawer .modal-body > :first-child > :first-child > .card:first-child,
body.admin-v2 .modal.v2-drawer .modal-body > :first-child > :first-child > :first-child > .card:first-child { border-top: 0 !important; }
body.admin-v2 .modal.v2-drawer .modal-body .card > :is(.card-body, .card-header) { padding: 0 0 20px !important; background: transparent !important; border: 0 !important; }
body.admin-v2 .modal.v2-drawer .modal-body .card > .card-header { padding-bottom: 0 !important; }
body.admin-v2 .modal.v2-drawer .modal-body .card > .card-header + .card-body { padding-top: 0 !important; }
body.admin-v2 .modal.v2-drawer .modal-body .card > .card-header :is(h4, h5, h6) { margin-bottom: 4px !important; }
body.admin-v2 .modal.v2-drawer .modal-body .card-body > :is(h4, h5, h6):first-child { padding-top: 23px !important; }
body.admin-v2 .modal.v2-drawer .modal-body small.text-muted, body.admin-v2 .modal.v2-drawer .modal-body .form-text { font: 400 12.5px/1.5 var(--v2-f) !important; color: var(--v2-muted) !important; }
body.admin-v2 .modal.v2-drawer .modal-body :is(h4, h5, h6) + small.text-muted { margin-bottom: 14px !important; }
body.admin-v2 .modal.v2-drawer .modal-body .row { --bs-gutter-x: 20px; }
body.admin-v2 .modal.v2-drawer .modal-body .row.g-3 { --bs-gutter-y: 18px; }
@media (min-width: 576px) { body.admin-v2 .modal.v2-drawer .modal-body .row > :is(.col-md-3, .col-lg-3, .col-md-4, .col-lg-4, .col-xl-3, .col-xl-4) { flex: 0 0 auto; width: 50%; } }
body.admin-v2 .modal.v2-drawer .modal-body .border.rounded { border-color: var(--v2-card-b) !important; border-radius: 10px !important; }
body.admin-v2 .modal.v2-drawer .modal-body hr.my-4 { margin: 20px 0 0 !important; }
body.admin-v2 .modal.v2-drawer .modal-body label > :is(i, span).text-danger { margin-left: 4px; font-style: normal; font-weight: 400; color: var(--c-kum, #C53030) !important; }
body.admin-v2 .modal.v2-drawer .modal-body .multiselect.form-select { padding: 0 !important; border: 0 !important; background: transparent none !important; height: 36px; min-height: 36px !important; box-shadow: none !important; }
body.admin-v2 .modal.v2-drawer .modal-body .card-header small.text-muted { display: block; margin-bottom: 14px; }
/* page forms nested deeper (card > form > card-body), section rules, commission boxes as sections */
body.admin-v2 .modal.v2-drawer .modal-body .card :is(.card-body, .card-header) { padding-left: 0 !important; padding-right: 0 !important; padding-top: 0 !important; background: transparent !important; }
body.admin-v2 .modal.v2-drawer .modal-body .v2-dsec-rule { border-top: 1px solid var(--v2-card-b); margin-top: 2px !important; }
body.admin-v2 .modal.v2-drawer .modal-body .row.mt-3 { margin-top: 0 !important; }
body.admin-v2 .modal.v2-drawer .modal-body .list-group-item { border: 0 !important; border-top: 1px solid var(--v2-card-b) !important; border-radius: 0 !important; margin: 0 !important; padding: 0 0 20px !important; background: transparent !important; }
body.admin-v2 .modal.v2-drawer .modal-body .list-group-item > .d-flex:first-child { align-items: center; padding-top: 23px; margin-bottom: 20px; }
body.admin-v2 .modal.v2-drawer .modal-body .list-group-item > .d-flex:first-child :is(h5, h6) { padding-top: 0 !important; margin: 0 !important; }
/* emails drawer: Subject first and full width, Send to next, the rest full width */
body.admin-v2 .modal.v2-drawer .modal-body form .row > .v2-o1 { order: -2; grid-column: 1 / -1; }
body.admin-v2 .modal.v2-drawer .modal-body form .row > .v2-o2 { order: -1; }
body.admin-v2 .modal.v2-drawer .modal-body form .row:has(> .v2-o1) > :not(.v2-o1):not(.v2-o2):not(.form-group:has(.multiselect--multiple, .multiselect)) { grid-column: 1 / -1; }
body.admin-v2 .modal.v2-drawer .modal-body .alert.alert-info { grid-column: 1 / -1; background: var(--v2-panel) !important; border: 0 !important; color: var(--v2-ink2) !important; border-radius: 9px; font: 400 12.5px/1.5 var(--v2-f) !important; }
/* a drawer form whose fields sit straight in the form (no .row) also lays out in the prototype's two columns */
@media (min-width: 601px) {
    body.admin-v2 .modal.v2-drawer:not(.v2-fdrawer) .modal-body form:has(> .form-group + .form-group) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; align-items: start; }
    body.admin-v2 .modal.v2-drawer:not(.v2-fdrawer) .modal-body form:has(> .form-group + .form-group) > :not(.form-group), body.admin-v2 .modal.v2-drawer:not(.v2-fdrawer) .modal-body form:has(> .form-group + .form-group) > .form-group:has(textarea, .tox, .ql-editor) { grid-column: 1 / -1; }
}
body.admin-v2 .modal.v2-drawer .modal-body form > .form-group.mb-1, body.admin-v2 .modal.v2-drawer .modal-body form > .form-group.mb-3 { margin-bottom: 18px !important; }
/* every drawer scrolls its body and keeps the footer in view, scrollable prop or not */
body.admin-v2 .modal.v2-drawer .modal-content { display: flex; flex-direction: column; overflow: hidden; }
body.admin-v2 .modal.v2-drawer .modal-content > .modal-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; }
body.admin-v2 .modal.v2-drawer .modal-content > :is(.modal-header, .modal-footer) { flex: none; }
/* section title → first field: 20px everywhere (v2 sections and vendor card headers) */
body.admin-v2 .modal.v2-drawer .v2-dsec > h3 { padding: 23px 0 0 !important; line-height: 21px !important; }
body.admin-v2 .modal.v2-drawer .v2-dsec > h3 + .v2-dgrid { padding-top: 20px !important; }
body.admin-v2 .modal.v2-drawer .modal-body .card > .card-header :is(h4, h5, h6) { margin-bottom: 0 !important; }
body.admin-v2 .modal.v2-drawer .modal-body .card > .card-header + .card-body { padding-top: 20px !important; }
body.admin-v2 .modal.v2-drawer .modal-body .card > .card-header:has(small) + .card-body { padding-top: 0 !important; }
/* email placeholders: muted hint, tokens as the prototype's tags */
body.admin-v2 .modal.v2-drawer .v2-phs { padding: 0 0 8px !important; font: 400 12.5px/1.5 var(--v2-f); color: var(--v2-muted); }
body.admin-v2 .modal.v2-drawer .v2-phs strong { font-weight: 500; color: var(--v2-ink2); }
body.admin-v2 .modal.v2-drawer .v2-phs .btn { height: 24px; padding: 0 7px !important; border-radius: 4px !important; border: 0 !important; background: var(--v2-panel) !important; color: var(--v2-ink2) !important; font: 400 12px var(--v2-f) !important; box-shadow: none !important; }
body.admin-v2 .modal.v2-drawer .v2-phs .btn:hover { color: var(--v2-ink) !important; background: var(--v2-hover) !important; }
/* country picker drawer: search, then one country per line */
body.admin-v2 .modal.v2-pickdrawer .modal-body { padding-top: 16px !important; }
body.admin-v2 .modal.v2-pickdrawer .modal-body > div[style*="max-height"] { max-height: none !important; overflow: visible !important; }
body.admin-v2 .modal.v2-pickdrawer .modal-body .row.g-0 > .col-md-6 { width: 100%; }
body.admin-v2 .modal.v2-pickdrawer .form-check { min-height: 40px; padding-left: 0; border-color: var(--v2-card-b) !important; }
body.admin-v2 .modal.v2-pickdrawer .form-check-input { margin-left: 0 !important; }
body.admin-v2 .modal.v2-pickdrawer .modal-body input[type="search"] { height: 36px; border: 1px solid var(--v2-line) !important; border-radius: 9px !important; font: 400 14px var(--v2-f) !important; }

/* ---------- sidebar counts as measured on the prototype (light + dark): 12/600, 20 high; plain counts in side-m;
   dark hot counts as a gold outline pill ---------- */
body.admin-v2 #sidebar .sidebar-link > span.v2-cnt { font-size: 12px !important; font-weight: 600 !important; line-height: 18px !important; }
body.admin-v2 #sidebar .sidebar-link > span.v2-cnt.hot { height: 20px; display: inline-flex; align-items: center; }
body.admin-v2:not(.theme-dark) #sidebar .sidebar-link > span.v2-cnt:not(.hot) { color: #8C8894 !important; }
body.admin-v2.theme-dark #sidebar .sidebar-link > span.v2-cnt:not(.hot) { color: #7F88B5 !important; }
body.admin-v2.theme-dark #sidebar .sidebar-link > span.v2-cnt.hot { background: transparent !important; color: #D4AF63 !important; border: 1px solid rgba(212, 175, 99, .6) !important; }
/* native radios and checkboxes inside dark drawers draw dark */
body.admin-v2.theme-dark .modal.v2-drawer { color-scheme: dark; }
/* bootstrap check / radio rows inside drawers: native controls, label on one line beside them (prototype .radios / .checks) */
body.admin-v2 .modal.v2-drawer .modal-body .form-check { display: inline-flex; align-items: center; gap: 7px; min-height: 30px; padding-left: 0; margin: 0 18px 0 0; }
body.admin-v2 .modal.v2-drawer .modal-body .form-check-input:is([type="radio"], [type="checkbox"]):not(.form-switch .form-check-input) { appearance: auto !important; -webkit-appearance: auto !important; width: 15px; height: 15px; margin: 0 !important; float: none; border: 0 !important; background: none !important; box-shadow: none !important; accent-color: var(--v2-esp); flex: none; }
body.admin-v2.theme-dark .modal.v2-drawer .modal-body .form-check-input:is([type="radio"], [type="checkbox"]):not(.form-switch .form-check-input) { accent-color: #D4AF63; }
body.admin-v2 .modal.v2-drawer .modal-body .form-check-label { white-space: nowrap; }
body.admin-v2 .modal.v2-drawer .modal-body input:is([type="radio"], [type="checkbox"]):not(.form-switch input):not(.btn-check):not([role="switch"]) { appearance: auto !important; -webkit-appearance: auto !important; width: 15px !important; height: 15px !important; margin: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; accent-color: var(--v2-esp); flex: none; vertical-align: middle; }
body.admin-v2.theme-dark .modal.v2-drawer .modal-body input:is([type="radio"], [type="checkbox"]):not(.form-switch input):not(.btn-check):not([role="switch"]) { accent-color: #D4AF63; }
body.admin-v2 .modal.v2-drawer .modal-body label:has(> input:is([type="radio"], [type="checkbox"])):not(.btn) { display: inline-flex !important; align-items: center; gap: 7px; min-height: 30px; white-space: nowrap; font: 400 13.5px/1.5 var(--v2-f) !important; margin-bottom: 0 !important; }
body.admin-v2 .modal.v2-drawer .modal-body label:has(> input:is([type="radio"], [type="checkbox"])):not(.btn) { white-space: normal; }
body.admin-v2 .modal.v2-drawer .modal-body .d-flex:has(> label > input[type="radio"]) { flex-wrap: wrap; gap: 4px 18px !important; }

/* ---------- Roles → Add / Edit role, the prototype's full page (views/Role/RoleEditPage.vue) ---------- */
body.admin-v2 .v2-role-page .v2-role-name { margin-bottom: 16px; }
body.admin-v2 .v2-role-page .v2-role-name .card-body { padding: 18px !important; }
body.admin-v2 .v2-role-page .v2-role-name .v2-dfield { max-width: 420px; display: flex; flex-direction: column; gap: 6px; }
body.admin-v2 .v2-role-page .v2-role-name label { font: 500 13px/1.5 var(--v2-f); color: var(--v2-ink); margin: 0; display: flex; gap: 6px; align-items: center; }
body.admin-v2 .v2-role-page .v2-role-name .v2-req { color: var(--c-kum, #C53030); font-style: normal; font-weight: 400; }
body.admin-v2 .v2-role-page .v2-role-name .form-control { height: 36px; border-radius: 9px; font: 400 14px var(--v2-f); border: 1px solid var(--v2-line); }
body.admin-v2 .v2-pmx { width: 100%; border-collapse: collapse; font: 400 13.5px var(--v2-f); }
body.admin-v2 .v2-pmx th, body.admin-v2 .v2-pmx td { padding: 8px 16px !important; border-bottom: 1px solid var(--v2-line2) !important; text-align: center; background: transparent !important; color: var(--v2-ink); vertical-align: middle; }
body.admin-v2 .v2-pmx th:first-child, body.admin-v2 .v2-pmx td:first-child { text-align: left; }
body.admin-v2 .v2-pmx thead th { font: 500 12.5px var(--v2-f) !important; color: var(--v2-muted) !important; text-transform: none !important; letter-spacing: 0 !important; border-bottom: 1px solid var(--v2-line) !important; background: transparent !important; }
body.admin-v2 .v2-pmx th.c, body.admin-v2 .v2-pmx td.c { width: 76px; }
body.admin-v2 .v2-pmx .v2-pmx-w { width: 70px; }
body.admin-v2 .v2-pmx tr.grp td { font-weight: 700; padding-top: 18px !important; border-bottom: 1px solid var(--v2-line) !important; }
body.admin-v2 .v2-pmx .na { color: var(--v2-faint); }
body.admin-v2 .v2-pmh { font: inherit; color: inherit; background: none; border: 0; padding: 2px 6px; border-radius: 6px; }
body.admin-v2 .v2-pmh:hover { background: var(--v2-hover); color: var(--v2-ink); }
body.admin-v2 .v2-pmx .btn-xs { height: 26px; padding: 0 8px !important; font: 500 12.5px var(--v2-f) !important; border-radius: 8px !important; display: inline-flex; align-items: center; }
body.admin-v2 .v2-pmx .btn-light.btn-xs { background: var(--v2-paper) !important; border: 1px solid var(--v2-line) !important; color: var(--v2-ink) !important; }
body.admin-v2 .v2-pmx .v2-btn-g.btn-xs { background: transparent !important; border: 1px solid transparent !important; color: var(--v2-ink2) !important; }
body.admin-v2 .v2-pmx .v2-btn-g.btn-xs:hover { background: var(--v2-hover) !important; }
body.admin-v2 .v2-pck { appearance: none; -webkit-appearance: none; width: 16px; height: 16px; border: 1.5px solid var(--v2-faint); border-radius: 4px; background: var(--v2-bg); cursor: pointer; display: inline-grid; place-items: center; vertical-align: middle; margin: 0; }
body.admin-v2 .v2-pck:checked { background: var(--c-saf, #DD6B20); border-color: var(--c-saf, #DD6B20); }
body.admin-v2 .v2-pck:checked::after { content: ""; width: 8px; height: 4px; border: 2px solid #fff; border-top: 0; border-right: 0; transform: rotate(-45deg) translate(1px, -1px); }
body.admin-v2.theme-dark .v2-pck:checked { background: #D4AF63; border-color: #D4AF63; }
body.admin-v2.theme-dark .v2-pck:checked::after { border-color: #0B1026; }

/* ---------- page sweep, 24 Oct (125 page pairs): vendor common.css forces 13px cells; settings card titles;
   page-head secondary buttons; cells keep the ink colour (muted text sits in their small lines) ---------- */
body.admin-v2 .table tbody td { font-size: 13.5px !important; line-height: 1.5 !important; color: var(--v2-ink); }
body.admin-v2 .main-content .card .card-title { font-size: 16px !important; font-weight: 650 !important; }
body.admin-v2 .page-head .btn:not(.btn-primary):not([class*="btn-outline-danger"]) { color: var(--v2-ink) !important; }
body.admin-v2 .page-head .btn.btn-outline-danger, body.admin-v2 .page-head .btn.btn-danger { background: var(--v2-paper) !important; border: 1px solid var(--v2-line) !important; color: var(--c-kum, #C53030) !important; }

/* ---------- Home → monthly target bar, the prototype's .bulletl / .bullet ---------- */
body.admin-v2 .v2c-bulletl { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; font: 400 12.5px/1.5 var(--v2-f); color: var(--v2-muted); }
body.admin-v2 .v2c-bulletl b { color: var(--v2-ink); font-weight: 700; }
body.admin-v2 .v2c-bulletl b.up { color: var(--c-tul, #2F855A); }
body.admin-v2 .v2c-bulletl b.dn { color: var(--c-kum, #C53030); }
body.admin-v2 .v2c-bullet2 { position: relative; height: 10px; border-radius: 6px; background: var(--v2-panel); margin: 12px 0 24px; }
body.admin-v2 .v2c-bullet2 .val { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 6px; background: var(--v2-hero); }
body.admin-v2.theme-dark .v2c-bullet2 .val { background: #D4AF63; }
body.admin-v2 .v2c-bullet2 .pace { position: absolute; top: -5px; bottom: -5px; width: 2px; background: var(--v2-ink); border-radius: 1px; }
body.admin-v2 .v2c-bullet2 .pace.end { background: var(--v2-faint); }
body.admin-v2 .v2c-bullet2 .pace::after { content: attr(data-l); position: absolute; top: 20px; left: 50%; transform: translateX(-50%); font-size: 10.5px; color: var(--v2-muted); white-space: nowrap; }
body.admin-v2 .v2c-bullet2 .pace.end::after { left: auto; right: 0; transform: none; }
/* Home header: All countries · All zones · period, as the prototype's head actions */
body.admin-v2 .v2h-pick { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
body.admin-v2 .v2h-sel { width: auto !important; min-width: 120px; }
body.admin-v2 .v2h-sel .multiselect__tags { min-height: 34px !important; height: 34px; padding: 6px 30px 0 10px !important; border: 1px solid var(--v2-line) !important; border-radius: 10px !important; background: var(--v2-paper) !important; }
body.admin-v2 .v2h-sel .multiselect__single { font: 600 13px var(--v2-f) !important; color: var(--v2-ink) !important; background: transparent !important; }
body.admin-v2 .v2h-sel .multiselect__select { height: 32px !important; }

/* ---------- lists, page by page against the prototype (24 Oct) ---------- */
body.admin-v2 .table tbody td a.v2-plain { font-weight: 400 !important; }
body.admin-v2 .v2-srch kbd { display: none !important; }
/* the prototype's list toolbars have no refresh button */
body.admin-v2 .v2-tbar .ib:has(> svg[class*="refresh"]), body.admin-v2 .v2-tbar button:has(> svg[class*="refresh-cw"]) { display: none !important; }
/* Date filter reads as the prototype's "Date ▾" chip */
body.admin-v2 .v2-date-chip:not(.set) input { width: 34px !important; min-width: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; font: 500 13px var(--v2-f) !important; color: var(--v2-ink) !important; cursor: pointer; }
body.admin-v2 .v2-date-chip:not(.set) input::placeholder { color: var(--v2-ink) !important; opacity: 1; }
body.admin-v2 .v2-date-chip:not(.set)::after { content: ""; width: 12px; height: 12px; margin-left: 2px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%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 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat; opacity: .7; }

/* ---------- Inbox as the prototype's one card (pages-sell.js chat: .chatw → .cl | .cv | .ci) ---------- */
@media (min-width: 992px) {
    body.admin-v2 .v2-inbox .v2-chat-grid { grid-template-columns: 300px minmax(0, 1fr) 260px; gap: 0; border: 1px solid var(--v2-card-b); border-radius: 16px; background: var(--v2-paper); overflow: hidden; height: 720px; }
    body.admin-v2 .v2-inbox .v2-chat-grid > [class*="col-lg"], body.admin-v2 .v2-inbox .v2-chat-grid > .v2-chat-side { padding: 0 !important; height: 100%; min-height: 0; }
    body.admin-v2 .v2-inbox .v2-chat-grid .list-surface { border: 0 !important; border-radius: 0 !important; box-shadow: none !important; background: transparent !important; height: 100% !important; margin: 0 !important; }
    body.admin-v2 .v2-inbox .v2-chat-grid > .col-lg-4 { border-right: 1px solid var(--v2-line2); }
    body.admin-v2 .v2-inbox .v2-chat-grid > .v2-chat-side { border-left: 1px solid var(--v2-line2); }
}
body.admin-v2 .v2-inbox .conv-item { padding: 12px 14px !important; gap: 10px !important; border-bottom: 0 !important; min-height: 65px; align-items: flex-start; }
body.admin-v2 .v2-inbox .conv-item.active { background: #F3EBDC !important; box-shadow: none !important; }
body.admin-v2.theme-dark .v2-inbox .conv-item.active { background: #1B2350 !important; }
body.admin-v2 .v2-inbox .conv-avatar { width: 28px !important; height: 28px !important; flex: 0 0 28px !important; background: var(--v2-panel) !important; border: 1px solid var(--v2-line); color: var(--v2-ink2) !important; font: 600 11px var(--v2-f) !important; }
body.admin-v2 .v2-inbox .conv-title { font: 600 13.5px/20px var(--v2-f) !important; color: var(--v2-ink) !important; }
body.admin-v2 .v2-inbox .conv-item small { font: 400 12.5px/20px var(--v2-f) !important; }
body.admin-v2 .v2-inbox .conv-type { display: none !important; }
body.admin-v2 .v2-inbox .conv-unread { min-width: 7px !important; width: 7px; height: 7px !important; padding: 0 !important; font-size: 0 !important; background: var(--c-saf, #DD6B20) !important; flex: none; }
body.admin-v2 .v2-inbox .thread-header { padding: 15px 20px !important; gap: 10px; min-height: 73px; }
body.admin-v2 .v2-inbox .thread-header .conv-avatar { width: 28px !important; height: 28px !important; flex: 0 0 28px !important; }
body.admin-v2 .v2-inbox .thread-body { background: var(--v2-panel) !important; padding: 20px !important; }
body.admin-v2 .v2-inbox .thread-input { padding: 10px 12px !important; gap: 8px !important; border-top: 1px solid var(--v2-line2) !important; }
body.admin-v2 .v2-inbox .thread-input .form-control { height: 36px !important; border-radius: 9px !important; border: 1px solid var(--v2-line) !important; font: 400 14px var(--v2-f) !important; }
body.admin-v2 .v2-inbox .chat-attach-btn { width: 26px; height: 32px; padding: 0; border: 0; background: transparent; color: var(--v2-muted); border-radius: 6px; }
body.admin-v2 .v2-inbox .chat-send-btn { height: 36px; width: auto !important; border-radius: 10px !important; padding: 0 12px !important; display: inline-flex !important; align-items: center; gap: 6px; background: var(--v2-hero) !important; border: 1px solid transparent !important; color: #fff !important; font: 600 13.5px var(--v2-f) !important; }
body.admin-v2.theme-dark .v2-inbox .chat-send-btn { background: #D4AF63 !important; color: #0B1026 !important; }
body.admin-v2 .v2-inbox .v2-quick { padding: 8px 12px 0 !important; border-top: 1px solid var(--v2-line2); }
body.admin-v2 .v2-inbox .v2-chat-side .list-surface { padding: 18px !important; }
body.admin-v2 .v2-inbox .v2-chat-side .v2-ava.lg { width: 40px; height: 40px; font-size: 13px; background: var(--v2-panel); color: var(--v2-ink2); border: 1px solid var(--v2-line); }
body.admin-v2 .v2-inbox .v2-chat-side .v2-kv { padding: 7px 0 !important; min-height: 0 !important; }
/* every list footer (with or without the .v2-lst wrapper): Showing … of … left, Rows per page, ‹ Prev · n · Next › */
body.admin-v2 .list-footer { display: flex; align-items: center; gap: 10px; padding: 8px 14px !important; border-top: 1px solid var(--v2-line); font-size: 13px; color: var(--v2-muted); flex-wrap: wrap; }
body.admin-v2 .list-footer .v2-tf-info { order: -1; margin-right: auto; }
body.admin-v2 .list-footer .v2-tf-info b { color: var(--v2-ink); font-weight: 600; }
body.admin-v2 .list-footer .list-perpage { display: flex; align-items: center; gap: 8px; }
body.admin-v2 .list-footer .list-perpage .form-select { width: auto; height: 28px; padding-top: 0; padding-bottom: 0; }
body.admin-v2 .list-pagination .page-link { border: 0 !important; background: transparent !important; border-radius: 7px !important; min-width: 28px; height: 28px; display: grid; place-items: center; padding: 0 8px; }
body.admin-v2 .list-pagination .page-item.active .page-link { background: var(--v2-ink) !important; color: var(--v2-paper) !important; }
body.admin-v2.theme-dark .list-pagination .page-item.active .page-link { background: #D4AF63 !important; color: #0B1026 !important; }
body.admin-v2 .list-page :is(.list-icon-btn, .ib):has(> svg[class*="refresh-cw"]) { display: none !important; }
/* segmented toggles (Tiles · Table · Tree, Runs, …) as the prototype's .bgrp: white box, the picked one ink */
body.admin-v2 .v2-seg { background: var(--v2-paper) !important; padding: 0 !important; height: 32px; border: 1px solid var(--v2-line) !important; border-radius: 10px !important; display: inline-flex; align-items: center; overflow: hidden; }
body.admin-v2 .v2-seg > button { height: 30px; padding: 0 11px !important; border-radius: 7px !important; font: 600 13px/19.5px var(--v2-f) !important; color: var(--v2-muted) !important; background: transparent !important; box-shadow: none !important; border: 0 !important; display: inline-flex; align-items: center; gap: 6px; }
body.admin-v2 .v2-seg > button.on { background: var(--v2-ink) !important; color: #fff !important; }
body.admin-v2.theme-dark .v2-seg > button.on { background: #D4AF63 !important; color: #0B1026 !important; }
/* the prototype has no page footer line */
body.admin-v2 footer.app-footer { display: none !important; }
/* category order rows: no dividers, names 500 as the prototype */
body.admin-v2 .v2-corder .list-group-item { border: 0 !important; }
body.admin-v2 .v2-corder .v2-co-tx b { font-weight: 500 !important; }
/* thumbnail rows: name 500, sub-line 12.5px (prototype .pc / .li .tx) */
body.admin-v2 .table tbody td .v2-ritem b { font-weight: 500 !important; }
body.admin-v2 .table tbody td small { font-size: 12.5px !important; }

/* ---------- every page field as the prototype's .inp (drawers already are): 36 high, radius 9, 14px, line border,
   saffron focus ring; textareas pad 8/10. Vendor common.css forces 13px with !important. ---------- */
body.admin-v2 .main-content :is(input.form-control, select.form-select, select.form-control):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="color"]):not(.form-control-sm):not(.form-control-lg) { height: 36px; min-height: 36px; padding-top: 0; padding-bottom: 0; padding-left: 10px; }
body.admin-v2 .main-content :is(.form-control, .form-select):not([type="checkbox"]):not([type="radio"]):not([type="color"]) { border: 1px solid var(--v2-line) !important; border-radius: 9px !important; font: 400 14px/1.5 var(--v2-f) !important; color: var(--v2-ink) !important; background-color: var(--v2-paper) !important; box-shadow: none; }
body.admin-v2.theme-dark .main-content :is(.form-control, .form-select):not([type="checkbox"]):not([type="radio"]):not([type="color"]) { background-color: #0E1434 !important; }
body.admin-v2 .main-content textarea.form-control { padding: 8px 10px !important; height: auto; }
body.admin-v2 .main-content :is(.form-control, .form-select)::placeholder { color: var(--v2-faint) !important; }
body.admin-v2 .main-content :is(.form-control, .form-select):focus { border-color: var(--c-saf) !important; box-shadow: 0 0 0 3px color-mix(in srgb, var(--c-saf) 20%, transparent) !important; outline: 0; }
body.admin-v2.theme-dark .main-content :is(.form-control, .form-select):focus { border-color: #D4AF63 !important; box-shadow: 0 0 0 3px rgba(212, 175, 99, .18) !important; }
body.admin-v2 .main-content .multiselect__tags { min-height: 36px !important; border: 1px solid var(--v2-line) !important; border-radius: 9px !important; background: var(--v2-paper) !important; }
body.admin-v2.theme-dark .main-content .multiselect__tags { background: #0E1434 !important; }
body.admin-v2 .main-content :is(.multiselect__single, .multiselect__placeholder, .multiselect__input) { font: 400 14px/1.5 var(--v2-f) !important; background: transparent !important; }
body.admin-v2 .main-content .multiselect__placeholder { color: var(--v2-faint) !important; }
body.admin-v2 .main-content .multiselect.form-control, body.admin-v2 .main-content .multiselect.form-select { padding: 0 !important; border: 0 !important; background: transparent none !important; height: auto; min-height: 36px; box-shadow: none !important; }

/* ---------- vendor list toolbars (.list-toolbar) as the prototype's .tbar: search 240×30 first, filters as chips ---------- */
body.admin-v2 .list-toolbar { display: flex !important; align-items: center; gap: 6px !important; padding: 10px 14px !important; flex-wrap: wrap; }
body.admin-v2 .list-toolbar > .list-search { order: -1; flex: 0 0 240px; width: 240px; max-width: 100%; margin: 0 !important; position: relative; }
body.admin-v2 .list-toolbar > .list-search input.form-control { height: 30px !important; min-height: 30px !important; padding: 0 10px 0 30px !important; border: 1px solid var(--v2-line) !important; border-radius: 9px !important; background: var(--v2-paper) !important; font: 400 13.5px/20.25px var(--v2-f) !important; }
body.admin-v2.theme-dark .list-toolbar > .list-search input.form-control { background: #0E1434 !important; }
body.admin-v2 .list-toolbar > .list-search .list-search-icon { width: 15px; height: 15px; left: 10px !important; color: var(--v2-faint); }
body.admin-v2 .list-toolbar > .list-select, body.admin-v2 .list-toolbar > .multiselect { width: auto !important; min-width: 0 !important; flex: none; padding: 0 !important; border: 0 !important; background: none !important; height: 30px; min-height: 30px !important; }
body.admin-v2 .list-toolbar > :is(.list-select, .multiselect) .multiselect__tags { min-height: 30px !important; height: 30px; padding: 5px 28px 0 10px !important; border: 1px solid var(--v2-line) !important; border-radius: 8px !important; background: var(--v2-paper) !important; }
body.admin-v2 .list-toolbar > :is(.list-select, .multiselect) :is(.multiselect__single, .multiselect__placeholder) { font: 500 13px/19.5px var(--v2-f) !important; color: var(--v2-ink2) !important; margin: 0; padding: 0; background: transparent !important; }
body.admin-v2 .list-toolbar > :is(.list-select, .multiselect) .multiselect__select { height: 28px !important; width: 26px; }
body.admin-v2 .list-toolbar > :is(.list-select, .multiselect) .multiselect__content-wrapper { min-width: 180px; }
/* settings pages: the page's own head action (Add tax category, Add staff, …) sits on the title row, right, as the prototype */
@media (min-width: 992px) {
    body.admin-v2 .v2-set-layout { position: relative; }
    body.admin-v2 .v2-set-page > .list-page > .page-head:has(> .btn, > .page-head-actions) { position: absolute; top: 27px; right: 0; width: auto; margin: 0 !important; padding: 0 !important; z-index: 2; gap: 8px; }
    body.admin-v2 .v2-set-page > .list-page > .page-head:has(> .btn, > .page-head-actions) > div:first-child:not(.page-head-actions) { display: none !important; }
}
/* light badges in table cells read as the prototype's .tag */
body.admin-v2 .table tbody td .badge.bg-light { display: inline-flex; align-items: center; height: 22px; padding: 0 7px !important; border-radius: 4px !important; background: var(--v2-panel) !important; color: var(--v2-ink2) !important; font: 400 12px var(--v2-f) !important; border: 0 !important; letter-spacing: 0 !important; text-transform: none !important; }
body.admin-v2 .list-toolbar .list-toolbar-start { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
body.admin-v2 .list-toolbar .list-toolbar-start > .list-select { width: auto !important; min-width: 0 !important; flex: none; padding: 0 !important; border: 0 !important; background: none !important; height: 30px; min-height: 30px !important; }
body.admin-v2 .list-toolbar .list-toolbar-start > .list-select .multiselect__tags { min-height: 30px !important; height: 30px; padding: 5px 28px 0 10px !important; border: 1px solid var(--v2-line) !important; border-radius: 8px !important; background: var(--v2-paper) !important; }
body.admin-v2 .list-toolbar .list-toolbar-start > .list-select :is(.multiselect__single, .multiselect__placeholder) { font: 500 13px/19.5px var(--v2-f) !important; color: var(--v2-ink2) !important; margin: 0; padding: 0; background: transparent !important; white-space: nowrap; }
body.admin-v2 .list-toolbar .list-toolbar-start > .list-select .multiselect__select { height: 28px !important; width: 26px; }
/* promo code chip as the prototype's mono tag */
body.admin-v2 .table tbody td .v2-code { font: 700 12.5px ui-monospace, Consolas, monospace !important; letter-spacing: .5px; padding: 0 7px !important; border-radius: 4px !important; color: var(--v2-ink2) !important; background: var(--v2-panel) !important; }
/* a grey status pill (Expired, Inactive) as the prototype's */
body.admin-v2 .v2-ful.f-grey, body.admin-v2 .v2-pay.p-grey { background: var(--v2-panel) !important; color: var(--v2-muted) !important; }
/* Settings hub "Find a setting": 320 × 40, as the prototype */
body.admin-v2 .page-head > .list-search.ms-auto { width: 320px !important; max-width: 100%; }
body.admin-v2 .page-head > .list-search.ms-auto input.form-control { height: 40px !important; min-height: 40px !important; padding-left: 32px !important; border-radius: 10px !important; }
/* settings section titles (.v2-fsec) as the prototype's card h3: 16/650, -0.005em */
body.admin-v2 .v2-fsec { font-size: 16px !important; font-weight: 650 !important; letter-spacing: -.005em !important; }
/* settings pages whose list sits one level deeper (Social media, …): same head-action lift; the list's own title stays hidden */
@media (min-width: 992px) {
    body.admin-v2 .v2-set-page > div > .list-page:first-child > .page-head:has(> .btn, > .page-head-actions) { position: absolute; top: 27px; right: 0; width: auto; margin: 0 !important; padding: 0 !important; z-index: 2; gap: 8px; }
    body.admin-v2 .v2-set-page > div > .list-page:first-child > .page-head:has(> .btn, > .page-head-actions) > .page-head-title { display: none !important; }
}
body.admin-v2 .v2-date-chip:not(.set) input { width: auto !important; field-sizing: content; min-width: 30px !important; max-width: 90px; }

/* green figures (credits, rises) read as the prototype .up: tulsi green, 600 */
body.admin-v2 td.v2-up, body.admin-v2 span.v2-up, body.admin-v2 b.v2-up { color: var(--c-tul) !important; font-weight: 600; }
/* report headline figures as the prototype's .card.kpi: label 12.5/600 muted, figure 30/700, 12px apart, no trend line */
body.admin-v2 .v2-rkpi { padding: 16px 18px 18px !important; border-radius: 16px !important; gap: 12px !important; align-content: start; }
body.admin-v2 .v2-rkpi small { font: 600 12.5px var(--v2-f) !important; color: var(--v2-muted) !important; }
body.admin-v2 .v2-rkpi b { line-height: 34.5px !important; letter-spacing: -.75px !important; }
body.admin-v2 .v2-rkpi em { display: none !important; }
/* report chart card title as the prototype's card head: a coloured dot, 14.5/650 */
body.admin-v2 .rp-card .rp-card-title { display: flex; align-items: center; gap: 8px; font: 650 14.5px var(--v2-f) !important; color: var(--v2-ink) !important; text-transform: none !important; letter-spacing: -.005em !important; }
body.admin-v2 .rp-card .rp-card-title::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--c-saf); flex: none; }
/* report "Details" bar: title and row count first, search on the right (overrides the list-bar search-first rule) */
body.admin-v2 .list-toolbar:has(.rp-card-title) > .list-search { order: 2; margin-left: auto !important; }
body.admin-v2 .list-toolbar .rp-card-title { font: 650 14.5px var(--v2-f) !important; color: var(--v2-ink) !important; display: inline-flex; align-items: baseline; gap: 8px; }
body.admin-v2 .list-toolbar .rp-card-title::before { display: none; }
body.admin-v2 .list-toolbar .rp-card-title .v2-rows-n { font: 400 12.5px var(--v2-f); color: var(--v2-muted); }

/* customers report ring as the prototype's: returning peacock, first order rose */
body.admin-v2 .v2-donut { background: radial-gradient(closest-side, var(--v2-paper, #fff) 72%, transparent 73%), conic-gradient(var(--c-pea, #13808A) calc(var(--p) * 1%), var(--c-rose, #C2416B) 0) !important; }
body.admin-v2 .v2-nrb-l .d-r { background: var(--c-pea, #13808A) !important; }
body.admin-v2 .v2-nrb-l .d-f { background: var(--c-rose, #C2416B) !important; }

/* ---------- Categories report "Sales by deity", the prototype's .dbar rows ---------- */
body.admin-v2 .dbar { display: grid; grid-template-columns: 32px minmax(0, 1fr) 76px; gap: 10px; align-items: center; padding: 6px 0; }
body.admin-v2 .dbar .ic { width: 32px; height: 32px; border-radius: 10px; display: grid; place-items: center; background: color-mix(in srgb, var(--c-saf) 12%, transparent); color: var(--v2-ink2); }
body.admin-v2 .dbar .ic svg { width: 22px; height: 22px; }
body.admin-v2 .dbar .nm { display: flex; justify-content: space-between; font-size: 12.5px; margin-bottom: 4px; gap: 8px; }
body.admin-v2 .dbar .nm span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-weight: 650; color: var(--v2-ink2); }
body.admin-v2 .dbar .nm em { font-style: normal; color: var(--v2-muted); flex: none; }
body.admin-v2 .dbar .tr { height: 7px; border-radius: 4px; background: var(--v2-panel); overflow: hidden; }
body.admin-v2 .dbar .tr i { display: block; height: 100%; border-radius: 4px; background: var(--c-saf); }
body.admin-v2 .dbar > b { text-align: right; font: 700 13px var(--v2-f); font-variant-numeric: tabular-nums; }
body.admin-v2.theme-dark .dbar .tr i { background: #D4AF63; }
body.admin-v2.theme-dark .dbar .ic { background: rgba(212, 175, 99, .12); }
@media (min-width: 992px) {
    body.admin-v2 .v2-set-page > .list-page > .page-head:has(> .btn, > .page-head-actions),
    body.admin-v2 .v2-set-page > div > .list-page:first-child > .page-head:has(> .btn, > .page-head-actions) { top: 27px !important; right: 0 !important; bottom: auto !important; left: auto !important; transform: none !important; }
}
/* the vendor's floating Setup Guide card: not in the prototype (the Setup guide page stays in the menu and search) */
body.admin-v2 .sg-pop { display: none !important; }
/* list bars: filters left, Sort / Columns / Export pushed right (prototype .tbar .sp) */
body.admin-v2 .list-toolbar > .list-toolbar-start { margin-right: auto !important; }
body.admin-v2 .list-toolbar:not(:has(> .list-toolbar-start)) > .list-search { margin-right: auto !important; }
body.admin-v2 .list-toolbar:has(.rp-card-title) > .list-search { margin-right: 0 !important; }
/* Reviews summary: the low-ratings figure 24/700 kumkum, as the prototype */
body.admin-v2 .v2-rs-act > b { font: 700 24px var(--v2-f) !important; color: var(--c-kum, #C53030) !important; }
body.admin-v2 .v2-rs-act > small { font-size: 12.5px; color: var(--v2-muted); }

/* ---------- Setup guide, the prototype's checklist ---------- */
body.admin-v2 .v2-sg-bar { display: flex; align-items: center; gap: 16px; padding: 18px !important; margin-bottom: 16px; }
body.admin-v2 .v2-sg-bar b { font: 700 22px var(--v2-f); }
body.admin-v2 .v2-sg-bar i { flex: 1; height: 6px; border-radius: 3px; background: var(--v2-panel); overflow: hidden; display: block; }
body.admin-v2 .v2-sg-bar i span { display: block; height: 100%; background: var(--v2-ink); border-radius: 3px; }
body.admin-v2.theme-dark .v2-sg-bar i span { background: #D4AF63; }
body.admin-v2 .v2-sg-list { padding: 0 !important; }
body.admin-v2 .v2-sg-row { display: flex; align-items: center; gap: 10px; padding: 10px 14px; border-top: 1px solid var(--v2-line2); }
body.admin-v2 .v2-sg-row:first-child { border-top: 0; }
body.admin-v2 .v2-sg-ck { width: 16px; height: 16px; border-radius: 4px; border: 1.5px solid var(--v2-faint); display: grid; place-items: center; flex: none; color: #fff; }
body.admin-v2 .v2-sg-row.done .v2-sg-ck { background: var(--c-saf); border-color: var(--c-saf); }
body.admin-v2.theme-dark .v2-sg-row.done .v2-sg-ck { background: #D4AF63; border-color: #D4AF63; color: #0B1026; }
body.admin-v2 .v2-sg-l { flex: 1; min-width: 0; font: 400 13.5px var(--v2-f); color: var(--v2-ink); }
body.admin-v2 .v2-sg-row.done .v2-sg-l { text-decoration: line-through; color: var(--v2-muted); }
body.admin-v2 .v2-sg-row .btn { height: 28px; padding: 0 10px !important; font: 600 13px var(--v2-f) !important; display: inline-flex; align-items: center; gap: 2px; border-radius: 8px !important; }
/* customer page: Block in kumkum, Details rows 7px, the vendor's zone filter off the Details card */
body.admin-v2 .page-head .btn.v2-danger-t { color: var(--c-kum, #C53030) !important; }
body.admin-v2 .v2-cv-side .v2-kv { padding: 7px 18px !important; min-height: 0 !important; }
body.admin-v2 .v2-cv-side .v2-kv.d-block { display: none !important; } /* zone / country filter: the prototype has none here */
/* Home country / zone selects as the prototype's .inp.sm.hsel: 30 high, radius 9, 600 13px */
body.admin-v2 .main-content .v2h-pick .v2h-sel { min-width: 0 !important; height: 30px; min-height: 30px !important; }
body.admin-v2 .main-content .v2h-pick .v2h-sel .multiselect__tags { height: 30px !important; min-height: 30px !important; padding: 5px 26px 0 8px !important; border-radius: 9px !important; }
body.admin-v2 .main-content .v2h-pick .v2h-sel :is(.multiselect__single, .multiselect__placeholder) { font: 600 13px/19.5px var(--v2-f) !important; margin: 0 !important; padding: 0 !important; white-space: nowrap; }
body.admin-v2 .main-content .v2h-pick .v2h-sel .multiselect__select { height: 28px !important; width: 24px !important; }
/* checkboxes in drawers are saffron (prototype .ck), radios stay ink */
body.admin-v2 .modal.v2-drawer .modal-body input[type="checkbox"]:not(.form-switch input):not(.btn-check):not([role="switch"]) { accent-color: var(--c-saf, #DD6B20); }
body.admin-v2.theme-dark .modal.v2-drawer .modal-body input[type="checkbox"]:not(.form-switch input):not(.btn-check):not([role="switch"]) { accent-color: #D4AF63; }
/* attribute colours: one colour well per value */
body.admin-v2 .v2-swatches { display: flex; flex-wrap: wrap; gap: 8px 18px; }
body.admin-v2 .modal.v2-drawer .modal-body .v2-swatches label { display: inline-flex !important; align-items: center; gap: 8px; font: 400 13.5px var(--v2-f) !important; margin: 0 !important; cursor: pointer; }
body.admin-v2 .v2-swatches input[type="color"] { width: 28px; height: 28px; padding: 0; border: 1px solid var(--v2-line); border-radius: 50%; background: none; cursor: pointer; }
body.admin-v2 .v2-swatches input[type="color"]::-webkit-color-swatch-wrapper { padding: 2px; }
body.admin-v2 .v2-swatches input[type="color"]::-webkit-color-swatch { border: 0; border-radius: 50%; }

/* Account settings (owner, 24 Oct — D8): the prototype's /account — flat sections split by a hairline,
   16/650 section titles, two-column fields, the two-step switch on a full row, alert checkboxes in a line */
body.admin-v2 .v2-acct { display: block; }
body.admin-v2 .v2-acct-sec + .v2-acct-sec { border-top: 1px solid var(--v2-line2); }
body.admin-v2 .v2-acct-sec > h3 { font: 650 16px/22px var(--v2-f) !important; letter-spacing: -.005em; color: var(--v2-ink); margin: 0; padding: 14px 0 18px; }
body.admin-v2 .v2-acct .v2-dgrid { padding: 12px 0 26px; }
body.admin-v2 .v2-acct .v2-dfield > .form-group { margin: 0; }
body.admin-v2 .v2-acct .v2-dfield > .form-group > label:empty { display: none; }
body.admin-v2 .v2-acct-rm { align-self: flex-start; border: 0; background: none; padding: 0; color: var(--v2-muted); font-size: 12.5px; text-decoration: underline; }
body.admin-v2 .v2-acct-err { color: var(--c-kum, #C53030); font-size: 12.5px; }
body.admin-v2 .v2-acct-sw { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 24px; }
body.admin-v2 .v2-acct-sw > b { font: 500 13px/1.5 var(--v2-f); color: var(--v2-ink); display: inline-flex; align-items: center; gap: 6px; }
body.admin-v2 .v2-acct-checks { display: flex; flex-wrap: wrap; gap: 0 18px; }
body.admin-v2 .v2-acct-checks > label { display: inline-flex; align-items: center; gap: 8px; height: 30px; margin: 0; font: 400 13.5px/1.5 var(--v2-f); color: var(--v2-ink); cursor: pointer; }
body.admin-v2 .v2-me-ph { background-size: cover; background-position: center; }
body.admin-v2 .v2-acct { margin-top: 7px; }
/* field tips show on hover / focus, as in the prototype (.field .tipi) */
body.admin-v2 .v2-acct :is(.v2-dfield, .v2-acct-sw) .v2-set-i { opacity: 0; transition: opacity .12s; }
body.admin-v2 .v2-acct :is(.v2-dfield, .v2-acct-sw):is(:hover, :focus-within) .v2-set-i { opacity: 1; }

/* Phones (390px): the prototype's top bar and page gutters — 10px bar sides, 20/16 page padding, no keyboard
   shortcuts button, the search box keeps its words and drops Ctrl K */
@media (max-width: 600px) {
    body.admin-v2 .main-content { padding: 20px 16px 110px !important; }
    body.admin-v2 .app-header .container-fluid { padding: 0 10px !important; }
    body.admin-v2 header.app-header .v2-keys-btn { display: none !important; }
    body.admin-v2 header.app-header .v2-gs kbd { display: none !important; }
    body.admin-v2 header.app-header .v2-gs > span { display: inline !important; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}
/* Brahmand (dark): Account settings section titles as the prototype's small capitals */
body.admin-v2.theme-dark .v2-acct-sec > h3 { text-transform: uppercase; letter-spacing: .08em; font-size: 13px !important; }
@media (max-width: 600px) {
    body.admin-v2 header.app-header .v2-gs { flex: 0 1 117px; width: 117px; min-width: 0 !important; }
    body.admin-v2 .v2-acct-checks > label { font-size: 13.5px !important; }
}

/* Shell parity (SH-01/03): submenu counts are plain muted numbers, section titles 20/12/6 padding,
   the account role line 12/18, Brahmand's open menu item in the prototype's warm ivory */
body.admin-v2 #sidebar .submenu .v2-cnt { background: none !important; border-radius: 0 !important; padding: 0 !important; min-width: 0 !important; height: auto !important; font: 400 12px/1.5 var(--v2-f) !important; color: #8C8894 !important; margin-left: auto; }
body.admin-v2.theme-dark #sidebar .submenu .v2-cnt { color: #7F88B5 !important; }
body.admin-v2 #sidebar .sidebar-title { margin-top: 0 !important; padding-bottom: 6px !important; }
body.admin-v2 .v2-me .user-chip-role { font-size: 12px !important; line-height: 18px !important; }
body.admin-v2.theme-dark #sidebar .sidebar-item.active > a.sidebar-link { color: #F3E6C8 !important; }

/* Shell parity (SH-02/04): icon-only sidebar as the prototype — 64px wide, the logo's mark (34px) above the
   expand button, the account photo kept at the foot, and the account menu (200px) opening over the page */
body.admin-v2 .v2-me .dropdown-menu { min-width: 200px; }
@media (min-width: 1200px) {
    body.admin-v2.v2-mini { --app-sidebar-w: 64px; }
    body.admin-v2.v2-mini .v2-brand { flex-direction: column; align-items: center; gap: 8px; padding-top: 14px; }
    body.admin-v2.v2-mini .v2-logo { display: block; width: 34px; height: 34px; overflow: hidden; }
    body.admin-v2.v2-mini .v2-logo img { height: 34px !important; width: auto !important; max-width: none !important; }
    body.admin-v2.v2-mini .v2-mini-t { margin-left: 0; }
    body.admin-v2.v2-mini .v2-me .user-chip > span.v2-me-av { display: inline-grid !important; }
    body.admin-v2.v2-mini .v2-me .dropdown-menu.show { position: fixed !important; inset: auto auto 64px 10px !important; transform: none !important; margin: 0 !important; }
}

/* Shell parity (SH-08): the bell panel as the prototype's .notif — 380px card under the top bar, sticky head with
   Mark all read and close, rows with a saffron dot when unread, 13.5/500 title over a 12.5 muted line */
body.admin-v2 .v2-notif.dropdown-menu { position: fixed !important; inset: 60px 16px auto auto !important; transform: none !important; margin: 0 !important; width: min(380px, calc(100vw - 32px)); max-height: 72vh; overflow: auto; z-index: 1070; background: var(--v2-paper) !important; border: 1px solid var(--v2-line) !important; border-radius: 12px !important; box-shadow: 0 12px 32px rgba(23, 21, 27, .14) !important; }
body.admin-v2 .v2-notif .nh { display: flex; align-items: center; gap: 8px; padding: 10px 14px; border-bottom: 1px solid var(--v2-line); position: sticky; top: 0; background: var(--v2-paper); z-index: 1; }
body.admin-v2 .v2-notif .nh b { font: 600 14px/1.5 var(--v2-f); color: var(--v2-ink); flex: 1; }
body.admin-v2 .v2-notif .n { display: flex; gap: 12px; padding: 11px 14px; border-bottom: 1px solid var(--v2-line2); cursor: pointer; }
body.admin-v2 .v2-notif .n:hover { background: var(--v2-hover); }
body.admin-v2 .v2-notif .n .ic { width: 8px; height: 8px; border-radius: 50%; margin-top: 6px; flex: none; background: transparent; }
body.admin-v2 .v2-notif .n.unread .ic { background: var(--c-saf, #DD6B20); }
body.admin-v2 .v2-notif .n b { display: block; font: 500 13.5px/1.5 var(--v2-f); color: var(--v2-ink); }
body.admin-v2 .v2-notif .n small { font: 400 12.5px/1.5 var(--v2-f); color: var(--v2-muted); }
body.admin-v2 .v2-notif .empty { padding: 28px 14px; text-align: center; }
body.admin-v2 .v2-notif .empty b { font: 600 14px/1.5 var(--v2-f); color: var(--v2-ink); }
body.admin-v2.theme-dark .v2-notif .n.unread .ic { background: #D4AF63; }

/* Shell parity (SH-06): the search palette as the prototype's .cmdk — 600px box 12vh from the top, a 50px search
   line, 12px group labels, 36px rows (icon, title, quiet right-hand line), a key-hint foot */
body.admin-v2 .v2-cmdk { position: fixed; inset: 0; z-index: 1090; background: rgba(20, 16, 12, .3); display: flex; align-items: flex-start; justify-content: center; padding-top: 12vh; }
body.admin-v2 .v2-cmdk .box { width: min(600px, calc(100vw - 32px)); background: var(--v2-paper); border: 1px solid var(--v2-line); border-radius: 10px; box-shadow: 0 12px 32px rgba(23, 21, 27, .14); overflow: hidden; }
body.admin-v2 .v2-cmdk .q { display: flex; align-items: center; gap: 10px; padding: 0 16px; border-bottom: 1px solid var(--v2-line); color: var(--v2-faint); }
body.admin-v2 .v2-cmdk .q input { flex: 1; height: 50px; border: 0; outline: 0; font: 400 15px var(--v2-f); background: transparent; color: var(--v2-ink); box-shadow: none; }
body.admin-v2 .v2-cmdk .res { max-height: 52vh; overflow: auto; padding: 4px; }
body.admin-v2 .v2-cmdk .grp { font: 500 12px var(--v2-f); color: var(--v2-faint); padding: 10px 12px 4px; }
body.admin-v2 .v2-cmdk .it { display: flex; align-items: center; gap: 12px; padding: 0 12px; min-height: 36px; border-radius: 8px; font: 400 13.5px var(--v2-f); cursor: pointer; color: var(--v2-ink2); }
body.admin-v2 .v2-cmdk .it svg { color: var(--v2-faint); width: 15px; height: 15px; flex: none; }
body.admin-v2 .v2-cmdk .it small { margin-left: auto; color: var(--v2-faint); font-size: 12.5px; text-align: right; }
body.admin-v2 .v2-cmdk .it.on { background: color-mix(in srgb, var(--c-saf, #DD6B20) 10%, transparent); color: var(--v2-ink); }
body.admin-v2 .v2-cmdk .it.on svg { color: var(--c-saf, #DD6B20); }
body.admin-v2 .v2-cmdk .empty { padding: 30px; text-align: center; color: var(--v2-muted); font-size: 13px; }
body.admin-v2 .v2-cmdk .empty b { display: block; color: var(--v2-ink); font-weight: 600; margin-bottom: 4px; }
body.admin-v2 .v2-cmdk .ft { display: flex; gap: 14px; padding: 8px 16px; border-top: 1px solid var(--v2-line); font: 400 12px var(--v2-f); color: var(--v2-faint); }
body.admin-v2 .v2-cmdk kbd { font: 500 11px/18px var(--v2-f); padding: 0 5px; border: 1px solid var(--v2-line); border-radius: 4px; background: var(--v2-bg); color: var(--v2-muted); box-shadow: none; }
body.admin-v2.theme-dark .v2-cmdk .it.on { background: rgba(212, 175, 99, .12); }
body.admin-v2.theme-dark .v2-cmdk .it.on svg { color: #D4AF63; }
@media (min-width: 1200px) {
    body.admin-v2.v2-mini .sidebar-wrapper .sidebar-header, body.admin-v2.v2-mini .v2-brand { height: auto !important; min-height: 0 !important; }
    body.admin-v2.v2-mini .v2-brand { padding: 14px 0 8px !important; }
    body.admin-v2.v2-mini .v2-logo { flex: none; }
    body.admin-v2.v2-mini .v2-logo img { display: block; }
}

/* Shell parity (SH-10): the prototype's toasts — bottom centre, ink pill (12px radius), 13.5px, red for errors */
.v2-toasts { position: fixed; bottom: 18px; left: 50%; transform: translateX(-50%); z-index: 2000; display: flex; flex-direction: column; gap: 8px; align-items: center; pointer-events: none; }
.v2-toast { display: flex; align-items: center; gap: 10px; background: var(--v2-ink, #17151B); color: var(--v2-paper, #fff); padding: 9px 10px 9px 14px; border-radius: 12px; font: 400 13.5px/1.5 var(--v2-f, 'Mona Sans', sans-serif); box-shadow: 0 12px 32px rgba(23, 21, 27, .14); animation: v2tin .18s ease; pointer-events: auto; max-width: calc(100vw - 32px); }
.v2-toast.err { background: var(--c-kum, #C53030); color: #fff; }
@keyframes v2tin { from { transform: translateY(8px); opacity: 0; } }

/* Shell parity (SH-11): pop-up dialogs as the prototype's confirm — 480px, 10px radius, 16/600 title and a 13.5px muted
   line on the left (18/20 padding), Cancel then the action on the right (36px buttons, red for warnings) */
body.admin-v2 .swal2-container { background: rgba(20, 16, 12, .3) !important; }
body.admin-v2 .swal2-popup.v2-swal { width: 480px !important; max-width: calc(100vw - 32px); padding: 0 !important; border-radius: 10px !important; background: var(--v2-paper) !important; border: 1px solid var(--v2-line); box-shadow: 0 12px 32px rgba(23, 21, 27, .14); text-align: left; display: flex !important; flex-direction: column; }
body.admin-v2 .v2-swal .swal2-title { font: 600 16px/22px var(--v2-f) !important; color: var(--v2-ink) !important; text-align: left !important; padding: 18px 20px 0 !important; margin: 0 !important; }
body.admin-v2 .v2-swal .swal2-html-container { font: 400 13.5px/20px var(--v2-f) !important; color: var(--v2-muted) !important; text-align: left !important; margin: 4px 20px 0 !important; padding: 0 0 2px !important; }
body.admin-v2 .v2-swal .swal2-input, body.admin-v2 .v2-swal .swal2-textarea, body.admin-v2 .v2-swal .swal2-select { margin: 12px 20px 0 !important; width: auto !important; font: 400 14px var(--v2-f) !important; border: 1px solid var(--v2-line) !important; border-radius: 9px !important; box-shadow: none !important; }
body.admin-v2 .v2-swal .swal2-actions { justify-content: flex-end !important; gap: 8px; margin: 0 !important; padding: 12px 20px 16px !important; width: 100%; }
body.admin-v2 .v2-swal .swal2-actions .btn { height: 36px; padding: 0 12px; border-radius: 10px !important; font: 600 13.5px var(--v2-f) !important; margin: 0 !important; box-shadow: none !important; }
body.admin-v2 .v2-swal .v2-btn-plain { background: var(--v2-paper) !important; color: var(--v2-ink) !important; border: 1px solid var(--v2-line) !important; }
body.admin-v2 .v2-swal .v2-btn-danger { background: var(--c-kum, #C53030) !important; color: #fff !important; border: 1px solid var(--c-kum, #C53030) !important; }
body.admin-v2 .v2-swal .swal2-close { color: var(--v2-faint); }
body.admin-v2 .v2-swal .swal2-validation-message { margin: 10px 20px 0 !important; background: none !important; color: var(--c-kum, #C53030) !important; justify-content: flex-start; padding: 0 !important; font-size: 12.5px; }
body.admin-v2 .v2-swal .swal2-actions > [style*="display: none"] { display: none !important; }
@media (min-width: 1200px) { body.admin-v2.v2-mini .v2-logo { width: 31px; } }
body.admin-v2 .v2-swal .swal2-actions { flex-direction: row !important; }

/* Shell parity (SH-13): an empty list shows only the prototype's .empty block (48/20 padding, 14.5/600 title, 13.5 muted line) */
body.admin-v2 .list-surface.v2-empty table, body.admin-v2 .list-surface.v2-empty .list-footer,
body.admin-v2 .list-surface.v2-empty .dataTable-bottom, body.admin-v2 .list-surface.v2-empty .v2-tfoot { display: none !important; }
body.admin-v2 .v2-empty-msg { padding: 48px 20px; text-align: center; color: var(--v2-muted); font: 400 13.5px/1.5 var(--v2-f); }
body.admin-v2 .v2-empty-msg b { display: block; color: var(--v2-ink); font-size: 14.5px; font-weight: 600; margin-bottom: 4px; }

/* Shell parity (SH-16): the prototype's sign-in screens (theme.css .sx-*) — warm blobs, a 440px white card (20px radius,
   40/40/30 padding), centred logo and 26/700 title, 46px fields, 48px ink button, "or log in as" two-up buttons, and
   Help · Privacy · Terms with the theme switch under the card. Brahmand: navy card, gold button, Cinzel title. */
.v2-sx { position: relative; min-height: 100vh; display: grid; place-items: center; overflow: hidden; background: #f7f1e8; font-family: "Mona Sans", system-ui, sans-serif; }
.v2-sx.has-img { background: var(--sx-img) center / cover no-repeat; }
.v2-sx.has-img::before { content: ""; position: absolute; inset: 0; background: rgba(20, 14, 8, .35); }
.v2-sx.has-img .v2-sx-blobs { display: none; }
.v2-sx-blobs i { position: absolute; border-radius: 50%; filter: blur(90px); opacity: .6; animation: v2sxDrift 22s ease-in-out infinite alternate; }
.v2-sx-blobs i:nth-child(1) { width: 46vw; height: 46vw; left: -12vw; top: -18vw; background: #ffb27a; }
.v2-sx-blobs i:nth-child(2) { width: 40vw; height: 40vw; right: -10vw; bottom: -16vw; background: #f5a0b6; animation-delay: -8s; }
.v2-sx-blobs i:nth-child(3) { width: 30vw; height: 30vw; right: 14vw; top: -8vw; background: #ffd98f; opacity: .45; animation-delay: -14s; }
@keyframes v2sxDrift { to { transform: translate(4vw, 3vw) scale(1.08); } }
@keyframes v2sxIn { from { opacity: 0; transform: translateY(12px); } }
.v2-sx-wrap { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 22px; width: 100%; padding: 48px 16px 28px; }
.v2-sx-card { width: 100%; max-width: 440px; background: #fff; border-radius: 20px; padding: 40px 40px 30px; box-shadow: 0 1px 2px rgba(40, 20, 5, .05), 0 30px 70px -30px rgba(70, 35, 10, .35); animation: v2sxIn .5s cubic-bezier(.2, .8, .2, 1) both; }
.v2-sx-card.wide { max-width: 660px; }
.v2-sx-logo { display: block; height: 36px; width: auto; max-width: 160px; margin: 0 auto 26px; object-fit: contain; }
.v2-sx-card h1 { margin: 0; font: 700 26px/1.2 "Mona Sans", sans-serif; letter-spacing: -.02em; color: #141210; text-align: center; }
.v2-sx-sub { margin: 6px 0 26px; font-size: 15px; color: #6b6560; text-align: center; }
.v2-sx-form { display: grid; gap: 16px; }
.v2-sx-f { display: grid; gap: 7px; margin: 0; }
.v2-sx-f > span { font-size: 13.5px; font-weight: 600; color: #2b2723; }
.v2-sx-inp { width: 100%; height: 46px; padding: 0 14px; font: 500 15px "Mona Sans", sans-serif; color: #141210; background: #fff; border: 1px solid #cfc9c1; border-radius: 10px; outline: none; transition: border-color .15s, box-shadow .15s; }
.v2-sx-inp:hover { border-color: #a9a29a; }
.v2-sx-inp:focus { border-color: #141210; box-shadow: 0 0 0 3px rgba(20, 18, 16, .12); }
.v2-sx-f.bad .v2-sx-inp { border-color: #c53030; box-shadow: 0 0 0 3px rgba(197, 48, 48, .12); }
.v2-sx-pw { position: relative; }
.v2-sx-pw .v2-sx-inp { padding-right: 46px; }
.v2-sx-eye { position: absolute; right: 7px; top: 7px; width: 32px; height: 32px; border: 0; background: none; border-radius: 8px; display: grid; place-items: center; color: #7a736c; }
.v2-sx-eye:hover, .v2-sx-eye.on { background: #f2eee8; color: #141210; }
.v2-sx-who { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 12px; margin-bottom: 14px; border-radius: 10px; background: #f6f2ec; font-size: 14px; }
.v2-sx-who span { display: flex; align-items: center; gap: 8px; min-width: 0; color: #6b6560; }
.v2-sx-who b { color: #141210; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.v2-sx-fp { display: block !important; width: max-content; margin: 10px 0 0 auto; }
.v2-sx-lnk { background: none; border: 0; padding: 0; cursor: pointer; font: 600 13.5px "Mona Sans", sans-serif; color: #141210; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(20, 18, 16, .3); display: inline-flex; align-items: center; gap: 4px; }
.v2-sx-lnk:hover { color: #141210; text-decoration-color: currentColor; }
.v2-sx-lnk:disabled { opacity: .5; cursor: default; }
.v2-sx-err { margin: -4px 0 0; font-size: 13.5px; color: #c53030; font-weight: 500; }
.v2-sx-btn { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; height: 48px; border: 0; border-radius: 10px; background: #141210; color: #fff; font: 650 15px "Mona Sans", sans-serif; cursor: pointer; transition: background .15s, transform .05s; }
.v2-sx-btn:hover { background: #000; color: #fff; }
.v2-sx-btn:active { transform: translateY(1px); }
.v2-sx-btn:disabled { opacity: .75; cursor: default; }
.v2-sx-btn2 { display: flex; align-items: center; justify-content: center; gap: 8px; height: 44px; border: 1px solid #d8d2ca; border-radius: 10px; background: #fff; color: #141210; font: 600 14px "Mona Sans", sans-serif; text-decoration: none; transition: background .15s, border-color .15s; }
.v2-sx-btn2:hover { background: #faf7f3; border-color: #bdb6ad; color: #141210; }
.v2-sx-spin { width: 16px; height: 16px; border-radius: 50%; border: 2px solid currentColor; border-right-color: transparent; animation: v2sxSpin .7s linear infinite; display: inline-block; }
@keyframes v2sxSpin { to { transform: rotate(360deg); } }
.v2-sx-or { display: flex; align-items: center; gap: 12px; margin: 24px 0 14px; font-size: 13px; color: #8b847c; }
.v2-sx-or::before, .v2-sx-or::after { content: ""; flex: 1; height: 1px; background: #e7e1d9; }
.v2-sx-roles { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.v2-sx-new { margin: 18px 0 0; text-align: center; font-size: 14px; color: #6b6560; }
.v2-sx-otp.otp-boxes { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; margin-bottom: 0; } /* the form's 16px gap only, as the prototype (OtpInput adds 1rem) */
.v2-sx-otp .otp-box { width: 100%; height: 56px; padding: 0; text-align: center; font: 650 22px "Mona Sans", sans-serif; color: #141210; background: #fff; border: 1px solid #cfc9c1; border-radius: 10px; outline: none; }
.v2-sx-otp .otp-box:focus { border-color: #141210; box-shadow: 0 0 0 3px rgba(20, 18, 16, .12); }
.v2-sx-otp.otp-boxes-error .otp-box { border-color: #c53030; }
.v2-sx-row { display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: 16px; font-size: 13.5px; }
.v2-sx-muted { color: #8b847c; }
.v2-sx-ok { width: 52px; height: 52px; border-radius: 14px; display: grid; place-items: center; background: #e8f3ec; color: #2f855a; margin: 0 auto 16px; }
.v2-sx-back { display: flex !important; justify-content: center; margin-top: 22px; }
.v2-sx-rules { display: flex; gap: 14px; margin-top: -6px; font-size: 12.5px; color: #a39c94; }
.v2-sx-rules span { display: inline-flex; align-items: center; gap: 4px; }
.v2-sx-rules .ok { color: #2f855a; }
.v2-sx-foot { display: flex; align-items: center; gap: 18px; font-size: 13px; color: #6b6560; }
.v2-sx-foot a { color: inherit; text-decoration: none; }
.v2-sx-foot a:hover { color: #141210; text-decoration: underline; }
.v2-sx.has-img .v2-sx-foot { color: #fff; }
.v2-sx-sep { width: 1px; height: 14px; background: currentColor; opacity: .3; }
.v2-sx-thm { display: flex; gap: 2px; padding: 2px; border-radius: 999px; background: rgba(255, 255, 255, .6); backdrop-filter: blur(6px); }
.v2-sx-thm button { width: 28px; height: 26px; border: 0; background: none; border-radius: 999px; display: grid; place-items: center; color: #6b6560; padding: 0; }
.v2-sx-thm button.on { background: #141210; color: #fff; }
body.theme-dark .v2-sx { background: #090d22; }
body.theme-dark .v2-sx-blobs i:nth-child(1) { background: #3b3f9e; opacity: .55; }
body.theme-dark .v2-sx-blobs i:nth-child(2) { background: #a07a2c; opacity: .4; }
body.theme-dark .v2-sx-blobs i:nth-child(3) { background: #1f6b8a; opacity: .35; }
body.theme-dark .v2-sx-card { background: #121836; box-shadow: 0 0 0 1px #262e5c, 0 30px 70px -30px rgba(0, 0, 0, .8); }
body.theme-dark .v2-sx-logo { filter: invert(1) brightness(1.6); }
body.theme-dark .v2-sx-card h1, body.theme-dark .v2-sx-f > span, body.theme-dark .v2-sx-who b, body.theme-dark .v2-sx-lnk { color: #eef1ff; }
body.theme-dark .v2-sx-card h1 { font-family: "Cinzel", serif; font-weight: 600; letter-spacing: .03em; }
body.theme-dark .v2-sx-sub, body.theme-dark .v2-sx-new, body.theme-dark .v2-sx-who span, body.theme-dark .v2-sx-foot { color: #9aa3c7; }
body.theme-dark .v2-sx-inp, body.theme-dark .v2-sx-otp .otp-box { background: #0c1130; border-color: #2c3566; color: #eef1ff; }
body.theme-dark .v2-sx-inp:focus, body.theme-dark .v2-sx-otp .otp-box:focus { border-color: #d4af63; box-shadow: 0 0 0 3px rgba(212, 175, 99, .2); }
body.theme-dark .v2-sx-btn { background: linear-gradient(135deg, #e2c27f, #c99a45); color: #0b1026; }
body.theme-dark .v2-sx-btn:hover { filter: brightness(1.06); color: #0b1026; }
body.theme-dark .v2-sx-btn2 { background: transparent; border-color: #2c3566; color: #eef1ff; }
body.theme-dark .v2-sx-btn2:hover { background: #18204a; }
body.theme-dark .v2-sx-who { background: #0c1130; }
body.theme-dark .v2-sx-or::before, body.theme-dark .v2-sx-or::after { background: #262e5c; }
body.theme-dark .v2-sx-thm { background: rgba(18, 24, 54, .7); }
body.theme-dark .v2-sx-thm button.on { background: #d4af63; color: #0b1026; }
body.theme-dark .v2-sx-eye:hover, body.theme-dark .v2-sx-eye.on { background: #18204a; color: #eef1ff; }
@media (max-width: 640px) {
    .v2-sx-card { padding: 30px 22px 24px; border-radius: 16px; }
    .v2-sx-roles { grid-template-columns: 1fr; }
    .v2-sx-wrap { padding: 28px 12px 20px; }
    .v2-sx-otp.otp-boxes { gap: 6px; }
}
@media (prefers-reduced-motion: reduce) { .v2-sx-blobs i, .v2-sx-card { animation: none; } }
.v2-sx-logo { position: relative; overflow: hidden; width: 128px; height: 36px !important; max-width: none; }
.v2-sx-logo > img { display: block; height: 36px; width: 100%; object-fit: contain; }
.v2-sx-card h1 { font-family: "Mona Sans", sans-serif !important; }
body.theme-dark .v2-sx-card h1 { font-family: "Cinzel", serif !important; font-weight: 600 !important; letter-spacing: .03em; }
.v2-sx-foot a, .v2-sx-foot a:hover { color: inherit !important; }

/* Shell parity (SH-16): "Become a delivery partner" — the prototype's two-column fields inside the wide sign-in card:
   13/500 labels, 36px fields (9px radius), dashed 80px upload tiles, the Register button across both columns */
.v2-sx-reg { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 20px; margin-bottom: 14px; }
.v2-sx-reg .f { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.v2-sx-reg .f > label { font: 500 13px/1.5 "Mona Sans", sans-serif; color: #17151B; margin: 0; }
.v2-sx-reg .f > label i { color: #C53030; font-style: normal; }
.v2-sx-reg .inp { width: 100%; height: 36px; padding: 0 10px; font: 400 14px "Mona Sans", sans-serif; color: #17151B; background: #fff; border: 1px solid #E7E5DF; border-radius: 9px; outline: none; }
.v2-sx-reg select.inp { padding-right: 30px; }
.v2-sx-reg .inp:focus { border-color: #17151B; box-shadow: 0 0 0 3px rgba(20, 18, 16, .08); }
.v2-sx-reg .mob { display: flex; gap: 6px; }
.v2-sx-reg .mob .code { width: 84px; flex: none; }
.v2-sx-reg .err { color: #C53030; font-size: 12.5px; }
.v2-sx-reg .full { grid-column: 1 / -1; }
.v2-sx-reg .form-group { margin: 0; }
.v2-sx-reg .form-group > label:empty, .v2-sx-reg .form-group > i { display: none; }
.v2-sx-reg div.v2-up { display: flex; align-items: center; gap: 12px; min-height: 80px; padding: 10px; border: 1px dashed #E7E5DF; border-radius: 8px; background: transparent; cursor: pointer; }
.v2-sx-reg .v2-up-th { width: 48px; height: 48px; flex: none; border-radius: 6px; display: grid; place-items: center; background: #F3F3F0 center / contain no-repeat; color: #A19DA8; }
.v2-sx-reg .v2-up-t { flex: 1; min-width: 0; display: grid; gap: 1px; }
.v2-sx-reg .v2-up-t b { font: 500 13.5px "Mona Sans", sans-serif; color: #17151B; }
.v2-sx-reg .v2-up-t small { font-size: 12.5px; color: #6C6875; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v2-sx-reg .file-input { display: none; }
body.theme-dark .v2-sx-reg .f > label, body.theme-dark .v2-sx-reg .v2-up-t b { color: #eef1ff; }
body.theme-dark .v2-sx-reg .inp { background: #0c1130; border-color: #2c3566; color: #eef1ff; }
body.theme-dark .v2-sx-reg div.v2-up { border-color: #2c3566; }
body.theme-dark .v2-sx-reg .v2-up-th { background-color: #18204a; }
@media (max-width: 640px) { .v2-sx-reg { grid-template-columns: 1fr; } }
.v2-sx-reg select.inp { appearance: none; -webkit-appearance: none; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236C6875' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center; }
body.theme-dark .v2-sx-reg select.inp { background-color: #0c1130; }
body.admin-v2 #sidebar .submenu .v2-cnt { font-weight: inherit !important; }

/* Shell (SH-14): while a list loads (skeleton rows) it shows no made-up zeros — the footer, the head's count
   line and the tab counts wait for the data */
body.admin-v2 .list-surface:has(tbody tr.skel-tr) :is(.list-footer, .dataTable-bottom, .v2-tfoot) { visibility: hidden; }
body.admin-v2 .list-page:has(tbody tr.skel-tr) .page-head :is(.v2-psub, p.text-muted) { visibility: hidden; }
body.admin-v2 .list-page:has(tbody tr.skel-tr) .v2-otabs :is(.cnt, .v2-cnt, .badge, span:last-child:not(:first-child)) { visibility: hidden; }

/* Shell parity (SH-18): tooltips as the prototype's #tipbox — ink box, 9/12 padding, 10px radius, 500 12.5/1.45, up to
   280px, no arrow; the ⓘ icon's ring in the line colour and the whole icon saffron (gold in Brahmand) on hover */
body.admin-v2 .tooltip { --bs-tooltip-max-width: 280px; --bs-tooltip-opacity: 1; }
body.admin-v2 .tooltip .tooltip-arrow { display: none !important; }
body.admin-v2 .tooltip .tooltip-inner { max-width: 280px; padding: 9px 12px; border-radius: 10px; background: var(--v2-ink, #17151B); color: var(--v2-paper, #fff); font: 500 12.5px/1.45 var(--v2-f); text-align: left; box-shadow: none; }
body.admin-v2 svg[class*="lucide-info"] { color: var(--v2-faint, #A19DA8); cursor: help; }
body.admin-v2 svg[class*="lucide-info"] circle { stroke: var(--v2-line, #E7E5DF); }
body.admin-v2 svg[class*="lucide-info"]:hover, body.admin-v2 svg[class*="lucide-info"]:hover circle { color: var(--c-saf, #DD6B20); stroke: var(--c-saf, #DD6B20); }
body.admin-v2.theme-dark svg[class*="lucide-info"]:hover, body.admin-v2.theme-dark svg[class*="lucide-info"]:hover circle { color: #D4AF63; stroke: #D4AF63; }

/* Setup guide (SH-17 / PG-096): the prototype's sizes — 18/20 bar card, 28px percent, 8px track (2px radius),
   51px rows (10/18 padding, 12 gap), 13.5/500 step names, 30px Open buttons */
body.admin-v2 .v2-sg-bar { padding: 18px 20px !important; }
body.admin-v2 .v2-sg-bar b { font: 700 28px/42px var(--v2-f) !important; }
body.admin-v2 .v2-sg-track { flex: 1; height: 8px; border-radius: 2px; background: var(--v2-panel, #EFEDE8); overflow: hidden; display: block; }
body.admin-v2 .v2-sg-track > span { display: block; height: 100%; background: var(--v2-ink); border-radius: 2px; }
body.admin-v2.theme-dark .v2-sg-track > span { background: #D4AF63; }
body.admin-v2 .v2-sg-row { gap: 12px; padding: 10px 18px; }
body.admin-v2 .v2-sg-l { font-weight: 500 !important; }
body.admin-v2 .v2-sg-row .btn { height: 30px; border-radius: 10px !important; gap: 6px; }
body.admin-v2 .v2-sg-bar { flex-direction: row !important; align-items: center !important; }
body.admin-v2 .v2-sg-row .btn { margin: 0 !important; } body.admin-v2 .v2-sg-row + .v2-sg-row { border-top: 1px solid var(--v2-line2); }

/* Row menus (DR-*c): the list sits on the page at the trigger (V2Menu places it), so nothing clips it */
body.admin-v2 .v2-menu.v2-menu-fixed { position: fixed; right: auto; bottom: auto; z-index: 1080; }
/* prompt dialogs (A.prompt): the field's label above it, 13/500, and the field full width (DL-*) */
body.admin-v2 .v2-swal .swal2-input-label { display: block; margin: 14px 20px 6px !important; font: 500 13px/1.5 var(--v2-f) !important; color: var(--v2-ink) !important; text-align: left; justify-content: flex-start; }
body.admin-v2 .v2-swal .swal2-input-label + .swal2-textarea, body.admin-v2 .v2-swal .swal2-input-label + .swal2-input, body.admin-v2 .v2-swal .swal2-input-label + .swal2-select { margin-top: 0 !important; }
body.admin-v2 .v2-swal .swal2-textarea { min-height: 88px; padding: 8px 10px !important; }
body.admin-v2 .v2-swal .swal2-input, body.admin-v2 .v2-swal .swal2-select { height: 36px; padding: 0 10px !important; }
/* prompt with choices (cancel reasons): the prototype's .field label and .radios row */
body.admin-v2 .v2-swal .v2-swal-p { margin: 0 0 12px; }
body.admin-v2 .v2-swal .v2-swal-f { text-align: left; margin-top: 6px; }
body.admin-v2 .v2-swal .v2-swal-l { display: block; font: 500 13px/1.5 var(--v2-f); color: var(--v2-ink); margin-bottom: 6px; }
body.admin-v2 .v2-swal .v2-swal-l i { color: var(--c-kum, #C53030); font-style: normal; }
body.admin-v2 .v2-swal .v2-swal-radios { display: flex; flex-wrap: wrap; gap: 4px 18px; }
body.admin-v2 .v2-swal .v2-swal-radios label { display: flex; align-items: center; gap: 7px; min-height: 30px; cursor: pointer; font: 400 13.5px var(--v2-f); color: var(--v2-ink); margin: 0; }
body.admin-v2 .v2-swal .v2-swal-radios input { accent-color: var(--v2-ink); width: 15px; height: 15px; margin: 0; }
body.admin-v2.theme-dark .v2-swal .v2-swal-radios input { accent-color: #D4AF63; }
body.admin-v2 .v2-swal .v2-swal-other { margin: 10px 0 0 !important; width: 100% !important; }
/* the prototype draws a radio field in one form column (209px), so its choices stack */
body.admin-v2 .v2-swal .v2-swal-radios { max-width: 209px; }

/* Store listing and updates (PG-030): the prototype's sections in the settings page — note box and radios */
body.admin-v2 .v2-note { padding: 10px 12px; border-radius: 8px; background: var(--v2-panel); color: var(--v2-ink2); font: 400 13px/1.5 var(--v2-f); border-left: 2px solid var(--v2-ind, #4A5D9A); }
body.admin-v2 .v2-set-page .v2-radios > label { display: flex !important; align-items: center; gap: 7px; min-height: 30px; margin: 0 !important; cursor: pointer; font: 400 13.5px/1.5 var(--v2-f) !important; color: var(--v2-ink) !important; }
body.admin-v2 .v2-rel .v2-dgrid { padding: 0 0 6px; }

/* Live chat (PG-037): the driver as the prototype's plain radios; credential groups as plain sections with a rule above */
body.admin-v2 .v2-set-page .btn-group-toggle { gap: 4px 18px; max-width: none !important; }
body.admin-v2 .v2-set-page .btn-group-toggle > .btn { flex: none !important; display: flex !important; align-items: center; gap: 7px; min-height: 30px; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; color: var(--v2-ink) !important; font: 400 13.5px/1.5 var(--v2-f) !important; }
body.admin-v2 .v2-set-page .btn-group-toggle > .btn input[type="radio"] { position: static !important; opacity: 1 !important; pointer-events: auto !important; appearance: auto !important; -webkit-appearance: radio !important; width: 15px; height: 15px; margin: 0; accent-color: var(--v2-esp, #17151B); }
body.admin-v2 .v2-set-page form .list-group-item { border: 0 !important; padding: 0 !important; background: none !important; margin-top: 0 !important; border-top: 1px solid var(--v2-line2) !important; padding-top: 22px !important; margin-top: 18px !important; border-radius: 0 !important; }
body.admin-v2 .v2-set-page form .list-group-item > h6 { font: 650 16px var(--v2-f) !important; color: var(--v2-ink); margin-bottom: 14px !important; display: flex; align-items: center; }
body.admin-v2 .v2-set-page form .form-group > label > span.text-danger { margin-left: 4px; font-size: 13px; }
/* settings fields: the ⓘ beside a label shows on hover / focus, as the prototype's .field .tipi; title-to-field gap 22px */
body.admin-v2 .v2-set-page form .form-group > label .v2-set-i { opacity: 0; transition: opacity .12s; margin-left: 6px; vertical-align: -2px; }
body.admin-v2 .v2-set-page form .form-group:is(:hover, :focus-within) > label .v2-set-i { opacity: 1; }
body.admin-v2 .v2-set-page form .v2-fsec-h { margin-bottom: 22px !important; }
body.admin-v2 .v2-note { background: rgba(76, 81, 191, .07) !important; border-left: 0 !important; border-radius: 10px !important; color: #3A3640; }
body.admin-v2.theme-dark .v2-note { background: rgba(154, 163, 199, .1) !important; color: var(--v2-ink2); }
/* upload tile as a <label> (settings image fields), same as div.v2-up */
body.admin-v2 label.v2-up { display: flex; align-items: center; gap: 12px; min-height: 70px; padding: 10px; border: 1px dashed var(--v2-line); border-radius: 8px; background: transparent; cursor: pointer; margin: 0; font-weight: 400 !important; }
body.admin-v2 label.v2-up:hover { border-color: var(--c-saf); }
body.admin-v2 label.v2-up.has .v2-up-th { background-color: transparent; }
body.admin-v2 [data-dc-field] .fw-semibold .v2-set-i, body.admin-v2 [data-dc-field] > label .v2-set-i { margin-left: 6px; vertical-align: -2px; opacity: 0; transition: opacity .12s; }
body.admin-v2 [data-dc-field]:is(:hover, :focus-within) .v2-set-i { opacity: 1; }
/* rich text box: the code button sits at the far right, as in the prototype's editor bar */
body.admin-v2 .tox .tox-toolbar__primary { width: 100%; }
body.admin-v2 .tox .tox-toolbar__group:last-child { margin-left: auto; }
body.admin-v2 .tox.tox-tinymce { border: 1px solid var(--v2-line) !important; border-radius: 9px !important; }
body.admin-v2 .v2-set-page .v2-fsec + .row, body.admin-v2 .v2-set-page .v2-fsec + div { margin-top: 0; }

/* Who gets notified (PG-044): the prototype's 39px rows — 6/14 cells, 32x18 switches, a 26px Edit text button */
body.admin-v2 .v2-nst tbody td { padding: 6px 14px !important; height: 39px; vertical-align: middle; }
body.admin-v2 .v2-nst .btn.btn-sm { height: 26px; padding: 0 8px !important; font: 600 12.5px var(--v2-f) !important; border-radius: 8px !important; display: inline-flex; align-items: center; gap: 5px; }
body.admin-v2 .v2-nst .form-switch .form-check-input { width: 32px !important; height: 18px !important; margin: 0 !important; }
/* SMS gateway (PG-046): the prototype's sections — the "Use …" switch in the first column, keys beside it */
body.admin-v2 .v2-smsgw .v2-dgrid { padding: 0 0 6px; }
body.admin-v2 .v2-smsgw .v2-acct-sw { align-self: start; padding-top: 6px; }
body.admin-v2 .v2-smsgw .v2-fsec { display: flex; align-items: center; }
/* colour fields (Theme and appearance): swatch + a short hex box, as the prototype's color input (96px) */
body.admin-v2 .v2-set-page .hb-color-text { width: 140px; max-width: 140px; flex: none; }
body.admin-v2 .v2-set-page .hb-color-top { gap: 8px !important; }
body.admin-v2 .v2-set-page .hb-color-swatch { width: 36px !important; height: 36px !important; flex: none; }

/* Devchitra (admin v2): Settings > Search report as a form section (prototype settings/search) */
body.admin-v2 .v2-srep { margin-top: 0 !important; }
body.admin-v2 .v2-set-page .v2-srep .v2-fsec { border-top: 1px solid var(--v2-line2) !important; padding-top: 22px !important; margin-top: 26px !important; }
body.admin-v2 .v2-srep .v2-ro { min-height: 38px; background: var(--v2-paper, #fff); }
body.admin-v2 .v2-srep-p { background: var(--v2-hover, #EEECEF); border-radius: 10px; padding: 8px 12px; font-size: 13px; }
body.admin-v2 .v2-srep-p .h { color: var(--v2-muted, #6B6873); padding: 2px 0; }
body.admin-v2 .v2-srep-p .r { display: flex; justify-content: space-between; padding: 7px 0; border-top: 1px solid var(--v2-line2); }
body.admin-v2 .v2-srep-p .r b { font-weight: 600; font-variant-numeric: tabular-nums; }
body.admin-v2 .v2-srep-p .r.e { color: var(--v2-faint, #A19FA8); }

/* Devchitra (admin v2): settings repeater as the prototype's .rep (admin.css 210-212, 481-486) */
body.admin-v2 .v2-rep { border: 1px solid var(--v2-line); border-radius: 10px; overflow: hidden; background: var(--v2-paper); }
body.admin-v2 .v2-rep .ri { display: flex; gap: 10px; padding: 12px; border-bottom: 1px solid var(--v2-line2); align-items: flex-end; flex-wrap: wrap; }
body.admin-v2 .v2-rep .ri > .v2-dfield { flex: 1; min-width: 130px; margin: 0; }
body.admin-v2 .v2-rep .ri > .v2-dfield.w-img { flex: 0 0 64px; min-width: 0; }
body.admin-v2 .v2-rep .ri > .v2-dfield.w-sm { flex: 0 0 110px; min-width: 0; }
body.admin-v2 .v2-rep .ri > .v2-dfield.w-full { flex: 1 0 100%; }
body.admin-v2 .v2-rep .rn { font: 600 12px ui-monospace, monospace; color: var(--v2-faint); width: 18px; align-self: center; }
body.admin-v2 .v2-rep .rops { display: flex; gap: 2px; align-self: center; margin-left: auto; }
body.admin-v2 .v2-rep .rops .ib[disabled] { opacity: .3; pointer-events: none; }
body.admin-v2 .v2-rep .rf { padding: 8px 12px; background: var(--v2-panel); }
body.admin-v2 .v2-rep .rimg { width: 56px; height: 56px; border-radius: 8px; border: 1px dashed var(--v2-line); background: var(--v2-panel) center/cover; display: grid; place-items: center; color: var(--v2-faint); cursor: pointer; margin: 0; }
body.admin-v2 .v2-rep .rimg:hover { border-color: var(--v2-gold); }

/* Devchitra (admin v2): the first section title sits 14px into the column, as the prototype card-h */
body.admin-v2 .v2-set-page .dc-settings > .card.mb-3:first-of-type:not(.v2-x) > .card-header.py-2 { padding-top: 14px !important; }

/* Devchitra (admin v2): Store listing first section title 14px into the column, as the prototype card-h */
body.admin-v2 .v2-set-page .v2-rel > .v2-fsec:first-child { padding-top: 14px !important; }

/* Devchitra (admin v2): the first section title sits 14px into the column with 50px to the first field, as the prototype card-h */
body.admin-v2 .v2-set-page .v2-fsec:not(.v2-fsec ~ .v2-fsec) { padding-top: 10px; margin-bottom: 26px; }
body.admin-v2 .v2-set-page .dc-settings > .card.mb-3:first-of-type:not(.v2-x) > .card-header.py-2 { padding-bottom: 16px !important; }

/* Devchitra (admin v2): TinyMCE toolbar as the prototype .rte .tb (admin.css 202-203) */
body.admin-v2 .tox.tox-tinymce { border: 1px solid var(--v2-line) !important; border-radius: 8px !important; }
body.admin-v2 .tox .tox-editor-header { box-shadow: none !important; padding: 0 !important; border-bottom: 1px solid var(--v2-line2) !important; }
body.admin-v2 .tox .tox-toolbar, body.admin-v2 .tox .tox-toolbar__primary, body.admin-v2 .tox .tox-toolbar-overlord { background: var(--v2-panel) !important; }
body.admin-v2 .tox .tox-toolbar__primary { padding: 4px !important; }
body.admin-v2 .tox .tox-toolbar__group { padding: 0 !important; gap: 2px; border: 0 !important; }
body.admin-v2 .tox .tox-tbtn { min-width: 28px !important; width: auto !important; height: 26px !important; margin: 0 !important; border-radius: 4px !important; color: var(--v2-ink2) !important; padding: 0 6px !important; }
body.admin-v2 .tox .tox-tbtn svg { width: 16px; height: 16px; fill: currentColor !important; }
body.admin-v2 .tox .tox-tbtn .tox-icon { width: 16px; height: 16px; display: grid; place-items: center; }
body.admin-v2 .tox .tox-tbtn:hover, body.admin-v2 .tox .tox-tbtn--enabled { background: var(--v2-bg) !important; }
body.admin-v2 .list-toolbar > .list-search input.form-control { font-size: 13.5px !important; padding-left: 33px !important; } /* Devchitra (admin v2): prototype .srch input */
/* Devchitra (admin v2): Who gets notified rows 39px and 96px centred channel columns, as the prototype */
body.admin-v2 .v2-btable.v2-nst > tbody > tr > td { padding: 6px 14px !important; height: 39px; }
body.admin-v2 .v2-btable.v2-nst > thead > tr > th.text-center, body.admin-v2 .v2-btable.v2-nst > tbody > tr > td.text-center { width: 96px; text-align: center !important; }
body.admin-v2 .v2-btable.v2-nst > tbody > tr.v2-nst-g > td { height: auto; padding: 8px 14px !important; }

/* Devchitra (admin v2): datatable empty state as the prototype .empty */
body.admin-v2 .dt-empty.v2-dt-empty { display: block; padding: 40px 20px; text-align: center; color: var(--v2-muted); font: 400 13.5px/1.5 var(--v2-f); }
body.admin-v2 .dt-empty.v2-dt-empty b { display: block; color: var(--v2-ink); font-size: 14.5px; font-weight: 600; margin-bottom: 4px; }

/* Devchitra (admin v2): System updater actions sit in the card body, plain, as the prototype */
body.admin-v2 .su-v2 .card-footer.su-v2-act { border-top: 0 !important; background: transparent !important; padding-top: 0 !important; justify-content: flex-start; }
body.admin-v2 .su-v2 .card-footer.su-v2-act .btn { background: var(--v2-paper) !important; border: 1px solid var(--v2-line) !important; color: var(--v2-ink) !important; font-weight: 600; }
/* Devchitra (admin v2): Cron jobs — Refresh on the title row; commands as plain muted text, as the prototype */
@media (min-width: 992px) {
    body.admin-v2 .v2-set-page > div > .page-heading:first-child > .page-head:has(> .btn) { position: absolute; top: 27px; right: 0; width: auto; margin: 0 !important; padding: 0 !important; z-index: 2; gap: 8px; }
    body.admin-v2 .v2-set-page > div > .page-heading:first-child > .page-head:has(> .btn) > .page-head-title { display: none !important; }
}
body.admin-v2 .v2-set-page .table td code { color: var(--v2-muted) !important; background: none !important; font: 400 13px var(--v2-f) !important; padding: 0 !important; }

/* Devchitra (admin v2): country flag in lists as the prototype (small rectangle) */
body.admin-v2 img.v2-flag { width: 22px; height: 15px; object-fit: cover; border-radius: 2px; box-shadow: 0 0 0 1px var(--v2-line2); }
/* Devchitra (admin v2): table row/header checkboxes 16px with the prototype .ck border */
body.admin-v2 .table :is(th, td) input.form-check-input[type="checkbox"]:not([role="switch"]) { width: 16px !important; height: 16px !important; border: 1px solid var(--v2-faint) !important; border-radius: 4px !important; margin-top: 0; }
body.admin-v2 .table :is(th, td) input.form-check-input[type="checkbox"]:not([role="switch"]):not(:checked):not(:indeterminate) { background-color: var(--v2-bg) !important; }

/* Devchitra (admin v2): promo drawer sections in the prototype's order — Code, Discount, Limits and dates,
   Applicability, then the vendor's extra sections */
body.admin-v2 .v2-promo-dr { display: flex; flex-direction: column; }
body.admin-v2 .v2-promo-dr > .v2o-3 { order: 3; } body.admin-v2 .v2-promo-dr > .v2o-4 { order: 4; } body.admin-v2 .v2-promo-dr > .v2o-5 { order: 5; }
body.admin-v2 .v2-promo-dr > .v2o-6 { order: 6; } body.admin-v2 .v2-promo-dr > .v2o-7 { order: 7; } body.admin-v2 .v2-promo-dr > .v2o-8 { order: 8; }
body.admin-v2 .v2-promo-dr > .v2o-9 { order: 9; } body.admin-v2 .v2-promo-dr > .v2o-99 { order: 99; }
body.admin-v2 .v2-promo-dr > .card:first-child, body.admin-v2 .v2-promo-dr > .card:nth-child(2) { order: 1; }

/* Devchitra (admin v2): delivery partner drawer — Profile, Vehicle and documents, Pay, then commission and status;
   profile fields Name, Mobile, Email, Password, Confirm, Date of birth, Zone, Country (prototype order) */
body.admin-v2 .v2-dbf { display: flex; flex-direction: column; }
body.admin-v2 .v2-dbf > * { order: 10; }
body.admin-v2 .v2-dbf > .v2so-1 { order: 1; } body.admin-v2 .v2-dbf > .v2so-2 { order: 2; } body.admin-v2 .v2-dbf > .v2so-3 { order: 3; }
body.admin-v2 .v2-dbf > .v2so-4 { order: 4; } body.admin-v2 .v2-dbf > .v2so-5 { order: 5; } body.admin-v2 .v2-dbf > .v2so-6 { order: 6; }
body.admin-v2 .v2-dbf > .v2so-1 { border-top: 0 !important; }
body.admin-v2 .v2-dbf > .v2so-3 { border-top: 1px solid var(--v2-line2); }
body.admin-v2 .v2-dbf .v2fo-1 { order: 1; } body.admin-v2 .v2-dbf .v2fo-2 { order: 2; } body.admin-v2 .v2-dbf .v2fo-3 { order: 3; } body.admin-v2 .v2-dbf .v2fo-4 { order: 4; }
body.admin-v2 .v2-dbf .v2fo-5 { order: 5; } body.admin-v2 .v2-dbf .v2fo-6 { order: 6; } body.admin-v2 .v2-dbf .v2fo-7 { order: 7; } body.admin-v2 .v2-dbf .v2fo-8 { order: 8; }
/* Devchitra (admin v2): store drawer — Store, Location, Type, then the rest; no section sub-lines (prototype) */
body.admin-v2 form.v2-store-dr { display: flex; flex-direction: column; }
body.admin-v2 form.v2-store-dr > .card { order: 5; }
body.admin-v2 form.v2-store-dr > .card:first-child { order: 1; } body.admin-v2 form.v2-store-dr > .card.v2so-2 { order: 2; } body.admin-v2 form.v2-store-dr > .card.v2so-3 { order: 3; }
body.admin-v2 form.v2-store-dr > .card:last-child { order: 99; }
body.admin-v2 form.v2-store-dr > .card > .card-header > small.text-muted { display: none; }

/* Devchitra (admin v2): category drawer fields in the prototype's order */
body.admin-v2 .row.v2-catf > * { order: 30; }
body.admin-v2 .row.v2-catf > .v2fo-1 { order: 1; }
body.admin-v2 .row.v2-catf > .v2fo-2 { order: 2; }
body.admin-v2 .row.v2-catf > .v2fo-3 { order: 3; }
body.admin-v2 .row.v2-catf > .v2fo-4 { order: 4; }
body.admin-v2 .row.v2-catf > .v2fo-5 { order: 5; }
body.admin-v2 .row.v2-catf > .v2fo-6 { order: 6; }
body.admin-v2 .row.v2-catf > .v2fo-7 { order: 7; }
body.admin-v2 .row.v2-catf > .v2fo-15 { order: 15; }
body.admin-v2 .row.v2-catf > .v2fo-20 { order: 20; }
body.admin-v2 .row.v2-catf > .v2fo-21 { order: 21; }
/* edit drawers: Delete at the footer's left, as the prototype */
body.admin-v2 .modal-footer .v2-foot-del { color: var(--v2-kum, #C0392B) !important; text-decoration: none !important; display: inline-flex; align-items: center; gap: 6px; font-weight: 600; padding-left: 0 !important; }
/* edit-drawer Delete sits at the footer's far left; store drawer has no help lines under fields (prototype) */
body.admin-v2 :is(.modal-footer, .v2-cfoot) .v2-foot-del { margin-right: auto !important; order: -1; color: var(--v2-kum) !important; text-decoration: none !important; font-weight: 600; padding-left: 0 !important; }
body.admin-v2 :is(.modal-footer, .v2-cfoot):has(.v2-foot-del) { justify-content: flex-end; }
body.admin-v2 form.v2-store-dr .card-body small.text-muted, body.admin-v2 form.v2-store-dr .card-body .form-text { display: none !important; }
/* country drawer: no description lines under the section titles (prototype) */
body.admin-v2 .v2-csec > p.text-muted { display: none; }
body.admin-v2 .modal .modal-footer > .btn.v2-foot-del { margin-right: auto !important; margin-left: 0 !important; order: -5 !important; }
/* Devchitra (admin v2): drawer Delete as the prototype's bordered button with a trash icon */
body.admin-v2 .modal .btn.v2-foot-del, body.admin-v2 .v2-cfoot .btn.v2-foot-del { border: 1px solid var(--v2-line) !important; background: var(--v2-paper) !important; padding: 0 12px !important; height: 32px; display: inline-flex; align-items: center; gap: 6px; border-radius: 8px !important; }
body.admin-v2 .btn.v2-foot-del:not(:has(svg))::before { content: ""; width: 14px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18M8 6V4h8v2M19 6l-1 14H6L5 6'/%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 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18M8 6V4h8v2M19 6l-1 14H6L5 6'/%3E%3C/svg%3E") center/contain no-repeat; }
body.admin-v2 .v2-seg > button.on .text-muted { color: rgba(255,255,255,.7) !important; } /* Devchitra (admin v2): count on the active segment */

/* Devchitra (admin v2): Orders report — Trend (8) beside Share (4), as the prototype's s8 / s4 cards */
body.admin-v2 .v2-trend-row { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 16px; align-items: start; }
body.admin-v2 .v2-trend-row > .card { margin-bottom: 16px; }
body.admin-v2.theme-dark .v2-trend .apexcharts-area { stroke: #D4AF63; }
@media (max-width: 991.98px) { body.admin-v2 .v2-trend-row { grid-template-columns: minmax(0, 1fr); } }

/* Devchitra (admin v2): small centred dialogs as the prototype's .modal (admin.css 325-328) */
body.admin-v2 .modal.v2-dlg .modal-dialog { max-width: min(480px, calc(100vw - 32px)); }
body.admin-v2 .modal.v2-dlg .modal-content { border: 1px solid var(--v2-line); border-radius: 10px; background: var(--v2-paper); box-shadow: 0 18px 50px rgba(23, 21, 27, .18); }
body.admin-v2 .modal.v2-dlg .modal-header { border: 0; padding: 18px 20px 2px; }
body.admin-v2 .modal.v2-dlg .modal-title { font: 600 16px var(--v2-f) !important; color: var(--v2-ink); }
body.admin-v2 .modal.v2-dlg .modal-body { padding: 14px 20px; }
body.admin-v2 .modal.v2-dlg .modal-footer { border: 0; padding: 12px 20px 16px; gap: 8px; justify-content: flex-end; }
body.admin-v2 .modal.v2-dlg .modal-footer > * { margin: 0; }
body.admin-v2 .v2-dlg-f { display: grid; gap: 14px; }
body.admin-v2 .v2-dlg-f .v2-dfield { margin: 0; }
body.admin-v2 .v2-dlg-f { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 14px; }
body.admin-v2 .v2-dlg-f > .alert { grid-column: 1 / -1; }
body.admin-v2 .modal.v2-dlg .modal-header .btn-close { display: none; }
body.admin-v2 .v2-dlg-f .v2-radios { display: flex; gap: 4px 16px; flex-wrap: wrap; min-height: 34px; align-items: center; }
body.admin-v2 .v2-dlg-f .v2-radios > label { display: flex; align-items: center; gap: 7px; margin: 0; font: 400 13.5px var(--v2-f); cursor: pointer; }
@media (max-width: 575.98px) { body.admin-v2 .v2-dlg-f { grid-template-columns: minmax(0, 1fr); } }
body.admin-v2 .table.v2-stock :is(th, td).v2-ck { width: 36px; padding-right: 0 !important; vertical-align: middle; }

/* Devchitra (admin v2): shipment item thumbnails, as the prototype */
body.admin-v2 .v2-thumbs { display: inline-flex; gap: 3px; vertical-align: middle; margin-right: 6px; }
body.admin-v2 .v2-thumbs > i { width: 18px; height: 24px; border-radius: 3px; background: var(--v2-panel) center / cover; box-shadow: inset 0 0 0 1px var(--v2-line); }
/* Devchitra (admin v2): date chip keeps its icon and grows with its text */
body.admin-v2 .v2-date-chip { width: auto !important; max-width: none !important; flex: none; }
body.admin-v2 .v2-date-chip > svg { flex: none; width: 14px; }
body.admin-v2 .v2-date-chip .date-range-picker { flex: none; }
body.admin-v2 .v2-date-chip .date-range-picker, body.admin-v2 .v2-date-chip .date-range-picker :is(div, input, .form-control) { border: 0 !important; background: transparent !important; box-shadow: none !important; padding-top: 0 !important; padding-bottom: 0 !important; min-height: 0 !important; height: auto !important; }
body.admin-v2 td:has(> .v2-thumbs) { white-space: nowrap; }

/* Devchitra (admin v2): Home Builder editor as the prototype's page (B1) — head, Sections card with the
   section editor under it on the left, Live preview card on the right */
body.admin-v2 .hb-v2 .hb-v2-head { display: flex; align-items: center; gap: 12px; margin: 0 0 6px; }
body.admin-v2 .hb-v2 .hb-v2-ic { width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center; background: #FBE7EE; color: #B83280; flex: none; }
body.admin-v2 .hb-v2 .hb-v2-head .v2-psub .v2-pay { margin-left: 4px; }
body.admin-v2 .hb-v2 .hb-topbar { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 0 12px !important; justify-content: flex-end; position: static; }
body.admin-v2 .hb-v2 .hb-topbar > div:first-child { display: none !important; }
body.admin-v2 .hb-v2 .hb-grid { display: grid !important; grid-template-columns: minmax(340px, 420px) minmax(0, 1fr); grid-template-areas: "list preview" "config preview"; gap: 16px; align-items: start; }
body.admin-v2 .hb-v2 .hb-col-list { grid-area: list; width: auto !important; }
body.admin-v2 .hb-v2 .hb-col-config { grid-area: config; width: auto !important; min-width: 0 !important; }
body.admin-v2 .hb-v2 .hb-col-preview { grid-area: preview; width: auto !important; }
body.admin-v2 .hb-v2 .hb-col-list, body.admin-v2 .hb-v2 .hb-col-preview > .hb-preview-sticky { background: var(--v2-paper); border: 1px solid var(--v2-line); border-radius: 14px; padding: 14px 16px; }
body.admin-v2 .hb-v2 .hb-v2-ph { display: flex; align-items: baseline; gap: 8px; margin-bottom: 10px; }
body.admin-v2 .hb-v2 .hb-v2-ph b { font: 600 14px var(--v2-f); }
body.admin-v2 .hb-v2 .hb-v2-ph small { color: var(--v2-muted); font-size: 12.5px; }
body.admin-v2 .hb-v2 .hb-v2-plats { display: inline-flex; gap: 3px; margin-right: 6px; }
body.admin-v2 .hb-v2 .hb-v2-plats > i { font: 600 10px var(--v2-f); font-style: normal; width: 15px; height: 15px; display: grid; place-items: center; border-radius: 3px; background: var(--v2-panel); color: var(--v2-ink2); }
body.admin-v2 .hb-v2 .hb-v2-plats > i.off { opacity: .3; text-decoration: line-through; }
@media (max-width: 1199.98px) { body.admin-v2 .hb-v2 .hb-grid { grid-template-columns: minmax(0, 1fr); grid-template-areas: "list" "preview" "config"; } }
body.admin-v2 .hb-editor.hb-v2 { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 16px; align-items: start; }
body.admin-v2 .hb-editor.hb-v2 > * { grid-column: 1 / -1; }
body.admin-v2 .hb-editor.hb-v2 > .hb-v2-head { grid-column: 1; grid-row: 1; margin: 0; }
body.admin-v2 .hb-editor.hb-v2 > .hb-topbar { grid-column: 2; grid-row: 1; padding: 0 !important; align-self: center; }
body.admin-v2 .hb-editor.hb-v2 > .hb-grid { margin-top: 16px; grid-template-rows: auto 1fr; }

body.admin-v2 .hb-v2 .hb-v2-st { display: flex; flex-direction: column; min-width: 0; line-height: 1.3; }
body.admin-v2 .hb-v2 .hb-v2-st > span { font: 500 13.5px var(--v2-f); color: var(--v2-ink); }
body.admin-v2 .hb-v2 .hb-v2-st > small { font-size: 12px; color: var(--v2-muted); }
body.admin-v2 .hb-v2 .hb-sec-row .hb-sec-row-icon { display: none; }
body.admin-v2 .hb-v2 .hb-v2-st > span, body.admin-v2 .hb-v2 .hb-sec-row-title.hb-v2-st { white-space: normal !important; overflow: visible !important; text-overflow: clip !important; }

/* Devchitra (admin v2): spin wheel campaign as the prototype's page (B4) — head; Segments table, settings and theme
   on the left; the wheel Preview card on the right */
body.admin-v2 .sw-v2 .sw-v2-head { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; flex-wrap: wrap; }
body.admin-v2 .sw-v2 .sw-grid { display: grid !important; grid-template-columns: minmax(0, 1fr) 340px; grid-template-areas: "list preview" "config preview"; gap: 16px; align-items: start; }
body.admin-v2 .sw-v2 .sw-col-list { grid-area: list; width: auto !important; max-width: none !important; flex: none !important; }
body.admin-v2 .sw-v2 .sw-col-config { grid-area: config; width: auto !important; max-width: none !important; flex: none !important; }
body.admin-v2 .sw-v2 .sw-col-preview { grid-area: preview; width: auto !important; max-width: none !important; flex: none !important; }
body.admin-v2 .sw-v2 .sw-v2-segs { background: var(--v2-paper); border: 1px solid var(--v2-line); border-radius: 14px; overflow: hidden; }
body.admin-v2 .sw-v2 .sw-v2-ch { padding: 14px 16px; display: flex; gap: 8px; align-items: baseline; }
body.admin-v2 .sw-v2 .sw-v2-ch b { font: 600 14px var(--v2-f); }
body.admin-v2 .sw-v2 .sw-v2-ch small { color: var(--v2-muted); font-size: 12.5px; }
body.admin-v2 .sw-v2 .sw-v2-segs thead th { background: var(--v2-panel); font: 600 11.5px var(--v2-f); text-transform: uppercase; letter-spacing: .04em; color: var(--v2-muted); border: 0; padding: 8px 12px; }
body.admin-v2 .sw-v2 .sw-v2-segs tbody td { padding: 9px 12px; vertical-align: middle; border-color: var(--v2-line2); font-size: 13.5px; }
body.admin-v2 .sw-v2 .sw-v2-segs tbody tr.on td { background: var(--v2-sel, #FBF3E4); }
body.admin-v2 .sw-v2 .sw-v2-segs .sw-swatch { display: inline-block; width: 12px; height: 12px; border-radius: 3px; }
body.admin-v2 .sw-v2 .sw-v2-total td { color: var(--v2-muted); }
body.admin-v2 .sw-v2 .sw-config-panel { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; }
body.admin-v2 .sw-v2 .sw-config-head { display: none !important; }
body.admin-v2 .sw-v2 .sw-v2-sub { font: 650 16px var(--v2-f); margin: 22px 0 10px; padding-top: 22px; border-top: 1px solid var(--v2-line2); }
body.admin-v2 .sw-v2 .sw-col-preview > .sw-preview-sticky { background: var(--v2-paper); border: 1px solid var(--v2-line); border-radius: 14px; padding: 12px; }
@media (max-width: 1099.98px) { body.admin-v2 .sw-v2 .sw-grid { grid-template-columns: minmax(0, 1fr); grid-template-areas: "list" "preview" "config"; } }
body.admin-v2 .sw-v2 .sw-v2-sub.sw-v2-first { border-top: 0; padding-top: 6px; margin-top: 8px; }
/* Devchitra (admin v2): zone drawer sections (B8) without card chrome, as the other drawers */
body.admin-v2 .zone-form .card.zf-v2 { border: 0 !important; box-shadow: none !important; background: transparent !important; }
body.admin-v2 .zone-form .card.zf-v2 > .card-body { padding: 4px 0 14px !important; }
body.admin-v2 .zone-form .card.zf-v2 h6 { font: 650 16px var(--v2-f) !important; }
body.admin-v2 .zone-form .card.zf-v2 .v2-radios { display: flex; gap: 4px 16px; flex-wrap: wrap; min-height: 36px; align-items: center; }
body.admin-v2 .zone-form .card.zf-v2 .v2-radios > label { display: flex; align-items: center; gap: 7px; margin: 0; font: 400 13.5px var(--v2-f); }
/* zone drawer order as the prototype: channel charges, then details and tax, then the boundary map */
body.admin-v2 .zone-form .zf-pane { display: flex; flex-direction: column; }
body.admin-v2 .zone-form .zf-pane > * { order: 1; }
body.admin-v2 .zone-form .zf-pane > .zf-bottom { order: 5; }
body.admin-v2 .zone-form .zf-pane > .zf-poly { order: 6; }
body.admin-v2 .zone-form .zf-pane > .v2-cfoot { order: 9; }
/* Devchitra (owner D9): Edit review drawer — read-only rating and words, the reply below */
body.admin-v2 .modal .v2-ro { background: var(--v2-panel) !important; min-height: 38px; color: var(--v2-ink); }
body.admin-v2 .modal .v2-ro-text { white-space: pre-wrap; height: auto; line-height: 1.5; }
body.admin-v2 .modal .v2-radios { display: flex; gap: 4px 16px; flex-wrap: wrap; min-height: 38px; align-items: center; }
body.admin-v2 .modal .v2-radios > label { display: flex; align-items: center; gap: 7px; margin: 0; font: 400 13.5px var(--v2-f); cursor: pointer; }
/* Devchitra (admin v2): every tab row as the prototype .tab (42px, 0 8px) — detail pages too, not only lists */
body.admin-v2 .v2-otabs > button { display: inline-flex; align-items: center; height: 42px; padding: 0 8px !important; }

/* Devchitra (owner D13): Publish on under the Visibility switches */
body.admin-v2 .pe-vis .pe-vis-pub { display: grid; gap: 6px; margin-top: 4px; }
body.admin-v2 .pe-vis .pe-vis-pub label { font-size: 12.5px; font-weight: 600; color: var(--v2-muted); margin: 0; }

/* Card titles as the prototype's .card-h h3: 650 14.5px (16px on the product form);
   dark: 600 12.5px capitals, .14em apart, on every page (vfy 25 Oct) */
body.admin-v2 .pe-ch h3 { font-weight: 650 !important; font-size: 14.5px !important; line-height: normal !important; letter-spacing: -.005em !important; }
body.admin-v2 .v2-pe .pe-ch h3 { font-size: 16px !important; }
body.admin-v2.theme-dark .pe-ch h3, body.admin-v2.theme-dark .v2-pe .pe-ch h3 { font-weight: 600 !important; font-size: 12.5px !important; letter-spacing: .14em !important; text-transform: uppercase !important; color: #E6E9FA; }

/* Home Builder head actions, Sections card title, Header settings row, device switch (B1 recheck 25 Oct) */
body.admin-v2 .hb-editor.hb-v2 > .hb-v2-acts { grid-column: 2; grid-row: 1; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; justify-content: flex-end; }
body.admin-v2 .hb-v2 .hb-v2-ch h3 { font: 650 14.5px var(--v2-f); letter-spacing: -.005em; margin: 0; color: var(--v2-ink); }
body.admin-v2 .hb-v2 .hb-v2-hrow { display: flex; align-items: center; cursor: pointer; }
body.admin-v2 .hb-v2 .hb-v2-ph { align-items: center; }
body.admin-v2 .hb-v2 .hb-v2-ph .hb-v2-dev { order: 3; margin-left: auto; }
body.admin-v2 .hb-v2 .hb-preview-toolbar { display: none !important; }
body.admin-v2.theme-dark .hb-v2 .hb-v2-ch h3 { font-weight: 600; font-size: 12.5px; letter-spacing: .14em; text-transform: uppercase; color: #E6E9FA; }
body.admin-v2 .hb-v2 .hb-v2-ch h3 { font: 650 14.5px var(--v2-f) !important; letter-spacing: -.005em !important; margin: 0 !important; }
body.admin-v2.theme-dark .hb-v2 .hb-v2-ch h3 { font: 600 12.5px var(--v2-f) !important; letter-spacing: .14em !important; text-transform: uppercase; }
/* section rows as the prototype's .blk: no box, hover tint, the open one tinted with a line */
body.admin-v2 .hb-v2 .hb-sec-row { border: 1px solid transparent !important; border-radius: 6px !important; background: transparent !important; box-shadow: none !important; padding: 8px 8px 8px 4px !important; margin: 0 !important; }
body.admin-v2 .hb-v2 .hb-sec-row:hover { background: var(--v2-hover) !important; }
body.admin-v2 .hb-v2 .hb-sec-row.active { background: var(--v2-sel) !important; border-color: var(--v2-line) !important; }
body.admin-v2 .hb-v2 .hb-sec-row .hb-row-grip { color: var(--v2-faint); }
body.admin-v2:not(.theme-dark) .hb-v2 .hb-sec-row.active { background: #F3EBDC !important; }
/* delivery partner app: Versions as switch rows (PG-123) */
body.admin-v2 .v2-ver-row { margin: 4px 0 14px; }
body.admin-v2 .v2-ver-row > b { font: 500 13.5px var(--v2-f); color: var(--v2-ink); }
/* vfy 25 Oct: settings and builder head lines as .page-head .v2-psub; report card titles; drawer
   section titles; table cells take the card's background as the prototype's do */
body.admin-v2 .v2-set-head .v2-psub, body.admin-v2 .hb-v2-head .v2-psub { color: var(--v2-muted); font-size: 13.5px; line-height: 1.5; margin-top: 4px; }
body.admin-v2 .rp-card-title { letter-spacing: -.005em; }
body.admin-v2 .v2-dsec-auto { line-height: normal !important; }
body.admin-v2 .table > tbody { --bs-table-bg: transparent; }
/* Block on a customer page in the prototype's danger colour (.btn.d) */
body.admin-v2 .btn.v2-danger-t, body.admin-v2 .page-head .btn.v2-danger-t:not(.btn-primary) { color: var(--c-kum, #C53030) !important; }
body.admin-v2 .btn.v2-danger-t svg { color: var(--c-kum, #C53030) !important; }
/* list tables: no 16px band between the last row and the footer (prototype) */
body.admin-v2 .list-surface > .dataTable-wrapper, body.admin-v2 .list-surface > .dataTable-wrapper > .table-responsive { margin-bottom: 0 !important; }
/* Home Builder head actions as .page-head buttons */
body.admin-v2 .hb-v2-acts .btn { height: 36px; padding: 0 12px !important; font-size: 13.5px !important; line-height: 20.25px !important; display: inline-flex; align-items: center; gap: 6px; }
body.admin-v2 .hb-v2-acts .btn:not(.btn-primary) { color: var(--v2-ink) !important; }
/* settings card titles (.card-header > strong) as the prototype's form section titles: 650 16px, -.005em */
body.admin-v2:not(.theme-dark) .card .card-header > strong { font: 650 16px var(--v2-f) !important; letter-spacing: -.005em !important; line-height: normal !important; color: var(--v2-ink); }
body.admin-v2 .v2-fsec.v2-fsec-first { margin-top: 0 !important; padding-top: 0 !important; border-top: 0 !important; }
/* the count line some list heads write as p.text-muted.small: same as .v2-psub */
body.admin-v2 .page-head > div > .page-head-title + p.text-muted.small { font-size: 13.5px !important; line-height: 1.5; color: var(--v2-muted) !important; margin-top: 4px !important; }
/* manage stock rows at the prototype's 10px */
/* spin wheel campaign: crumbs over the name, Preview card head (PG-025) */
body.admin-v2 .sw-v2 .sw-v2-head .v2-od-crumbs { margin-bottom: 6px; }
body.admin-v2 .sw-v2 .sw-v2-pvh { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; border-bottom: 1px solid var(--v2-line2); }
body.admin-v2 .sw-v2 .sw-v2-pvh b { font: 650 14.5px var(--v2-f); letter-spacing: -.005em; }
body.admin-v2.theme-dark .sw-v2 .sw-v2-pvh b { font: 600 12.5px var(--v2-f); letter-spacing: .14em; text-transform: uppercase; }
body.admin-v2 .sw-v2 .sw-v2-pvh .btn { display: inline-flex; align-items: center; gap: 6px; }

/* vfy dark 25 Oct: every card / section title as the prototype's dark .card-h h3 — 600 12.5px capitals, .14em
   apart, #E6E9FA, the panel font (not Cinzel) */
body.admin-v2.theme-dark :is(.card-h h3, .pe-ch h3, .card .card-header > h4, .card .card-header > h5, .card .card-header > h6, .card .card-header > strong, .card .card-title, .v2-fsec, .rp-card-title, h3.v2-dsec-auto, h6.v2-dsec-auto, .v2-live-h h3, .v2-lead-h h3, .hb-v2-ch h3, section.v2-acct-sec > h3) {
    font-family: var(--v2-f) !important; font-weight: 600 !important; font-size: 12.5px !important; letter-spacing: .14em !important;
    text-transform: uppercase !important; color: #E6E9FA !important;
}
/* table cells in the dark ink, light buttons on the paper colour */
body.admin-v2.theme-dark .table > tbody > tr > td:not(.text-muted) { color: var(--v2-ink, #EEF1FF) !important; }
body.admin-v2.theme-dark :is(.page-head, .page-head-actions, .hb-v2-acts, .sw-v2-head, .v2-set-head) .btn:not(.btn-primary) { background: #141A3A !important; }
/* same, stronger: settings cards set their own 650 16px titles */
html body.admin-v2.theme-dark #main :is(.card-h h3, .pe-ch h3, .card .card-header > h4, .card .card-header > h5, .card .card-header > h6, .card .card-header > strong, .card .card-title, .v2-fsec, .rp-card-title, h3.v2-dsec-auto, h6.v2-dsec-auto, .v2-live-h h3, .v2-lead-h h3, .hb-v2-ch h3, section.v2-acct-sec > h3, .v2-fsec-h, .sw-v2-ch b) {
    font-family: var(--v2-f) !important; font-weight: 600 !important; font-size: 12.5px !important; letter-spacing: .14em !important;
    text-transform: uppercase !important; color: #E6E9FA !important; line-height: normal !important;
}
body.admin-v2.theme-dark :is(.page-head, .page-head-actions, .hb-v2-acts, .sw-v2-head, .v2-set-head) .btn:not(.btn-primary) { border-color: var(--v2-line) !important; }

/* vfy 390px 25 Oct: the phone keeps the desktop type size (common.css drops html to 14px), table cells stay on one
   line and have no top rule, as the prototype's td */
@media (max-width: 575.98px) {
    html:has(> body.admin-v2) { font-size: 16px; }
}
@media (max-width: 767.98px) {
    body.admin-v2 .table > tbody > tr > td, body.admin-v2 .table > thead > tr > th { border-top-width: 0 !important; }
    body.admin-v2 .list-surface .table > tbody > tr > td, body.admin-v2 .v2-btable > tbody > tr > td { white-space: nowrap; }
}
/* the prototype's tables (.t) narrow their cells to 11px a side below 1500px — laptops and phones; list pages
   (.lst .t) keep 14px */
@media (max-width: 1500px) {
    html body.admin-v2 #main table.table:not(.list-page table):not(.v2-nst) > :is(thead, tbody) > tr > :is(th, td):not(.v2-w0) { padding-left: 11px !important; padding-right: 11px !important; }
}
/* notification settings group rows ("ORDERS · 13") as the prototype: 11.5px capitals, 6px */
html body.admin-v2 .v2-btable.v2-nst > tbody > tr.v2-nst-g > td { font-size: 11.5px !important; line-height: normal !important; letter-spacing: .08em !important; padding-top: 6px !important; padding-bottom: 6px !important; }
/* an off switch as the prototype's .sw: light track, white knob */
body.admin-v2 .form-switch .form-check-input:not(:checked) { background-color: var(--v2-line) !important; border-color: var(--v2-line) !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e") !important; }
html body.admin-v2 .v2-btable.v2-nst > tbody > tr:not(.v2-nst-g) > td { padding-top: 6px !important; padding-bottom: 6px !important; }
body.admin-v2 .sw-v2-head .v2-psub { color: var(--v2-muted); font-size: 13.5px; line-height: 1.5; }
body.admin-v2.theme-dark .v2-btable.v2-nst > tbody > tr.v2-nst-g > td { color: var(--v2-muted) !important; }
@media (max-width: 1500px) {
    html body.admin-v2 #main table.v2-nst > :is(thead, tbody) > tr > :is(th, td):not(.v2-w0) { padding-left: 14px !important; padding-right: 14px !important; }
}
/* spin wheel: Segments card title and head buttons as the prototype */
body.admin-v2 .sw-v2 .sw-v2-ch b { font: 650 14.5px var(--v2-f) !important; letter-spacing: -.005em; }
body.admin-v2 .sw-v2-head .btn { height: 36px; padding: 0 12px !important; font-size: 13.5px !important; line-height: 20.25px !important; display: inline-flex; align-items: center; gap: 6px; }
@media (max-width: 1500px) {
    html body.admin-v2 #main table.v2-nst > thead > tr > th:not(.v2-w0) { padding-left: 11px !important; padding-right: 11px !important; }
}
/* every radio choice as the prototype's .radios label (13.5px, regular), whatever form label rule is nearer */
html body.admin-v2 .v2-radios label { font: 400 13.5px/1.5 var(--v2-f) !important; }
/* the vendor's toggle radios in drawers read as the prototype's radios; the required star is regular */
html body.admin-v2 .modal .btn-group-toggle > .btn { font: 400 13.5px/1.5 var(--v2-f) !important; }
html body.admin-v2 .modal .modal-body label :is(.text-danger, .v2-req) { font-weight: 400 !important; }
html body.admin-v2 .modal.v2-drawer .modal-body .v2-radios label, html body.admin-v2 .modal .modal-body .v2-radios label:not(.v2-up) { font: 400 13.5px/1.5 var(--v2-f) !important; }
/* row menus (⋯) as the prototype's .menu: 8px box, 4px items, 1.5 line */
html body.admin-v2 .v2-menu { border-radius: 8px !important; }
html body.admin-v2 .v2-menu .v2-menu-it { border-radius: 4px !important; line-height: 1.5 !important; }
/* a required star inside a heading keeps the label size (zone form) */
html body.admin-v2 :is(h1, h2, h3, h4, h5, h6, .card-title, .v2-fsec) :is(.text-danger, .v2-req) { font: 400 13px/1.5 var(--v2-f) !important; letter-spacing: normal !important; text-transform: none !important; }
/* dark drawer footers: the secondary buttons sit on the paper colour, as the prototype */
html body.admin-v2.theme-dark .modal .modal-footer .btn:not(.btn-primary) { background: #141A3A !important; border-color: var(--v2-line) !important; }
/* return detail drawer as the prototype's drawer: 14px head, 17px title; item name regular; Reject a bordered button */
html body.admin-v2 .rds-panel .rds-header { padding: 14px 20px !important; }
html body.admin-v2 .rds-panel .v2-rd-tx b { font: 600 17px/1.3 var(--v2-f) !important; }
html body.admin-v2 .rds-panel .v2-rd-item b { font: 500 13.5px/1.5 var(--v2-f) !important; }
html body.admin-v2 .rds-panel .btn.btn-outline-danger { height: 36px; padding: 0 12px !important; border: 1px solid var(--v2-line) !important; background: var(--v2-paper) !important; color: var(--c-kum, #C53030) !important; text-decoration: none !important; display: inline-flex; align-items: center; }

/* vfy auth pages 25 Oct: Mona Sans over the vendor's forced Instrument Sans, the prototype's ink and title weight,
   buttons without browser padding, and the desktop type size on phones */
html body.v2-auth .v2-sx-wrap, html body.v2-auth .v2-sx-wrap *:not(svg):not(path):not(h1) { font-family: "Mona Sans", var(--v2-f, system-ui), sans-serif !important; }
html body.v2-auth .v2-sx-wrap, html body.v2-auth .v2-sx-card { color: #17151B; }
html body.v2-auth.theme-dark :is(.v2-sx-wrap, .v2-sx-card) { color: #EEF1FF; }
html body.v2-auth:not(.theme-dark) .v2-sx-card h1 { font-family: "Mona Sans", sans-serif !important; font-weight: 700 !important; }
html body.v2-auth .v2-sx-btn { padding: 0 !important; }
@media (max-width: 575.98px) { html:has(> body.v2-auth) { font-size: 16px; } }
/* small dialogs as the prototype's .modal: 10px corners, title without tightening */
html body.admin-v2 .modal.v2-dlg .modal-content { border-radius: 10px !important; }
html body.admin-v2 .modal.v2-dlg .modal-title { letter-spacing: normal !important; }
/* confirm dialogs (Swal) as the prototype's .modal: panel type and ink, 1.5 lines; dark danger keeps white text,
   dark Cancel on the paper colour; small-dialog footer buttons at the page-head size */
html body.admin-v2 .swal2-popup.v2-swal { font-size: 14px !important; line-height: 1.5 !important; color: var(--v2-ink) !important; }
html body.admin-v2 .v2-swal .swal2-title { line-height: normal !important; }
html body.admin-v2 .v2-swal .swal2-html-container { line-height: 1.5 !important; }
html body.admin-v2 .v2-swal .swal2-actions .btn { line-height: 1.5 !important; }
html body.admin-v2.theme-dark .v2-swal .swal2-actions .v2-btn-danger { color: #fff !important; }
html body.admin-v2.theme-dark .v2-swal .swal2-actions .v2-btn-plain { background: #141A3A !important; }
html body.admin-v2 .modal.v2-dlg .modal-footer .btn { height: 36px; padding: 0 12px !important; font-size: 13.5px !important; line-height: 20.25px !important; display: inline-flex; align-items: center; gap: 6px; }
/* Home Builder live website preview (owner D18) */
body.admin-v2 .hb-v2 .hb-v2-live { position: relative; width: 100%; overflow: hidden; border: 1px solid var(--v2-line); border-radius: 8px; background: var(--v2-paper); }
body.admin-v2 .hb-v2 .hb-v2-live iframe { position: absolute; left: 0; top: 0; border: 0; transform-origin: 0 0; background: #fff; }
