/* ============================================================================
   KÊNH NGƯỜI BÁN & ĐANG BÁN - SELLER PORTAL & STOREFRONT STYLES
   ============================================================================ */

:root {
    --seller-bg: #f8fafc;
    --seller-card: #ffffff;
    --seller-border: #e2e8f0;
    --seller-primary: #0284c7;
    --seller-sidebar-bg: #0f172a;
    --seller-sidebar-text: #f8fafc;
    --seller-menu-hover: rgba(56, 189, 248, 0.12);
    --seller-accent: #38bdf8;
}

body.seller-body {
    background-color: var(--seller-bg);
    font-family: 'Inter', sans-serif;
    margin: 0;
    padding: 0;
}

/* 1. SELLER DASHBOARD LAYOUT & SIDEBAR */
.seller-layout {
    display: flex;
    min-height: 100vh;
}

.seller-sidebar {
    width: 260px;
    background: var(--seller-sidebar-bg);
    color: var(--seller-sidebar-text);
    flex-shrink: 0;
    padding: 24px 16px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-shadow: 4px 0 20px rgba(0, 0, 0, 0.05);
}

.seller-brand {
    font-family: 'Outfit', sans-serif;
    font-size: 1.3rem;
    font-weight: 800;
    color: var(--seller-accent);
    margin-bottom: 24px;
    padding: 0 12px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.seller-menu {
    list-style: none;
    padding: 0;
    margin: 0;
}

.seller-menu-item {
    margin-bottom: 4px;
}

.seller-menu-link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border-radius: 12px;
    color: #94a3b8;
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 600;
    transition: all 0.25s ease;
}

.seller-menu-link:hover,
.seller-menu-link.active {
    background: var(--seller-menu-hover);
    color: var(--seller-accent);
}

.seller-content {
    flex: 1;
    padding: 32px;
    overflow-y: auto;
}

.seller-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 28px;
}

/* 2. STAT CARDS & WIDGETS */
.stat-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 20px;
    margin-bottom: 32px;
}

.stat-card {
    background: #ffffff;
    border-radius: 20px;
    padding: 24px;
    border: 1px solid var(--seller-border);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.stat-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.06);
}

.stat-title {
    font-size: 0.85rem;
    color: #64748b;
    font-weight: 600;
    margin-bottom: 8px;
}

.stat-value {
    font-size: 1.5rem;
    font-weight: 800;
    color: #0f172a;
}

.seller-card-box {
    background: #ffffff;
    border-radius: 20px;
    padding: 28px;
    border: 1px solid var(--seller-border);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
    margin-bottom: 28px;
}

/* 3. SELLER DATA TABLES */
.seller-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 16px;
}

.seller-table th {
    background: #f1f5f9;
    padding: 14px;
    text-align: left;
    font-size: 0.85rem;
    font-weight: 700;
    color: #475569;
}

.seller-table td {
    padding: 14px;
    border-bottom: 1px solid #f1f5f9;
    font-size: 0.88rem;
    color: #1e293b;
}

/* 4. BUTTONS & ACTIONS */
.btn-seller {
    padding: 8px 16px;
    border-radius: 50px;
    border: none;
    font-size: 0.85rem;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: all 0.2s ease;
}

.btn-seller-primary {
    background: var(--seller-primary);
    color: #ffffff;
}

.btn-seller-primary:hover {
    background: #0369a1;
}

.btn-seller-danger {
    background: #ef4444;
    color: #ffffff;
}

.btn-seller-danger:hover {
    background: #dc2626;
}

.btn-seller-success {
    background: #22c55e;
    color: #ffffff;
}

.btn-seller-success:hover {
    background: #16a34a;
}

/* 5. MODALS */
.modal-seller {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(4px);
    z-index: 1000;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.modal-seller-card {
    background: #ffffff;
    width: 100%;
    max-width: 600px;
    border-radius: 24px;
    padding: 30px;
    position: relative;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
}

/* 6. SUB-TABS PHÂN LOẠI TRẠNG THÁI */
.status-tab {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 50px;
    font-size: 0.85rem;
    font-weight: 600;
    color: #64748b;
    text-decoration: none;
    white-space: nowrap;
    transition: all 0.2s ease;
}

.status-tab:hover {
    color: #0f172a;
    background: #f1f5f9;
}

.status-tab.active {
    background: #0284c7;
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(2, 132, 199, 0.25);
}

.status-tab .tab-count {
    background: rgba(0, 0, 0, 0.08);
    color: inherit;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 50px;
}

.status-tab.active .tab-count {
    background: rgba(255, 255, 255, 0.25);
    color: #ffffff;
}

/* 7. STOREFRONT PUBLIC PAGE (SELLER.PHP) STYLES */
.seller-store-card {
    background: #ffffff;
    border-radius: 24px;
    padding: 28px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    border: 1px solid rgba(0, 0, 0, 0.04);
    display: flex;
    gap: 32px;
    flex-wrap: wrap;
    margin-bottom: 32px;
}

.seller-store-left {
    display: flex;
    gap: 20px;
    align-items: center;
    flex: 1;
    min-width: 280px;
}

.seller-store-avatar {
    width: 90px;
    height: 90px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid #e0f2fe;
}

.seller-store-name {
    font-size: 1.5rem;
    font-weight: 800;
    color: #0f172a;
    margin: 0 0 6px 0;
}

.seller-badge-preferred {
    background: #fef3c7;
    color: #d97706;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 50px;
}

/* ============================================================================
   SELLER PORTAL REFRESH
   ============================================================================ */
.seller-portal-body {
    --seller-ink: #172033;
    --seller-muted: #6b7280;
    --seller-soft: #f5f7fb;
    --seller-line: #e5e9f0;
    --seller-blue: #1769e0;
    --seller-blue-dark: #0f55bd;
    --seller-green: #138a5b;
    min-width: 320px;
    background: #f6f8fc;
    color: var(--seller-ink);
}

.seller-portal-body *,
.seller-portal-body *::before,
.seller-portal-body *::after {
    box-sizing: border-box;
}

.seller-portal-body .seller-wrapper {
    min-height: 100vh;
    background: #f6f8fc;
}

.seller-portal-body .seller-header {
    position: sticky;
    top: 0;
    z-index: 50;
    padding: 0 28px;
    min-height: 70px;
    background: rgba(255, 255, 255, 0.96);
    border-bottom: 1px solid var(--seller-line);
    backdrop-filter: blur(16px);
}

.seller-portal-body .seller-header-container {
    min-height: 70px;
    gap: 24px;
}

.seller-portal-body .seller-brand {
    margin: 0;
    padding: 0;
    min-width: 0;
}

.seller-portal-body .brand-logo {
    flex: 0 0 auto;
    color: var(--seller-ink);
}

.seller-portal-body .logo-icon {
    display: inline-grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 12px;
    background: #eaf2ff;
}

.seller-portal-body .store-badge {
    max-width: 250px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    background: #effaf5;
    color: #087a4c;
}

.seller-portal-body .seller-header-actions {
    flex-shrink: 0;
}

.seller-portal-body .seller-header-actions .btn,
.seller-portal-body .page-title-bar .btn,
.seller-portal-body .card-header .btn,
.seller-portal-body .btn-group .btn,
.seller-portal-body .filter-form .btn {
    width: auto;
    min-height: 38px;
    padding: 8px 14px;
    border-radius: 10px;
    box-shadow: none;
    white-space: nowrap;
}

.seller-portal-body .btn-outline,
.seller-portal-body .btn-outline-primary,
.seller-portal-body .btn-outline-secondary,
.seller-portal-body .btn-outline-success,
.seller-portal-body .btn-subtle {
    background: #fff;
    border: 1px solid var(--seller-line);
    color: #3f4a5f;
}

.seller-portal-body .btn-outline-primary:hover,
.seller-portal-body .btn-outline:hover {
    border-color: #a9c8f6;
    background: #f3f7ff;
    color: var(--seller-blue);
}

.seller-portal-body .seller-body {
    align-items: stretch;
}

.seller-portal-body .seller-sidebar {
    position: sticky;
    top: 70px;
    width: 246px;
    height: calc(100vh - 70px);
    min-height: 0;
    flex: 0 0 246px;
    overflow-y: auto;
    background: #fff;
    border-right: 1px solid var(--seller-line);
}

.seller-portal-body .sidebar-nav {
    padding: 24px 14px;
}

.seller-portal-body .nav-section-title {
    padding: 0 12px 12px;
    color: #9aa3b2;
    font-size: 0.68rem;
}

.seller-portal-body .nav-list {
    display: grid;
    gap: 5px;
}

.seller-portal-body .nav-link {
    padding: 11px 13px;
    border-radius: 11px;
    border-right: 0;
    color: #536076;
}

.seller-portal-body .nav-link:hover {
    background: #f5f7fb;
}

.seller-portal-body .nav-link.active {
    color: var(--seller-blue);
    background: #edf4ff;
    border-right: 0;
}

.seller-portal-body .nav-icon {
    display: inline-grid;
    place-items: center;
    width: 22px;
    height: 22px;
    font-size: 1rem;
}

.seller-portal-body .sidebar-footer {
    padding: 16px 20px 22px;
}

.seller-portal-body .seller-main-content {
    max-width: none;
    min-width: 0;
    padding: 30px clamp(20px, 3vw, 44px) 60px;
}

.seller-portal-body .page-title-bar {
    gap: 20px;
    margin-bottom: 24px;
}

.seller-portal-body .page-title-bar h2 {
    font-size: clamp(1.35rem, 2vw, 1.75rem);
    letter-spacing: -0.025em;
}

.seller-portal-body .stats-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.seller-portal-body .stat-card,
.seller-portal-body .card,
.seller-portal-body .seller-panel {
    border: 1px solid var(--seller-line);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 28px rgba(30, 42, 66, 0.045);
}

.seller-portal-body .stat-card {
    min-width: 0;
    padding: 20px;
}

.seller-portal-body .stat-icon {
    flex: 0 0 48px;
    background: #f1f5fb;
}

.seller-portal-body .stat-value {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.seller-portal-body .card-header {
    min-height: 58px;
    padding: 16px 20px;
}

.seller-portal-body .card-body {
    padding: 20px;
}

.seller-portal-body .filter-card {
    padding: 18px 18px 2px;
}

.seller-portal-body .filter-form .form-row {
    display: grid;
    grid-template-columns: minmax(220px, 1.5fr) minmax(180px, 1fr) minmax(180px, 1fr) auto;
    gap: 12px;
    align-items: start;
}

.seller-portal-body .filter-form .form-group {
    width: auto;
    max-width: none;
    margin: 0 0 16px;
    padding: 0;
}

.seller-portal-body .filter-form .form-control {
    min-height: 42px;
    padding: 9px 12px;
    border-radius: 10px;
    background: #fff;
}

.seller-portal-body .table-responsive {
    width: 100%;
    overflow-x: auto;
}

.seller-portal-body .table {
    width: 100%;
    border-collapse: collapse;
    color: #344056;
}

.seller-portal-body .table th {
    padding: 12px 16px;
    background: #f8fafc;
    border-bottom: 1px solid var(--seller-line);
    color: #707b8e;
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.025em;
    text-align: left;
    text-transform: uppercase;
    white-space: nowrap;
}

.seller-portal-body .table td {
    padding: 14px 16px;
    border-bottom: 1px solid #edf0f5;
    vertical-align: middle;
    font-size: 0.88rem;
}

.seller-portal-body .table tbody tr:last-child td {
    border-bottom: 0;
}

.seller-portal-body .table tbody tr:hover {
    background: #fbfcfe;
}

.seller-portal-body .table-thumb {
    width: 52px;
    height: 52px;
    border: 1px solid var(--seller-line);
    border-radius: 10px;
    background: #f5f7fa;
}

.seller-portal-body .table-thumb-placeholder {
    display: inline-grid;
    place-items: center;
    color: #9aa3b1;
}

.seller-portal-body .rejection-reason {
    max-width: 150px;
    margin-top: 5px;
    overflow: hidden;
    color: #a84a4a;
    font-size: 0.7rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.seller-portal-body .badge {
    display: inline-flex;
    align-items: center;
    width: max-content;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 700;
}

.seller-portal-body .badge-success { background: #e9f8f0; color: #087a4c; }
.seller-portal-body .badge-warning { background: #fff5da; color: #9a6500; }
.seller-portal-body .badge-danger { background: #ffeded; color: #bd2c2c; }
.seller-portal-body .badge-info,
.seller-portal-body .badge-primary { background: #eaf2ff; color: #155bb8; }
.seller-portal-body .badge-secondary,
.seller-portal-body .badge-light,
.seller-portal-body .badge-dark { background: #eef1f5; color: #566174; }

.seller-portal-body .btn-group {
    display: flex;
    gap: 6px;
}

.seller-portal-body .seller-alert,
.seller-portal-body > .seller-wrapper > .alert {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    max-width: 900px;
    margin: 18px auto 0;
    padding: 14px 18px;
    border: 1px solid;
    border-radius: 12px;
}

.seller-portal-body .seller-alert-danger,
.seller-portal-body > .seller-wrapper > .alert-danger {
    background: #fff2f2;
    border-color: #ffd0d0;
    color: #a32323;
}

.seller-portal-body > .seller-wrapper > .alert-success {
    background: #edfbf4;
    border-color: #bdebd4;
    color: #087a4c;
}

/* Product editor */
.product-editor-page {
    max-width: 1440px !important;
    margin: 0 auto !important;
}

.seller-breadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 18px;
    color: #8a94a5;
    font-size: 0.84rem;
}

.seller-breadcrumb a {
    color: var(--seller-blue);
    text-decoration: none;
}

.editor-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 26px;
}

.editor-heading h1 {
    margin: 5px 0 6px;
    color: var(--seller-ink);
    font-family: 'Outfit', sans-serif;
    font-size: clamp(1.65rem, 2.6vw, 2.25rem);
    line-height: 1.15;
    letter-spacing: -0.035em;
}

.editor-heading p {
    margin: 0;
    color: var(--seller-muted);
}

.eyebrow {
    color: var(--seller-blue);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.12em;
}

.seller-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 16px;
    border: 1px solid transparent;
    border-radius: 11px;
    font: 700 0.88rem/1 'Inter', sans-serif;
    text-decoration: none;
    cursor: pointer;
    transition: 160ms ease;
}

.seller-btn:hover { transform: translateY(-1px); }
.seller-btn:disabled { cursor: wait; opacity: 0.72; transform: none; }
.seller-btn-primary { background: var(--seller-blue); color: #fff; box-shadow: 0 8px 18px rgba(23, 105, 224, 0.22); }
.seller-btn-primary:hover { background: var(--seller-blue-dark); }
.seller-btn-secondary { background: #fff; border-color: var(--seller-line); color: #4d586c; }
.seller-btn-secondary:hover { border-color: #b9c4d3; background: #fafbfd; }
.seller-btn-link { color: #6d7788; background: transparent; }
.seller-btn-block { width: 100%; }

.editor-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
    gap: 22px;
    align-items: start;
}

.editor-main-column {
    display: grid;
    gap: 22px;
    min-width: 0;
}

.seller-panel {
    padding: clamp(20px, 2.4vw, 30px);
}

.panel-heading {
    display: flex;
    gap: 13px;
    align-items: flex-start;
    margin-bottom: 24px;
}

.panel-heading.compact { margin-bottom: 22px; }

.panel-step {
    display: inline-grid;
    place-items: center;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    border-radius: 9px;
    background: #eaf2ff;
    color: var(--seller-blue);
    font-size: 0.8rem;
    font-weight: 800;
}

.panel-heading h2 {
    margin: 2px 0 4px;
    color: var(--seller-ink);
    font: 700 1.04rem/1.25 'Inter', sans-serif;
}

.panel-heading p {
    margin: 0;
    color: var(--seller-muted);
    font-size: 0.84rem;
    line-height: 1.5;
}

.seller-field {
    margin-bottom: 20px;
}

.seller-field:last-child { margin-bottom: 0; }

.seller-field label {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-bottom: 8px;
    color: #38445a;
    font-size: 0.84rem;
    font-weight: 700;
}

.seller-field label > span:not(.optional) { color: #e04444; }
.seller-field .optional { margin-left: auto; color: #99a2b1; font-size: 0.72rem; font-weight: 600; }

.seller-input,
.seller-file-input {
    width: 100%;
    min-height: 44px;
    padding: 10px 13px;
    border: 1px solid #d9dee8;
    border-radius: 10px;
    outline: 0;
    background: #fff;
    color: var(--seller-ink);
    font: 500 0.9rem/1.4 'Inter', sans-serif;
    transition: 160ms ease;
}

.seller-input:focus,
.seller-file-input:focus {
    border-color: #78a8eb;
    box-shadow: 0 0 0 4px rgba(23, 105, 224, 0.1);
}

.seller-textarea {
    min-height: 160px;
    resize: vertical;
}

.seller-field small {
    display: block;
    margin-top: 7px;
    color: #8a94a5;
    font-size: 0.74rem;
}

.editor-field-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.editor-field-grid.two-compact { gap: 12px; }

.input-with-suffix {
    position: relative;
}

.input-with-suffix .seller-input { padding-right: 46px; }

.input-with-suffix > span {
    position: absolute;
    top: 50%;
    right: 13px;
    color: #7f8999;
    font-size: 0.84rem;
    font-weight: 700;
    transform: translateY(-50%);
}

.upload-dropzone {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 180px;
    padding: 24px;
    border: 1.5px dashed #bdc8d8;
    border-radius: 14px;
    background: #fafcff;
    color: #59667a;
    text-align: center;
    cursor: pointer;
    transition: 160ms ease;
}

.upload-dropzone:hover,
.upload-dropzone.is-dragging {
    border-color: var(--seller-blue);
    background: #f1f6ff;
}

.upload-dropzone .upload-icon {
    display: inline-grid;
    place-items: center;
    width: 42px;
    height: 42px;
    margin-bottom: 10px;
    border-radius: 12px;
    background: #e9f1ff;
    color: var(--seller-blue);
    font-size: 1.5rem;
}

.upload-dropzone strong { margin-bottom: 5px; color: #30405a; font-size: 0.94rem; }
.upload-dropzone > span:not(.upload-icon) { color: #758095; font-size: 0.8rem; }
.upload-dropzone small { margin-top: 6px; color: #9aa3b1; font-size: 0.72rem; }

.visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
}

.existing-media { margin-bottom: 18px; }
.existing-media > p { margin: 0 0 9px; color: #6f7a8c; font-size: 0.78rem; font-weight: 700; }

.media-preview-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(96px, 1fr));
    gap: 10px;
    margin-top: 14px;
}

.existing-media .media-preview-grid { margin-top: 0; }

.media-preview-item {
    position: relative;
    overflow: hidden;
    aspect-ratio: 1;
    border: 1px solid var(--seller-line);
    border-radius: 11px;
    background: #f2f4f7;
}

.media-preview-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.media-preview-item span {
    position: absolute;
    left: 6px;
    bottom: 6px;
    padding: 4px 7px;
    border-radius: 6px;
    background: rgba(18, 29, 47, 0.8);
    color: #fff;
    font-size: 0.65rem;
    font-weight: 700;
}

.media-preview-remove {
    position: absolute;
    top: 6px;
    right: 6px;
    width: 26px;
    height: 26px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(18, 29, 47, 0.82);
    color: #fff;
    font-size: 19px;
    line-height: 1;
    cursor: pointer;
}

.media-preview-remove:hover,
.media-preview-remove:focus-visible {
    background: #d92d20;
    outline: 2px solid #fff;
    outline-offset: 1px;
}

.image-selection-status {
    display: block;
    margin-top: 9px;
    color: #667085;
}

.image-selection-status.has-warning {
    color: #b54708;
}

.video-field {
    margin-top: 22px;
    padding-top: 20px;
    border-top: 1px solid #edf0f4;
}

.seller-file-input {
    padding: 7px;
    background: #fafbfd;
}

.seller-file-input::file-selector-button {
    margin-right: 10px;
    padding: 7px 11px;
    border: 0;
    border-radius: 7px;
    background: #eaf2ff;
    color: var(--seller-blue);
    font-weight: 700;
    cursor: pointer;
}

.current-file { margin: -2px 0 9px; color: #768195; font-size: 0.78rem; }
.current-file a { color: var(--seller-blue); }

.sticky-panel {
    position: sticky;
    top: 94px;
}

.approval-note {
    display: flex;
    gap: 9px;
    margin: 4px 0 18px;
    padding: 12px;
    border-radius: 10px;
    background: #f2f7ff;
    color: #52637c;
}

.approval-note > span {
    display: inline-grid;
    place-items: center;
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #dceaff;
    color: var(--seller-blue);
    font-size: 0.7rem;
    font-weight: 900;
}

.approval-note p { margin: 0; font-size: 0.76rem; line-height: 1.5; }

@media (max-width: 1180px) {
    .seller-portal-body .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .editor-layout { grid-template-columns: minmax(0, 1fr) 320px; }
}

@media (max-width: 920px) {
    .seller-portal-body .seller-header { padding: 0 18px; }
    .seller-portal-body .store-badge,
    .seller-portal-body .user-info,
    .seller-portal-body .seller-header-actions > .btn { display: none; }
    .seller-portal-body .seller-body { flex-direction: column; }
    .seller-portal-body .seller-sidebar {
        position: sticky;
        top: 70px;
        z-index: 40;
        width: 100%;
        height: auto;
        min-height: 0;
        flex-basis: auto;
        border-right: 0;
        border-bottom: 1px solid var(--seller-line);
    }
    .seller-portal-body .sidebar-nav { padding: 8px 12px; overflow-x: auto; }
    .seller-portal-body .nav-section-title,
    .seller-portal-body .sidebar-footer { display: none; }
    .seller-portal-body .nav-list { display: flex; width: max-content; }
    .seller-portal-body .nav-link { padding: 9px 12px; white-space: nowrap; }
    .editor-layout { grid-template-columns: 1fr; }
    .sticky-panel { position: static; }
}

@media (max-width: 700px) {
    .seller-portal-body .seller-main-content { padding: 22px 14px 44px; }
    .seller-portal-body .seller-header { min-height: 62px; }
    .seller-portal-body .seller-header-container { min-height: 62px; }
    .seller-portal-body .seller-sidebar { top: 62px; }
    .seller-portal-body .logo-text { font-size: 1rem; }
    .seller-portal-body .user-profile-menu { padding-left: 0; border-left: 0; }
    .seller-portal-body .stats-grid,
    .editor-field-grid { grid-template-columns: 1fr; }
    .seller-portal-body .dashboard-middle-grid { grid-template-columns: 1fr; }
    .seller-portal-body .filter-form .form-row { grid-template-columns: 1fr; }
    .seller-portal-body .filter-form .form-group { margin-bottom: 10px; }
    .seller-portal-body .page-title-bar,
    .editor-heading { align-items: stretch; flex-direction: column; }
    .seller-portal-body .page-title-bar .btn,
    .editor-heading .seller-btn { width: 100%; }
    .seller-panel { padding: 20px 16px; }
}

/* Storefront customization settings ------------------------------------- */
.storefront-settings-page { max-width: 1240px; }
.storefront-settings-page .page-title-bar { margin-bottom: 14px; }
.storefront-settings-page .page-subtitle { margin: 6px 0 0; color: #667085; font-size: .84rem; }
.storefront-settings-nav { position: sticky; top: calc(var(--seller-header-h) + 8px); z-index: 20; margin-bottom: 20px; padding: 5px; display: flex; gap: 4px; overflow-x: auto; background: rgba(255,255,255,.94); border: 1px solid #e4e7ec; border-radius: 12px; box-shadow: 0 5px 16px rgba(16,24,40,.06); backdrop-filter: blur(12px); }
.storefront-settings-nav a { padding: 9px 13px; color: #475467; border-radius: 8px; font-size: .78rem; font-weight: 700; text-decoration: none; white-space: nowrap; }
.storefront-settings-nav a:hover { color: #111827; background: #f2f4f7; }
.settings-section { margin-bottom: 22px; scroll-margin-top: calc(var(--seller-header-h) + 78px); }
.settings-section-header { align-items: flex-start !important; }
.settings-section-header > div > p { margin: 5px 0 0; color: #667085; font-size: .78rem; line-height: 1.5; }
.settings-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; }
.settings-span-2 { grid-column: span 2; }
.settings-form-actions { margin-top: 6px; padding-top: 18px; display: flex; align-items: center; justify-content: flex-end; gap: 16px; border-top: 1px solid #eaecf0; }
.settings-shop-url { display: flex; align-items: stretch; gap: 9px; }
.settings-shop-url .form-control { min-width: 0; color: #344054; cursor: text; }
.settings-copy-url { min-width: 112px; justify-content: center; border: 1px solid #d0d5dd; background: #fff; color: #344054; white-space: nowrap; }
.settings-copy-url:hover { border-color: #98a2b3; background: #f8fafc; color: #101828; }
.settings-copy-url.is-copied { border-color: #a6f4c5; background: #ecfdf3; color: #027a48; }
.settings-copy-url .seller-ui-icon { width: 16px; height: 16px; }
.settings-copy-status { min-height: 1.25em; margin-top: 6px; display: block; color: #667085; font-size: .7rem; }
.settings-copy-status.is-success { color: #027a48; }
.settings-copy-status.is-error { color: #b54708; }
.required-mark { color: #b42318; }
.appearance-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(330px, .85fr); gap: 28px; align-items: start; }
.settings-color-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.settings-color-control { padding: 13px; display: grid; gap: 10px; border: 1px solid #e4e7ec; border-radius: 11px; color: #344054; font-size: .76rem; font-weight: 700; }
.settings-color-control > span:last-child { display: flex; align-items: center; gap: 9px; }
.settings-color-control input[type="color"] { width: 38px; height: 34px; padding: 2px; border: 1px solid #d0d5dd; border-radius: 7px; background: #fff; cursor: pointer; }
.settings-color-control code { color: #667085; background: transparent; font: 600 .72rem/1 monospace; }
.settings-media-fields { margin-top: 18px; }
.settings-media-fields small { margin-top: 6px; display: block; color: #667085; font-size: .7rem; }
.settings-check { margin-top: 10px; display: inline-flex; align-items: center; gap: 7px; color: #475467; font-size: .74rem; cursor: pointer; }
.store-theme-preview { overflow: hidden; border: 1px solid #dfe3ea; border-radius: 16px; background: var(--preview-bg); box-shadow: 0 14px 32px rgba(16,24,40,.08); color: var(--preview-text); }
.store-theme-preview-cover { min-height: 150px; padding: 26px; display: flex; align-items: flex-end; gap: 13px; background-color: #1f2937; background-image: linear-gradient(125deg, #111827, var(--preview-primary)); background-position: center; background-size: cover; color: #fff; }
.store-theme-preview-logo { width: 55px; height: 55px; flex: 0 0 55px; display: grid; place-items: center; overflow: hidden; border: 3px solid #fff; border-radius: 14px; background: #fff; color: var(--preview-primary); font-size: 1.3rem; font-weight: 800; }
.store-theme-preview-logo img { width: 100%; height: 100%; object-fit: cover; }
.store-theme-preview-cover strong, .store-theme-preview-cover span { display: block; }
.store-theme-preview-cover strong { font-size: .86rem; }
.store-theme-preview-cover span { margin-top: 3px; color: rgba(255,255,255,.72); font-size: .64rem; }
.store-theme-preview-body { padding: 18px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }
.store-theme-preview-body > span { grid-column: 1 / -1; color: var(--preview-primary); font-size: .62rem; font-weight: 800; letter-spacing: .08em; }
.store-theme-preview-body > div { height: 70px; border: 1px solid color-mix(in srgb, var(--preview-text) 12%, transparent); border-radius: 9px; background: color-mix(in srgb, var(--preview-bg) 88%, #fff); }
.storefront-config-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.settings-toggle-row { margin: 2px 0 18px; padding: 13px 15px; display: flex; flex-wrap: wrap; gap: 16px 28px; border: 1px solid #e4e7ec; border-radius: 11px; background: #f9fafb; }
.settings-switch { display: inline-flex; align-items: center; gap: 9px; color: #344054; font-size: .75rem; font-weight: 650; cursor: pointer; }
.settings-switch input { position: absolute; opacity: 0; pointer-events: none; }
.settings-switch > span { position: relative; width: 34px; height: 20px; border-radius: 999px; background: #d0d5dd; transition: .18s ease; }
.settings-switch > span::after { position: absolute; top: 3px; left: 3px; width: 14px; height: 14px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(16,24,40,.22); content: ''; transition: .18s ease; }
.settings-switch input:checked + span { background: #111827; }
.settings-switch input:checked + span::after { transform: translateX(14px); }
.storefront-product-table-head { padding: 0 54px 8px 66px; display: grid; grid-template-columns: minmax(260px, 1.15fr) minmax(230px, .85fr) 70px; gap: 14px; color: #667085; font-size: .68rem; font-weight: 750; text-transform: uppercase; letter-spacing: .05em; }
.storefront-product-list { display: grid; gap: 8px; }
.storefront-product-row { padding: 10px 13px 10px 9px; display: grid; grid-template-columns: 38px minmax(260px, 1.15fr) minmax(230px, .85fr) 70px; gap: 14px; align-items: center; border: 1px solid #e4e7ec; border-radius: 12px; background: #fff; transition: border-color .15s ease, box-shadow .15s ease, opacity .15s ease; }
.storefront-product-row:hover { border-color: #c8ced8; box-shadow: 0 5px 14px rgba(16,24,40,.05); }
.storefront-product-row.is-dragging { opacity: .45; border-style: dashed; }
.storefront-product-row.drag-over { border-color: #667085; box-shadow: 0 0 0 3px rgba(17,24,39,.08); }
.product-order-buttons { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2px; }
.product-order-buttons button { width: 18px; height: 28px; padding: 0; border: 0; border-radius: 6px; background: #f2f4f7; color: #667085; font-size: .72rem; cursor: pointer; }
.product-order-buttons button:hover { color: #111827; background: #e4e7ec; }
.storefront-product-main { min-width: 0; display: flex; align-items: center; gap: 11px; }
.storefront-product-thumb { width: 50px; height: 50px; flex: 0 0 50px; display: grid; place-items: center; overflow: hidden; border-radius: 9px; background: #f2f4f7; color: #667085; }
.storefront-product-thumb img { width: 100%; height: 100%; object-fit: cover; }
.storefront-product-thumb .seller-ui-icon { width: 20px; height: 20px; }
.storefront-product-main strong, .storefront-product-main span, .storefront-product-main em { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.storefront-product-main strong { color: #101828; font-size: .77rem; }
.storefront-product-main span { margin-top: 4px; color: #667085; font-size: .67rem; }
.storefront-product-main em { margin-top: 3px; color: #b54708; font-size: .64rem; font-style: normal; }
.storefront-product-tags .form-control { min-height: 38px; font-size: .72rem; }
.product-slider-check { display: grid; justify-items: center; gap: 4px; color: #667085; font-size: .66rem; cursor: pointer; }
.product-slider-check input { width: 17px; height: 17px; accent-color: #111827; }
.settings-sticky-actions { position: sticky; bottom: 12px; z-index: 10; margin: 18px -4px -4px; padding: 13px 14px; border: 1px solid #e4e7ec; border-radius: 11px; background: rgba(255,255,255,.94); box-shadow: 0 8px 24px rgba(16,24,40,.1); backdrop-filter: blur(10px); }
.settings-sticky-actions > span { margin-right: auto; color: #667085; font-size: .72rem; }
.settings-empty-state { min-height: 250px; padding: 36px; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px dashed #d0d5dd; border-radius: 12px; text-align: center; }
.settings-empty-state > .seller-ui-icon { width: 38px; height: 38px; color: #344054; }
.settings-empty-state h4 { margin: 12px 0 5px; }
.settings-empty-state p { max-width: 480px; margin: 0 0 15px; color: #667085; font-size: .76rem; }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }

@media (max-width: 1050px) {
    .appearance-layout { grid-template-columns: 1fr; }
    .storefront-config-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .storefront-product-table-head { display: none; }
    .storefront-product-row { grid-template-columns: 38px minmax(220px, 1fr) minmax(200px, .8fr) 60px; }
}

@media (max-width: 720px) {
    .settings-form-grid, .settings-color-grid, .storefront-config-grid { grid-template-columns: 1fr; }
    .settings-span-2 { grid-column: 1; }
    .settings-shop-url { align-items: stretch; flex-direction: column; }
    .settings-copy-url { width: 100%; }
    .storefront-product-row { grid-template-columns: 40px minmax(0, 1fr) 55px; gap: 9px; }
    .storefront-product-tags { grid-column: 2 / -1; }
    .settings-sticky-actions { align-items: stretch; flex-direction: column; }
    .settings-sticky-actions .btn { width: 100%; }
}

/* Public storefront slider and product tags ----------------------------- */
.store-featured-section { padding: 42px 0 4px; }
.store-featured-heading { margin-bottom: 16px; display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; }
.store-featured-heading h2 { margin: 0; color: var(--store-text); font: 700 clamp(1.35rem, 3vw, 1.8rem)/1.2 'Outfit', sans-serif; }
.store-slider-controls { display: flex; gap: 7px; }
.store-slider-controls button { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--store-line); border-radius: 10px; background: #fff; color: var(--store-text); font-size: 1.1rem; cursor: pointer; }
.store-product-slider { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(225px, 24%); gap: 16px; overflow-x: auto; padding: 2px 2px 18px; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-width: thin; }
.store-product-slider .store-product-card { scroll-snap-align: start; }
.store-product-tags-list { min-height: 23px; margin: 0 0 9px; display: flex; flex-wrap: wrap; gap: 5px; }
.store-product-tag { max-width: 120px; overflow: hidden; padding: 4px 7px; border-radius: 999px; background: color-mix(in srgb, var(--store-blue) 11%, #fff); color: var(--store-blue); font-size: .61rem; font-weight: 750; line-height: 1; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }

@media (max-width: 980px) { .store-product-slider { grid-auto-columns: minmax(220px, 32%); } }
@media (max-width: 700px) { .store-product-slider { grid-auto-columns: minmax(210px, 68%); } .store-featured-section { padding-top: 32px; } }

/* ============================================================================
   PUBLIC STOREFRONT
   ============================================================================ */
.storefront-page {
    --store-ink: #192234;
    --store-muted: #6e7788;
    --store-line: #e8ebf0;
    --store-blue: #1769e0;
    min-width: 320px;
    margin: 0;
    background: var(--store-background, #f7f8fa);
    color: var(--store-text, var(--store-ink));
    font-family: 'Inter', sans-serif;
}

.storefront-page *,
.storefront-page *::before,
.storefront-page *::after { box-sizing: border-box; }

.storefront-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.store-cover {
    position: relative;
    min-height: 290px;
    overflow: hidden;
    background-color: #182338;
    background-image: var(--store-cover-image, linear-gradient(120deg, color-mix(in srgb, var(--store-blue) 22%, #0f172a) 0%, color-mix(in srgb, var(--store-blue) 48%, #172a4b) 58%, var(--store-blue) 140%));
    background-position: center;
    background-size: cover;
    color: #fff;
}

.store-cover::before {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 82% 18%, color-mix(in srgb, var(--store-blue) 44%, transparent), transparent 28%),
        linear-gradient(100deg, rgba(13, 25, 47, 0.82) 0%, rgba(13, 25, 47, 0.48) 58%, rgba(13, 25, 47, 0.2) 100%);
    content: '';
}

.store-cover-shade {
    position: absolute;
    right: -80px;
    bottom: -150px;
    width: 430px;
    height: 430px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 50%;
}

.store-profile {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 26px;
    align-items: center;
    min-height: 290px;
    padding: 48px 0;
}

.store-logo {
    display: grid;
    place-items: center;
    width: 108px;
    height: 108px;
    overflow: hidden;
    border: 4px solid rgba(255, 255, 255, 0.9);
    border-radius: 28px;
    background: linear-gradient(145deg, #fff, color-mix(in srgb, var(--store-blue) 12%, #fff));
    box-shadow: 0 18px 45px rgba(5, 17, 37, 0.28);
    color: var(--store-blue);
    font: 700 2.6rem/1 'Outfit', sans-serif;
}

.store-logo img { width: 100%; height: 100%; object-fit: cover; }

.store-title-line {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

.store-title-line h1 {
    margin: 0;
    color: #fff;
    background: none;
    -webkit-text-fill-color: #fff;
    font: 700 clamp(1.8rem, 4vw, 2.7rem)/1.12 'Outfit', sans-serif;
    letter-spacing: -0.04em;
}

.verified-store {
    padding: 6px 10px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    color: #eaf2ff;
    font-size: 0.72rem;
    font-weight: 700;
    backdrop-filter: blur(8px);
}

.store-intro > p {
    max-width: 660px;
    margin: 12px 0 16px;
    color: #d5dfed;
    font-size: 0.94rem;
    line-height: 1.65;
}

.store-quick-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 22px;
    color: #bfcddd;
    font-size: 0.76rem;
}

.store-quick-meta span { display: inline-flex; align-items: center; gap: 7px; }
.online-dot { width: 7px; height: 7px; border-radius: 50%; background: #38d996; box-shadow: 0 0 0 4px rgba(56, 217, 150, 0.14); }

.store-owner-button,
.store-primary-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 11px 17px;
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 11px;
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    font-size: 0.82rem;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    backdrop-filter: blur(10px);
    transition: 160ms ease;
}

.store-owner-button:hover { background: #fff; color: var(--store-blue); transform: translateY(-1px); }

.store-stats-wrap {
    background: #fff;
    border-bottom: 1px solid var(--store-line);
}

.store-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    max-width: 660px;
    padding: 20px 0;
}

.store-stats > div {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    border-right: 1px solid var(--store-line);
}

.store-stats > div:last-child { border-right: 0; }
.store-stats strong { color: var(--store-text); font-size: 1.15rem; }
.store-stats span { color: #7c8595; font-size: 0.74rem; }

.store-products-section { padding: 52px 0 72px; }

.store-products-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 28px;
    margin-bottom: 24px;
}

.store-eyebrow {
    margin: 0 0 5px;
    color: var(--store-blue);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.14em;
}

.store-products-heading h2 {
    margin: 0 0 5px;
    font: 700 clamp(1.5rem, 3vw, 2rem)/1.2 'Outfit', sans-serif;
    letter-spacing: -0.035em;
    color: var(--store-text);
}

.store-products-heading > div > span { color: var(--store-muted); font-size: 0.78rem; }

.store-search-form {
    display: flex;
    gap: 8px;
    align-items: center;
}

.store-search-input {
    display: flex;
    align-items: center;
    min-width: 245px;
    min-height: 42px;
    padding: 0 12px;
    border: 1px solid #dce1e8;
    border-radius: 10px;
    background: #fff;
}

.store-search-input > span { color: #7e8999; font-size: 1.15rem; }
.store-search-input input { width: 100%; padding: 9px 8px; border: 0; outline: 0; background: transparent; color: var(--store-text); font: 500 0.82rem/1.4 'Inter', sans-serif; }

.store-search-form select,
.store-search-form button {
    min-height: 42px;
    padding: 9px 12px;
    border: 1px solid #dce1e8;
    border-radius: 10px;
    background: #fff;
    color: #536076;
    font: 600 0.78rem/1 'Inter', sans-serif;
}

.store-search-form button { border-color: var(--store-blue); background: var(--store-blue); color: #fff; cursor: pointer; }

.store-category-list {
    display: flex;
    gap: 8px;
    margin-bottom: 25px;
    padding-bottom: 3px;
    overflow-x: auto;
}

.store-category-list a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 12px;
    border: 1px solid var(--store-line);
    border-radius: 999px;
    background: #fff;
    color: #647086;
    font-size: 0.76rem;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

.store-category-list a span { color: #9aa3b1; font-size: 0.68rem; }
.store-category-list a.active { border-color: color-mix(in srgb, var(--store-blue) 30%, #fff); background: color-mix(in srgb, var(--store-blue) 10%, #fff); color: var(--store-blue); }

.store-product-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.store-product-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--store-line);
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(28, 39, 59, 0.035);
    transition: 180ms ease;
}

.store-product-card:hover { border-color: #d1d8e3; box-shadow: 0 15px 34px rgba(28, 39, 59, 0.09); transform: translateY(-3px); }

.store-product-image {
    position: relative;
    display: grid;
    place-items: center;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    background: #eef1f5;
    color: #97a0ae;
    font-size: 0.76rem;
    text-decoration: none;
}

.store-product-image img { width: 100%; height: 100%; object-fit: cover; transition: 280ms ease; }
.store-product-card:hover .store-product-image img { transform: scale(1.035); }

.store-product-image em {
    position: absolute;
    left: 10px;
    bottom: 10px;
    max-width: calc(100% - 20px);
    overflow: hidden;
    padding: 5px 8px;
    border-radius: 7px;
    background: rgba(20, 31, 49, 0.78);
    color: #fff;
    font-size: 0.64rem;
    font-style: normal;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
    backdrop-filter: blur(6px);
}

.store-product-content { padding: 15px; }
.store-product-category { color: #7a8596; font-size: 0.68rem; font-weight: 700; text-transform: uppercase; }

.store-product-content h3 {
    min-height: 2.7em;
    margin: 7px 0 14px;
    font-size: 0.9rem;
    line-height: 1.4;
}

.store-product-content h3 a { display: -webkit-box; overflow: hidden; color: var(--store-text); text-decoration: none; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }

.store-product-footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.store-product-footer strong { color: #e04444; font-size: 1rem; }
.store-product-footer a { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; background: color-mix(in srgb, var(--store-blue) 10%, #fff); color: var(--store-blue); text-decoration: none; }

.store-empty-products {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 330px;
    padding: 45px 20px;
    border: 1px dashed #d3d9e3;
    border-radius: 16px;
    background: #fff;
    text-align: center;
}

.store-empty-products > span,
.empty-store-icon { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 16px; background: color-mix(in srgb, var(--store-blue) 10%, #fff); color: var(--store-blue); font-size: 1.5rem; }
.store-empty-products h3 { margin: 16px 0 7px; font-size: 1.05rem; }
.store-empty-products p { margin: 0; color: var(--store-muted); font-size: 0.84rem; }
.store-empty-products a { margin-top: 17px; color: var(--store-blue); font-size: 0.8rem; font-weight: 700; }

.store-footer { padding: 24px 0; border-top: 1px solid var(--store-line); background: #fff; color: #8992a1; font-size: 0.75rem; text-align: center; }

.store-not-found {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: min(540px, calc(100% - 32px));
    min-height: 100vh;
    margin: auto;
    text-align: center;
}

.store-not-found h1 { margin: 5px 0 8px; font: 700 2rem/1.2 'Outfit', sans-serif; }
.store-not-found > p:not(.store-eyebrow) { margin: 0 0 22px; color: var(--store-muted); }
.store-not-found .empty-store-icon { margin-bottom: 18px; }
.store-not-found .store-primary-button { border: 0; background: var(--store-blue); }

@media (max-width: 980px) {
    .store-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .store-products-heading { align-items: stretch; flex-direction: column; }
    .store-search-form { width: 100%; }
    .store-search-input { flex: 1; min-width: 0; }
}

@media (max-width: 760px) {
    .storefront-container { width: min(100% - 28px, 1180px); }
    .store-profile { grid-template-columns: auto 1fr; gap: 18px; }
    .store-owner-button { grid-column: 1 / -1; width: 100%; }
    .store-logo { width: 82px; height: 82px; border-radius: 22px; font-size: 2rem; }
    .store-quick-meta span:last-child { display: none; }
    .store-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .store-search-form { display: grid; grid-template-columns: 1fr auto; }
    .store-search-input { grid-column: 1 / -1; }
}

@media (max-width: 480px) {
    .store-cover,
    .store-profile { min-height: 320px; }
    .store-profile { grid-template-columns: 1fr; padding: 34px 0; text-align: center; }
    .store-logo { margin: 0 auto; }
    .store-title-line,
    .store-quick-meta { justify-content: center; }
    .store-title-line h1 { width: 100%; }
    .store-stats { padding: 16px 0; }
    .store-stats strong { font-size: 1rem; }
    .store-stats span { font-size: 0.65rem; }
    .store-products-section { padding-top: 36px; }
    .store-product-content { padding: 12px; }
    .store-product-footer strong { font-size: 0.88rem; }
}

/* ============================================================================
   SELLER WORKSPACE — ALIGNED WITH THE ADMIN EXPERIENCE
   ============================================================================ */
body.seller-portal-body {
    --seller-primary: #4f46e5;
    --seller-primary-dark: #3730a3;
    --seller-primary-soft: #eef2ff;
    --seller-bg: #f5f7fb;
    --seller-surface: #fff;
    --seller-border: #e5e7eb;
    --seller-text: #172033;
    --seller-muted: #667085;
    --seller-sidebar-w: 276px;
    --seller-header-h: 72px;
    min-width: 320px;
    margin: 0;
    background: radial-gradient(circle at 90% 0, rgba(79, 70, 229, .065), transparent 26rem), var(--seller-bg);
    color: var(--seller-text);
    font: 14px/1.5 "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.seller-portal-body.seller-sidebar-open { overflow: hidden; }
.seller-portal-body a, .seller-portal-body button, .seller-portal-body input, .seller-portal-body select, .seller-portal-body textarea { transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease, color .18s ease, transform .18s ease; }
.seller-portal-body :focus-visible { outline: 3px solid rgba(79, 70, 229, .18); outline-offset: 2px; }
.seller-portal-body .seller-wrapper { min-height: 100vh; background: transparent; }

/* Top bar */
.seller-top-header {
    position: fixed;
    inset: 0 0 auto;
    z-index: 1100;
    height: var(--seller-header-h);
    padding: 0 28px 0 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: rgba(255, 255, 255, .92);
    border-bottom: 1px solid rgba(229, 231, 235, .9);
    box-shadow: 0 1px 0 rgba(16, 24, 40, .02);
    backdrop-filter: blur(14px);
}

.seller-header-left, .seller-header-right, .seller-workspace-brand, .seller-user-summary, .seller-header-link, .seller-store-chip { display: flex; align-items: center; }
.seller-header-left { min-width: 0; gap: 12px; }
.seller-header-right { flex: 0 0 auto; gap: 12px; }
.seller-sidebar-toggle { width: 42px; height: 42px; padding: 0; display: inline-grid; place-items: center; color: #475467; background: transparent; border: 1px solid transparent; border-radius: 12px; cursor: pointer; }
.seller-sidebar-toggle svg { width: 22px; height: 22px; }
.seller-sidebar-toggle:hover { color: var(--seller-primary); background: var(--seller-primary-soft); border-color: #dcdfff; }
.seller-workspace-brand { gap: 11px; color: inherit; text-decoration: none; }
.seller-brand-mark { width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 38px; color: #fff; background: linear-gradient(145deg, #6366f1, #4338ca); border-radius: 12px; box-shadow: 0 7px 18px rgba(79, 70, 229, .24); }
.seller-brand-mark svg { width: 21px; height: 21px; }
.seller-brand-copy { display: flex; flex-direction: column; line-height: 1.2; }
.seller-brand-copy strong { color: #182230; font-size: .95rem; font-weight: 750; letter-spacing: -.015em; }
.seller-brand-copy span { margin-top: 3px; color: var(--seller-muted); font-size: .69rem; font-weight: 650; letter-spacing: .04em; text-transform: uppercase; }
.seller-store-chip { min-width: 0; max-width: 240px; gap: 7px; padding: 6px 10px; overflow: hidden; color: #067647; background: #ecfdf3; border: 1px solid #d1fadf; border-radius: 999px; font-size: .75rem; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.seller-store-chip > span { width: 7px; height: 7px; flex: 0 0 7px; background: #12b76a; border-radius: 50%; box-shadow: 0 0 0 3px rgba(18, 183, 106, .12); }
.seller-header-link { min-height: 38px; gap: 8px; padding: 8px 12px; color: #475467; background: #fff; border: 1px solid var(--seller-border); border-radius: 10px; font-size: .8rem; font-weight: 650; text-decoration: none; }
.seller-header-link svg { width: 17px; height: 17px; }
.seller-header-link:hover { color: var(--seller-primary); border-color: #c7d0ff; background: var(--seller-primary-soft); }
.seller-header-divider { width: 1px; height: 28px; background: var(--seller-border); }
.seller-user-summary { gap: 10px; padding: 4px 6px; }
.seller-user-avatar { width: 38px; height: 38px; display: grid; place-items: center; overflow: hidden; color: var(--seller-primary); background: linear-gradient(145deg, #eef2ff, #e0e7ff); border: 1px solid #d9ddff; border-radius: 12px; font-size: .85rem; font-weight: 800; }
.seller-user-avatar img { width: 100%; height: 100%; object-fit: cover; }
.seller-user-copy { display: flex; flex-direction: column; }
.seller-user-copy strong { max-width: 160px; overflow: hidden; color: #182230; font-size: .82rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.seller-user-copy span { color: var(--seller-muted); font-size: .69rem; font-weight: 550; }
.seller-header-logout { width: 38px; height: 38px; display: grid; place-items: center; color: #111827; background: #fff; border: 1px solid #d0d5dd; border-radius: 10px; }
.seller-header-logout svg { width: 18px; height: 18px; }
.seller-header-logout:hover { color: #fff; background: #111827; border-color: #111827; transform: translateY(-1px); }

/* Shell and navigation */
.seller-portal-body .seller-body { min-height: calc(100vh - var(--seller-header-h)); margin-top: var(--seller-header-h); display: flex; align-items: stretch; }
.seller-portal-body .seller-sidebar { position: fixed; top: var(--seller-header-h); bottom: 0; left: 0; z-index: 1050; width: var(--seller-sidebar-w); height: auto; min-height: 0; padding: 18px 14px 16px; display: flex; flex-direction: column; overflow-y: auto; color: var(--seller-text); background: #fff; border-right: 1px solid var(--seller-border); box-shadow: none; transition: transform .24s ease; }
.seller-sidebar-nav { display: flex; flex: 1; flex-direction: column; gap: 3px; }
.seller-nav-group-title { padding: 18px 12px 7px; color: #98a2b3; font-size: .65rem; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.seller-nav-group-title:first-child { padding-top: 4px; }
.seller-nav-item { position: relative; min-height: 44px; gap: 12px; padding: 10px 12px; display: flex; align-items: center; color: #475467; background: transparent; border: 1px solid transparent; border-radius: 11px; font-size: .82rem; font-weight: 600; text-decoration: none; }
.seller-nav-item:hover { color: #252b37; background: #f7f8fa; border-color: #eef0f3; }
.seller-nav-item.active { color: #4338ca; background: linear-gradient(90deg, #eef2ff, #f5f3ff); border-color: #dfe3ff; box-shadow: inset 3px 0 0 var(--seller-primary); }
.seller-nav-icon { width: 22px; height: 22px; flex: 0 0 22px; display: grid; place-items: center; color: #667085; }
.seller-nav-icon svg { width: 19px; height: 19px; }
.seller-nav-item.active .seller-nav-icon { color: #111827; }
.seller-nav-label { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.seller-nav-divider { height: 1px; margin: 14px 10px; background: var(--seller-border); }
.seller-nav-create { color: #4338ca; background: #f7f7ff; border-color: #eaecff; }
.seller-nav-create .seller-nav-icon { color: #111827; }
.seller-sidebar-footer { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--seller-border); }
.seller-sidebar-logout-form { width: 100%; margin: 0; }
.seller-nav-logout { color: #b42318; }
.seller-sidebar-logout-form .seller-nav-logout { width: 100%; font-family: inherit; text-align: left; cursor: pointer; }
.seller-nav-logout .seller-nav-icon { color: #111827; }
.seller-sidebar-backdrop { display: none; }
.seller-portal-body .seller-main-content { width: auto; max-width: none; min-width: 0; margin: 0 0 0 var(--seller-sidebar-w); padding: 28px 32px 56px; flex: 1; transition: margin-left .24s ease; }
.seller-portal-body .seller-sidebar.collapsed { transform: translateX(calc(-1 * var(--seller-sidebar-w))); }
.seller-portal-body .seller-sidebar.collapsed + .seller-sidebar-backdrop + .seller-main-content { margin-left: 0; }

/* Flash messages */
.seller-flash-stack { position: fixed; top: 84px; right: 24px; z-index: 1200; width: min(420px, calc(100vw - 32px)); display: grid; gap: 10px; }
.seller-flash { display: flex; align-items: flex-start; gap: 10px; padding: 13px 15px; border: 1px solid; border-radius: 12px; box-shadow: 0 12px 30px rgba(16, 24, 40, .12); font-size: .82rem; }
.seller-flash > span { width: 20px; height: 20px; flex: 0 0 20px; display: grid; place-items: center; border-radius: 50%; font-weight: 800; }
.seller-flash-success { color: #067647; background: #ecfdf3; border-color: #abefc6; }
.seller-flash-success > span { color: #fff; background: #12b76a; }
.seller-flash-danger { color: #b42318; background: #fef3f2; border-color: #fecdca; }
.seller-flash-danger > span { color: #fff; background: #f04438; }

/* Content primitives */
.seller-portal-body .page-title-bar { margin-bottom: 24px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.seller-portal-body .page-title-bar h2 { margin: 0; color: #101828; font-family: "Inter", sans-serif; font-size: 1.5rem; font-weight: 800; letter-spacing: -.025em; }
.seller-portal-body .btn { width: auto; min-height: 38px; padding: 8px 14px; display: inline-flex; align-items: center; justify-content: center; border-radius: 9px; box-shadow: none; font-size: .8rem; font-weight: 700; white-space: nowrap; }
.seller-portal-body .btn-primary { color: #fff; background: var(--seller-primary); border-color: var(--seller-primary); }
.seller-portal-body .btn-primary:hover { background: var(--seller-primary-dark); border-color: var(--seller-primary-dark); transform: translateY(-1px); }
.seller-portal-body .btn-outline, .seller-portal-body .btn-outline-primary, .seller-portal-body .btn-outline-secondary, .seller-portal-body .btn-outline-success, .seller-portal-body .btn-subtle { color: #475467; background: #fff; border: 1px solid var(--seller-border); }
.seller-portal-body .btn-outline:hover, .seller-portal-body .btn-outline-primary:hover, .seller-portal-body .btn-subtle:hover { color: var(--seller-primary); background: var(--seller-primary-soft); border-color: #c7d0ff; }
.seller-portal-body .btn-sm { min-height: 34px; padding: 6px 10px; font-size: .75rem; }
.seller-portal-body .stats-grid { margin-bottom: 28px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.seller-portal-body .stat-card, .seller-portal-body .card { width: 100%; max-width: none; min-width: 0; background: #fff; border: 1px solid #e2e8f0; border-radius: 14px; box-shadow: 0 4px 12px rgba(16, 24, 40, .03); }
.seller-portal-body .stat-card { padding: 16px; display: flex; align-items: center; gap: 10px; }
.seller-portal-body .stat-icon { width: 42px; height: 42px; flex: 0 0 42px; display: grid; place-items: center; background: #eef2ff; border-radius: 11px; font-size: 1.2rem; }
.seller-portal-body .stat-details { min-width: 0; display: flex; flex-direction: column; }
.seller-portal-body .stat-label { color: #64748b; font-size: .75rem; font-weight: 700; text-transform: uppercase; }
.seller-portal-body .stat-value { margin: 2px 0; overflow: hidden; color: #0f172a; font-size: 1.05rem; font-weight: 800; letter-spacing: -.02em; text-overflow: ellipsis; white-space: nowrap; }
.seller-portal-body .stat-sub { color: #94a3b8; font-size: .72rem; }
.seller-portal-body .link-sub { color: var(--seller-primary); text-decoration: none; }
.seller-portal-body .card { margin-bottom: 20px; }
.seller-portal-body .card-header { min-height: 60px; padding: 16px 20px; display: flex; align-items: center; justify-content: space-between; gap: 16px; background: transparent; border-bottom: 1px solid #f1f5f9; }
.seller-portal-body .card-header h3 { margin: 0; color: #101828; font-size: 1rem; font-weight: 750; }
.seller-portal-body .card-body { padding: 20px; }
.seller-portal-body .dashboard-middle-grid { margin-top: 0; display: grid; grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr); gap: 20px; }
.seller-portal-body .chart-card .card-body { min-height: 276px; }
.seller-portal-body .quick-action-list { display: grid; gap: 9px; }
.seller-portal-body .action-item { min-height: 48px; padding: 10px 12px; display: flex; align-items: center; gap: 11px; color: #344054; background: #f8fafc; border: 1px solid #f1f5f9; border-radius: 10px; font-size: .82rem; font-weight: 600; text-decoration: none; }
.seller-portal-body .action-item:hover { color: var(--seller-primary); background: var(--seller-primary-soft); border-color: #e0e4ff; transform: translateY(-1px); }
.seller-portal-body .table-responsive { width: 100%; overflow-x: auto; }
.seller-portal-body .table { width: 100%; border-collapse: collapse; color: #344054; }
.seller-portal-body .table th { padding: 12px 16px; color: #475467; background: #f8fafc; border-bottom: 1px solid #e2e8f0; font-size: .72rem; font-weight: 750; letter-spacing: .035em; text-align: left; text-transform: uppercase; white-space: nowrap; }
.seller-portal-body .table td { padding: 14px 16px; border-bottom: 1px solid #f1f5f9; font-size: .84rem; vertical-align: middle; }
.seller-portal-body .table tbody tr:hover { background: #fcfcfd; }
.seller-portal-body .table tbody tr:last-child td { border-bottom: 0; }
.seller-portal-body .table-thumb { width: 48px; height: 48px; object-fit: cover; background: #f2f4f7; border: 1px solid var(--seller-border); border-radius: 9px; }
.seller-portal-body .badge { width: max-content; padding: 5px 9px; display: inline-flex; align-items: center; border-radius: 999px; font-size: .72rem; font-weight: 700; }
.seller-portal-body .badge-success { color: #067647; background: #dcfae6; }
.seller-portal-body .badge-warning { color: #b54708; background: #fef0c7; }
.seller-portal-body .badge-danger { color: #b42318; background: #fee4e2; }
.seller-portal-body .badge-info, .seller-portal-body .badge-primary { color: #4338ca; background: #e0e7ff; }
.seller-portal-body .badge-secondary, .seller-portal-body .badge-light { color: #475467; background: #f2f4f7; }
.seller-portal-body .filter-card { padding: 18px 20px 2px; }
.seller-portal-body .filter-form .form-row { display: grid; grid-template-columns: minmax(220px, 1.5fr) repeat(2, minmax(170px, 1fr)) auto; gap: 12px; align-items: start; }
.seller-portal-body .filter-form .form-group { width: auto; max-width: none; margin: 0 0 16px; padding: 0; }
.seller-portal-body .form-control { min-height: 42px; padding: 9px 12px; background: #fff; border: 1px solid #d0d5dd; border-radius: 9px; color: #101828; }
.seller-portal-body .form-control:focus { border-color: #818cf8; box-shadow: 0 0 0 4px rgba(79, 70, 229, .1); outline: 0; }
.seller-portal-body .status-tab-bar { margin-bottom: 20px; padding: 4px; display: flex; gap: 4px; overflow-x: auto; background: #f2f4f7; border: 0; border-radius: 10px; }
.seller-portal-body .status-tab-item { padding: 8px 13px; color: #667085; border-radius: 8px; font-size: .78rem; font-weight: 650; text-decoration: none; white-space: nowrap; }
.seller-portal-body .status-tab-item:hover { color: #344054; background: rgba(255,255,255,.7); }
.seller-portal-body .status-tab-item.active { color: #4338ca; background: #fff; box-shadow: 0 1px 3px rgba(16,24,40,.1); }

@media (max-width: 1180px) {
    .seller-portal-body .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 992px) {
    .seller-top-header { padding: 0 18px 0 12px; }
    .seller-store-chip, .seller-home-link, .seller-user-copy { display: none; }
    .seller-portal-body .seller-sidebar { transform: translateX(-100%); box-shadow: 18px 0 38px rgba(16, 24, 40, .16); }
    .seller-portal-body .seller-sidebar.active { transform: translateX(0); }
    .seller-portal-body .seller-main-content { margin-left: 0; }
    .seller-sidebar-backdrop { position: fixed; inset: var(--seller-header-h) 0 0; z-index: 1040; display: block; visibility: hidden; background: rgba(15, 23, 42, .42); opacity: 0; transition: opacity .2s ease, visibility .2s ease; }
    .seller-portal-body .seller-sidebar.active + .seller-sidebar-backdrop { visibility: visible; opacity: 1; }
    .seller-portal-body .dashboard-middle-grid { grid-template-columns: 1fr; }
    .seller-portal-body .filter-form .form-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
    body.seller-portal-body { --seller-header-h: 64px; }
    .seller-top-header { height: 64px; padding-right: 12px; }
    .seller-brand-copy span, .seller-header-link span, .seller-header-divider { display: none; }
    .seller-header-link { width: 38px; padding: 0; justify-content: center; }
    .seller-user-summary { padding: 0; }
    .seller-portal-body .seller-main-content { padding: 22px 14px 44px; }
    .seller-portal-body .page-title-bar { align-items: stretch; flex-direction: column; }
    .seller-portal-body .page-title-bar .btn { width: 100%; }
    .seller-portal-body .stats-grid { grid-template-columns: 1fr; gap: 12px; }
    .seller-portal-body .filter-form .form-row { grid-template-columns: 1fr; }
    .seller-portal-body .card-header { align-items: flex-start; flex-direction: column; }
    .seller-flash-stack { top: 76px; right: 16px; }
}

/* Monochrome icon system -------------------------------------------------- */
.seller-ui-icon {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    display: inline-block;
    color: currentColor;
    vertical-align: -3px;
}

.seller-portal-body .page-title-bar h2,
.seller-portal-body .card-header h3,
.seller-portal-body .panel-heading h2,
.seller-portal-body .btn,
.seller-portal-body .status-tab-item,
.seller-portal-body .buyer-label,
.seller-portal-body .bank-name {
    display: flex;
    align-items: center;
    gap: 8px;
}

.seller-portal-body .page-title-bar h2 > .seller-ui-icon { width: 24px; height: 24px; flex-basis: 24px; color: #111827; }
.seller-portal-body .card-header h3 > .seller-ui-icon { color: #111827; }
.seller-portal-body .stat-icon { color: #111827; background: #f2f4f7; }
.seller-portal-body .stat-icon .seller-ui-icon { width: 23px; height: 23px; flex-basis: 23px; }
.seller-portal-body .action-icon { width: 22px; height: 22px; display: grid; place-items: center; color: #111827; }
.seller-portal-body .action-icon .seller-ui-icon { width: 18px; height: 18px; }
.seller-portal-body .status-tab-item .seller-ui-icon { width: 15px; height: 15px; flex-basis: 15px; color: #344054; }
.seller-portal-body .btn .seller-ui-icon { width: 16px; height: 16px; flex-basis: 16px; color: #111827; }
.seller-portal-body .btn-primary .seller-ui-icon,
.seller-portal-body .btn-success .seller-ui-icon,
.seller-portal-body .btn-danger .seller-ui-icon,
.seller-portal-body .btn-info .seller-ui-icon { color: #fff; }
.seller-portal-body .empty-icon { margin-bottom: 12px; color: #111827; }
.seller-portal-body .empty-icon .seller-ui-icon { width: 52px; height: 52px; }
.seller-portal-body .rating-stars { display: inline-flex; gap: 3px; color: #d0d5dd; }
.seller-portal-body .rating-star { width: 17px; height: 17px; }
.seller-portal-body .rating-star.is-filled { color: #111827; fill: #111827; }
.seller-review-rating { display: inline-flex; align-items: center; gap: 7px; }
.seller-review-rating strong { color: #344054; font-size: .78rem; }
.seller-fractional-stars { position: relative; display: inline-block; color: #d0d5dd; line-height: 1; letter-spacing: 1px; white-space: nowrap; }
.seller-fractional-stars > span:first-child { display: block; }
.seller-fractional-stars > span:last-child { position: absolute; inset: 0 auto 0 0; width: var(--rating-percent); overflow: hidden; color: #f59e0b; white-space: nowrap; }
.seller-portal-body .badge { gap: 4px; }
.seller-portal-body .badge .seller-ui-icon { width: 13px; height: 13px; flex-basis: 13px; color: #111827; }
.seller-portal-body .bank-name .seller-ui-icon,
.seller-portal-body .buyer-label .seller-ui-icon { color: #111827; }
.seller-onboard-container .seller-ui-icon { color: #111827; }
.seller-onboard-container .onboard-icon .seller-ui-icon { width: 54px; height: 54px; }
.seller-onboard-container h4 .seller-ui-icon,
.seller-onboard-container h5 .seller-ui-icon { width: 19px; height: 19px; }

/* Bootstrap-like utilities used by Seller views ------------------------- */
.seller-portal-body .row { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 20px; }
.seller-portal-body .col-md-8 { grid-column: span 8; min-width: 0; }
.seller-portal-body .col-md-6 { grid-column: span 6; min-width: 0; }
.seller-portal-body .col-md-4 { grid-column: span 4; min-width: 0; }
.seller-portal-body .card .form-row { display: flex; gap: 16px; }
.seller-portal-body .card .form-row > .col-md-6 { width: 50%; }
.seller-portal-body .d-flex { display: flex; }
.seller-portal-body .d-inline { display: inline; }
.seller-portal-body .d-none { display: none !important; }
.seller-portal-body .justify-content-between { justify-content: space-between; }
.seller-portal-body .justify-content-end { justify-content: flex-end; }
.seller-portal-body .align-items-center { align-items: center; }
.seller-portal-body .flex-grow-1 { flex-grow: 1; }
.seller-portal-body .w-100 { width: 100% !important; }
.seller-portal-body .p-0 { padding: 0 !important; }
.seller-portal-body .p-3 { padding: 16px !important; }
.seller-portal-body .p-5 { padding: 40px !important; }
.seller-portal-body .py-2 { padding-top: 8px !important; padding-bottom: 8px !important; }
.seller-portal-body .py-4 { padding-top: 24px !important; padding-bottom: 24px !important; }
.seller-portal-body .pt-2 { padding-top: 8px !important; }
.seller-portal-body .mt-3 { margin-top: 16px !important; }
.seller-portal-body .mt-4 { margin-top: 24px !important; }
.seller-portal-body .mb-2 { margin-bottom: 8px !important; }
.seller-portal-body .mb-3 { margin-bottom: 16px !important; }
.seller-portal-body .mb-4 { margin-bottom: 24px !important; }
.seller-portal-body .ml-2 { margin-left: 8px !important; }
.seller-portal-body .ml-3 { margin-left: 16px !important; }
.seller-portal-body .mr-2 { margin-right: 8px !important; }
.seller-portal-body .mr-3 { margin-right: 16px !important; }
.seller-portal-body .text-center { text-align: center !important; }
.seller-portal-body .text-right { text-align: right !important; }
.seller-portal-body .text-muted { color: #667085 !important; }
.seller-portal-body .text-primary { color: #4338ca !important; }
.seller-portal-body .text-success { color: #067647 !important; }
.seller-portal-body .text-danger { color: #b42318 !important; }
.seller-portal-body .small { font-size: .75rem !important; }
.seller-portal-body .border { border: 1px solid var(--seller-border) !important; }
.seller-portal-body .border-top { border-top: 1px solid var(--seller-border) !important; }
.seller-portal-body .border-bottom { border-bottom: 1px solid var(--seller-border) !important; }
.seller-portal-body .rounded { border-radius: 10px !important; }
.seller-portal-body .bg-light { background: #f8fafc !important; }

/* Missing view primitives ------------------------------------------------ */
.seller-portal-body .card-footer { padding: 14px 20px; background: #fcfcfd; border-top: 1px solid #f1f5f9; }
.seller-portal-body .form-control-sm { min-height: 36px; padding: 6px 9px; font-size: .78rem; }
.seller-portal-body .form-inline { display: flex; align-items: center; gap: 8px; }
.seller-portal-body .form-inline .form-control { min-width: 180px; flex: 1; }
.seller-portal-body .list-group { margin: 0; padding: 0; list-style: none; }
.seller-portal-body .list-group-item { min-height: 48px; padding: 12px 0; color: #475467; background: transparent; border-bottom: 1px solid #f1f5f9; }
.seller-portal-body .list-group-item:last-child { border-bottom: 0; }
.seller-portal-body .btn-secondary { color: #344054; background: #fff; border: 1px solid #d0d5dd; }
.seller-portal-body .btn-secondary:hover { color: #111827; background: #f9fafb; border-color: #98a2b3; }
.seller-portal-body .btn-success { color: #fff; background: #111827; border-color: #111827; }
.seller-portal-body .btn-info { color: #fff; background: #344054; border-color: #344054; }
.seller-portal-body .btn-danger { color: #fff; background: #b42318; border-color: #b42318; }
.seller-portal-body .btn-outline-danger { color: #b42318; background: #fff; border: 1px solid #f1b8b4; }
.seller-portal-body .btn-outline-info { color: #344054; background: #fff; border: 1px solid #d0d5dd; }
.seller-portal-body .btn-outline-danger:hover { color: #fff; background: #b42318; border-color: #b42318; }
.seller-portal-body .btn-outline-danger:hover .seller-ui-icon { color: #fff; }
.seller-portal-body .btn-outline-info:hover { color: #111827; background: #f2f4f7; }
.seller-portal-body .badge-subtle { color: #475467; background: #f2f4f7; }
.seller-portal-body .badge-purple { color: #344054; background: #eaecf0; }

.seller-portal-body .order-card { overflow: hidden; }
.seller-portal-body .order-card .card-header,
.seller-portal-body .order-card .card-footer { flex-wrap: wrap; }
.seller-portal-body .buyer-info-bar { padding: 10px 12px; color: #344054; background: #f8fafc; border-radius: 9px; }
.seller-portal-body .buyer-label { flex-wrap: wrap; }
.seller-portal-body .order-item-row { gap: 12px; }
.seller-portal-body .order-item-row .item-thumb { flex: 0 0 50px; }
.seller-portal-body .order-finance-summary { gap: 20px; flex-wrap: wrap; }
.seller-portal-body .order-finance-summary > div:first-child { display: flex; flex-wrap: wrap; gap: 8px 16px; }
.seller-portal-body .order-action-buttons { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.seller-portal-body .order-action-buttons form { margin: 0 !important; }
.seller-portal-body .pagination { margin: 0; padding: 0; display: inline-flex; gap: 5px; list-style: none; }
.seller-portal-body .page-link { min-width: 34px; height: 34px; padding: 4px 8px; display: grid; place-items: center; color: #475467; background: #fff; border: 1px solid var(--seller-border); border-radius: 8px; font-size: .75rem; text-decoration: none; }
.seller-portal-body .page-item.active .page-link { color: #fff; background: #111827; border-color: #111827; }

.seller-portal-body .modal-backdrop { padding: 16px; }
.seller-portal-body .modal-content { max-height: calc(100vh - 32px); overflow-y: auto; }

@media (max-width: 768px) {
    .seller-portal-body .row { grid-template-columns: 1fr; gap: 0; }
    .seller-portal-body .col-md-8,
    .seller-portal-body .col-md-6,
    .seller-portal-body .col-md-4 { grid-column: 1; }
    .seller-portal-body .card .form-row { flex-direction: column; gap: 0; }
    .seller-portal-body .card .form-row > .col-md-6 { width: 100%; }
    .seller-portal-body .form-inline { align-items: stretch; flex-direction: column; }
    .seller-portal-body .form-inline .form-control,
    .seller-portal-body .form-inline .btn { width: 100%; }
    .seller-portal-body .order-card .card-header,
    .seller-portal-body .order-card .card-footer,
    .seller-portal-body .order-finance-summary { align-items: flex-start; flex-direction: column; }
    .seller-portal-body .order-item-row { align-items: flex-start !important; }
    .seller-portal-body .item-total { width: 100%; padding-left: 62px; text-align: left !important; }
    .seller-portal-body .order-action-buttons { width: 100%; justify-content: stretch; }
    .seller-portal-body .order-action-buttons form,
    .seller-portal-body .order-action-buttons .btn { width: 100%; }
}

/* ============================================================================
   CLASSIC PRODUCT POSTING PAGE
   Restores the previous one-column storefront form while retaining new logic.
   ============================================================================ */
body.post-product-page {
    --seller-ink: #172033;
    --seller-muted: #667085;
    --seller-line: #e2e8f0;
    --seller-blue: #0284c7;
    --seller-blue-dark: #0369a1;
    min-width: 320px;
    margin: 0;
    overflow-x: hidden;
    color: var(--seller-ink);
    background: #f8fafc;
    font-family: "Inter", sans-serif;
}

.post-product-page *, .post-product-page *::before, .post-product-page *::after { box-sizing: border-box; }
.post-product-page .site-wrapper { position: relative; min-height: 100vh; }
.legacy-post-container { width: 100%; max-width: 820px !important; margin: 40px auto 64px !important; padding: 0 24px; }
.post-product-page .seller-breadcrumb { margin-bottom: 18px; }
.post-product-page .seller-breadcrumb a { color: var(--seller-blue); }
.legacy-post-heading { margin-bottom: 26px; display: block; text-align: center; }
.legacy-post-heading .eyebrow { color: var(--seller-blue); }
.legacy-post-heading h1 { margin: 6px 0 8px; color: #0f172a; font: 800 1.85rem/1.2 "Outfit", "Inter", sans-serif; letter-spacing: -.025em; }
.legacy-post-heading p { margin: 0; color: #64748b; font-size: .94rem; }
.legacy-post-card { overflow: hidden; background: rgba(255, 255, 255, .92); border: 1px solid rgba(255, 255, 255, .95); border-radius: 24px; box-shadow: 0 20px 40px rgba(14, 165, 233, .1); backdrop-filter: blur(16px); }
.post-product-page .editor-layout { display: block; }
.post-product-page .editor-main-column { display: block; }
.post-product-page .seller-panel { margin: 0; padding: 32px 36px; background: transparent; border: 0; border-bottom: 1px solid #edf2f7; border-radius: 0; box-shadow: none; }
.post-product-page .editor-side-column .seller-panel { border-bottom: 0; }
.post-product-page .sticky-panel { position: static; }
.post-product-page .panel-heading { margin-bottom: 24px; }
.post-product-page .panel-step { color: var(--seller-blue); background: #e0f2fe; }
.post-product-page .seller-input, .post-product-page .seller-file-input { min-height: 46px; padding: 11px 14px; border-color: rgba(15, 23, 42, .12); border-radius: 12px; }
.post-product-page .seller-input:focus, .post-product-page .seller-file-input:focus { border-color: var(--seller-blue); box-shadow: 0 0 0 3px rgba(2, 132, 199, .14); }
.post-product-page .seller-textarea { min-height: 140px; }
.post-product-page .upload-dropzone { min-height: 190px; border-color: #bae6fd; border-radius: 16px; background: #f8fcff; }
.post-product-page .upload-dropzone:hover, .post-product-page .upload-dropzone.is-dragging { border-color: var(--seller-blue); background: #f0f9ff; }
.post-product-page .upload-dropzone .upload-icon { color: #111827; background: #f2f4f7; }
.post-product-page .seller-file-input::file-selector-button { color: var(--seller-blue); background: #e0f2fe; }
.post-product-page .approval-note { color: #0369a1; background: #f0f9ff; }
.post-product-page .approval-note > span { color: #fff; background: #111827; }
.post-product-page .seller-btn-primary { min-height: 48px; border-radius: 999px; background: linear-gradient(135deg, var(--seller-blue), var(--seller-blue-dark)); box-shadow: 0 10px 20px -5px rgba(2, 132, 199, .4); font-size: .95rem; }
.post-product-page .seller-btn-primary:hover { background: linear-gradient(135deg, #0369a1, #075985); box-shadow: 0 14px 24px -5px rgba(2, 132, 199, .48); }
.post-product-page .seller-btn-link { margin-top: 8px; color: #64748b; }
.post-product-page .seller-alert { margin: 0 0 20px; padding: 14px 18px; display: flex; gap: 12px; color: #b42318; background: #fef2f2; border: 1px solid #fecaca; border-radius: 12px; }
.post-product-page .seller-alert > span { width: 22px; height: 22px; flex: 0 0 22px; display: grid; place-items: center; color: #fff; background: #ef4444; border-radius: 50%; font-weight: 800; }
.post-product-page .legacy-footer-copy { margin-top: 10px; color: var(--text-muted); font-size: .8rem; }

@media (max-width: 700px) {
    .legacy-post-container { margin: 26px auto 44px !important; padding: 0 14px; }
    .legacy-post-heading h1 { font-size: 1.55rem; }
    .post-product-page .seller-panel { padding: 24px 18px; }
    .post-product-page .editor-field-grid { grid-template-columns: 1fr; }
    .post-product-page .panel-heading p { display: none; }
    .post-product-page .upload-dropzone { min-height: 160px; padding: 20px 14px; }
}
