
:root{
  --mp-bg:#f5f7fb;
  --mp-panel:#ffffff;
  --mp-text:#172033;
  --mp-muted:#667085;
  --mp-border:#dfe5ec;
  --mp-border-strong:#cbd5e1;
  --mp-primary:#1769e0;
  --mp-primary-hover:#0f5bc8;
  --mp-success:#067647;
  --mp-warning:#b7791f;
  --mp-danger:#b42318;
  --mp-verified:#a66a00;
  --mp-radius:12px;
  --mp-radius-sm:8px;
  --mp-shadow:0 3px 14px rgba(15,23,42,.06);
  --mp-container:1280px;
}

*{box-sizing:border-box}
html{background:var(--mp-bg)}
body{
  background:var(--mp-bg)!important;
  color:var(--mp-text)!important;
  line-height:1.45;
}

.wrap,.container,.page,.content,.main-wrap,.mp-container{
  width:min(var(--mp-container),calc(100% - 32px))!important;
  max-width:var(--mp-container)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

.panel,.card,.box,.section,.p,.form-card,.table-card,.hero,.filters,.filter-box{
  border-color:var(--mp-border)!important;
  border-radius:var(--mp-radius)!important;
}

.panel,.card,.box,.section,.p,.form-card,.table-card,.filter-box{
  background:var(--mp-panel)!important;
  box-shadow:var(--mp-shadow);
}

h1,h2,h3,h4{
  color:var(--mp-text);
  letter-spacing:-.015em;
}
h1{line-height:1.15}
h2{line-height:1.2}
.muted,.help,.hint,.small-note,.sub,.subtext{
  color:var(--mp-muted)!important;
}

a{transition:color .12s ease,background-color .12s ease,border-color .12s ease,box-shadow .12s ease}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid rgba(23,105,224,.20)!important;
  outline-offset:2px!important;
}

button,.btn,a.btn,input[type=submit],input[type=button]{
  min-height:38px;
  border-radius:var(--mp-radius-sm)!important;
  font-weight:700!important;
  cursor:pointer;
}
button:not(.danger):not(.red):not(.secondary):not(.gray),
.btn.blue,.btn.primary,a.btn.blue,a.btn.primary{
  border-color:var(--mp-primary)!important;
}
button:hover,.btn:hover,a.btn:hover{filter:brightness(.97)}

input[type=text],input[type=email],input[type=url],input[type=number],
input[type=date],input[type=password],input[type=search],select,textarea{
  min-height:40px;
  border:1px solid var(--mp-border-strong)!important;
  border-radius:var(--mp-radius-sm)!important;
  background:#fff!important;
  color:var(--mp-text)!important;
  padding:9px 11px!important;
}
textarea{min-height:110px}
input:focus,select:focus,textarea:focus{
  border-color:#7ba9eb!important;
  box-shadow:0 0 0 3px rgba(23,105,224,.10)!important;
}
label{
  color:#344054;
  font-weight:700;
}

table{
  width:100%;
  border-collapse:separate!important;
  border-spacing:0!important;
  background:#fff;
  border:1px solid var(--mp-border)!important;
  border-radius:10px!important;
  overflow:hidden;
}
th{
  background:#f0f4f9!important;
  color:#344054!important;
  font-size:12px;
  letter-spacing:.02em;
  text-transform:none;
  font-weight:800!important;
  border-bottom:1px solid var(--mp-border)!important;
}
th,td{
  padding:11px 12px!important;
  vertical-align:top;
  border-color:#e8edf3!important;
}
tbody tr:hover td{background:#fbfcfe}

.badge,.status,.pill,.tag{
  display:inline-flex;
  align-items:center;
  gap:5px;
  border-radius:999px!important;
  font-weight:800!important;
  line-height:1.1;
}
.verified,.badge.verified,.status.verified{color:#805500!important;background:#fff7df!important;border-color:#ead59b!important}
.success,.badge.success,.status.approved{color:#067647!important;background:#ecfdf3!important;border-color:#abefc6!important}
.danger,.badge.danger,.status.rejected{color:#b42318!important;background:#fef3f2!important;border-color:#fecdca!important}
.pending,.badge.pending,.status.pending{color:#854d0e!important;background:#fffbeb!important;border-color:#fde68a!important}

hr{
  border:0!important;
  border-top:1px solid var(--mp-border)!important;
  margin:22px 0!important;
}

.grid{gap:14px!important}
.actions{gap:8px!important}

.mp-header{
  box-shadow:0 1px 0 rgba(255,255,255,.04),0 3px 10px rgba(0,0,0,.14);
}
.mp-nav>a{
  border-radius:8px!important;
}
.mp-nav>a.active{
  box-shadow:inset 0 -2px 0 rgba(255,255,255,.9);
}

.mm-nav{
  gap:12px!important;
}
.mm-nav .mm-btn{
  min-height:56px!important;
  box-shadow:0 2px 6px rgba(15,23,42,.14)!important;
}

.mp-admin-section{
  margin:18px 0 24px;
}
.mp-admin-section-title{
  margin:0 0 10px;
  font-size:14px;
  color:#475467;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:900;
}
.mp-admin-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.mp-admin-grid .mm-btn{width:100%}

.mp-table-scroll{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  border-radius:10px;
}

@media(max-width:1100px){
  :root{--mp-container:1180px}
  .mp-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .wrap,.container,.page,.content,.main-wrap,.mp-container{
    width:min(100% - 20px,var(--mp-container))!important;
  }
  .panel,.card,.box,.section,.p,.form-card,.table-card{border-radius:10px!important}
  .mp-admin-grid{grid-template-columns:1fr}
  th,td{padding:9px 10px!important}
}


/* V6.98 — visual consistency normalization */

/* Marketplace hero/CTA text must stay readable on dark or colored backgrounds. */
.hero,
.hero h1,.hero h2,.hero h3,.hero p,.hero .sub,.hero .muted,
.cta,.cta h1,.cta h2,.cta h3,.cta p,
[class*="hero"] h1,[class*="hero"] h2,[class*="hero"] h3,
[class*="hero"] p,[class*="hero"] span{
  color:inherit;
}
.hero[style*="background"],
.cta[style*="background"]{
  color:#fff!important;
}
.hero[style*="background"] h1,.hero[style*="background"] h2,.hero[style*="background"] h3,
.hero[style*="background"] p,.hero[style*="background"] span,
.cta[style*="background"] h1,.cta[style*="background"] h2,.cta[style*="background"] h3,
.cta[style*="background"] p,.cta[style*="background"] span{
  color:#fff!important;
}

/* Common Marketplace slogan/hero titles */
.hero-title,.hero-subtitle,.hero-kicker,
.market-title,.market-subtitle{
  color:#fff!important;
}

/* Same page rhythm everywhere */
.wrap,.container,.page,.content,.main-wrap,.mp-container{
  padding-top:24px;
  padding-bottom:32px;
}
main.wrap,main.container,main.page,main.content,main.main-wrap,main.mp-container{
  min-height:calc(100vh - 90px);
}
h1{
  font-size:clamp(26px,2.4vw,34px)!important;
  margin-top:0!important;
  margin-bottom:10px!important;
}
h2{
  font-size:clamp(20px,1.8vw,25px)!important;
}
.page-title,.title{
  margin-top:0!important;
}

/* Same control geometry on every Marketplace page */
button,.btn,a.btn,input[type=submit],input[type=button]{
  min-height:40px!important;
  padding:9px 14px!important;
  font-size:14px!important;
  line-height:20px!important;
}
input[type=text],input[type=email],input[type=url],input[type=number],
input[type=date],input[type=password],input[type=search],select{
  height:40px!important;
  min-height:40px!important;
  font-size:14px!important;
}
textarea{font-size:14px!important}

/* Keep header navigation visually identical after changing pages */
.mp-header-inner{
  min-height:58px!important;
}
.mp-nav>a{
  min-height:36px!important;
  height:36px!important;
  padding:8px 10px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:13px!important;
  line-height:18px!important;
}

/* Homepage action buttons: identical dimensions and readable text */
.hero-actions,.quick-actions,.action-grid,.actions-grid{
  align-items:stretch!important;
}
.hero-actions a,.quick-actions a,.action-grid a,.actions-grid a{
  min-height:44px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}

/* Avoid global h/text rule making text black inside dark blocks. */
[style*="background:#0"],
[style*="background: #0"],
[style*="background:#1"],
[style*="background: #1"],
[style*="background:#2"],
[style*="background: #2"]{
  --mp-dark-block-text:#fff;
}

.mp-market-slogan{
  color:#fff!important;
  display:inline-block;
  font-weight:800;
}


/* V6.101 — header destination page-width unification
   All primary Marketplace pages use the same visual canvas. */

:root{
  --mp-shell-width:1280px;
  --mp-shell-gutter:24px;
  --mp-page-top:24px;
  --mp-page-bottom:40px;
}

/* Main page shells used across older/newer Marketplace pages. */
body > .wrap,
body > .container,
body > .page,
body > .content,
body > .main-wrap,
body > .mp-container,
main.wrap,
main.container,
main.page,
main.content,
main.main-wrap,
main.mp-container,
.mp-page-shell{
  width:min(var(--mp-shell-width),calc(100% - (var(--mp-shell-gutter) * 2)))!important;
  max-width:var(--mp-shell-width)!important;
  min-width:0!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}

/* Common direct wrappers that historically used different max-widths. */
body > div[style*="max-width"],
body > main[style*="max-width"]{
  width:min(var(--mp-shell-width),calc(100% - (var(--mp-shell-gutter) * 2)))!important;
  max-width:var(--mp-shell-width)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Pages should begin at the same vertical rhythm below the shared header. */
body > .wrap,
body > .container,
body > .page,
body > .content,
body > .main-wrap,
body > .mp-container,
main.wrap,
main.container,
main.page,
main.content,
main.main-wrap,
main.mp-container{
  margin-top:var(--mp-page-top)!important;
  margin-bottom:var(--mp-page-bottom)!important;
}

/* Header itself gets the same horizontal canvas on every destination. */
.mp-header-inner{
  width:min(var(--mp-shell-width),calc(100% - (var(--mp-shell-gutter) * 2)))!important;
  max-width:var(--mp-shell-width)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}

/* Hero/filter/table panels should fill their page shell consistently. */
.hero,.filters,.filter-box,.panel,.card,.box,.section,.form-card,.table-card{
  max-width:none!important;
}
.hero,.filters,.filter-box{
  width:100%!important;
}

/* Prevent page-specific fixed widths from making one destination look like another site. */
@media(min-width:900px){
  .wrap,.container,.page,.content,.main-wrap,.mp-container{
    min-width:0!important;
  }
}

/* Responsive canvas remains consistent. */
@media(max-width:760px){
  :root{
    --mp-shell-gutter:10px;
    --mp-page-top:14px;
    --mp-page-bottom:24px;
  }
}


/* V6.102 — fixed viewport canvas + cache-busted visual layer */
html{
  overflow-y:scroll!important;
  scrollbar-gutter:stable!important;
}
body{
  margin:0!important;
  overflow-x:hidden!important;
}

:root{
  --mp-fixed-shell:1280px;
  --mp-fixed-gutter:24px;
}

/* Every header destination uses the same exact outer box model. */
.mp-header-inner,
.mp-page-shell,
body > .mp-page-shell,
main.mp-page-shell,
div.mp-page-shell{
  width:calc(100% - (var(--mp-fixed-gutter) * 2))!important;
  max-width:var(--mp-fixed-shell)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

/* Old page-local .wrap padding/max-width must not alter the visual canvas. */
.mp-page-shell{
  padding-left:0!important;
  padding-right:0!important;
  margin-top:24px!important;
  margin-bottom:40px!important;
}

/* All first-level major content blocks align to the same shell edges. */
.mp-page-shell > .hero,
.mp-page-shell > .panel,
.mp-page-shell > .card,
.mp-page-shell > .box,
.mp-page-shell > .section,
.mp-page-shell > .filters,
.mp-page-shell > .filter-box,
.mp-page-shell > .stats,
.mp-page-shell > .quick,
.mp-page-shell > .cards,
.mp-page-shell > .tiers,
.mp-page-shell > .flow{
  max-width:none!important;
  box-sizing:border-box!important;
}

/* Homepage hero title: explicit direct selector, independent of global h1 rules. */
.mp-page-shell .hero h1,
.mp-page-shell .hero h1 .mp-market-slogan,
.hero .mp-market-slogan{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  opacity:1!important;
}
.mp-page-shell .hero > p{
  color:#d7e4f7!important;
}

/* Keep header geometry identical on every destination. */
.mp-header{
  width:100%!important;
}
.mp-header-inner{
  min-height:58px!important;
}

@media(max-width:760px){
  :root{--mp-fixed-gutter:10px}
  .mp-page-shell{margin-top:14px!important;margin-bottom:24px!important}
}


/* V6.103 — Restore Manufacturer Management admin buttons */
body .mp-admin-grid{
  gap:12px!important;
}

body .mp-admin-grid .mm-btn{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:54px!important;
  height:auto!important;
  padding:13px 16px!important;
  border-radius:8px!important;
  font-size:14px!important;
  line-height:20px!important;
  font-weight:800!important;
  text-align:center!important;
  text-decoration:none!important;
  color:#fff!important;
  border:0!important;
  box-shadow:0 2px 6px rgba(15,23,42,.14)!important;
}

body .mp-admin-grid .mm-btn:link,
body .mp-admin-grid .mm-btn:visited,
body .mp-admin-grid .mm-btn:hover,
body .mp-admin-grid .mm-btn:active{
  color:#fff!important;
  text-decoration:none!important;
}

body .mp-admin-grid .mm-btn:hover{
  filter:brightness(.94)!important;
  transform:translateY(-1px);
}

/* Preserve the existing button background colors/classes. */
body .mp-admin-section-title{
  margin:0 0 10px!important;
  font-size:14px!important;
  line-height:20px!important;
  font-weight:900!important;
  color:#344054!important;
}

@media(max-width:760px){
  body .mp-admin-grid .mm-btn{
    min-height:50px!important;
    padding:12px 14px!important;
  }
}
