.vendor-page-shell{min-height:100vh;background:#f5f6f3;color:#20231f}.vendor-page-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px clamp(18px,4vw,56px);border-bottom:1px solid #dde1d9;background:rgba(255,255,255,.96);backdrop-filter:blur(14px)}.vendor-page-brand{display:flex;align-items:center;gap:13px;color:inherit;text-decoration:none}.vendor-page-brand svg{width:38px;height:38px}.vendor-page-brand span{display:grid;gap:2px}.vendor-page-brand strong{font-family:Sora,sans-serif;font-size:16px}.vendor-page-brand small{color:#6a7168}.vendor-page-header nav{display:flex;flex-wrap:wrap;gap:8px}.vendor-page-main{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:36px 0 72px}.vendor-page-main>.marketplace-portal{padding:0}.marketplace-portal-intro{margin-bottom:26px}.marketplace-portal-intro h1{margin:7px 0 8px;font-family:Sora,sans-serif;font-size:clamp(28px,4vw,44px)}.marketplace-portal-standalone [data-vendor-body]>.actions{margin:18px 0 28px}.marketplace-portal-standalone .inventory-card{border-radius:16px;background:#fff;box-shadow:0 8px 30px rgba(39,49,35,.06)}.vendor-page-loading{display:grid;min-height:100vh;place-items:center;background:#f5f6f3;color:#626a60}.marketplace-portal [data-vendor-error]:not(:empty){margin:14px 0;padding:12px 14px;border:1px solid #efc7c7;border-radius:10px;background:#fff4f4;color:#842424}@media(max-width:700px){.vendor-page-header{align-items:flex-start;flex-direction:column}.vendor-page-header nav{width:100%}.vendor-page-header nav>*{flex:1}.vendor-page-main{width:min(100% - 24px,1180px);padding-top:24px}}

/* Catalogue health: the two gaps that actually cost a supplier orders. */
.vendor-health{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:12px 0}
.vendor-stat{padding:12px 14px;border:1px solid #dde1d9;border-radius:14px;background:#fff}
.vendor-stat b{display:block;font:700 24px/1 Sora,sans-serif;color:#20231f}
.vendor-stat small{display:block;margin-top:5px;color:#6a7168;font-size:11px;line-height:1.4}
.vendor-stat.good b{color:#295d2d}
.vendor-stat.warn{border-color:#e9d6ad;background:#fdf8ee}
.vendor-stat.warn b{color:#8a6212}
.vendor-health-hint{margin:0 0 18px;color:#6a7168;font-size:12px;line-height:1.5}
.vendor-offer-flags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.vendor-flag{border:1px solid #dde1d9;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700;background:#fff;color:#5a6158}
.vendor-flag.on{background:#eef5ec;border-color:#cfe2ca;color:#295d2d}
.vendor-flag.warn{background:#fdf4e7;border-color:#efdcbe;color:#7a5310}
.vendor-flag.off{background:#f3f4f1;color:#6a7168}
/* Commission statement: reversals are negative and must read as corrections. */
.vendor-fees{width:100%;border-collapse:collapse;font-size:12px;min-width:640px}
.vendor-fees th,.vendor-fees td{text-align:left;border-bottom:1px solid #e5e8e2;padding:9px 10px;white-space:nowrap}
.vendor-fees th{color:#6a7168;font-weight:600;font-size:11px}
.vendor-fees td:last-child,.vendor-fees th:last-child{text-align:right;font-variant-numeric:tabular-nums}
.vendor-fees tr.is-reversal td{color:#7a5310;background:#fdf8ee}

/* Seller workspace: make the daily jobs obvious before legal and setup tools. */
.marketplace-portal-standalone .marketplace-portal-intro{display:none}
.marketplace-portal [data-vendor-body]{display:grid;gap:22px}
.vendor-account-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:4px 0 2px}
.vendor-account-head>div:first-child{min-width:0}.vendor-account-head h2{margin:14px 0 8px;font:700 clamp(25px,4vw,38px)/1.08 Sora,sans-serif;letter-spacing:-.035em}
.vendor-account-head>[data-vendor-action="refresh"]{flex:0 0 auto}
.vendor-kicker{display:block;color:#6a7168;font-size:10px;font-weight:800;letter-spacing:.12em}
.vendor-status-line{display:flex;flex-wrap:wrap;gap:7px}
.vendor-status{display:inline-flex;align-items:center;min-height:28px;padding:4px 10px;border:1px solid #d9ddd5;border-radius:999px;background:#fff;color:#515750;font-size:11px;font-weight:700}
.vendor-status.status-active,.vendor-status.verified{border-color:#c7ddc3;background:#edf6eb;color:#245e2a}
.vendor-status.status-suspended,.vendor-status.status-rejected{border-color:#ebcaca;background:#fff2f2;color:#842a2a}
.vendor-status.status-onboarding,.vendor-status.pending{border-color:#ead4a9;background:#fff8e9;color:#76530e}
.vendor-next-step{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid #e6cf9e;border-radius:17px;background:#fff8e9}
.vendor-next-step>div{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border-radius:12px;background:#20231f;color:#fff;font-weight:800}
.vendor-next-step>span{display:grid;gap:4px;min-width:0;flex:1}.vendor-next-step strong{font:700 14px Sora,sans-serif}.vendor-next-step small{color:#6f644f;font-size:12px;line-height:1.45}
.vendor-action-groups{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.vendor-action-groups>article{display:flex;align-items:flex-start;gap:14px;padding:20px;border:1px solid #dfe3db;border-radius:18px;background:#fff;box-shadow:0 8px 28px rgba(39,49,35,.045)}
.vendor-action-groups>article>div{min-width:0;flex:1}.vendor-action-groups h3{margin:0;font:700 16px Sora,sans-serif}.vendor-action-groups p{margin:5px 0 13px;color:#6a7168;font-size:12px}
.vendor-action-icon{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border-radius:12px;background:#eff1ed;font-weight:800}
.marketplace-portal .vendor-action-groups .actions{gap:7px}
.vendor-action-groups .btn{min-height:36px;padding-inline:12px;font-size:11px}
.vendor-dashboard-grid{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:16px;align-items:start}
.vendor-panel{min-width:0;padding:20px;border:1px solid #dfe3db;border-radius:18px;background:#fff;box-shadow:0 8px 28px rgba(39,49,35,.045)}
.vendor-panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.vendor-panel-head h3{margin:5px 0 0;font:700 17px Sora,sans-serif}.vendor-panel-head>span{color:#6a7168;font-size:11px}.vendor-panel-head .btn{flex:0 0 auto}
.vendor-area-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-top:1px solid #e8ebe5}.vendor-area-row:first-of-type{border-top:0}.vendor-area-row>div{display:grid;gap:5px}.vendor-area-row strong{font-size:13px}.vendor-area-row small{color:#6a7168;font-size:11px}
.vendor-empty{display:grid;gap:5px;padding:24px;border:1px dashed #cfd5cc;border-radius:14px;background:#fafbf9;text-align:center}.vendor-empty strong{font:700 13px Sora,sans-serif}.vendor-empty span{color:#6a7168;font-size:11px;line-height:1.45}
.vendor-offer-list,.vendor-order-list{display:grid;gap:10px}.marketplace-portal-standalone .vendor-offer{margin:0;padding:15px;border-color:#e3e6df;box-shadow:none}.vendor-offer-main{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.vendor-offer-main>div:first-child{display:grid;gap:4px}.vendor-offer-main small{color:#6a7168;font-size:10px}.vendor-offer-main strong{font:700 14px Sora,sans-serif}.vendor-offer-main p{margin:2px 0 0;color:#4f554d;font-size:12px}.marketplace-portal .vendor-offer>.actions{justify-content:flex-end;margin-top:12px;padding-top:11px;border-top:1px solid #eceeea}
.vendor-orders{margin-top:0}.marketplace-portal-standalone .vendor-order{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0;padding:15px;border-color:#e3e6df;box-shadow:none}.vendor-order>div{display:grid;gap:4px}.vendor-order small{color:#6a7168;font-size:10px}.vendor-order strong{font:700 13px Sora,sans-serif}.vendor-order p{margin:0;color:#555d53;font-size:12px}
.marketplace-portal [data-vendor-form]{width:min(760px,100%);padding:20px;border:1px solid #dfe3db;border-radius:18px;background:#fff;box-sizing:border-box}.marketplace-portal [data-vendor-form] h2{margin-top:0}.marketplace-portal [data-vendor-form]>.btn:last-child{margin-top:8px}
.marketplace-portal button:focus-visible,.marketplace-portal input:focus-visible,.marketplace-portal select:focus-visible,.marketplace-portal textarea:focus-visible{outline:3px solid rgba(32,35,31,.22);outline-offset:2px}

@media(max-width:900px){.vendor-action-groups,.vendor-dashboard-grid{grid-template-columns:1fr}}
@media(max-width:700px){.vendor-page-header{align-items:center;flex-direction:row}.vendor-page-brand small{display:none}.vendor-page-header nav .btn:first-child{display:none}.vendor-account-head{display:grid}.vendor-account-head>[data-vendor-action="refresh"]{position:absolute;right:12px;margin-top:45px}.vendor-next-step{align-items:flex-start;flex-wrap:wrap}.vendor-next-step>[data-vendor-action]{width:100%}.vendor-action-groups>article{padding:16px}.vendor-action-groups .actions{display:grid!important;grid-template-columns:1fr 1fr}.vendor-action-groups .btn{white-space:normal}.vendor-panel{padding:16px}.vendor-panel-head{align-items:flex-start}.vendor-offer-main,.marketplace-portal-standalone .vendor-order{display:grid}.vendor-offer-main .vendor-offer-flags{justify-content:flex-start}.marketplace-portal-standalone .vendor-order>.btn{width:100%}.marketplace-portal [data-vendor-form]{padding:16px}.vendor-page-main{padding-bottom:42px}}
@media(max-width:430px){.vendor-action-groups .actions{grid-template-columns:1fr}.vendor-panel-head{display:grid}.vendor-panel-head>.btn{width:100%}}

/* Adding a product was twelve unexplained fields in one column. They answer five
   separate questions, so the form asks them five times instead of once. */
.vendor-fieldset{margin:0 0 18px;padding:14px 16px 4px;border:1px solid rgba(0,0,0,.1);border-radius:14px;min-width:0}
.vendor-fieldset legend{padding:0 6px;font:700 11px/1 var(--display);letter-spacing:.07em;text-transform:uppercase;color:#8a8a8a}
.vendor-fieldset label{display:block;margin-bottom:12px}
.vendor-fieldset label:last-child{margin-bottom:12px}
/* The hint carries what the label cannot: which unit, which of the two German
   VAT rates, and what a wrong base quantity does to the price buyers compare on. */
.vendor-field-hint{display:block;margin-top:5px;font-size:11px;line-height:1.45;color:#777}
p.vendor-field-hint{margin:2px 0 12px}
.vendor-required{margin-left:3px;color:#8b211b;font-weight:700}
@media(max-width:640px){.vendor-fieldset{padding:12px 13px 2px}}
