/* Vendor mobile app shell (client/vendor/dashboard)
   real seller-center IA: a bottom-nav app (Home / Orders / Manage Products
   / Menu) shown below the ~768px breakpoint, replacing the desktop
   sidebar-and-tabs shell (.admin-shell) which stays for wider screens.
   Tokens match the real admin palette (client/css/admin.css): navy
   #1a1a2e, gold #f4b400, background #f4f5f7 - kept as CSS variables here
   so the mobile shell and admin.css never have to be kept in sync by hand. */

:root {
    --vm-navy: #1a1a2e;
    --vm-gold: #f4b400;
    --vm-bg: #f4f5f7;
    --vm-border: #e2e4ea;
    --vm-muted: #9aa1ae;
    --vm-subtext: #888;
    --vm-amber-bg: #fff3d6;
    --vm-amber-text: #9a6b00;
    --vm-green-bg: #e6f4ea;
    --vm-green-text: #1e7e34;
    --vm-red: #DC2626;
    --vm-info-bg: #eef1fa;
    --vm-info-text: #3a4568;
}

.vendor-mobile-shell {
    display: none;
}

@media (max-width: 768px) {
    .admin-shell { display: none; }
    .vendor-mobile-shell { display: block; }
}

.vendor-mobile-shell {
    max-width: 480px;
    margin: 0 auto;
    min-height: 100vh;
    background: var(--vm-bg);
    padding-bottom: 78px;
    position: relative;
}

.vm-screen { display: none; }
.vm-screen.active { display: block; }

/* --- Headers -------------------------------------------------------- */

.vm-header {
    background: var(--vm-navy);
    color: #fff;
    padding: 22px 18px 26px;
}
.vm-header.vm-header-compact { padding: 18px 18px 20px; display: flex; align-items: center; gap: 10px; }
.vm-header-brand { display: flex; align-items: center; gap: 8px; margin-bottom: 14px; }
.vm-header-brand-badge {
    min-width: 28px; height: 28px; padding: 0 5px; box-sizing: border-box; letter-spacing: .02em; background: var(--vm-gold); color: var(--vm-navy);
    border-radius: 7px; display: flex; align-items: center; justify-content: center;
    font-weight: bold; font-size: 14px; flex-shrink: 0;
}
.vm-header-eyebrow { font-size: 13px; font-weight: 600; opacity: .85; }
.vm-header-title { font-size: 21px; font-weight: 700; line-height: 1.3; }
.vm-header-compact .vm-header-title { font-size: 19px; }
.vm-header-subtitle { font-size: 13px; color: #cfd2e0; line-height: 1.5; margin-top: 6px; }
.vm-back-btn { background: none; border: none; color: #fff; display: flex; cursor: pointer; padding: 2px; flex-shrink: 0; }

/* --- Cards / lists ---------------------------------------------------- */

.vm-card {
    background: #fff;
    margin: 0 14px 14px;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    padding: 18px 16px;
}
.vm-card-title { font-size: 15px; font-weight: 700; color: var(--vm-navy); margin-bottom: 2px; }
.vm-card-subtitle { font-size: 12px; color: var(--vm-subtext); margin-bottom: 14px; line-height: 1.5; }

.vm-list-row {
    display: flex; align-items: center; gap: 12px; padding: 14px 4px;
    border-bottom: 1px solid #f0f1f4; color: var(--vm-navy);
    background: none; border-left: none; border-right: none; border-top: none;
    width: 100%; text-align: left; font: inherit; cursor: pointer;
}
.vm-list-row:last-child { border-bottom: none; }
.vm-list-row.vm-muted { color: var(--vm-muted); }
.vm-list-row-icon { display: flex; flex-shrink: 0; }
.vm-list-row-label { flex: 1; font-size: 14px; font-weight: 500; }
.vm-list-row-chevron { display: flex; color: #b6bac4; flex-shrink: 0; }
.vm-list-row.vm-danger { color: var(--vm-red); }
.vm-list-row.vm-danger .vm-list-row-label { font-weight: 600; }

.vm-badge-soon {
    font-size: 9.5px; font-weight: 700; color: var(--vm-amber-text);
    background: var(--vm-amber-bg); border-radius: 6px; padding: 3px 7px; margin-right: 4px;
}

.vm-group-header {
    display: flex; align-items: center; justify-content: space-between;
    padding: 12px 16px; background: #f7f8fa; margin: 0 -16px;
}
.vm-group-header-label {
    font-size: 12.5px; font-weight: 700; color: var(--vm-navy);
    letter-spacing: .02em; text-transform: uppercase;
}

.vm-note {
    margin: 0 14px 14px; padding: 12px 14px; border-radius: 10px;
    font-size: 11.5px; line-height: 1.55;
}
.vm-note-amber { background: var(--vm-amber-bg); color: var(--vm-amber-text); border: 1px solid #f4e0a3; }
.vm-note-info { background: var(--vm-info-bg); color: var(--vm-info-text); }

/* --- Bottom nav --------------------------------------------------------- */

.vm-bottom-nav {
    position: absolute; left: 0; right: 0; bottom: 0; height: 64px;
    background: #fff; border-top: 1px solid #eee; display: flex; align-items: stretch;
}
.vm-nav-item {
    flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 3px; color: var(--vm-muted); font-size: 10px; font-weight: 500; background: none; border: none;
    cursor: pointer; padding: 0; text-align: center; line-height: 1.2;
}
.vm-nav-item svg { flex-shrink: 0; }
.vm-nav-item.active { color: var(--vm-gold); font-weight: 700; }

/* --- Form fields (read-only display + real inputs) ----------------------- */

.vm-field { margin-bottom: 14px; }
.vm-field:last-child { margin-bottom: 0; }
.vm-field-label { display: block; font-size: 12px; font-weight: 600; color: #333; margin-bottom: 6px; }
.vm-field-display {
    padding: 11px 12px; border: 1px solid var(--vm-border); border-radius: 8px;
    font-size: 13.5px; color: var(--vm-navy); background: #f9f9fb;
}
.vm-field-display.vm-disabled { color: #aaa; }
.vm-field-input {
    width: 100%; padding: 11px 12px; border: 1px solid #dfe1e8; border-radius: 8px;
    font-size: 13.5px; color: var(--vm-navy); font-family: inherit;
}

.vm-btn-primary {
    background: var(--vm-gold); color: var(--vm-navy); text-align: center; border-radius: 10px;
    padding: 14px; font-size: 14.5px; font-weight: 700; border: none; width: 100%; cursor: pointer;
}
.vm-btn-primary:disabled { background: #e5e7eb; color: var(--vm-muted); cursor: not-allowed; }
.vm-btn-row { margin: 0 14px 14px; }
.vm-btn-help { font-size: 11px; color: #999; text-align: center; margin-top: 8px; }

/* --- Specs "insert table" paste tool (Word-style: pick rows/columns, then
   paste Excel data straight into the grid) --- */
/* Word/grid for picking a table size (tap a cell to insert a
   table that size; mouseover preview also runs on hybrid trackpad+touch
   devices, same idea as the desktop admin/vendor version). */
.vm-specs-table-grid-wrap { position: relative; display: inline-block; margin-bottom: 8px; }
.vm-specs-table-grid-trigger { font-size: 12px; border: 1px solid #1a1a2e; border-radius: 8px; padding: 8px 12px; background: #1a1a2e; color: #fff; cursor: pointer; }
.vm-specs-table-grid-popover { position: absolute; top: 100%; left: 0; margin-top: 4px; background: #fff; border: 1px solid #dfe1e8; border-radius: 8px; padding: 10px; box-shadow: 0 4px 16px rgba(0,0,0,0.15); z-index: 50; }
.vm-specs-table-grid-popover.hidden { display: none; }
.vm-specs-table-grid { display: grid; grid-template-columns: repeat(10, 18px); grid-template-rows: repeat(8, 18px); gap: 3px; }
.vm-specs-grid-cell { width: 18px; height: 18px; border: 1px solid #dfe1e8; background: #f9f9fb; border-radius: 2px; }
.vm-specs-grid-cell.vm-specs-grid-cell-active { background: #bfdbfe; border-color: #3b82f6; }
.vm-specs-table-grid-label { margin-top: 8px; font-size: 11.5px; color: #444; text-align: center; }
.vm-specs-paste-table { border-collapse: collapse; width: 100%; margin-bottom: 8px; }
.vm-specs-paste-table td { border: 1px solid #dfe1e8; padding: 0; }
.vm-specs-paste-table .vm-specs-paste-cell { width: 100%; box-sizing: border-box; padding: 8px; border: none; font-family: monospace; font-size: 12px; background: #fff; }
.vm-specs-paste-table .vm-specs-paste-cell:focus { outline: 2px solid var(--vm-navy); outline-offset: -2px; background: #f9f9fb; }
.vm-specs-paste-table-actions { display: flex; gap: 8px; }

/* --- Stat tiles (Home KPI state) ---------------------------------------- */

.vm-stat-row { display: flex; gap: 10px; margin-bottom: 10px; }
.vm-stat-row:last-child { margin-bottom: 0; }
.vm-stat-tile { background: #fff; border-radius: 12px; padding: 14px; flex: 1; }
.vm-stat-value { font-size: 20px; font-weight: 700; color: var(--vm-navy); margin-bottom: 4px; }
.vm-stat-label { font-size: 11px; color: var(--vm-subtext); line-height: 1.3; }

/* --- Status pills / filter pills (Orders) -------------------------------- */

.vm-pill-row { display: flex; gap: 8px; overflow-x: auto; padding: 14px 14px 4px; }
.vm-pill {
    flex-shrink: 0; padding: 8px 13px; border-radius: 20px; background: #fff; color: #555;
    border: 1px solid var(--vm-border); font-size: 12.5px; font-weight: 500; white-space: nowrap;
    cursor: pointer;
}
.vm-pill.active { background: var(--vm-gold); color: var(--vm-navy); border-color: transparent; font-weight: 700; }

.vm-search-field {
    display: flex; align-items: center; gap: 8px; padding: 12px 14px;
    border: 1px solid var(--vm-border); border-radius: 10px; background: #fff;
}
.vm-search-field input { border: none; outline: none; flex: 1; font-size: 13px; font-family: inherit; }
.vm-search-field input::placeholder { color: #aaa; }

/* --- Order cards ---------------------------------------------------------- */

.vm-order-card {
    background: #fff; border-radius: 12px; box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    padding: 14px; margin: 0 14px 10px;
}
.vm-order-card-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; }
.vm-order-no { font-size: 12.5px; font-weight: 700; color: var(--vm-navy); }
.vm-order-status { font-size: 9.5px; font-weight: 700; padding: 3px 8px; border-radius: 6px; }
.vm-order-product { font-size: 13px; color: var(--vm-navy); font-weight: 600; margin-bottom: 2px; }
.vm-order-meta { font-size: 11px; color: var(--vm-subtext); margin-bottom: 8px; }
.vm-order-bottom { display: flex; align-items: center; justify-content: space-between; font-size: 11.5px; color: #555; }
.vm-order-amount { font-weight: 700; color: var(--vm-navy); }
.vm-order-actions { display: flex; gap: 8px; margin-top: 10px; }
.vm-order-action-btn {
    flex: 1; padding: 8px; border-radius: 8px; border: 1px solid var(--vm-border); background: #fff;
    font-size: 11.5px; font-weight: 600; color: var(--vm-navy); cursor: pointer;
}

/* --- Empty states ----------------------------------------------------- */

.vm-empty-state { padding: 60px 20px; text-align: center; font-size: 13px; color: #bbb; }
.vm-loading-state { padding: 40px 20px; text-align: center; font-size: 13px; color: #aaa; }

/* --- Product Management (filters + bulk bar + FAB) ------------------------ */

.vm-pm-title { padding: 20px 18px 4px; font-size: 22px; font-weight: 800; color: var(--vm-navy); }
.vm-pm-status-label { font-size: 11px; font-weight: 700; color: var(--vm-muted); text-transform: uppercase; letter-spacing: .04em; margin: 0 14px 6px; }
.vm-pm-all-pill {
    display: inline-flex; margin: 0 14px 14px; padding: 7px 16px; border-radius: 20px; background: #fff;
    border: 1.5px solid var(--vm-gold); font-size: 12.5px; font-weight: 700; color: var(--vm-amber-text);
}
.vm-pm-group-label { font-size: 10.5px; font-weight: 700; color: #b08a2e; text-transform: uppercase; letter-spacing: .04em; margin: 0 14px 6px; }
.vm-pm-group {
    display: flex; flex-wrap: wrap; gap: 8px; background: #fdf1d6; border-radius: 14px;
    padding: 12px; margin: 0 14px 14px;
}
.vm-pm-group-pill {
    padding: 8px 14px; border-radius: 20px; background: #fff; border: 1px solid #e7d9b5;
    font-size: 12.5px; font-weight: 600; color: var(--vm-navy); white-space: nowrap; cursor: pointer;
}
.vm-pm-group-pill.active { border-color: var(--vm-gold); background: var(--vm-gold); color: var(--vm-navy); }

.vm-bulk-bar { display: flex; align-items: center; gap: 10px; padding: 14px 16px; border-bottom: 1px solid #eee; }
.vm-checkbox {
    width: 19px; height: 19px; border-radius: 5px; border: 1.5px solid #c7cad3; background: #fff;
    display: flex; align-items: center; justify-content: center; flex-shrink: 0; cursor: pointer; padding: 0;
}
.vm-checkbox.checked { background: var(--vm-gold); border-color: var(--vm-gold); }
.vm-bulk-actions { display: flex; align-items: center; justify-content: center; gap: 14px; padding: 12px 16px; }
.vm-bulk-action { display: flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 600; background: none; border: none; cursor: pointer; }
.vm-bulk-action.vm-enabled { color: var(--vm-navy); }
.vm-bulk-action.vm-disabled-look { color: #8a8f99; cursor: not-allowed; }
.vm-bulk-divider { width: 1px; height: 16px; background: var(--vm-border); }

.vm-fab-row { position: sticky; bottom: 78px; display: flex; justify-content: center; padding: 10px 0 4px; }
.vm-fab-cluster {
    display: flex; align-items: center; gap: 8px; background: #fff; border-radius: 26px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.15); padding: 8px;
}
.vm-fab {
    width: 42px; height: 42px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
    background: none; cursor: pointer;
}
.vm-fab-outline { border: 1px solid var(--vm-border); color: var(--vm-navy); }
.vm-fab-gold-outline { border: 1.5px solid var(--vm-gold); color: var(--vm-amber-text); }
.vm-fab-gold { background: var(--vm-gold); border: none; color: var(--vm-navy); }

/* --- Home: shop-setup onboarding (client/js/vendor-shop-setup.js) ---------
   Lizimas mobile seller onboarding layout (section tiles, then the
   selected section's form in a white card underneath), in Lizimas colours:
   gold accent, navy text. */

.vss-card {
    background: #fff; margin: 14px 12px; border-radius: 12px; padding: 20px 16px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}
.vss-brand { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.vss-status-pill { padding: 4px 11px; border-radius: 999px; font-size: 11.5px; font-weight: 700; }
.vss-h1 { font-size: 22px; line-height: 1.3; font-weight: 700; color: var(--vm-navy); margin: 0 0 8px; }
.vss-h2 { font-size: 18px; font-weight: 600; color: var(--vm-navy); margin: 0 0 8px; }
.vss-muted { font-size: 12.5px; color: #6b7280; line-height: 1.5; margin: 0; }
.vss-progress { font-size: 11.5px; font-weight: 600; color: var(--vm-amber-text); margin: 10px 0 0; }
.vss-link { font-size: 13px; color: #1d4ed8; text-decoration: underline; }

.vss-banner { border-radius: 8px; padding: 10px 12px; font-size: 12px; line-height: 1.5; margin: 12px 0 0; }
.vss-card > .vss-banner:first-child, #vss-form-card > .vss-banner:first-child { margin: 0 0 16px; }
.vss-banner-amber { background: var(--vm-amber-bg); color: var(--vm-amber-text); }
.vss-banner-red { background: #fce8e6; color: #c5221f; }

/* Section tiles */
.vss-tiles { display: flex; flex-direction: column; gap: 8px; margin-top: 16px; max-width: 280px; }
.vss-tile {
    display: block; width: 100%; text-align: left; border: none; cursor: pointer; font: inherit;
    background: #f7f7f8; border-radius: 12px; padding: 14px 16px;
}
.vss-tile-active { background: #fff4d6; }
.vss-tile-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; padding-bottom: 10px; border-bottom: 1px solid #e5e7eb; }
.vss-tile-title { font-size: 15px; font-weight: 500; color: #222; line-height: 1.3; }
.vss-tile-icon { color: var(--vm-gold); display: flex; flex-shrink: 0; }
.vss-tile-active .vss-tile-icon { color: #c98f00; }
.vss-tile-status { display: flex; align-items: center; gap: 7px; padding-top: 9px; font-size: 11.5px; letter-spacing: .03em; color: #555; }
.vss-dot { width: 16px; height: 16px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.vss-dot-done { background: #16a34a; }
.vss-dot-pending { background: #9ca3af; color: #fff; font-size: 7px; letter-spacing: -1px; line-height: 1; }

/* Form sections */
.vss-section { padding: 4px 0 22px; border-bottom: 1px solid #eceef1; margin-bottom: 22px; }
.vss-section:last-of-type { border-bottom: none; margin-bottom: 4px; }
.vss-section-title { font-size: 19px; font-weight: 500; color: #222; margin: 0 0 8px; }
.vss-section-sub { font-size: 12.5px; color: #6b7280; line-height: 1.55; margin: 0 0 18px; }
.vss-field { margin-bottom: 18px; }
.vss-label-row { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 7px; }
.vss-label { font-size: 12px; font-weight: 500; color: #333; }
.vss-req { font-size: 11px; color: #9ca3af; }
.vss-hint { font-size: 10.5px; color: #6b7280; margin-top: 5px; }
.vss-hint-error { color: var(--vm-red); }
.vss-input {
    display: block; width: 100%; box-sizing: border-box; min-height: 42px; padding: 11px 12px;
    border: 1px solid #dfe1e6; border-radius: 6px; background: #fff; font: inherit; font-size: 13px; color: #222;
}
.vss-input::placeholder, .vss-placeholder { color: #a3a8b3; }
.vss-input:focus { outline: none; border-color: var(--vm-gold); box-shadow: 0 0 0 2px rgba(244,180,0,.2); }
.vss-input:disabled, .vss-input-locked { background: #e9eaec; border-color: #e9eaec; color: #444; }
.vss-prefix-row { display: flex; gap: 8px; }
.vss-prefix { display: flex; align-items: center; padding: 0 10px; border: 1px solid #dfe1e6; border-radius: 6px; font-size: 13px; color: #444; }
.vss-prefix-row .vss-input { flex: 1; }
.vss-copy-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.vss-copy { background: none; border: none; color: #1d4ed8; cursor: pointer; display: flex; padding: 0; }
.vss-copy.vss-copied { color: #16a34a; }
.vss-upload { display: flex; align-items: center; justify-content: space-between; gap: 8px; cursor: pointer; color: #a3a8b3; }
.vss-upload svg { color: var(--vm-gold); flex-shrink: 0; }
.vss-hidden { display: none; }
select.vss-select { appearance: none; -webkit-appearance: none; padding-right: 32px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0h10L5 6z' fill='%23555'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right 12px center; }

/* Multi-select (ID type, seller type) */
.vss-multi { position: relative; }
.vss-multi > summary { list-style: none; cursor: pointer; padding-right: 32px; position: relative; }
.vss-multi > summary::-webkit-details-marker { display: none; }
.vss-multi > summary::after { content: ""; position: absolute; right: 12px; top: 50%; margin-top: -3px; border: 5px solid transparent; border-top: 6px solid #555; border-bottom: 0; }
.vss-multi-menu {
    position: absolute; z-index: 20; left: 0; right: 0; top: calc(100% + 4px); background: #fff;
    border-radius: 6px; box-shadow: 0 6px 20px rgba(0,0,0,.15); padding: 4px 0;
}
.vss-multi-opt { display: flex; align-items: center; gap: 10px; padding: 12px 14px; font-size: 13.5px; color: #222; cursor: pointer; }
.vss-multi-opt input { accent-color: var(--vm-gold); width: 16px; height: 16px; }

/* Toggle switch (shipping "same as business address") */
.vss-switch { display: flex; align-items: center; gap: 10px; margin-bottom: 20px; cursor: pointer; font-size: 12px; color: #333; }
.vss-switch input { position: absolute; opacity: 0; pointer-events: none; }
.vss-switch-track { width: 34px; height: 18px; border-radius: 9px; background: #d1d5db; position: relative; flex-shrink: 0; transition: background .15s; }
.vss-switch-track::after { content: ""; position: absolute; top: 2px; left: 2px; width: 14px; height: 14px; border-radius: 50%; background: #fff; transition: transform .15s; box-shadow: 0 1px 2px rgba(0,0,0,.2); }
.vss-switch input:checked + .vss-switch-track { background: var(--vm-gold); }
.vss-switch input:checked + .vss-switch-track::after { transform: translateX(16px); }

/* Buttons + status */
.vss-actions { display: flex; justify-content: flex-end; margin-top: 8px; }
.vss-actions-split { gap: 10px; }
.vss-btn {
    min-width: 120px; padding: 12px 22px; border-radius: 6px; border: 1px solid var(--vm-gold);
    background: var(--vm-gold); color: var(--vm-navy); font-size: 14px; font-weight: 700; cursor: pointer; font-family: inherit;
}
.vss-btn-outline { background: #fff; color: #9a6b00; border-color: #dfe1e6; }
.vss-status { font-size: 12px; text-align: right; margin-top: 8px; min-height: 16px; color: #555; }
.vss-status-ok { color: var(--vm-green-text); }
.vss-status-error { color: var(--vm-red); }

/* Payment */
.vss-country { display: flex; align-items: center; gap: 12px; padding: 14px 10px; font-size: 14px; color: #555; }
.vss-flag { display: inline-flex; flex-direction: column; width: 24px; height: 16px; overflow: hidden; border-radius: 2px; }
.vss-flag i { flex: 1; display: block; }
.vss-acc { border-top: 1px solid #f1f2f4; }
.vss-acc-head { display: flex; align-items: center; gap: 12px; width: 100%; background: none; border: none; padding: 16px 6px; font: inherit; font-size: 13px; color: #222; cursor: pointer; text-align: left; }
.vss-acc-open { color: #b58300; }
.vss-caret { width: 12px; font-size: 13px; }
.vss-acc-body { padding: 0 6px 14px; }
.vss-empty { text-align: center; font-size: 13.5px; color: #444; padding: 6px 0; }
.vss-add-link { display: flex; align-items: center; gap: 12px; background: none; border: none; color: #b58300; font: inherit; font-size: 15px; font-weight: 600; padding: 8px 0; cursor: pointer; }
.vss-add-link span { font-size: 24px; font-weight: 300; line-height: 1; }
.vss-add-form { border: 1px solid #eceef1; border-radius: 10px; padding: 14px; margin-top: 8px; }
.vss-instrument { border: 1px solid #eceef1; border-radius: 10px; padding: 12px; margin-bottom: 10px; }
.vss-instrument-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 3px; }
.vss-instrument-name { font-size: 13.5px; font-weight: 600; color: var(--vm-navy); }
.vss-instrument-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.vss-mini-btn { display: inline-block; font-size: 11.5px; font-weight: 600; color: var(--vm-navy); background: #f3f4f6; border: 1px solid #e5e7eb; border-radius: 6px; padding: 6px 10px; cursor: pointer; font-family: inherit; }
.vss-badge { font-size: 10px; font-weight: 700; padding: 3px 8px; border-radius: 6px; white-space: nowrap; }
.vss-badge-amber { background: var(--vm-amber-bg); color: var(--vm-amber-text); }
.vss-badge-green { background: var(--vm-green-bg); color: var(--vm-green-text); }
.vss-badge-red { background: #fce8e6; color: #c5221f; }
.vss-badge-navy { background: var(--vm-navy); color: #fff; }

/* Additional Information tabs + questions */
.vss-tabs { display: flex; border-bottom: 1px solid #e5e7eb; margin: -4px 0 8px; }
.vss-tab { flex: 1; background: none; border: none; border-bottom: 2px solid transparent; padding: 12px 6px; font: inherit; font-size: 15px; color: #222; cursor: pointer; }
.vss-tab-active { color: #b58300; border-bottom-color: var(--vm-gold); }
.vss-question { padding: 18px 0; border-bottom: 1px solid #eceef1; }
.vss-question:last-of-type { border-bottom: none; }
.vss-question-label { font-size: 14px; color: #222; margin-bottom: 12px; line-height: 1.4; }
.vss-radios { display: flex; flex-direction: column; gap: 12px; }
.vss-radio { display: flex; align-items: center; gap: 12px; font-size: 13.5px; color: #444; cursor: pointer; }
.vss-radio input { position: absolute; opacity: 0; pointer-events: none; }
.vss-radio span { width: 18px; height: 18px; border-radius: 50%; border: 2px solid #9ca3af; flex-shrink: 0; position: relative; }
.vss-radio input:checked + span { border-color: var(--vm-gold); }
.vss-radio input:checked + span::after { content: ""; position: absolute; inset: 3px; border-radius: 50%; background: var(--vm-gold); }

/* --- Vendor Center shared components (client/js/vendor-center.js) --------
   Vendor Center layouts in Lizimas colours: navy #1a1a2e, gold
   #f4b400 (fills), darker gold #b07d00 (gold text on white - readable),
   used by BOTH the mobile shell and the desktop dashboard. */

.vc-page { padding: 16px 14px 24px; color: #222; }
.vc-page-desktop { padding: 0; }
.vc-page-title { font-size: 22px; font-weight: 800; color: var(--vm-navy); margin: 0 0 14px; }
.vc-page-title-grey { color: #555; font-size: 24px; }
.vc-h3 { font-size: 18px; font-weight: 500; margin: 0 0 10px; color: #222; }
.vc-h4 { font-size: 15px; font-weight: 700; margin: 18px 0 8px; color: var(--vm-navy); }
.vc-section { margin-bottom: 26px; }
.vc-center { display: flex; justify-content: center; margin: 12px 0; }
.vc-muted { font-size: 12.5px; color: #6b7280; line-height: 1.55; margin: 0 0 10px; }
.vc-empty { font-size: 13px; color: #888; text-align: center; padding: 24px 8px; margin: 0; }
.vc-empty-tight { padding: 12px 8px; }
.vc-sep { color: #bbb; margin: 0 2px; }
.vc-nowrap { white-space: nowrap; }
.vc-mono { font-family: ui-monospace, Menlo, monospace; font-size: 12.5px; }
.vc-ellipsis { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; max-width: 62%; }
.vc-refetching { opacity: .55; transition: opacity .15s; }
.vc-noscroll { overflow: hidden; }

/* Buttons */
.vc-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    padding: 10px 16px; border-radius: 6px; font: inherit; font-size: 13.5px; font-weight: 700;
    cursor: pointer; border: 1px solid transparent; white-space: nowrap; min-height: 40px;
}
.vc-btn:disabled { cursor: not-allowed; }
.vc-btn-gold { background: var(--vm-gold); color: var(--vm-navy); border-color: var(--vm-gold); }
.vc-btn-gold:disabled { background: #e5e7eb; border-color: #e5e7eb; color: #9aa1ae; }
.vc-btn-outline { background: #fff; color: #9a6b00; border-color: #e0c56a; }
.vc-btn-grey { background: #e5e7eb; color: #4b5563; }
.vc-btn-grey:not(:disabled) { background: var(--vm-navy); color: #fff; }
.vc-btn-grey:disabled { opacity: .75; }
.vc-btn-soft { background: #fff4d6; color: #9a6b00; border-color: #f4e0a3; }
.vc-btn-caps { text-transform: uppercase; letter-spacing: .02em; }
.vc-btn-big { min-width: 260px; min-height: 50px; font-size: 15px; box-shadow: 0 3px 8px rgba(0,0,0,.12); margin-top: 8px; }
.vc-link-gold { background: none; border: none; color: #b07d00; font: inherit; font-size: 13.5px; font-weight: 600; cursor: pointer; padding: 6px 0; }
.vc-link-muted { background: none; border: none; color: #8a8f99; font: inherit; font-size: 13.5px; cursor: pointer; padding: 6px 0; }
.vc-text-btn { background: none; border: 1px solid #e0c56a; color: #9a6b00; border-radius: 6px; font: inherit; font-size: 12px; font-weight: 600; padding: 5px 9px; cursor: pointer; }
.vc-icon-btn { background: none; border: none; width: 36px; height: 36px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: #222; cursor: pointer; }
.vc-icon-btn:hover, .vc-icon-btn:focus-visible { background: #f3f4f6; }
.vc-icon-gold { color: #d99a00; }
.vc-icon-row { display: inline-flex; align-items: center; gap: 6px; justify-content: flex-end; flex-wrap: wrap; }

/* Inputs */
.vc-input { width: 100%; box-sizing: border-box; min-height: 44px; padding: 10px 12px; border: 1px solid #dfe1e6; border-radius: 6px; background: #fff; font: inherit; font-size: 14px; color: #222; }
.vc-input:focus { outline: none; border-color: var(--vm-gold); box-shadow: 0 0 0 2px rgba(244,180,0,.2); }
.vc-label { display: block; font-size: 12.5px; font-weight: 600; color: #333; margin-bottom: 6px; }
.vc-field { margin-bottom: 14px; }
.vc-search { position: relative; display: flex; align-items: center; flex: 1; min-width: 0; }
.vc-search input { width: 100%; min-height: 46px; padding: 10px 40px 10px 14px; border: 1px solid #dfe1e6; border-radius: 6px; font: inherit; font-size: 14px; background: #fff; box-sizing: border-box; }
.vc-search input:focus { outline: none; border-color: var(--vm-gold); }
.vc-search span { position: absolute; right: 12px; color: #d99a00; display: flex; pointer-events: none; }
.vc-search-block { margin-bottom: 14px; }

/* Switch */
.vc-switch { position: relative; display: inline-flex; cursor: pointer; flex-shrink: 0; }
.vc-switch input { position: absolute; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.vc-switch-track { width: 40px; height: 20px; border-radius: 10px; background: #9ca3af; position: relative; transition: background .15s; }
.vc-switch-track::after { content: ""; position: absolute; top: -3px; left: -2px; width: 26px; height: 26px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.35); transition: transform .15s, background .15s; }
.vc-switch input:checked + .vc-switch-track { background: #f9d77a; }
.vc-switch input:checked + .vc-switch-track::after { transform: translateX(18px); background: var(--vm-gold); }
.vc-switch input:focus-visible + .vc-switch-track { outline: 2px solid var(--vm-navy); outline-offset: 3px; }
.vc-switch input:disabled + .vc-switch-track { opacity: .6; }

/* Badges */
.vc-badge { display: inline-block; font-size: 11px; font-weight: 700; padding: 3px 8px; border-radius: 6px; white-space: nowrap; }
.vc-badge-green { background: var(--vm-green-bg); color: var(--vm-green-text); }
.vc-badge-red { background: #fce8e6; color: #c5221f; }
.vc-badge-amber { background: var(--vm-amber-bg); color: var(--vm-amber-text); }
.vc-badge-grey { background: #eef0f3; color: #4b5563; }
.vc-badge-gold { background: #fff4d6; color: #9a6b00; }

/* Key/value cards (mobile list style) */
.vc-kv { display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; padding: 10px 0; font-size: 14px; }
.vc-kv > span:first-child { color: #6b7280; flex-shrink: 0; max-width: 48%; }
.vc-kv > span:last-child { text-align: right; color: #222; }
.vc-kv-actions { border: 1px solid #f1f2f4; border-radius: 4px; padding: 8px 10px; margin: 6px -10px 0; align-items: center; }
.vc-app-card, .vc-user-card { background: #fff; border-radius: 6px; box-shadow: 0 1px 4px rgba(0,0,0,.12); padding: 14px 24px 18px; margin-bottom: 16px; }
.vc-user-note { margin-top: 6px; }

/* Tiles (Stock) */
.vc-tiles { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(170px, 1fr); gap: 12px; overflow-x: auto; padding-bottom: 6px; margin-bottom: 16px; }
.vc-tile { background: #fff; border-radius: 6px; padding: 14px; box-shadow: 0 1px 2px rgba(0,0,0,.06); }
.vc-tile-title { font-size: 15px; font-weight: 500; color: #222; line-height: 1.3; }
.vc-tile-value { font-size: 26px; font-weight: 700; color: #b07d00; margin: 6px 0 4px; }
.vc-tile-sub { font-size: 12.5px; color: #6b7280; line-height: 1.45; }
.vc-info { cursor: help; }

.vc-toolbar { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: 12px; }
.vc-field-select { width: auto; min-width: 150px; flex: 0 0 auto; }
.vc-toolbar .vc-search { min-width: 180px; }
.vc-pillbar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 12px; }
.vc-pillbar-scroll { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; }
.vc-pill-label { font-size: 11.5px; font-weight: 700; color: #6b7280; letter-spacing: .05em; text-transform: uppercase; }
.vc-pill { display: inline-flex; align-items: center; gap: 5px; padding: 7px 14px; border-radius: 999px; border: 1px solid #d1d5db; background: #fff; color: #6b7280; font: inherit; font-size: 13px; cursor: pointer; white-space: nowrap; }
.vc-pill-caps { text-transform: uppercase; font-size: 12px; font-weight: 600; letter-spacing: .02em; }
.vc-pill-active { border-color: var(--vm-gold); background: var(--vm-gold); color: var(--vm-navy); font-weight: 700; }
.vc-push-right { margin-left: auto; }

.vc-table-wrap { overflow-x: auto; background: #fff; border-radius: 6px; box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.vc-table { width: 100%; border-collapse: collapse; font-size: 13.5px; min-width: 720px; }
.vc-table th { text-align: left; font-weight: 500; color: #6b7280; padding: 14px 12px; border-bottom: 1px solid #eceef1; white-space: nowrap; }
.vc-table td { padding: 14px 12px; border-bottom: 1px solid #f1f2f4; vertical-align: middle; }
.vc-table tbody tr:hover { background: #fffcf2; }
.vc-num { text-align: right; font-variant-numeric: tabular-nums; }
.vc-col-check { width: 36px; }
.vc-col-check input { width: 17px; height: 17px; accent-color: var(--vm-gold); }
.vc-prod-name { font-weight: 600; color: var(--vm-navy); font-size: 13.5px; }
.vc-prod-sku { font-size: 11.5px; color: #8a8f99; margin-top: 2px; }

/* Pager */
.vc-pager { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 4px; font-size: 13px; color: #6b7280; }
.vc-pager-size select { border: none; border-bottom: 1px solid #9ca3af; background: transparent; font: inherit; padding: 4px 2px; margin-left: 6px; }
.vc-pager-nav { display: inline-flex; gap: 2px; }
.vc-pager-btn { background: none; border: none; width: 36px; height: 36px; border-radius: 50%; color: #4b5563; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
.vc-pager-btn:disabled { color: #d1d5db; cursor: default; }

/* Promotions */
.vc-promo-none { font-size: 14px; color: #222; margin: 0 0 4px 8px; }
.vc-viewall { display: inline-flex; align-items: center; gap: 8px; background: none; border: none; font: inherit; font-size: 15px; color: #222; text-decoration: underline; cursor: pointer; }
.vc-round-gold { width: 26px; height: 26px; border-radius: 50%; background: var(--vm-gold); color: var(--vm-navy); display: inline-flex; align-items: center; justify-content: center; }
.vc-camp-mini-list { display: flex; flex-direction: column; gap: 8px; }
.vc-camp-mini { text-align: left; background: #fff; border: 1px solid #eceef1; border-left: 4px solid var(--vm-gold); border-radius: 6px; padding: 10px 12px; font: inherit; cursor: pointer; display: flex; flex-direction: column; gap: 2px; }
.vc-camp-mini-name { font-weight: 700; color: var(--vm-navy); font-size: 14px; }
.vc-camp-mini-meta { font-size: 12px; color: #6b7280; }
.vc-filter-row { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 14px; flex-wrap: wrap; }
.vc-country { flex: 1; min-width: 150px; max-width: 260px; }
.vc-chips { display: flex; flex-wrap: wrap; gap: 8px; flex: 1; min-width: 150px; }
.vc-chip { border: none; background: #e5e7eb; color: #4b5563; border-radius: 999px; padding: 6px 13px; font: inherit; font-size: 13.5px; font-weight: 600; cursor: pointer; min-height: 32px; }
.vc-chip-active { background: var(--vm-gold); color: var(--vm-navy); }
.vc-chart-card { background: #fff; border-radius: 6px; box-shadow: 0 1px 4px rgba(0,0,0,.12); padding: 18px 14px 12px; }
.vc-chart-caption { text-align: center; font-size: 13px; color: #8a8f99; }
.vc-chart-hero { text-align: center; font-size: 24px; font-weight: 800; color: var(--vm-navy); margin-top: 4px; font-variant-numeric: tabular-nums; }
.vc-chart-sub { text-align: center; font-size: 12px; color: #6b7280; margin-bottom: 8px; }
.vc-chart { position: relative; }
.vc-chart svg { width: 100%; height: auto; display: block; overflow: visible; }
.vc-chart .vc-bar path { fill: #b07d00; }
.vc-chart .vc-bar { cursor: default; outline: none; }
.vc-chart .vc-bar-hover path, .vc-chart .vc-bar:focus path { fill: #8a6200; }
.vc-chart .vc-grid { stroke: #eef0f3; stroke-width: 1; }
.vc-chart .vc-axis { font-size: 10px; fill: #8a8f99; font-family: inherit; }
.vc-chart-empty { text-align: center; font-size: 13px; color: #8a8f99; padding: 30px 8px 24px; }
.vc-tooltip { position: absolute; top: -8px; transform: translate(-50%, -100%); background: #fff; border: 1px solid #e2e4ea; box-shadow: 0 4px 12px rgba(0,0,0,.12); border-radius: 6px; padding: 6px 10px; font-size: 12px; pointer-events: none; display: flex; flex-direction: column; align-items: center; white-space: nowrap; }
.vc-tooltip strong { color: #111; font-size: 13px; }
.vc-tooltip span { color: #6b7280; }
.vc-card-plain { background: #fff; border-radius: 6px; box-shadow: 0 1px 4px rgba(0,0,0,.12); padding: 4px 14px; }
.vc-hl-row, .vc-entry { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid #f1f2f4; }
.vc-hl-row:last-child, .vc-entry:last-child { border-bottom: none; }
.vc-hl-main { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.vc-hl-price { text-align: right; }
.vc-hl-sale { font-weight: 700; color: var(--vm-navy); font-size: 14px; }
.vc-hl-was { font-size: 11.5px; color: #8a8f99; }
.vc-hl-sold { font-size: 12px; color: #4b5563; min-width: 56px; text-align: right; }
.vc-entry-side { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }

.vc-camp-head { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: 12px; }
.vc-camp-head .vc-pillbar { margin: 0; flex: 1 1 420px; }
.vc-camp-search { flex: 0 1 300px; }
.vc-camp-name { font-weight: 500; color: #222; }
.vc-camp-card { background: #fff; border-top: 8px solid #fbe3a3; border-radius: 2px; box-shadow: 0 1px 3px rgba(0,0,0,.1); padding: 8px 14px 4px; margin-bottom: 16px; }
.vc-camp-card:first-child { border-top-color: transparent; }
.vc-camp-card-joined { background: #fffaf0; }
.vc-camp-card .vc-kv { font-size: 13px; border-bottom: 1px solid #f1f2f4; }
.vc-camp-card .vc-kv > span:first-child { color: #333; }
.vc-camp-card-action { display: flex; justify-content: center; padding: 10px 0 14px; }
.vc-camp-summary { background: #fafafb; border-radius: 6px; padding: 4px 14px; margin-bottom: 4px; }
.vc-camp-summary .vc-kv { font-size: 13px; }
.vc-join-list { display: flex; flex-direction: column; border: 1px solid #eceef1; border-radius: 6px; }
.vc-join-row { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-bottom: 1px solid #f1f2f4; cursor: pointer; flex-wrap: wrap; }
.vc-join-row:last-child { border-bottom: none; }
.vc-join-check { width: 18px; height: 18px; accent-color: var(--vm-gold); flex-shrink: 0; }
.vc-join-price { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.vc-join-sale { width: 130px; min-height: 40px; }
.vc-join-pct { font-size: 12px; font-weight: 700; color: var(--vm-green-text); min-width: 58px; }
.vc-join-pct-bad { color: var(--vm-red); }

/* Consignment order sheet */
.vc-co-lines { display: flex; flex-direction: column; border: 1px solid #eceef1; border-radius: 6px; margin-bottom: 14px; }
.vc-co-line { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 12px; border-bottom: 1px solid #f1f2f4; }
.vc-co-line:last-child { border-bottom: none; }
.vc-co-qty { width: 96px; flex-shrink: 0; }

/* Sheet / dialog - bottom sheet on phones, centred dialog on desktop */
.vc-overlay { position: fixed; inset: 0; background: rgba(17,17,34,.45); z-index: 1000; display: flex; align-items: flex-end; justify-content: center; }
.vc-sheet {
    background: #fff; width: 100%; max-height: 90vh; display: flex; flex-direction: column;
    border-radius: 22px 22px 0 0; border-top: 4px solid var(--vm-gold); box-shadow: 0 -8px 30px rgba(0,0,0,.2);
    animation: vc-up .18s ease-out;
}
@keyframes vc-up { from { transform: translateY(24px); opacity: .6; } to { transform: none; opacity: 1; } }
.vc-sheet-head { padding: 22px 24px 4px; }
.vc-sheet-title { margin: 0; font-size: 24px; font-weight: 600; color: #222; }
.vc-sheet-body { padding: 10px 24px; overflow-y: auto; flex: 1; }
.vc-sheet-foot { display: flex; justify-content: space-between; gap: 10px; padding: 14px 24px calc(18px + env(safe-area-inset-bottom)); border-top: 1px solid #f1f2f4; }
@media (min-width: 769px) {
    .vc-overlay { align-items: center; padding: 24px; }
    .vc-sheet { max-width: 560px; border-radius: 22px; }
    .vc-sheet-wide { max-width: 780px; }
}

/* Toast */
.vc-toast { position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%); z-index: 1100; width: min(560px, calc(100% - 24px)); box-sizing: border-box; display: flex; align-items: center; gap: 14px; padding: 16px 18px; border-radius: 6px; color: #fff; font-size: 15px; box-shadow: 0 6px 20px rgba(0,0,0,.25); }
.vc-toast-error { background: #d9534f; }
.vc-toast-ok { background: #1e7e34; }
.vc-toast-icon { display: flex; flex-shrink: 0; }
.vc-toast-msg { flex: 1; line-height: 1.4; }
.vc-toast-x { background: none; border: none; color: #fff; cursor: pointer; display: flex; padding: 4px; }

/* Kebab menu */
.vc-menu { position: absolute; z-index: 1050; background: #fff; border-radius: 4px; box-shadow: 0 6px 20px rgba(0,0,0,.2); padding: 8px 0; min-width: 220px; }
.vc-menu-item { display: flex; align-items: center; gap: 20px; width: 100%; background: none; border: none; padding: 14px 22px; font: inherit; font-size: 15px; color: #222; cursor: pointer; text-align: left; }
.vc-menu-item:hover:not(:disabled), .vc-menu-item:focus-visible { background: #f7f7f8; }
.vc-menu-item:disabled { color: #b8bcc4; cursor: default; }
.vc-menu-danger:not(:disabled) { color: #c5221f; }
.vc-menu-icon { display: flex; color: #6b7280; }

/* Create Application form */
.vc-uline-field { margin-bottom: 18px; }
.vc-uline-label { display: block; font-size: 12.5px; color: #b07d00; }
.vc-uline-input { width: 100%; border: none; border-bottom: 2px solid var(--vm-gold); padding: 8px 0; font: inherit; font-size: 16px; background: transparent; box-sizing: border-box; }
.vc-uline-input:focus { outline: none; background: #fffaf0; }
.vc-uline-invalid .vc-uline-label { color: #c5221f; }
.vc-uline-invalid .vc-uline-input { border-bottom-color: #c5221f; }
.vc-uline-error { font-size: 12.5px; color: #c5221f; min-height: 16px; margin-top: 4px; }
.vc-app-type-title { font-size: 16px; color: #222; margin: 6px 0 14px; }
.vc-radio-block { display: flex; gap: 16px; align-items: flex-start; margin-bottom: 20px; cursor: pointer; position: relative; }
.vc-radio-block input { position: absolute; opacity: 0; }
.vc-radio-dot { width: 22px; height: 22px; border-radius: 50%; border: 2px solid #6b7280; flex-shrink: 0; margin-top: 1px; box-sizing: border-box; }
.vc-radio-block input:checked + .vc-radio-dot { border-color: var(--vm-gold); box-shadow: inset 0 0 0 4px #fff, inset 0 0 0 12px var(--vm-gold); }
.vc-radio-block input:focus-visible + .vc-radio-dot { outline: 2px solid var(--vm-navy); outline-offset: 2px; }
.vc-radio-title { display: block; font-size: 15px; color: #222; margin-bottom: 4px; }
.vc-radio-desc { display: block; font-size: 13.5px; color: #6b7280; line-height: 1.6; }

/* Assign Permissions */
.vc-perm-intro { font-size: 13px; color: #6b7280; margin: -4px 0 8px; padding-bottom: 10px; border-bottom: 1px solid #eceef1; line-height: 1.5; }
.vc-perm-row { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-bottom: 1px solid #f1f2f4; box-shadow: 0 1px 0 rgba(0,0,0,.02); }
.vc-perm-text { flex: 1; min-width: 0; }
.vc-perm-name { font-size: 16px; color: #222; }
.vc-perm-desc { font-size: 12.5px; color: #8a8f99; margin-top: 2px; line-height: 1.35; }
.vc-perm-state { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.vc-perm-label { font-size: 13px; color: #6b7280; letter-spacing: .03em; min-width: 66px; text-align: right; }
.vc-perm-label.vc-on { color: #b07d00; font-weight: 700; }

/* Advertise your Products hero */
.vc-ads-hero { background: #fbfaf6; padding: 18px 16px 8px; color: var(--vm-navy); }
.vc-ads-hero-desktop .vc-ads-hero { border-radius: 12px; padding: 24px 28px 12px; margin-bottom: 18px; }
.vc-ads-brand { font-size: 22px; font-weight: 800; color: var(--vm-navy); position: relative; display: inline-block; margin-bottom: 18px; }
.vc-ads-brand span { font-weight: 400; }
.vc-ads-brand::after { content: ""; position: absolute; left: 6px; right: 40%; bottom: -5px; height: 3px; border-radius: 3px; background: var(--vm-gold); transform: rotate(-2deg); }
.vc-ads-top { display: flex; align-items: center; gap: 8px; }
.vc-ads-copy { flex: 1 1 58%; min-width: 0; }
.vc-ads-title { font-size: 21px; line-height: 1.3; font-weight: 800; margin: 0 0 12px; color: var(--vm-navy); }
.vc-ads-title span { color: #c98f00; }
.vc-ads-lead { font-size: 13.5px; color: #4b5563; line-height: 1.6; margin: 0; }
.vc-ad-illus { flex: 0 0 38%; max-width: 230px; height: auto; }
.vc-ads-store { display: flex; align-items: center; gap: 16px; background: #fff4d6; border-radius: 12px; padding: 16px; margin: 18px 0 24px; }
.vc-ads-store > div { border-left: 1px solid #efd88f; padding-left: 16px; }
.vc-ads-h3 { font-size: 21px; font-weight: 800; margin: 0 0 16px; line-height: 1.3; }
.vc-ad-benefit { display: flex; gap: 18px; align-items: flex-start; margin-bottom: 18px; }
.vc-ad-benefit-icon { width: 58px; height: 58px; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.vc-tone-navy { background: #e8eaf3; color: var(--vm-navy); }
.vc-tone-gold { background: #fff1c7; color: #9a6b00; }
.vc-tone-green { background: #e3f4e7; color: #1e7e34; }
.vc-tone-amber { background: #ffe9d1; color: #b45309; }
.vc-ad-benefit-title { font-size: 16px; font-weight: 700; margin-bottom: 4px; }
.vc-ad-benefit-text { font-size: 13.5px; color: #4b5563; line-height: 1.55; }
.vc-ads-cta { display: flex; justify-content: center; padding: 6px 0 14px; }
@media (max-width: 420px) {
    .vc-ads-title { font-size: 19px; }
    .vc-ad-illus { flex-basis: 40%; }
}
@media (max-width: 768px) {
    .vc-page .vc-table { font-size: 13px; }
    .vc-sheet-title { font-size: 22px; }
    .vc-camp-search { flex: 1 1 100%; }
    .vc-btn-big { min-width: 0; width: 100%; max-width: 420px; }
}

/* Keep Vendor Center tables real tables on phones (admin.css turns every
   table into stacked cards under 600px) - they scroll sideways instead. */
table.vc-table { display: table; }
.vc-table thead { display: table-header-group; }
.vc-table tbody { display: table-row-group; }
.vc-table tr { display: table-row; margin: 0; border: none; border-radius: 0; padding: 0; }
.vc-table th, .vc-table td { display: table-cell; }
.vc-table td { border-bottom: 1px solid #f1f2f4; padding: 14px 12px; }
.vc-table td::before { content: none; }
.vc-tooltip[hidden] { display: none; }

.vss-brand-name { display: inline-flex; align-items: center; gap: 8px; min-width: 0; }
.vss-brand-text { font-size: 13px; font-weight: 700; color: var(--vm-navy); white-space: nowrap; }

/* Additional Information > Shop Details: existing-shop follow-up questions */
.vss-subq { margin: 16px 0 0 10px; padding: 2px 0 2px 16px; border-left: 2px solid #d9dce1; }
.vss-subq[hidden] { display: none; }
.vss-subq-item { padding: 10px 0; }
.vss-subq-item .vss-question-label { display: flex; align-items: center; gap: 6px; margin-bottom: 8px; }
.vss-info { display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px; border-radius: 50%; border: 1.5px solid #1a1a2e; color: #1a1a2e; font: 700 10px/1 Georgia, serif; font-style: italic; cursor: help; flex-shrink: 0; }
.vss-input.vss-input-error { border-color: #d93025; box-shadow: 0 0 0 1px #d93025; }
.vss-field-error { color: #d93025; font-size: 12.5px; margin-top: 6px; }
.vss-field-error[hidden] { display: none; }

/* ===== Mobile Product Management (vendor-products.js) - mobile Orders layout ===== */
.vpm-filters { padding: 6px 16px 12px; }
.vpm-label { font-size: 12.5px; font-weight: 600; color: #8a8f98; text-transform: uppercase; letter-spacing: .04em; }
.vpm-pills { display: flex; gap: 10px; overflow-x: auto; padding: 8px 0 12px; scrollbar-width: none; }
.vpm-pills::-webkit-scrollbar { display: none; }
.vpm-pill { flex-shrink: 0; display: inline-flex; align-items: center; gap: 6px; border: 1px solid #cfd2d8; background: #fff; color: #333; border-radius: 999px; padding: 8px 14px; font: 500 14px sans-serif; font-family: inherit; white-space: nowrap; cursor: pointer; }
.vpm-pill-active { border-color: var(--vm-gold); color: #946c00; background: #fffaf0; font-weight: 600; }
.vpm-applied { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 14px; }
.vpm-chip { background: var(--vm-gold); color: var(--vm-navy); border: 0; border-radius: 6px; padding: 7px 12px; font: 600 13.5px sans-serif; font-family: inherit; cursor: pointer; margin-right: 8px; }
.vpm-search { display: flex; align-items: center; background: #fff; border: 1px solid #dcdfe4; border-radius: 6px; height: 52px; margin-bottom: 14px; }
.vpm-search:focus-within { border-color: var(--vm-navy); }
.vpm-search input { flex: 1; min-width: 0; border: 0; outline: none; background: transparent; height: 100%; padding: 0 16px; font: 15px sans-serif; font-family: inherit; }
.vpm-search input::placeholder { font-style: italic; color: #777; }
.vpm-search svg { color: #946c00; margin-right: 14px; flex-shrink: 0; }
.vpm-actions-row { display: flex; align-items: center; gap: 12px; }
.vpm-check { width: 24px; height: 24px; flex-shrink: 0; border: 1.5px solid #9ca0a8; border-radius: 4px; background: #fff; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; color: var(--vm-navy); margin: 0 6px; }
.vpm-check.vpm-checked { background: var(--vm-gold); border-color: var(--vm-gold); }
.vpm-check:disabled { opacity: .4; cursor: default; }
.vpm-select-wrap { position: relative; flex: 1; min-width: 0; }
.vpm-select { appearance: none; -webkit-appearance: none; width: 100%; height: 52px; border: 1px solid #dcdfe4; border-radius: 6px; background: #fff; padding: 0 40px 0 18px; font: 15px sans-serif; font-family: inherit; color: #444; cursor: pointer; }
.vpm-select-wrap svg { position: absolute; right: 14px; top: 16px; color: #444; pointer-events: none; }
.vpm-go { width: 76px; height: 52px; border: 0; border-radius: 6px; background: var(--vm-navy); color: #fff; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.vpm-go:disabled { background: #eceef1; color: #b6b9bf; cursor: default; }
.vpm-panel { background: #fff; padding: 8px 14px 18px; margin-bottom: 150px; }
.vpm-empty { text-align: center; color: #9ca0a8; padding: 60px 12px 30px; font-size: 15px; }
.vpm-card { display: flex; gap: 12px; padding: 14px 4px; border-bottom: 1px solid #f0f1f3; }
.vpm-card-deleted { opacity: .6; }
.vpm-card-body { flex: 1; min-width: 0; }
.vpm-card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.vpm-name { font-size: 14px; font-weight: 600; color: var(--vm-navy); line-height: 1.35; }
.vpm-sku { font-size: 12px; color: #6b7280; margin-top: 3px; word-break: break-all; }
.vpm-prices { margin-top: 6px; font-size: 13.5px; }
.vpm-price { font-weight: 700; color: #222; }
.vpm-old { color: #9ca0a8; font-size: 12px; }
.vpm-subsidy { font-size: 11.5px; color: #946c00; }
.vpm-meta { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 6px; font-size: 12.5px; color: #444; }
.vpm-foot { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; margin-top: 8px; }
.vpm-active { display: flex; align-items: center; gap: 8px; font-size: 12.5px; color: #444; }
.vpm-pager .vp-pager-nav { display: flex; align-items: center; justify-content: flex-end; gap: 10px; padding: 16px 0 6px; font-size: 15px; color: #444; }
.vpm-pager .vp-range { margin-right: auto; padding-left: 40%; }
.vpm-pager .vp-pager-per { display: flex; justify-content: flex-end; padding: 10px 0; font-size: 15px; color: #555; }
.vpm-fab { position: sticky; bottom: 78px; display: flex; justify-content: center; align-items: center; gap: 10px; padding: 0 16px 8px; pointer-events: none; }
.vpm-fab > * { pointer-events: auto; }
.vpm-export-dd { flex: 0 1 240px; }
.vpm-export { width: 100%; height: 50px; border: 0; border-radius: 6px; background: var(--vm-gold); color: var(--vm-navy); font: 700 17px sans-serif; font-family: inherit; display: inline-flex; align-items: center; justify-content: center; gap: 10px; cursor: pointer; box-shadow: 0 4px 12px rgba(0,0,0,.15); }
.vpm-fab-btn { width: 50px; height: 50px; border-radius: 6px; border: 1.5px solid var(--vm-gold); background: #fff; color: #946c00; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 4px 12px rgba(0,0,0,.12); }

/* Filters page */
.vpm-filters-page { position: absolute; top: 0; left: 0; right: 0; bottom: 64px; z-index: 80; background: #fff; display: flex; flex-direction: column; }
.vpf-head { display: flex; align-items: center; gap: 14px; padding: 30px 20px 10px 22px; }
.vpf-back { background: none; border: 0; color: #946c00; padding: 4px; cursor: pointer; display: inline-flex; }
.vpf-title { font-size: 22px; font-weight: 700; color: #946c00; flex: 1; }
.vpf-reset { background: none; border: 0; color: #946c00; text-decoration: underline; font: 500 15px sans-serif; font-family: inherit; cursor: pointer; }
.vpf-body { flex: 1; overflow-y: auto; padding: 8px 20px 20px 22px; }
.vpf-caps { font-size: 13px; font-weight: 600; color: #8a8f98; letter-spacing: .05em; text-transform: uppercase; margin-top: 8px; }
.vpf-radios { display: flex; gap: 22px; padding: 12px 0 16px; }
.vpf-radio { display: inline-flex; align-items: center; gap: 10px; font-size: 16px; color: #222; cursor: pointer; position: relative; }
.vpf-radio input { position: absolute; opacity: 0; width: 22px; height: 22px; margin: 0; cursor: pointer; }
.vpf-radio span { width: 20px; height: 20px; border: 2px solid #8a8f98; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; }
.vpf-radio input:checked + span { border-color: var(--vm-gold); }
.vpf-radio input:checked + span::after { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--vm-gold); }
.vpf-radio input:focus-visible + span { outline: 2px solid var(--vm-navy); outline-offset: 2px; }
.vpf-rule { height: 1px; background: #e3e5e8; margin: 6px 0 14px; }
.vpf-section { font-size: 17px; font-weight: 700; color: var(--vm-navy); margin: 16px 0 14px; }
.vpf-outlined { position: relative; border: 1px solid #cfd2d8; border-radius: 6px; height: 52px; display: flex; align-items: center; }
.vpf-outlined-label { position: absolute; top: -9px; left: 12px; background: #fff; padding: 0 5px; font-size: 13px; color: #666; }
.vpf-country { appearance: none; -webkit-appearance: none; border: 0; background: transparent; width: 100%; height: 100%; padding: 6px 40px 0 14px; font: 16px sans-serif; font-family: inherit; color: #222; }
.vpf-outlined svg { position: absolute; right: 14px; color: #666; pointer-events: none; }
.vpf-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.vpf-chip { display: inline-flex; align-items: center; gap: 6px; border: 1px solid #cfd2d8; background: #fff; color: #555; border-radius: 8px; padding: 8px 14px; font: 15px sans-serif; font-family: inherit; cursor: pointer; }
.vpf-chip-on { border-color: var(--vm-gold); background: #fffaf0; color: #946c00; font-weight: 600; }
.vpf-label { font-size: 15.5px; color: #333; margin: 18px 0 10px; }
.vpf-label-gap { margin-top: 28px; }
.vpf-range { display: flex; align-items: center; gap: 8px; border: 1px solid #cfd2d8; border-radius: 6px; padding: 6px 10px; }
.vpf-range input { flex: 1; min-width: 0; border: 0; font: 15px sans-serif; font-family: inherit; color: #222; background: transparent; padding: 8px 2px; text-align: center; }
.vpf-select-wrap { position: relative; }
.vpf-select { appearance: none; -webkit-appearance: none; width: 100%; height: 52px; border: 1px solid #cfd2d8; border-radius: 6px; background: #fff; padding: 0 44px 0 16px; font: 16px sans-serif; font-family: inherit; color: #333; cursor: pointer; }
.vpf-select-wrap svg { position: absolute; right: 16px; top: 18px; color: #666; pointer-events: none; }
.vpf-error { color: #b3261e; font-size: 13px; margin-top: 6px; }
.vpf-error[hidden] { display: none; }
.vpf-apply-wrap { padding: 0 0 0; }
.vpf-apply { width: 100%; height: 56px; border: 0; border-radius: 10px 10px 0 0; background: var(--vm-gold); color: var(--vm-navy); font: 700 18px sans-serif; font-family: inherit; cursor: pointer; }

/* Monitor your promotions - mobile */
.vpmon-status-m { padding: 14px 16px 6px; }
.vpmon-mobile-list { margin: 8px 14px 16px; background: #fff; border-radius: 10px; }
.vpmon-card { padding: 14px; border-bottom: 1px solid #f0f1f3; }
.vpmon-card-top { display: flex; justify-content: space-between; gap: 10px; align-items: flex-start; }
.vpmon-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 10px 0 6px; }
.vpmon-stats div { background: #f7f7f9; border-radius: 8px; padding: 8px; display: flex; flex-direction: column; gap: 2px; }
.vpmon-stats b { font-size: 13.5px; color: var(--vm-navy); }
.vpmon-stats span { font-size: 11px; color: #6b7280; }

/* Add / edit product on phones = the desktop form (vd-product-form-wrap) */
.vm-add-product-intro { font-size: 13.5px; line-height: 1.55; color: #444; }
.vm-add-product-host { margin: 0 12px 110px; }
.vm-add-product-host .panel { padding: 16px 14px; border-radius: 12px; box-shadow: 0 1px 4px rgba(0,0,0,.06); margin-bottom: 14px; }
.vm-add-product-host .product-form-sections, .vm-add-product-host .product-form-section { display: block; }
.vm-add-product-host .product-form-section { margin-bottom: 18px; }
.vm-add-product-host .field-row { display: flex !important; flex-direction: column; gap: 12px; }
.vm-add-product-host [style*="display:flex; gap:12px"] { flex-direction: column; }
.vm-add-product-host input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.vm-add-product-host select, .vm-add-product-host textarea { width: 100% !important; box-sizing: border-box; font-size: 16px !important; min-height: 44px; }
.vm-add-product-host textarea { min-height: 110px; }
.vm-add-product-host label { font-size: 14px !important; }
.vm-add-product-host button { min-height: 44px; font-size: 15px !important; }
.vm-add-product-host .drag-drop-zone { padding: 26px 12px; font-size: 15px; }
.vm-add-product-host h4 { font-size: 16px; }
.vm-add-product-host table { display: block; overflow-x: auto; }
