@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@400;500;600;700;800&display=swap');
@import url('https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css');

/* Admin shell, matched to the Step One Diet backend. Accent stays YourHand purple. */
html[dir] body.admin-app,
html[dir] body.admin-app :where(h1, h2, h3, p, span, a, button, label, th, td, input, select, textarea, li, strong, small) {
    font-family: "Cairo", system-ui, sans-serif !important;
}

html[dir] body.admin-app .bi,
html[dir] body.admin-app .bi::before {
    font-family: "bootstrap-icons" !important;
}

body.admin-app {
    --yh-admin-primary: #6d4aff;
    --yh-admin-primary-rgb: 109, 74, 255;
    --yh-admin-primary-dark: #5b3de6;
    --yh-admin-primary-light: #f4f1ff;
    --yh-admin-bg: #f4f6f9;
    --yh-admin-surface: #ffffff;
    --yh-admin-border: #e8ecf1;
    --yh-admin-text: #1a2332;
    --yh-admin-muted: #6b7a90;
    --yh-admin-sidebar: 268px;
    --yh-admin-topbar: 72px;
    font-family: 'Cairo', system-ui, sans-serif;
    background: var(--yh-admin-bg);
    color: var(--yh-admin-text);
}

body.admin-app,
body.admin-app button,
body.admin-app input,
body.admin-app select,
body.admin-app textarea {
    font-family: 'Cairo', system-ui, sans-serif;
}

body.admin-app .yh-dash {
    background: var(--yh-admin-bg);
}

body.admin-app .yh-dash-sidebar,
body.admin-app .yh-admin-sidebar {
    width: var(--yh-admin-sidebar);
    background: var(--yh-admin-surface);
    border-inline-end: 1px solid var(--yh-admin-border);
}

body.admin-app .yh-admin-brand {
    height: var(--yh-admin-topbar);
    display: flex;
    align-items: center;
    padding: 0 1.15rem;
    border-bottom: 1px solid var(--yh-admin-border);
}

body.admin-app .yh-dash-nav {
    padding: 0.85rem 0.7rem 1rem;
}

.yh-admin-nav-toggle {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-top: 0.35rem;
    padding: 0.55rem 0.75rem;
    border: 0;
    border-radius: 0.5rem;
    background: transparent;
    cursor: pointer;
    font-family: "Cairo", system-ui, sans-serif;
    font-size: 0.84rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: none;
    color: var(--yh-admin-muted);
}

html[dir="rtl"] .yh-admin-nav-toggle,
html[dir="ltr"] .yh-admin-nav-toggle {
    letter-spacing: 0;
    text-transform: none;
    font-size: 0.84rem;
}

.yh-admin-nav-toggle:hover,
.yh-admin-nav-group.is-active > .yh-admin-nav-toggle {
    background: rgba(var(--yh-admin-primary-rgb), 0.08);
    color: var(--yh-admin-primary);
}

.yh-admin-nav-chevron { transition: transform 0.2s ease; }
.yh-admin-nav-group.is-open .yh-admin-nav-chevron { transform: rotate(180deg); }
.yh-admin-nav-panel { display: none; padding: 0.1rem 0.15rem 0.35rem; }
.yh-admin-nav-group.is-open .yh-admin-nav-panel { display: block; }

.yh-admin-nav-link {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin-bottom: 2px;
    padding: 0.5rem 0.75rem;
    border-radius: 0.5rem;
    font-size: 0.9rem;
    font-weight: 600;
    color: #3d4f66;
    text-decoration: none;
}

.yh-admin-nav-link:hover {
    background: var(--yh-admin-primary-light);
    color: var(--yh-admin-primary);
}

.yh-admin-nav-link.is-active {
    background: var(--yh-admin-primary);
    color: #fff;
    box-shadow: 0 4px 14px rgba(var(--yh-admin-primary-rgb), 0.35);
}

body.admin-app .yh-dash-topbar {
    min-height: var(--yh-admin-topbar);
    padding: 0.65rem 1.25rem;
    gap: 1rem;
    background: var(--yh-admin-surface);
    border-bottom: 1px solid var(--yh-admin-border);
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04);
}

.admin-topbar-start,
.admin-topbar-end {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
}

.admin-topbar-start { flex: 1; }

.admin-topbar-title-block { min-width: 0; }

.admin-topbar-breadcrumb {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    margin-bottom: 0.12rem;
    font-size: 0.72rem;
    flex-wrap: wrap;
}

.admin-topbar-breadcrumb a {
    color: var(--yh-admin-muted);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.admin-topbar-breadcrumb a:hover { color: var(--yh-admin-primary); }

.admin-topbar-breadcrumb .breadcrumb-sep {
    font-size: 0.62rem;
    color: #cbd5e1;
}

.admin-topbar-breadcrumb .breadcrumb-current {
    color: var(--yh-admin-primary);
    font-weight: 700;
}

.admin-topbar-title {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 800;
    line-height: 1.25;
    color: var(--yh-admin-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.admin-topbar-toolbar {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    background: var(--yh-admin-bg);
    border: 1px solid var(--yh-admin-border);
    border-radius: 12px;
    padding: 0.3rem 0.4rem;
}

.admin-topbar-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    height: 38px;
    padding: 0 0.8rem;
    border: 0;
    border-radius: 9px;
    background: transparent;
    color: #475569;
    font-size: 0.85rem;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
}

.admin-topbar-btn:hover {
    background: #fff;
    color: var(--yh-admin-primary);
}

.admin-topbar-btn-icon {
    display: none;
    width: 38px;
    padding: 0;
    flex-shrink: 0;
    background: #fff;
    border: 1px solid var(--yh-admin-border);
}

.admin-topbar-btn-icon i { font-size: 1.25rem; }

.admin-topbar-btn-label,
.admin-topbar-btn .yh-admin-chip-label { display: none; }

@media (min-width: 576px) {
    .admin-topbar-btn-label,
    .admin-topbar-btn .yh-admin-chip-label { display: inline; }
}

.admin-topbar-divider {
    width: 1px;
    height: 24px;
    background: var(--yh-admin-border);
    margin: 0 0.1rem;
}

.admin-user-dropdown { position: relative; }

.admin-user-btn {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    height: 38px;
    padding: 0.2rem 0.45rem 0.2rem 0.25rem;
    border: 0;
    border-radius: 10px;
    background: #fff;
    cursor: pointer;
}

html[dir="rtl"] .admin-user-btn { padding: 0.2rem 0.25rem 0.2rem 0.45rem; }

.admin-user-btn:hover,
.admin-user-dropdown.is-open .admin-user-btn {
    box-shadow: 0 0 0 2px var(--yh-admin-primary-light);
}

.admin-user-avatar {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 800;
    font-size: 0.9rem;
    flex-shrink: 0;
}

.admin-user-avatar.lg {
    width: 42px;
    height: 42px;
    font-size: 1rem;
}

.admin-user-meta {
    display: none;
    flex-direction: column;
    align-items: flex-start;
    line-height: 1.15;
    max-width: 140px;
    text-align: start;
}

@media (min-width: 768px) {
    .admin-user-meta { display: flex; }
}

.admin-user-name {
    font-size: 0.82rem;
    font-weight: 800;
    color: var(--yh-admin-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 140px;
}

.admin-user-role {
    font-size: 0.68rem;
    font-weight: 700;
    color: var(--yh-admin-muted);
}

.admin-user-chevron {
    font-size: 0.7rem;
    color: var(--yh-admin-muted);
}

.admin-user-menu {
    display: none;
    position: absolute;
    z-index: 40;
    inset-inline-end: 0;
    top: calc(100% + 0.45rem);
    min-width: 240px;
    padding: 0.45rem;
    border-radius: 12px;
    border: 1px solid var(--yh-admin-border);
    background: #fff;
    box-shadow: 0 16px 40px rgba(26, 35, 50, 0.12);
}

.admin-user-dropdown.is-open .admin-user-menu { display: block; }

.admin-user-menu-head {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0.55rem 0.65rem;
}

.admin-user-menu-head strong {
    display: block;
    font-size: 0.9rem;
    margin-bottom: 0.15rem;
}

.admin-user-menu hr {
    border: 0;
    border-top: 1px solid var(--yh-admin-border);
    margin: 0.3rem 0.4rem;
}

.admin-user-menu a,
.admin-user-menu button {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    width: 100%;
    border: 0;
    border-radius: 8px;
    background: transparent;
    padding: 0.5rem 0.7rem;
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--yh-admin-text);
    text-decoration: none;
    cursor: pointer;
    text-align: start;
}

.admin-user-menu a:hover,
.admin-user-menu button:hover {
    background: var(--yh-admin-primary-light);
    color: var(--yh-admin-primary);
}

.admin-user-menu .is-danger { color: #e74a3b; }
.admin-user-menu .is-danger:hover {
    background: #fdecec;
    color: #c53030;
}

@media (max-width: 1023px) {
    .admin-topbar-btn-icon { display: inline-flex; }
    body.admin-app .yh-dash-topbar { padding: 0.55rem 0.75rem; }
    .admin-topbar-title { font-size: 0.98rem; }
}

body.admin-app .yh-dash-content {
    padding: 1.25rem 1.15rem 1.75rem;
    background: var(--yh-admin-bg);
}

@media (min-width: 768px) {
    body.admin-app .yh-dash-content { padding: 1.5rem 1.5rem 2rem; }
}

.admin-page-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem;
    margin-bottom: 1.15rem;
    padding: 0.85rem 1.1rem;
    background: #fff;
    border: 1px solid var(--yh-admin-border);
    border-radius: 0.875rem;
}

.admin-page-toolbar-main {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

.admin-page-toolbar-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: var(--yh-admin-primary-light);
    color: var(--yh-admin-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.15rem;
    flex-shrink: 0;
}

.admin-page-toolbar-subtitle {
    margin: 0;
    color: var(--yh-admin-muted);
    font-size: 0.9rem;
    line-height: 1.5;
}

.admin-section-label {
    margin: 0 0 0.7rem;
    color: var(--yh-admin-muted);
    font-size: 0.8rem;
    font-weight: 700;
}

.admin-kpi-grid,
.admin-dash-split {
    display: grid;
    gap: 0.85rem;
    margin-bottom: 1.25rem;
}

.admin-kpi-grid { grid-template-columns: 1fr; }

@media (min-width: 700px) {
    .admin-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1200px) {
    .admin-kpi-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .admin-dash-split.wide { grid-template-columns: minmax(0, 1.7fr) minmax(16rem, 0.9fr); }
    .admin-dash-split.even { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.admin-kpi-card {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    min-height: 92px;
    padding: 1.05rem 1.15rem;
    background: #fff;
    border: 1px solid var(--yh-admin-border);
    border-radius: 0.875rem;
    color: inherit;
    text-decoration: none;
    transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
}

.admin-kpi-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
    border-color: rgba(var(--yh-admin-primary-rgb), 0.35);
    color: inherit;
}

.admin-kpi-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
    flex-shrink: 0;
    background: var(--yh-admin-primary-light);
    color: var(--yh-admin-primary);
}

.admin-kpi-success .admin-kpi-icon { background: #e8f8ef; color: #1cc88a; }
.admin-kpi-info .admin-kpi-icon { background: #e8f4fd; color: #36b9cc; }
.admin-kpi-warning .admin-kpi-icon { background: #fff8e6; color: #d69e2e; }
.admin-kpi-muted .admin-kpi-icon { background: #f1f3f5; color: #6c757d; }

.admin-kpi-body { display: flex; flex-direction: column; min-width: 0; }
.admin-kpi-label { font-size: 0.78rem; font-weight: 700; color: var(--yh-admin-muted); }
.admin-kpi-value {
    margin-top: 0.15rem;
    font-size: 1.12rem;
    font-weight: 800;
    color: var(--yh-admin-text);
    line-height: 1.25;
    word-break: break-word;
}
.admin-kpi-hint { margin-top: 0.12rem; font-size: 0.7rem; font-weight: 700; color: var(--yh-admin-muted); }
.admin-kpi-hint.up { color: #1a9f68; }
.admin-kpi-hint.down { color: #e11d48; }

.admin-card {
    background: #fff;
    border: 1px solid var(--yh-admin-border);
    border-radius: 0.875rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
    overflow: hidden;
}

.admin-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.9rem 1.15rem;
    border-bottom: 1px solid var(--yh-admin-border);
    font-weight: 800;
}

.admin-card-header h2 {
    margin: 0;
    font-size: 0.98rem;
    font-weight: 800;
}

.admin-card-header a {
    color: var(--yh-admin-primary);
    font-size: 0.82rem;
    font-weight: 700;
    text-decoration: none;
}

.admin-card-body { padding: 1rem 1.15rem 1.1rem; }

.admin-chart { width: 100%; height: auto; display: block; }
.admin-chart-labels {
    display: flex;
    justify-content: space-between;
    gap: 0.25rem;
    margin-top: 0.35rem;
    color: var(--yh-admin-muted);
    font-size: 0.68rem;
    font-weight: 700;
}

.admin-status-row,
.admin-bar-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.55rem;
    font-size: 0.86rem;
}

.admin-status-row span,
.admin-bar-row span {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    min-width: 0;
}

.admin-swatch {
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 999px;
    flex-shrink: 0;
}

.admin-donut-layout {
    display: grid;
    gap: 1.25rem;
    align-items: center;
    justify-items: center;
}

@media (min-width: 760px) {
    .admin-donut-layout {
        grid-template-columns: 11.5rem minmax(0, 1fr);
        justify-items: stretch;
    }
}

.admin-donut {
    width: 11.5rem;
    height: 11.5rem;
}

.admin-donut-total {
    font-size: 1.35rem;
    font-weight: 800;
    fill: var(--yh-admin-text);
}

.admin-donut-caption {
    font-size: 0.72rem;
    font-weight: 700;
    fill: var(--yh-admin-muted);
}

.admin-donut-legend {
    display: grid;
    gap: 0.45rem 1.25rem;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

@media (min-width: 980px) {
    .admin-donut-legend { grid-template-columns: 1fr 1fr; }
}

.admin-donut-legend li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    min-width: 0;
    font-size: 0.86rem;
}

.admin-donut-legend span {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    min-width: 0;
}

.admin-donut-legend i {
    width: 0.65rem;
    height: 0.65rem;
    border-radius: 999px;
    flex-shrink: 0;
}

.admin-donut-legend strong {
    font-weight: 800;
    white-space: nowrap;
}

.admin-donut-legend em {
    margin-inline-start: 0.25rem;
    color: var(--yh-admin-muted);
    font-style: normal;
    font-weight: 700;
    font-size: 0.75rem;
}

body.admin-app .yh-dash-content form[method="GET"],
body.admin-app .yh-dash-content form[method="get"] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

body.admin-app .yh-dash-content input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),
body.admin-app .yh-dash-content select,
body.admin-app .yh-dash-content textarea {
    box-sizing: border-box;
    border: 1px solid #dbe1ea;
    border-radius: 0.625rem;
    background: #fff;
    color: var(--yh-admin-text);
    font-size: 0.9rem;
}

body.admin-app .yh-dash-content input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),
body.admin-app .yh-dash-content select {
    height: 38px;
    padding: 0 0.75rem;
}

body.admin-app .yh-dash-content textarea {
    width: 100%;
    min-height: 6.5rem;
    padding: 0.65rem 0.75rem;
}

body.admin-app .yh-dash-content input:focus,
body.admin-app .yh-dash-content select:focus,
body.admin-app .yh-dash-content textarea:focus {
    outline: none;
    border-color: var(--yh-admin-primary);
    box-shadow: 0 0 0 0.2rem rgba(var(--yh-admin-primary-rgb), 0.15);
}

body.admin-app .yh-dash-content form[method="GET"] input[type="text"],
body.admin-app .yh-dash-content form[method="get"] input[type="text"],
body.admin-app .yh-dash-content form[method="GET"] input[type="search"],
body.admin-app .yh-dash-content form[method="get"] input[type="search"] {
    flex: 1 1 14rem;
    width: auto;
    min-width: min(100%, 12rem);
    max-width: 20rem;
}

body.admin-app .yh-dash-content form[method="GET"] select,
body.admin-app .yh-dash-content form[method="get"] select {
    flex: 1 1 10.5rem;
    width: auto;
    min-width: min(100%, 9.5rem);
    max-width: 14rem;
}

body.admin-app .yh-dash-content .grid input,
body.admin-app .yh-dash-content .grid select,
body.admin-app .yh-dash-content .grid textarea {
    width: 100%;
    max-width: none;
}

body.admin-app .yh-dash-content form[method="GET"] > button,
body.admin-app .yh-dash-content form[method="get"] > button {
    height: 38px;
    padding: 0 1rem;
    border: 0;
    border-radius: 0.625rem;
    background: var(--yh-admin-primary);
    color: #fff;
    font-size: 0.88rem;
    font-weight: 700;
    cursor: pointer;
}

body.admin-app .yh-dash-content form[method="GET"] > button:hover,
body.admin-app .yh-dash-content form[method="get"] > button:hover {
    background: var(--yh-admin-primary-dark);
}

@media (max-width: 640px) {
    body.admin-app .yh-dash-content form[method="GET"] input[type="text"],
    body.admin-app .yh-dash-content form[method="get"] input[type="text"],
    body.admin-app .yh-dash-content form[method="GET"] input[type="search"],
    body.admin-app .yh-dash-content form[method="get"] input[type="search"],
    body.admin-app .yh-dash-content form[method="GET"] > button,
    body.admin-app .yh-dash-content form[method="get"] > button {
        flex: 1 1 100%;
        max-width: none;
    }
    body.admin-app .yh-dash-content form[method="GET"] select,
    body.admin-app .yh-dash-content form[method="get"] select {
        flex: 1 1 calc(50% - 0.3rem);
        max-width: none;
    }
}

body.admin-app .yh-dash-content div:has(> table) {
    overflow-x: auto;
    border: 1px solid var(--yh-admin-border);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

body.admin-app .yh-dash-content table {
    width: 100%;
    min-width: 40rem;
    border-collapse: collapse;
    font-size: 0.9rem;
    background: #fff;
}

body.admin-app .yh-dash-content th,
body.admin-app .yh-dash-content td {
    padding: 0.85rem 1rem;
    text-align: start;
    vertical-align: middle;
}

body.admin-app .yh-dash-content thead th {
    background: #f1f5f9;
    color: #475569;
    font-size: 0.78rem;
    font-weight: 800;
    white-space: nowrap;
    border-bottom: 2px solid #dee2e6;
}

body.admin-app .yh-dash-content tbody td {
    border-bottom: 1px solid #e8ecef;
    color: var(--yh-admin-text);
}

body.admin-app .yh-dash-content tbody tr:last-child td { border-bottom: 0; }
body.admin-app .yh-dash-content tbody tr:nth-child(odd) td { background: #fafbfc; }
body.admin-app .yh-dash-content tbody tr:hover td { background: #f7f5ff; }
body.admin-app .yh-dash-content .text-right,
body.admin-app .yh-dash-content .text-end { text-align: end; }
body.admin-app .yh-dash-content .text-center { text-align: center; }

body.admin-app .yh-dash-content td select,
body.admin-app .yh-dash-content td input:not([type="hidden"]) {
    height: 32px;
    min-width: 7.5rem;
    max-width: 12rem;
    font-size: 0.8rem;
}

body.admin-app .yh-dash-content td button {
    height: 32px;
    padding: 0 0.7rem;
    border-radius: 0.5rem;
    font-size: 0.78rem;
    font-weight: 700;
}

body.admin-app .admin-card .admin-table-wrap {
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

body.admin-app .admin-card table { min-width: 28rem; }

.admin-page-toolbar-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

.admin-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    height: 38px;
    padding: 0 0.95rem;
    border: 0;
    border-radius: 0.625rem;
    background: var(--yh-admin-primary);
    color: #fff;
    font-size: 0.88rem;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
}

.admin-btn:hover { background: var(--yh-admin-primary-dark); color: #fff; }

.admin-settings {
    margin-bottom: 1rem;
}

.admin-settings-grid {
    display: grid;
    gap: 0.75rem;
    align-items: center;
}

.admin-settings-grid input[type="number"] {
    width: 100%;
    max-width: none;
}

.admin-check {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-height: 38px;
    margin: 0;
    padding: 0.45rem 0.75rem;
    border: 1px solid var(--yh-admin-border);
    border-radius: 0.625rem;
    background: #f8fafc;
    font-size: 0.86rem;
    font-weight: 700;
}

.admin-check input { width: 1rem; height: 1rem; accent-color: var(--yh-admin-primary); }

@media (min-width: 900px) {
    .admin-settings-grid {
        grid-template-columns: minmax(9rem, 13rem) minmax(0, 1fr) minmax(0, 1fr) auto;
    }
}

@media (max-width: 899px) {
    .admin-settings .admin-btn { width: 100%; }
}

.admin-badge {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 0.18rem 0.55rem;
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1.3;
}

.admin-badge.ok { background: #e8f8ef; color: #0f9f6e; }
.admin-badge.off { background: #fdecec; color: #c53030; }
.admin-badge.run { background: #e8f8ef; color: #047857; }
.admin-badge.wait { background: #fff8e6; color: #b7791f; }
.admin-badge.muted { background: #f1f3f5; color: #64748b; }
.admin-badge.hot { background: #fff1f2; color: #e11d48; }

.admin-row-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.35rem 0.7rem;
    min-width: 13rem;
}

.admin-row-actions form { margin: 0; }

.admin-row-actions .is-danger { color: #e11d48; }

.admin-row-actions a,
.admin-row-actions button {
    height: auto;
    min-height: 0;
    padding: 0;
    border: 0;
    background: transparent;
    font-size: 0.78rem;
    font-weight: 800;
    white-space: nowrap;
    cursor: pointer;
}

.admin-sub {
    display: block;
    margin-top: 0.15rem;
    color: var(--yh-admin-muted);
    font-size: 0.75rem;
    font-weight: 600;
}

@media (max-width: 720px) {
    .admin-page-toolbar-actions,
    .admin-page-toolbar-actions .admin-btn { width: 100%; }
}

.admin-cat-layout {
    display: grid;
    gap: 1rem;
    align-items: start;
}

@media (min-width: 1100px) {
    .admin-cat-layout { grid-template-columns: minmax(0, 1fr) 21rem; }
}

.admin-cat-grid {
    display: grid;
    gap: 0.75rem;
}

@media (min-width: 720px) {
    .admin-cat-grid { grid-template-columns: 1fr 1fr; }
}

@media (min-width: 1100px) {
    .admin-cat-grid { grid-template-columns: 1fr 1fr 1fr; }
}

.admin-modal:not([open]) { display: none; }

.admin-modal {
    display: block;
    width: min(36rem, calc(100vw - 1.5rem));
    max-height: calc(100vh - 2rem);
    margin: auto;
    padding: 0;
    border: 0;
    border-radius: 1.05rem;
    background: #fff;
    color: var(--yh-admin-text);
    box-shadow: 0 24px 70px rgba(26, 35, 50, 0.22);
}

.admin-modal::backdrop {
    background: rgba(26, 35, 50, 0.46);
}

.admin-modal-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.95rem 1.1rem;
    border-bottom: 1px solid var(--yh-admin-border);
}

.admin-modal-head h2 {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 800;
}

.admin-modal-close {
    width: 2.1rem;
    height: 2.1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.65rem;
    border: 1px solid var(--yh-admin-border);
    background: #fff;
    color: var(--yh-admin-muted);
    cursor: pointer;
}

.admin-modal-close:hover {
    color: var(--yh-admin-primary);
    border-color: rgba(var(--yh-admin-primary-rgb), 0.35);
}

.admin-modal-body {
    padding: 1rem 1.1rem 1.15rem;
    overflow: auto;
    max-height: min(70vh, 34rem);
}

.admin-modal-split {
    display: grid;
    gap: 0.7rem;
    margin-bottom: 0.7rem;
}

@media (min-width: 640px) {
    .admin-modal-split { grid-template-columns: 1fr 1fr; align-items: end; }
}

.admin-modal-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.admin-modal .admin-field input,
.admin-modal .admin-field textarea {
    width: 100%;
    max-width: none;
}

.admin-cat-side {
    display: grid;
    gap: 0.75rem;
}

.admin-cat-card { padding: 0.95rem 1rem 0.8rem; }
.admin-cat-card.is-off { opacity: 0.72; }

.admin-cat-head {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

.admin-cat-icon {
    width: 2.6rem;
    height: 2.6rem;
    border-radius: 0.75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: var(--yh-admin-primary-light);
    color: var(--yh-admin-primary);
}

.admin-cat-icon.is-food { background: #fff1f2; color: #e11d48; }

.admin-cat-title { min-width: 0; }
.admin-cat-title strong { display: block; font-size: 0.98rem; }
.admin-cat-badges { display: flex; flex-wrap: wrap; gap: 0.3rem; margin-top: 0.35rem; }

.admin-cat-desc {
    margin: 0.75rem 0 0;
    color: var(--yh-admin-muted);
    font-size: 0.82rem;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.admin-cat-foot {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-top: 0.75rem;
    padding-top: 0.7rem;
    border-top: 1px solid var(--yh-admin-border);
    color: var(--yh-admin-muted);
    font-size: 0.78rem;
    font-weight: 700;
}

.admin-cat-edit { margin-top: 0.7rem; }

.admin-cat-edit summary {
    cursor: pointer;
    color: var(--yh-admin-primary);
    font-size: 0.82rem;
    font-weight: 800;
}

.admin-cat-edit form { margin-top: 0.75rem; }

.admin-cat-edit-row {
    display: grid;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

@media (min-width: 520px) {
    .admin-cat-edit-row { grid-template-columns: 1fr 1fr 5.5rem; align-items: end; }
}

.admin-field {
    display: grid;
    gap: 0.28rem;
    margin-bottom: 0.7rem;
}

.admin-field span {
    color: var(--yh-admin-muted);
    font-size: 0.75rem;
    font-weight: 800;
}

.admin-field input,
.admin-field textarea,
.admin-field select,
.admin-cat-side input,
.admin-cat-side textarea {
    width: 100%;
    max-width: none;
}

.admin-tips ul {
    margin: 0;
    padding: 0.9rem 1.1rem 1rem 1.6rem;
    color: var(--yh-admin-muted);
    font-size: 0.82rem;
    line-height: 1.55;
}

.admin-tips li + li { margin-top: 0.4rem; }

.admin-btn.ghost {
    background: #fff;
    color: var(--yh-admin-text);
    border: 1px solid var(--yh-admin-border);
}

.admin-btn.ghost:hover {
    background: var(--yh-admin-primary-light);
    color: var(--yh-admin-primary);
}

.admin-btn.danger {
    background: #fff;
    color: #e11d48;
    border: 1px solid #fecdd3;
}

.admin-btn.danger:hover { background: #fff1f2; color: #be123c; }

.admin-ad-cover {
    display: block;
    width: 100%;
    height: 8.5rem;
    object-fit: cover;
    border-radius: 0.8rem;
    margin-bottom: 0.75rem;
}
.admin-ad-previews {
    display: flex;
    gap: 0.6rem;
    margin: 0 0 0.8rem;
}
.admin-ad-previews img {
    width: 5.5rem;
    height: 5.5rem;
    object-fit: cover;
    border-radius: 0.7rem;
    border: 1px solid rgba(22, 18, 40, 0.1);
}
.admin-modal.wide {
    width: min(44rem, calc(100vw - 1.5rem));
}

.admin-modal.wide:not([open]) { display: none; }

.admin-modal.wide[open] {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.admin-modal form {
    display: flex;
    flex-direction: column;
    min-height: 0;
    max-height: 100%;
}

.admin-modal.wide form {
    flex: 1 1 auto;
    overflow: hidden;
}

.admin-modal.wide .admin-modal-body {
    flex: 1 1 auto;
    min-height: 0;
    max-height: none;
}

.admin-modal-head,
.admin-modal-foot { flex-shrink: 0; }

.admin-modal-foot {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.5rem;
    padding: 0.85rem 1.1rem 1rem;
    border-top: 1px solid var(--yh-admin-border);
}

.admin-hint {
    margin: -0.2rem 0 0.75rem;
    color: var(--yh-admin-muted);
    font-size: 0.75rem;
    line-height: 1.5;
}

.admin-alert {
    margin-bottom: 0.75rem;
    padding: 0.65rem 0.8rem;
    border-radius: 0.7rem;
    background: #fff1f2;
    color: #be123c;
    font-size: 0.8rem;
    font-weight: 700;
}

.admin-form-section {
    margin-top: 0.4rem;
    padding-top: 0.85rem;
    border-top: 1px solid var(--yh-admin-border);
}

.admin-form-section h3 {
    margin: 0 0 0.2rem;
    font-size: 0.92rem;
    font-weight: 800;
}

.is-hidden { display: none !important; }

.admin-city-picker { margin-top: 0.35rem; }

.admin-city-picker-head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.55rem;
}

.admin-city-picker-head span {
    display: block;
    color: var(--yh-admin-muted);
    font-size: 0.75rem;
    font-weight: 800;
}

.admin-city-picker-head p {
    margin: 0.15rem 0 0;
    color: var(--yh-admin-text);
    font-size: 0.78rem;
    font-weight: 700;
}

.admin-city-picker-actions {
    display: flex;
    gap: 0.7rem;
}

.admin-city-picker-actions button {
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--yh-admin-primary);
    font-size: 0.78rem;
    font-weight: 800;
    cursor: pointer;
}

.admin-city-picker input[type="search"] {
    width: 100%;
    max-width: none;
    margin-bottom: 0.5rem;
}

.admin-city-list {
    max-height: 13.5rem;
    overflow: auto;
    border: 1px solid var(--yh-admin-border);
    border-radius: 0.75rem;
    background: #f8fafc;
}

.admin-city-row {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin: 0;
    padding: 0.45rem 0.7rem;
    cursor: pointer;
    font-size: 0.84rem;
    font-weight: 700;
}

.admin-city-row:hover { background: #fff; }

.admin-city-row input {
    width: 1rem;
    height: 1rem;
    accent-color: var(--yh-admin-primary);
}

.admin-city-row em {
    margin-inline-start: auto;
    color: var(--yh-admin-muted);
    font-size: 0.72rem;
    font-style: normal;
    font-weight: 600;
}

body.admin-app [hidden] { display: none !important; }

.admin-tabs {
    display: flex;
    gap: 0.35rem;
    margin-bottom: 1rem;
    overflow-x: auto;
    padding-bottom: 0.15rem;
}

.admin-tab {
    flex: 0 0 auto;
    height: 38px;
    padding: 0 0.9rem;
    border: 1px solid var(--yh-admin-border);
    border-radius: 999px;
    background: #fff;
    color: var(--yh-admin-muted);
    font-size: 0.84rem;
    font-weight: 800;
    cursor: pointer;
}

.admin-tab.is-active {
    border-color: transparent;
    background: var(--yh-admin-primary);
    color: #fff;
}

.admin-page-editor {
    display: grid;
    gap: 0.85rem;
}

@media (min-width: 860px) {
    .admin-page-editor { grid-template-columns: 15rem minmax(0, 1fr); align-items: start; }
}

.admin-page-editor-nav {
    display: flex;
    gap: 0.35rem;
    overflow-x: auto;
}

@media (min-width: 860px) {
    .admin-page-editor-nav { display: grid; overflow: visible; }
}

.admin-page-editor-nav button {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.1rem;
    width: 100%;
    padding: 0.7rem 0.8rem;
    border: 1px solid var(--yh-admin-border);
    border-radius: 0.75rem;
    background: #fff;
    color: var(--yh-admin-text);
    font-size: 0.84rem;
    font-weight: 800;
    text-align: start;
    cursor: pointer;
}

.admin-page-editor-nav button small {
    color: var(--yh-admin-muted);
    font-size: 0.68rem;
    font-weight: 700;
}

.admin-page-editor-nav button.is-active {
    border-color: rgba(var(--yh-admin-primary-rgb), 0.45);
    background: var(--yh-admin-primary-light);
    color: var(--yh-admin-primary);
}

.admin-page-editor textarea { min-height: 16rem; }

.admin-meta {
    display: grid;
    gap: 0.7rem;
    margin: 0;
}

@media (min-width: 640px) {
    .admin-meta { grid-template-columns: 1fr 1fr; }
}

.admin-meta div { min-width: 0; }
.admin-meta dt { color: var(--yh-admin-muted); font-size: 0.75rem; font-weight: 800; }
.admin-meta dd { margin: 0.15rem 0 0; font-weight: 700; }

.admin-link-list { list-style: none; margin: 0; padding: 0; }
.admin-link-list li {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.4rem 0.8rem;
    padding: 0.55rem 0;
    border-bottom: 1px solid var(--yh-admin-border);
    font-size: 0.86rem;
}
.admin-link-list li:last-child { border-bottom: 0; }
.admin-link-list a { color: var(--yh-admin-primary); font-weight: 800; text-decoration: none; }

.admin-pagination { margin-top: 1rem; }
.admin-pagination nav { display: flex; justify-content: flex-end; }

.seller-nav-badge {
    margin-inline-start: auto;
    min-width: 1.25rem;
    padding: 0.05rem 0.4rem;
    border-radius: 999px;
    background: #e74a3b;
    color: #fff;
    font-size: 0.68rem;
    font-weight: 800;
    line-height: 1.4;
    text-align: center;
}

.yh-admin-nav-link.is-active .seller-nav-badge {
    background: rgba(255, 255, 255, 0.28);
    color: #fff;
}

:is(body.seller-app, body.buyer-app) .admin-topbar-end { gap: 0.45rem; }

:is(body.seller-app, body.buyer-app) .seller-topbar-tools {
    display: flex;
    align-items: center;
    gap: 2px;
    padding: 2px;
    background: var(--yh-admin-bg);
    border: 1px solid var(--yh-admin-border);
    border-radius: 10px;
}

:is(body.seller-app, body.buyer-app) .seller-topbar-tools .admin-topbar-btn,
:is(body.seller-app, body.buyer-app) .seller-topbar-tools #notif-btn {
    width: 32px;
    height: 32px;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #475569;
    font-size: 0.72rem;
}

:is(body.seller-app, body.buyer-app) .seller-topbar-tools .admin-topbar-btn.is-lang {
    width: auto;
    min-width: 32px;
    padding: 0 0.4rem;
    gap: 0.2rem;
}

:is(body.seller-app, body.buyer-app) .seller-topbar-tools .seller-lang-code {
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.02em;
}

:is(body.seller-app, body.buyer-app) .seller-topbar-tools .admin-topbar-btn:hover,
:is(body.seller-app, body.buyer-app) .seller-topbar-tools #notif-btn:hover {
    background: #fff;
    color: var(--yh-admin-primary);
}

:is(body.seller-app, body.buyer-app) .seller-topbar-tools svg,
:is(body.seller-app, body.buyer-app) .seller-topbar-tools .bi {
    width: 16px;
    height: 16px;
    font-size: 15px;
}

:is(body.seller-app, body.buyer-app) .admin-user-btn {
    height: 32px;
    padding: 0 0.2rem;
    background: transparent;
    box-shadow: none;
}

:is(body.seller-app, body.buyer-app) .admin-user-avatar {
    width: 32px;
    height: 32px;
    border-radius: 9px;
    font-size: 0.8rem;
}

:is(body.seller-app, body.buyer-app) .admin-user-meta { display: none; }

@media (min-width: 1200px) {
    :is(body.seller-app, body.buyer-app) .admin-user-meta { display: flex; }
}

:is(body.seller-app, body.buyer-app) #notif-wrap { position: relative; }

:is(body.seller-app, body.buyer-app) #notif-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

:is(body.seller-app, body.buyer-app) #notif-badge {
    position: absolute;
    top: -4px;
    inset-inline-end: -4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 15px;
    height: 15px;
    padding: 0 3px;
    border-radius: 999px;
    background: #e74a3b;
    color: #fff;
    font-size: 9px;
    font-weight: 800;
    line-height: 1;
    box-shadow: none;
}

:is(body.seller-app, body.buyer-app) #notif-badge.hidden { display: none !important; }

.seller-flash {
    margin-bottom: 1rem;
    padding: 0.75rem 0.95rem;
    border-radius: 0.75rem;
    font-size: 0.9rem;
    font-weight: 700;
}

.seller-flash ul { margin: 0; padding-inline-start: 1.1rem; }
.seller-flash a { display: inline-flex; margin-top: 0.45rem; color: inherit; font-weight: 800; }
.seller-flash-ok { background: #e8f8ef; color: #0f9f6e; border: 1px solid #b7ebc9; }
.seller-flash-bad { background: #fdecec; color: #c53030; border: 1px solid #f6c6c6; }
.seller-flash-wait {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    background: #fff8e6;
    color: #8a5a00;
    border: 1px solid #f3e0a8;
}
.seller-flash-wait span { font-weight: 600; }

.seller-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-bottom: 1rem;
}

.seller-filters a {
    display: inline-flex;
    align-items: center;
    height: 34px;
    padding: 0 0.8rem;
    border-radius: 999px;
    border: 1px solid var(--yh-admin-border);
    background: #fff;
    color: var(--yh-admin-muted);
    font-size: 0.8rem;
    font-weight: 800;
    text-decoration: none;
}

.seller-filters a.is-active,
.seller-filters a:hover {
    border-color: transparent;
    background: var(--yh-admin-primary);
    color: #fff;
}

.seller-stars { display: grid; gap: 0.45rem; }

.seller-star-row {
    display: grid;
    grid-template-columns: 4.8rem minmax(0, 1fr) 1.6rem;
    align-items: center;
    gap: 0.65rem;
    font-size: 0.82rem;
    font-weight: 800;
    color: var(--yh-admin-muted);
}

.seller-star-track {
    height: 8px;
    overflow: hidden;
    border-radius: 999px;
    background: #e8edf3;
}

.seller-star-track span {
    display: block;
    height: 100%;
    border-radius: 999px;
    background: var(--yh-admin-primary);
}

.seller-review {
    margin-bottom: 0.85rem;
}

.seller-review.is-hidden { opacity: 0.72; }

.seller-review-meta {
    margin: 0.35rem 0 0;
    color: var(--yh-admin-muted);
    font-size: 0.82rem;
    font-weight: 700;
}

.seller-review-body {
    margin: 0.75rem 0 0;
    color: var(--yh-admin-text);
    line-height: 1.7;
}

.seller-reply {
    margin-top: 0.9rem;
    padding: 0.8rem 0.9rem;
    border-radius: 0.75rem;
    background: var(--yh-admin-primary-light);
}

.seller-reply form { margin: 0; }

.seller-metric-grid {
    display: grid;
    gap: 0.5rem;
    margin-top: 0.8rem;
}

@media (min-width: 640px) {
    .seller-metric-grid { grid-template-columns: 1fr 1fr; }
}

.seller-metric {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.6rem;
    padding: 0.55rem 0.75rem;
    border-radius: 0.7rem;
    background: #f8fafc;
    font-size: 0.84rem;
    font-weight: 700;
}

:is(body.seller-app, body.buyer-app) .yh-dash-card {
    padding: 1rem 1.1rem;
    border: 1px solid var(--yh-admin-border);
    border-radius: 0.875rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

:is(body.seller-app, body.buyer-app) .yh-dash-content .rounded-2xl.bg-white,
:is(body.seller-app, body.buyer-app) .yh-dash-content .rounded-3xl.bg-white,
:is(body.seller-app, body.buyer-app) .yh-dash-content section.rounded-2xl {
    border: 1px solid var(--yh-admin-border);
    border-radius: 0.875rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

:is(body.seller-app, body.buyer-app) .yh-dash-content .p-8,
:is(body.seller-app, body.buyer-app) .yh-dash-content .p-7,
:is(body.seller-app, body.buyer-app) .yh-dash-content .p-6,
:is(body.seller-app, body.buyer-app) .yh-dash-content .p-5,
:is(body.seller-app, body.buyer-app) .yh-dash-content .sm\:p-8,
:is(body.seller-app, body.buyer-app) .yh-dash-content .sm\:p-6,
:is(body.seller-app, body.buyer-app) .yh-dash-content .lg\:p-8 {
    padding: 1.15rem 1.25rem;
}

:is(body.seller-app, body.buyer-app) .yh-dash-content .p-4 { padding: 1rem; }
:is(body.seller-app, body.buyer-app) .yh-dash-content .px-6,
:is(body.seller-app, body.buyer-app) .yh-dash-content .px-5 { padding-inline: 1.15rem; }
:is(body.seller-app, body.buyer-app) .yh-dash-content .py-6,
:is(body.seller-app, body.buyer-app) .yh-dash-content .py-5 { padding-block: 1rem; }

:is(body.seller-app, body.buyer-app) .yh-dash-content .gap-8,
:is(body.seller-app, body.buyer-app) .yh-dash-content .gap-6,
:is(body.seller-app, body.buyer-app) .yh-dash-content .lg\:gap-8,
:is(body.seller-app, body.buyer-app) .yh-dash-content .gap-4 { gap: 1rem; }

:is(body.seller-app, body.buyer-app) .yh-dash-content .space-y-8 > :not(:last-child),
:is(body.seller-app, body.buyer-app) .yh-dash-content .space-y-6 > :not(:last-child),
:is(body.seller-app, body.buyer-app) .yh-dash-content .space-y-5 > :not(:last-child) {
    margin-block-end: 1.15rem;
}

:is(body.seller-app, body.buyer-app) .yh-dash-content .mb-8,
:is(body.seller-app, body.buyer-app) .yh-dash-content .mb-6 { margin-bottom: 1.15rem; }
:is(body.seller-app, body.buyer-app) .yh-dash-content .mt-8,
:is(body.seller-app, body.buyer-app) .yh-dash-content .mt-6 { margin-top: 1.15rem; }

:is(body.seller-app, body.buyer-app) .yh-dash-content .text-4xl,
:is(body.seller-app, body.buyer-app) .yh-dash-content .text-3xl {
    font-size: 1.85rem;
    line-height: 2.2rem;
}

:is(body.seller-app, body.buyer-app) .yh-dash-content .text-2xl {
    font-size: 1.4rem;
    line-height: 1.8rem;
}

:is(body.seller-app, body.buyer-app) .seller-stack {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

:is(body.seller-app, body.buyer-app) .seller-panel {
    padding: 0;
    overflow: hidden;
}

:is(body.seller-app, body.buyer-app) .seller-panel > h2,
:is(body.seller-app, body.buyer-app) .seller-panel > .seller-panel-title {
    margin: 0;
    padding: 0.9rem 1.15rem;
    border-bottom: 1px solid var(--yh-admin-border);
    font-size: 0.98rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: none;
    color: var(--yh-admin-text);
}

:is(body.seller-app, body.buyer-app) .seller-panel > :not(h2):not(.seller-panel-title) {
    margin-left: 1.15rem;
    margin-right: 1.15rem;
}

:is(body.seller-app, body.buyer-app) .seller-panel > :last-child {
    margin-bottom: 1.1rem;
}

:is(body.seller-app, body.buyer-app) .seller-panel > :nth-child(2) {
    margin-top: 1rem;
}

:is(body.seller-app, body.buyer-app) .seller-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

:is(body.seller-app, body.buyer-app) .admin-card .admin-btn {
    height: 32px;
    padding: 0 0.7rem;
    font-size: 0.78rem;
}

.yh-links-grid {
    display: grid;
    gap: 0.75rem;
}

@media (min-width: 860px) {
    .yh-links-grid { grid-template-columns: 1fr 1fr; }
}

.yh-link-card {
    display: grid;
    gap: 0.45rem;
    padding: 0.75rem 0.85rem 0.8rem;
    border: 1px solid var(--yh-admin-border);
    border-radius: 0.85rem;
    background: #fbfbfe;
}

.yh-link-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.6rem;
}

.yh-link-card-head > span {
    color: #1f2a44;
    font-size: 0.86rem;
    font-weight: 800;
}

.yh-link-card .admin-field { margin: 0; }

.yh-link-switch {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0;
    cursor: pointer;
    font-size: 0.72rem;
    font-weight: 800;
}

.yh-link-switch input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.yh-link-switch-ui {
    position: relative;
    width: 2.25rem;
    height: 1.25rem;
    border-radius: 99px;
    background: #d5dbe6;
    transition: background 0.15s ease;
}

.yh-link-switch-ui::after {
    content: "";
    position: absolute;
    top: 2px;
    inset-inline-start: 2px;
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 3px rgba(31, 42, 68, 0.25);
    transition: inset-inline-start 0.15s ease;
}

.yh-link-switch input:checked + .yh-link-switch-ui { background: #6d4aff; }

.yh-link-switch input:checked + .yh-link-switch-ui::after {
    inset-inline-start: calc(100% - 1rem - 2px);
}

.yh-link-switch input:focus-visible + .yh-link-switch-ui {
    outline: 2px solid #6d4aff;
    outline-offset: 2px;
}

.yh-link-switch-off { color: #8b95a8; }
.yh-link-switch-on { display: none; color: #6d4aff; }

.yh-link-switch input:checked ~ .yh-link-switch-off { display: none; }
.yh-link-switch input:checked ~ .yh-link-switch-on { display: inline; }

.pgw-title { margin: 0; font-size: 1.15rem; font-weight: 800; }
.pgw-card { margin-bottom: 1rem; }
.pgw-note, .pgw-alert {
    margin-bottom: 1rem;
    padding: 0.85rem 1rem;
    border-radius: 0.9rem;
    background: #eef6ff;
    color: #1e3a5f;
    font-size: 0.82rem;
    line-height: 1.6;
}
.pgw-alert { background: #fff7ed; color: #9a3412; }
.pgw-alert.is-bad { background: #fff1f2; color: #be123c; }
.pgw-note p { margin: 0 0 0.35rem; }
.pgw-note p:last-child { margin: 0; }
.pgw-table-wrap { overflow-x: auto; border: 1px solid var(--yh-admin-border); border-radius: 0.85rem; }
.pgw-table { width: 100%; border-collapse: collapse; font-size: 0.84rem; min-width: 42rem; }
.pgw-table th, .pgw-table td { padding: 0.75rem 0.8rem; border-bottom: 1px solid #e8ecef; text-align: start; vertical-align: middle; }
.pgw-table th { background: #f1f5f9; color: #475569; font-size: 0.75rem; font-weight: 800; white-space: nowrap; }
.pgw-table tbody tr:nth-child(odd) td { background: #fafbfc; }
.pgw-table tbody tr:hover td { background: #f7f5ff; }
.pgw-table code { font-size: 0.72rem; }
.pgw-id { color: var(--yh-admin-muted); width: 48px; }
.pgw-name { display: flex; align-items: center; gap: 0.65rem; }
.pgw-table-icon {
    width: 38px; height: 38px; border-radius: 10px; flex-shrink: 0;
    display: inline-flex; align-items: center; justify-content: center;
    background: var(--yh-admin-primary-light, #f3efff); color: #6d4aff; font-size: 1.05rem;
}
.pgw-count { background: #f3efff; color: #6d4aff; }
.pgw-actions { display: flex; justify-content: flex-end; gap: 0.35rem; white-space: nowrap; }
.pgw-icon-btn {
    width: 32px; height: 32px; border: 1px solid var(--yh-admin-border); border-radius: 0.5rem;
    background: #fff; color: #334155; display: inline-flex; align-items: center; justify-content: center;
    text-decoration: none; cursor: pointer;
}
.pgw-icon-btn:hover { background: #f7f5ff; color: #6d4aff; border-color: #d9d0ff; }
.pgw-subhead { margin: 1.15rem 0 0.75rem; font-size: 0.95rem; font-weight: 800; }
.pgw-details { border: 1px solid var(--yh-admin-border); border-radius: 0.9rem; margin-bottom: 0.75rem; background: #fff; overflow: hidden; }
.pgw-details summary { display: flex; align-items: center; gap: 0.55rem; padding: 0.85rem 1rem; cursor: pointer; list-style: none; background: #f8fafc; }
.pgw-details[open] summary { background: #fff; box-shadow: inset 0 -1px 0 var(--yh-admin-border); }
.pgw-details summary::-webkit-details-marker { display: none; }
.pgw-details summary .admin-badge { margin-inline-start: auto; }
.pgw-sum-icon { color: #6d4aff; }
.pgw-details-body { padding: 1rem; }
.pgw-city-cell { text-align: center; }
body.admin-app .yh-dash-content td .pgw-city-switch input { height: auto; min-width: 0; max-width: none; border: 0; }
.pgw-grid { display: grid; gap: 0.7rem; }
@media (min-width: 860px) { .pgw-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.pgw-switch { align-self: end; margin-bottom: 0.85rem; }
.pgw-checks { display: flex; flex-wrap: wrap; gap: 0.8rem 1.2rem; margin-bottom: 0.8rem; }
.pgw-ok { color: #15803d; font-size: 0.75rem; font-weight: 700; }
.pgw-webhook { margin-top: 0.6rem; }
.pgw-city-switch { justify-content: center; }
.pgw-form .admin-btn { margin-top: 0.4rem; }

.seller-review-logo {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    object-fit: cover;
    flex-shrink: 0;
}

.seller-review {
    display: grid;
    gap: 0.85rem;
    align-items: start;
}

.seller-review-main,
.seller-review-side {
    display: grid;
    gap: 0.85rem;
}

@media (min-width: 1100px) {
    .seller-review { grid-template-columns: minmax(0, 1.65fr) minmax(18rem, 0.85fr); }
}

.seller-review-banner {
    display: block;
    width: 100%;
    height: 8.5rem;
    margin-bottom: 1rem;
    border-radius: 0.75rem;
    object-fit: cover;
}

.seller-review-wide { grid-column: 1 / -1; }

.seller-checks {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.45rem;
}

.seller-checks li {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    color: var(--yh-admin-muted);
    font-size: 0.86rem;
    font-weight: 700;
}

.seller-checks li.is-ok { color: var(--yh-admin-text); }
.seller-checks li.is-ok i { color: #0f9f6e; }

.seller-review-action { width: 100%; margin-top: 0.85rem; }

.seller-reject-form {
    margin-top: 0.9rem;
    padding-top: 0.9rem;
    border-top: 1px solid var(--yh-admin-border);
}

.seller-reject-note {
    margin: 0.75rem 0 0;
    padding: 0.7rem 0.8rem;
    border-radius: 0.7rem;
    background: #fdecec;
    color: #9b1c1c;
    font-size: 0.84rem;
    font-weight: 700;
}

.seller-payout {
    display: grid;
    gap: 0.7rem;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--yh-admin-border);
}

.seller-payout-title { margin: 0; font-weight: 800; }
.seller-payout .admin-field { margin: 0; }

.admin-filters {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.admin-filters input,
.admin-filters select {
    height: 38px;
    min-width: 10rem;
    padding: 0 0.75rem;
    border: 1px solid var(--yh-admin-border);
    border-radius: 0.625rem;
    background: #fff;
    color: var(--yh-admin-text);
    font-size: 0.86rem;
}

.admin-filters button {
    height: 38px;
    padding: 0 0.95rem;
    border: 0;
    border-radius: 0.625rem;
    background: var(--yh-admin-primary);
    color: #fff;
    font-size: 0.86rem;
    font-weight: 800;
    cursor: pointer;
}

.admin-segment {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
    margin-bottom: 1rem;
}

.admin-segment a {
    display: inline-flex;
    align-items: center;
    height: 34px;
    padding: 0 0.8rem;
    border: 1px solid var(--yh-admin-border);
    border-radius: 999px;
    background: #fff;
    color: var(--yh-admin-muted);
    font-size: 0.8rem;
    font-weight: 800;
    text-decoration: none;
}

.admin-segment a.is-active {
    border-color: transparent;
    background: var(--yh-admin-primary);
    color: #fff;
}

.admin-stack {
    display: grid;
    gap: 0.75rem;
}

.admin-stack .admin-card { margin: 0; }

.admin-inline-form {
    display: grid;
    gap: 0.75rem;
    margin-top: 0.9rem;
    padding-top: 0.9rem;
    border-top: 1px solid var(--yh-admin-border);
}

.admin-inline-form .admin-field { margin: 0; }

.admin-data-map { min-width: 64rem; }
.admin-data-map td {
    white-space: normal;
    vertical-align: top;
    line-height: 1.55;
    font-size: 0.82rem;
}
.admin-data-map td strong { display: block; }
.admin-data-map .admin-badge { margin-top: 0.35rem; }
.admin-data-map td.is-harm { color: #9b1c1c; font-weight: 700; }

.so-board { display: grid; gap: 0.85rem; }
.so-board .ol-meta {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 16rem;
}
.so-board .ol-actions form { margin: 0; }
.so-board .ol-actions button.ol-btn {
    cursor: pointer;
    font-family: inherit;
    line-height: 1.2;
}
.so-board .ol-actions button.ol-btn:disabled { opacity: 0.65; cursor: default; }

.so-hero {
    display: grid;
    gap: 1rem;
    padding: 1.15rem 1.2rem 1.2rem;
    border: 1px solid var(--yh-admin-border);
    border-radius: 1.15rem;
    background:
        radial-gradient(120% 140% at 100% 0%, rgba(109, 74, 255, 0.14), transparent 46%),
        #fff;
}

.so-kicker {
    margin: 0;
    color: var(--yh-admin-primary);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.04em;
}

.so-lead {
    margin: 0.35rem 0 0;
    max-width: 38rem;
    color: var(--yh-admin-muted);
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.7;
}

.so-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
}

.so-stat {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-height: 4.6rem;
    padding: 0.8rem 0.9rem;
    border: 1px solid var(--yh-admin-border);
    border-radius: 0.95rem;
    background: #fff;
    color: inherit;
    text-decoration: none;
}

.so-stat span {
    color: var(--yh-admin-muted);
    font-size: 0.75rem;
    font-weight: 800;
}

.so-stat strong {
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1.1;
}

.so-stat.is-hot { border-color: #f3d48a; background: #fffaf0; }
.so-stat.is-hot strong { color: #9a6700; }
.so-stat.is-active {
    border-color: transparent;
    background: var(--yh-admin-primary);
    color: #fff;
}
.so-stat.is-active span,
.so-stat.is-active strong { color: #fff; }

.so-filters {
    display: flex;
    gap: 0.45rem;
    overflow-x: auto;
    padding-bottom: 0.15rem;
    scrollbar-width: none;
}

.so-filters::-webkit-scrollbar { display: none; }

.so-filters a {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    height: 36px;
    padding-block: 0;
    padding-inline: 0.85rem 0.55rem;
    border: 1px solid var(--yh-admin-border);
    border-radius: 999px;
    background: #fff;
    color: var(--yh-admin-muted);
    font-size: 0.8rem;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}

.so-filters a em {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.35rem;
    height: 1.35rem;
    padding: 0 0.35rem;
    border-radius: 999px;
    background: #f1f3f8;
    color: var(--yh-admin-text);
    font-style: normal;
    font-size: 0.72rem;
}

.so-filters a.is-active,
.so-filters a:hover {
    border-color: transparent;
    background: var(--yh-admin-primary);
    color: #fff;
}

.so-filters a.is-active em,
.so-filters a:hover em { background: rgba(255, 255, 255, 0.2); color: #fff; }

.so-list { display: grid; gap: 0.8rem; }

.so-card {
    display: grid;
    gap: 0.85rem;
    padding: 1rem 1rem 0.9rem;
    border: 1px solid var(--yh-admin-border);
    border-radius: 1.1rem;
    background: #fff;
    box-shadow: 0 8px 24px rgba(26, 35, 50, 0.04);
}

.so-card.is-open { box-shadow: inset 3px 0 0 var(--yh-admin-primary); }
html[dir="rtl"] .so-card.is-open { box-shadow: inset -3px 0 0 var(--yh-admin-primary); }

.so-card-top,
.so-foot,
.so-badges,
.so-actions {
    display: flex;
    align-items: center;
    gap: 0.55rem;
}

.so-card-top,
.so-foot { justify-content: space-between; align-items: flex-start; }

.so-id {
    color: var(--yh-admin-text);
    font-size: 1.15rem;
    font-weight: 800;
    text-decoration: none;
}

.so-card-top time {
    display: block;
    margin-top: 0.15rem;
    color: var(--yh-admin-muted);
    font-size: 0.78rem;
    font-weight: 700;
}

.so-badges,
.so-actions { flex-wrap: wrap; justify-content: flex-end; }

.so-items {
    display: grid;
    gap: 0.55rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.so-items li {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.75rem;
    padding: 0.55rem;
    border-radius: 0.85rem;
    background: #f7f8fb;
}

.so-items > li > img,
.so-photo-fallback {
    width: 52px;
    height: 52px;
    border-radius: 0.75rem;
    object-fit: cover;
    background: #fff;
}

.so-photo-fallback {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--yh-admin-primary);
    font-size: 1.15rem;
}

.so-item-copy { min-width: 0; }
.so-item-copy strong,
.so-item-copy span { display: block; }
.so-item-copy strong {
    overflow: hidden;
    color: var(--yh-admin-text);
    font-size: 0.92rem;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.so-item-copy span {
    margin-top: 0.15rem;
    color: var(--yh-admin-muted);
    font-size: 0.78rem;
    font-weight: 700;
}
.so-items b { font-size: 0.92rem; font-weight: 800; white-space: nowrap; }
.so-more {
    display: block !important;
    padding: 0.15rem 0.55rem !important;
    background: transparent !important;
    color: var(--yh-admin-muted);
    font-size: 0.78rem;
    font-weight: 800;
}

.so-meta { min-width: 0; }
.so-meta span,
.so-meta strong,
.so-meta em,
.so-timer { display: block; }
.so-meta span {
    color: var(--yh-admin-muted);
    font-size: 0.72rem;
    font-style: normal;
    font-weight: 800;
}
.so-meta strong { margin-top: 0.1rem; font-size: 0.92rem; }
.so-meta em {
    margin-top: 0.2rem;
    color: var(--yh-admin-primary);
    font-style: normal;
    font-weight: 800;
}
.so-timer {
    margin-top: 0.35rem;
    color: #9a6700;
    font-size: 0.75rem;
    font-style: normal;
    font-weight: 800;
}
.so-timer.is-late { max-width: 16rem; line-height: 1.45; }

.so-actions form { margin: 0; }
.so-actions .admin-btn { height: 40px; }

.so-empty {
    display: grid;
    justify-items: center;
    gap: 0.7rem;
    padding: 3rem 1.2rem;
    border: 1px dashed var(--yh-admin-border);
    border-radius: 1.1rem;
    background: #fff;
    text-align: center;
}
.so-empty span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.2rem;
    height: 3.2rem;
    border-radius: 1rem;
    background: var(--yh-admin-primary-light);
    color: var(--yh-admin-primary);
    font-size: 1.4rem;
}
.so-empty p {
    margin: 0;
    color: var(--yh-admin-muted);
    font-weight: 800;
}

@media (min-width: 900px) {
    .so-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .so-foot { align-items: center; }
}

@media (max-width: 640px) {
    .so-card-top,
    .so-foot { flex-direction: column; }
    .so-actions,
    .so-actions .admin-btn,
    .so-actions form { width: 100%; }
}

.sod { display: grid; gap: 1rem; }

.sod-back {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    color: var(--yh-admin-muted);
    font-size: 0.84rem;
    font-weight: 800;
    text-decoration: none;
}
.sod-back:hover { color: var(--yh-admin-primary); }

.sod-grid {
    display: grid;
    gap: 1rem;
    align-items: start;
}

.sod-main { display: grid; gap: 1rem; min-width: 0; }

.sod-card,
.sod-action,
.sod .order-location-card {
    border: 1px solid var(--yh-admin-border);
    border-radius: 1.15rem;
    background: #fff;
    box-shadow: 0 8px 24px rgba(26, 35, 50, 0.04);
}

.sod-card { display: grid; gap: 1rem; padding: 1.1rem 1.1rem 1.15rem; }

.sod-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.8rem;
}

.sod-card-head h2 {
    margin: 0.15rem 0 0;
    font-size: 1.7rem;
    font-weight: 800;
    letter-spacing: 0;
}

.sod-card-head time {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.7rem;
    margin-top: 0.25rem;
    color: var(--yh-admin-muted);
    font-size: 0.8rem;
    font-weight: 700;
}

.sod-card .so-items b {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.15rem;
}
.sod-card .so-items b small {
    color: var(--yh-admin-muted);
    font-size: 0.72rem;
    font-weight: 700;
}
.sod-card .so-items .sar-symbol {
    width: 0.9em;
    height: 0.9em;
    object-fit: contain;
}
.sod-chip {
    display: inline-flex;
    width: fit-content;
    margin-top: 0.35rem;
    padding: 0.12rem 0.5rem;
    border-radius: 999px;
    background: #fff;
    color: var(--yh-admin-primary);
    font-style: normal;
    font-size: 0.72rem;
    font-weight: 800;
}

.sod-total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0;
    padding-top: 0.2rem;
    font-weight: 800;
}
.sod-total span { color: var(--yh-admin-muted); font-size: 0.86rem; }
.sod-total strong { color: var(--yh-admin-primary); font-size: 1.15rem; }

.sod-facts {
    display: grid;
    gap: 0.75rem;
}
.sod-facts section,
.sod-address {
    padding: 0.9rem 0.95rem;
    border-radius: 0.95rem;
    background: #f7f8fb;
}
.sod-facts h3,
.sod-address h3,
.sod .order-location-card h2 {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0 0 0.65rem;
    color: var(--yh-admin-text);
    font-size: 0.86rem;
    font-weight: 800;
}
.sod-facts h3 .bi,
.sod-address h3 .bi { color: var(--yh-admin-primary); }
.sod-facts dl,
.sod-address-grid { display: grid; gap: 0.55rem; margin: 0; }
.sod-facts dt,
.sod-address dt {
    color: var(--yh-admin-muted);
    font-size: 0.72rem;
    font-weight: 800;
}
.sod-facts dd,
.sod-address dd,
.sod-facts p,
.sod-address p { margin: 0.1rem 0 0; font-weight: 800; }
.sod-facts a,
.sod-address a { color: var(--yh-admin-primary); text-decoration: none; }
.sod-note {
    color: var(--yh-admin-muted) !important;
    font-size: 0.8rem !important;
    font-weight: 700 !important;
    line-height: 1.6;
}
.sod-note.is-ok { color: #0f9f6e !important; }
.sod-note.is-hot { color: #c2410c !important; }

.sod-address-grid { grid-template-columns: 1fr; }
.sod-map { margin-top: 0.8rem; overflow: hidden; border-radius: 0.9rem; }
.sod-map > div { height: 220px; background: #eef2f7; }

.sod .order-location-card { padding: 1rem 1.05rem 1.1rem; }
.sod .order-location-card h2 { font-size: 0.95rem; }

.sod-action {
    display: grid;
    gap: 0.75rem;
    padding: 1.05rem 1.05rem 1.1rem;
}
.sod-action h2 {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 800;
}
.sod-action-lead {
    margin: 0;
    color: var(--yh-admin-muted);
    font-size: 0.84rem;
    font-weight: 700;
    line-height: 1.65;
}
.sod-timer {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0;
    padding: 0.55rem 0.7rem;
    border-radius: 0.8rem;
    background: #fff8e6;
    color: #9a6700;
    font-size: 0.82rem;
    font-weight: 800;
}
.sod-timer.is-late { align-items: flex-start; line-height: 1.5; }
.sod-callout {
    display: grid;
    gap: 0.2rem;
    padding: 0.75rem 0.8rem;
    border-radius: 0.85rem;
    background: var(--yh-admin-primary-light);
    color: var(--yh-admin-text);
    font-size: 0.8rem;
    font-weight: 700;
    line-height: 1.55;
}
.sod-callout strong { font-size: 0.86rem; }
.sod-callout.is-warn { background: #fff8e6; color: #9a6700; }
.sod-form { display: grid; gap: 0.7rem; margin: 0; }
.sod-field { display: grid; gap: 0.3rem; }
.sod-field span {
    color: var(--yh-admin-muted);
    font-size: 0.75rem;
    font-weight: 800;
}
.sod-field input,
.sod-field select,
.sod-field textarea {
    width: 100%;
    max-width: none;
    border: 1px solid var(--yh-admin-border);
    border-radius: 0.75rem;
    background: #fff;
    padding: 0.7rem 0.8rem;
    color: var(--yh-admin-text);
    font: inherit;
    font-size: 0.88rem;
    font-weight: 700;
}
.sod-accept,
.sod-form .admin-btn { width: 100%; height: 44px; }
.sod-switch { display: grid; gap: 0.45rem; }
.sod-switch p {
    margin: 0;
    color: var(--yh-admin-muted);
    font-size: 0.75rem;
    font-weight: 800;
}
.sod-switch div { display: flex; gap: 0.4rem; }
.sod-switch button {
    flex: 1;
    height: 36px;
    border: 1px solid var(--yh-admin-border);
    border-radius: 999px;
    background: #fff;
    color: var(--yh-admin-text);
    font: inherit;
    font-size: 0.78rem;
    font-weight: 800;
    cursor: pointer;
}
.sod-switch button.is-on {
    border-color: transparent;
    background: #1a2332;
    color: #fff;
}
.sod-line {
    display: grid;
    gap: 0.45rem;
    padding: 0.75rem;
    border-radius: 0.85rem;
    background: #f7f8fb;
}
.sod-line strong { font-size: 0.88rem; }
.sod-line > span { color: var(--yh-admin-muted); font-size: 0.75rem; font-weight: 800; }
.sod-summary { display: grid; gap: 0.45rem; font-size: 0.88rem; font-weight: 700; }
.sod-summary p { margin: 0; }
.sod-error { margin: 0; color: #c53030; font-size: 0.82rem; font-weight: 800; }
.sod-buyer-link { margin: 0.2rem 0 0; }
.sod-buyer-link a {
    color: var(--yh-admin-primary);
    font-size: 0.84rem;
    font-weight: 800;
    text-decoration: none;
}

@media (min-width: 860px) {
    .sod-grid { grid-template-columns: minmax(0, 1fr) 340px; }
    .sod-action { position: sticky; top: 1rem; }
    .sod-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .sod-address-grid { grid-template-columns: 1fr 1fr; }
    .sod-address-grid .is-wide { grid-column: 1 / -1; }
}

@media (max-width: 859px) {
    .sod-action { order: -1; }
}

body.buyer-app .seller-topbar-tools [data-open-location-gate] {
    height: 32px;
    max-width: 8.75rem;
    padding: 0 0.5rem;
    border: 0;
    border-radius: 8px;
    background: transparent;
    box-shadow: none;
    gap: 0.25rem;
    font-size: 0.72rem;
    font-weight: 800;
    color: #475569;
}

body.buyer-app .seller-topbar-tools [data-open-location-gate]:hover {
    background: #fff;
    color: var(--yh-admin-primary);
}

body.buyer-app .seller-topbar-tools [data-open-location-gate] [data-location-chip-label] {
    max-width: 6.5rem;
}

@media (max-width: 720px) {
    body.buyer-app .seller-topbar-tools [data-open-location-gate] {
        width: 32px;
        max-width: 32px;
        padding: 0;
        justify-content: center;
    }

    body.buyer-app .seller-topbar-tools [data-open-location-gate] [data-location-chip-label] {
        display: none;
    }
}

body.buyer-app .buyer-cart-link { position: relative; }

body.buyer-app .buyer-cart-badge {
    position: absolute;
    top: -4px;
    inset-inline-end: -4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 15px;
    height: 15px;
    padding: 0 3px;
    border-radius: 999px;
    background: #e74a3b;
    color: #fff;
    font-size: 9px;
    font-weight: 800;
    line-height: 1;
}

body.buyer-app .buyer-catalog form[method="GET"],
body.buyer-app .buyer-catalog form[method="get"] {
    display: block;
    margin: 0;
}

.buyer-catalog-filters {
    margin-bottom: 1rem;
    padding: 0.9rem 1rem 1rem;
}
.buyer-catalog-filters .admin-card,
.buyer-catalog .admin-card { overflow: visible; }

.buyer-catalog-bar,
.buyer-catalog-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

.buyer-catalog-meta {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--yh-admin-border);
}

.buyer-catalog-search {
    position: relative;
    flex: 1 1 16rem;
    min-width: 0;
}

.buyer-catalog-search .bi {
    position: absolute;
    top: 50%;
    inset-inline-start: 0.75rem;
    transform: translateY(-50%);
    color: var(--yh-admin-muted);
    pointer-events: none;
}

body.buyer-app .yh-dash-content .buyer-catalog form[method="GET"] .buyer-catalog-search input[type="search"] {
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
    max-width: none;
    padding-inline-start: 2.4rem;
}

body.buyer-app .buyer-catalog .buyer-catalog-bar > select,
body.buyer-app .buyer-catalog .buyer-catalog-meta > select {
    width: auto;
    min-width: 8.5rem;
}

.buyer-catalog-city {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    height: 38px;
    padding: 0 0.8rem;
    border: 1px solid rgba(var(--yh-admin-primary-rgb), 0.25);
    border-radius: 0.625rem;
    background: var(--yh-admin-primary-light);
    color: var(--yh-admin-primary);
    font-size: 0.82rem;
    font-weight: 800;
    cursor: pointer;
}

.buyer-price {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: var(--yh-admin-muted);
    font-size: 0.75rem;
    font-weight: 800;
}

body.buyer-app .buyer-catalog .buyer-price input {
    width: 6.2rem;
}

.buyer-catalog-presets {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.buyer-catalog-presets a {
    display: inline-flex;
    align-items: center;
    height: 32px;
    padding: 0 0.7rem;
    border: 1px solid var(--yh-admin-border);
    border-radius: 999px;
    background: #fff;
    color: var(--yh-admin-muted);
    font-size: 0.75rem;
    font-weight: 800;
    text-decoration: none;
}

.buyer-catalog-presets a:hover {
    border-color: transparent;
    background: var(--yh-admin-primary);
    color: #fff;
}

.buyer-catalog-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
    gap: 0.85rem;
}

.buyer-product {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--yh-admin-border);
    border-radius: 0.875rem;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.buyer-product:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(26, 35, 50, 0.08);
}

.buyer-product-media {
    position: relative;
    display: block;
    aspect-ratio: 1;
    overflow: hidden;
    background: #f4f6f9;
}

.buyer-product-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.buyer-product-flags {
    position: absolute;
    top: 0.55rem;
    inset-inline-start: 0.55rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
    max-width: calc(100% - 1.1rem);
}

.buyer-product-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 0.25rem;
    padding: 0.8rem 0.9rem 0.9rem;
}

.buyer-product-cat,
.buyer-product-city {
    margin: 0;
    color: var(--yh-admin-muted);
    font-size: 0.72rem;
    font-weight: 800;
}

.buyer-product-name {
    display: -webkit-box;
    min-height: 2.5em;
    overflow: hidden;
    color: var(--yh-admin-text);
    font-size: 0.92rem;
    font-weight: 800;
    line-height: 1.35;
    text-decoration: none;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.buyer-product-name:hover { color: var(--yh-admin-primary); }

.buyer-product-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-top: auto;
    padding-top: 0.55rem;
}

.buyer-product-price {
    font-size: 0.95rem;
    font-weight: 800;
    color: var(--yh-admin-primary);
}

.buyer-catalog-empty {
    display: grid;
    justify-items: center;
    gap: 0.7rem;
    padding: 2.4rem 1rem;
    text-align: center;
}

.buyer-catalog-empty .bi {
    font-size: 1.8rem;
    color: var(--yh-admin-muted);
}

.buyer-catalog-empty p {
    margin: 0;
    color: var(--yh-admin-muted);
    font-weight: 700;
}
