:root { --dca-b2b-ink:#10221e; --dca-b2b-red:#972828; --dca-b2b-bg:#f4f6f3; --dca-b2b-line:#d7e3db; --dca-b2b-muted:#63716b; }
* { box-sizing:border-box; }
body.dca-b2b-page { margin:0; background:var(--dca-b2b-bg); color:var(--dca-b2b-ink); font-family:Arial,Helvetica,sans-serif; }
.dca-b2b-app { min-height:100dvh; }
.dca-b2b-header { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem max(1rem, calc((100vw - 92rem) / 2)); border-bottom:1px solid var(--dca-b2b-line); background:#fff; }
.dca-b2b-brand { display:flex; align-items:center; gap:.75rem; }
.dca-b2b-logo { display:grid; flex:0 0 auto; width:3rem; height:3rem; place-items:center; overflow:hidden; border-radius:50%; background:var(--dca-b2b-red); }
.dca-b2b-logo img { width:100%; height:100%; object-fit:cover; }
.dca-b2b-brand strong,.dca-b2b-brand span { display:block; }.dca-b2b-brand strong { font-size:1.15rem; }.dca-b2b-brand span { margin-top:.15rem; color:var(--dca-b2b-muted); font-size:.8rem; }
.dca-b2b-head-links { display:flex; align-items:center; gap:1.25rem; color:#42564f; font-size:.84rem; }.dca-b2b-head-links a { color:var(--dca-b2b-ink); text-decoration:none; font-weight:800; }.dca-b2b-account { display:grid; width:2.5rem; height:2.5rem; place-items:center; border-radius:50%; background:#edf1ef; font-weight:800; }
.dca-b2b-shell { display:grid; grid-template-columns:minmax(0,1fr) 27rem; gap:1.5rem; max-width:92rem; margin:auto; padding:1.5rem; }.dca-b2b-catalog { min-width:0; }
.dca-b2b-intro { display:flex; justify-content:space-between; align-items:end; gap:1rem; margin-bottom:1.25rem; }.dca-b2b-intro p,.dca-b2b-cart-head p,.dca-b2b-tutorial p { margin:0 0 .25rem; color:var(--dca-b2b-red); font-size:.72rem; font-weight:900; letter-spacing:.1em; }.dca-b2b-intro h1 { margin:0; font-size:1.65rem; }.dca-b2b-intro span { display:block; margin-top:.3rem; color:var(--dca-b2b-muted); }
.dca-b2b-how { border:1px solid var(--dca-b2b-line); border-radius:.8rem; padding:.7rem .9rem; background:#fff; color:var(--dca-b2b-ink); font:inherit; font-weight:800; cursor:pointer; white-space:nowrap; }
.dca-b2b-search { display:flex; align-items:center; gap:.65rem; border:1px solid var(--dca-b2b-line); border-radius:.8rem; padding:0 .85rem; background:#fff; }.dca-b2b-search span { color:var(--dca-b2b-muted); font-size:1.4rem; }.dca-b2b-search input { width:100%; min-height:3.2rem; border:0; outline:0; background:transparent; color:var(--dca-b2b-ink); font:inherit; }
.dca-b2b-categories { display:flex; flex-wrap:wrap; gap:.55rem; margin:1rem 0; }.dca-b2b-categories button { border:1px solid var(--dca-b2b-line); border-radius:999px; padding:.55rem .85rem; background:#fff; color:#41544d; font:inherit; font-size:.86rem; cursor:pointer; }.dca-b2b-categories button.is-active { border-color:var(--dca-b2b-red); background:var(--dca-b2b-red); color:#fff; font-weight:800; }
.dca-b2b-product-list { display:grid; gap:.75rem; }.dca-b2b-product { display:grid; grid-template-columns:5.5rem minmax(11rem,1fr) 7.3rem 6rem 7.25rem; align-items:center; gap:1rem; border:1px solid var(--dca-b2b-line); border-radius:1rem; padding:.8rem; background:#fff; box-shadow:0 8px 28px rgba(16,34,30,.035); }.dca-b2b-product.is-unavailable { opacity:.65; }.dca-b2b-product-image,.dca-b2b-cart-thumb { display:grid; overflow:hidden; place-items:center; border-radius:.7rem; background:#eef2ef; color:#60736b; font-size:1.6rem; }.dca-b2b-product-image { width:5.25rem; height:5.25rem; }.dca-b2b-product-image img,.dca-b2b-cart-thumb img { width:100%; height:100%; object-fit:contain; }.dca-b2b-product h3 { margin:0 0 .25rem; font-size:1rem; }.dca-b2b-product p { display:-webkit-box; overflow:hidden; margin:0 0 .55rem; color:var(--dca-b2b-muted); font-size:.84rem; -webkit-line-clamp:2; -webkit-box-orient:vertical; }.dca-b2b-chip { display:inline-block; border-radius:999px; padding:.27rem .55rem; background:#f7e4e4; color:#852323; font-size:.72rem; font-weight:800; }.dca-b2b-sku { margin-left:.45rem; color:var(--dca-b2b-muted); font-size:.7rem; }.dca-b2b-stock { font-size:.8rem; font-weight:800; }.dca-b2b-stock span { display:inline-block; width:.5rem; height:.5rem; margin-right:.35rem; border-radius:50%; background:#b8c1bd; }.dca-b2b-stock span.is-in { background:#18a356; }.dca-b2b-price strong,.dca-b2b-price span { display:block; }.dca-b2b-price strong { color:var(--dca-b2b-red); font-size:1.08rem; }.dca-b2b-price span { margin-top:.15rem; color:var(--dca-b2b-muted); font-size:.75rem; }
.dca-b2b-quantity { display:inline-flex; position:relative; align-items:center; justify-content:center; overflow:visible; width:max-content; min-width:7rem; border:1px solid var(--dca-b2b-line); border-radius:.7rem; background:#fff; }.dca-b2b-quantity button { width:2.3rem; height:2.5rem; border:0; background:#f7f9f8; color:var(--dca-b2b-ink); font:inherit; font-size:1.2rem; cursor:pointer; }.dca-b2b-quantity button:first-child { border-radius:.65rem 0 0 .65rem; }.dca-b2b-quantity button:last-of-type { border-radius:0 .65rem .65rem 0; }.dca-b2b-quantity button:disabled { opacity:.35; cursor:not-allowed; }.dca-b2b-quantity strong { min-width:2.3rem; text-align:center; }.dca-b2b-quantity small { position:absolute; top:calc(100% + .18rem); color:var(--dca-b2b-muted); font-size:.62rem; white-space:nowrap; }
.dca-b2b-cart { position:sticky; top:1.25rem; align-self:start; overflow:hidden; border:1px solid #e0e7e2; border-radius:1.1rem; background:#fff; box-shadow:0 16px 48px rgba(16,34,30,.07); }.dca-b2b-cart-head { display:flex; align-items:start; justify-content:space-between; padding:1.25rem 1.25rem .8rem; }.dca-b2b-cart-head h2 { margin:0; font-size:1.45rem; }.dca-b2b-clear { border:0; background:transparent; color:var(--dca-b2b-muted); font:inherit; font-size:.78rem; cursor:pointer; }.dca-b2b-cart-lines { display:grid; gap:.9rem; padding:0 1.25rem 1rem; }.dca-b2b-cart-line { display:grid; grid-template-columns:2.6rem minmax(0,1fr) auto; align-items:center; gap:.6rem; }.dca-b2b-cart-thumb { width:2.6rem; height:2.6rem; }.dca-b2b-cart-line strong,.dca-b2b-cart-line span { display:block; }.dca-b2b-cart-line strong { font-size:.82rem; }.dca-b2b-cart-line span { margin-top:.15rem; color:var(--dca-b2b-muted); font-size:.71rem; }.dca-b2b-cart-line .dca-b2b-quantity { grid-column:2; min-width:6rem; transform:scale(.85); transform-origin:left center; }.dca-b2b-cart-line b { grid-column:3; grid-row:1 / span 2; color:var(--dca-b2b-red); font-size:.84rem; white-space:nowrap; }
.dca-b2b-minimum { display:flex; gap:.65rem; align-items:flex-start; margin:.1rem 1.25rem 1rem; border-radius:.7rem; padding:.75rem; background:#fff3e5; color:#84500d; }.dca-b2b-minimum.is-ok { background:#eaf7ee; color:#176a3b; }.dca-b2b-minimum span { display:grid; flex:0 0 auto; width:1.3rem; height:1.3rem; place-items:center; border-radius:50%; background:currentColor; color:#fff; font-size:.75rem; }.dca-b2b-minimum p { margin:0; font-size:.77rem; font-weight:700; line-height:1.4; }.dca-b2b-total { display:flex; justify-content:space-between; align-items:end; border-top:1px solid var(--dca-b2b-line); padding:1rem 1.25rem; }.dca-b2b-total span { font-weight:800; }.dca-b2b-total strong { color:var(--dca-b2b-red); font-size:1.45rem; }
.dca-b2b-checkout { display:grid; gap:.65rem; padding:0 1.25rem 1rem; }.dca-b2b-checkout label { display:grid; gap:.3rem; color:#40524b; font-size:.75rem; font-weight:800; }.dca-b2b-checkout select,.dca-b2b-checkout textarea { width:100%; border:1px solid var(--dca-b2b-line); border-radius:.6rem; padding:.65rem; background:#fff; color:var(--dca-b2b-ink); font:inherit; font-size:.82rem; resize:vertical; }.dca-b2b-submit,.dca-b2b-tutorial-done,.dca-b2b-login button { width:calc(100% - 2.5rem); margin:0 1.25rem; border:0; border-radius:.75rem; padding:.9rem 1rem; background:var(--dca-b2b-red); color:#fff; font:inherit; font-weight:900; cursor:pointer; }.dca-b2b-submit:disabled { opacity:.45; cursor:not-allowed; }.dca-b2b-cart-note { margin:.9rem 1.25rem 1.25rem; color:var(--dca-b2b-muted); font-size:.72rem; line-height:1.4; text-align:center; }.dca-b2b-cart-empty { padding:3rem 1.5rem; color:var(--dca-b2b-muted); text-align:center; }.dca-b2b-cart-empty div { display:grid; width:3.5rem; height:3.5rem; margin:auto; place-items:center; border-radius:1rem; background:#edf2ef; font-size:1.3rem; }.dca-b2b-cart-empty h3 { margin:.85rem 0 .35rem; color:var(--dca-b2b-ink); }.dca-b2b-cart-empty p { margin:0; font-size:.83rem; line-height:1.45; }
.dca-b2b-empty { display:grid; min-height:14rem; place-content:center; gap:.4rem; border:1px dashed #c7d4cc; border-radius:1rem; color:var(--dca-b2b-muted); text-align:center; }.dca-b2b-empty strong { color:var(--dca-b2b-ink); }.dca-b2b-notice { margin:.8rem 0; border:1px solid #bedfca; border-radius:.7rem; padding:.75rem; background:#edf9f1; color:#176a3b; font-size:.84rem; font-weight:800; }
.dca-b2b-tutorial { position:fixed; z-index:99999; inset:0; display:grid; place-items:center; padding:1rem; background:rgba(13,31,26,.58); }.dca-b2b-tutorial section { position:relative; width:min(100%,29rem); max-height:calc(100dvh - 2rem); overflow-y:auto; border-radius:1.1rem; padding:1.35rem; background:#fff; box-shadow:0 24px 75px rgba(0,0,0,.25); }.dca-b2b-tutorial section > button:first-child { position:absolute; top:.65rem; right:.75rem; border:0; background:transparent; color:var(--dca-b2b-muted); font-size:1.35rem; line-height:1; cursor:pointer; }.dca-b2b-tutorial h2 { margin:.1rem 0 1rem; padding-right:1.5rem; font-size:1.45rem; line-height:1.2; }.dca-b2b-tutorial ol { display:grid; gap:.85rem; margin:0 0 1.15rem; padding:0; list-style:none; counter-reset:guide; }.dca-b2b-tutorial li { display:grid; grid-template-columns:2rem minmax(0,1fr); align-items:start; gap:.7rem; counter-increment:guide; }.dca-b2b-tutorial li::before { display:grid; width:2rem; height:2rem; place-items:center; border-radius:50%; background:#f7e4e4; color:var(--dca-b2b-red); content:counter(guide); font-weight:900; }.dca-b2b-tutorial li strong,.dca-b2b-tutorial li span { display:block; }.dca-b2b-tutorial li strong { padding-top:.1rem; font-size:.95rem; }.dca-b2b-tutorial li span { margin-top:.16rem; color:var(--dca-b2b-muted); font-size:.82rem; line-height:1.4; }.dca-b2b-tutorial-done { width:100%; margin:0; }
.dca-b2b-login-wrap { display:grid; min-height:100dvh; place-items:center; padding:1rem; background:radial-gradient(circle at top,#fff 0,#f4f6f3 55%); }.dca-b2b-login { width:min(100%,27rem); border:1px solid var(--dca-b2b-line); border-radius:1.25rem; padding:2rem; background:#fff; box-shadow:0 18px 55px rgba(16,34,30,.08); }.dca-b2b-login-mark { display:grid; width:3.3rem; height:3.3rem; place-items:center; overflow:hidden; border-radius:50%; background:var(--dca-b2b-red); }.dca-b2b-login-mark img { width:100%; height:100%; object-fit:cover; }.dca-b2b-kicker { margin:1rem 0 .3rem; color:var(--dca-b2b-red); font-size:.72rem; font-weight:900; letter-spacing:.1em; }.dca-b2b-login h1 { margin:0; font-size:1.55rem; }.dca-b2b-login-copy { color:var(--dca-b2b-muted); line-height:1.5; }.dca-b2b-login form { display:grid; gap:.85rem; margin-top:1.25rem; }.dca-b2b-login label { display:grid; gap:.35rem; color:#40524b; font-size:.8rem; font-weight:800; }.dca-b2b-login input { min-height:2.8rem; border:1px solid var(--dca-b2b-line); border-radius:.65rem; padding:.65rem; font:inherit; }.dca-b2b-login button { width:100%; margin:.3rem 0 0; }.dca-b2b-login-help { margin:1rem 0 0; color:var(--dca-b2b-muted); font-size:.75rem; text-align:center; }.dca-b2b-admin-note { max-width:40rem; margin:4rem auto; padding:2rem; border-radius:1rem; background:#fff; }
.dca-b2b-login-error { margin:1rem 0 0; border:1px solid #efc4be; border-radius:.65rem; padding:.7rem; background:#fff0ee; color:#a4372c; font-size:.82rem; font-weight:800; }
@media (max-width: 920px) { .dca-b2b-shell { grid-template-columns:1fr; }.dca-b2b-cart { position:static; }.dca-b2b-product { grid-template-columns:4.5rem minmax(0,1fr) auto; }.dca-b2b-product-image { width:4.5rem; height:4.5rem; }.dca-b2b-stock { grid-column:2; }.dca-b2b-price { grid-column:3; grid-row:1; }.dca-b2b-product > .dca-b2b-quantity { grid-column:3; grid-row:2; } }
@media (max-width: 640px) { .dca-b2b-header { padding:.75rem .85rem; }.dca-b2b-logo { width:2.55rem; height:2.55rem; }.dca-b2b-head-links { gap:.5rem; }.dca-b2b-head-links span,.dca-b2b-head-links a { display:none; }.dca-b2b-account { width:2.25rem; height:2.25rem; font-size:.72rem; }.dca-b2b-brand { min-width:0; gap:.6rem; }.dca-b2b-brand strong { overflow:hidden; font-size:.95rem; text-overflow:ellipsis; white-space:nowrap; }.dca-b2b-brand span { overflow:hidden; font-size:.66rem; text-overflow:ellipsis; white-space:nowrap; }.dca-b2b-shell { padding:.85rem; gap:1rem; }.dca-b2b-intro { align-items:start; margin-bottom:1rem; }.dca-b2b-intro h1 { font-size:1.22rem; }.dca-b2b-intro span { font-size:.78rem; line-height:1.35; }.dca-b2b-how { flex:0 0 auto; padding:.5rem .55rem; font-size:.7rem; }.dca-b2b-search input { min-height:3rem; font-size:16px; }.dca-b2b-categories { flex-wrap:wrap; gap:.45rem; margin:.8rem 0; }.dca-b2b-categories button { flex:0 0 auto; padding:.48rem .7rem; font-size:.78rem; }.dca-b2b-product { grid-template-columns:3.9rem minmax(0,1fr); gap:.65rem; padding:.75rem; }.dca-b2b-product-image { width:3.9rem; height:3.9rem; }.dca-b2b-product-main { min-width:0; }.dca-b2b-product h3 { font-size:.9rem; }.dca-b2b-product p { margin-bottom:.35rem; font-size:.75rem; }.dca-b2b-stock { grid-column:1; grid-row:2; font-size:.68rem; white-space:nowrap; }.dca-b2b-price { grid-column:2; grid-row:2; justify-self:end; text-align:right; }.dca-b2b-price strong { font-size:.98rem; }.dca-b2b-product > .dca-b2b-quantity { grid-column:1 / -1; grid-row:3; justify-self:stretch; width:100%; margin-top:.15rem; }.dca-b2b-product > .dca-b2b-quantity button { flex:1; }.dca-b2b-product > .dca-b2b-quantity strong { flex:0 0 3rem; }.dca-b2b-cart-line { grid-template-columns:2.4rem minmax(0,1fr) auto; }.dca-b2b-cart-line .dca-b2b-quantity { transform:scale(.76); }.dca-b2b-checkout select,.dca-b2b-checkout textarea { font-size:16px; }.dca-b2b-cart { border-radius:1rem; }.dca-b2b-tutorial { padding:.75rem; }.dca-b2b-tutorial section { max-height:calc(100dvh - 1.5rem); padding:1.15rem; }.dca-b2b-tutorial h2 { font-size:1.3rem; }.dca-b2b-tutorial li { gap:.6rem; }.dca-b2b-tutorial li span { font-size:.78rem; }.dca-b2b-login { padding:1.35rem; }.dca-b2b-login input { font-size:16px; } }
