:root {
    --ink: #14211d;
    --muted: #63716c;
    --forest: #0f5c49;
    --forest-deep: #083e32;
    --mint: #dff4eb;
    --gold: #d9aa45;
    --cream: #f7f5ef;
    --line: #dfe7e3;
    --surface: #ffffff;
    --danger: #b63c45;
    --shadow: 0 24px 70px rgba(14, 45, 37, .1);
}

* { box-sizing: border-box; }
body {
    margin: 0;
    color: var(--ink);
    background: var(--cream);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    -webkit-font-smoothing: antialiased;
}
a { color: var(--forest); text-decoration: none; }
a:hover { color: var(--forest-deep); }
.container { width: min(1180px, calc(100% - 32px)); margin-inline: auto; }
.site-nav { position: sticky; top: 0; z-index: 20; background: rgba(247,245,239,.94); border-bottom: 1px solid rgba(15,92,73,.1); backdrop-filter: blur(18px); }
.nav-shell { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 11px; color: var(--ink); font-weight: 800; letter-spacing: -.03em; }
.brand-mark { display:grid; place-items:center; width: 38px; height: 38px; border-radius: 12px 4px 12px 4px; color: white; background: linear-gradient(145deg,var(--forest),#1b8066); box-shadow: 0 8px 24px rgba(15,92,73,.22); }
.nav-links { display:flex; align-items:center; gap: 24px; }
.nav-links a { color: var(--muted); font-weight: 600; font-size: .94rem; }
.nav-links a:hover { color: var(--forest); }
.nav-actions { display:flex; align-items:center; gap: 10px; }
.menu-toggle { display:none; border:0; background:transparent; font-size:1.4rem; }
.btn { display:inline-flex; justify-content:center; align-items:center; gap:8px; min-height:44px; padding: 10px 18px; border:1px solid transparent; border-radius: 12px; font:inherit; font-weight:700; cursor:pointer; transition:.2s ease; }
.btn:hover { transform:translateY(-1px); }
.btn-primary { background: var(--forest); color:#fff; box-shadow: 0 10px 25px rgba(15,92,73,.2); }
.btn-primary:hover { background:var(--forest-deep); color:#fff; }
.btn-outline { border-color:var(--line); background:#fff; color:var(--ink); }
.btn-outline:hover { border-color:var(--forest); color:var(--forest); }
.btn-danger { background:#fff0f1; color:var(--danger); border-color:#f2ccd0; }
.btn-sm { min-height:36px; padding:7px 12px; font-size:.84rem; }
.hero { padding: 78px 0 54px; overflow:hidden; }
.hero-grid { display:grid; grid-template-columns:1.08fr .92fr; gap:68px; align-items:center; }
.eyebrow { display:inline-flex; align-items:center; gap:9px; color:var(--forest); text-transform:uppercase; letter-spacing:.14em; font-size:.76rem; font-weight:800; }
.eyebrow::before { content:""; width:26px; height:2px; background:var(--gold); }
h1,h2,h3 { margin-top:0; font-family: Georgia, "Times New Roman", serif; letter-spacing:-.035em; line-height:1.04; }
h1 { margin:20px 0 22px; font-size:clamp(3rem,6vw,5.8rem); font-weight:500; }
h2 { font-size:clamp(2rem,4vw,3.5rem); font-weight:500; }
h3 { font-size:1.45rem; font-weight:600; }
.hero-copy p { max-width:650px; color:var(--muted); font-size:1.12rem; line-height:1.75; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.trust-row { display:flex; flex-wrap:wrap; gap:24px; margin-top:38px; color:var(--muted); font-size:.86rem; font-weight:600; }
.trust-row span::before { content:"✓"; margin-right:8px; color:var(--forest); }
.hero-panel { position:relative; min-height:520px; padding:26px; border-radius:34px 10px 34px 10px; color:white; background:linear-gradient(145deg,#093e33,#16715a); box-shadow:var(--shadow); }
.hero-panel::after { content:""; position:absolute; width:220px; height:220px; right:-80px; top:-70px; border-radius:50%; border:45px solid rgba(217,170,69,.18); }
.panel-top { display:flex; justify-content:space-between; align-items:center; position:relative; z-index:1; }
.live-pill { padding:6px 10px; border:1px solid rgba(255,255,255,.2); border-radius:999px; font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; }
.market-card { position:relative; z-index:1; margin-top:60px; padding:26px; color:var(--ink); border-radius:24px 8px 24px 8px; background:rgba(255,255,255,.96); }
.market-card small { color:var(--muted); }
.market-number { margin:8px 0 22px; font:500 3.4rem/1 Georgia,serif; }
.spark { height:95px; display:flex; align-items:end; gap:7px; }
.spark i { flex:1; display:block; min-height:12px; border-radius:5px 5px 1px 1px; background:linear-gradient(var(--gold),#edd390); }
.panel-mini-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:12px; }
.panel-mini { padding:18px; border:1px solid rgba(255,255,255,.15); border-radius:16px 5px 16px 5px; background:rgba(255,255,255,.09); }
.panel-mini strong { display:block; margin-top:5px; font:500 1.5rem Georgia,serif; }
.section { padding:70px 0; }
.section-heading { max-width:760px; margin-bottom:34px; }
.section-heading p { color:var(--muted); line-height:1.7; }
.feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.feature-card { padding:28px; border:1px solid var(--line); border-radius:22px 7px 22px 7px; background:var(--surface); box-shadow:0 14px 35px rgba(14,45,37,.04); }
.feature-icon { display:grid; place-items:center; width:44px; height:44px; margin-bottom:24px; border-radius:14px 5px 14px 5px; color:var(--forest); background:var(--mint); font-weight:900; }
.feature-card p { color:var(--muted); line-height:1.65; }
.app-main { min-height:calc(100vh - 76px); }
.auth-shell { display:grid; grid-template-columns:.85fr 1.15fr; min-height:calc(100vh - 77px); }
.auth-story { padding:72px max(32px,8vw); color:white; background:linear-gradient(150deg,var(--forest-deep),var(--forest)); }
.auth-story h2 { margin-top:80px; max-width:540px; }
.auth-story p { max-width:520px; color:rgba(255,255,255,.72); line-height:1.75; }
.auth-points { margin-top:44px; display:grid; gap:16px; }
.auth-points div { display:flex; align-items:center; gap:12px; font-weight:600; }
.auth-points span { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; color:var(--forest-deep); background:var(--gold); }
.auth-form-wrap { display:grid; place-items:center; padding:48px 24px; background:#fff; }
.auth-card { width:min(480px,100%); }
.auth-card h1 { margin-bottom:10px; font-size:3rem; }
.auth-card > p { color:var(--muted); line-height:1.6; }
.form-group { margin-bottom:18px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
label { display:block; margin-bottom:7px; font-size:.86rem; font-weight:750; }
.form-control,.form-select { width:100%; height:48px; padding:10px 13px; border:1px solid #ccd8d2; border-radius:11px; color:var(--ink); background:#fff; font:inherit; outline:none; }
.form-control:focus,.form-select:focus { border-color:var(--forest); box-shadow:0 0 0 3px rgba(15,92,73,.1); }
.form-hint { margin-top:6px; color:var(--muted); font-size:.78rem; line-height:1.45; }
.form-footer { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-top:24px; }
.w-100 { width:100%; }
.alert { padding:14px 16px; margin:16px 0; border-radius:11px; font-size:.9rem; }
.alert-success { color:#175e46; background:#e4f6ee; border:1px solid #b9e7d3; }
.alert-error { color:#8f2f37; background:#fff0f1; border:1px solid #f1cbd0; }
.alert-warning { color:#755818; background:#fff7df; border:1px solid #eed99d; }
.error-list { margin:0; padding-left:18px; }
.dashboard { padding:44px 0 80px; }
.dash-header { display:flex; justify-content:space-between; gap:24px; align-items:end; margin-bottom:30px; }
.dash-header h1 { margin:6px 0 0; font-size:3.5rem; }
.role-pill,.status-pill { display:inline-flex; padding:6px 10px; border-radius:999px; font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.role-pill { color:var(--forest); background:var(--mint); }
.status-active { color:#146044; background:#def4e9; }
.status-pending { color:#765913; background:#fff2c8; }
.status-suspended,.status-disabled { color:#8e3038; background:#fde5e7; }
.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:24px; }
.stat-card { padding:22px; border:1px solid var(--line); border-radius:18px 6px 18px 6px; background:#fff; }
.stat-card span { color:var(--muted); font-size:.82rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.stat-card strong { display:block; margin-top:12px; font:500 2.3rem Georgia,serif; }
.dash-grid { display:grid; grid-template-columns:1.35fr .65fr; gap:20px; }
.panel { padding:26px; border:1px solid var(--line); border-radius:22px 7px 22px 7px; background:#fff; box-shadow:0 12px 32px rgba(14,45,37,.04); }
.panel-header { display:flex; justify-content:space-between; align-items:center; gap:14px; margin-bottom:20px; }
.panel-header h3 { margin:0; }
.stage-list { display:grid; gap:14px; }
.stage-item { display:grid; grid-template-columns:40px 1fr auto; gap:14px; align-items:center; padding:16px; border:1px solid var(--line); border-radius:14px; }
.stage-number { display:grid; place-items:center; width:38px; height:38px; border-radius:12px 4px 12px 4px; color:white; background:var(--forest); font-weight:800; }
.stage-item p { margin:4px 0 0; color:var(--muted); font-size:.82rem; }
.quick-links { display:grid; gap:10px; }
.quick-link { display:flex; justify-content:space-between; align-items:center; padding:14px; border:1px solid var(--line); border-radius:12px; color:var(--ink); font-weight:650; }
.quick-link:hover { border-color:var(--forest); background:var(--mint); }
.table-wrap { overflow:auto; border:1px solid var(--line); border-radius:16px; background:#fff; }
table { width:100%; border-collapse:collapse; white-space:nowrap; }
th,td { padding:15px 16px; text-align:left; border-bottom:1px solid var(--line); vertical-align:middle; }
th { color:var(--muted); background:#f9fbfa; font-size:.73rem; text-transform:uppercase; letter-spacing:.07em; }
td { font-size:.88rem; }
tr:last-child td { border-bottom:0; }
.inline-form { display:flex; align-items:center; gap:7px; }
.inline-form .form-select { height:36px; min-width:125px; padding:5px 9px; font-size:.82rem; }
.toolbar { display:flex; justify-content:space-between; gap:16px; margin-bottom:18px; }
.search-form { display:flex; gap:8px; width:min(480px,100%); }
.code-box { padding:14px; overflow-wrap:anywhere; border:1px dashed #9bb7ac; border-radius:10px; color:var(--forest-deep); background:#f3faf7; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.8rem; }
.session-row { display:grid; grid-template-columns:1fr auto; gap:16px; padding:15px 0; border-bottom:1px solid var(--line); }
.session-row:last-child { border-bottom:0; }
.session-row p { margin:3px 0 0; color:var(--muted); font-size:.8rem; }
.empty-state { padding:44px 20px; text-align:center; color:var(--muted); }
.site-footer { padding:34px 0; border-top:1px solid var(--line); color:var(--muted); font-size:.82rem; }
.footer-shell { display:flex; justify-content:space-between; gap:20px; }
.error-page { min-height:100vh; display:grid; place-items:center; padding:24px; background:var(--forest-deep); }
.error-card { width:min(620px,100%); padding:44px; border-radius:28px 9px 28px 9px; background:#fff; text-align:center; }
.error-code { color:var(--gold); font:500 4rem Georgia,serif; }

@media (max-width: 900px) {
    .hero-grid,.auth-shell,.dash-grid { grid-template-columns:1fr; }
    .hero-panel { min-height:470px; }
    .feature-grid { grid-template-columns:1fr 1fr; }
    .auth-story { display:none; }
    .stats-grid { grid-template-columns:1fr 1fr; }
    .nav-links { display:none; position:absolute; top:76px; left:0; right:0; padding:18px; background:var(--cream); border-bottom:1px solid var(--line); }
    .nav-links.open { display:grid; }
    .menu-toggle { display:block; }
}
@media (max-width: 600px) {
    .feature-grid,.stats-grid,.form-row { grid-template-columns:1fr; }
    .hero { padding-top:52px; }
    h1 { font-size:3rem; }
    .nav-actions > a.btn-outline { display:none; }
    .dash-header,.toolbar,.footer-shell { align-items:flex-start; flex-direction:column; }
    .inline-form { align-items:stretch; flex-direction:column; }
}

/* Premium marketplace interface — v0.3 */
.announcement-bar { color:rgba(255,255,255,.82); background:#072f27; font-size:.74rem; letter-spacing:.02em; }
.announcement-shell { min-height:34px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.announcement-shell div { display:flex; align-items:center; gap:12px; }
.announcement-shell a { color:#f0d28a; font-weight:750; }
.announcement-divider { color:rgba(255,255,255,.35); }
.market-header { position:sticky; top:0; z-index:50; border-bottom:1px solid rgba(11,61,50,.1); background:rgba(255,255,255,.97); box-shadow:0 8px 26px rgba(9,48,39,.05); backdrop-filter:blur(16px); }
.header-main { min-height:84px; display:grid; grid-template-columns:auto minmax(300px,1fr) auto; align-items:center; gap:34px; }
.market-brand { display:inline-flex; align-items:center; gap:11px; color:var(--ink); }
.market-brand:hover { color:var(--ink); }
.market-brand img { width:43px; height:43px; }
.market-brand span { display:flex; flex-direction:column; line-height:1; }
.market-brand b { font:700 1.42rem/1 Georgia,serif; letter-spacing:.08em; }
.market-brand small { margin-top:5px; color:var(--forest); font-size:.59rem; font-weight:850; letter-spacing:.32em; }
.global-search { height:48px; display:grid; grid-template-columns:22px 1fr auto; align-items:center; padding-left:15px; border:1px solid #cbd8d2; border-radius:999px; background:#f8faf9; transition:.2s ease; }
.global-search:focus-within { border-color:var(--forest); box-shadow:0 0 0 4px rgba(15,92,73,.08); background:#fff; }
.global-search svg { width:19px; fill:none; stroke:#6c7b75; stroke-width:1.8; }
.global-search input { width:100%; height:44px; padding:0 12px; border:0; outline:0; color:var(--ink); background:transparent; font:inherit; font-size:.88rem; }
.global-search button { align-self:stretch; min-width:92px; border:0; border-radius:999px; color:white; background:var(--forest); font:inherit; font-size:.8rem; font-weight:800; cursor:pointer; }
.header-actions { display:flex; align-items:center; gap:18px; }
.header-action { position:relative; display:flex; align-items:center; gap:8px; color:var(--ink); }
.header-action:hover { color:var(--forest); }
.header-action > span:not(.action-icon) { display:flex; flex-direction:column; line-height:1.2; }
.header-action small { color:var(--muted); font-size:.65rem; }
.header-action b { font-size:.76rem; white-space:nowrap; }
.action-icon { display:grid; place-items:center; width:31px; height:31px; border:1px solid var(--line); border-radius:50%; font-size:1rem; }
.cart-preview { cursor:help; }
.cart-preview i { position:absolute; top:-7px; left:24px; display:grid; place-items:center; width:17px; height:17px; border-radius:50%; color:#fff; background:#d79531; font-size:.61rem; font-style:normal; font-weight:800; }
.category-bar { border-top:1px solid #edf1ef; }
.category-shell { min-height:44px; display:flex; align-items:center; gap:28px; }
.category-shell a,.nav-text-button { color:#41514b; font-family:inherit; font-size:.76rem; font-weight:700; line-height:1; white-space:nowrap; }
.category-shell a:hover,.nav-text-button:hover { color:var(--forest); }
.category-all { align-self:stretch; display:flex; align-items:center; gap:9px; min-width:170px; padding-right:24px; border-right:1px solid var(--line); color:var(--ink)!important; }
.category-utility { margin-left:auto; color:var(--forest)!important; }
.nav-text-button { padding:0; border:0; background:none; cursor:pointer; }
.category-shell form { margin:0; }
.global-alert { position:relative; z-index:5; margin-top:16px; margin-bottom:0; }
.ui-toast { position:fixed; z-index:100; right:20px; bottom:20px; max-width:min(360px,calc(100% - 40px)); padding:14px 18px; border-radius:14px 5px 14px 5px; color:#fff; background:#083e32; box-shadow:0 18px 45px rgba(8,62,50,.24); font-size:.78rem; font-weight:700; animation:toast-in .25s ease; }
@keyframes toast-in { from { opacity:0; transform:translateY(10px); } }
.market-hero { padding:26px 0 0; background:#fff; }
.market-hero-card { position:relative; min-height:610px; overflow:hidden; display:flex; align-items:center; border-radius:28px 8px 28px 8px; background-image:linear-gradient(90deg,rgba(249,240,219,.98) 0%,rgba(249,240,219,.94) 34%,rgba(249,240,219,.25) 56%,rgba(249,240,219,0) 74%),var(--hero-image); background-size:cover; background-position:center; box-shadow:0 25px 80px rgba(57,43,18,.1); }
.market-hero-copy { position:relative; z-index:2; width:55%; padding:66px 68px; }
.hero-kicker { display:inline-flex; align-items:center; gap:10px; color:var(--forest); font-size:.72rem; font-weight:850; letter-spacing:.15em; text-transform:uppercase; }
.hero-kicker i { width:28px; height:2px; background:#c88929; }
.market-hero h1 { margin:20px 0 22px; font-size:clamp(3.6rem,6vw,6rem); font-weight:500; letter-spacing:-.055em; line-height:.91; }
.market-hero h1 em { color:var(--forest); font-weight:500; }
.market-hero-copy > p { max-width:580px; margin:0; color:#59675f; font-size:1.05rem; line-height:1.75; }
.btn-lg { min-height:52px; padding:13px 24px; }
.text-link { display:inline-flex; align-items:center; gap:12px; color:var(--forest); font-size:.87rem; font-weight:800; }
.text-link span { transition:transform .2s ease; }
.text-link:hover span { transform:translateX(4px); }
.text-link.dark { color:var(--ink); }
.hero-proof { display:flex; gap:28px; margin-top:48px; padding-top:22px; border-top:1px solid rgba(11,61,50,.15); }
.hero-proof div { display:flex; flex-direction:column; }
.hero-proof strong { font:600 1.35rem Georgia,serif; }
.hero-proof span { margin-top:3px; color:#6a756f; font-size:.7rem; }
.hero-floating-note { position:absolute; right:28px; bottom:26px; display:flex; align-items:center; gap:12px; padding:13px 17px; border:1px solid rgba(255,255,255,.35); border-radius:16px 5px 16px 5px; color:#fff; background:rgba(7,47,39,.78); box-shadow:0 12px 30px rgba(7,47,39,.22); backdrop-filter:blur(10px); }
.hero-floating-note > span { color:#e4bc63; font-size:1.4rem; }
.hero-floating-note div { display:flex; flex-direction:column; }
.hero-floating-note small { color:rgba(255,255,255,.7); font-size:.55rem; font-weight:800; letter-spacing:.16em; }
.hero-floating-note b { font-family:Georgia,serif; font-size:1rem; font-weight:500; }
.trust-strip { border-bottom:1px solid var(--line); background:#fff; }
.trust-strip-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.trust-strip-grid > div { min-height:100px; display:flex; align-items:center; justify-content:center; gap:13px; border-right:1px solid var(--line); }
.trust-strip-grid > div:first-child { border-left:1px solid var(--line); }
.trust-icon { display:grid; place-items:center; width:38px; height:38px; border-radius:50%; color:var(--forest); background:var(--mint); font-weight:900; }
.trust-strip p { margin:0; display:flex; flex-direction:column; }
.trust-strip strong { font-size:.82rem; }
.trust-strip small { margin-top:2px; color:var(--muted); font-size:.67rem; }
.commerce-section { padding:80px 0; }
.category-section { background:#fbfaf7; }
.commerce-heading { display:flex; align-items:end; justify-content:space-between; gap:28px; margin-bottom:30px; }
.commerce-heading h2 { margin:9px 0 0; font-size:clamp(2.1rem,4vw,3.3rem); }
.collection-count { color:var(--muted); font-size:.8rem; }
.category-card-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:13px; }
.shop-category { position:relative; min-height:185px; overflow:hidden; display:flex; flex-direction:column; justify-content:space-between; padding:22px; border:1px solid rgba(14,66,53,.08); border-radius:20px 6px 20px 6px; color:var(--ink); transition:.25s ease; }
.shop-category::after { content:""; position:absolute; width:110px; height:110px; right:-28px; top:-32px; border:24px solid rgba(255,255,255,.38); border-radius:50%; }
.shop-category:hover { color:var(--ink); transform:translateY(-5px); box-shadow:0 18px 38px rgba(20,52,43,.1); }
.cat-fashion { background:#ecddd2; }.cat-electronics { background:#d8e6e4; }.cat-beauty { background:#efe0e4; }.cat-home { background:#e9e4d5; }.cat-artisan { background:#eadbc6; }
.category-symbol { display:grid; place-items:center; width:50px; height:50px; border-radius:16px 5px 16px 5px; color:#fff; background:rgba(8,62,50,.88); font-size:1.5rem; }
.shop-category div { position:relative; z-index:1; display:flex; flex-direction:column; }
.shop-category strong { font:600 1.24rem Georgia,serif; }
.shop-category small { margin-top:5px; color:#66726d; font-size:.72rem; }
.shop-category > b { position:absolute; right:18px; bottom:21px; color:var(--forest); }
.products-section { background:#fff; }
.product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px 18px; }
.product-card { overflow:hidden; border:1px solid #e2e9e5; border-radius:18px 6px 18px 6px; background:#fff; transition:.25s ease; }
.product-card:hover { transform:translateY(-5px); box-shadow:0 22px 50px rgba(14,45,37,.1); }
.product-media { position:relative; overflow:hidden; aspect-ratio:1.12/1; background:#eee8dc; }
.product-media img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.product-card:hover .product-media img { transform:scale(1.045); }
.product-badge { position:absolute; left:13px; top:13px; padding:6px 9px; border-radius:999px; color:#fff; background:rgba(8,62,50,.88); font-size:.62rem; font-weight:850; letter-spacing:.04em; }
.wishlist-button { position:absolute; right:13px; top:13px; display:grid; place-items:center; width:36px; height:36px; border:0; border-radius:50%; color:var(--forest); background:rgba(255,255,255,.92); font-size:1.12rem; cursor:help; box-shadow:0 6px 16px rgba(0,0,0,.08); }
.product-reveal { position:absolute; left:12px; right:12px; bottom:-50px; padding:10px; border-radius:10px; color:#fff; background:rgba(8,62,50,.9); text-align:center; font-size:.68rem; font-weight:750; transition:.25s ease; }
.product-card:hover .product-reveal { bottom:12px; }
.product-info { padding:18px 18px 21px; }
.product-info > small { color:var(--muted); font-size:.66rem; font-weight:650; text-transform:uppercase; letter-spacing:.05em; }
.product-info > small span { color:var(--forest); }
.product-info h3 { margin:9px 0 10px; font-family:inherit; font-size:.98rem; font-weight:750; letter-spacing:-.01em; line-height:1.3; }
.rating { display:flex; gap:8px; align-items:center; font-size:.66rem; }
.rating b { color:#c48423; }.rating span { color:#86918c; }
.price-row { display:flex; align-items:baseline; gap:10px; margin-top:14px; }
.price-row strong { color:var(--forest-deep); font:600 1.12rem Georgia,serif; }
.price-row del { color:#98a19d; font-size:.73rem; }
.market-empty { padding:70px 20px; border:1px dashed #b7c8c0; border-radius:22px; background:#f9fbfa; text-align:center; }
.market-empty > span { font-size:2.5rem; color:var(--forest); }.market-empty h3 { margin:10px 0; }.market-empty p { color:var(--muted); }
.promo-section { padding-top:20px; background:#fff; }
.promo-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.promo-card { position:relative; min-height:400px; overflow:hidden; padding:42px; border-radius:24px 7px 24px 7px; }
.promo-card > *:not(img) { position:relative; z-index:2; }
.promo-card img { position:absolute; right:0; bottom:0; width:54%; height:100%; object-fit:cover; object-position:center; mask-image:linear-gradient(to right,transparent 0%,#000 35%); -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 35%); }
.promo-card h2 { max-width:66%; margin:18px 0 14px; font-size:2.45rem; }
.promo-card p { max-width:49%; font-size:.82rem; line-height:1.6; }
.promo-card a { display:inline-flex; margin-top:15px; font-size:.76rem; font-weight:800; }
.promo-label { font-size:.64rem; font-weight:850; letter-spacing:.14em; text-transform:uppercase; }
.promo-dark { color:#fff; background:#0b4437; }.promo-dark p { color:rgba(255,255,255,.7); }.promo-dark a,.promo-dark .promo-label { color:#f0cd78; }
.promo-light { color:var(--ink); background:#eadcc7; }.promo-light p { color:#5e665f; }.promo-light a,.promo-light .promo-label { color:var(--forest); }
.stores-section { background:#f5f2eb; }
.store-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.store-card { overflow:hidden; border-radius:22px 7px 22px 7px; background:#fff; box-shadow:0 14px 34px rgba(14,45,37,.05); }
.store-visual { position:relative; height:230px; overflow:hidden; }
.store-visual img { width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }.store-card:hover img { transform:scale(1.04); }
.store-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(transparent 52%,rgba(7,47,39,.38)); }
.store-visual span { position:absolute; z-index:2; left:20px; bottom:18px; display:grid; place-items:center; width:48px; height:48px; border:3px solid #fff; border-radius:14px 5px 14px 5px; color:#fff; background:var(--forest); font:600 1rem Georgia,serif; }
.store-info { display:flex; justify-content:space-between; align-items:center; gap:15px; padding:20px; }
.store-info h3 { margin:0; font-family:inherit; font-size:.93rem; font-weight:800; }.store-info h3 i { display:inline-grid; place-items:center; width:16px; height:16px; margin-left:4px; border-radius:50%; color:white; background:var(--forest); font-size:.57rem; font-style:normal; }
.store-info p { margin:5px 0 0; color:var(--muted); font-size:.68rem; }.store-info > strong { color:var(--forest); font-size:.76rem; }.store-info > strong small { color:#c48423; }
.seller-cta { padding:70px 0; background:#fff; }
.seller-cta-card { min-height:350px; display:flex; align-items:center; justify-content:space-between; gap:70px; padding:60px 70px; border-radius:28px 8px 28px 8px; color:#fff; background:radial-gradient(circle at 75% 15%,rgba(42,137,106,.55),transparent 28%),linear-gradient(135deg,#062e26,#0d5847); box-shadow:0 25px 70px rgba(8,62,50,.18); }
.seller-cta h2 { margin:18px 0; font-size:3.2rem; }.seller-cta p { max-width:640px; margin:0; color:rgba(255,255,255,.7); line-height:1.7; }
.seller-actions { min-width:220px; display:flex; flex-direction:column; align-items:center; gap:12px; }.seller-actions span { color:rgba(255,255,255,.55); font-size:.66rem; text-align:center; }
.btn-gold { color:#18352c; background:#e7bd60; border-color:#e7bd60; box-shadow:0 12px 28px rgba(231,189,96,.16); }.btn-gold:hover { color:#18352c; background:#f1cd7b; }
.eyebrow-light { color:#e7bd60; }.eyebrow-light::before { background:#fff; opacity:.5; }
.premium-footer { color:rgba(255,255,255,.72); background:#062e26; }
.footer-newsletter { min-height:190px; display:flex; align-items:center; justify-content:space-between; gap:40px; border-bottom:1px solid rgba(255,255,255,.11); }
.footer-newsletter h2 { max-width:680px; margin:14px 0 0; color:#fff; font-size:2.7rem; }
.footer-grid { display:grid; grid-template-columns:1.6fr repeat(3,1fr); gap:60px; padding-top:64px; padding-bottom:55px; }
.footer-grid h3 { margin:5px 0 22px; color:#fff; font-family:inherit; font-size:.76rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.footer-grid > div:not(.footer-about) { display:flex; flex-direction:column; align-items:flex-start; }
.footer-grid a { margin-bottom:12px; color:rgba(255,255,255,.62); font-size:.78rem; }.footer-grid a:hover { color:#e7bd60; }
.footer-brand { color:#fff; }.footer-brand:hover { color:#fff; }.footer-brand small { color:#e7bd60; }
.footer-about p { max-width:330px; margin:22px 0; color:rgba(255,255,255,.55); font-size:.8rem; line-height:1.7; }
.social-row { display:flex; gap:9px; }.social-row span { display:grid; place-items:center; width:32px; height:32px; border:1px solid rgba(255,255,255,.16); border-radius:50%; color:#fff; font-size:.64rem; font-weight:800; }
.footer-bottom { min-height:70px; display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid rgba(255,255,255,.1); font-size:.67rem; }
.footer-bottom div { display:flex; gap:22px; }

/* Authentication continuity */
.auth-shell { min-height:760px; background:#fff; }
.auth-story { position:relative; overflow:hidden; background-image:linear-gradient(rgba(5,43,35,.79),rgba(5,43,35,.9)),url('../images/hero-marketplace.webp'); background-size:cover; background-position:center; }
.auth-story::after { content:""; position:absolute; width:280px; height:280px; right:-120px; bottom:-100px; border:50px solid rgba(231,189,96,.15); border-radius:50%; }
.auth-story > * { position:relative; z-index:1; }
.auth-brand { color:#fff; }.auth-brand:hover { color:#fff; }.auth-brand small { color:#e7bd60; }
.auth-form-wrap { background:#fbfaf7; }
.auth-card { padding:40px; border:1px solid var(--line); border-radius:24px 8px 24px 8px; background:#fff; box-shadow:0 25px 65px rgba(14,45,37,.08); }
.auth-card h1 { font-size:2.8rem; }

/* Dashboard continuity */
.dashboard { background:#f7f5ef; }
.dash-header h1 { font-size:clamp(2.5rem,4.5vw,4rem); }
.panel,.stat-card,.table-wrap { box-shadow:0 14px 35px rgba(14,45,37,.045); }

@media (max-width: 1080px) {
    .header-main { grid-template-columns:auto 1fr auto; gap:20px; }
    .header-actions .header-action:nth-child(2) { display:none; }
    .category-shell { gap:18px; overflow:auto; scrollbar-width:none; }
    .category-card-grid { grid-template-columns:repeat(3,1fr); }
    .market-hero-copy { width:62%; padding:55px 45px; }
    .market-hero-card { min-height:560px; }
}
@media (max-width: 820px) {
    .announcement-shell > div { display:none; }
    .announcement-shell { justify-content:center; }
    .header-main { min-height:74px; grid-template-columns:auto auto; justify-content:space-between; }
    .global-search { grid-column:1/-1; grid-row:2; margin-bottom:14px; }
    .header-actions { display:none; }
    .menu-toggle { display:block; }
    .category-bar { display:none; }.category-bar.open { display:block; }
    .category-shell { max-height:70vh; display:grid; gap:0; padding-block:10px; overflow:auto; }
    .category-shell a,.category-shell form { padding:13px 4px; border:0; border-bottom:1px solid var(--line); }
    .category-utility { margin-left:0; }
    .market-hero-card { min-height:660px; align-items:flex-end; background-image:linear-gradient(0deg,rgba(249,240,219,.99) 0%,rgba(249,240,219,.95) 47%,rgba(249,240,219,.06) 75%),var(--hero-image); background-position:67% center; }
    .market-hero-copy { width:100%; padding:38px 34px; }
    .market-hero h1 { font-size:4rem; }
    .hero-floating-note { top:22px; right:20px; bottom:auto; }
    .trust-strip-grid { grid-template-columns:1fr 1fr; }.trust-strip-grid > div:nth-child(3) { border-left:1px solid var(--line); }.trust-strip-grid > div { justify-content:flex-start; padding:0 18px; }
    .product-grid { grid-template-columns:1fr 1fr; }
    .promo-grid,.store-grid { grid-template-columns:1fr; }
    .seller-cta-card,.footer-newsletter { align-items:flex-start; flex-direction:column; justify-content:center; }
    .footer-grid { grid-template-columns:1.4fr 1fr 1fr; }.footer-grid > div:last-child { display:none; }
}
@media (max-width: 560px) {
    .container { width:min(100% - 24px,1180px); }
    .announcement-bar { text-align:center; }
    .market-brand b { font-size:1.2rem; }.market-brand img { width:38px;height:38px; }
    .global-search { grid-template-columns:20px 1fr auto; }.global-search button { min-width:70px; }
    .market-hero { padding-top:12px; }.market-hero-card { min-height:620px; border-radius:18px 5px 18px 5px; }.market-hero-copy { padding:28px 23px; }.market-hero h1 { font-size:3.15rem; }.market-hero-copy > p { font-size:.9rem; }.hero-actions { align-items:flex-start; flex-direction:column; }.hero-proof { gap:17px; }.hero-proof span { font-size:.59rem; }
    .hero-floating-note { display:none; }
    .trust-strip-grid { grid-template-columns:1fr; }.trust-strip-grid > div { min-height:82px; border-left:1px solid var(--line); border-bottom:1px solid var(--line); }
    .commerce-section { padding:58px 0; }.commerce-heading { align-items:flex-start; flex-direction:column; }.commerce-heading h2 { font-size:2.45rem; }
    .category-card-grid { grid-template-columns:1fr 1fr; }.shop-category { min-height:155px; padding:17px; }.category-card-grid .shop-category:last-child { grid-column:1/-1; }
    .product-grid { grid-template-columns:1fr; }.product-media { aspect-ratio:1.2/1; }
    .promo-card { min-height:430px; padding:30px; }.promo-card h2 { max-width:78%; font-size:2rem; }.promo-card p { max-width:65%; }.promo-card img { width:64%; }
    .seller-cta-card { padding:45px 28px; }.seller-cta h2 { font-size:2.45rem; }
    .footer-newsletter { padding-block:45px; }.footer-newsletter h2 { font-size:2.15rem; }
    .footer-grid { grid-template-columns:1fr 1fr; gap:40px 24px; }.footer-about { grid-column:1/-1; }.footer-bottom { align-items:flex-start; flex-direction:column; padding-block:24px; }.footer-bottom div { flex-wrap:wrap; gap:10px 16px; }
    .auth-card { padding:28px 22px; }
}

/* Stage 3 — vendor onboarding, review and storefront */
.vendor-workspace { min-height:760px; padding:46px 0 84px; background:#f6f4ee; }
.vendor-page-head { display:flex; justify-content:space-between; align-items:flex-end; gap:30px; margin-bottom:30px; }
.vendor-page-head h1 { margin:8px 0 8px; font-size:clamp(2.7rem,5vw,4.4rem); }
.vendor-page-head p { max-width:680px; margin:0; color:var(--muted); line-height:1.65; }
.application-score { display:flex; align-items:center; gap:15px; padding:13px 18px; border:1px solid var(--line); border-radius:18px 6px 18px 6px; background:#fff; box-shadow:0 12px 32px rgba(14,45,37,.05); }
.application-score > div:last-child { display:flex; flex-direction:column; align-items:flex-start; gap:5px; }.application-score small { color:var(--muted); font-size:.67rem; }
.score-ring { --score:0; width:62px; height:62px; display:grid; place-items:center; border-radius:50%; background:conic-gradient(var(--forest) calc(var(--score) * 3.6deg),#e4ebe7 0); position:relative; }
.score-ring::after { content:""; position:absolute; inset:6px; border-radius:50%; background:#fff; }.score-ring strong { position:relative; z-index:1; font-size:.74rem; }
.vendor-status { display:inline-flex; align-items:center; padding:6px 9px; border-radius:999px; font-size:.62rem; font-weight:850; letter-spacing:.04em; text-transform:uppercase; white-space:nowrap; }
.vendor-status-draft,.vendor-status-pending { color:#6e591c; background:#fbefc9; }.vendor-status-submitted,.vendor-status-under_review { color:#23547d; background:#e1effa; }.vendor-status-changes_required,.vendor-status-rejected,.vendor-status-suspended,.vendor-status-removed { color:#92323b; background:#fbe5e7; }.vendor-status-approved,.vendor-status-active { color:#176047; background:#dff4e9; }.vendor-status-holiday { color:#7e5712; background:#fff0ca; }
.vendor-notice { display:flex; gap:15px; align-items:flex-start; padding:18px 20px; margin-bottom:22px; border:1px solid; border-radius:16px 5px 16px 5px; }
.vendor-notice > span { display:grid; place-items:center; flex:0 0 34px; width:34px; height:34px; border-radius:50%; font-weight:900; }.vendor-notice strong { display:block; margin-bottom:4px; }.vendor-notice p { margin:0; font-size:.8rem; line-height:1.55; }
.notice-review { color:#255475; background:#eaf4fb; border-color:#c9e0f0; }.notice-review > span { background:#cee5f5; }.notice-action { color:#735512; background:#fff7dc; border-color:#ecd998; }.notice-action > span { background:#f4dfa2; }.notice-danger { color:#86303a; background:#fff0f1; border-color:#ecc9cd; }.notice-danger > span { background:#f3d4d8; }.notice-neutral { color:#245746; background:#edf8f3; border-color:#cde7dc; }.notice-neutral > span { background:#d8eee5; }
.onboarding-grid { display:grid; grid-template-columns:300px 1fr; gap:22px; align-items:start; }
.onboarding-nav { position:sticky; top:178px; padding:18px; }
.onboarding-progress { height:5px; margin:0 5px 18px; overflow:hidden; border-radius:999px; background:#e7edea; }.onboarding-progress span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--forest),#36a07e); }
.onboarding-step { display:grid; grid-template-columns:36px 1fr auto; align-items:center; gap:11px; padding:14px 10px; margin-bottom:4px; border-radius:12px; color:#53615b; }
.onboarding-step:hover,.onboarding-step.active { color:var(--ink); background:#edf7f2; }.onboarding-step i { display:grid; place-items:center; width:34px; height:34px; border:1px solid #cfdad5; border-radius:11px 4px 11px 4px; background:#fff; font-style:normal; font-size:.76rem; font-weight:800; }.onboarding-step.active i { color:#fff; border-color:var(--forest); background:var(--forest); }.onboarding-step span { display:flex; flex-direction:column; }.onboarding-step b { font-size:.76rem; }.onboarding-step small { margin-top:3px; color:#87908c; font-size:.62rem; }.onboarding-step em { color:var(--forest); font-style:normal; font-weight:900; }
.onboarding-help { display:flex; gap:10px; padding:15px; margin-top:18px; border-radius:12px; color:#e7f0ec; background:var(--forest-deep); }.onboarding-help > span { color:#e7bd60; }.onboarding-help b { display:block; font-size:.68rem; }.onboarding-help p { margin:4px 0 0; color:rgba(255,255,255,.6); font-size:.61rem; line-height:1.45; }
.onboarding-main { min-height:650px; padding:36px; }.onboarding-main .panel-header { align-items:flex-start; padding-bottom:21px; margin-bottom:26px; border-bottom:1px solid var(--line); }.onboarding-main .panel-header h2 { margin:5px 0 8px; font-size:2.2rem; }.onboarding-main .panel-header p { margin:0; color:var(--muted); font-size:.8rem; }
.step-kicker { color:var(--forest); font-size:.62rem; font-weight:850; letter-spacing:.11em; text-transform:uppercase; }.optional { color:#8c9691; font-size:.65rem; font-weight:500; }
.textarea { height:auto; min-height:110px; resize:vertical; padding-top:12px; line-height:1.55; }
.form-action-row { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:28px; padding-top:20px; border-top:1px solid var(--line); }.form-action-row > span { color:var(--muted); font-size:.68rem; }
.document-upload { padding:22px; border:1px solid var(--line); border-radius:16px; background:#fafcfb; }
.file-drop { min-height:135px; display:flex; flex-direction:column; align-items:center; justify-content:center; margin:5px 0 16px; border:1px dashed #96b4a8; border-radius:14px; background:#f2f9f6; cursor:pointer; }.file-drop:hover { border-color:var(--forest); }.file-drop > span { color:var(--forest); font-size:1.7rem; }.file-drop b { margin-top:4px; font-size:.78rem; }.file-drop small { margin-top:4px; color:var(--muted); font-size:.64rem; }.file-drop input { position:absolute; width:1px; height:1px; opacity:0; }
.document-list { margin-top:28px; }.document-list > h3,.vendor-visible-notes > h3 { margin-bottom:14px; font-family:inherit; font-size:.82rem; font-weight:850; }
.document-item { display:grid; grid-template-columns:auto 1fr auto auto; align-items:center; gap:13px; padding:14px 0; border-bottom:1px solid var(--line); }.doc-icon { display:grid; place-items:center; width:43px; height:43px; border-radius:12px 4px 12px 4px; color:var(--forest); background:var(--mint); font-size:.58rem; font-weight:900; }.document-item > div,.doc-summary > div { display:flex; flex-direction:column; }.document-item strong { font-size:.74rem; }.document-item small,.doc-summary small { margin-top:3px; color:var(--muted); font-size:.61rem; }.document-item p { margin:5px 0 0; color:#8a3941; font-size:.64rem; }
.empty-inline { padding:20px; border:1px dashed #c4d1cb; border-radius:12px; color:var(--muted); background:#fafcfb; text-align:center; font-size:.72rem; }
.vendor-visible-notes { margin-top:24px; }.vendor-visible-notes > div { padding:15px; margin-top:8px; border-left:3px solid var(--gold); background:#fff8e8; }.vendor-visible-notes strong { font-size:.7rem; }.vendor-visible-notes p { margin:5px 0; font-size:.72rem; }.vendor-visible-notes small { color:var(--muted); font-size:.6rem; }
.check-row { display:flex; align-items:flex-start; gap:10px; cursor:pointer; }.check-row input { margin-top:3px; accent-color:var(--forest); }.check-row span { color:#4f5d57; font-size:.75rem; line-height:1.5; }
.submit-application { padding:20px; margin-top:24px; border-radius:14px; background:#f6f8f7; }.submit-application button:disabled { opacity:.48; cursor:not-allowed; transform:none; }
.mini-progress { width:80px; height:5px; overflow:hidden; border-radius:999px; background:#e2eae6; }.mini-progress span { display:block; height:100%; background:var(--forest); }.stat-link { color:var(--ink); }.stat-link:hover { color:var(--ink); border-color:#a9c3b8; transform:translateY(-2px); }
.vendor-filter { width:min(720px,100%); }.vendor-filter .form-select { max-width:180px; }
.back-link { display:block; margin-bottom:16px; color:var(--muted); font-size:.72rem; font-weight:700; }
.review-layout { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:20px; align-items:start; }.review-layout > aside { display:grid; gap:20px; position:sticky; top:178px; }.review-section { margin-bottom:20px; }.review-section:last-child { margin-bottom:0; }
.data-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px 28px; }.data-grid > div { display:flex; flex-direction:column; padding-bottom:13px; border-bottom:1px solid var(--line); }.data-grid .span-two { grid-column:1/-1; }.data-grid small { color:var(--muted); font-size:.62rem; text-transform:uppercase; letter-spacing:.06em; }.data-grid strong { margin-top:5px; font-size:.79rem; font-weight:700; line-height:1.45; }
.review-documents { display:grid; gap:12px; }.review-document { padding:15px; border:1px solid var(--line); border-radius:13px; }.doc-summary { display:flex; align-items:center; gap:12px; margin-bottom:12px; }.document-review-form { display:grid; grid-template-columns:130px 1fr auto; gap:8px; margin-top:12px; }.document-review-form .form-select,.document-review-form .form-control { height:38px; font-size:.72rem; }
.review-note-list { display:grid; gap:10px; margin-top:20px; }.review-note-list > div { position:relative; padding:15px; border:1px solid var(--line); border-radius:12px; }.review-note-list strong { display:block; font-size:.7rem; }.review-note-list p { margin:6px 0; font-size:.74rem; line-height:1.55; }.review-note-list small { color:var(--muted); font-size:.6rem; }.visibility-pill { float:right; padding:4px 7px; border-radius:999px; color:var(--forest); background:var(--mint); font-size:.55rem; font-weight:800; }
.decision-panel .alert { margin-bottom:0; font-size:.68rem; }.timeline-panel { padding-bottom:12px; }.status-timeline > div { position:relative; padding:0 0 20px 23px; border-left:1px solid #cdd8d3; }.status-timeline > div:last-child { border-left-color:transparent; }.status-timeline i { position:absolute; left:-5px; top:2px; width:9px; height:9px; border:2px solid #fff; border-radius:50%; background:var(--forest); box-shadow:0 0 0 2px #9ab9ac; }.status-timeline small,.status-timeline span { display:block; color:var(--muted); font-size:.58rem; }.status-timeline strong { display:block; margin:4px 0; font-size:.7rem; }.status-timeline p { margin:0 0 5px; font-size:.66rem; line-height:1.45; }

/* Approved vendor workspace */
.vendor-shell { display:grid; grid-template-columns:245px minmax(0,1fr); gap:20px; align-items:start; }.vendor-sidebar { position:sticky; top:178px; padding:15px; }.vendor-sidebar-brand { display:flex; align-items:center; gap:10px; padding:8px 7px 18px; border-bottom:1px solid var(--line); }.vendor-sidebar-brand > span { display:grid; place-items:center; width:40px; height:40px; border-radius:13px 5px 13px 5px; color:#fff; background:var(--forest); font:600 .8rem Georgia,serif; }.vendor-sidebar-brand > div { min-width:0; display:flex; flex-direction:column; }.vendor-sidebar-brand strong { overflow:hidden; font-size:.72rem; text-overflow:ellipsis; white-space:nowrap; }.vendor-sidebar-brand small { margin-top:3px; color:var(--muted); font-size:.58rem; }
.vendor-sidebar nav { display:grid; gap:3px; padding:14px 0; }.vendor-sidebar nav a,.vendor-sidebar nav > span:not(.vendor-nav-label) { display:flex; align-items:center; gap:10px; padding:11px; border-radius:10px; color:#52605a; font-size:.7rem; font-weight:700; }.vendor-sidebar nav a:hover,.vendor-sidebar nav a.active { color:var(--forest); background:#eaf6f0; }.vendor-sidebar nav i { display:grid; place-items:center; width:22px; font-style:normal; font-size:.9rem; }.vendor-sidebar nav .disabled { color:#a3aba7; }.vendor-sidebar nav .disabled span { flex:1; display:flex; justify-content:space-between; }.vendor-sidebar nav .disabled b { padding:3px 5px; border-radius:4px; background:#f0f2f1; font-size:.48rem; }.vendor-nav-label { padding:14px 10px 5px; color:#9ca5a1; font-size:.53rem; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }.view-store-link { display:flex; align-items:center; justify-content:space-between; padding:12px; border-radius:10px; color:#fff; background:var(--forest-deep); font-size:.66rem; font-weight:800; }
.vendor-content { min-width:0; }.verified-card { display:flex; align-items:center; gap:12px; padding:12px 16px; border-radius:15px 5px 15px 5px; color:#fff; background:var(--forest); }.verified-card > span { display:grid; place-items:center; width:31px; height:31px; border-radius:50%; color:var(--forest); background:#e5c572; font-weight:900; }.verified-card div { display:flex; flex-direction:column; }.verified-card small { color:rgba(255,255,255,.62); font-size:.58rem; }.verified-card strong { margin-top:2px; font-size:.72rem; }
.vendor-stat-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:18px; }.vendor-stat-grid article { padding:18px; border:1px solid var(--line); border-radius:16px 5px 16px 5px; background:#fff; box-shadow:0 10px 25px rgba(14,45,37,.035); }.vendor-stat-grid span { color:var(--muted); font-size:.61rem; font-weight:750; text-transform:uppercase; letter-spacing:.05em; }.vendor-stat-grid strong { display:block; margin:10px 0 4px; font:600 1.65rem Georgia,serif; }.vendor-stat-grid small { color:#8b9590; font-size:.58rem; }
.vendor-dashboard-grid { display:grid; grid-template-columns:1.25fr .75fr; gap:18px; }.launch-checklist { display:grid; gap:10px; }.launch-checklist > div { display:grid; grid-template-columns:38px 1fr auto; align-items:center; gap:12px; padding:13px; border:1px solid var(--line); border-radius:12px; }.launch-checklist i { display:grid; place-items:center; width:35px; height:35px; border-radius:11px 4px 11px 4px; color:#6d7873; background:#edf0ee; font-style:normal; font-size:.7rem; font-weight:850; }.launch-checklist .done i { color:#fff; background:var(--forest); }.launch-checklist span { display:flex; flex-direction:column; }.launch-checklist strong { font-size:.7rem; }.launch-checklist small { margin-top:3px; color:var(--muted); font-size:.59rem; }.launch-checklist a { font-size:.63rem; font-weight:800; }.launch-checklist > div > b { padding:5px 7px; border-radius:999px; color:#795b14; background:#fff0c9; font-size:.51rem; }
.notification-mini-list { display:grid; }.notification-mini-list > a { display:flex; gap:10px; padding:11px 0; border-bottom:1px solid var(--line); color:var(--ink); }.notification-mini-list i { flex:0 0 7px; width:7px; height:7px; margin-top:5px; border-radius:50%; background:#cfd7d3; }.notification-mini-list i.unread { background:#d7982f; box-shadow:0 0 0 3px #f8e8c8; }.notification-mini-list div { display:flex; flex-direction:column; }.notification-mini-list strong { font-size:.67rem; }.notification-mini-list p { margin:3px 0; color:var(--muted); font-size:.59rem; line-height:1.4; }.notification-mini-list small { color:#9aa29e; font-size:.53rem; }
.commerce-preview { position:relative; overflow:hidden; display:flex; justify-content:space-between; align-items:center; margin-top:18px; color:#fff; background:linear-gradient(135deg,#083e32,#15705a); }.commerce-preview h2 { margin:10px 0; font-size:2rem; }.commerce-preview p { max-width:620px; margin:0; color:rgba(255,255,255,.65); font-size:.75rem; line-height:1.55; }.commerce-preview-icon { display:grid; place-items:center; width:100px; height:100px; border:22px solid rgba(255,255,255,.08); border-radius:50%; font-size:2rem; }
.store-editor-section { margin-bottom:18px; }.store-brand-editor { display:grid; grid-template-columns:.55fr 1.45fr; gap:14px; margin-bottom:22px; }.brand-upload { overflow:hidden; display:flex; flex-direction:column; border:1px solid var(--line); border-radius:14px; background:#fafcfb; cursor:pointer; }.brand-upload > div { display:flex; flex-direction:column; padding:12px; }.brand-upload strong { font-size:.68rem; }.brand-upload small { margin-top:3px; color:var(--muted); font-size:.57rem; }.brand-upload input { margin-top:8px; font-size:.62rem; }.brand-preview,.banner-preview { overflow:hidden; display:grid; place-items:center; background:#e7eee9; }.brand-preview { height:150px; }.banner-preview { height:150px; }.brand-preview img,.banner-preview img { width:100%; height:100%; object-fit:cover; }.brand-preview b { display:grid; place-items:center; width:70px; height:70px; border-radius:22px 7px 22px 7px; color:#fff; background:var(--forest); font:600 1.5rem Georgia,serif; }
.input-prefix { height:48px; display:flex; align-items:center; overflow:hidden; border:1px solid #ccd8d2; border-radius:11px; background:#f4f6f5; }.input-prefix span { padding-left:12px; color:#7d8983; font-size:.65rem; }.input-prefix .form-control { border:0; background:transparent; box-shadow:none; padding-left:2px; }
.business-hours-editor { display:grid; }.hours-row { display:grid; grid-template-columns:110px 90px 1fr auto 1fr; align-items:center; gap:10px; padding:9px 0; border-bottom:1px solid var(--line); }.hours-row strong { font-size:.7rem; }.hours-row .form-control { height:38px; font-size:.7rem; }.hours-row > span { color:var(--muted); font-size:.62rem; }.switch-label { display:flex; align-items:center; gap:6px; margin:0; font-size:.62rem; cursor:pointer; }.switch-label input { accent-color:var(--forest); }
.sticky-save { position:sticky; z-index:8; bottom:14px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:14px 16px; border:1px solid rgba(255,255,255,.16); border-radius:16px 5px 16px 5px; color:#fff; background:rgba(7,47,39,.94); box-shadow:0 18px 45px rgba(7,47,39,.25); backdrop-filter:blur(12px); }.sticky-save > div { display:flex; flex-direction:column; }.sticky-save strong { font-size:.72rem; }.sticky-save span { margin-top:3px; color:rgba(255,255,255,.58); font-size:.58rem; }
.notification-list { display:grid; }.notification-row { display:grid; grid-template-columns:40px 1fr; gap:13px; padding:17px; border-bottom:1px solid var(--line); }.notification-row.unread { background:#f3faf7; }.notification-symbol { display:grid; place-items:center; width:38px; height:38px; border-radius:12px 4px 12px 4px; color:var(--forest); background:var(--mint); }.notification-row > div > div { display:flex; justify-content:space-between; gap:15px; }.notification-row strong { font-size:.73rem; }.notification-row small { color:var(--muted); font-size:.58rem; }.notification-row p { margin:5px 0; color:#59665f; font-size:.69rem; line-height:1.5; }

/* Team access */
.team-layout { display:grid; grid-template-columns:1.35fr .65fr; gap:18px; }.team-list { display:grid; }.team-list article { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:12px; padding:15px 0; border-bottom:1px solid var(--line); }.team-list article .inline-form { grid-column:2/-1; }.team-avatar { display:grid; place-items:center; width:42px; height:42px; border-radius:13px 5px 13px 5px; color:#fff; background:var(--forest); font:600 .7rem Georgia,serif; }.team-person { display:flex; flex-direction:column; }.team-person strong { font-size:.72rem; }.team-person small { color:var(--muted); font-size:.59rem; }.team-person p { margin:4px 0 0; color:#718078; font-size:.6rem; line-height:1.4; }.permission-fieldset { display:grid; gap:7px; padding:0; margin:0 0 18px; border:0; }.permission-fieldset legend { margin-bottom:8px; font-size:.72rem; font-weight:800; }.permission-option { display:flex; gap:9px; padding:9px; margin:0; border:1px solid var(--line); border-radius:10px; cursor:pointer; }.permission-option:has(input:checked) { border-color:#9fc7b6; background:#eef8f3; }.permission-option input { margin-top:2px; accent-color:var(--forest); }.permission-option span { display:flex; flex-direction:column; }.permission-option strong { font-size:.64rem; }.permission-option small { margin-top:2px; color:var(--muted); font-size:.54rem; }.pending-invites { margin-top:18px; }.invite-row { display:flex; justify-content:space-between; align-items:center; gap:15px; padding:13px 0; border-bottom:1px solid var(--line); }.invite-row > div { display:flex; flex-direction:column; }.invite-row strong { font-size:.7rem; }.invite-row small { margin-top:3px; color:var(--muted); font-size:.58rem; }.invite-permission-summary { display:grid; gap:7px; padding:15px; margin:20px 0; border-radius:12px; background:#f1f7f4; }.invite-permission-summary small { color:var(--muted); font-size:.58rem; text-transform:uppercase; letter-spacing:.08em; }.invite-permission-summary span { color:#335b4c; font-size:.7rem; }

/* Public vendor storefront */
.storefront { padding:26px 0 80px; background:#fff; }.store-cover { position:relative; height:390px; border-radius:26px 8px 0 0; background-image:linear-gradient(0deg,rgba(5,39,32,.32),transparent 45%),var(--store-banner); background-size:cover; background-position:center; }.holiday-banner { position:absolute; left:20px; right:20px; top:18px; padding:12px 16px; border-radius:10px; color:#573e0b; background:rgba(255,241,202,.95); font-size:.7rem; }.holiday-banner span { margin-right:10px; font-weight:850; text-transform:uppercase; }
.store-identity { position:relative; display:grid; grid-template-columns:120px 1fr auto; gap:20px; align-items:center; padding:0 34px 26px; border:1px solid var(--line); border-top:0; }.store-identity > img { width:112px; height:112px; margin-top:-48px; border:5px solid #fff; border-radius:25px 8px 25px 8px; background:#fff; object-fit:cover; box-shadow:0 15px 35px rgba(14,45,37,.16); }.store-title-row { display:flex; align-items:center; gap:12px; }.store-title-row h1 { margin:14px 0 4px; font-size:2.5rem; }.verified-badge { padding:6px 9px; border-radius:999px; color:var(--forest); background:var(--mint); font-size:.59rem; font-weight:850; }.store-identity p { margin:0; color:var(--muted); font-size:.76rem; }.store-meta { display:flex; flex-wrap:wrap; gap:16px; margin-top:10px; color:#506058; font-size:.62rem; font-weight:700; }
.store-tabs { display:flex; gap:30px; padding:0 34px; border:1px solid var(--line); border-top:0; background:#fff; }.store-tabs a { position:relative; padding:16px 0; color:#66736d; font-size:.7rem; font-weight:750; }.store-tabs a.active,.store-tabs a:hover { color:var(--forest); }.store-tabs a.active::after { content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px; background:var(--forest); }
.store-section { padding:70px 0; }.store-product-preview { position:relative; display:grid; grid-template-columns:repeat(3,1fr); gap:14px; overflow:hidden; }.store-product-preview article { height:300px; overflow:hidden; border-radius:17px 6px 17px 6px; background:#eee; }.store-product-preview img { width:100%; height:100%; object-fit:cover; filter:saturate(.65); }.store-product-preview article span { display:none; }.catalog-overlay { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#fff; background:rgba(5,47,38,.78); text-align:center; backdrop-filter:blur(3px); }.catalog-overlay > span { font-size:2rem; }.catalog-overlay h3 { margin:10px 0; color:#fff; }.catalog-overlay p { max-width:520px; margin:0; color:rgba(255,255,255,.7); font-size:.75rem; }
.store-detail-grid { display:grid; grid-template-columns:1.3fr .7fr; gap:18px; }.store-detail-grid h2 { margin:12px 0 18px; font-size:2.4rem; }.store-description { color:#59665f; font-size:.8rem; line-height:1.8; }.store-contact-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:24px; }.store-contact-grid > div { display:flex; flex-direction:column; padding:12px; border-radius:10px; background:#f7f9f8; }.store-contact-grid small,.store-address small { color:var(--muted); font-size:.57rem; text-transform:uppercase; letter-spacing:.06em; }.store-contact-grid a,.store-contact-grid span { margin-top:5px; color:var(--ink); font-size:.66rem; font-weight:700; }.store-socials { display:flex; gap:12px; margin-top:18px; }.store-socials a { font-size:.66rem; font-weight:800; }.public-hours { display:grid; margin-top:14px; }.public-hours div { display:flex; justify-content:space-between; gap:15px; padding:9px 0; border-bottom:1px solid var(--line); font-size:.66rem; }.public-hours strong { font-weight:650; }.store-address { margin-top:20px; padding:15px; border-radius:10px; background:#f4f8f6; }.store-address p { margin:5px 0 0; font-size:.69rem; line-height:1.5; }
.policy-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }.policy-grid article { min-height:220px; padding:23px; border:1px solid var(--line); border-radius:18px 6px 18px 6px; background:#fff; }.policy-grid article > span { display:grid; place-items:center; width:42px; height:42px; border-radius:13px 5px 13px 5px; color:var(--forest); background:var(--mint); font-weight:900; }.policy-grid h3 { margin:20px 0 10px; }.policy-grid p { margin:0; color:var(--muted); font-size:.7rem; line-height:1.65; }

@media (max-width: 1050px) {
    .onboarding-grid,.vendor-shell { grid-template-columns:220px 1fr; }.review-layout { grid-template-columns:1fr; }.review-layout > aside { position:static; grid-template-columns:1fr 1fr; }.vendor-stat-grid { grid-template-columns:1fr 1fr; }.vendor-dashboard-grid,.team-layout { grid-template-columns:1fr; }.policy-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width: 800px) {
    .vendor-page-head { align-items:flex-start; flex-direction:column; }.onboarding-grid,.vendor-shell { grid-template-columns:1fr; }.onboarding-nav,.vendor-sidebar { position:static; }.onboarding-nav { display:grid; grid-template-columns:1fr 1fr; }.onboarding-progress,.onboarding-help { grid-column:1/-1; }.vendor-sidebar nav { grid-template-columns:1fr 1fr; }.vendor-sidebar .vendor-nav-label,.vendor-sidebar nav .disabled { display:none; }.view-store-link { margin-top:8px; }.document-item { grid-template-columns:auto 1fr auto; }.document-item > a { grid-column:2/-1; justify-self:start; }.store-brand-editor { grid-template-columns:1fr; }.store-identity { grid-template-columns:90px 1fr; padding-inline:20px; }.store-identity > img { width:85px;height:85px; }.store-identity > .btn { grid-column:1/-1; justify-self:start; }.store-tabs { overflow:auto; padding-inline:20px; }.store-product-preview { grid-template-columns:1fr 1fr; }.store-product-preview article:last-of-type { display:none; }.store-detail-grid { grid-template-columns:1fr; }
}
@media (max-width: 560px) {
    .vendor-workspace { padding-top:32px; }.application-score { width:100%; }.onboarding-nav { grid-template-columns:1fr; }.onboarding-progress,.onboarding-help { grid-column:auto; }.onboarding-main { padding:24px 18px; }.document-item { grid-template-columns:auto 1fr; }.document-item .vendor-status { grid-column:2; justify-self:start; }.document-review-form { grid-template-columns:1fr; }.review-layout > aside { grid-template-columns:1fr; }.data-grid { grid-template-columns:1fr; }.data-grid .span-two { grid-column:auto; }.vendor-filter { flex-direction:column; }.vendor-filter .form-select { max-width:none; }.vendor-stat-grid { grid-template-columns:1fr 1fr; }.vendor-sidebar nav { grid-template-columns:1fr; }.vendor-dashboard-grid { grid-template-columns:1fr; }.hours-row { grid-template-columns:1fr auto; }.hours-row .form-control,.hours-row > span { display:none; }.sticky-save { align-items:flex-start; flex-direction:column; }.team-list article { grid-template-columns:auto 1fr; }.team-list article > .vendor-status { grid-column:2; justify-self:start; }.team-list article .inline-form { grid-column:1/-1; }.store-cover { height:260px; }.store-identity { grid-template-columns:1fr; }.store-identity > img { margin-top:-44px; }.store-title-row { align-items:flex-start; flex-direction:column; }.store-title-row h1 { font-size:2rem; }.store-meta { flex-direction:column; gap:6px; }.store-product-preview { grid-template-columns:1fr; }.store-product-preview article:nth-child(2) { display:none; }.store-contact-grid,.policy-grid { grid-template-columns:1fr; }.store-section { padding:50px 0; }
}
