@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap");

:root {
  --ink: #15324a;
  --ink-soft: #5a6d7e;
  --line: #dce7ee;
  --surface: #ffffff;
  --surface-soft: #f5f9fc;
  --shadow-sm: 0 8px 24px rgba(18, 63, 91, 0.08);
  --shadow-md: 0 18px 50px rgba(18, 63, 91, 0.13);
  --radius-sm: 10px;
  --radius-md: 18px;
  --radius-lg: 28px;
  --container: 1240px;
  /* GV-28 console tokens — không thay đổi biến giao diện buyer hiện hữu. */
  --con-bg:#F2F7FA; --con-card:#FFFFFF; --con-line:#E1ECF2;
  --con-ink:#17323F; --con-muted:#5E7A88; --con-faint:#8FA9B6;
  --con-good:#16A34A; --con-good-bg:#E8F7EE; --con-warn:#D97706; --con-warn-bg:#FDF3E4;
  --con-shadow:0 1px 2px rgba(2,63,90,.06),0 8px 24px rgba(2,63,90,.05);
  --con-r-card:14px; --con-r-ctl:10px;
}

/* GV-15: subject administration and verified reviews */
.admin-nav-group-inside{display:block;margin:20px 14px 8px!important;padding-top:16px;border-top:1px solid #e4e8e5}
.admin-page-header{display:flex;justify-content:space-between;align-items:end;margin-bottom:20px}.admin-page-header h1{margin:.2rem 0}.admin-filter-bar,.category-create-card{display:flex;gap:12px;align-items:end;background:#fff;border:1px solid #e3e8e4;border-radius:14px;padding:14px;margin-bottom:18px}.admin-filter-bar input,.admin-filter-bar select,.category-create-card input{min-height:42px;border:1px solid #ccd6cf;border-radius:8px;padding:8px 10px}.category-create-card label{display:grid;gap:5px}.admin-table-wrap{overflow:auto;background:#fff;border:1px solid #e1e7e3;border-radius:14px}.admin-table{width:100%;border-collapse:collapse;min-width:880px}.admin-table th,.admin-table td{text-align:left;padding:13px 12px;border-bottom:1px solid #edf0ee;vertical-align:top}.admin-table th{font-size:.76rem;text-transform:uppercase;color:#65716a}.admin-table td small{display:block;color:#6b756f;margin-top:4px}.admin-table td input{max-width:180px;padding:7px;border:1px solid #ccd6cf;border-radius:7px}.protected-note{color:#9a6400!important}.role-pill{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eef4f0}.role-buyer{background:#e7f2ff}.role-seller{background:#e8f6ed}.role-admin{background:#f5e9ff}.role-shipper{background:#fff1dc}
.shop-card-locked{opacity:.55;filter:grayscale(.45)}.shop-locked-tag{display:inline-flex;color:#a42323;background:#fdeaea;border-radius:999px;padding:3px 8px;font-style:normal}.shop-locked-notice,.shop-locked-banner{background:#fff0f0;border:1px solid #e69b9b;color:#8b1e1e;border-radius:10px;padding:12px 14px}.shop-locked-banner{margin-bottom:16px;font-weight:700}
.product-rating{font-size:.88rem;color:#7a817d;margin:.3rem 0}.product-rating span,.review-stars,.review-average span{color:#d98a00}.product-reviews-section{margin-top:36px;padding:28px;background:#fff;border:1px solid #e4e8e5;border-radius:16px}.product-reviews-section>header,.review-card>header{display:flex;justify-content:space-between;gap:14px;align-items:center}.review-average{font-size:1.7rem}.review-list{display:grid;gap:14px;margin-top:18px}.review-card{background:#fff;border:1px solid #e3e8e4;border-radius:12px;padding:16px}.review-card time,.review-card small{color:#6c756f}.seller-reply{background:#f2f7f4;border-left:3px solid #2b7652;padding:10px 12px;margin-top:10px}.review-card form{display:grid;gap:8px;margin-top:12px}.review-card textarea,.review-dialog textarea{width:100%;border:1px solid #ccd6cf;border-radius:8px;padding:9px}.reviewed-label{color:#29704f;font-weight:700}.review-dialog{width:min(520px,calc(100% - 28px));border:0;border-radius:16px;padding:0;box-shadow:0 20px 70px #0004}.review-dialog::backdrop{background:#17251f99}.review-dialog form{display:grid;gap:16px;padding:22px}.review-dialog header,.review-dialog footer{display:flex;justify-content:space-between;gap:10px}.review-dialog fieldset{display:flex;gap:10px;flex-wrap:wrap;border:0;padding:0}
@media(max-width:600px){.admin-filter-bar,.category-create-card{align-items:stretch;flex-direction:column}.admin-page-header{align-items:flex-start}.product-reviews-section{padding:18px}.admin-console-content{padding:14px}.review-average{font-size:1.2rem}}

/* Seller catalog management — GV-14 */
.seller-products-page,.seller-product-form-page{min-width:0}.seller-amf-teaser{display:flex;align-items:center;gap:12px;margin-bottom:22px;padding:13px 16px;border:1px solid #b9ddcf;border-radius:12px;background:#eff9f5;color:#244d40}.seller-amf-teaser>span{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:var(--brand-primary);color:#fff;font-size:18px}.seller-amf-teaser p{margin:0;line-height:1.5}.seller-amf-teaser a{font-weight:750;color:var(--brand-primary);text-decoration:underline}.seller-add-product{white-space:nowrap;font-size:15px}.seller-product-search{margin:18px 0 14px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff}.seller-product-search>label{display:block;margin-bottom:8px;font-size:13px;font-weight:750;color:#364b45}.seller-product-search>div{display:flex;gap:10px}.seller-product-search input[type=search]{flex:1;min-width:0;height:44px;padding:0 13px;border:1px solid #cad7d2;border-radius:9px;font:inherit}.seller-product-tabs{margin-bottom:14px}.seller-product-table-wrap{max-width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:#fff}.seller-product-table{width:100%;min-width:920px;border-collapse:collapse}.seller-product-table th{padding:13px 14px;background:#f6f8f7;color:#52625d;font-size:12px;text-align:left;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.seller-product-table td{padding:14px;border-top:1px solid #e8eeeb;vertical-align:middle}.seller-product-table td:nth-child(2)>strong,.seller-product-table td:nth-child(2)>del{display:block;white-space:nowrap}.seller-product-table td:nth-child(2)>del{margin-bottom:2px;color:#8a9692;font-size:12px}.seller-product-identity{display:flex;align-items:center;gap:11px;min-width:245px}.seller-product-identity img{width:48px;height:48px;flex:0 0 48px;object-fit:cover;border:1px solid #dde5e1;border-radius:9px;background:#f4f7f5}.seller-product-identity a{display:block;max-width:240px;color:#183f33;font-weight:750;line-height:1.35}.seller-product-identity small{display:block;max-width:230px;margin-top:3px;overflow:hidden;color:#82908b;text-overflow:ellipsis;white-space:nowrap}.product-status-pill{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:750;white-space:nowrap}.product-status-active{background:#e4f6ed;color:#147047}.product-status-hidden{background:#edf0ef;color:#59645f}.seller-product-actions{display:flex;gap:6px;min-width:300px}.button.button-small{min-height:34px;padding:7px 10px;font-size:12px}.seller-product-empty{padding:35px;text-align:center}.seller-product-empty strong{font-size:17px}.seller-product-empty p{margin:7px 0 15px;color:#6b7773}.stock-dialog{width:min(520px,calc(100% - 28px));padding:0;border:0;border-radius:16px;box-shadow:0 24px 80px rgba(10,39,30,.24)}.stock-dialog::backdrop{background:rgba(13,34,28,.55);backdrop-filter:blur(2px)}.stock-dialog-card{padding:0}.stock-dialog-card>header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 22px 16px;border-bottom:1px solid #e4ebe8}.stock-dialog-card h2{margin:3px 0 0;font-size:22px}.dialog-close{width:34px;height:34px;border:0;border-radius:50%;background:#edf2f0;color:#31443e;font-size:24px;line-height:1;cursor:pointer}.stock-product-summary{display:grid;grid-template-columns:1fr auto;gap:4px 12px;margin:18px 22px;padding:14px;border-radius:11px;background:#f1f7f4}.stock-product-summary>span:first-child{font-size:12px;color:#65736e}.stock-product-summary strong{grid-column:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stock-product-summary>span:last-child{grid-column:2;grid-row:1/3;align-self:center;white-space:nowrap}.stock-dialog-card>label{display:block;margin:0 22px 15px;font-weight:700;color:#31443e}.stock-dialog-card input,.stock-dialog-card select,.stock-dialog-card textarea{width:100%;margin-top:7px;padding:11px 12px;border:1px solid #c8d5d0;border-radius:9px;background:#fff;font:inherit}.stock-dialog-card label small{display:block;margin-top:5px;color:#6c7974;font-size:12px;font-weight:400}.stock-dialog-card .form-error{min-height:20px;margin:0 22px;color:#b72e2e}.stock-dialog-card>footer{display:flex;justify-content:flex-end;gap:9px;padding:15px 22px 20px}.seller-product-form{display:grid;gap:17px}.seller-form-panel{overflow:hidden;border:1px solid var(--line);border-radius:15px;background:#fff}.seller-form-panel>header{display:flex;align-items:flex-start;gap:12px;padding:18px 20px;border-bottom:1px solid #e8eeeb;background:#f8faf9}.seller-form-panel h2{margin:0 0 4px;font-size:19px}.seller-form-panel header p{margin:0;color:#687670;font-size:13px}.form-section-number{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:var(--brand-primary);color:#fff;font-weight:800}.seller-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 20px;padding:20px}.seller-form-grid>label,.product-status-choice{font-size:13px;font-weight:750;color:#354740}.seller-form-grid input,.seller-form-grid select,.seller-form-grid textarea{display:block;width:100%;margin-top:7px;padding:11px 12px;border:1px solid #c8d5d0;border-radius:9px;background:#fff;font:inherit;color:#1f302b}.seller-form-grid textarea{resize:vertical}.seller-form-grid input:focus,.seller-form-grid select:focus,.seller-form-grid textarea:focus,.stock-dialog-card input:focus,.stock-dialog-card select:focus,.stock-dialog-card textarea:focus{outline:3px solid rgba(19,121,91,.13);border-color:var(--brand-primary)}.seller-form-grid small{display:block;margin-top:5px;color:#74817c;font-size:12px;font-weight:400}.field-wide{grid-column:1/-1}.product-status-choice{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:0;padding:0;border:0}.product-status-choice legend{grid-column:1/-1;margin-bottom:7px}.product-status-choice>label{display:flex;align-items:flex-start;gap:9px;padding:12px;border:1px solid #d2ddd8;border-radius:10px;cursor:pointer}.product-status-choice input{width:auto;margin:3px 0 0}.product-status-choice span{display:block}.product-status-choice strong,.product-status-choice small{display:block}.seller-image-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;padding:20px 20px 0}.seller-image-list article{position:relative;padding:10px;border:1px solid #dce5e1;border-radius:12px;text-align:center}.seller-image-list img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;background:#f2f5f4}.seller-image-list article>span{position:absolute;top:17px;left:17px;padding:4px 7px;border-radius:999px;background:rgba(19,121,91,.9);color:#fff;font-size:11px;font-weight:750}.seller-image-list button{width:100%;margin-top:8px}.seller-image-list small{display:block;margin-top:8px;color:#6f7d78}.seller-image-upload{display:block;margin:20px;padding:17px;border:1px dashed #9ebeb2;border-radius:11px;background:#f8fbfa;font-weight:750}.seller-image-upload input{display:block;margin:9px 0}.seller-image-upload small{display:block;color:#687771;font-weight:400}.snapshot-reminder{padding:16px 18px;border-left:4px solid #d89d2e;border-radius:8px;background:#fff8e9}.snapshot-reminder p{margin:4px 0 0;color:#6e5a31}.seller-product-form>.form-error{min-height:22px;margin:0;color:#b52d2d;font-weight:700}.seller-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-bottom:6px}

@media (max-width:760px){.seller-products-shell .dashboard-content{min-width:0}.seller-amf-teaser{align-items:flex-start;margin-bottom:16px}.seller-products-page .dashboard-heading,.seller-product-form-page .dashboard-heading{align-items:stretch}.seller-add-product{width:100%;justify-content:center}.seller-product-search>div{flex-direction:column}.seller-product-search button{width:100%}.seller-product-tabs{display:flex;max-width:100%;overflow-x:auto;white-space:nowrap}.seller-product-table-wrap{border-radius:10px}.seller-product-actions{min-width:280px}.stock-dialog-card>header,.stock-dialog-card>footer{padding-left:16px;padding-right:16px}.stock-product-summary,.stock-dialog-card>label,.stock-dialog-card .form-error{margin-left:16px;margin-right:16px}.stock-product-summary{grid-template-columns:1fr}.stock-product-summary>span:last-child{grid-column:1;grid-row:auto}.seller-form-grid{grid-template-columns:1fr;padding:16px}.field-wide{grid-column:auto}.product-status-choice{grid-template-columns:1fr}.product-status-choice legend{grid-column:auto}.seller-image-list{grid-template-columns:repeat(2,minmax(0,1fr));padding:16px 16px 0}.seller-image-upload{margin:16px}.seller-form-actions{position:sticky;bottom:0;z-index:2;margin:0 -2px;padding:12px 2px;background:rgba(255,255,255,.94);backdrop-filter:blur(7px)}.seller-form-actions .button{flex:1}.seller-product-form-page .breadcrumbs{margin-top:0}}

/* GV-13 — shipping simulation, shipper console and audit */
.shipping-choice{min-width:0;margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid var(--border,#e2e8f0)}
.carrier-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.simulation-note{display:inline-flex;padding:7px 10px;border-radius:8px;background:#fff7d6;color:#7a5700;font-size:13px;font-weight:700}
.shipping-carrier{display:flex;justify-content:space-between;gap:12px;margin:14px 0}.empty-inline{color:#667085;font-style:italic}
.shipper-console-body{margin:0;background:#f6f8fa;color:#17202a}.shipper-demo-strip{padding:6px 20px;background:#f9d96c;color:#604700;text-align:center;font-size:12px;font-weight:800}.shipper-topbar{height:64px;padding:0 max(20px,calc((100vw - 1560px)/2));display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #e5e9ef}.shipper-main{max-width:1560px;margin:auto;padding:28px 24px 56px}.shipper-page{display:grid;gap:20px}.shipper-page .page-heading,.shipper-page .detail-panel,.shipper-page .table-scroll{background:#fff;border-radius:12px;box-shadow:0 5px 18px rgba(17,24,39,.06)}.shipper-page .page-heading{padding:24px}.shipper-page .table-scroll{overflow:auto}.shipper-table{min-width:1180px}.shipper-table td{vertical-align:top}.shipper-table td:nth-child(5){max-width:260px}.button-small{padding:8px 10px;font-size:12px;white-space:nowrap}.cod-pill,.audit-action{display:inline-flex;padding:5px 8px;border-radius:999px;background:#fff1b8;color:#7a5100;font-weight:800;font-size:12px}.shipper-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:20px}.shipment-facts{display:grid;gap:14px;margin:0 0 22px}.shipment-facts div{display:grid;gap:4px}.shipment-facts dt{color:#667085;font-size:12px;text-transform:uppercase;font-weight:800}.shipment-facts dd{margin:0;font-weight:700}.audit-filter select{min-width:220px}.audit-detail{max-width:520px}.audit-detail summary{max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.audit-detail pre{white-space:pre-wrap;word-break:break-word}.admin-card{background:#fff;border-radius:12px;padding:18px;box-shadow:0 5px 18px rgba(17,24,39,.06)}.admin-card>.table-scroll{max-width:100%;overflow-x:auto}
@media(max-width:760px){.checkout-steps,.checkout-step,.checkout-step>header,.checkout-step>header>div,.shipping-choice,.carrier-options{min-width:0}.carrier-options{width:100%;display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.carrier-options>label{min-width:250px;scroll-snap-align:start}.shipper-topbar{height:auto;padding:12px 16px;gap:12px}.shipper-topbar .admin-topbar-actions{gap:8px}.shipper-topbar .admin-store-link,.shipper-topbar .admin-topbar-actions>span{display:none}.shipper-main{padding:18px 12px 40px}.shipper-detail-grid{grid-template-columns:1fr}.shipper-tabs{overflow-x:auto;flex-wrap:nowrap}.shipper-tabs a{white-space:nowrap}.audit-detail{max-width:240px}}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  color: var(--ink);
  background: var(--surface);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}

img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { color: inherit; font: inherit; }
button, select { cursor: pointer; }
button { border: 0; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { line-height: 1.18; letter-spacing: -0.025em; }
h1 { font-size: clamp(2rem, 7vw, 4.5rem); }
h2 { font-size: clamp(1.55rem, 4vw, 2.35rem); }
h3 { font-size: 1.05rem; }

:focus-visible {
  outline: 3px solid rgba(2, 166, 244, 0.36);
  outline-offset: 3px;
}

.container { width: min(100% - 32px, var(--container)); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; left: 16px; top: -100px; z-index: 100; padding: 12px 16px; color: #fff; background: var(--brand-dark); border-radius: 8px; }
.skip-link:focus { top: 16px; }
.eyebrow { display: inline-block; margin-bottom: 8px; color: var(--brand-dark); font-size: 0.76rem; font-weight: 800; letter-spacing: 0.11em; text-transform: uppercase; }

.button {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 11px 18px;
  border: 1px solid transparent;
  border-radius: 12px;
  font-weight: 750;
  line-height: 1.2;
  transition: transform 160ms ease, background 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}
.button:hover { transform: translateY(-1px); }
.button-primary { color: #fff; background: var(--brand-dark); box-shadow: 0 8px 20px rgba(2, 133, 195, 0.22); }
.button-primary:hover { background: #006fa9; }
.button-secondary { color: var(--brand-dark); background: #fff; border-color: #a7dff7; }
.button-secondary:hover { background: var(--brand-light); }
.button-danger { color: #fff; background: #c63b3b; }
.button-danger-soft { color: #a22e2e; background: #fff0f0; border-color: #f3c7c7; }
.button-block { width: 100%; }
.link-button { min-width: 44px; min-height: 44px; padding: 8px; color: var(--brand-dark); background: transparent; font-weight: 700; }
.form-error { min-height: 1.4em; color: #b33737; font-weight: 700; }
.danger-link { color: #b33737; }
.text-link { display: inline-flex; min-height: 44px; align-items: center; gap: 7px; color: var(--brand-dark); font-weight: 800; }

.demo-strip { padding: 7px 16px; color: #644b00; background: #fff5c9; font-size: 0.76rem; font-weight: 700; text-align: center; }
.site-header { position: sticky; top: 0; z-index: 30; background: rgba(255, 255, 255, 0.97); border-bottom: 1px solid var(--line); backdrop-filter: blur(14px); }
.header-main { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 9px; align-items: center; padding-block: 10px; }
.menu-toggle { display: grid; width: 44px; height: 44px; place-content: center; gap: 5px; padding: 0; background: var(--surface-soft); border: 1px solid var(--line); border-radius: 12px; }
.menu-toggle span { display: block; width: 20px; height: 2px; background: var(--ink); border-radius: 2px; }
.brand { display: flex; min-width: 0; align-items: center; gap: 8px; font-size: 1rem; font-weight: 850; }
.brand img { width: 58px; height: 32px; object-fit: contain; }
.brand span { white-space: nowrap; }
.site-search { display: flex; grid-column: 1 / -1; min-width: 0; overflow: hidden; background: var(--surface-soft); border: 1px solid var(--line); border-radius: 12px; }
.site-search input { width: 100%; min-height: 44px; padding: 9px 13px; background: transparent; border: 0; outline: 0; }
.site-search button { min-width: 64px; color: #fff; background: var(--brand-dark); font-weight: 750; }
.header-actions { display: flex; align-items: center; gap: 5px; }
.cart-link, .account-link { display: flex; min-height: 44px; align-items: center; justify-content: center; gap: 5px; padding: 7px 8px; border-radius: 11px; font-size: 0.84rem; font-weight: 750; }
.cart-link:hover, .account-link:hover { background: var(--brand-light); }
.cart-link strong { display: grid; width: 20px; height: 20px; place-content: center; color: #fff; background: var(--brand-dark); border-radius: 50%; font-size: 0.7rem; }
.action-label, .account-label { display: none; }
.header-tier-badge { display: inline-flex; align-items: center; gap: 5px; padding: 5px 8px; color: var(--tier-ink); background: var(--tier-soft); border: 1px solid var(--tier-border); border-radius: 999px; font-size: .7rem; font-weight: 850; white-space: nowrap; }
.header-tier-badge i, .benefit-tier i { width: 8px; height: 8px; background: var(--tier-color); border-radius: 50%; box-shadow: 0 0 0 2px rgba(255,255,255,.75); }
.tier-bronze { --tier-color: var(--tier-bronze); --tier-ink: #633a27; --tier-soft: #f7ece6; --tier-border: #dfc1b0; }
.tier-silver { --tier-color: var(--tier-silver); --tier-ink: #405466; --tier-soft: #edf2f5; --tier-border: #cad5dc; }
.tier-gold { --tier-color: var(--tier-gold); --tier-ink: #705200; --tier-soft: #fff5cf; --tier-border: #edd477; }
.tier-diamond { --tier-color: var(--tier-diamond); --tier-ink: #00618f; --tier-soft: var(--brand-light); --tier-border: #9bd9f4; }
.category-nav { display: none; border-top: 1px solid var(--line); }
.category-nav.is-open { display: block; }
.category-list { display: grid; padding-block: 8px 13px; }
.category-list a { display: flex; min-height: 44px; align-items: center; padding: 8px 10px; border-radius: 9px; font-size: 0.91rem; font-weight: 700; }
.category-list a:hover, .category-list a[aria-current="page"] { color: var(--brand-dark); background: var(--brand-light); }

.hero { position: relative; overflow: hidden; color: #fff; background: linear-gradient(135deg, #004d83 0%, var(--brand-dark) 54%, #00a2e8 100%); }
.hero::before, .hero::after { position: absolute; content: ""; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; }
.hero::before { width: 420px; height: 420px; top: -260px; right: -100px; }
.hero::after { width: 240px; height: 240px; bottom: -150px; left: -70px; }
.hero-grid { position: relative; z-index: 1; display: grid; gap: 36px; padding-block: 58px; }
.hero .eyebrow { color: #bfeeff; }
.hero-copy h1 { max-width: 800px; margin-bottom: 18px; font-size: clamp(2.35rem, 11vw, 5.2rem); }
.hero-copy > p { max-width: 650px; margin-bottom: 26px; color: #e1f6ff; font-size: 1.06rem; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.hero .button-primary { color: #614900; background: var(--amf-select); box-shadow: 0 10px 26px rgba(0,0,0,.15); }
.hero .button-secondary { color: #fff; background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.4); }
.hero-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; padding: 0; margin: 32px 0 0; list-style: none; }
.hero-facts li { padding: 13px 10px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); border-radius: 13px; }
.hero-facts strong, .hero-facts span { display: block; }
.hero-facts strong { color: var(--amf-select); font-size: 1.35rem; }
.hero-facts span { color: #dff4fc; font-size: 0.72rem; }
.hero-story { position: relative; display: grid; min-height: 340px; align-content: end; padding: 28px; background: linear-gradient(160deg, rgba(255,255,255,.17), rgba(255,255,255,.05)); border: 1px solid rgba(255,255,255,.25); border-radius: var(--radius-lg); box-shadow: var(--shadow-md); }
.story-card { position: relative; z-index: 1; padding: 20px; color: var(--ink); background: #fff; border-radius: 18px; box-shadow: var(--shadow-sm); }
.story-card span, .story-card strong { display: block; }
.story-card span { margin-bottom: 7px; color: var(--brand-dark); font-size: 0.73rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.story-card strong { font-size: 1.35rem; line-height: 1.2; }
.story-card p { margin: 10px 0 0; color: var(--ink-soft); font-size: .88rem; }
.story-card-small { width: 78%; margin: -5px 0 0 auto; color: #624a00; background: #fff2ad; transform: rotate(-2deg); }
.story-seal { position: absolute; top: 24px; right: 26px; display: grid; width: 92px; height: 92px; place-content: center; color: #5b4700; background: var(--amf-select); border: 4px solid rgba(255,255,255,.7); border-radius: 50%; font-size: .9rem; font-weight: 900; line-height: 1.15; text-align: center; transform: rotate(7deg); }

.section { padding-block: 54px; }
.section-amf { background: linear-gradient(180deg, #fff9dc, #fff); }
.section-shops { background: var(--surface-soft); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 22px; margin-bottom: 24px; }
.section-heading h2 { margin-bottom: 8px; }
.section-heading p { max-width: 680px; margin-bottom: 0; color: var(--ink-soft); }
.section-heading .text-link { display: none; }

.product-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.product-card { min-width: 0; overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: 15px; transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease; }
.product-card:hover { border-color: #a9dff4; box-shadow: var(--shadow-md); transform: translateY(-3px); }
.product-image-wrap { position: relative; display: block; overflow: hidden; aspect-ratio: 4 / 3; background: var(--brand-light); }
.product-image-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform 300ms ease; }
.product-card:hover .product-image-wrap img { transform: scale(1.025); }
.product-badges { position: absolute; top: 8px; left: 8px; display: flex; flex-wrap: wrap; gap: 5px; }
.badge { display: inline-flex; min-height: 26px; align-items: center; padding: 4px 8px; border-radius: 999px; font-size: .66rem; font-weight: 850; line-height: 1.15; }
.badge-amf { color: #5f4900; background: var(--amf-select); box-shadow: 0 4px 10px rgba(120,92,0,.15); }
.badge-muted { color: var(--ink-soft); background: #edf2f5; }
.product-card-body { padding: 11px; }
.product-card-body h3 { min-height: 2.36em; margin: 8px 0; font-size: .9rem; }
.product-card-body h3 a:hover { color: var(--brand-dark); }
.sync-tag { display: inline-block; max-width: 100%; padding: 4px 7px; color: #075a82; background: var(--brand-light); border-radius: 6px; font-size: .6rem; font-weight: 750; line-height: 1.25; }
.product-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px; }
.product-price strong { color: #c93b2f; font-size: .98rem; }
.product-price del { color: #8493a0; font-size: .71rem; }
.product-origin { margin: 8px 0 3px; color: var(--ink-soft); font-size: .7rem; }
.shop-name { display: block; overflow: hidden; color: var(--brand-dark); font-size: .68rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }

.shop-grid { display: grid; gap: 12px; }
.shop-card { display: grid; grid-template-columns: 54px minmax(0, 1fr) 30px; gap: 13px; align-items: center; min-height: 86px; padding: 13px; background: #fff; border: 1px solid var(--line); border-radius: 15px; box-shadow: var(--shadow-sm); }
.shop-card:hover { border-color: #a9dff4; transform: translateY(-2px); }
.shop-logo { display: grid; width: 54px; height: 54px; place-content: center; overflow: hidden; background: var(--brand-light); border-radius: 14px; }
.shop-logo img { width: 47px; height: 34px; object-fit: contain; }
.shop-avatar { display: grid; width: 54px; height: 54px; place-content: center; color: #fff; border-radius: 14px; font-size: 1.35rem; font-weight: 900; }
.shop-avatar-1 { background: #0077a8; }
.shop-avatar-2 { background: #8d5c28; }
.shop-avatar-3 { background: #39744b; }
.shop-avatar-4 { background: #a1493e; }
.shop-avatar-5 { background: #66507f; }
.shop-avatar-6 { background: #00837e; }
.shop-avatar-7 { background: #a36a00; }
.shop-avatar-8 { background: #416784; }
.shop-card strong, .shop-card small { display: block; }
.shop-card strong { font-size: .95rem; }
.shop-card small { margin-top: 4px; color: var(--ink-soft); }
.shop-arrow { color: var(--brand-dark); font-size: 1.3rem; }

.page-shell { padding-block: 28px 60px; }
.narrow-shell { max-width: 1120px; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; margin-bottom: 24px; color: var(--ink-soft); font-size: .82rem; }
.breadcrumbs a:hover { color: var(--brand-dark); }
.page-heading { display: flex; flex-direction: column; gap: 18px; margin-bottom: 25px; }
.page-heading h1 { margin-bottom: 10px; font-size: clamp(2rem, 8vw, 3.4rem); }
.page-heading p { max-width: 740px; margin-bottom: 0; color: var(--ink-soft); }
.category-heading { padding: 24px; background: linear-gradient(130deg, var(--brand-light), #fff8d4); border: 1px solid #cdebf8; border-radius: var(--radius-md); }
.sort-form { display: flex; align-items: center; gap: 10px; }
.sort-form label { color: var(--ink-soft); font-size: .82rem; font-weight: 700; }
select, input, textarea { min-height: 44px; padding: 10px 12px; background: #fff; border: 1px solid #cbd9e2; border-radius: 10px; outline: 0; }
select:focus, input:focus, textarea:focus { border-color: var(--brand-primary); box-shadow: 0 0 0 3px rgba(2,166,244,.13); }
.category-product-grid { margin-top: 24px; }
.filter-pills { display: flex; gap: 8px; padding-bottom: 8px; overflow-x: auto; scrollbar-width: thin; }
.filter-pills a { flex: 0 0 auto; min-height: 40px; padding: 9px 14px; color: var(--ink-soft); background: #fff; border: 1px solid var(--line); border-radius: 999px; font-size: .8rem; font-weight: 750; white-space: nowrap; }
.filter-pills a:hover, .filter-pills a[aria-current="page"] { color: var(--brand-dark); background: var(--brand-light); border-color: #9ed9f3; }
.search-empty { padding: 38px 24px; margin-top: 24px; background: linear-gradient(130deg, var(--brand-light), #fff9dc); border: 1px solid #cceaf7; border-radius: var(--radius-md); text-align: center; }
.search-empty strong { display: block; margin-bottom: 8px; font-size: 1.25rem; }
.search-empty p { margin: 0; color: var(--ink-soft); }
.fallback-heading { margin-top: 42px; }
.directory-heading { margin-bottom: 18px; }
.directory-filters { display: grid; gap: 12px; padding: 16px; margin-bottom: 24px; background: var(--surface-soft); border: 1px solid var(--line); border-radius: 15px; }
.directory-filters label, .directory-filters label span { display: grid; gap: 6px; }
.directory-filters label span { color: var(--ink-soft); font-size: .78rem; font-weight: 750; }
.directory-filters input, .directory-filters select { width: 100%; }
.directory-card { min-height: 104px; }
.shop-amf-tag { display: inline-flex; min-height: 24px; align-items: center; padding: 4px 8px; margin-top: 8px; color: #665000; background: #fff1a8; border-radius: 999px; font-size: .67rem; font-style: normal; font-weight: 850; }
.directory-empty { grid-column: 1 / -1; }
.empty-state, .empty-cell { padding: 28px; color: var(--ink-soft); background: var(--surface-soft); border-radius: 14px; text-align: center; }
.pagination { display: flex; justify-content: center; gap: 7px; margin-top: 28px; }
.pagination a, .pagination span { display: grid; width: 44px; height: 44px; place-content: center; background: #fff; border: 1px solid var(--line); border-radius: 10px; font-weight: 750; }
.pagination a[aria-current="page"] { color: #fff; background: var(--brand-dark); border-color: var(--brand-dark); }
.pagination .disabled { color: #a9b5bd; background: #f5f7f8; }
.pagination .pagination-ellipsis { border-color: transparent; background: transparent; }

.product-detail { display: grid; gap: 30px; }
.gallery-main { overflow: hidden; aspect-ratio: 4 / 3; background: var(--brand-light); border-radius: var(--radius-md); }
.gallery-main img { width: 100%; height: 100%; object-fit: cover; }
.gallery-thumbs { display: flex; gap: 8px; margin-top: 10px; overflow-x: auto; padding-bottom: 4px; }
.gallery-thumbs button { flex: 0 0 78px; min-height: 58px; padding: 3px; overflow: hidden; background: #fff; border: 2px solid transparent; border-radius: 9px; }
.gallery-thumbs button:hover, .gallery-thumbs button.active { border-color: var(--brand-primary); }
.gallery-thumbs img { width: 100%; height: 54px; object-fit: cover; border-radius: 6px; }
.product-info h1 { margin: 12px 0; font-size: clamp(2rem, 8vw, 3.3rem); }
.detail-badges { display: flex; flex-wrap: wrap; gap: 7px; }
.detail-price { display: flex; align-items: baseline; gap: 10px; margin-bottom: 17px; }
.detail-price strong { color: #c93b2f; font-size: 1.8rem; }
.detail-price del { color: #8493a0; }
.detail-description { color: var(--ink-soft); }
.product-specs { padding: 0; margin: 20px 0; border-block: 1px solid var(--line); }
.product-specs div { display: grid; grid-template-columns: 120px 1fr; gap: 15px; padding: 10px 0; border-bottom: 1px dashed var(--line); }
.product-specs div:last-child { border-bottom: 0; }
.product-specs dt { color: var(--ink-soft); font-size: .83rem; }
.product-specs dd { margin: 0; font-weight: 650; }
.form-field label, .stack-form label, .form-grid label, .admin-filters label, .transition-actions label, .danger-panel label { display: grid; gap: 6px; color: var(--ink-soft); font-size: .82rem; font-weight: 750; }
.form-field select { width: 100%; }
.purchase-row { display: grid; gap: 12px; margin-top: 19px; }
.quantity-control { display: grid; gap: 6px; color: var(--ink-soft); font-size: .82rem; font-weight: 750; }
.quantity-box { display: grid; grid-template-columns: 44px 62px 44px; width: max-content; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; }
.quantity-box button { min-height: 44px; background: var(--surface-soft); font-size: 1.2rem; }
.quantity-box input { width: 62px; padding: 0 5px; border: 0; border-inline: 1px solid var(--line); border-radius: 0; text-align: center; }
.shop-summary { display: flex; gap: 13px; align-items: center; margin-top: 24px; padding: 15px; background: var(--surface-soft); border-radius: 14px; }
.shop-summary img { width: 66px; height: 42px; object-fit: contain; }
.shop-summary span, .shop-summary strong, .shop-summary a { display: block; }
.shop-summary span { color: var(--ink-soft); font-size: .72rem; }
.shop-summary a { margin-top: 5px; color: var(--brand-dark); font-size: .8rem; font-weight: 750; }

.shop-hero { position: relative; overflow: hidden; padding-block: 48px; color: #fff; background: linear-gradient(125deg, #004a7b, var(--brand-primary)); }
.shop-hero::after { position: absolute; width: 330px; height: 330px; right: -100px; top: -190px; content: ""; border: 70px solid rgba(255,255,255,.08); border-radius: 50%; }
.shop-hero-content { position: relative; z-index: 1; display: grid; gap: 20px; }
.shop-hero-logo { display: grid; width: 100px; height: 100px; place-content: center; background: #fff; border-radius: 24px; box-shadow: var(--shadow-md); }
.shop-hero-logo img { width: 87px; height: 60px; object-fit: contain; }
.shop-hero .eyebrow { color: #c9efff; }
.shop-hero h1 { margin-bottom: 9px; font-size: clamp(2rem, 8vw, 3.7rem); }
.shop-hero p { max-width: 740px; color: #e4f7ff; }
.shop-stat { display: inline-flex; padding: 7px 12px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.25); border-radius: 999px; font-size: .8rem; font-weight: 750; }

.auth-shell { display: grid; min-height: 75vh; place-content: center; padding: 42px 16px; background: radial-gradient(circle at top left, var(--brand-light), transparent 45%), var(--surface-soft); }
.auth-card { width: min(100%, 460px); padding: 28px; background: #fff; border: 1px solid var(--line); border-radius: 24px; box-shadow: var(--shadow-md); }
.auth-logo { display: flex; align-items: center; gap: 9px; margin-bottom: 30px; font-weight: 850; }
.auth-logo img { width: 70px; height: 40px; object-fit: contain; }
.auth-card h1 { margin-bottom: 10px; font-size: 2rem; }
.auth-card > p { color: var(--ink-soft); }
.stack-form { display: grid; gap: 15px; margin-top: 22px; }
.demo-note { margin-top: 18px; padding: 13px; color: #5c5700; background: #fff9d8; border: 1px solid #f0df87; border-radius: 11px; font-size: .8rem; }

.cart-layout, .checkout-layout, .order-detail-grid { display: grid; gap: 20px; }
.cart-groups { display: grid; gap: 16px; }
.cart-group { overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: var(--radius-md); }
.cart-group > header, .cart-group > footer { display: flex; justify-content: space-between; gap: 12px; padding: 14px 16px; background: var(--surface-soft); }
.cart-group > header a { color: var(--brand-dark); font-weight: 800; }
.cart-group > header span, .cart-group > footer span { color: var(--ink-soft); font-size: .8rem; }
.cart-item { display: grid; grid-template-columns: 72px minmax(0,1fr) auto; gap: 11px; align-items: center; padding: 14px; border-top: 1px solid var(--line); }
.cart-item img { width: 72px; height: 58px; object-fit: cover; border-radius: 9px; }
.cart-item-info h2 { margin-bottom: 4px; font-size: .9rem; }
.cart-item-info p, .cart-item-info strong { margin: 0; font-size: .76rem; }
.cart-item-info p { color: var(--ink-soft); }
.compact-quantity { display: grid; gap: 3px; color: var(--ink-soft); font-size: .68rem; }
.compact-quantity input { width: 58px; min-height: 40px; padding: 5px; }
.cart-line-total { grid-column: 2; font-size: .85rem; }
.cart-item .link-button { grid-column: 3; grid-row: 2; }
.summary-card { padding: 19px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); }
.summary-card h2 { margin-bottom: 18px; font-size: 1.2rem; }
.summary-card > div { display: flex; justify-content: space-between; gap: 15px; margin: 10px 0; font-size: .83rem; }
.summary-card hr, .price-breakdown hr { border: 0; border-top: 1px solid var(--line); }
.summary-card .summary-total { align-items: end; margin-block: 17px; }
.summary-total strong { color: #c93b2f; font-size: 1.2rem; }
.summary-help { margin: 12px 0 0; color: var(--ink-soft); font-size: .75rem; text-align: center; }

.checkout-progress { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; padding: 0; margin: 0 0 23px; list-style: none; }
.checkout-progress li { display: grid; justify-items: center; gap: 5px; color: var(--ink-soft); font-size: .67rem; font-weight: 700; text-align: center; }
.checkout-progress span { display: grid; width: 34px; height: 34px; place-content: center; background: #edf2f5; border-radius: 50%; }
.checkout-progress .active { color: var(--brand-dark); }
.checkout-progress .active span { color: #fff; background: var(--brand-dark); }
.checkout-steps { display: grid; gap: 17px; }
.checkout-step { padding: 19px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius-md); }
.checkout-step > header { display: grid; grid-template-columns: 38px 1fr; gap: 11px; margin-bottom: 19px; }
.checkout-step > header > span { display: grid; width: 38px; height: 38px; place-content: center; color: #fff; background: var(--brand-dark); border-radius: 50%; font-weight: 850; }
.checkout-step h2 { margin: 0 0 4px; font-size: 1.18rem; }
.checkout-step header p { margin: 0; color: var(--ink-soft); font-size: .78rem; }
.form-grid { display: grid; gap: 13px; margin-bottom: 17px; }
.sim-label { display: flex; gap: 8px; align-items: center; margin-block: 13px; padding: 10px 12px; color: #674f00; background: #fff5c7; border: 1px solid #ead77a; border-radius: 10px; font-size: .77rem; font-weight: 800; }
.payment-options { display: grid; gap: 9px; margin-block: 15px; }
.payment-option { display: grid; grid-template-columns: 20px 1fr; gap: 10px; align-items: center; min-height: 68px; padding: 12px; border: 1px solid var(--line); border-radius: 12px; cursor: pointer; }
.payment-option.active { background: var(--brand-light); border-color: var(--brand-primary); }
.payment-option input { width: 18px; min-height: 18px; padding: 0; accent-color: var(--brand-dark); }
.payment-option strong, .payment-option small { display: block; }
.payment-option small { color: var(--ink-soft); }
.payment-demo { display: grid; gap: 14px; align-items: center; margin: 15px 0; padding: 15px; background: var(--surface-soft); border: 1px dashed #9bcce1; border-radius: 14px; }
.fake-qr { display: grid; width: 130px; height: 130px; place-content: center; color: var(--brand-dark); background: repeating-conic-gradient(#15324a 0 25%, #fff 0 50%) 50% / 18px 18px; border: 9px solid #fff; box-shadow: 0 0 0 1px var(--line); }
.fake-qr span { padding: 6px; background: #fff; font-weight: 900; }
.confirm-shop { display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.confirm-shop span { color: var(--ink-soft); font-size: .76rem; }
.confirm-shop span:last-child { grid-column: 2; grid-row: 1 / 3; align-self: center; color: var(--ink); font-size: .9rem; font-weight: 800; }

.success-shell { display: grid; min-height: 68vh; place-content: center; }
.success-card { width: min(100%, 760px); padding: 28px; background: #fff; border: 1px solid var(--line); border-radius: 25px; box-shadow: var(--shadow-md); text-align: center; }
.success-icon { display: grid; width: 68px; height: 68px; place-content: center; margin: 0 auto 17px; color: #fff; background: #258b50; border-radius: 50%; font-size: 2rem; font-weight: 900; }
.success-card h1 { margin-bottom: 10px; font-size: clamp(2rem, 8vw, 3rem); }
.success-orders { display: grid; gap: 9px; margin-block: 22px; text-align: left; }
.success-orders article { display: flex; justify-content: space-between; gap: 15px; align-items: center; padding: 14px; background: var(--surface-soft); border-radius: 12px; }
.success-orders span, .success-orders strong, .success-orders small { display: block; }
.success-orders span, .success-orders small { color: var(--ink-soft); font-size: .75rem; }
.success-actions { display: flex; flex-direction: column; gap: 9px; }

.dashboard-heading { align-items: flex-start; }
.filter-tabs { display: flex; gap: 6px; margin-bottom: 18px; overflow-x: auto; padding-bottom: 5px; }
.filter-tabs a { flex: 0 0 auto; display: flex; min-height: 42px; align-items: center; padding: 8px 12px; color: var(--ink-soft); background: #fff; border: 1px solid var(--line); border-radius: 999px; font-size: .75rem; font-weight: 750; }
.filter-tabs a[aria-current="page"] { color: #fff; background: var(--brand-dark); border-color: var(--brand-dark); }
.order-table { width: 100%; border-collapse: collapse; }
.order-table thead { display: none; }
.order-table tbody { display: grid; gap: 12px; }
.order-table tr { display: grid; gap: 8px; padding: 15px; background: #fff; border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--shadow-sm); }
.order-table td { display: flex; justify-content: space-between; gap: 15px; align-items: center; font-size: .82rem; }
.order-table td::before { content: attr(data-label); color: var(--ink-soft); font-size: .71rem; }
.order-table .table-action { margin-top: 5px; padding-top: 9px; border-top: 1px solid var(--line); }
.order-table .table-action::before { content: ""; }
.table-action a { display: flex; min-height: 40px; align-items: center; color: var(--brand-dark); font-weight: 800; }
.status-pill { display: inline-flex; min-height: 28px; align-items: center; padding: 5px 10px; border-radius: 999px; font-size: .68rem; font-weight: 850; white-space: nowrap; }
.status-pill.large { min-height: 38px; padding: 7px 14px; font-size: .78rem; }
.status-pending-confirmation { color: #765900; background: #fff1b8; }
.status-confirmed { color: #00618f; background: #dff4fe; }
.status-shipping { color: #9a4b00; background: #ffead4; }
.status-completed { color: #176b38; background: #dff5e6; }
.status-cancelled { color: #9a3434; background: #f9e4e4; }

.order-heading { display: flex; flex-direction: column; gap: 15px; margin-bottom: 22px; }
.order-heading h1 { margin-bottom: 7px; font-size: clamp(2rem, 8vw, 3.2rem); }
.order-heading p { margin: 0; color: var(--ink-soft); }
.detail-panel { margin-bottom: 17px; padding: 18px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius-md); }
.detail-panel h2 { margin-bottom: 16px; font-size: 1.15rem; }
.detail-panel p { margin-bottom: 8px; color: var(--ink-soft); font-size: .84rem; }
.order-line { display: grid; grid-template-columns: 62px 1fr; gap: 11px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.order-line:last-child { border-bottom: 0; }
.order-line img { width: 62px; height: 52px; object-fit: cover; border-radius: 8px; }
.order-line div strong, .order-line div span { display: block; }
.order-line div strong { font-size: .85rem; }
.order-line div span { color: var(--ink-soft); font-size: .72rem; }
.order-line > strong { grid-column: 2; font-size: .84rem; }
.price-breakdown > div { display: flex; justify-content: space-between; gap: 14px; margin-block: 10px; font-size: .82rem; }
.danger-panel { border-color: #f2caca; }
.danger-panel input { width: 100%; margin-bottom: 12px; }
.timeline { position: relative; padding: 0; margin: 0; list-style: none; }
.timeline::before { position: absolute; top: 12px; bottom: 12px; left: 8px; width: 2px; content: ""; background: var(--line); }
.timeline-item { position: relative; display: grid; grid-template-columns: 18px 1fr; gap: 12px; padding-bottom: 20px; }
.timeline-item:last-child { padding-bottom: 0; }
.timeline-dot { position: relative; z-index: 1; width: 18px; height: 18px; margin-top: 3px; background: var(--brand-primary); border: 4px solid #fff; border-radius: 50%; box-shadow: 0 0 0 2px var(--brand-primary); }
.timeline-item.status-completed .timeline-dot { background: #3ba064; box-shadow: 0 0 0 2px #3ba064; }
.timeline-item.status-shipping .timeline-dot { background: #e9892e; box-shadow: 0 0 0 2px #e9892e; }
.timeline-item.status-cancelled .timeline-dot { background: #c84e4e; box-shadow: 0 0 0 2px #c84e4e; }
.timeline-content time { color: var(--ink-soft); font-size: .69rem; }
.timeline-content h3 { margin: 2px 0 3px; font-size: .9rem; }
.timeline-content p { margin: 0; font-size: .73rem; }
.timeline-note { margin-top: 6px !important; padding: 7px 9px; background: var(--surface-soft); border-radius: 8px; }

.dashboard-shell { display: grid; min-height: 70vh; background: var(--surface-soft); }
.dashboard-nav { min-width: 0; padding: 19px 16px 12px; color: #fff; background: #0b3c59; }
.dashboard-role { display: block; color: #a9dcf1; font-size: .68rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.dashboard-nav > strong { display: block; margin-top: 4px; }
.dashboard-nav nav { display: flex; gap: 7px; margin-top: 14px; overflow-x: auto; }
.dashboard-nav nav a { flex: 0 0 auto; display: flex; min-height: 42px; align-items: center; padding: 8px 11px; color: #d5eaf4; border-radius: 9px; font-size: .77rem; font-weight: 700; }
.dashboard-nav nav a.active, .dashboard-nav nav a:hover { color: #fff; background: rgba(255,255,255,.14); }
.dashboard-content { min-width: 0; padding: 24px 16px 55px; }
.transition-panel { display: grid; gap: 16px; margin-bottom: 20px; padding: 18px; color: #fff; background: linear-gradient(130deg, #0b3c59, var(--brand-dark)); border-radius: var(--radius-md); }
.transition-panel .eyebrow { color: #aee6ff; }
.transition-panel h2 { margin-bottom: 6px; }
.transition-panel p { margin: 0; color: #d7eff9; font-size: .84rem; }
.transition-actions { display: grid; gap: 9px; }
.transition-actions label { color: #d7eff9; }
.no-action { padding: 13px; background: rgba(255,255,255,.1); border-radius: 10px; }
.feature-banner { display: grid; grid-template-columns: 44px 1fr; gap: 12px; margin-bottom: 22px; padding: 16px; color: #5b4600; background: #fff0a7; border: 1px solid #e5c852; border-radius: 14px; }
.feature-banner > span { display: grid; width: 44px; height: 44px; place-content: center; background: #fff9d9; border-radius: 50%; font-size: 1.5rem; }
.feature-banner p { margin: 4px 0 0; font-size: .78rem; }
.sync-list { display: grid; gap: 11px; }
.sync-list article { display: grid; grid-template-columns: 66px minmax(0,1fr); gap: 12px; align-items: center; padding: 13px; background: #fff; border: 1px solid var(--line); border-radius: 13px; }
.sync-list img { width: 66px; height: 55px; object-fit: cover; border-radius: 8px; }
.sync-list strong, .sync-list span { display: block; }
.sync-list article > span { grid-column: 2; }
.sync-list div > span { color: var(--ink-soft); font-size: .73rem; }
.sync-ready { color: #218148; font-size: .75rem; font-weight: 800; }
.admin-filters { display: grid; gap: 11px; margin-bottom: 18px; padding: 15px; background: #fff; border: 1px solid var(--line); border-radius: 14px; }
.admin-filters select { width: 100%; }
.admin-notice { margin-bottom: 18px; padding: 13px; color: #594f00; background: #fff9d8; border: 1px solid #edde89; border-radius: 11px; font-size: .8rem; }
.admin-product-list { display: grid; gap: 9px; }
.admin-product-list article { display: grid; grid-template-columns: 60px minmax(0,1fr); gap: 10px; align-items: center; padding: 12px; background: #fff; border: 1px solid var(--line); border-radius: 12px; }
.admin-product-list img { width: 60px; height: 52px; object-fit: cover; border-radius: 8px; }
.admin-product-info strong, .admin-product-info span { display: block; }
.admin-product-info strong { font-size: .84rem; }
.admin-product-info > span { color: var(--ink-soft); font-size: .69rem; }
.admin-product-list .badge-state { grid-column: 2; }
.admin-product-list .button { grid-column: 1 / -1; }

.chart-preview { background: var(--surface-soft); }
.stat-grid { display: grid; gap: 12px; margin-bottom: 18px; }
.stat-card, .chart-card { margin: 0; padding: 18px; background: #fff; border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow-sm); }
.stat-card > span { color: var(--ink-soft); font-size: .74rem; font-weight: 750; }
.stat-card > strong { display: block; margin: 7px 0 5px; color: var(--ink); font-size: clamp(1.35rem, 5vw, 2rem); }
.stat-change { margin: 0; color: #218148; font-size: .75rem; font-weight: 800; }
.stat-change.is-down { color: #c84e4e; }
.stat-change small { color: var(--ink-soft); font-weight: 500; }
.chart-grid-layout { display: grid; gap: 18px; }
.chart-card { min-width: 0; overflow: hidden; }
.chart-card figcaption { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 7px; margin-bottom: 14px; }
.chart-card figcaption > strong { font-size: 1rem; }
.line-chart figcaption span { color: var(--ink-soft); font-size: .68rem; }
.line-chart figcaption i { display: inline-block; width: 18px; margin: 0 4px 3px 8px; border-top: 3px solid var(--brand-dark); }
.line-chart figcaption i.forecast-key { border-top-color: var(--amf-select); border-top-style: dashed; }
.line-chart svg { display: block; width: 100%; height: auto; }
.chart-grid line { stroke: #dce8ee; stroke-width: 1; }
.chart-axis text { fill: var(--ink-soft); font-size: 11px; }
.chart-line-actual, .chart-line-forecast { fill: none; stroke: var(--brand-dark); stroke-linecap: round; stroke-linejoin: round; stroke-width: 4; vector-effect: non-scaling-stroke; }
.chart-line-forecast { stroke: var(--amf-select); stroke-dasharray: 8 7; }
.bar-chart > div { display: grid; gap: 15px; }
.bar-row { display: grid; grid-template-columns: minmax(90px, 1fr) 1.5fr auto; gap: 9px; align-items: center; }
.bar-row > span { overflow: hidden; font-size: .7rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.bar-row > div { height: 10px; overflow: hidden; background: var(--brand-light); border-radius: 999px; }
.bar-row i { display: block; height: 100%; background: linear-gradient(90deg, var(--brand-primary), var(--brand-dark)); border-radius: inherit; }
.bar-row > strong { font-size: .68rem; white-space: nowrap; }

.seller-analytics-page { display: grid; gap: 20px; }
.seller-analytics-page > .page-heading { margin-bottom: 0; }
.seller-stat-grid { grid-template-columns: repeat(2, minmax(0,1fr)); margin-bottom: 0; }
.seller-stat-grid .stat-card { min-width: 0; padding: 13px; }
.seller-stat-grid .stat-card > strong { overflow-wrap: anywhere; font-size: clamp(.98rem, 4.5vw, 1.45rem); }
.seller-stat-grid .stat-change { font-size: .68rem; }
.seller-chart-grid .bar-row { grid-template-columns: minmax(0,1fr) auto; }
.seller-chart-grid .bar-row > div { grid-column: 1 / -1; grid-row: 2; }
.seller-panel, .seller-market-panel { min-width: 0; padding: 18px; background: #fff; border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow-sm); }
.seller-panel-heading { display: grid; gap: 8px; margin-bottom: 16px; }
.seller-panel-heading h2 { margin: 0; font-size: clamp(1.35rem, 5vw, 2rem); }
.seller-panel-heading p { margin: 0; color: var(--ink-soft); font-size: .78rem; }
.seller-funnel { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 8px; }
.seller-funnel-card { min-width: 0; padding: 13px 10px; background: var(--surface-soft); border: 1px solid var(--line); border-top: 4px solid var(--brand-primary); border-radius: 12px; }
.seller-funnel-card.status-CONFIRMED { border-top-color: #1694cf; }
.seller-funnel-card.status-SHIPPING { border-top-color: #e9892e; }
.seller-funnel-card span, .seller-funnel-card strong, .seller-funnel-card small { display: block; }
.seller-funnel-card > span { min-height: 2.4em; color: var(--ink-soft); font-size: .68rem; font-weight: 750; }
.seller-funnel-card strong { margin: 5px 0; font-size: 1.6rem; }
.seller-funnel-card small { color: var(--brand-dark); font-size: .65rem; font-weight: 800; }
.seller-funnel-card:hover { border-color: #9ddcf6; box-shadow: var(--shadow-sm); transform: translateY(-2px); }
.seller-table-wrap { min-width: 0; }
.seller-preparation-table { width: 100%; border-collapse: collapse; }
.seller-preparation-table thead { display: none; }
.seller-preparation-table tbody, .seller-preparation-table tr, .seller-preparation-table td { display: block; }
.seller-preparation-table tr { padding: 13px; background: var(--surface-soft); border: 1px solid var(--line); border-radius: 12px; }
.seller-preparation-table tr + tr { margin-top: 9px; }
.seller-preparation-table tr.is-low-stock { background: #fff1f1; border-color: #efbaba; box-shadow: inset 4px 0 #c84e4e; }
.seller-preparation-table td { display: flex; justify-content: space-between; gap: 13px; padding: 6px 0; color: var(--ink-soft); font-size: .76rem; text-align: right; }
.seller-preparation-table td::before { flex: 0 0 auto; content: attr(data-label); color: var(--ink); font-weight: 800; text-align: left; }
.seller-preparation-table td:first-child { align-items: flex-start; }
.seller-preparation-table td a { color: var(--brand-dark); font-weight: 800; }
.low-stock-label { flex: 0 0 auto; display: inline-flex; padding: 3px 7px; color: #9a3434; background: #f9dede; border-radius: 999px; font-size: .62rem; font-weight: 850; }
.restock-suggestion { color: #a54800; white-space: nowrap; }
.muted-value { color: #9aa8b2; }
.seller-market-panel { background: linear-gradient(145deg, #fff9dd, #fff); border-color: #e9d67d; }
.simulation-label { margin-bottom: 18px; padding: 11px 13px; color: #5c4b00; background: #fff1a7; border: 1px solid #e1c85a; border-radius: 10px; font-size: .73rem; font-weight: 850; }
.seller-market-grid { display: grid; gap: 18px; }
.seller-market-grid h3 { margin-bottom: 10px; }
.market-trend-list { padding: 0; margin: 0; list-style: none; }
.market-trend-list li { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px dashed #dfd29c; font-size: .78rem; }
.market-trend-list li:last-child { border-bottom: 0; }
.market-trend-list strong.is-up { color: #218148; }
.market-trend-list strong.is-down { color: #c84e4e; }
.market-keywords { display: flex; flex-wrap: wrap; gap: 8px; }
.market-keywords span { padding: 7px 10px; color: #00618f; background: var(--brand-light); border: 1px solid #b8e4f7; border-radius: 999px; font-size: .7rem; font-weight: 750; }

.section-sponsored { background: linear-gradient(145deg, #f4fbfe, #fff9e4); border-block: 1px solid #dbeaf0; }
.badge-sponsored { color: #5a4300; background: #fff1a6; border: 1px solid #e1c34d; }
.admin-analytics-page, .admin-ads-page { display: grid; gap: 20px; }
.admin-analytics-page > .page-heading, .admin-ads-page > .page-heading { margin-bottom: 0; }
.admin-stat-grid { grid-template-columns: repeat(2, minmax(0,1fr)); margin-bottom: 0; }
.admin-stat-grid .stat-card { min-width: 0; padding: 13px; }
.admin-stat-grid .stat-card > strong { overflow-wrap: anywhere; font-size: clamp(.98rem, 4.5vw, 1.45rem); }
.admin-stat-grid .stat-change { font-size: .68rem; }
.admin-rank-grid { display: grid; gap: 18px; }
.admin-rank-grid .bar-row { grid-template-columns: minmax(0,1fr) auto; }
.admin-rank-grid .bar-row > div { grid-column: 1 / -1; grid-row: 2; }
.admin-funnel { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; }
.admin-funnel-card { min-width: 0; padding: 13px 10px; background: var(--surface-soft); border: 1px solid var(--line); border-top: 4px solid var(--brand-primary); border-radius: 12px; }
.admin-funnel-card.status-CONFIRMED { border-top-color: #1694cf; }
.admin-funnel-card.status-SHIPPING { border-top-color: #e9892e; }
.admin-funnel-card.status-COMPLETED { border-top-color: #218148; }
.admin-funnel-card.status-CANCELLED { border-top-color: #c84e4e; }
.admin-funnel-card span, .admin-funnel-card strong, .admin-funnel-card small { display: block; }
.admin-funnel-card > span { min-height: 2.4em; color: var(--ink-soft); font-size: .68rem; font-weight: 750; }
.admin-funnel-card strong { margin: 5px 0; font-size: 1.55rem; }
.admin-funnel-card small { color: var(--brand-dark); font-size: .65rem; font-weight: 800; }
.rfm-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 9px; }
.rfm-grid article { min-width: 0; padding: 14px; background: var(--surface-soft); border: 1px solid var(--line); border-radius: 12px; }
.rfm-grid span, .rfm-grid strong { display: block; }
.rfm-grid span { color: var(--ink-soft); font-size: .72rem; font-weight: 800; }
.rfm-grid strong { margin: 4px 0; font-size: 1.8rem; }
.rfm-grid p { margin: 0; color: var(--ink-soft); font-size: .68rem; }
.admin-audience-grid { display: grid; gap: 18px; }
.tier-distribution { display: grid; gap: 12px; }
.tier-distribution > div { display: grid; grid-template-columns: 98px minmax(60px,1fr) auto; gap: 9px; align-items: center; }
.tier-distribution-bar { height: 9px; overflow: hidden; background: #e7eef1; border-radius: 999px; }
.tier-distribution-bar > i { display: block; height: 100%; background: linear-gradient(90deg, var(--brand-primary), var(--brand-dark)); border-radius: inherit; }
.tier-distribution > div > strong { font-size: .78rem; white-space: nowrap; }
.tier-distribution > div > strong small { color: var(--ink-soft); font-weight: 600; }
.business-share-panel dl { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 9px; margin: 0; }
.business-share-panel dl div { min-width: 0; padding: 14px; background: var(--brand-light); border: 1px solid #b7e4f7; border-radius: 12px; }
.business-share-panel dt { color: var(--ink-soft); font-size: .72rem; font-weight: 800; }
.business-share-panel dd { margin: 6px 0 3px; color: var(--brand-dark); font-size: clamp(1.3rem, 7vw, 2rem); font-weight: 900; }
.business-share-panel small { color: var(--ink-soft); font-size: .64rem; overflow-wrap: anywhere; }
.admin-market-panel { min-width: 0; }
.market-trend-table { display: grid; }
.market-trend-table > div { display: grid; grid-template-columns: minmax(100px,1fr) auto; gap: 5px 12px; padding: 11px 0; border-bottom: 1px dashed #dfd29c; }
.market-trend-table > div:last-child { border-bottom: 0; }
.market-trend-table span { font-size: .78rem; font-weight: 800; }
.market-trend-table strong { font-size: .78rem; }
.market-trend-table strong.is-up { color: #218148; }
.market-trend-table strong.is-down { color: #c84e4e; }
.market-trend-table small { grid-column: 1 / -1; color: var(--ink-soft); font-size: .68rem; }
.ads-simulation-banner { padding: 14px 16px; color: #5b4600; background: #fff0a7; border: 1px solid #e5c852; border-radius: 14px; font-size: .76rem; line-height: 1.55; }
.ads-stat-grid { display: grid; gap: 12px; }
.ads-stat-grid .stat-card > p { margin: 0; color: var(--ink-soft); font-size: .7rem; }
.ads-campaign-panel { overflow: hidden; }
.ads-table-wrap { min-width: 0; }
.ads-table { width: 100%; border-collapse: collapse; }
.ads-table thead { display: none; }
.ads-table tbody, .ads-table tr, .ads-table td { display: block; }
.ads-table tr { padding: 13px; background: var(--surface-soft); border: 1px solid var(--line); border-radius: 12px; }
.ads-table tr + tr { margin-top: 10px; }
.ads-table td { display: flex; min-width: 0; justify-content: space-between; gap: 13px; padding: 6px 0; color: var(--ink-soft); font-size: .75rem; text-align: right; overflow-wrap: anywhere; }
.ads-table td::before { flex: 0 0 92px; content: attr(data-label); color: var(--ink); font-weight: 800; text-align: left; }
.ads-table td:first-child strong { color: var(--ink); }
.ads-table td small { display: block; margin-top: 2px; color: var(--ink-soft); }
.ad-status { display: inline-flex; min-height: 28px; align-items: center; padding: 4px 9px; border-radius: 999px; font-size: .68rem; font-weight: 850; white-space: nowrap; }
.ad-status.status-active { color: #17683a; background: #e3f5e9; }
.ad-status.status-paused { color: #985000; background: #fff0d7; }
.ad-status.status-ended { color: #66737b; background: #e8edef; }
.ad-toggle-button { min-height: 36px; padding: 7px 10px; font-size: .7rem; }
.ad-toggle-button:disabled { cursor: not-allowed; opacity: .55; }

.page-heading-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.membership-page { display: grid; gap: 22px; }
.membership-page > .breadcrumbs { margin-bottom: 0; }
.membership-heading { display: grid; gap: 18px; }
.membership-heading h1 { margin: 0; font-size: clamp(2rem, 9vw, 3.5rem); }
.membership-heading p { margin: 9px 0 0; color: var(--ink-soft); }
.membership-name-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.business-badge { display: inline-flex; min-height: 30px; align-items: center; padding: 5px 11px; color: #075d46; background: #e4f7ef; border: 1px solid #a9dfcc; border-radius: 999px; font-size: .72rem; font-weight: 850; }
.account-tabs { display: flex; gap: 7px; overflow-x: auto; padding-bottom: 3px; }
.account-tabs a { flex: 0 0 auto; display: inline-flex; min-height: 42px; align-items: center; padding: 8px 12px; color: var(--ink-soft); background: var(--surface-soft); border: 1px solid var(--line); border-radius: 10px; font-size: .76rem; font-weight: 750; }
.account-tabs a:hover, .account-tabs a[aria-current="page"] { color: var(--brand-dark); background: var(--brand-light); border-color: #a7dff7; }
.membership-card { position: relative; display: grid; gap: 18px; overflow: hidden; padding: 22px; color: #fff; background: linear-gradient(135deg, var(--tier-ink), var(--tier-color)); border-radius: 24px; box-shadow: var(--shadow-md); }
.membership-card::after { position: absolute; width: 260px; height: 260px; right: -130px; top: -150px; content: ""; border: 55px solid rgba(255,255,255,.08); border-radius: 50%; }
.membership-card.tier-diamond { background: radial-gradient(circle at 85% 15%, rgba(255,255,255,.32), transparent 18%), linear-gradient(135deg, #003d61, var(--brand-primary)); box-shadow: 0 22px 60px rgba(2,133,195,.28); }
.tier-medallion { position: relative; z-index: 1; display: grid; width: 68px; height: 68px; place-content: center; color: var(--tier-ink); background: rgba(255,255,255,.9); border: 4px solid rgba(255,255,255,.36); border-radius: 50%; box-shadow: 0 9px 24px rgba(0,0,0,.16); font-size: 1.45rem; }
.membership-card.tier-diamond .tier-medallion { color: var(--brand-dark); background: linear-gradient(145deg, #fff, #c8f1ff); box-shadow: 0 0 30px rgba(255,255,255,.52); }
.membership-tier-copy { position: relative; z-index: 1; }
.membership-tier-copy > span { color: rgba(255,255,255,.78); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.membership-tier-copy h2 { margin: 4px 0 7px; color: #fff; font-size: clamp(2rem, 10vw, 3.5rem); }
.membership-tier-copy p { margin: 0; color: rgba(255,255,255,.88); font-size: .86rem; }
.membership-tier-copy p strong { color: #fff; }
.membership-metrics { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 9px; margin: 0; }
.membership-metrics div { min-width: 0; padding: 13px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.19); border-radius: 13px; }
.membership-metrics dt { min-height: 2.5em; color: rgba(255,255,255,.73); font-size: .66rem; font-weight: 750; }
.membership-metrics dd { margin: 5px 0 0; overflow-wrap: anywhere; font-size: clamp(1rem, 4.5vw, 1.45rem); font-weight: 900; line-height: 1.15; }
.membership-metrics dd small { font-size: .64em; font-weight: 700; }
.tier-progress-wrap { position: relative; z-index: 1; }
.tier-progress-label { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 7px; font-size: .72rem; }
.tier-progress { height: 10px; overflow: hidden; background: rgba(0,0,0,.18); border-radius: 999px; }
.tier-progress span { display: block; height: 100%; background: #fff; border-radius: inherit; box-shadow: 0 0 14px rgba(255,255,255,.48); }
.business-panel, .membership-section { padding: 19px; background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow-sm); }
.business-panel { display: grid; gap: 16px; background: linear-gradient(135deg, #effbf7, #fff); border-color: #bfe4d6; }
.business-panel h2, .membership-section h2 { margin: 0; font-size: clamp(1.35rem, 5vw, 2rem); }
.business-panel p { margin: 7px 0 0; color: var(--ink-soft); font-size: .82rem; }
.business-actions { display: grid; gap: 8px; }
.business-actions .button { width: 100%; }
.business-panel .simulation-note { margin: 0; padding: 10px 12px; color: #5b5200; background: #fff8d8; border: 1px solid #eddd8a; border-radius: 10px; font-size: .73rem; font-weight: 700; }
.membership-section { min-width: 0; }
.membership-section > header { display: grid; gap: 9px; margin-bottom: 17px; }
.membership-section > header p { margin: 0; color: var(--ink-soft); font-size: .8rem; }
.member-table { width: 100%; border-collapse: collapse; }
.member-table thead { display: none; }
.member-table tbody, .member-table tr, .member-table td { display: block; }
.member-table tr { padding: 13px; background: var(--surface-soft); border: 1px solid var(--line); border-radius: 12px; }
.member-table tr + tr { margin-top: 9px; }
.member-table td { display: flex; min-width: 0; justify-content: space-between; gap: 14px; padding: 7px 0; color: var(--ink-soft); font-size: .77rem; text-align: right; overflow-wrap: anywhere; }
.member-table td::before { flex: 0 0 auto; content: attr(data-label); color: var(--ink); font-weight: 800; text-align: left; }
.member-table td a { color: var(--brand-dark); font-weight: 850; }
.points-delta { color: #167345; font-size: .86rem; }
.points-delta.is-negative { color: #b33737; }
.benefits-table tr.is-current { background: var(--brand-light); border-color: #8fd8f7; box-shadow: inset 4px 0 var(--brand-primary); }
.benefit-tier { display: inline-flex; align-items: center; gap: 7px; color: var(--tier-ink); font-weight: 850; }
.benefit-state { display: inline-flex; padding: 4px 8px; color: #6a5800; background: #fff5c9; border-radius: 999px; font-size: .66rem; font-weight: 800; white-space: nowrap; }
.benefit-state.is-live { color: #176b38; background: #dff5e6; }

.legal-shell { min-height: 60vh; }
.legal-card { max-width: 800px; padding: 24px; background: #fff; border: 1px solid var(--line); border-radius: 20px; box-shadow: var(--shadow-sm); }
.legal-card h1 { margin-bottom: 20px; font-size: clamp(2rem, 8vw, 3.2rem); }
.legal-card p { color: var(--ink-soft); }

.site-footer { padding-block: 44px; color: #d7e8f1; background: #092f47; }
.footer-grid { display: grid; gap: 30px; }
.footer-brand { display: inline-block; margin-bottom: 10px; color: #fff; font-size: 1.45rem; font-weight: 900; }
.site-footer p { max-width: 460px; color: #aac7d6; }
.site-footer strong { color: var(--amf-select); font-size: .82rem; }
.site-footer h2 { margin-bottom: 9px; color: #fff; font-size: .95rem; }
.site-footer nav a, .site-footer > .footer-grid > div:last-child a { display: block; width: fit-content; min-height: 36px; padding-block: 6px; color: #bdd3de; font-size: .8rem; }
.site-footer a:hover { color: #fff; }
.toast { position: fixed; right: 16px; bottom: 16px; z-index: 80; max-width: min(360px, calc(100% - 32px)); padding: 12px 15px; color: #fff; background: #15324a; border-radius: 11px; box-shadow: var(--shadow-md); font-size: .82rem; font-weight: 700; opacity: 0; pointer-events: none; transform: translateY(15px); transition: opacity 180ms ease, transform 180ms ease; }
.toast.show { opacity: 1; transform: translateY(0); }

@media (min-width: 600px) {
  .container { width: min(100% - 48px, var(--container)); }
  .action-label { display: inline; }
  .section-heading .text-link { display: inline-flex; }
  .product-card-body { padding: 14px; }
  .product-card-body h3 { font-size: 1rem; }
  .shop-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .purchase-row { grid-template-columns: auto 1fr; align-items: end; }
  .add-cart-button { min-height: 48px; }
  .form-grid { grid-template-columns: repeat(2, 1fr); }
  .full-field { grid-column: 1 / -1; }
  .payment-demo { grid-template-columns: auto 1fr; }
  .success-actions { flex-direction: row; justify-content: center; }
  .order-line { grid-template-columns: 70px 1fr auto; }
  .order-line img { width: 70px; height: 58px; }
  .order-line > strong { grid-column: 3; align-self: center; }
  .admin-product-list article { grid-template-columns: 64px minmax(0,1fr) auto auto; }
  .admin-product-list .badge-state, .admin-product-list .button { grid-column: auto; }
  .stat-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .business-actions { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .seller-chart-grid .bar-row { grid-template-columns: minmax(90px, 1fr) 1.2fr auto; }
  .seller-chart-grid .bar-row > div { grid-column: auto; grid-row: auto; }
  .seller-market-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .ads-stat-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
}

@media (min-width: 768px) {
  .demo-strip { font-size: .8rem; }
  .header-main { grid-template-columns: auto minmax(260px, 1fr) auto; gap: 22px; padding-block: 13px; }
  .menu-toggle { display: none; }
  .brand img { width: 82px; height: 44px; }
  .brand span { font-size: 1.12rem; }
  .site-search { grid-column: auto; }
  .account-label { display: inline; }
  .category-nav { display: block; }
  .category-list { display: flex; justify-content: space-between; gap: 2px; padding-block: 5px; }
  .category-list a { min-height: 38px; padding: 6px 8px; font-size: .76rem; }
  .hero-grid { grid-template-columns: 1.12fr .88fr; align-items: center; padding-block: 78px; }
  .hero-copy h1 { font-size: clamp(3.2rem, 6vw, 5.1rem); }
  .hero-story { min-height: 450px; }
  .section { padding-block: 72px; }
  .product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 17px; }
  .shop-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .directory-filters { grid-template-columns: minmax(220px,1fr) minmax(190px,.7fr) auto; align-items: end; padding: 20px; }
  .page-shell { padding-block: 36px 80px; }
  .page-heading { flex-direction: row; align-items: end; justify-content: space-between; }
  .category-heading { padding: 32px; }
  .product-detail { grid-template-columns: minmax(0, 1.06fr) minmax(320px, .94fr); gap: 44px; align-items: start; }
  .product-info { position: sticky; top: 160px; }
  .shop-hero-content { grid-template-columns: 128px 1fr; align-items: center; }
  .shop-hero-logo { width: 128px; height: 128px; }
  .shop-hero-logo img { width: 110px; height: 74px; }
  .auth-card { padding: 38px; }
  .cart-layout, .checkout-layout { grid-template-columns: minmax(0,1fr) 320px; align-items: start; }
  .sticky-card { position: sticky; top: 158px; }
  .cart-item { grid-template-columns: 82px minmax(0,1fr) 70px 110px 52px; }
  .cart-item img { width: 82px; height: 66px; }
  .cart-line-total, .cart-item .link-button { grid-column: auto; grid-row: auto; }
  .checkout-progress li { grid-template-columns: 36px auto; justify-content: center; align-items: center; font-size: .78rem; text-align: left; }
  .checkout-step { padding: 25px; }
  .order-table thead { display: table-header-group; }
  .order-table tbody { display: table-row-group; }
  .order-table tr { display: table-row; padding: 0; box-shadow: none; }
  .order-table th { padding: 12px 14px; color: var(--ink-soft); background: var(--surface-soft); font-size: .7rem; letter-spacing: .04em; text-align: left; text-transform: uppercase; }
  .order-table td { display: table-cell; padding: 14px; border-bottom: 1px solid var(--line); font-size: .8rem; }
  .order-table td::before { display: none; }
  .order-table-wrap { overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: 14px; }
  .order-table .table-action { margin: 0; padding: 14px; border-top: 0; text-align: right; }
  .order-heading { flex-direction: row; align-items: center; justify-content: space-between; }
  .order-detail-grid { grid-template-columns: minmax(0,1fr) 320px; align-items: start; }
  .order-detail-grid > aside { position: sticky; top: 158px; }
  .dashboard-shell { grid-template-columns: 230px minmax(0,1fr); }
  .dashboard-nav { padding: 30px 20px; }
  .dashboard-nav nav { display: grid; overflow: visible; }
  .dashboard-nav nav a { padding-inline: 12px; }
  .dashboard-content { padding: 36px 28px 70px; }
  .transition-panel { grid-template-columns: minmax(0,1fr) minmax(300px,.9fr); align-items: center; padding: 24px; }
  .admin-filters { grid-template-columns: 1fr 1fr auto; align-items: end; }
  .sync-list article { grid-template-columns: 74px minmax(0,1fr) auto; }
  .sync-list article > span { grid-column: auto; }
  .seller-stat-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
  .admin-stat-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
  .admin-rank-grid, .admin-audience-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .admin-rank-grid .bar-row { grid-template-columns: minmax(90px,1fr) 1.2fr auto; }
  .admin-rank-grid .bar-row > div { grid-column: auto; grid-row: auto; }
  .admin-funnel { grid-template-columns: repeat(5, minmax(0,1fr)); }
  .rfm-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
  .market-trend-table > div { grid-template-columns: minmax(160px,.7fr) 90px minmax(220px,1.3fr); align-items: center; }
  .market-trend-table small { grid-column: auto; }
  .seller-panel, .seller-market-panel { padding: 24px; }
  .seller-panel-heading { grid-template-columns: minmax(0,1fr) auto; align-items: end; }
  .seller-table-wrap { overflow: hidden; border: 1px solid var(--line); border-radius: 13px; }
  .seller-preparation-table thead { display: table-header-group; }
  .seller-preparation-table tbody { display: table-row-group; }
  .seller-preparation-table tr { display: table-row; padding: 0; background: #fff; border: 0; border-radius: 0; }
  .seller-preparation-table tr + tr { margin-top: 0; }
  .seller-preparation-table tr.is-low-stock { background: #fff1f1; box-shadow: inset 4px 0 #c84e4e; }
  .seller-preparation-table th { padding: 11px 13px; color: var(--ink-soft); background: var(--surface-soft); font-size: .68rem; letter-spacing: .04em; text-align: left; text-transform: uppercase; }
  .seller-preparation-table td { display: table-cell; padding: 13px; border-top: 1px solid var(--line); font-size: .78rem; text-align: left; }
  .seller-preparation-table td::before { display: none; }
  .seller-preparation-table th:first-child, .seller-preparation-table td:first-child { width: 48%; }
  .low-stock-label { margin-left: 8px; }
  .membership-heading { grid-template-columns: minmax(0,1fr) auto; align-items: end; }
  .membership-card { grid-template-columns: 84px minmax(0,1fr) minmax(300px,.8fr); align-items: center; padding: 30px; }
  .tier-medallion { width: 78px; height: 78px; }
  .membership-metrics { grid-column: 3; grid-row: 1; }
  .tier-progress-wrap { grid-column: 2 / -1; }
  .business-panel { grid-template-columns: minmax(240px,.8fr) minmax(0,1.2fr); align-items: center; padding: 24px; }
  .business-panel .simulation-note { grid-column: 1 / -1; }
  .membership-section { padding: 24px; }
  .membership-section > header { grid-template-columns: minmax(0,1fr) auto; align-items: end; }
  .member-table-wrap { overflow: hidden; border: 1px solid var(--line); border-radius: 13px; }
  .member-table thead { display: table-header-group; }
  .member-table tbody { display: table-row-group; }
  .member-table tr { display: table-row; padding: 0; background: #fff; border: 0; border-radius: 0; }
  .member-table tr + tr { margin-top: 0; }
  .member-table th { padding: 11px 13px; color: var(--ink-soft); background: var(--surface-soft); font-size: .68rem; letter-spacing: .04em; text-align: left; text-transform: uppercase; }
  .member-table td { display: table-cell; padding: 13px; border-top: 1px solid var(--line); font-size: .78rem; text-align: left; }
  .member-table td::before { display: none; }
  .loyalty-table th:nth-child(1), .loyalty-table td:nth-child(1) { width: 120px; }
  .loyalty-table th:nth-child(2), .loyalty-table td:nth-child(2) { width: 180px; }
  .loyalty-table th:nth-child(3), .loyalty-table td:nth-child(3) { width: 90px; }
  .benefits-table th:first-child, .benefits-table td:first-child { width: 150px; }
  .benefits-table th:last-child, .benefits-table td:last-child { width: 130px; }
  .footer-grid { grid-template-columns: 1.8fr 1fr 1fr; }
}

@media (min-width: 1100px) {
  .ads-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 13px; }
  .ads-table { min-width: 1280px; }
  .ads-table thead { display: table-header-group; }
  .ads-table tbody { display: table-row-group; }
  .ads-table tr { display: table-row; padding: 0; background: #fff; border: 0; border-radius: 0; }
  .ads-table tr + tr { margin-top: 0; }
  .ads-table th { padding: 11px 12px; color: var(--ink-soft); background: var(--surface-soft); font-size: .66rem; letter-spacing: .03em; text-align: left; text-transform: uppercase; white-space: nowrap; }
  .ads-table td { display: table-cell; padding: 12px; border-top: 1px solid var(--line); font-size: .72rem; text-align: left; vertical-align: middle; }
  .ads-table td::before { display: none; }
  .ads-table td:first-child { min-width: 190px; }
}

@media (max-width: 430px) {
  .brand span { display: none; }
  .header-actions { gap: 2px; }
  .header-actions > .link-button { width: 44px; padding: 6px; font-size: 0; }
  .header-actions > .link-button::before { content: "⎋"; font-size: 1rem; }
  .header-tier-badge { padding-inline: 7px; }
  .pagination { gap: 3px; }
  .pagination a, .pagination span { width: 36px; height: 40px; }
}

@media (min-width: 1200px) {
  .category-list a { padding-inline: 12px; font-size: .82rem; }
  .product-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .product-card-body h3 { font-size: .96rem; }
  .dashboard-shell { grid-template-columns: 260px minmax(0,1fr); }
  .dashboard-content { padding-inline: 44px; }
  .chart-grid-layout { grid-template-columns: minmax(0,1.55fr) minmax(320px,.8fr); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* GV-12: role entry points and dedicated administration console */
.role-account { cursor: default; }
.role-account:hover { background: transparent; }
.role-console-button { display: inline-flex; min-height: 34px; align-items: center; padding: 6px 10px; color: #fff; background: var(--brand-dark); border-radius: 9px; font-size: .72rem; font-weight: 850; white-space: nowrap; box-shadow: 0 5px 14px rgba(2, 93, 139, .18); }
.role-console-button:hover { background: #006fa9; }

.admin-console-body { min-width: 320px; background: #f6f8fa; }
.admin-demo-strip { min-height: 24px; padding: 4px 16px; color: #634c00; background: #fff0a8; border-bottom: 1px solid #ead57b; font-size: .66rem; font-weight: 850; letter-spacing: .035em; text-align: center; }
.admin-topbar { position: sticky; top: 0; z-index: 40; display: flex; min-height: 58px; align-items: center; justify-content: space-between; gap: 18px; padding: 8px 16px; background: rgba(255,255,255,.98); border-bottom: 1px solid #e2e8ed; backdrop-filter: blur(12px); }
.admin-brand { display: flex; min-width: 0; align-items: center; gap: 10px; font-size: .88rem; font-weight: 900; white-space: nowrap; }
.admin-brand img { width: 56px; height: 30px; object-fit: contain; }
.admin-brand span { padding-left: 10px; border-left: 1px solid #d7dfe5; }
.admin-topbar-actions { display: flex; min-width: 0; align-items: center; gap: 12px; font-size: .74rem; }
.admin-store-link { color: #075f8b; font-weight: 800; white-space: nowrap; }
.admin-user-name { max-width: 180px; overflow: hidden; color: #334b5c; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.admin-logout { min-height: 34px; padding: 6px 10px; color: #405464; background: #f2f5f7; border-radius: 8px; font-size: .72rem; font-weight: 800; }
.admin-logout:hover { color: #9c3333; background: #fff0f0; }
.admin-console-shell { min-height: calc(100vh - 82px); }
.admin-sidebar { position: sticky; top: 58px; z-index: 30; min-width: 0; padding: 9px 12px; color: #d9e5ec; background: #102c3e; border-bottom: 1px solid #24475c; }
.admin-nav-group { display: none; color: #7493a5; font-size: .62rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.admin-sidebar nav { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; }
.admin-sidebar nav::-webkit-scrollbar { display: none; }
.admin-sidebar a { position: relative; flex: 0 0 auto; display: flex; min-height: 42px; align-items: center; gap: 10px; padding: 8px 11px; color: #b9ccd7; border-radius: 8px; font-size: .74rem; font-weight: 750; white-space: nowrap; }
.admin-sidebar a::before { position: absolute; left: 0; top: 8px; bottom: 8px; width: 3px; content: ""; background: transparent; border-radius: 0 4px 4px 0; }
.admin-sidebar a:hover { color: #fff; background: rgba(255,255,255,.07); }
.admin-sidebar a.active { color: #fff; background: rgba(255,255,255,.13); }
.admin-sidebar a.active::before { background: #36bdf5; }
.admin-sidebar svg { flex: 0 0 19px; width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.admin-console-main { min-width: 0; background: #f6f8fa; }
.admin-console-content { width: min(100%, 1560px); margin-inline: auto; padding: 20px 14px 54px; }
.admin-page { display: grid; min-width: 0; gap: 18px; }
.admin-page-heading { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 16px; }
.admin-page-heading h1 { margin: 0 0 5px; font-size: clamp(1.75rem, 4vw, 2.5rem); }
.admin-page-heading p { margin: 0; color: #647685; font-size: .8rem; }
.admin-page-heading .eyebrow { margin-bottom: 5px; font-size: .66rem; }
.admin-card, .admin-console-body .chart-card, .admin-console-body .stat-card { min-width: 0; margin: 0; padding: 17px; background: #fff; border: 1px solid #e3e9ed; border-radius: 12px; box-shadow: 0 5px 18px rgba(20,47,64,.055); }
.admin-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.admin-section-heading span, .admin-console-body .chart-card figcaption strong { display: block; color: #71818e; font-size: .68rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.admin-section-heading h2 { margin: 4px 0 0; font-size: 1.05rem; letter-spacing: -.015em; }
.admin-section-heading small { color: #83919b; font-size: .68rem; }
.admin-section-heading a { color: var(--brand-dark); font-size: .72rem; font-weight: 850; }

.admin-stat-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.admin-stat-grid .stat-card { padding: 14px; }
.admin-stat-grid .stat-card > span { min-height: 2.5em; color: #71818e; font-size: .66rem; font-weight: 850; letter-spacing: .025em; text-transform: uppercase; }
.admin-stat-grid .stat-card > strong { margin: 5px 0 4px; overflow-wrap: anywhere; font-size: clamp(1.25rem, 5vw, 1.8rem); line-height: 1.08; }
.admin-stat-grid .stat-change { font-size: .66rem; }
.admin-overview-grid, .admin-rank-grid, .admin-insight-grid, .admin-bottom-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 14px; min-width: 0; }
.admin-console-body .chart-card figcaption { align-items: center; margin-bottom: 12px; }
.admin-console-body .line-chart figcaption > strong::after { display: block; margin-top: 4px; color: #1d3545; content: "GMV thực tế & dự báo 7 ngày"; font-size: 1.05rem; letter-spacing: -.015em; text-transform: none; }
.chart-area { fill: url(#chart-area-gradient); }
.chart-line-actual, .chart-line-forecast { stroke-width: 2.5; }
.chart-grid line { stroke: #e1e8ec; stroke-dasharray: 3 4; }
.chart-axis text { fill: #788995; font-size: 10px; }
.chart-last-point circle { fill: #fff; stroke: var(--brand-dark); stroke-width: 3; }
.chart-last-point text { fill: #15324a; font-size: 10px; font-weight: 850; paint-order: stroke; stroke: #fff; stroke-width: 4; }
.admin-funnel-vertical { display: grid; gap: 12px; }
.admin-funnel-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 5px 12px; padding: 8px 9px; border-radius: 8px; }
.admin-funnel-row:hover { background: #f6f9fb; }
.admin-funnel-row > span { color: #526875; font-size: .73rem; font-weight: 750; }
.admin-funnel-row > strong { font-size: .8rem; }
.admin-funnel-row > i { grid-column: 1/-1; display: block; height: 7px; overflow: hidden; background: #edf2f4; border-radius: 999px; }
.admin-funnel-row > i b { display: block; height: 100%; min-width: 3px; background: #33a7d9; border-radius: inherit; }
.admin-funnel-row.status-COMPLETED > i b { background: #3d9b68; }
.admin-funnel-row.status-CANCELLED > i b { background: #d25d5d; }
.admin-funnel-row.status-SHIPPING > i b { background: #e79a42; }
.admin-rank-grid .bar-row, .admin-insight-grid .bar-row { grid-template-columns: minmax(0,1fr) auto; gap: 5px 8px; }
.admin-rank-grid .bar-row > div, .admin-insight-grid .bar-row > div { grid-column: 1/-1; grid-row: 2; height: 7px; }
.admin-rank-grid .bar-row > span, .admin-insight-grid .bar-row > span { font-size: .68rem; }
.admin-rank-grid .bar-row > strong, .admin-insight-grid .bar-row > strong { max-width: 150px; overflow: hidden; text-overflow: ellipsis; }
.admin-insight-grid > .admin-card { overflow: hidden; }
.admin-insight-grid .rfm-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.admin-insight-grid .rfm-grid article { min-width: 0; padding: 10px; background: #f7f9fa; border: 0; border-left: 4px solid #2e9fd0; border-radius: 7px; }
.admin-insight-grid .rfm-grid article:nth-child(2) { border-left-color: #7f68bd; }
.admin-insight-grid .rfm-grid article:nth-child(3) { border-left-color: #d29b27; }
.admin-insight-grid .rfm-grid article:nth-child(4) { border-left-color: #6f7b84; }
.admin-insight-grid .rfm-grid span { color: #667987; font-size: .65rem; font-weight: 850; }
.admin-insight-grid .rfm-grid strong { display: block; margin: 1px 0; font-size: 1.45rem; }
.admin-insight-grid .rfm-grid p { margin: 0; color: #7b8993; font-size: .58rem; line-height: 1.3; }
.admin-console-body .tier-distribution { display: grid; gap: 9px; }
.admin-console-body .tier-distribution > div { display: grid; grid-template-columns: 1fr auto; gap: 5px 10px; padding: 8px 10px; background: var(--tier-soft); border: 1px solid var(--tier-border); border-radius: 8px; }
.admin-console-body .tier-distribution > div > strong { font-size: .74rem; }
.admin-console-body .tier-distribution-bar { grid-column: 1/-1; height: 5px; background: rgba(21,50,74,.1); border-radius: 999px; }
.admin-console-body .tier-distribution-bar i { display: block; height: 100%; background: var(--tier-color); border-radius: inherit; }
.admin-console-body .benefit-tier { font-size: .7rem; }
.admin-latest-orders { overflow: hidden; }
.admin-table-scroll { overflow-x: auto; }
.admin-latest-orders table { width: 100%; min-width: 790px; border-collapse: collapse; }
.admin-latest-orders th { padding: 9px 11px; color: #74838e; background: #f7f9fa; font-size: .63rem; letter-spacing: .06em; text-align: left; text-transform: uppercase; }
.admin-latest-orders td { padding: 11px; border-top: 1px solid #e8edf0; color: #526875; font-size: .71rem; }
.admin-latest-orders td:first-child a { color: #046b9b; font-weight: 850; }
.admin-latest-orders td:nth-child(4), .admin-latest-orders td:last-child { white-space: nowrap; }
.admin-latest-orders time { color: #7e8d97; }
.admin-bottom-grid .simulation-label { margin-bottom: 15px; }
.admin-bottom-grid .market-trend-table > div { padding: 8px 0; }
.admin-console-body .business-share-panel dl { display: grid; gap: 10px; margin: 0; }
.admin-console-body .business-share-panel dl div { padding: 14px; background: #f5f9fb; border-radius: 9px; }
.admin-console-body .business-share-panel dt { color: #6e7e89; font-size: .68rem; font-weight: 800; text-transform: uppercase; }
.admin-console-body .business-share-panel dd { margin: 3px 0; font-size: 1.65rem; font-weight: 900; }
.admin-console-body .business-share-panel small { color: #748591; font-size: .65rem; }
.admin-orders-page .page-heading, .admin-amf-page .page-heading, .admin-ads-page .page-heading { margin-bottom: 0; }
.admin-order-detail-page .breadcrumbs { margin-bottom: 0; }
.admin-order-detail-page .order-detail-grid { min-width: 0; }

/* Seller analytics shares the upgraded card and chart language. */
.seller-analytics-page .stat-card, .seller-analytics-page .chart-card, .seller-analytics-page .seller-panel, .seller-analytics-page .seller-market-panel { border-radius: 12px; box-shadow: 0 5px 18px rgba(20,47,64,.06); }
.seller-analytics-page .chart-line-actual, .seller-analytics-page .chart-line-forecast { stroke-width: 2.5; }

@media (min-width: 600px) {
  .admin-console-content { padding: 26px 22px 64px; }
  .admin-stat-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (min-width: 768px) {
  .admin-topbar { padding-inline: 22px; }
  .admin-console-shell { display: grid; grid-template-columns: 72px minmax(0,1fr); min-height: calc(100vh - 82px); }
  .admin-sidebar { top: 58px; height: calc(100vh - 58px); padding: 20px 9px; border: 0; }
  .admin-sidebar nav { display: grid; gap: 7px; overflow: visible; }
  .admin-sidebar a { justify-content: center; min-height: 48px; padding: 10px; }
  .admin-sidebar a span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
  .admin-sidebar a::before { top: 7px; bottom: 7px; }
  .admin-console-content { padding: 30px 28px 72px; }
  .admin-bottom-grid { grid-template-columns: minmax(0,1.6fr) minmax(260px,.8fr); }
}

@media (min-width: 1100px) {
  .admin-console-shell { grid-template-columns: 220px minmax(0,1fr); }
  .admin-sidebar { padding: 28px 14px; }
  .admin-nav-group { display: block; margin: 0 12px 12px; }
  .admin-sidebar a { justify-content: flex-start; min-height: 45px; padding: 10px 13px; }
  .admin-sidebar a span { position: static; width: auto; height: auto; overflow: visible; clip: auto; }
  .admin-overview-grid { grid-template-columns: minmax(0,2fr) minmax(285px,1fr); align-items: stretch; }
  .admin-rank-grid, .admin-insight-grid { grid-template-columns: repeat(3,minmax(0,1fr)); align-items: stretch; }
  .admin-overview-grid > *, .admin-rank-grid > *, .admin-insight-grid > * { height: 100%; }
}

@media (min-width: 1280px) {
  .admin-stat-grid { grid-template-columns: repeat(6,minmax(0,1fr)); }
  .admin-console-content { padding: 34px 36px 80px; }
}

@media (max-width: 599px) {
  .admin-brand span { font-size: .72rem; }
  .admin-brand img { width: 42px; }
  .admin-topbar { gap: 8px; padding-inline: 10px; }
  .admin-topbar-actions { gap: 6px; }
  .admin-user-name { display: none; }
  .admin-store-link { font-size: 0; }
  .admin-store-link::before { content: "Cửa hàng ↗"; font-size: .68rem; }
  .admin-logout { padding-inline: 8px; font-size: .68rem; }
  .admin-page-heading .button { width: 100%; }
  .admin-console-body .line-chart { padding-inline: 9px; }
  .admin-console-body .line-chart figcaption { padding-inline: 7px; }
  .admin-stat-grid .stat-card > strong { font-size: 1.22rem; }
  .role-console-button { padding-inline: 8px; font-size: .66rem; }
}

/* GV-16: failure/return shipment branch, COD reconciliation and notifications. */
.status-delivery-failed { background:#fff0ed; color:#b43c2d; }
.status-returning { background:#fff7dc; color:#806000; }
.status-returned { background:#eef1f3; color:#52616b; }
.shipment-actions { display:flex; flex-wrap:wrap; gap:7px; align-items:center; }
.return-warning,.return-reason { padding:10px 12px; border-left:4px solid #d07b20; background:#fff8e8; color:#6f4d18; border-radius:6px; }
.failure-dialog { width:min(480px,calc(100% - 28px)); border:0; border-radius:14px; padding:0; box-shadow:0 24px 70px rgba(16,35,48,.28); }
.failure-dialog::backdrop { background:rgba(10,25,35,.5); }
.failure-dialog form { display:grid; gap:16px; padding:22px; }
.failure-dialog header,.failure-dialog footer { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.failure-dialog header h2 { margin:0; }
.failure-dialog header button { border:0; background:none; font-size:1.8rem; cursor:pointer; }
.failure-dialog label { display:grid; gap:6px; font-weight:800; }
.failure-dialog select,.failure-dialog textarea { width:100%; padding:10px; border:1px solid #cad5db; border-radius:8px; font:inherit; }
.cod-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-bottom:22px; }
.admin-panel { padding:20px; background:#fff; border:1px solid #e2e8ec; border-radius:12px; }
.panel-heading { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:16px; }
.panel-heading h2,.panel-heading p { margin:0 0 5px; }
.panel-heading form { display:grid; gap:5px; min-width:220px; }
.panel-heading select { padding:9px; border:1px solid #ccd6dc; border-radius:7px; }
.notification-center { position:relative; flex:0 0 auto; }
.notification-bell { position:relative; display:grid; place-items:center; width:38px; height:38px; padding:0; border:1px solid #d8e0e4; border-radius:50%; background:#fff; cursor:pointer; }
.notification-bell strong { position:absolute; top:-5px; right:-7px; min-width:20px; padding:2px 5px; border:2px solid #fff; border-radius:999px; background:#d94235; color:#fff; font-size:.62rem; line-height:1.2; }
.notification-dropdown { position:absolute; z-index:50; top:46px; right:0; width:min(390px,calc(100vw - 24px)); overflow:hidden; border:1px solid #dce4e8; border-radius:12px; background:#fff; box-shadow:0 18px 50px rgba(12,35,48,.2); color:#263b48; }
.notification-dropdown header { display:flex; justify-content:space-between; align-items:center; padding:13px 14px; border-bottom:1px solid #e5eaed; }
.notification-dropdown h2 { margin:0; font-size:1rem; }
.notification-dropdown header button { border:0; background:none; color:#0876a8; font-size:.72rem; font-weight:800; cursor:pointer; }
.notification-list { max-height:430px; overflow:auto; }
.notification-item { display:grid; width:100%; gap:3px; padding:12px 14px; border:0; border-bottom:1px solid #edf0f2; background:#fff; color:inherit; text-align:left; cursor:pointer; }
.notification-item.unread { background:#edf8fd; }
.notification-item.unread strong { font-weight:900; }
.notification-item span { overflow:hidden; color:#5c6f7b; font-size:.76rem; text-overflow:ellipsis; white-space:nowrap; }
.notification-item time { color:#84939c; font-size:.67rem; }
.notification-empty { padding:20px; text-align:center; color:#71818a; }
.notification-dropdown footer { padding:10px 14px; background:#f6f8f9; color:#75858e; font-size:.7rem; text-align:center; }
@media (max-width:700px) { .cod-stats { grid-template-columns:1fr; } .panel-heading { align-items:stretch; flex-direction:column; } .panel-heading form { min-width:0; } .notification-dropdown { position:fixed; top:74px; right:12px; } }
/* GV-17: deal, seller tiers and regional operations dashboard. */
.nav-deal{color:#c62828!important;font-weight:800}.nav-deal[aria-current="page"]{background:#fff0f0!important}
.product-image-wrap{position:relative}.discount-badge{position:absolute;right:.65rem;top:.65rem;z-index:2;background:#c62828;color:#fff;border-radius:.45rem;padding:.32rem .48rem;font-size:.8rem;font-weight:850;box-shadow:0 3px 9px #0003}
.section-deal{background:linear-gradient(180deg,#fff7f3,#fff)}.deal-link{color:#c62828}.demo-price-note{display:inline-block;margin-top:.5rem;padding:.35rem .6rem;border-radius:999px;background:#fff3e0;color:#8a4b08}.deal-page .page-heading{align-items:flex-end}
.shop-contact-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.button-zalo{background:#0877e8;color:#fff;border-color:#0877e8}.button-zalo svg{width:1.25rem;height:1.25rem;vertical-align:middle;margin-right:.35rem}.button-zalo circle{fill:#fff}.button-zalo text{fill:#0877e8;font:bold 14px sans-serif}.share-button{white-space:nowrap}
.rank-chart-wrap{position:relative}.rank-chart-wrap>.text-link{display:inline-block;margin:.5rem 1rem 1rem}.rank-chart-wrap .chart-card{height:100%;box-sizing:border-box}
.rfm-return-warning{border:2px solid #d32f2f!important;background:#fff7f7!important}.rfm-return-warning span,.rfm-return-warning strong{color:#b71c1c!important}
.seller-tier-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.seller-tier-grid>div{text-align:center;padding:1rem;border:1px solid #e8e0d8;border-radius:.8rem;background:#fff}.seller-tier-grid strong{display:block;font-size:1.8rem;margin:.45rem 0}.seller-tier,.return-rate-pill{display:inline-flex;align-items:center;border-radius:999px;padding:.3rem .62rem;font-size:.78rem;font-weight:800;white-space:nowrap}.tier-gold{background:#fff1b8;color:#785400}.tier-silver{background:#e9edf2;color:#475569}.tier-bronze{background:#eee1d6;color:#70452c}.return-low{background:#dcfce7;color:#166534}.return-medium{background:#fef3c7;color:#92400e}.return-high{background:#fee2e2;color:#991b1b}
.province-map-card{overflow:hidden}.province-map-scroll{overflow-x:auto}.province-tile-map{display:block;width:100%;min-width:300px;max-height:340px}.province-tile-map g{cursor:help}.province-tile-map rect{stroke:#fff;stroke-width:2;transition:filter .15s}.province-tile-map g:hover rect{filter:brightness(.9)}.province-tile-map .map-level-1 rect{fill:#e6f3ee}.province-tile-map .map-level-2 rect{fill:#b8ddcf}.province-tile-map .map-level-3 rect{fill:#77baa2}.province-tile-map .map-level-4 rect{fill:#398d70}.province-tile-map .map-level-5 rect{fill:#126147}.province-tile-map text{pointer-events:none;font-family:system-ui,sans-serif}.province-tile-map .map-name{font-size:12px;font-weight:800;fill:#17352a}.province-tile-map .map-gmv{font-size:11px;fill:#28493f}.province-tile-map .map-level-4 text,.province-tile-map .map-level-5 text{fill:#fff}.map-legend{display:flex;align-items:center;justify-content:center;gap:.25rem;font-size:.72rem;color:#64748b}.map-legend i{width:1.25rem;height:.5rem;background:#e6f3ee}.map-legend i:nth-of-type(2){background:#b8ddcf}.map-legend i:nth-of-type(3){background:#77baa2}.map-legend i:nth-of-type(4){background:#398d70}.map-legend i:nth-of-type(5){background:#126147}
.latest-province-filter select{padding:.45rem .6rem;border:1px solid #d9d3cc;border-radius:.45rem;background:#fff}.seller-return-card small{display:block;margin-top:.55rem;color:#64748b;font-size:.72rem}.admin-top-page .admin-card{padding:0}.admin-top-page table{width:100%;min-width:760px;border-collapse:collapse}.admin-top-page th,.admin-top-page td{padding:.75rem 1rem;border-bottom:1px solid #edf0ee;text-align:left}.admin-top-page th{color:#64748b;font-size:.75rem;text-transform:uppercase;white-space:nowrap}
@media(max-width:700px){.seller-tier-grid{grid-template-columns:1fr}.latest-province-filter{order:3;width:100%}.admin-latest-orders .admin-section-heading{flex-wrap:wrap}.province-map-scroll{margin-inline:-.5rem}.purchase-row{flex-wrap:wrap}.share-button{width:100%}.deal-page .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.discount-badge{top:.4rem;right:.4rem}.admin-top-page .admin-table-scroll{max-width:100vw}.rank-chart-wrap{min-width:0}}

/* GV-24: append-only simulated double-entry ledger. */
.ledger-page{display:grid;gap:20px;min-width:0}.ledger-simulation{padding:12px 16px;border:1px solid #e3bc61;border-radius:10px;background:#fff8df;color:#705000}.ledger-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.ledger-summary article{padding:18px;border:1px solid #dfe8e3;border-radius:12px;background:#fff}.ledger-summary span,.ledger-summary small{display:block;color:#64748b}.ledger-summary span{font-size:.72rem;font-weight:850;text-transform:uppercase}.ledger-summary strong{display:block;margin:.45rem 0;font-size:clamp(1.1rem,2vw,1.55rem)}.ledger-summary small{font-size:.72rem}.ledger-balance{display:flex;justify-content:space-between;gap:14px;padding:13px 16px;border-radius:10px}.ledger-balance.balanced{background:#e5f6eb;color:#17683a}.ledger-balance.unbalanced{background:#fee9e7;color:#a1342a}.ledger-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:10px;align-items:end;padding:16px;border:1px solid #dfe8e3;border-radius:12px;background:#fff}.ledger-filters label{display:grid;gap:5px;color:#64748b;font-size:.72rem;font-weight:800}.ledger-filters select{min-width:0;min-height:42px;padding:.55rem;border:1px solid #ccd6cf;border-radius:.55rem;background:#fff}.ledger-table-card{padding:0;min-width:0;overflow:hidden}.ledger-table-wrap{max-width:100%;overflow-x:auto}.ledger-table-wrap table{width:100%;min-width:1100px;border-collapse:collapse}.ledger-table-wrap th,.ledger-table-wrap td{padding:.75rem .85rem;border-bottom:1px solid #edf0ee;text-align:left;vertical-align:top}.ledger-table-wrap th{color:#64748b;font-size:.68rem;text-transform:uppercase;white-space:nowrap}.ledger-table-wrap td:nth-child(3){display:flex;align-items:center;gap:.45rem;white-space:nowrap}.ledger-table-wrap td small{display:block;margin-top:.25rem;color:#64748b}.ledger-type,.ledger-source{display:inline-flex;padding:.25rem .5rem;border-radius:999px;background:#eef6f2;color:#126147;font-size:.68rem;font-weight:800}.source-live{background:#e7f3ff;color:#1769a0}.source-backfill{background:#f0f1f2;color:#596770}
@media(max-width:900px){.ledger-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.ledger-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.ledger-filters .button{width:100%}}
@media(max-width:599px){.ledger-summary,.ledger-filters{grid-template-columns:1fr}.ledger-balance{align-items:flex-start;flex-direction:column}.ledger-table-wrap{overscroll-behavior-x:contain}.ledger-page .admin-page-heading{align-items:stretch}.ledger-page .admin-page-heading .button{width:100%}}

/* GV-19: nationwide, seasonal and category analytics; all charts are inline SVG. */
.gv19-page{min-width:0}.gv19-heading{align-items:flex-end}.gv19-heading p{max-width:850px}.gv19-period-form label{display:grid;gap:.35rem;color:#64748b;font-size:.76rem;font-weight:800}.gv19-period-form select,.gv19-area-filter select,.gv19-category-filter select{min-height:42px;padding:.55rem .7rem;border:1px solid #ccd6cf;border-radius:.55rem;background:#fff;font:inherit}
.gv19-tabs{display:flex;gap:.4rem;overflow-x:auto;padding:.32rem;border:1px solid #dfe8e3;border-radius:.85rem;background:#fff;scrollbar-width:thin}.gv19-tabs a{flex:0 0 auto;padding:.7rem 1rem;border-radius:.62rem;color:#42574d;font-size:.82rem;font-weight:850;text-decoration:none}.gv19-tabs a[aria-current=page]{background:#126147;color:#fff}
.gv19-export{padding:.7rem 1rem}.gv19-export summary{cursor:pointer;font-weight:850}.gv19-export div{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.8rem}.gv19-export a{padding:.5rem .7rem;border-radius:.5rem;background:#eef6f2;color:#126147;font-size:.77rem;font-weight:800;text-decoration:none}.gv19-stat-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.gv19-stat-grid .stat-card>strong{overflow-wrap:normal;word-break:normal;font-size:clamp(1rem,1.45vw,1.25rem)}.gv19-two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;min-width:0}.gv19-two-column>*{min-width:0}
.gv19-region-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.gv19-region-cards article{padding:1.1rem}.gv19-region-cards article>span{color:#64748b;font-size:.75rem;font-weight:850;text-transform:uppercase}.gv19-region-cards article>strong{display:block;margin:.35rem 0 1rem;font-size:1.45rem}.gv19-region-cards dl{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin:0}.gv19-region-cards dl div{display:grid;gap:.15rem}.gv19-region-cards dt{color:#64748b;font-size:.68rem}.gv19-region-cards dd{margin:0;font-size:.83rem;font-weight:850}
.gv19-map-card{overflow:hidden}.gv19-svg-scroll{max-width:100%;overflow-x:auto}.gv19-map{display:block;width:100%;min-width:880px;max-height:690px}.gv19-map .region-title{fill:#52675d;font:800 13px system-ui,sans-serif;letter-spacing:1px}.gv19-map g{cursor:help}.gv19-map rect{stroke:#fff;stroke-width:1}.gv19-map text{pointer-events:none;fill:#17352a;font:750 11px system-ui,sans-serif}.gv19-map .tile-gmv{font-weight:650}.gv19-map .map-level-1 rect{fill:#e6f3ee}.gv19-map .map-level-2 rect{fill:#b8ddcf}.gv19-map .map-level-3 rect{fill:#77baa2}.gv19-map .map-level-4 rect{fill:#398d70}.gv19-map .map-level-5 rect{fill:#126147}.gv19-map .map-level-4 text,.gv19-map .map-level-5 text{fill:#fff}.gv19-table{width:100%;min-width:760px;border-collapse:collapse}.gv19-table th,.gv19-table td{padding:.72rem .8rem;border-bottom:1px solid #edf0ee;text-align:left;white-space:nowrap}.gv19-table th{color:#64748b;font-size:.68rem;text-transform:uppercase}.gv19-all-provinces{padding:.8rem}.gv19-all-provinces>summary{cursor:pointer;color:#126147;font-weight:850}.gv19-area-filter{display:flex;flex-wrap:wrap;gap:.5rem}
.gv19-month-chart,.gv19-heatmap,.gv19-category-chart{display:block;width:100%;min-width:620px}.gv19-month-chart line{stroke:#bcc9c2}.gv19-month-chart rect{fill:#398d70}.gv19-month-chart text{fill:#4e6158;font:750 12px system-ui,sans-serif}.gv19-month-chart .annotation{fill:#b35c16;font-weight:900}.gv19-month-chart .trend{fill:none;stroke:#b35c16;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.gv19-comparisons{display:grid;gap:.8rem}.gv19-comparisons div{display:grid;gap:.18rem;padding:.85rem;border:1px solid #e5ebe7;border-radius:.7rem;background:#fbfdfc}.gv19-comparisons span,.gv19-comparisons small{color:#64748b}.gv19-comparisons strong{font-size:1.25rem}
.gv19-heatmap rect{stroke:#fff}.gv19-heatmap .heat-level-0 rect{fill:#f1f5f3}.gv19-heatmap .heat-level-1 rect{fill:#e6f3ee}.gv19-heatmap .heat-level-2 rect{fill:#b8ddcf}.gv19-heatmap .heat-level-3 rect{fill:#77baa2}.gv19-heatmap .heat-level-4 rect{fill:#398d70}.gv19-heatmap .heat-level-5 rect{fill:#126147}.gv19-heatmap text{fill:#52675d;font:700 11px system-ui,sans-serif}.gv19-conclusion{margin:.8rem 0 0;padding:.7rem;border-left:4px solid #126147;background:#eef6f2;font-weight:800}.gv19-spark-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.gv19-spark-grid article{display:grid;grid-template-columns:minmax(0,1fr) 130px auto;align-items:center;gap:.5rem;padding:.7rem;border:1px solid #e5ebe7;border-radius:.65rem}.gv19-spark-grid span{font-size:.76rem;font-weight:800}.gv19-spark-grid svg{width:100%}.gv19-spark-grid polyline{fill:none;stroke:#248468;stroke-width:2.5}.gv19-spark-grid strong{font-size:.75rem}.gv19-forecast{border:2px solid #e1bd75}.gv19-forecast h2{margin:.25rem 0;font-size:1.8rem}
.gv19-category-chart text{fill:#42574d;font:700 11px system-ui,sans-serif}.gv19-category-chart rect{fill:#398d70}.gv19-category-chart .bar-value{font-size:10px}.gv19-category-filter select{width:100%}.gv19-payment-list{display:grid;gap:.55rem}.gv19-payment-list>div{display:grid;grid-template-columns:1fr auto;gap:.18rem;padding:.65rem;border-radius:.55rem;background:#f5f8f6}.gv19-payment-list small{grid-column:1/-1;color:#64748b}.gv19-category-table{min-width:1080px}
@media(max-width:1000px){.gv19-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gv19-two-column{grid-template-columns:1fr}.gv19-spark-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.gv19-heading{align-items:stretch}.gv19-period-form select{width:100%}.gv19-tabs{margin-inline:-.25rem}.gv19-region-cards{grid-template-columns:1fr}.gv19-stat-grid{grid-template-columns:1fr}.gv19-spark-grid{grid-template-columns:1fr}.gv19-spark-grid article{grid-template-columns:minmax(0,1fr) 110px auto}.gv19-area-filter{width:100%}.gv19-area-filter select{min-width:0;flex:1 1 140px}.gv19-svg-scroll{margin-inline:-.25rem}.gv19-map{min-width:880px}.gv19-page{overflow:hidden}}
.seller-season-mini svg{display:block;width:100%;height:90px}.seller-season-mini polyline{fill:none;stroke:#248468;stroke-width:2.5}.seller-season-mini .seller-panel-heading>strong{font-size:1.15rem}

/* GV-20: operational simulated advertising with real render/click metrics. */
.seller-ads-page .dashboard-content,.gv20-admin-ads{display:grid;gap:20px}.seller-ads-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.seller-ads-summary article>span{color:#64748b;font-size:.75rem;font-weight:850;text-transform:uppercase}.seller-ads-summary article>strong{display:block;margin:.4rem 0;font-size:1.8rem}.credit-balance-card{border:2px solid #d7b95c}.ad-create-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}.ad-create-form label,.ad-inline-edit,.ad-admin-filter label,.ad-price-list label{display:grid;gap:.35rem;color:#64748b;font-size:.72rem;font-weight:800}.ad-create-form input,.ad-create-form select,.ad-inline-edit input,.ad-admin-filter input,.ad-admin-filter select,.ad-price-list input,.ad-decision-actions input{min-width:0;min-height:42px;padding:.55rem .65rem;border:1px solid #ccd6cf;border-radius:.55rem;background:#fff;font:inherit}.ad-point-option{display:flex!important;align-items:center;gap:.5rem;min-height:42px}.ad-point-option input{min-height:auto}.ad-approval{display:inline-flex;padding:.28rem .55rem;border-radius:999px;font-size:.68rem;font-weight:850}.approval-pending{background:#fff4ce;color:#805d00}.approval-approved{background:#e3f5e9;color:#17683a}.approval-rejected{background:#fee9e7;color:#a1342a}.ads-table td>small,.ads-table td small{display:block;margin-top:.25rem;color:#64748b}.ad-row-actions,.ad-decision-actions{display:flex;flex-wrap:wrap;gap:.45rem}.ad-row-actions details{position:relative}.ad-row-actions summary{cursor:pointer;color:#126147;font-weight:800}.ad-inline-edit{position:absolute;z-index:4;right:0;width:min(330px,80vw);padding:.75rem;background:#fff;border:1px solid #dbe4df;border-radius:.65rem;box-shadow:0 12px 35px rgba(17,44,34,.18)}.credit-ledger{display:grid;gap:.5rem}.credit-ledger article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.2rem .7rem;padding:.65rem;border:1px solid #e5ebe7;border-radius:.6rem}.credit-ledger small{grid-column:1/-1;color:#64748b}.credit-ledger .is-positive{color:#17683a}.credit-ledger .is-negative{color:#a1342a}.ad-admin-filter form{display:flex;flex-wrap:wrap;gap:.6rem;align-items:end}.ad-admin-filter label{flex:1 1 130px}.gv20-ad-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.ad-queue-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ad-queue-grid>article{padding:1rem;border:1px solid #e0e8e3;border-radius:.7rem;background:#fbfdfc}.ad-queue-grid header{display:flex;justify-content:space-between;gap:1rem}.ad-queue-grid header small{display:block;color:#64748b}.ad-queue-grid dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:.8rem 0}.ad-queue-grid dl div{display:grid;gap:.15rem}.ad-queue-grid dt{color:#64748b;font-size:.68rem}.ad-queue-grid dd{margin:0;font-weight:800}.ad-decision-actions form{display:flex;gap:.4rem;flex:1}.ad-decision-actions input{flex:1}.ad-price-list{display:grid;gap:.6rem}.ad-price-list form{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:end;gap:.6rem}.ad-price-list span{padding-bottom:.7rem;color:#64748b;font-size:.72rem}.ad-top-shops{display:grid;gap:.35rem;padding-left:1.25rem}.ad-top-shops li{padding:.35rem;border-bottom:1px solid #edf1ef}.ad-top-shops li span{display:inline-block;min-width:60%}.form-success,.form-error{margin:0;padding:.7rem .9rem;border-radius:.55rem;font-weight:750}.form-success{background:#e8f6ed;color:#17683a}.form-error{background:#fff0ee;color:#a1342a}
@media(max-width:1000px){.ad-create-form{grid-template-columns:repeat(2,minmax(0,1fr))}.gv20-ad-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.ad-queue-grid{grid-template-columns:1fr}}
@media(max-width:700px){.seller-ads-summary,.ad-create-form,.gv20-ad-stats{grid-template-columns:1fr}.ad-create-form .button{width:100%}.ad-admin-filter form{display:grid;grid-template-columns:1fr;width:100%}.ad-queue-grid dl{grid-template-columns:1fr}.ad-decision-actions,.ad-decision-actions form{display:grid;width:100%}.ad-price-list form{grid-template-columns:1fr}.ad-price-list span{padding:0}.ads-table td{display:grid;grid-template-columns:1fr;text-align:left}.ad-inline-edit{position:fixed;inset:auto 14px 14px;width:auto}.credit-ledger article{grid-template-columns:1fr}.credit-ledger small{grid-column:auto}}

/* GV-21: share popup and the 375 / 768 / 1024 responsive contract. */
html,body{max-width:100%}body{overflow-x:clip}img,svg,video,canvas{max-width:100%}.table-scroll,.admin-table-scroll,.admin-table-wrap,.seller-product-table-wrap,.ads-table-wrap,.member-table-wrap,.gv19-svg-scroll,.province-map-scroll{max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}input,select,textarea,button{max-width:100%}

/* GV-22: simulated platform revenue and anti-dumping controls. */
.gv22-simulation{margin-bottom:18px;padding:13px 16px;border:1px solid #e8bc65;border-radius:12px;background:#fff7df;color:#68490b}.gv22-simulation strong{color:#9b310d}.gv22-table-wrap{max-width:100%;overflow-x:auto}.gv22-table{width:100%;min-width:760px;border-collapse:collapse}.gv22-table th,.gv22-table td{padding:12px;border-bottom:1px solid #e3eae7;text-align:left;vertical-align:top}.gv22-table th{font-size:12px;color:#60716b;text-transform:uppercase}.gv22-table td small{display:block;margin-top:4px;color:#74827d}.gv22-table form{display:flex;align-items:center;gap:7px}.gv22-table input[type=number]{width:82px;padding:8px;border:1px solid #c8d5d0;border-radius:8px}.gv22-override-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.gv22-override-grid article{padding:15px;border:1px solid #dde6e2;border-radius:12px;background:#fff}.gv22-override-grid article.status-pending{border-color:#e4bb61;background:#fffaf0}.gv22-override-grid article header{display:flex;justify-content:space-between;gap:10px}.gv22-override-grid article header small{display:block}.gv22-override-grid blockquote{margin:10px 0;padding-left:10px;border-left:3px solid #b8cbc4;color:#53635d}.gv22-decisions{display:flex;gap:8px}.gv22-revenue-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.gv22-revenue-cards article{padding:19px;border:1px solid #dce6e2;border-radius:14px;background:#fff}.gv22-revenue-cards span,.gv22-revenue-cards small{display:block;color:#6e7d77}.gv22-revenue-cards strong{display:block;margin:7px 0;font-size:27px;color:#163e32}.gv22-price-hint{display:grid;gap:4px;padding:13px;border-left:4px solid #d79c2d;border-radius:9px;background:#fff8e8}.gv22-price-hint span{color:#586861}.gv22-override-request{padding:17px;border:1px solid #e1af54;border-radius:12px;background:#fff8e8}.gv22-override-request label,.gv22-override-request textarea{display:block;width:100%}.gv22-override-request textarea{margin:7px 0 10px;padding:10px;border:1px solid #cdbb95;border-radius:8px}.gv22-override-request span{margin-left:10px;color:#21664f}.gv22-seller-fees{margin:18px 0;padding:18px;border:1px solid #dce6e2;border-radius:14px;background:#fff}.gv22-month-pills{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:13px}.gv22-month-pills span{padding:10px;border-radius:9px;background:#f1f7f4}.gv22-month-pills small,.gv22-month-pills strong{display:block}
@media(max-width:1024px){.gv22-override-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gv22-month-pills{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:768px){.gv22-revenue-cards,.gv22-override-grid{grid-template-columns:1fr}.gv22-month-pills{display:flex;max-width:100%;overflow-x:auto}.gv22-month-pills span{flex:0 0 140px}.gv22-table form .button{min-height:44px}.gv22-page .admin-page-heading{align-items:stretch}.gv22-page .admin-page-heading .button{justify-content:center}.gv22-override-request .button{min-height:44px;width:100%;margin-bottom:8px}.gv22-override-request span{display:block;margin:0}}
.share-dialog{width:min(560px,calc(100% - 28px));max-height:min(860px,calc(100dvh - 28px));padding:0;overflow:auto;border:0;border-radius:20px;background:#fff;box-shadow:0 26px 90px rgba(9,47,71,.35)}.share-dialog::backdrop{background:rgba(7,31,46,.62);backdrop-filter:blur(3px)}.share-dialog [hidden]{display:none!important}.share-dialog-card{display:grid;gap:16px;padding:22px}.share-dialog-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.share-dialog-card h2{margin:.2rem 0 0}.dialog-close{display:grid;flex:0 0 44px;width:44px;height:44px;place-items:center;padding:0;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);font-size:1.8rem;line-height:1;cursor:pointer}.share-qr-wrap{display:grid;justify-items:center;gap:5px;margin:auto}.share-qr-wrap img{width:min(280px,70vw);height:auto;aspect-ratio:1;background:#f4f7f8;border:1px solid var(--line);border-radius:16px}.share-qr-wrap small{font-size:14px;font-weight:900;letter-spacing:.18em}.share-link-field{display:grid;gap:7px;color:var(--ink-soft);font-size:14px;font-weight:800}.share-link-field input{width:100%;min-height:46px;padding:10px 12px;border:1px solid #c7d4dc;border-radius:10px;background:#f7fafb;font:inherit}.share-primary-actions,.share-social-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.share-primary-actions .button,.share-social-actions .button{justify-content:center;min-height:46px}.share-zalo{color:#fff;background:#0877e8}.share-messenger{color:#fff;background:#7468ff}.share-privacy-note{margin:0;color:var(--ink-soft);font-size:14px;text-align:center}
.admin-nav-toggle,.seller-nav-toggle{display:none;min-height:44px;align-items:center;justify-content:center;padding:8px 12px;border:1px solid #cdd9df;border-radius:10px;background:#fff;color:var(--ink);font-size:14px;font-weight:850}.admin-nav-backdrop,.seller-nav-backdrop{position:fixed;z-index:68;inset:0;width:100%;height:100%;padding:0;border:0;background:rgba(5,24,36,.52)}.admin-nav-backdrop[hidden],.seller-nav-backdrop[hidden]{display:none}.admin-nav-open,.seller-nav-open{overflow:hidden}

@media(max-width:1023px){
  body{font-size:14px}small,.eyebrow,.badge,.status-pill,.simulation-label,.product-origin,.shop-name,.sync-tag{font-size:14px!important}.button,.button-small,.button.button-small,.filter-tabs a,.category-list a,.dashboard-nav a,.admin-sidebar a,.notification-item{min-height:44px;font-size:14px}.filter-tabs,.shipper-tabs{display:flex;max-width:100%;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;overscroll-behavior-inline:contain}.filter-tabs a,.shipper-tabs a{flex:0 0 auto;white-space:nowrap}
  .category-nav{display:block;max-width:100%;overflow:hidden}.category-list{display:flex;max-width:100%;gap:6px;padding-block:6px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}.category-list::-webkit-scrollbar,.filter-tabs::-webkit-scrollbar{display:none}.category-list a{flex:0 0 auto;scroll-snap-align:start}.menu-toggle{display:none}
  .dashboard-shell{display:block}.seller-nav-toggle{display:flex;margin:0 0 14px}.dashboard-nav{position:fixed;z-index:70;inset:0 auto 0 0;width:min(310px,86vw);padding:24px 18px;overflow:auto;transform:translateX(-105%);transition:transform .2s ease;box-shadow:16px 0 50px rgba(5,32,48,.28)}.dashboard-nav.is-open{transform:translateX(0)}.dashboard-nav nav{display:grid;overflow:visible}.dashboard-nav nav a{padding:10px 12px}.dashboard-content{padding:20px 16px 60px}
  .admin-nav-toggle{display:flex;flex:0 0 44px}.admin-console-shell{display:block!important}.admin-sidebar{position:fixed;z-index:70;inset:0 auto 0 0;top:0!important;width:min(310px,86vw);height:100dvh!important;padding:24px 16px!important;overflow:auto;border:0;transform:translateX(-105%);transition:transform .2s ease;box-shadow:16px 0 50px rgba(5,24,36,.32)}.admin-sidebar.is-open{transform:translateX(0)}.admin-sidebar .admin-nav-group{display:block;margin:12px}.admin-sidebar nav{display:grid!important;gap:7px!important;overflow:visible!important}.admin-sidebar a{justify-content:flex-start!important;padding:10px 13px!important}.admin-sidebar a span{position:static!important;width:auto!important;height:auto!important;overflow:visible!important;clip:auto!important}.admin-console-content{padding:24px 18px 64px}.admin-stat-grid,.gv19-stat-grid,.gv20-ad-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .admin-card,.chart-card,.stat-card,.seller-panel,.detail-panel,.checkout-step,.summary-card{min-width:0}.admin-filter-bar,.admin-filter-bar label,.admin-filter-bar input,.admin-filter-bar select,.admin-filter-bar button{min-width:0}.gv19-map,.gv19-month-chart,.gv19-heatmap,.gv19-category-chart{max-width:none}
}

@media(max-width:767px){
  .header-main{grid-template-columns:minmax(0,1fr) auto}.brand{min-width:44px}.site-search{grid-column:1/-1}.header-actions{min-width:0}.role-console-button,.role-account .account-label{display:none}.category-nav{border-top:1px solid var(--line)}
  .product-grid,.deal-page .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}.product-card-body{padding:10px}.product-card-body h3{font-size:14px}.product-price strong{font-size:14px}.hero-grid{padding-block:38px}.hero-copy h1{font-size:clamp(2.05rem,10vw,3.2rem)}.hero-story{min-height:270px}.hero-facts{grid-template-columns:1fr}.section{padding-block:42px}.section-heading{align-items:flex-start;flex-direction:column}.page-shell{padding-block:24px 64px}
  .product-detail{gap:22px}.product-info{position:static}.purchase-row{position:sticky;z-index:24;bottom:0;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-inline:-12px;padding:10px 12px;background:rgba(255,255,255,.96);border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(12,45,64,.12);backdrop-filter:blur(10px)}.purchase-row .quantity-control{grid-column:1/-1}.purchase-row .button{width:100%}.product-reviews-section{padding:16px}.product-reviews-section>header,.review-card>header{align-items:flex-start;flex-direction:column}
  .cart-layout,.checkout-layout{display:grid;grid-template-columns:1fr}.cart-item{grid-template-columns:68px minmax(0,1fr);gap:9px}.cart-item img{width:68px;height:58px}.cart-line-total,.cart-item .link-button{grid-column:2}.checkout-progress{gap:5px}.checkout-progress li{min-width:0;padding:7px 4px;font-size:14px}.form-grid{grid-template-columns:1fr}.form-grid .full-field{grid-column:auto}.checkout-layout>.sticky-card{position:sticky;z-index:23;bottom:0;border-radius:16px 16px 0 0;box-shadow:0 -12px 30px rgba(10,43,61,.14)}.summary-card .summary-help{display:none}
  .share-primary-actions,.share-social-actions{grid-template-columns:1fr}.share-dialog-card{padding:18px}.share-qr-wrap img{width:min(250px,68vw)}
  .shipper-main{padding:18px 12px 48px}.shipper-topbar{height:auto;min-height:60px;padding:8px 10px}.shipper-topbar .admin-store-link,.shipper-topbar .admin-topbar-actions>span{display:none}.shipper-table-wrap{overflow:visible!important;background:transparent!important;box-shadow:none!important}.shipper-table{display:block;min-width:0!important}.shipper-table thead{display:none}.shipper-table tbody{display:grid;gap:12px}.shipper-table tr{display:grid;padding:15px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-sm)}.shipper-table td{display:grid!important;grid-template-columns:112px minmax(0,1fr);gap:10px;max-width:none!important;padding:7px 0!important;border:0!important;text-align:left!important}.shipper-table td::before{content:attr(data-label);color:var(--ink-soft);font-size:14px;font-weight:800}.shipper-table td:last-child{grid-template-columns:1fr}.shipper-table td:last-child::before{margin-bottom:4px}.shipment-actions .button{flex:1 1 130px;min-height:44px}.shipper-tabs{padding-bottom:4px}
  .notification-dropdown{position:fixed;top:68px;right:8px;left:8px;width:auto;max-height:calc(100dvh - 80px)}.notification-list{max-height:calc(100dvh - 180px)}.notification-item{padding:13px 14px}
  .admin-topbar{gap:7px}.admin-brand span,.admin-user-name{display:none}.admin-console-content{padding:18px 12px 56px}.admin-stat-grid,.gv19-stat-grid,.gv20-ad-stats{grid-template-columns:1fr!important}.admin-filter-bar{align-items:stretch;flex-direction:column}.admin-filter-bar>*{width:100%}.admin-page-header{align-items:flex-start;flex-direction:column}.admin-section-heading{align-items:flex-start;flex-direction:column}.cod-stats{grid-template-columns:1fr}.failure-dialog,.stock-dialog,.review-dialog{max-height:calc(100dvh - 20px);overflow:auto}.failure-dialog form,.stock-dialog-card,.review-dialog form{padding:16px}
}

@media(min-width:768px) and (max-width:899px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-grid{grid-template-columns:1fr}.checkout-layout,.cart-layout{grid-template-columns:minmax(0,1fr) 290px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:900px) and (max-width:1199px){.product-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}

/* GV-23: affiliate lifecycle and seller quick-buy QR. */
.affiliate-panel{scroll-margin-top:90px}.affiliate-register,.affiliate-link{display:flex;align-items:end;justify-content:space-between;gap:14px;padding:18px;border:1px solid #dce7e2;border-radius:14px;background:#f7fbf9}.affiliate-link>div,.affiliate-link label{display:grid;gap:5px}.affiliate-link label{flex:1}.affiliate-link input{width:100%;min-height:44px;padding:9px;border:1px solid #c7d6d0;border-radius:9px;background:#fff}.affiliate-performance{margin:16px 0 0;color:#596d64}.affiliate-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0}.affiliate-stats article{padding:15px;border:1px solid #dde8e3;border-radius:12px;background:#fff}.affiliate-stats span,.affiliate-stats small{display:block;color:#687b73}.affiliate-stats strong{display:block;margin:5px 0;font-size:1.45rem}.affiliate-money-stats article:nth-child(2){background:#fffaf0}.affiliate-money-stats article:nth-child(3){background:#effaf3}.affiliate-money-stats article:nth-child(4){background:#f1f5ff}.aff-status{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eef2f0;color:#50615a;font-size:12px;font-weight:850}.aff-active,.aff-available{background:#e3f5e9;color:#17683a}.aff-suspended,.aff-cancelled,.aff-inactive{background:#fee9e7;color:#a1342a}.aff-pending{background:#fff4ce;color:#805d00}.aff-locked{background:#fff0d9;color:#8a4d00}.aff-paid_sim{background:#e8eeff;color:#294a9a}.gv23-table-wrap{max-width:100%;overflow-x:auto}.gv23-table{width:100%;min-width:900px;border-collapse:collapse}.gv27-aff-table{min-width:1250px}.gv23-table th,.gv23-table td{padding:12px;border-bottom:1px solid #e2e9e6;text-align:left;vertical-align:top}.gv23-table td small{display:block;margin-top:4px;color:#6d7c76}.gv23-table form{display:grid;grid-template-columns:90px 130px minmax(180px,1fr) auto;align-items:end;gap:8px}.gv23-table label{display:grid;gap:4px;color:#63726c;font-size:12px;font-weight:800}.gv23-table input,.gv23-table select{min-height:42px;padding:8px;border:1px solid #cbd7d2;border-radius:8px}.gv27-payout-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding-top:14px;border-top:1px solid #e0e9e5}.gv27-payout-row form,.gv27-payout-row p{margin:0}.gv27-payout-row button:disabled{cursor:not-allowed;opacity:.55}.seller-sale-qr-page .dashboard-content{display:grid;gap:18px}.sale-qr-create{display:grid;gap:14px}.sale-qr-title{display:grid;gap:6px;max-width:540px}.sale-qr-title input{min-height:44px;padding:10px;border:1px solid #cbd8d2;border-radius:9px}.sale-qr-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.sale-qr-products>label{display:grid;grid-template-columns:auto 52px minmax(0,1fr) 64px;align-items:center;gap:8px;padding:9px;border:1px solid #dee7e3;border-radius:10px}.sale-qr-products img{width:52px;height:52px;object-fit:cover;border-radius:8px}.sale-qr-products span,.sale-qr-products small{display:block}.sale-qr-products small{color:#6b7c74}.sale-qr-products input[type=number]{width:64px;padding:8px;border:1px solid #ccd8d3;border-radius:8px}.sale-qr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.sale-qr-card>header{display:grid;grid-template-columns:minmax(0,1fr) 124px;gap:12px}.sale-qr-card h2{margin:7px 0 3px}.sale-qr-card header img{width:124px;aspect-ratio:1;border:1px solid #dde6e2;border-radius:10px}.sale-qr-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.sale-qr-metrics span{padding:10px;border-radius:9px;background:#f2f8f5}.sale-qr-metrics strong{display:block;font-size:1.25rem}.sale-qr-actions{display:flex;flex-wrap:wrap;gap:7px}.sale-qr-actions form{margin:0}.sale-quick-page{width:min(720px,100% - 24px);margin:0 auto;padding:28px 0 100px}.sale-quick-page>header{text-align:center}.sale-quick-items{display:grid;gap:12px;margin:20px 0}.sale-quick-items article{display:grid;grid-template-columns:96px minmax(0,1fr) 94px;align-items:center;gap:12px;padding:12px;border:1px solid #dce7e2;border-radius:15px;background:#fff;box-shadow:0 5px 18px rgba(18,55,42,.06)}.sale-quick-items img{width:96px;height:86px;object-fit:cover;border-radius:11px}.sale-quick-items h2{margin:0 0 5px;font-size:1rem}.sale-quick-items small{display:block;color:#687970}.sale-quick-items label{display:grid;gap:5px;color:#61726a;font-size:12px;font-weight:800}.sale-quick-items input{width:100%;min-height:44px;padding:8px;border:1px solid #c9d7d1;border-radius:9px}.sale-quick-sticky{position:sticky;z-index:20;bottom:10px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #cbdad3;border-radius:14px;background:rgba(255,255,255,.96);box-shadow:0 10px 32px rgba(10,48,34,.18);backdrop-filter:blur(10px)}.sale-quick-inactive{display:grid;justify-items:center;gap:10px;padding:80px 20px;text-align:center}.sale-quick-inactive>span{font-size:70px;color:#9aaaa3}
@media(max-width:1024px){.sale-qr-products{grid-template-columns:repeat(2,minmax(0,1fr))}.sale-qr-grid{grid-template-columns:1fr}.affiliate-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.affiliate-register,.affiliate-link{align-items:stretch;flex-direction:column}.affiliate-link .button,.affiliate-register .button{width:100%;min-height:44px}.affiliate-stats{grid-template-columns:1fr 1fr}.gv27-payout-row{align-items:stretch;flex-direction:column}.gv27-payout-row .button{width:100%;min-height:46px}.sale-qr-products{grid-template-columns:1fr}.sale-qr-products>label{grid-template-columns:auto 48px minmax(0,1fr) 58px}.sale-quick-page{width:min(100% - 16px,720px);padding-top:18px}.sale-quick-items article{grid-template-columns:74px minmax(0,1fr);gap:9px}.sale-quick-items img{width:74px;height:70px}.sale-quick-items label{grid-column:2}.sale-quick-sticky{bottom:6px;align-items:stretch;flex-direction:column}.sale-quick-sticky .button{width:100%;min-height:48px}.gv23-table{min-width:0}.gv23-table thead{display:none}.gv23-table,.gv23-table tbody{display:grid;gap:12px}.gv23-table tr{display:grid;padding:13px;border:1px solid #dce6e2;border-radius:12px}.gv23-table td{display:grid;grid-template-columns:105px minmax(0,1fr);gap:8px;padding:6px 0;border:0}.gv23-table td::before{content:attr(data-label);color:#687970;font-weight:800}.gv23-table td form{grid-column:1/-1;grid-template-columns:1fr}}
.aff-disabled{background:#fee9e7;color:#a1342a}.sale-quick-items article.is-unavailable{opacity:.66;background:#f3f5f4}.sale-quick-items article em{display:block;margin-top:5px;color:#a1342a;font-size:12px;font-weight:800}.sale-quick-sticky span strong{display:block;margin-top:4px}.sale-quick-sticky button:disabled{cursor:not-allowed;opacity:.55}
.seller-sale-qr-page .dashboard-heading{order:1}.seller-sale-qr-page .sale-qr-grid{order:2}.seller-sale-qr-page .dashboard-content>.seller-panel{order:3}
.success-payment-qr{display:flex;gap:24px;align-items:center;margin:24px 0;padding:20px;border:1px solid var(--line);border-radius:18px;background:#f7fbff;text-align:left}.success-payment-qr img{width:180px;height:180px;border-radius:12px}.success-payment-qr p{max-width:380px}.sale-qr-rules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.sale-qr-rules label{display:grid;gap:6px}.sale-qr-rules input,.sale-qr-rules select{min-height:44px;padding:9px;border:1px solid #cbd8d2;border-radius:9px}.sale-price-warning{display:flex;justify-content:space-between;gap:16px;padding:14px 18px;border:1px solid #f0b84b;border-radius:12px;background:#fff7df}.aff-expired,.aff-limit{background:#fff4ce;color:#805d00}
@media(max-width:767px){.sale-qr-rules{grid-template-columns:1fr}.success-payment-qr{flex-direction:column;text-align:center}.success-payment-qr img{width:160px;height:160px}}
.gv26-funnel>header{display:flex;align-items:start;justify-content:space-between;gap:20px}.gv26-funnel>header p{max-width:430px;color:var(--muted)}.gv26-funnel-list{display:grid;gap:12px;margin-top:20px}.gv26-funnel-list article{display:grid;grid-template-columns:minmax(180px,1fr) 170px;gap:8px 20px;padding:15px;border:1px solid var(--line);border-radius:12px}.gv26-funnel-list article>div:first-child{display:grid;gap:3px}.gv26-funnel-list code{color:var(--muted)}.gv26-funnel-value{text-align:right}.gv26-funnel-value strong,.gv26-funnel-value span{display:block}.gv26-funnel-value strong{font-size:1.35rem}.gv26-funnel-value span{color:var(--muted);font-size:12px}.gv26-funnel-bar{grid-column:1/-1;height:9px;overflow:hidden;border-radius:999px;background:#e9efec}.gv26-funnel-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--brand-primary),#55b589)}
@media(max-width:767px){.gv26-funnel>header{flex-direction:column}.gv26-funnel-list article{grid-template-columns:1fr auto}.gv26-funnel-value{min-width:95px}}

/* GV-28 — shared seller/admin/shipper application shell. */
.con-body{margin:0;min-width:0;color:var(--con-ink);background:var(--con-bg);font-size:14px;line-height:1.5}
.con-body h1,.con-body h2,.con-body h3{color:var(--con-ink);letter-spacing:-.015em}.con-body h1{font-size:22px}.con-body h2{font-size:16px}.con-body h3{font-size:14px}
.con-topbar{position:sticky;z-index:65;top:0;display:flex;height:56px;align-items:center;gap:16px;padding:0 20px;color:#fff;background:var(--brand-dark);box-shadow:0 1px 0 rgba(0,0,0,.08)}
.con-brand{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:800;letter-spacing:.2px}.con-brand-mark{display:grid;width:30px;height:30px;place-items:center;color:var(--brand-dark);background:#fff;border-radius:8px;font-weight:900}.con-brand small{display:block;color:rgba(255,255,255,.82);font-size:11px;font-weight:500;line-height:1.15}.con-crumb{padding-left:16px;border-left:1px solid rgba(255,255,255,.27);font-size:15px;font-weight:700}.con-spacer{flex:1}.con-demo-badge{padding:4px 10px;color:#5b4300;background:var(--amf-select);border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.03em;white-space:nowrap}
.con-topbar .notification-bell{display:grid;width:34px;height:34px;min-height:34px;place-items:center;padding:0;color:#fff;background:rgba(255,255,255,.14);border-radius:9px}.con-topbar .notification-bell svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.con-topbar .notification-bell strong{top:3px;right:3px;background:var(--amf-select);color:#5b4300}
.con-user{display:flex;align-items:center;gap:8px;padding:4px 11px 4px 5px;background:rgba(255,255,255,.14);border-radius:999px;font-size:13px}.con-user b{display:grid;width:27px;height:27px;place-items:center;color:#5b4300;background:var(--amf-select);border-radius:50%;font-size:12px}.con-logout{min-height:34px;padding:5px 9px;color:#fff;background:transparent;border-radius:8px;font-size:12px;font-weight:700}.con-logout:hover{background:rgba(255,255,255,.14)}
.con-shell{display:flex;min-height:calc(100vh - 92px);background:var(--con-bg)}.con-side{position:sticky;top:56px;display:flex;flex:0 0 228px;height:calc(100vh - 56px);flex-direction:column;padding:12px 10px 28px;overflow-y:auto;background:var(--con-card);border-right:1px solid var(--con-line)}.con-side-shop{display:grid;gap:2px;margin:2px 8px 4px;padding:11px 12px;background:var(--con-bg);border-radius:10px}.con-side-shop span{color:var(--con-faint);font-size:10px;font-weight:800;text-transform:uppercase}.con-side-shop strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.con-group{padding:14px 12px 6px;color:var(--con-faint);font-size:10.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.con-side a{position:relative;display:flex;min-height:38px;align-items:center;gap:10px;padding:8px 12px;color:var(--con-muted);border-radius:9px;font-size:13px;font-weight:600}.con-side a svg{flex:none;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.con-side a:hover{color:var(--con-ink);background:var(--con-bg)}.con-side a.active{color:var(--brand-dark);background:var(--brand-light);font-weight:800}.con-side a.active::before{position:absolute;top:8px;bottom:8px;left:-10px;width:3px;background:var(--brand-primary);border-radius:3px;content:""}.con-count{margin-left:auto;padding:1px 7px;color:var(--con-warn);background:var(--con-warn-bg);border-radius:999px;font-size:11px;font-variant-numeric:tabular-nums}
.con-main{flex:1;min-width:0;padding:22px 24px 46px}.con-footer{padding:12px 20px;color:var(--con-faint);background:var(--con-card);border-top:1px solid var(--con-line);font-size:12px;text-align:center}
.con-main>.dashboard-shell,.con-main>.seller-sale-qr-page{display:block;max-width:none;margin:0}.con-main .dashboard-nav{display:none!important}.con-main .dashboard-content,.con-main .admin-console-content,.con-main .shipper-main{width:auto;max-width:none;padding:0;background:transparent}.con-main .admin-page,.con-main .shipper-page,.con-main .dashboard-content{display:grid;gap:18px}.con-main .page-heading,.con-main .admin-page-heading,.con-main .admin-page-header{margin:0;align-items:flex-end}.con-main .page-heading h1,.con-main .admin-page-heading h1,.con-main .admin-page-header h1{margin:3px 0 5px;font-size:22px}.con-main .page-heading p,.con-main .admin-page-heading p{color:var(--con-muted);font-size:13px}.con-main .eyebrow{margin:0;color:var(--con-faint);font-size:11px;font-weight:800;letter-spacing:.08em}
.con-body .admin-card,.con-body .seller-panel,.con-body .chart-card,.con-body .stat-card,.con-body .detail-panel,.con-body .review-card,.con-body .sync-list article,.con-body .seller-product-search,.con-body .seller-product-table-wrap,.con-body .order-table-wrap,.con-body .shipper-table-wrap,.con-body .admin-table-wrap,.con-body .ledger-filters,.con-body .ledger-table-card,.con-body .feature-banner,.con-body .seller-amf-teaser{min-width:0;margin:0;padding:16px;background:var(--con-card);border:1px solid var(--con-line);border-radius:var(--con-r-card);box-shadow:var(--con-shadow)}
.con-body .stat-grid,.con-body .admin-stat-grid,.con-body .ledger-summary,.con-body .gv22-revenue-cards,.con-body .affiliate-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0}.con-body .stat-card,.con-body .ledger-summary article,.con-body .gv22-revenue-cards article,.con-body .affiliate-stats article{position:relative;padding:16px 16px 15px 66px;overflow:hidden;background:var(--con-card);border:1px solid var(--con-line);border-radius:var(--con-r-card);box-shadow:var(--con-shadow)}.con-body .stat-card::before,.con-body .ledger-summary article::before,.con-body .gv22-revenue-cards article::before{position:absolute;top:16px;left:16px;display:grid;width:38px;height:38px;place-items:center;color:var(--brand-dark);background:var(--brand-light);border-radius:11px;content:"↗";font-size:17px;font-weight:800}.con-body .stat-card:nth-child(2)::before{color:var(--con-good);background:var(--con-good-bg);content:"□"}.con-body .stat-card:nth-child(3)::before{color:var(--con-warn);background:var(--con-warn-bg);content:"!"}.con-body .stat-card:nth-child(4)::before{content:"★"}.con-body .stat-card>span:first-child,.con-body .ledger-summary article>span,.con-body .gv22-revenue-cards article>span{display:block;color:var(--con-muted);font-size:12px}.con-body .stat-card>strong,.con-body .ledger-summary article>strong,.con-body .gv22-revenue-cards article>strong{display:block;margin:3px 0;color:var(--con-ink);font-size:21px;font-weight:850;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.con-body .stat-change{margin:3px 0 0;color:var(--con-muted);font-size:11.5px}.con-body .stat-change b{padding:1px 6px;color:var(--con-good);background:var(--con-good-bg);border-radius:999px}.con-body .stat-change.is-down b{color:var(--con-warn);background:var(--con-warn-bg)}
.con-body .chart-grid-layout,.con-body .seller-chart-grid,.con-body .gv19-two-column,.con-body .shipper-detail-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:14px}.con-body .chart-card{padding:18px}.con-body .chart-card figcaption{margin-bottom:12px}.con-body .chart-card svg{width:100%;max-height:300px}.con-body .chart-grid line{stroke:var(--con-line);stroke-width:1}.con-body .chart-axis text{fill:var(--con-faint);font-size:11px}.con-body .chart-area{fill:url(#chart-area-gradient)}.con-body .chart-line-actual,.con-body .chart-line-forecast{fill:none;stroke:var(--brand-primary);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.con-body .chart-line-forecast{stroke-dasharray:5 5;opacity:.7}.con-body .chart-last-point circle{fill:var(--brand-primary);stroke:var(--con-card);stroke-width:3}.con-body .chart-last-point text{fill:var(--brand-dark);font-weight:800}
.con-body .filter-tabs{display:flex;max-width:100%;gap:6px;padding:5px;overflow-x:auto;background:var(--con-card);border:1px solid var(--con-line);border-radius:12px;box-shadow:0 1px 2px rgba(2,63,90,.04)}.con-body .filter-tabs a{flex:0 0 auto;min-height:34px;padding:7px 12px;color:var(--con-muted);background:transparent;border:0;border-radius:9px;font-size:12px;font-weight:700;white-space:nowrap}.con-body .filter-tabs a:hover{background:var(--con-bg)}.con-body .filter-tabs a[aria-current=page]{color:var(--brand-dark);background:var(--brand-light)}
.con-body .button{min-height:38px;padding:8px 14px;border-radius:var(--con-r-ctl);font-size:12.5px;box-shadow:none}.con-body .button-primary{background:var(--brand-primary)}.con-body .button-secondary{color:var(--brand-dark);background:var(--con-card);border-color:var(--con-line)}.con-body input,.con-body select,.con-body textarea{min-height:38px;padding:8px 11px;border-color:var(--con-line);border-radius:var(--con-r-ctl);font-size:13px}
.con-body .button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.con-body .order-table-wrap,.con-body .seller-product-table-wrap,.con-body .shipper-table-wrap,.con-body .admin-table-scroll,.con-body .gv19-svg-scroll,.con-body .ledger-table-wrap,.con-body .ads-table-wrap,.con-body .gv22-table-wrap,.con-body .gv23-table-wrap{max-width:100%;padding:0;overflow-x:auto}.con-body table{width:100%;border-collapse:collapse;font-size:13px}.con-body th{padding:10px;color:var(--con-faint);border-bottom:1px solid var(--con-line);font-size:11px;font-weight:800;letter-spacing:.06em;text-align:left;text-transform:uppercase;white-space:nowrap}.con-body td{padding:11px 10px;border-bottom:1px solid var(--con-line);font-variant-numeric:tabular-nums}.con-body tbody tr:hover td{background:var(--con-bg)}.con-body tbody tr:last-child td{border-bottom:0}.con-body .status-pill,.con-body .product-status-pill,.con-body .aff-status,.con-body .ledger-type,.con-body .cod-pill{display:inline-flex;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap}
.con-body .seller-preparation-table .is-low-stock td{background:#fffaf2}.con-body .low-stock-label,.con-body .restock-suggestion{display:inline-flex;padding:2px 8px;color:var(--con-warn);background:var(--con-warn-bg);border-radius:999px;font-size:11px}.con-body .sync-list{display:grid;gap:10px}.con-body .review-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.con-body .seller-market-panel{padding:16px;background:var(--con-card);border:1px solid var(--con-line);border-radius:var(--con-r-card);box-shadow:var(--con-shadow)}
.con-body .simulation-label,.con-body .simulation-note,.con-body .ledger-simulation,.con-body .shop-locked-banner{padding:9px 12px;color:#6d5200;background:#fff7cf;border:1px solid #f3dc79;border-radius:10px;font-size:12px;font-weight:750}.con-body .notification-dropdown{color:var(--con-ink)}
/* Login is the only buyer-layout page intentionally restyled in GV-28. */
.auth-shell{min-height:calc(100vh - 210px);padding:56px 16px;background:radial-gradient(circle at 50% 0,#dff4fe 0,transparent 38%),var(--con-bg)}.auth-card{width:min(440px,100%);padding:30px;background:#fff;border:1px solid var(--con-line);border-radius:18px;box-shadow:var(--con-shadow)}.auth-logo img{width:70px}.auth-card h1{font-size:26px}.auth-card .stack-form{gap:14px}
@media(max-width:1023px){.con-topbar{padding:0 14px}.con-demo-badge{max-width:220px;overflow:hidden;text-overflow:ellipsis}.con-side{flex-basis:204px}.con-main{padding:20px 18px 42px}.con-body .stat-grid,.con-body .admin-stat-grid,.con-body .ledger-summary,.con-body .gv22-revenue-cards,.con-body .affiliate-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.con-body .chart-grid-layout,.con-body .seller-chart-grid,.con-body .gv19-two-column{grid-template-columns:1fr}}
@media(max-width:767px){.con-topbar{position:relative;height:58px;gap:8px;padding:0 10px}.con-brand{font-size:13px}.con-brand small{font-size:10px}.con-brand-mark{width:29px;height:29px}.con-crumb,.con-user span,.con-logout{display:none}.con-demo-badge{margin-left:auto;max-width:118px;padding:4px 7px;font-size:9px}.con-topbar .notification-dropdown{top:58px}.con-shell{display:block;min-height:calc(100vh - 96px)}.con-side{position:sticky;z-index:50;top:0;display:flex;width:100%;height:auto;max-height:none;flex-direction:row;gap:5px;padding:7px 8px;overflow-x:auto;overflow-y:hidden;border-right:0;border-bottom:1px solid var(--con-line);scrollbar-width:none}.con-side::-webkit-scrollbar{display:none}.con-side-shop,.con-group{display:none}.con-side a{flex:0 0 auto;min-height:40px;padding:8px 11px;white-space:nowrap}.con-side a.active::before{top:auto;right:10px;bottom:-7px;left:10px;width:auto;height:3px}.con-side a svg{width:17px;height:17px}.con-main{width:100%;padding:16px 12px 40px;overflow:hidden}.con-footer{padding:10px 12px}.con-body .page-heading,.con-body .admin-page-heading,.con-body .admin-page-header{align-items:flex-start;flex-direction:column}.con-body .stat-card,.con-body .ledger-summary article,.con-body .gv22-revenue-cards article{min-height:112px;padding:55px 11px 12px}.con-body .stat-card::before,.con-body .ledger-summary article::before,.con-body .gv22-revenue-cards article::before{top:12px;left:11px;width:34px;height:34px}.con-body .stat-card>strong,.con-body .ledger-summary article>strong,.con-body .gv22-revenue-cards article>strong{font-size:17px;overflow-wrap:anywhere}.con-body .review-list{grid-template-columns:1fr}.con-body .chart-grid-layout,.con-body .seller-chart-grid,.con-body .gv19-two-column,.con-body .shipper-detail-grid{grid-template-columns:1fr}.con-body .shipper-table-wrap{padding:0!important;overflow-x:auto!important}.con-body .shipper-table{display:table;min-width:940px!important}.con-body .shipper-table thead{display:table-header-group}.con-body .shipper-table tbody{display:table-row-group}.con-body .shipper-table tr{display:table-row;padding:0;border:0;box-shadow:none}.con-body .shipper-table td{display:table-cell!important;padding:11px 10px!important;border-bottom:1px solid var(--con-line)!important}.con-body .shipper-table td::before{display:none}.con-body .seller-product-table{min-width:820px}.con-body .order-table{min-width:680px}.con-body .seller-product-search{padding:12px}.auth-shell{padding:34px 12px}.auth-card{padding:24px}}

/* UI density and typography requested for the public storefront. */
html {
  scrollbar-color: rgba(2, 133, 195, .55) rgba(224, 235, 241, .72);
  scrollbar-width: thin;
}
body,
button,
input,
select,
textarea {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
body:not(.con-body) {
  font-size: 14px;
  line-height: 1.5;
}
body:not(.con-body) h1,
body:not(.con-body) h2,
body:not(.con-body) h3 {
  font-weight: 700;
  letter-spacing: -.018em;
}
body:not(.con-body) h1 { font-size: clamp(1.75rem, 4vw, 2.75rem); }
body:not(.con-body) h2 { font-size: clamp(1.35rem, 2.7vw, 1.9rem); }
body:not(.con-body) h3 { font-size: .96rem; }
.brand,
body:not(.con-body) .eyebrow,
body:not(.con-body) .text-link { font-weight: 650; }
body:not(.con-body) small,
body:not(.con-body) .eyebrow,
body:not(.con-body) .badge,
body:not(.con-body) .status-pill,
body:not(.con-body) .simulation-label,
body:not(.con-body) .product-origin,
body:not(.con-body) .shop-name,
body:not(.con-body) .sync-tag {
  font-size: .75rem !important;
}
:focus-visible {
  outline: 2px solid rgba(2, 166, 244, .42);
  outline-offset: 1px;
}
select:focus,
input:focus,
textarea:focus {
  outline: 0;
  border-color: var(--brand-primary);
  box-shadow: 0 0 0 2px rgba(2, 166, 244, .12);
}
select:focus-visible,
input:focus-visible,
textarea:focus-visible { outline: 0; }
.button {
  min-height: 38px;
  gap: 6px;
  padding: 8px 14px;
  border-radius: 9px;
  font-size: .84rem;
  font-weight: 650;
}
.button:hover { transform: none; }
.button-primary { box-shadow: 0 4px 12px rgba(2, 133, 195, .16); }
.link-button,
.text-link { min-height: 38px; font-weight: 650; }
.demo-strip { padding-block: 5px; font-size: .72rem; font-weight: 600; }
.header-main { padding-block: 8px; }
.site-search { border-radius: 10px; }
.site-search input { min-height: 40px; padding: 7px 12px; }
.site-search button {
  display: grid;
  min-width: 54px;
  min-height: 40px;
  padding: 0;
  place-items: center;
}
.search-button-icon,
.header-search-icon { width: 21px; height: 21px; }
.header-fill-icon,
.header-action-icon { display: block; flex: 0 0 auto; width: 21px; height: 21px; }
.header-login-icon,
.header-user-icon { width: 22px; height: 22px; }
.cart-link,
.account-link {
  min-height: 40px;
  padding: 5px 7px;
  border-radius: 8px;
  font-size: .8rem;
  font-weight: 650;
}
.cart-link:hover,
.account-link:hover { color: var(--brand-dark); background: transparent; }
.category-nav { overflow: hidden; }
.category-list {
  display: flex;
  height: 32px;
  max-width: 100%;
  justify-content: flex-start;
  gap: 16px;
  padding-block: 0;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
}
.category-list::-webkit-scrollbar { display: none; }
.category-list a {
  flex: 0 0 auto;
  min-height: 32px;
  padding: 0;
  border-radius: 0;
  font-size: .78rem;
  font-weight: 600;
  line-height: 32px;
  white-space: nowrap;
  scroll-snap-align: start;
}
.category-list a:hover,
.category-list a[aria-current="page"],
.category-list .nav-deal:hover,
.category-list .nav-deal[aria-current="page"] {
  color: var(--brand-primary);
  background: transparent;
}
.hero-grid { gap: 24px; padding-block: 42px; }
.hero-copy h1 { max-width: 720px; margin-bottom: 13px; font-size: clamp(2rem, 5vw, 3.75rem); }
.hero-copy > p { margin-bottom: 18px; font-size: .96rem; }
.hero-facts { margin-top: 22px; }
.hero-facts li { padding: 10px; border-radius: 10px; }
.hero-story { min-height: 360px; padding: 20px; }
.story-card { padding: 15px; border-radius: 13px; }
.story-card strong { font-size: 1.08rem; }
.section { padding-block: 44px; }
.section-heading { margin-bottom: 18px; }
.section-heading h2 { margin-bottom: 5px; }
.product-grid { gap: 13px; }
.product-card { border-radius: 12px; }
.product-card:hover { transform: translateY(-1px); }
.product-card-body { padding: 10px; }
.product-card-body h3 { margin: 6px 0; font-size: .87rem; font-weight: 650; }
.badge { min-height: 22px; padding: 3px 7px; font-weight: 650; }
.sync-tag { padding: 3px 6px; font-weight: 600; }
.shop-card { min-height: 78px; padding: 10px; border-radius: 12px; }
.directory-filters { gap: 10px; padding: 12px; margin-bottom: 16px; border-radius: 11px; }
.shop-hero { padding-block: 36px; }
.membership-card { gap: 14px; padding: 18px; border-radius: 16px; }
.business-panel,
.membership-section { padding: 16px; border-radius: 14px; }
.page-shell { padding-block: 24px 52px; }
.breadcrumbs { margin-bottom: 18px; }
.page-heading { gap: 12px; margin-bottom: 18px; }
.page-heading h1,
.product-info h1 { margin-bottom: 8px; font-size: clamp(1.7rem, 4vw, 2.45rem); }
.category-heading { padding: 18px; }
select,
input,
textarea {
  min-height: 40px;
  padding: 8px 11px;
  border-radius: 8px;
}
.pagination {
  gap: 0;
  margin-top: 18px;
}
.pagination a,
.pagination span {
  width: 34px;
  height: 34px;
  border-radius: 0;
  border-right-width: 0;
  font-size: .78rem;
  font-weight: 600;
}
.pagination > :first-child { border-radius: 8px 0 0 8px; }
.pagination > :last-child { border-right-width: 1px; border-radius: 0 8px 8px 0; }
.pagination .pagination-ellipsis { border: 1px solid var(--line); border-right-width: 0; }
.product-detail { gap: 24px; }
.gallery-main { cursor: zoom-in; border-radius: 12px; }
.gallery-zoom-trigger {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  background: transparent;
  cursor: zoom-in;
}
.gallery-zoom-trigger img { width: 100%; height: 100%; object-fit: cover; }
.gallery-thumbs { margin-top: 8px; }
.gallery-thumbs button { flex-basis: 70px; min-height: 52px; border: 0; border-radius: 7px; }
.gallery-thumbs button:hover,
.gallery-thumbs button.active { box-shadow: inset 0 0 0 2px var(--brand-primary); }
.product-reviews-section,
.checkout-step,
.summary-card,
.detail-panel,
.legal-card,
.success-card { padding: 18px; border-radius: 13px; }
.site-footer { padding-block: 32px; }
.footer-grid { gap: 22px; }
.footer-brand { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 8px; font-size: 1.1rem; font-weight: 700; }
.footer-brand img,
.footer-brand-logo { width: 48px; height: 27px; object-fit: contain; }
.site-footer nav a,
.site-footer > .footer-grid > div:last-child a { min-height: 30px; padding-block: 4px; }
.auth-shell {
  display: flex;
  min-height: calc(100vh - 148px);
  align-items: center;
  justify-content: center;
  padding: 40px 16px;
}
.auth-card {
  width: min(480px, calc(100vw - 32px));
  padding: 32px;
  border-radius: 18px;
}
.auth-logo { margin-bottom: 24px; font-weight: 700; }
.auth-card h1 { margin-bottom: 20px; font-size: 1.75rem; }
.auth-card .stack-form { gap: 13px; }
.auth-card .stack-form label { font-size: .82rem; font-weight: 600; }
.auth-card .form-error:empty { display: none; }
.auth-card .form-error:not(:empty) { margin-top: 12px; padding: 9px 11px; }
.notification-bell svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.notification-bell:hover { color: var(--brand-dark); background: transparent; }

body.product-lightbox-open { overflow: hidden; }
.product-lightbox {
  position: fixed;
  inset: 0;
  width: 100vw;
  max-width: none;
  height: 100dvh;
  max-height: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
  color: #fff;
  background: transparent;
  border: 0;
}
.product-lightbox:not([open]) { display: none; }
.product-lightbox::backdrop {
  background: rgba(13, 31, 42, .42);
  -webkit-backdrop-filter: blur(10px) saturate(.8);
  backdrop-filter: blur(10px) saturate(.8);
}
.product-lightbox-stage {
  position: relative;
  display: grid;
  width: 100%;
  height: 100%;
  place-items: center;
  padding: 34px 76px;
  background: rgba(255, 255, 255, .035);
}
.product-lightbox-figure {
  display: grid;
  max-width: min(800px, calc(100vw - 180px));
  max-height: calc(100dvh - 64px);
  justify-items: center;
  gap: 7px;
  margin: 0;
}
.product-lightbox-figure img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: calc(100dvh - 92px);
  object-fit: contain;
  border-radius: 10px;
  box-shadow: 0 20px 60px rgba(4, 19, 28, .2);
}
.product-lightbox-figure figcaption {
  color: rgba(255, 255, 255, .88);
  font-size: .75rem;
  font-weight: 500;
  text-shadow: 0 1px 4px rgba(0, 0, 0, .5);
}
.product-lightbox-close,
.product-lightbox-nav {
  position: fixed;
  z-index: 2;
  display: grid;
  place-items: center;
  padding: 0;
  color: #fff;
  background: rgba(31, 62, 78, .42);
  border: 0;
  border-radius: 999px;
  box-shadow: 0 8px 24px rgba(5, 24, 34, .14);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}
.product-lightbox-close {
  top: 22px;
  right: 22px;
  min-width: auto;
  min-height: 34px;
  padding: 0 12px;
  font-size: .75rem;
  font-weight: 600;
}
.product-lightbox-nav {
  top: 50%;
  width: 46px;
  height: 46px;
  min-height: 46px;
  transform: translateY(-50%);
}
.product-lightbox-prev { left: clamp(16px, 4.5vw, 72px); }
.product-lightbox-next { right: clamp(16px, 4.5vw, 72px); }
.product-lightbox-nav:hover,
.product-lightbox-close:hover { background: rgba(31, 62, 78, .62); }
.product-lightbox-nav:focus-visible,
.product-lightbox-close:focus-visible { outline-color: rgba(255, 255, 255, .78); }
.lightbox-chevron {
  display: block;
  width: 26px;
  height: 26px;
  margin: 0;
  overflow: visible;
}
.lightbox-chevron-left { transform: translateX(-1px); }
.lightbox-chevron-right { transform: translateX(1px); }
.notification-list,
.table-scroll,
.admin-table-scroll,
.admin-table-wrap,
.seller-product-table-wrap,
.ads-table-wrap,
.member-table-wrap,
.gv19-svg-scroll,
.province-map-scroll {
  scrollbar-color: rgba(2, 133, 195, .5) rgba(225, 235, 240, .65);
  scrollbar-width: thin;
}
.notification-list::-webkit-scrollbar,
.table-scroll::-webkit-scrollbar,
.admin-table-scroll::-webkit-scrollbar,
.admin-table-wrap::-webkit-scrollbar,
.seller-product-table-wrap::-webkit-scrollbar { width: 8px; height: 8px; }
.notification-list::-webkit-scrollbar-track,
.table-scroll::-webkit-scrollbar-track,
.admin-table-scroll::-webkit-scrollbar-track,
.admin-table-wrap::-webkit-scrollbar-track,
.seller-product-table-wrap::-webkit-scrollbar-track { background: rgba(225, 235, 240, .65); border-radius: 999px; }
.notification-list::-webkit-scrollbar-thumb,
.table-scroll::-webkit-scrollbar-thumb,
.admin-table-scroll::-webkit-scrollbar-thumb,
.admin-table-wrap::-webkit-scrollbar-thumb,
.seller-product-table-wrap::-webkit-scrollbar-thumb { background: rgba(2, 133, 195, .5); border: 2px solid transparent; border-radius: 999px; background-clip: padding-box; }

@media (min-width: 768px) {
  .header-main { grid-template-columns: auto minmax(280px, 1fr) auto; gap: 18px; padding-block: 8px; }
  .brand img { width: 72px; height: 39px; }
  .brand span { font-size: 1rem; }
  .category-list { justify-content: space-between; gap: 12px; }
  .hero-grid { padding-block: 54px; }
  .section { padding-block: 52px; }
  .page-shell { padding-block: 28px 60px; }
  .category-heading { padding: 22px; }
  .membership-card { padding: 20px; }
  .business-panel,
  .membership-section { padding: 18px; }
  .product-detail { gap: 30px; }
}

@media (max-width: 767px) {
  body:not(.con-body) { font-size: 13.5px; }
  .header-main { gap: 7px; padding-block: 7px; }
  .brand img { width: 55px; height: 31px; }
  .site-search input { min-height: 40px; }
  .category-list { gap: 15px; padding-inline: 16px; }
  .button { min-height: 40px; padding: 8px 11px; }
  .hero-grid { padding-block: 30px; }
  .hero-copy h1 { font-size: clamp(1.85rem, 9vw, 2.7rem); }
  .hero-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
  .hero-actions .button { width: 100%; padding-inline: 8px; }
  .hero-story { min-height: 250px; padding: 15px; }
  .section { padding-block: 32px; }
  .section-heading { gap: 9px; margin-bottom: 14px; }
  .page-shell { padding-block: 18px 46px; }
  .category-heading { padding: 14px; }
  .product-grid,
  .deal-page .product-grid { gap: 8px; }
  .product-card-body { padding: 8px; }
  .product-card-body h3 { font-size: .82rem; }
  .product-price strong { font-size: .85rem; }
  .purchase-row { padding-block: 8px; }
  .product-reviews-section,
  .checkout-step,
  .summary-card,
  .detail-panel,
  .legal-card,
  .success-card { padding: 14px; }
  .auth-shell { min-height: calc(100vh - 118px); padding: 26px 14px; }
  .auth-card { width: min(460px, calc(100vw - 28px)); padding: 26px 22px; }
  .auth-card h1 { font-size: 1.65rem; }
  .site-footer { padding-block: 25px; }
  .product-lightbox-stage { padding: 42px 48px 28px; }
  .product-lightbox-figure { max-width: calc(100vw - 96px); max-height: calc(100dvh - 70px); }
  .product-lightbox-figure img { max-height: calc(100dvh - 100px); border-radius: 8px; }
  .product-lightbox-nav { width: 42px; height: 42px; min-height: 42px; }
  .product-lightbox-prev { left: 7px; }
  .product-lightbox-next { right: 7px; }
  .product-lightbox-close { top: 10px; right: 10px; }
}

/* Compact full-height console shell and consistent admin controls. */
.con-body {
  --con-side-width: 212px;
  --con-side-mini: 66px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 13px;
}
.con-body h1,
.con-body h2,
.con-body h3 { font-family: inherit; font-weight: 700; }
.province-tile-map text,
.gv19-map .region-title,
.gv19-map text,
.gv19-month-chart text,
.gv19-heatmap text,
.gv19-category-chart text { font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.con-topbar {
  position: sticky;
  top: 0;
  z-index: 65;
  height: 56px;
  margin-left: var(--con-side-width);
  padding: 0 18px;
  color: var(--con-ink);
  background: rgba(255, 255, 255, .97);
  border-bottom: 1px solid var(--con-line);
  box-shadow: none;
  transition: margin-left .2s ease;
  backdrop-filter: blur(12px);
}
.con-shell {
  display: flex;
  min-height: calc(100vh - 56px);
  padding-left: var(--con-side-width);
  transition: padding-left .2s ease;
}
.con-side {
  position: fixed;
  z-index: 70;
  inset: 0 auto 0 0;
  display: flex;
  width: var(--con-side-width);
  height: 100dvh;
  padding: 0 8px 22px;
  overflow-x: visible;
  overflow-y: auto;
  color: var(--con-ink);
  background: var(--con-card);
  border-right: 1px solid var(--con-line);
  transition: width .2s ease, transform .2s ease;
  scrollbar-color: rgba(2, 133, 195, .4) transparent;
  scrollbar-width: thin;
}
.con-side-head {
  position: sticky;
  z-index: 2;
  top: 0;
  display: flex;
  flex: 0 0 56px;
  min-height: 56px;
  align-items: center;
  padding: 0 38px 0 8px;
  background: var(--con-card);
  border-bottom: 1px solid var(--con-line);
}
.con-side-logo {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 8px;
  color: var(--con-ink);
  font-size: 13px;
  font-weight: 700;
}
.con-side-logo img { width: 55px; height: 30px; object-fit: contain; }
.con-side-logo span { min-width: 0; white-space: nowrap; }
.con-side-logo small { display: block; color: var(--con-faint); font-size: 9.5px; font-weight: 500; }
.con-side-toggle {
  position: absolute;
  top: 13px;
  right: 4px;
  display: grid;
  width: 30px;
  height: 30px;
  min-height: 30px;
  place-items: center;
  padding: 0;
  color: var(--con-muted);
  background: rgba(255, 255, 255, .96);
  border: 1px solid var(--con-line);
  border-radius: 50%;
  box-shadow: 0 4px 12px rgba(14, 47, 65, .1);
}
.con-side-toggle svg,
.con-mobile-menu svg,
.con-info-button svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.con-side > a { margin-block: 1px; }
.con-side a {
  min-height: 36px;
  gap: 9px;
  padding: 7px 10px;
  border-radius: 7px;
  font-size: 12.5px;
  font-weight: 550;
}
.con-side a:hover { color: var(--brand-dark); background: #f4f9fc; }
.con-side a.active { color: var(--brand-dark); background: var(--brand-light); font-weight: 650; }
.con-side a.active::before { top: 7px; bottom: 7px; left: -8px; }
.con-group { padding: 12px 10px 5px; font-size: 9.5px; font-weight: 700; }
.con-side-shop { margin: 8px 5px 2px; padding: 8px 9px; border-radius: 7px; }
.con-side-shop strong { font-weight: 650; }
.con-count { padding: 1px 6px; font-size: 10px; font-weight: 650; }
.con-main {
  width: 100%;
  max-width: none;
  padding: 18px 20px 38px;
  overflow: hidden;
}
.con-footer {
  margin-left: var(--con-side-width);
  padding: 10px 16px;
  transition: margin-left .2s ease;
}
.con-side-collapsed .con-topbar,
.con-side-collapsed .con-footer { margin-left: var(--con-side-mini); }
.con-side-collapsed .con-shell { padding-left: var(--con-side-mini); }
.con-side-collapsed .con-side { width: var(--con-side-mini); }
.con-side-collapsed .con-side-logo span,
.con-side-collapsed .con-side-shop,
.con-side-collapsed .con-group,
.con-side-collapsed .con-side > a span,
.con-side-collapsed .con-count {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.con-side-collapsed .con-side-head { justify-content: center; padding-inline: 0; }
.con-side-collapsed .con-side-logo { display: none; }
.con-side-collapsed .con-side-toggle { position: static; }
.con-side-collapsed .con-side > a { justify-content: center; padding-inline: 7px; }
.con-side-collapsed .con-side-toggle svg { transform: rotate(180deg); }
.con-crumb {
  min-width: 0;
  padding-left: 0;
  overflow: hidden;
  color: var(--con-ink);
  border-left: 0;
  font-size: 16px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.con-mobile-menu { display: none; }
.con-top-action {
  min-height: 36px;
  padding: 7px 12px;
  color: #fff;
  background: var(--brand-primary);
  border-radius: 8px;
  font-size: 12px;
  font-weight: 650;
}
.con-info-wrap { position: relative; }
.con-info-button,
.con-topbar .notification-bell {
  display: grid;
  width: 36px;
  height: 36px;
  min-height: 36px;
  place-items: center;
  padding: 0;
  color: var(--con-muted);
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.con-info-button:hover,
.con-topbar .notification-bell:hover { color: var(--brand-primary); background: transparent; }
.con-info-button svg,
.con-topbar .notification-bell svg { width: 23px; height: 23px; }
.con-topbar .notification-bell strong { top: -1px; right: -1px; }
.con-info-popover {
  position: absolute;
  z-index: 90;
  top: 42px;
  right: -42px;
  width: min(320px, calc(100vw - 28px));
  padding: 13px 14px;
  color: var(--con-ink);
  background: #fff;
  border: 1px solid var(--con-line);
  border-radius: 10px;
  box-shadow: 0 14px 38px rgba(12, 48, 66, .15);
}
.con-info-popover[hidden] { display: none; }
.con-info-popover strong { font-size: 12.5px; }
.con-info-popover p { margin: 5px 0 0; color: var(--con-muted); font-size: 11.5px; }
.con-user { padding: 0; background: transparent; border-radius: 0; }
.con-user b { width: 28px; height: 28px; font-weight: 650; }
.con-logout { color: var(--con-muted); }
.con-logout:hover { color: var(--brand-dark); background: transparent; }
.con-side-backdrop[hidden] { display: none; }

.con-main .admin-page,
.con-main .shipper-page,
.con-main .dashboard-content { gap: 12px; }
.con-main .page-heading,
.con-main .admin-page-heading,
.con-main .admin-page-header { min-height: 34px; }
.con-role-admin .con-main > .admin-page-header:has(> h1:only-child),
.con-role-admin .con-main > .admin-page-heading:has(> h1:only-child),
.con-role-admin .con-main .admin-page > .page-heading:has(> h1:only-child),
.con-role-admin .con-main .admin-page > .admin-page-header:has(> h1:only-child),
.con-role-admin .con-main .admin-page > .admin-page-heading:has(> h1:only-child) { display: none; }
.con-main .page-heading h1,
.con-main .admin-page-heading h1,
.con-main .admin-page-header h1 { margin: 0; font-size: 20px; font-weight: 700; }
.con-main .admin-page-actions { min-height: 0; justify-content: flex-end; }
.con-main .page-heading p,
.con-main .admin-page-heading p { margin: 4px 0 0; font-size: 12px; }
.con-main .eyebrow { font-size: 10px; font-weight: 650; }
.con-body .button {
  min-height: 36px;
  padding: 7px 12px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 650;
}
.con-body .button.button-small { min-height: 32px; padding: 6px 10px; font-size: 11.5px; }
.con-body input,
.con-body select,
.con-body textarea {
  min-height: 38px;
  padding: 7px 10px;
  border-radius: 8px;
  font-size: 12.5px;
}
.con-body select {
  padding-right: 34px;
  -webkit-appearance: none;
  appearance: none;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235e7a88' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 15px;
}
.con-body .admin-card,
.con-body .seller-panel,
.con-body .chart-card,
.con-body .stat-card,
.con-body .detail-panel,
.con-body .review-card,
.con-body .sync-list article,
.con-body .seller-product-table-wrap,
.con-body .order-table-wrap,
.con-body .shipper-table-wrap,
.con-body .admin-table-wrap,
.con-body .ledger-table-card,
.con-body .feature-banner,
.con-body .seller-amf-teaser,
.con-body .admin-panel {
  padding: 13px;
  border-radius: 10px;
  box-shadow: 0 1px 3px rgba(2, 63, 90, .045);
}
.con-body .seller-product-table-wrap,
.con-body .order-table-wrap,
.con-body .shipper-table-wrap,
.con-body .admin-table-wrap,
.con-body .ledger-table-card { padding: 0; }
.con-body .stat-card,
.con-body .ledger-summary article,
.con-body .gv22-revenue-cards article,
.con-body .affiliate-stats article {
  min-height: 0;
  padding: 13px;
  border-radius: 10px;
}
.con-body .stat-card::before,
.con-body .ledger-summary article::before,
.con-body .gv22-revenue-cards article::before { display: none; }
.con-body .stat-card > strong,
.con-body .ledger-summary article > strong,
.con-body .gv22-revenue-cards article > strong { margin: 4px 0; font-size: 18px; font-weight: 700; }
.con-body .stat-card > span:first-child,
.con-body .ledger-summary article > span,
.con-body .gv22-revenue-cards article > span { font-size: 11px; }

.con-body .filter-tabs,
.con-body .gv19-tabs,
.con-body .shipper-tabs {
  display: flex;
  max-width: 100%;
  gap: 18px;
  padding: 0;
  overflow-x: auto;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--con-line);
  border-radius: 0;
  box-shadow: none;
  scrollbar-width: none;
}
.con-body .filter-tabs::-webkit-scrollbar,
.con-body .gv19-tabs::-webkit-scrollbar,
.con-body .shipper-tabs::-webkit-scrollbar { display: none; }
.con-body .filter-tabs a,
.con-body .gv19-tabs a,
.con-body .shipper-tabs a {
  position: relative;
  flex: 0 0 auto;
  min-height: 34px;
  padding: 6px 1px 9px;
  color: var(--con-muted);
  background: transparent;
  border: 0;
  border-radius: 0;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}
.con-body .filter-tabs a:hover,
.con-body .gv19-tabs a:hover,
.con-body .shipper-tabs a:hover { color: var(--brand-primary); background: transparent; }
.con-body .filter-tabs a[aria-current="page"],
.con-body .gv19-tabs a[aria-current="page"],
.con-body .shipper-tabs a[aria-current="page"] {
  color: var(--brand-dark);
  background: transparent;
  box-shadow: inset 0 -2px var(--brand-primary);
}
.gv19-toolbar {
  display: flex;
  min-width: 0;
  align-items: end;
  gap: 16px;
  border-bottom: 1px solid var(--con-line);
}
.gv19-toolbar .gv19-tabs { flex: 1; border-bottom: 0; }
.gv19-toolbar .gv19-period-form { flex: 0 0 auto; margin: 0 0 5px; }
.gv19-toolbar .gv19-period-form label { display: flex; align-items: center; gap: 8px; font-size: 11px; }
.gv19-toolbar .gv19-period-form select { min-width: 105px; }

.con-body .admin-filter-bar,
.con-body .admin-filters,
.con-body .category-create-card,
.con-body .ledger-filters,
.con-body .seller-product-search,
.con-body .ad-admin-filter,
.con-body .filter-form {
  gap: 9px;
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.con-body .admin-filter-bar,
.con-body .category-create-card { display: flex; align-items: end; }
.con-body .admin-filter-bar > input,
.con-body .admin-filter-bar > select { min-width: 160px; }
.con-body .admin-filter-bar > input { flex: 1 1 220px; }
.con-body .admin-filter-bar > select { flex: 1 1 180px; }
.con-body .admin-filters { display: grid; grid-template-columns: repeat(2, minmax(180px, 1fr)) auto; align-items: end; }
.con-body .admin-filters label,
.con-body .category-create-card label,
.con-body .ledger-filters label { display: grid; gap: 4px; color: var(--con-muted); font-size: 11px; font-weight: 600; }
.con-body .category-create-card[hidden] { display: none; }
.con-body .ad-admin-filter.admin-card { padding: 0; background: transparent; border: 0; box-shadow: none; }
.con-main > .admin-page-header { margin-bottom: 12px; }
.con-main > .admin-filter-bar,
.con-main > .category-create-card { margin-bottom: 10px; }

.con-body table { font-size: 12.5px; }
.con-body th { padding: 9px 10px; font-size: 10.5px; font-weight: 650; }
.con-body td { padding: 9px 10px; }
.con-body tbody tr:hover td { background: #f7fbfd; }
.con-body .admin-table-wrap,
.con-body .order-table-wrap,
.con-body .seller-product-table-wrap,
.con-body .table-scroll,
.con-body .admin-table-scroll,
.con-body .ledger-table-wrap,
.con-body .ads-table-wrap {
  scrollbar-color: rgba(2, 133, 195, .45) rgba(225, 235, 240, .55);
  scrollbar-width: thin;
}
.con-body .admin-product-identity { display: flex; min-width: 230px; align-items: center; gap: 10px; }
.con-body .admin-product-identity img { width: 46px; height: 46px; flex: 0 0 46px; object-fit: cover; border-radius: 7px; }
.con-body .admin-amf-table { min-width: 940px; }
.con-body .admin-amf-table th:nth-child(3),
.con-body .admin-amf-table td:nth-child(3) { white-space: nowrap; }

[data-admin-pagination-host]:empty { display: none; }
.admin-pagination-bar {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) auto minmax(180px, 1fr);
  align-items: center;
  min-height: 48px;
  padding: 7px 10px;
  background: #fff;
  border: 1px solid var(--con-line);
  border-top: 0;
  border-radius: 0 0 10px 10px;
}
.admin-pagination-summary { color: var(--con-muted); font-size: 11px; }
.admin-pagination {
  display: flex;
  justify-content: center;
  gap: 0;
}
.admin-pagination button,
.admin-pagination-ellipsis {
  display: grid;
  width: 32px;
  height: 32px;
  min-height: 32px;
  place-items: center;
  padding: 0;
  color: var(--con-muted);
  background: #fff;
  border: 1px solid var(--con-line);
  border-right: 0;
  border-radius: 0;
  font-size: 11px;
  font-weight: 600;
}
.admin-pagination > :first-child { border-radius: 7px 0 0 7px; }
.admin-pagination > :last-child { border-right: 1px solid var(--con-line); border-radius: 0 7px 7px 0; }
.admin-pagination button[aria-current="page"] { color: #fff; background: var(--brand-primary); border-color: var(--brand-primary); }
.admin-pagination button:disabled { color: #b7c5cc; background: #f6f8f9; cursor: default; }
.admin-pagination-ellipsis { color: var(--con-faint); }
.admin-page-size { display: flex; align-items: center; justify-content: flex-end; gap: 6px; color: var(--con-muted); font-size: 11px; }
.admin-page-size select { width: 108px; min-height: 32px; padding-block: 5px; font-size: 11px; }
[data-admin-paginate]:not([data-pagination-ready]) tbody > tr:nth-child(n+21) { display: none; }
[data-admin-paginate] { border-radius: 10px 10px 0 0 !important; }
[data-admin-paginate][aria-busy="true"] { opacity: .68; }
.con-body .admin-card:not(.ads-campaign-panel):has(> [data-admin-paginate]) { padding: 0; overflow: hidden; }
.con-body .admin-card:has(> [data-admin-paginate]) .admin-pagination-bar { border: 0; border-top: 1px solid var(--con-line); }
.con-body .ads-campaign-panel > [data-admin-paginate] { margin-top: 10px; }
.con-body .admin-top-page { gap: 0; }
.con-body .admin-top-page > .admin-page-heading { margin-bottom: 12px; }
.con-body .admin-top-page > .filter-tabs + .admin-card {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

@media (max-width: 1023px) and (min-width: 768px) {
  .con-body { --con-side-width: 194px; }
  .con-main { padding-inline: 16px; }
  .con-user span { display: none; }
}

@media (max-width: 1023px) {
  .con-body small,
  .con-body .badge,
  .con-body .status-pill,
  .con-body .product-origin,
  .con-body .shop-name,
  .con-body .sync-tag { font-size: 11px !important; }
  .con-body .eyebrow,
  .con-body .simulation-label { font-size: 10px !important; }
}

@media (max-width: 767px) {
  .con-body { --con-side-width: 0px; font-size: 13px; }
  .con-topbar {
    position: sticky;
    height: 54px;
    margin-left: 0 !important;
    gap: 7px;
    padding: 0 10px;
  }
  .con-shell { display: block; min-height: calc(100vh - 54px); padding-left: 0 !important; }
  .con-footer { margin-left: 0 !important; }
  .con-mobile-menu {
    display: grid;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    min-height: 36px;
    place-items: center;
    padding: 0;
    color: var(--con-ink);
    background: transparent;
    border: 0;
  }
  .con-crumb { display: block; max-width: min(42vw, 240px); font-size: 14px; }
  .con-top-action { min-height: 34px; padding-inline: 9px; white-space: nowrap; }
  .con-user,
  .con-logout { display: none; }
  .con-info-button,
  .con-topbar .notification-bell { width: 34px; height: 34px; min-height: 34px; }
  .con-info-popover { position: fixed; top: 58px; right: 8px; left: 8px; width: auto; }
  .con-side {
    position: fixed;
    z-index: 85;
    inset: 0 auto 0 0;
    display: flex;
    width: min(278px, 86vw) !important;
    height: 100dvh;
    max-height: none;
    flex-direction: column;
    gap: 1px;
    padding: 0 9px 24px;
    overflow-x: hidden;
    overflow-y: auto;
    border-right: 1px solid var(--con-line);
    border-bottom: 0;
    box-shadow: 14px 0 42px rgba(9, 36, 50, .2);
    transform: translateX(-105%);
  }
  .con-side.is-open { transform: translateX(0); }
  .con-side-head { display: flex; }
  .con-side-logo span,
  .con-side-shop,
  .con-group,
  .con-side > a span,
  .con-count {
    position: static !important;
    width: auto !important;
    height: auto !important;
    padding: 0;
    margin: 0;
    overflow: visible !important;
    clip: auto !important;
    white-space: normal;
  }
  .con-side .con-group { display: block; padding: 12px 10px 5px; }
  .con-side .con-side-shop { display: grid; margin: 8px 5px 2px; padding: 8px 9px; }
  .con-side .con-count { margin-left: auto !important; padding: 1px 6px !important; }
  .con-side > a { justify-content: flex-start !important; min-height: 38px; padding: 8px 10px !important; white-space: nowrap; }
  .con-side a.active::before { top: 7px; right: auto; bottom: 7px; left: -9px; width: 3px; height: auto; }
  .con-side-toggle { right: 5px; box-shadow: none; }
  .con-side-collapsed .con-side-toggle svg { transform: none; }
  .con-side-backdrop {
    position: fixed;
    z-index: 80;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    background: rgba(8, 30, 42, .42);
    border: 0;
  }
  .con-side-open { overflow: hidden; }
  .con-main { width: 100%; padding: 14px 10px 32px; overflow: hidden; }
  .con-main .admin-page,
  .con-main .shipper-page,
  .con-main .dashboard-content { gap: 10px; }
  .con-main .page-heading h1,
  .con-main .admin-page-heading h1,
  .con-main .admin-page-header h1 { font-size: 18px; }
  .con-body .admin-card,
  .con-body .seller-panel,
  .con-body .chart-card,
  .con-body .detail-panel,
  .con-body .review-card,
  .con-body .admin-panel { padding: 11px; }
  .con-body .stat-grid,
  .con-body .admin-stat-grid,
  .con-body .ledger-summary,
  .con-body .gv22-revenue-cards,
  .con-body .affiliate-stats,
  .con-body .gv20-ad-stats { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 8px; }
  .con-body .stat-card,
  .con-body .ledger-summary article,
  .con-body .gv22-revenue-cards article,
  .con-body .affiliate-stats article { min-height: 88px; padding: 11px; }
  .con-body .stat-card > strong,
  .con-body .ledger-summary article > strong,
  .con-body .gv22-revenue-cards article > strong { font-size: 15px; overflow-wrap: anywhere; }
  .gv19-toolbar { align-items: stretch; flex-direction: column-reverse; gap: 5px; }
  .gv19-toolbar .gv19-period-form { align-self: flex-end; margin: 0; }
  .con-body .admin-filter-bar,
  .con-body .category-create-card { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: end; }
  .con-body .admin-filter-bar > *,
  .con-body .category-create-card > * { width: 100%; min-width: 0; }
  .con-body .admin-filter-bar > .button,
  .con-body .category-create-card > .button { grid-column: 1 / -1; }
  .con-body .admin-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .con-body .admin-filters .button { grid-column: 1 / -1; width: 100%; }
  .admin-pagination-bar {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 6px 8px;
    min-height: 0;
    padding: 8px;
  }
  .admin-pagination-summary { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .admin-page-size { grid-column: 2; grid-row: 1; }
  .admin-page-size select { width: 100px; }
  .admin-pagination { grid-column: 1 / -1; justify-content: flex-start; max-width: 100%; overflow-x: auto; padding-bottom: 2px; }
  .admin-pagination button,
  .admin-pagination-ellipsis { flex: 0 0 31px; width: 31px; height: 31px; min-height: 31px; }
  .con-body .admin-amf-table { min-width: 820px; }
}

/* GV-29: dense commerce layout for phones/tablets and analytics alignment. */
.form-field {
  display: grid;
  gap: 6px;
}

.con-body .gv19-stat-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.con-body .gv19-stat-grid .stat-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  align-content: start;
  align-items: center;
  gap: 5px 7px;
}
.con-body .gv19-stat-grid .stat-card > span:first-child {
  grid-column: 1;
  grid-row: 1;
  min-height: 0;
  line-height: 1.2;
}
.con-body .gv19-stat-grid .stat-card > strong {
  grid-column: 1 / -1;
  grid-row: 2;
  margin: 0;
  line-height: 1.15;
}
.con-body .gv19-stat-grid .stat-change {
  display: inline-flex;
  grid-column: 2;
  grid-row: 1;
  align-items: center;
  gap: 3px;
  margin: 0;
  font-size: 10px;
  line-height: 1.2;
  white-space: nowrap;
}
.con-body .gv19-stat-grid .stat-change b { padding: 1px 4px; }
.con-body .line-chart svg { width: 100%; max-height: none; }

@media (min-width: 768px) {
  .con-side-toggle {
    position: fixed;
    top: 13px;
    right: auto;
    left: calc(var(--con-side-width) - 15px);
  }
  .con-side-collapsed .con-side-toggle {
    position: fixed;
    left: calc(var(--con-side-mini) - 15px);
  }
}

@media (min-width: 768px) and (max-width: 1279px) {
  .con-body .gv19-stat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 768px) and (max-width: 1023px) {
  body:not(.con-body) { font-size: 14px; }
  body:not(.con-body) .container { width: min(100% - 32px, var(--container)); }
  body:not(.con-body) .header-main {
    grid-template-columns: 60px minmax(220px, 1fr) auto;
    gap: 10px;
    padding-block: 7px;
  }
  body:not(.con-body) .brand span,
  body:not(.con-body) .action-label,
  body:not(.con-body) .account-label { display: none; }
  body:not(.con-body) .brand img { width: 60px; height: 34px; }
  body:not(.con-body) .site-search button { min-width: 46px; }
  body:not(.con-body) .header-actions { gap: 2px; }
  body:not(.con-body) .cart-link,
  body:not(.con-body) .account-link { min-height: 38px; padding: 4px 5px; }
  body:not(.con-body) .page-shell { padding-block: 18px 50px; }
  body:not(.con-body) .breadcrumbs { margin-bottom: 12px; font-size: .75rem; }
  body:not(.con-body) .category-heading { gap: 10px; padding: 16px; }
  body:not(.con-body) .category-heading h1 { margin-bottom: 4px; font-size: 1.65rem; }
  body:not(.con-body) .category-heading p { font-size: .8rem; }
  body:not(.con-body) .product-card-body { padding: 9px; }
  .con-body .gv19-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .con-main { padding: 14px 12px 34px; }
}

@media (max-width: 767px) {
  body:not(.con-body) .container { width: min(100% - 20px, var(--container)); }
  body:not(.con-body) .header-main {
    grid-template-columns: 48px minmax(0, 1fr) auto;
    gap: 5px;
    padding-block: 6px;
  }
  body:not(.con-body) .brand { width: 48px; min-width: 48px; }
  body:not(.con-body) .brand span { display: none; }
  body:not(.con-body) .brand img { width: 48px; height: 28px; }
  body:not(.con-body) .site-search { grid-column: auto; min-width: 0; }
  body:not(.con-body) .site-search input {
    min-width: 0;
    min-height: 36px;
    padding: 6px 8px;
    font-size: .76rem;
  }
  body:not(.con-body) .site-search button { min-width: 38px; min-height: 36px; }
  body:not(.con-body) .header-search-icon { width: 19px; height: 19px; }
  body:not(.con-body) .header-actions { min-width: 0; gap: 1px; }
  body:not(.con-body) .cart-link,
  body:not(.con-body) .account-link {
    min-width: 30px;
    min-height: 34px;
    gap: 3px;
    padding: 2px;
  }
  body:not(.con-body) .header-action-icon { width: 20px; height: 20px; }
  body:not(.con-body) .cart-link strong { width: 16px; height: 16px; font-size: .58rem; }
  body:not(.con-body) .header-tier-badge { padding: 3px 5px; font-size: .58rem; }
  body:not(.con-body) .notification-bell { width: 32px; height: 32px; min-height: 32px; }

  body:not(.con-body) .page-shell { padding-block: 10px 40px; }
  body:not(.con-body) .breadcrumbs {
    flex-wrap: nowrap;
    gap: 5px;
    margin-bottom: 9px;
    padding-block: 2px;
    overflow-x: auto;
    font-size: .7rem;
    line-height: 1.3;
    white-space: nowrap;
    scrollbar-width: none;
  }
  body:not(.con-body) .breadcrumbs::-webkit-scrollbar { display: none; }
  body:not(.con-body) .page-heading.category-heading {
    gap: 7px;
    margin-bottom: 10px;
    padding: 10px 11px;
    border-radius: 12px;
  }
  body:not(.con-body) .category-heading .eyebrow { font-size: .6rem !important; }
  body:not(.con-body) .category-heading h1 { margin: 2px 0 3px; font-size: 1.35rem; }
  body:not(.con-body) .category-heading p { font-size: .72rem; line-height: 1.35; }
  body:not(.con-body) .sort-form { gap: 6px; }
  body:not(.con-body) .sort-form label { font-size: .7rem; }
  body:not(.con-body) .sort-form select { min-height: 34px; padding-block: 5px; font-size: .72rem; }

  body:not(.con-body) .product-card-body { padding: 7px; }
  body:not(.con-body) .product-card-body h3 { margin-block: 5px; font-size: .78rem; }
  body:not(.con-body) .product-badges { top: 5px; left: 5px; gap: 3px; }
  body:not(.con-body) .product-card .badge {
    min-height: 18px;
    padding: 2px 5px;
    font-size: .58rem !important;
    font-weight: 600;
  }
  body:not(.con-body) .discount-badge {
    top: 5px;
    right: 5px;
    padding: 2px 5px;
    font-size: .62rem !important;
    border-radius: 6px;
  }
  body:not(.con-body) .detail-badges { gap: 4px; }
  body:not(.con-body) .detail-badges .badge { min-height: 19px; padding: 2px 6px; font-size: .6rem !important; }

  body:not(.con-body) .form-field { gap: 4px; }
  body:not(.con-body) .form-field > label { line-height: 1.3; }
  body:not(.con-body) .purchase-row {
    gap: 7px;
    margin-inline: -10px;
    padding: 7px 10px;
  }
  body:not(.con-body) .purchase-row .quantity-control {
    display: flex;
    grid-column: 1 / -1;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    font-size: .72rem;
  }
  body:not(.con-body) .quantity-box { grid-template-columns: 34px 42px 34px; border-radius: 8px; }
  body:not(.con-body) .quantity-box button { min-height: 34px; font-size: 1rem; }
  body:not(.con-body) .quantity-box input { width: 42px; min-height: 34px; padding: 0 3px; font-size: .75rem; }
  body:not(.con-body) .purchase-row .button { min-height: 38px; padding-block: 6px; font-size: .75rem; }

  .con-body .gv19-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 8px;
  }
  .con-body .gv19-toolbar .gv19-tabs { grid-column: 1; min-width: 0; }
  .con-body .gv19-toolbar .gv19-period-form {
    grid-column: 2;
    align-self: end;
    margin: 0 0 3px;
  }
  .con-body .gv19-toolbar .gv19-period-form label { display: grid; gap: 2px; font-size: 9px; }
  .con-body .gv19-toolbar .gv19-period-form select { min-width: 82px; min-height: 31px; padding-block: 4px; font-size: 10.5px; }
  .con-body .gv19-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .con-body .gv19-stat-grid .stat-card { min-height: 68px; padding: 9px; gap: 4px 5px; }
  .con-body .gv19-stat-grid .stat-card > span:first-child { font-size: 9px; }
  .con-body .gv19-stat-grid .stat-card > strong { font-size: 14px; }
  .con-body .gv19-stat-grid .stat-change { font-size: 9px; }
  .con-body .gv19-stat-grid .stat-change small { display: none; }
  .con-body .chart-card { padding: 9px; }
  .con-body .chart-card figcaption { margin-bottom: 7px; }
  .con-body .line-chart svg { max-height: none; }
  .con-side-toggle {
    position: absolute;
    top: 13px;
    right: 5px;
    left: auto;
  }
}

/* GV-30: shared admin rhythm, contextual topbar actions and compact cart. */
.con-page-actions {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 6px;
}
.con-page-actions:empty { display: none; }
.con-top-period { margin: 0; }
.con-top-period select {
  width: auto;
  min-width: 96px;
  min-height: 34px;
  padding: 5px 31px 5px 9px;
  font-size: 11px;
}
.con-top-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}

.con-body .stat-grid,
.con-body .ledger-summary,
.con-body .affiliate-stats {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
}
.con-body .gv20-ad-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.con-body .gv22-revenue-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.con-body .cod-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.con-body .stat-card,
.con-body .ledger-summary article,
.con-body .gv22-revenue-cards article,
.con-body .affiliate-stats article {
  min-height: 74px;
  padding: 11px 12px;
}
.con-body .stat-card > span:first-child,
.con-body .ledger-summary article > span,
.con-body .gv22-revenue-cards article > span,
.con-body .affiliate-stats article > span {
  min-height: 0;
  line-height: 1.25;
}
.con-body .stat-card > strong,
.con-body .ledger-summary article > strong,
.con-body .gv22-revenue-cards article > strong,
.con-body .affiliate-stats article > strong {
  margin: 5px 0 2px;
  font-size: 17px;
  line-height: 1.15;
}
.con-body .stat-card > p,
.con-body .stat-card > small,
.con-body .ledger-summary article > small,
.con-body .gv22-revenue-cards article > small,
.con-body .affiliate-stats article > small { margin: 0; line-height: 1.3; }

.con-body .gv23-admin-affiliates > .admin-card:first-of-type {
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.con-body .gv23-admin-affiliates > .admin-card:first-of-type .filter-form {
  display: flex;
  align-items: end;
  margin-bottom: 10px;
}
.con-body .gv23-admin-affiliates > .admin-card:first-of-type .stat-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.con-body table td { vertical-align: middle; }
.con-body .ledger-table-wrap td:nth-child(3) {
  display: table-cell;
  white-space: nowrap;
}
.con-body .ledger-table-wrap td:nth-child(3) b {
  display: inline-block;
  margin-inline: 6px;
}
.con-body .ledger-table-wrap th,
.con-body .ledger-table-wrap td { padding-block: 10px; }
.con-body .ledger-filters { grid-template-columns: repeat(3, minmax(0, 1fr)) auto; }

.admin-order-detail-page { gap: 10px !important; }
.admin-order-detail-page .order-heading {
  margin: 0;
  padding: 0;
}
.admin-order-detail-page .order-heading h1 { font-size: 21px; }
.admin-order-detail-page .order-heading .eyebrow { margin-bottom: 3px; }
.admin-order-detail-page .order-detail-grid { gap: 12px; }
.admin-order-detail-page .order-detail-grid > div,
.admin-order-detail-page .order-detail-grid > aside { display: grid; gap: 10px; }
.admin-order-detail-page .detail-panel { padding: 12px; }
.admin-order-detail-page .detail-panel h2 { margin-bottom: 10px; font-size: 15px; }
.cancel-audit-note {
  display: block;
  margin: -3px 0 9px;
  color: var(--con-muted);
  font-size: 10.5px;
  line-height: 1.35;
}

@media (min-width: 768px) {
  .con-side-toggle {
    top: 12px;
    left: calc(var(--con-side-width) - 16px);
  }
  .con-side-toggle svg { transform: translateX(-.5px); }
  .con-side-collapsed .con-side-toggle { left: calc(var(--con-side-mini) - 16px); }
  .con-side-collapsed .con-side-toggle svg { transform: rotate(180deg) translateX(-.5px); }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .con-body .stat-grid,
  .con-body .ledger-summary,
  .con-body .affiliate-stats { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
  .con-body .gv23-admin-affiliates > .admin-card:first-of-type .stat-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .con-body .gv20-ad-stats,
  .con-body .gv22-revenue-cards,
  .con-body .cod-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .con-body .ledger-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .con-body .ledger-filters .button { grid-column: 1 / -1; }
}

@media (max-width: 767px) {
  body:not(.con-body) .hero-facts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5px;
    margin-top: 15px;
  }
  body:not(.con-body) .hero-facts li { padding: 7px 5px; border-radius: 8px; }
  body:not(.con-body) .hero-facts strong { font-size: 1rem; line-height: 1.15; }
  body:not(.con-body) .hero-facts span { font-size: .58rem; line-height: 1.25; }
  body:not(.con-body) .header-actions > .link-button { display: none; }

  body:not(.con-body) .cart-group > header,
  body:not(.con-body) .cart-group > footer { padding: 9px 10px; }
  body:not(.con-body) .cart-item {
    grid-template-areas:
      "image info delete"
      "image quantity total";
    grid-template-columns: 62px minmax(0, 1fr) auto;
    gap: 7px 9px;
    align-items: center;
    padding: 10px;
  }
  body:not(.con-body) .cart-item img {
    grid-area: image;
    width: 62px;
    height: 54px;
    align-self: start;
  }
  body:not(.con-body) .cart-item-info { grid-area: info; min-width: 0; }
  body:not(.con-body) .cart-item-info h2 { margin: 0 0 3px; font-size: .84rem; }
  body:not(.con-body) .cart-item-info strong { font-size: .72rem; }
  body:not(.con-body) .compact-quantity {
    display: flex;
    grid-area: quantity;
    align-items: center;
    gap: 5px;
    font-size: .62rem;
  }
  body:not(.con-body) .compact-quantity input {
    width: 44px;
    min-height: 31px;
    padding: 3px 5px;
    font-size: .7rem;
  }
  body:not(.con-body) .cart-line-total {
    grid-area: total;
    justify-self: end;
    font-size: .78rem;
    white-space: nowrap;
  }
  body:not(.con-body) .cart-item .link-button {
    grid-area: delete;
    width: auto;
    min-width: 0;
    min-height: 28px;
    justify-self: end;
    padding: 3px 0 3px 8px;
    font-size: .68rem;
  }
  body:not(.con-body) .summary-card { padding: 13px; }
  body:not(.con-body) .summary-card h2 { margin-bottom: 11px; font-size: 1.05rem; }
  body:not(.con-body) .summary-card > div { margin-block: 7px; font-size: .75rem; }
  body:not(.con-body) .summary-card .summary-total { margin-block: 12px; }

  .con-page-actions { gap: 4px; }
  .con-top-period select { min-width: 80px; min-height: 32px; padding: 4px 27px 4px 7px; font-size: 10px; }
  .con-page-actions .con-top-action { min-height: 32px; padding-inline: 7px; font-size: 10px; }
  .con-body .stat-grid,
  .con-body .ledger-summary,
  .con-body .affiliate-stats,
  .con-body .gv20-ad-stats,
  .con-body .gv22-revenue-cards,
  .con-body .cod-stats { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .con-body .gv23-admin-affiliates > .admin-card:first-of-type .stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .con-body .gv23-admin-affiliates > .admin-card:first-of-type .filter-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .con-body .gv23-admin-affiliates > .admin-card:first-of-type .filter-form .button {
    grid-column: 1 / -1;
    width: 100%;
  }
  .con-body .stat-card,
  .con-body .ledger-summary article,
  .con-body .gv22-revenue-cards article,
  .con-body .affiliate-stats article { min-height: 66px; padding: 9px; }
  .con-body .ledger-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .con-body .ledger-filters .button { grid-column: 1 / -1; width: 100%; }
  .con-topbar:has(.con-page-actions:not(:empty)) {
    gap: 4px;
    padding-inline: 6px;
  }
  .con-topbar:has(.con-page-actions:not(:empty)) .con-mobile-menu {
    width: 32px;
    min-width: 32px;
    height: 32px;
    min-height: 32px;
  }
  .con-topbar:has(.con-page-actions:not(:empty)) .con-crumb {
    max-width: min(27vw, 110px);
    font-size: 12px;
  }
  .con-topbar:has(.con-page-actions:not(:empty)) .con-info-button,
  .con-topbar:has(.con-page-actions:not(:empty)) .notification-bell {
    width: 30px;
    min-width: 30px;
    height: 30px;
    min-height: 30px;
  }
}

@media (max-width: 420px) {
  .con-body .ledger-filters { grid-template-columns: 1fr; }
  .con-body .ledger-filters .button { grid-column: 1; }
}

/* GV-31: contextual console information and precisely aligned compact actions. */
.notification-bell,
.con-topbar .notification-bell {
  width: 32px;
  height: 36px;
  min-height: 36px;
  padding: 0;
  color: #1dabff;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0;
  box-shadow: none !important;
}
.notification-bell:hover,
.notification-bell:focus-visible,
.con-topbar .notification-bell:hover,
.con-topbar .notification-bell:focus-visible { background: transparent !important; }
.notification-bell svg,
.con-topbar .notification-bell svg {
  width: 26px;
  height: 26px;
  fill: none;
  stroke: none;
}
.notification-bell strong,
.con-topbar .notification-bell strong { top: -1px; right: -3px; }

.con-info-popover { width: min(390px, calc(100vw - 28px)); }
.con-info-checks {
  display: grid;
  gap: 8px;
  margin-top: 11px;
  padding-top: 10px;
  border-top: 1px solid var(--con-line);
}
.con-info-checks > div {
  display: grid;
  gap: 2px;
  padding-left: 9px;
  border-left: 3px solid var(--con-good);
}
.con-info-checks > div.is-error { border-left-color: var(--con-warn); }
.con-info-checks strong { color: var(--con-ink); font-size: 11.5px; }
.con-info-checks span { color: var(--con-muted); font-size: 10.5px; line-height: 1.35; }

.gv19-toolbar { align-items: center; }
.gv19-toolbar .gv19-tabs { min-width: 0; }
.gv19-toolbar .gv19-export {
  position: relative;
  z-index: 8;
  flex: 0 0 auto;
  align-self: stretch;
  margin-left: auto;
  padding: 0;
}
.gv19-toolbar .gv19-export summary {
  display: flex;
  min-height: 100%;
  align-items: center;
  padding: 0 2px 0 10px;
  color: var(--brand-dark);
  cursor: pointer;
  font-size: 11.5px;
  font-weight: 650;
  list-style: none;
  white-space: nowrap;
}
.gv19-toolbar .gv19-export summary::-webkit-details-marker { display: none; }
.gv19-toolbar .gv19-export summary::before {
  margin-right: 5px;
  content: "↓";
  color: var(--brand-primary);
  font-size: 13px;
}
.gv19-toolbar .gv19-export[open] summary { color: var(--brand-primary); }
.gv19-toolbar .gv19-export > div {
  position: absolute;
  top: calc(100% + 7px);
  right: 0;
  display: grid;
  width: 210px;
  gap: 2px;
  margin: 0;
  padding: 7px;
  background: #fff;
  border: 1px solid var(--con-line);
  border-radius: 9px;
  box-shadow: 0 14px 34px rgba(12, 48, 66, .15);
}
.gv19-toolbar .gv19-export > div a {
  padding: 7px 9px;
  color: var(--con-ink);
  background: transparent;
  border-radius: 6px;
  font-size: 11.5px;
  font-weight: 600;
}
.gv19-toolbar .gv19-export > div a:hover { color: var(--brand-primary); background: var(--con-bg); }

@media (min-width: 768px) {
  .con-side-toggle {
    position: fixed;
    top: 12px;
    right: auto;
    left: var(--con-side-width);
    width: 32px;
    height: 32px;
    min-height: 32px;
    transform: translateX(-50%);
  }
  .con-side-toggle svg { transform: none; }
  .con-side-collapsed .con-side-toggle {
    position: fixed;
    left: var(--con-side-mini);
    transform: translateX(-50%);
  }
  .con-side-collapsed .con-side-toggle svg { transform: rotate(180deg); }
}

@media (max-width: 767px) {
  .gv19-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 4px;
  }
  .gv19-toolbar .gv19-tabs { grid-column: 1; }
  .gv19-toolbar .gv19-export { grid-column: 2; }
  .gv19-toolbar .gv19-export summary { min-height: 34px; padding-left: 6px; font-size: 10px; }
  .gv19-toolbar .gv19-export > div { position: fixed; top: 104px; right: 8px; width: min(220px, calc(100vw - 16px)); }
}

/* GV-32: compact header icons and notification-style cart count. */
.con-info-button svg {
  width: 26px;
  height: 26px;
  fill: none;
  stroke: none;
}
.cart-link {
  position: relative;
  width: 34px;
  min-width: 34px;
  height: 36px;
  min-height: 36px;
  padding: 0;
  overflow: visible;
  background: transparent !important;
  border-radius: 0;
}
.cart-link .header-cart-icon { width: 25px; height: 25px; }
.cart-link strong,
body:not(.con-body) .cart-link strong {
  position: absolute;
  top: -1px;
  right: -5px;
  display: grid;
  width: auto;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  place-items: center;
  color: #fff;
  background: #d94235;
  border: 2px solid #fff;
  border-radius: 999px;
  font-size: 9px;
  font-weight: 700;
  line-height: 1;
}
.header-logout {
  display: grid;
  width: 34px !important;
  min-width: 34px;
  height: 36px;
  min-height: 36px;
  place-items: center;
  padding: 0 !important;
  background: transparent !important;
  border: 0;
}
.header-actions > .header-logout::before { display: none; content: none; }
.header-logout svg,
.con-logout svg { display: block; width: 26px; height: 26px; }
.con-logout {
  width: 34px;
  min-width: 34px;
  height: 36px;
  min-height: 36px;
  place-items: center;
  padding: 0;
  background: transparent !important;
  border: 0;
  border-radius: 0;
}

@media (min-width: 768px) {
  .con-logout { display: grid; }
}

@media (max-width: 767px) {
  body:not(.con-body) .header-actions > .header-logout { display: none; }
  body:not(.con-body) .cart-link { width: 31px; min-width: 31px; height: 34px; min-height: 34px; padding: 0; }
  body:not(.con-body) .cart-link .header-cart-icon { width: 23px; height: 23px; }
  body:not(.con-body) .cart-link strong { top: -2px; right: -4px; min-width: 17px; height: 17px; padding-inline: 3px; font-size: 8px; }
}

/* GV-33: information count and requested sidebar toggle offset. */
.con-info-button { position: relative; overflow: visible; }
.con-info-button .con-info-badge {
  position: absolute;
  top: -3px;
  right: -4px;
  display: grid;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  place-items: center;
  color: #6b5100;
  background: #f4cf24;
  border: 2px solid #fff;
  border-radius: 999px;
  font-size: 9px;
  font-weight: 750;
  line-height: 1;
}

@media (min-width: 768px) {
  .con-side-toggle { top: 38px; }
}

/* GV-34: black primary typography; gray is reserved for supporting copy. */
:root {
  --ink: #111111;
  --ink-soft: #5f6368;
  --con-ink: #111111;
  --con-muted: #343434;
  --con-faint: #6b7280;
}
body:not(.con-body),
.con-body { color: #111111; }
body:not(.con-body) h1,
body:not(.con-body) h2,
body:not(.con-body) h3,
body:not(.con-body) h4,
body:not(.con-body) label,
body:not(.con-body) dt,
body:not(.con-body) td,
.con-body h1,
.con-body h2,
.con-body h3,
.con-body h4,
.con-body label,
.con-body dt,
.con-body td { color: #111111; }
.con-body th { color: #343434; }
body:not(.con-body) small,
body:not(.con-body) .product-origin,
body:not(.con-body) .breadcrumbs,
.con-body small,
.con-body .eyebrow,
.con-body .admin-pagination-summary { color: #5f6368; }

/* GV-36: final alignment, compact metrics and contextual contrast audit. */
body:not(.con-body) .hero,
body:not(.con-body) .hero h1,
body:not(.con-body) .hero h2,
body:not(.con-body) .hero h3,
body:not(.con-body) .hero h4,
body:not(.con-body) .hero label { color: #fff; }
body:not(.con-body) .hero .eyebrow { color: #bfeeff; }
body:not(.con-body) .hero-copy > p { color: #e1f6ff; }
body:not(.con-body) .shop-hero,
body:not(.con-body) .shop-hero h1,
body:not(.con-body) .shop-hero h2,
body:not(.con-body) .shop-hero h3,
body:not(.con-body) .shop-hero h4,
body:not(.con-body) .shop-hero label,
body:not(.con-body) .transition-panel,
body:not(.con-body) .transition-panel h1,
body:not(.con-body) .transition-panel h2,
body:not(.con-body) .transition-panel h3,
body:not(.con-body) .transition-panel h4,
body:not(.con-body) .dashboard-nav,
body:not(.con-body) .dashboard-nav h1,
body:not(.con-body) .dashboard-nav h2,
body:not(.con-body) .dashboard-nav h3,
body:not(.con-body) .dashboard-nav h4,
body:not(.con-body) .membership-card,
body:not(.con-body) .membership-card h1,
body:not(.con-body) .membership-card h2,
body:not(.con-body) .membership-card h3,
body:not(.con-body) .membership-card h4 { color: #fff; }
body:not(.con-body) .site-footer,
body:not(.con-body) .site-footer h1,
body:not(.con-body) .site-footer h2,
body:not(.con-body) .site-footer h3,
body:not(.con-body) .site-footer h4,
body:not(.con-body) .site-footer label { color: #fff; }
body:not(.con-body) .site-footer p { color: #aac7d6; }
body:not(.con-body) .site-footer nav a,
body:not(.con-body) .site-footer > .footer-grid > div:last-child a { color: #bdd3de; }
body:not(.con-body) .site-footer a:hover { color: #fff; }

body:not(.con-body) .section-heading > .text-link {
  min-height: 34px;
  padding: 6px 11px;
  color: var(--brand-dark);
  background: rgba(255, 255, 255, .72);
  border: 1px solid rgba(2, 133, 195, .24);
  border-radius: 999px;
  font-size: .76rem;
  font-weight: 650;
  line-height: 1;
  white-space: nowrap;
}
body:not(.con-body) .section-heading > .text-link > span {
  display: grid;
  width: 19px;
  height: 19px;
  place-items: center;
  color: #fff;
  background: var(--brand-primary);
  border-radius: 50%;
  line-height: 1;
}
body:not(.con-body) .section-heading > .text-link:hover {
  color: var(--brand-primary);
  background: #fff;
  border-color: rgba(2, 133, 195, .42);
}

body:not(.con-body) .product-card .sync-tag {
  display: block;
  padding: 3px 5px;
  overflow: hidden;
  font-size: .58rem !important;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.con-body .stat-card,
.con-body .ledger-summary article,
.con-body .gv22-revenue-cards article,
.con-body .affiliate-stats article {
  min-height: 0;
  align-self: start;
  padding: 9px 11px;
}
.con-body .stat-card > strong,
.con-body .ledger-summary article > strong,
.con-body .gv22-revenue-cards article > strong,
.con-body .affiliate-stats article > strong {
  margin: 3px 0 0;
}
.con-body .gv19-stat-grid .stat-card {
  min-height: 0;
  align-content: start;
  padding: 9px 11px;
  gap: 4px 7px;
}
.con-body .gv19-stat-grid .stat-card > strong { margin: 0; }

.con-body .gv22-table th,
.con-body .gv22-table td { vertical-align: middle; }
.con-body .gv22-table [data-guard-form],
.con-body .gv22-table [data-fee-form] {
  display: flex;
  min-width: max-content;
  align-items: center;
  flex-wrap: nowrap;
  gap: 8px;
}
.con-body .gv22-table [data-guard-form] > label {
  display: inline-flex;
  min-height: 32px;
  align-items: center;
  gap: 5px;
  margin: 0;
  white-space: nowrap;
}
.con-body .gv22-table [data-guard-form] input[type="checkbox"] {
  width: 16px;
  min-width: 16px;
  height: 16px;
  min-height: 0;
  margin: 0;
  padding: 0;
}
.con-body .gv22-table [data-guard-form] .button,
.con-body .gv22-table [data-fee-form] .button {
  min-height: 32px;
  white-space: nowrap;
}

.con-body .gv27-aff-table td[data-label="Cấu hình"] { min-width: 560px; }
.con-body .gv27-aff-table td[data-label="Cấu hình"] form {
  display: grid;
  grid-template-columns: 90px 128px minmax(190px, 1fr) auto;
  align-items: end;
  column-gap: 10px;
  row-gap: 6px;
}
.con-body .gv27-aff-table td[data-label="Cấu hình"] form > label {
  display: grid;
  min-width: 0;
  gap: 5px;
  margin: 0;
}
.con-body .gv27-aff-table td[data-label="Cấu hình"] form input,
.con-body .gv27-aff-table td[data-label="Cấu hình"] form select { width: 100%; }
.con-body .gv27-aff-table td[data-label="Cấu hình"] form .button {
  min-width: 88px;
  white-space: nowrap;
}

@media (max-width: 767px) {
  body:not(.con-body) .product-card .sync-tag {
    padding-inline: 4px;
    font-size: .52rem !important;
  }
  .con-body .stat-card,
  .con-body .ledger-summary article,
  .con-body .gv22-revenue-cards article,
  .con-body .affiliate-stats article,
  .con-body .gv19-stat-grid .stat-card {
    min-height: 0;
    padding: 8px 9px;
  }
  .con-body .gv22-table form .button { min-height: 32px; }
  .con-body .gv27-aff-table {
    display: table;
    min-width: 1250px;
  }
  .con-body .gv27-aff-table thead { display: table-header-group; }
  .con-body .gv27-aff-table tbody { display: table-row-group; }
  .con-body .gv27-aff-table tr {
    display: table-row;
    padding: 0;
    border: 0;
    border-radius: 0;
  }
  .con-body .gv27-aff-table td {
    display: table-cell;
    padding: 9px 10px;
    border-bottom: 1px solid var(--con-line);
  }
  .con-body .gv27-aff-table td::before { display: none; }
}

/* GV-37: keep console data tables intact on phones/tablets and scroll horizontally. */
@media (max-width: 1023px) {
  .con-body :is(
    .admin-table-wrap,
    .admin-table-scroll,
    .admin-amf-table-wrap,
    .order-table-wrap,
    .seller-table-wrap,
    .seller-product-table-wrap,
    .ads-table-wrap,
    .shipper-table-wrap,
    .ledger-table-wrap,
    .member-table-wrap,
    .gv22-table-wrap,
    .gv23-table-wrap,
    .table-scroll
  ) {
    display: block;
    max-width: 100%;
    padding-bottom: 2px;
    overflow-x: auto !important;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
    scrollbar-color: rgba(2, 133, 195, .68) rgba(222, 233, 239, .72);
    scrollbar-gutter: stable;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
  }
  .con-body :is(
    .admin-table-wrap,
    .admin-table-scroll,
    .admin-amf-table-wrap,
    .order-table-wrap,
    .seller-table-wrap,
    .seller-product-table-wrap,
    .ads-table-wrap,
    .shipper-table-wrap,
    .ledger-table-wrap,
    .member-table-wrap,
    .gv22-table-wrap,
    .gv23-table-wrap,
    .table-scroll
  )::-webkit-scrollbar {
    display: block;
    width: 8px;
    height: 8px;
  }
  .con-body :is(
    .admin-table-wrap,
    .admin-table-scroll,
    .admin-amf-table-wrap,
    .order-table-wrap,
    .seller-table-wrap,
    .seller-product-table-wrap,
    .ads-table-wrap,
    .shipper-table-wrap,
    .ledger-table-wrap,
    .member-table-wrap,
    .gv22-table-wrap,
    .gv23-table-wrap,
    .table-scroll
  )::-webkit-scrollbar-track {
    background: rgba(222, 233, 239, .72);
    border-radius: 999px;
  }
  .con-body :is(
    .admin-table-wrap,
    .admin-table-scroll,
    .admin-amf-table-wrap,
    .order-table-wrap,
    .seller-table-wrap,
    .seller-product-table-wrap,
    .ads-table-wrap,
    .shipper-table-wrap,
    .ledger-table-wrap,
    .member-table-wrap,
    .gv22-table-wrap,
    .gv23-table-wrap,
    .table-scroll
  )::-webkit-scrollbar-thumb {
    background: rgba(2, 133, 195, .68);
    background-clip: padding-box;
    border: 2px solid transparent;
    border-radius: 999px;
  }
  .con-body :is(
    .admin-table-wrap,
    .admin-table-scroll,
    .admin-amf-table-wrap,
    .order-table-wrap,
    .seller-table-wrap,
    .seller-product-table-wrap,
    .ads-table-wrap,
    .shipper-table-wrap,
    .ledger-table-wrap,
    .member-table-wrap,
    .gv22-table-wrap,
    .gv23-table-wrap,
    .table-scroll
  ) > table {
    display: table !important;
    width: 100%;
    min-width: 760px;
    border-collapse: collapse;
  }
  .con-body :is(
    .admin-table-wrap,
    .admin-table-scroll,
    .admin-amf-table-wrap,
    .order-table-wrap,
    .seller-table-wrap,
    .seller-product-table-wrap,
    .ads-table-wrap,
    .shipper-table-wrap,
    .ledger-table-wrap,
    .member-table-wrap,
    .gv22-table-wrap,
    .gv23-table-wrap,
    .table-scroll
  ) > table thead { display: table-header-group !important; }
  .con-body :is(
    .admin-table-wrap,
    .admin-table-scroll,
    .admin-amf-table-wrap,
    .order-table-wrap,
    .seller-table-wrap,
    .seller-product-table-wrap,
    .ads-table-wrap,
    .shipper-table-wrap,
    .ledger-table-wrap,
    .member-table-wrap,
    .gv22-table-wrap,
    .gv23-table-wrap,
    .table-scroll
  ) > table tbody { display: table-row-group !important; }
  .con-body :is(
    .admin-table-wrap,
    .admin-table-scroll,
    .admin-amf-table-wrap,
    .order-table-wrap,
    .seller-table-wrap,
    .seller-product-table-wrap,
    .ads-table-wrap,
    .shipper-table-wrap,
    .ledger-table-wrap,
    .member-table-wrap,
    .gv22-table-wrap,
    .gv23-table-wrap,
    .table-scroll
  ) > table tr {
    display: table-row !important;
    padding: 0 !important;
    border: 0;
    border-radius: 0;
    box-shadow: none !important;
  }
  .con-body :is(
    .admin-table-wrap,
    .admin-table-scroll,
    .admin-amf-table-wrap,
    .order-table-wrap,
    .seller-table-wrap,
    .seller-product-table-wrap,
    .ads-table-wrap,
    .shipper-table-wrap,
    .ledger-table-wrap,
    .gv22-table-wrap,
    .gv23-table-wrap,
    .table-scroll
  ) > table tr + tr { margin-top: 0; }
  .con-body :is(
    .admin-table-wrap,
    .admin-table-scroll,
    .admin-amf-table-wrap,
    .order-table-wrap,
    .seller-table-wrap,
    .seller-product-table-wrap,
    .ads-table-wrap,
    .shipper-table-wrap,
    .ledger-table-wrap,
    .gv22-table-wrap,
    .gv23-table-wrap,
    .table-scroll
  ) > table th,
  .con-body :is(
    .admin-table-wrap,
    .admin-table-scroll,
    .admin-amf-table-wrap,
    .order-table-wrap,
    .seller-table-wrap,
    .seller-product-table-wrap,
    .ads-table-wrap,
    .shipper-table-wrap,
    .ledger-table-wrap,
    .gv22-table-wrap,
    .gv23-table-wrap,
    .table-scroll
  ) > table td {
    display: table-cell !important;
    padding: 9px 10px !important;
    border-bottom: 1px solid var(--con-line) !important;
    font-size: 11.5px;
    text-align: left !important;
    vertical-align: middle;
  }
  .con-body :is(
    .admin-table-wrap,
    .admin-table-scroll,
    .admin-amf-table-wrap,
    .order-table-wrap,
    .seller-table-wrap,
    .seller-product-table-wrap,
    .ads-table-wrap,
    .shipper-table-wrap,
    .ledger-table-wrap,
    .gv22-table-wrap,
    .gv23-table-wrap,
    .table-scroll
  ) > table td::before { display: none !important; content: none !important; }

  .con-body .order-table { min-width: 780px !important; }
  .con-body .seller-preparation-table { min-width: 720px !important; }
  .con-body .seller-product-table { min-width: 920px !important; }
  .con-body .ads-table { min-width: 1100px !important; }
  .con-body .shipper-table { min-width: 940px !important; }
  .con-body .ledger-table-wrap > table { min-width: 1100px !important; }
  .con-body .gv23-table { min-width: 900px !important; }
  .con-body .gv27-aff-table { min-width: 1250px !important; }
  .con-body .admin-amf-table { min-width: 940px !important; }
}

@media (max-width: 767px) {
  .con-body .admin-filter-bar,
  .con-body .ledger-filters,
  .con-body .gv23-admin-affiliates > .admin-card:first-of-type .filter-form,
  .con-body .ad-admin-filter form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: end;
    gap: 8px;
  }
  .con-body .admin-filter-bar > *,
  .con-body .ledger-filters > *,
  .con-body .gv23-admin-affiliates > .admin-card:first-of-type .filter-form > *,
  .con-body .ad-admin-filter form > * {
    width: 100%;
    min-width: 0;
  }
  .con-body .admin-filter-bar > .button,
  .con-body .ledger-filters > .button,
  .con-body .gv23-admin-affiliates > .admin-card:first-of-type .filter-form > .button,
  .con-body .ad-admin-filter form > .button {
    grid-column: auto;
    width: 100%;
  }
  .con-body .admin-filter-bar:has(> :nth-child(3):last-child) > input:first-child {
    grid-column: 1 / -1;
  }
  .con-body .admin-filters {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr)) auto;
    align-items: end;
    gap: 7px;
  }
  .con-body .admin-filters label { min-width: 0; }
  .con-body .admin-filters .button {
    grid-column: auto;
    width: auto;
    min-width: 68px;
    padding-inline: 9px;
  }
  .con-body .gv19-area-filter {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr)) auto;
    align-items: end;
    gap: 6px;
    width: 100%;
  }
  .con-body .gv19-area-filter select { min-width: 0; width: 100%; }
  .con-body .gv19-area-filter .button { width: auto; min-width: 54px; padding-inline: 8px; }
}

/* GV-38: balanced category analytics and consistently centered select text. */
.con-main select {
  padding-top: 0;
  padding-bottom: 0;
  line-height: normal;
}
.con-body .admin-filter-bar,
.con-body .admin-filters,
.con-body .ledger-filters,
.con-body .filter-form,
.con-body .ad-admin-filter form { row-gap: 8px; }
.con-body .admin-filter-bar label,
.con-body .admin-filters label,
.con-body .ledger-filters label,
.con-body .filter-form label,
.con-body .ad-admin-filter form label { gap: 6px; }
.con-body .gv19-category-overview { align-items: start; }
.con-body .gv19-category-overview > .admin-card {
  width: 100%;
  height: auto;
}
.con-body .gv19-category-filter { margin: 0 0 12px; }
.con-body .gv19-category-filter select {
  display: block;
  width: 100%;
  height: 38px;
}
.con-body .gv19-selected-category {
  margin: 0 0 22px;
  font-size: 14px;
  line-height: 1.35;
}
.con-body .gv19-payment-list { gap: 8px; }
.con-body .gv19-payment-list h4 { margin: 0 0 6px; }
.con-body .gv19-payment-list > div {
  align-items: center;
  padding: 10px 11px;
}

/* GV-39: one compact, shared filter entry point in the mobile admin topbar. */
.con-filter-wrap { position: relative; }
.con-filter-button,
.con-filter-popover { display: none; }

@media (max-width: 767px) {
  .con-mobile-menu .con-mobile-menu-icon {
    width: 26px;
    height: 26px;
    fill: #0f94f6;
    stroke: none;
  }
  .con-filter-wrap:not([hidden]) { display: block; flex: 0 0 30px; }
  .con-filter-button {
    display: grid;
    width: 30px;
    min-width: 30px;
    height: 32px;
    min-height: 32px;
    place-items: center;
    padding: 0;
    overflow: visible;
    color: #0f94f6;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    cursor: pointer;
  }
  .con-filter-button:hover,
  .con-filter-button:focus-visible,
  .con-filter-button[aria-expanded="true"] {
    color: #087dce;
    background: transparent;
  }
  .con-filter-button svg {
    display: block;
    width: 26px;
    height: 26px;
  }
  .con-filter-popover {
    position: fixed;
    z-index: 96;
    top: 58px;
    right: 8px;
    left: 8px;
    display: block;
    width: auto;
    max-height: calc(100dvh - 70px);
    padding: 11px;
    overflow: auto;
    overscroll-behavior: contain;
    color: var(--con-ink);
    background: rgba(255, 255, 255, .98);
    border: 1px solid var(--con-line);
    border-radius: 11px;
    box-shadow: 0 14px 38px rgba(12, 48, 66, .18);
    backdrop-filter: blur(12px);
  }
  .con-filter-popover[hidden] { display: none; }
  .con-filter-popover [data-mobile-admin-filter] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: end;
    gap: 8px;
    width: 100%;
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }
  .con-filter-popover [data-mobile-admin-filter] > * {
    width: 100%;
    min-width: 0;
    margin: 0;
  }
  .con-filter-popover [data-mobile-admin-filter] > label {
    display: grid;
    gap: 5px;
    color: var(--con-ink);
    font-size: 11px;
    font-weight: 600;
  }
  .con-filter-popover [data-mobile-admin-filter] > input:not([type="hidden"]):first-of-type {
    grid-column: 1 / -1;
  }
  .con-filter-popover [data-mobile-admin-filter] > .button,
  .con-filter-popover [data-mobile-admin-filter] > button {
    grid-column: 1 / -1;
    width: 100%;
  }
  .con-filter-popover [data-mobile-admin-filter] input:not([type="hidden"]),
  .con-filter-popover [data-mobile-admin-filter] select,
  .con-filter-popover [data-mobile-admin-filter] .button {
    min-height: 38px;
    height: 38px;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 12px;
  }
  .con-mobile-filter-source-empty { display: none !important; }
  .con-topbar:has(.con-filter-wrap:not([hidden])) {
    gap: 5px;
    padding-inline: 7px;
  }
  .con-topbar:has(.con-filter-wrap:not([hidden])) .con-crumb {
    max-width: min(30vw, 120px);
    font-size: 12px;
  }
  .con-topbar:has(.con-filter-wrap:not([hidden])) .con-info-button,
  .con-topbar:has(.con-filter-wrap:not([hidden])) .notification-bell {
    width: 30px;
    min-width: 30px;
    height: 32px;
    min-height: 32px;
  }
  .con-topbar:has(.con-filter-wrap:not([hidden])):has(.con-page-actions > :nth-child(2)) .con-crumb {
    display: none;
  }
}

/* ===== GV-40 — Tích hợp AMF (admin) ===== */
.gv40-flash { border-radius: 10px; padding: 10px 14px; font-weight: 600; margin: 0 0 14px; }
.gv40-flash-ok { background: #e7f8ef; color: #116b3c; border: 1px solid #b5e6cc; }
.gv40-flash-err { background: #fdecec; color: #a02323; border: 1px solid #f3c2c2; }
.gv40-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 18px; }
.gv40-span2 { grid-column: 1 / -1; }
.gv40-field { display: flex; flex-direction: column; gap: 6px; font-weight: 600; font-size: 0.92rem; }
.gv40-field input[type="url"], .gv40-field input[type="text"], .gv40-field input[type="password"], .gv40-field input[type="number"], .gv40-field select { border: 1px solid var(--con-border, #d7e1ec); border-radius: 8px; padding: 9px 12px; font: inherit; font-weight: 500; background: #fff; }
.gv40-field small { font-weight: 500; color: var(--con-muted, #64748b); }
.gv40-field small code { font-size: 0.85em; }
.gv40-checks { flex-direction: row; flex-wrap: wrap; gap: 18px; align-items: center; grid-column: 1 / -1; }
.gv40-checks label { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; }
.gv40-actions { margin-top: 14px; display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.gv40-actions-secondary { border-top: 1px dashed var(--con-border, #d7e1ec); padding-top: 14px; }
.gv40-actions form { display: inline-flex; margin: 0; }
.gv40-hint { color: var(--con-muted, #64748b); font-weight: 500; }
.gv40-status { display: inline-block; border-radius: 999px; padding: 2px 10px; font-size: 0.78rem; font-weight: 700; }
.gv40-status-ok, .gv40-status-sent { background: #e7f8ef; color: #116b3c; }
.gv40-status-partial, .gv40-status-pending, .gv40-status-running { background: #fff4dd; color: #92600a; }
.gv40-status-error, .gv40-status-failed { background: #fdecec; color: #a02323; }
@media (max-width: 720px) { .gv40-grid { grid-template-columns: 1fr; } }
