/* EHD professional ordering: product-led catalogue and compact checkout. */
:root { --b2b-ink:#162f46; --b2b-blue:#214bbb; --b2b-paper:#f8f9f9; --b2b-white:#fff; --b2b-line:#cbd4da; --b2b-muted:#465e70; --b2b-focus:#b85110; --b2b-error:#a72924; }
.b2b-page,.admin-page { max-width:1440px; margin:0 auto; padding:32px clamp(20px,4.3vw,64px) 72px; color:var(--b2b-ink); }
.b2b-page { font-size:16px; }
.b2b-page button,.b2b-page input,.b2b-page select,.b2b-page textarea { font:inherit; }
.b2b-sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.b2b-intro { margin:8px 0 30px; }
.b2b-intro h1 { max-width:unset; margin:0 0 12px; font-size:clamp(32px,3.8vw,48px); font-weight:400; line-height:1.1; letter-spacing:-.035em; }
.b2b-intro p { margin:0; font-size:18px; color:var(--b2b-muted); }
.b2b-toolbar { position:sticky; top:0; z-index:6; display:grid; grid-template-columns:minmax(180px,1fr) minmax(150px,260px) auto; gap:12px; padding:14px 0; background:var(--b2b-paper); border-block:1px solid var(--b2b-line); }
.b2b-toolbar input,.b2b-toolbar select { width:100%; min-width:0; height:48px; padding:10px 14px; border:1px solid var(--b2b-line); border-radius:4px; background:white; color:var(--b2b-ink); }
.b2b-cart-trigger { display:flex; gap:16px; align-items:center; justify-content:center; padding:10px 20px; border-radius:4px; background:var(--b2b-ink); color:white; font-weight:600!important; }
.b2b-cart-trigger span { min-width:27px; padding:1px 7px; border-radius:20px; background:white; color:var(--b2b-ink); font-variant-numeric:tabular-nums; }
.b2b-catalogue { padding-top:4px; }
.b2b-status { margin:14px 0 20px; color:var(--b2b-muted); font-size:14px; }
.b2b-status:empty,.b2b-form-error:empty { display:none; }
.b2b-product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px 20px; }
.b2b-product { display:flex; flex-direction:column; min-width:0; background:white; border:1px solid #e0e5e8; border-radius:6px; overflow:hidden; }
.b2b-product-image { height:210px; flex:none; display:flex; align-items:center; justify-content:center; padding:20px; background:white; }
.b2b-product-image img { min-height:0; max-height:100%; width:100%; height:100%; object-fit:contain; transition:transform 180ms ease-out; }
@media (hover:hover) { .b2b-product:hover .b2b-product-image img { transform:scale(1.035); } }
.b2b-product-copy { display:flex; flex:1; flex-direction:column; padding:16px; border-top:1px solid #edf0f2; }
.b2b-product-copy h3 { font-size:18px; font-weight:500; line-height:1.3; letter-spacing:-.01em; text-wrap:pretty; }
.b2b-reference { margin:9px 0 18px; color:var(--b2b-muted); font-size:13px; overflow-wrap:anywhere; }
.b2b-quantity-action { display:grid; grid-template-columns:64px minmax(0,1fr); gap:10px; margin-top:auto; }
.b2b-quantity-action input { width:100%; min-width:0; height:44px; padding:8px; border:1px solid var(--b2b-line); border-radius:4px; background:white; color:var(--b2b-ink); text-align:center; }
.b2b-button,.admin-button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 18px; border:1px solid var(--b2b-blue); border-radius:4px; background:var(--b2b-blue); color:white; font:inherit; font-weight:600; cursor:pointer; text-align:center; transition:background 150ms; }
.b2b-button:hover,.admin-button:hover { background:var(--b2b-ink); border-color:var(--b2b-ink); }
.b2b-button:disabled,.admin-button:disabled { cursor:wait; opacity:.58; }
.b2b-text-button,.admin-text-button { display:inline-flex; align-items:center; min-height:44px; padding:8px 0; border:0; background:transparent; color:var(--b2b-blue); font:inherit; cursor:pointer; text-decoration:underline; text-underline-offset:4px; }
.b2b-catalog-controls { display:flex; justify-content:center; margin-top:30px; }
.b2b-empty { padding:40px 0; grid-column:1/-1; }
.b2b-cart-open { overflow:hidden; }
.b2b-drawer { position:fixed; inset:0 0 0 auto; width:min(460px,100%); max-width:100%; height:100dvh; max-height:100dvh; margin:0; padding:0; border:0; background:white; color:var(--b2b-ink); box-shadow:-12px 0 48px #162f4626; }
.b2b-drawer[open] { display:flex; flex-direction:column; animation:b2b-drawer-in 200ms ease-out; }
.b2b-drawer::backdrop { background:#162f4659; }
.b2b-drawer-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:24px 24px 12px; }
.b2b-drawer h2 { font-size:28px; letter-spacing:-.025em; }
.b2b-close { display:grid; place-items:center; width:44px; height:44px; border-radius:50%; background:#f0f3f5; color:var(--b2b-ink); font-size:28px!important; }
.b2b-added { margin:0; padding:0 24px 16px; font-size:14px; color:#245844; }
.b2b-added:empty { display:none; }
.b2b-drawer-items { flex:1; min-height:0; overflow-y:auto; padding:0 24px; overscroll-behavior:contain; }
.b2b-drawer-footer { display:grid; gap:8px; padding:16px 24px max(18px,env(safe-area-inset-bottom)); border-top:1px solid var(--b2b-line); background:var(--b2b-paper); }
.b2b-drawer-footer p { margin:0 0 6px; font-size:13px; color:var(--b2b-muted); }
.b2b-drawer-footer .b2b-text-button { justify-content:center; }
.b2b-cart-lines { list-style:none; padding:0; margin:0; }
.b2b-cart-line { display:grid; grid-template-columns:76px minmax(0,1fr); gap:14px; padding:20px 0; border-bottom:1px solid #e4e9ec; }
.b2b-cart-image { display:grid; place-items:center; height:80px; background:white; }
.b2b-cart-image img { height:100%; width:100%; object-fit:contain; }
.b2b-cart-image span { font-size:12px; color:var(--b2b-muted); }
.b2b-cart-copy { min-width:0; }
.b2b-cart-copy strong { display:block; font-size:15px; font-weight:600; line-height:1.4; overflow-wrap:anywhere; }
.b2b-cart-copy>span,.b2b-cart-copy>small { display:block; margin:4px 0 10px; color:var(--b2b-muted); font-size:12px; overflow-wrap:anywhere; }
.b2b-line-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.b2b-stepper { display:grid; grid-template-columns:36px 48px 36px; align-items:center; border:1px solid var(--b2b-line); border-radius:4px; overflow:hidden; }
.b2b-stepper button { width:36px; min-height:40px; padding:0; background:#f7f9fa; color:var(--b2b-ink); font-size:20px; }
.b2b-stepper input { width:48px; height:40px; padding:0; border:0; background:white; color:var(--b2b-ink); text-align:center; appearance:textfield; -moz-appearance:textfield; font-variant-numeric:tabular-nums; }
.b2b-stepper input::-webkit-inner-spin-button,.b2b-stepper input::-webkit-outer-spin-button { appearance:none; margin:0; }
.b2b-stepper:focus-within { outline:2px solid var(--b2b-focus); outline-offset:3px; }
.b2b-remove { min-height:44px; padding:6px 0; background:transparent; color:var(--b2b-muted); font-size:12px!important; text-decoration:underline; text-underline-offset:3px; }
.b2b-cart-total { display:flex; justify-content:space-between; gap:12px; padding:20px 0 4px; font-size:14px; }
.b2b-cart-empty { padding:36px 0; }
.b2b-cart-empty h3 { font-size:23px; margin-bottom:12px; }
.b2b-cart-empty p { font-size:15px; color:var(--b2b-muted); }
.b2b-cart-empty a { color:var(--b2b-blue); text-decoration:underline; }
.b2b-cart-line.is-unknown { border-left:3px solid var(--b2b-error); padding-left:8px; }
.b2b-order-page { max-width:1240px; padding-top:10px; }
.b2b-order-page .back-link { margin-bottom:12px; font-size:14px; color:var(--b2b-muted); }
.b2b-request { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:clamp(28px,5vw,72px); align-items:start; }
.b2b-cart-panel { position:sticky; top:24px; padding:24px; background:white; border:1px solid #e0e5e8; border-radius:6px; }
.b2b-summary-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-bottom:8px; }
.b2b-summary-heading h2 { font-size:24px; letter-spacing:-.025em; }
.b2b-summary-heading a { min-height:44px; display:flex; align-items:center; font-size:12px; color:var(--b2b-blue); text-decoration:underline; }
.b2b-form { display:grid; gap:18px; min-width:0; }
.b2b-progress { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:10px; }
.b2b-progress button { display:flex; align-items:center; gap:10px; padding:0 0 16px; min-height:48px; background:transparent; border-bottom:2px solid var(--b2b-line); color:var(--b2b-muted); text-align:left; font-size:14px!important; }
.b2b-progress span { display:grid; place-items:center; width:26px; height:26px; border:1px solid var(--b2b-line); border-radius:50%; font-size:13px; }
.b2b-progress [aria-current=step] { border-color:var(--b2b-blue); color:var(--b2b-blue); font-weight:600; }
.b2b-progress [aria-current=step] span { border-color:var(--b2b-blue); background:var(--b2b-blue); color:white; }
.b2b-form fieldset { display:grid; gap:18px; min-width:0; margin:0; padding:0; border:0; }
.b2b-form legend { padding:0; margin-bottom:22px; font-size:25px; letter-spacing:-.025em; }
.b2b-field { min-width:0; }
.b2b-field>label { display:block; margin-bottom:6px; font-size:14px; font-weight:500; }
.b2b-field input,.b2b-field select,.b2b-field textarea { width:100%; min-width:0; min-height:46px; padding:10px 12px; border:1px solid var(--b2b-line); border-radius:4px; background:white; color:var(--b2b-ink); }
.b2b-field textarea { resize:vertical; line-height:1.45; }
.b2b-field input::placeholder,.b2b-field textarea::placeholder { color:var(--b2b-muted); }
.b2b-field-pair { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
[data-delivery-fields] { display:grid; gap:18px; }
.b2b-optional,.b2b-extra summary span { color:var(--b2b-muted); font-size:12px; font-weight:400; }
.b2b-optional { margin-left:6px; }
.b2b-extra { border-block:1px solid var(--b2b-line); }
.b2b-extra summary { min-height:46px; padding:12px 0; font-size:14px; }
.b2b-extra summary::after { content:'+'; font-size:20px; }
.b2b-extra[open] summary::after { content:'−'; }
.b2b-extra summary span { margin-left:auto; }
.b2b-extra .b2b-field-pair { padding-bottom:16px; }
.b2b-consent { display:flex; align-items:flex-start; gap:10px; font-size:13px; line-height:1.5; color:var(--b2b-muted); }
.b2b-consent input { flex:0 0 auto; width:18px; height:18px; margin-top:2px; accent-color:var(--b2b-blue); }
.b2b-consent a { text-decoration:underline; text-underline-offset:3px; }
.b2b-submit-row { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.b2b-submit-row .b2b-button { min-width:65%; }
.b2b-small-note { margin:12px 0 0; color:var(--b2b-muted); font-size:13px; line-height:1.5; }
.b2b-form-error { margin:0; color:var(--b2b-error); }
.b2b-honeypot { position:absolute; left:-10000px; width:1px; height:1px; opacity:0; }
.b2b-form.is-complete fieldset,.b2b-form.is-complete .b2b-progress { display:none; }
.b2b-form.is-complete [data-request-status] { padding:28px; border-left:3px solid #245844; background:#edf5ef; color:#245844; font-size:20px; }
.b2b-order-footer { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:12px 28px; padding:24px; border-top:1px solid var(--b2b-line); font-size:13px; color:var(--b2b-muted); }
.b2b-order-footer a { display:flex; align-items:center; min-height:44px; text-decoration:underline; }
.b2b-after-send { text-decoration:underline; color:var(--b2b-blue); }
@keyframes b2b-drawer-in { from { transform:translateX(100%); } to { transform:translateX(0); } }
/* Shared internal controls retain their existing dimensions. */
.admin-page h1 { max-width:18ch; margin:0 0 20px; font-size:48px; }
.admin-kicker { margin:0 0 14px; color:var(--b2b-blue); font-size:15px; font-weight:600; }
.admin-login>p:not(.admin-kicker) { color:var(--b2b-muted); font-size:18px; }
.admin-content h2 { margin:0 0 8px; font-size:clamp(32px,3.6vw,52px); }
.admin-field input,.admin-review input,.admin-review textarea,.admin-review select { width:100%; min-height:46px; padding:10px 12px; border:1px solid var(--b2b-line); border-radius:3px; background:white; color:var(--b2b-ink); font:inherit; }
.admin-field label,.admin-review label { display:block; margin-bottom:7px; font-size:15px; font-weight:600; }
.admin-status,.admin-small-note,.admin-help { margin:12px 0; color:var(--b2b-muted); font-size:15px; }
.admin-login,.admin-review { display:grid; gap:20px; }
.admin-check { display:flex; align-items:flex-start; gap:12px; max-width:70ch; line-height:1.4; }
.admin-check input { flex:0 0 auto; width:20px; height:20px; margin-top:2px; accent-color:var(--b2b-blue); }
.admin-error { min-height:20px; margin:0; color:var(--b2b-error); }
/* Admin */
.admin-page { max-width: 1600px; }
.admin-page h1 { font-size: clamp(36px, 4vw, 48px); }
.admin-login { max-width: 560px; padding-top: 30px; }
.admin-login h1 { font-size: clamp(38px, 4.2vw, 62px); }
.admin-field { display: grid; gap: 7px; }
.admin-field label { margin: 0; }
.admin-shell-heading,
.admin-detail-heading { display: flex; align-items: end; justify-content: space-between; gap: 28px; padding-bottom: 32px; border-bottom: 1px solid var(--b2b-line); }
.admin-shell-heading h1 { margin-bottom: 8px; }
.admin-shell-heading p:last-child { margin: 0; color: var(--b2b-muted); }
.admin-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 14px 20px; }
.admin-integrations-strip { display: flex; flex-wrap: wrap; gap: 12px 24px; padding: 18px 0; border-bottom: 1px solid var(--b2b-line); }
.admin-integration { display: flex; gap: 8px; align-items: baseline; }
.admin-integration span { color: var(--b2b-muted); }
.admin-layout { display: grid; grid-template-columns: minmax(260px, .72fr) minmax(0, 1.6fr); gap: 42px; padding-top: 34px; }
.admin-queue { min-width: 0; }
.admin-queue-heading { display: flex; align-items: end; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.admin-queue-heading h2 { margin: 0; font-size: 28px; font-weight: 400; }
.admin-queue-heading label { display: grid; gap: 5px; color: var(--b2b-muted); font-size: 14px; }
.admin-queue-heading select { min-height: 42px; padding: 7px; border: 1px solid var(--b2b-line); border-radius: 3px; background: var(--b2b-white); font: inherit; }
.admin-request-row { display: flex; width: 100%; min-height: 72px; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 0; border: 0; border-top: 1px solid var(--b2b-line); background: transparent; color: var(--b2b-ink); cursor: pointer; text-align: left; font: inherit; }
.admin-request-row:hover { color: var(--b2b-blue); }
.admin-request-row span { display: grid; gap: 4px; min-width: 0; }
.admin-request-row span:last-child { justify-items: end; }
.admin-request-row small { color: var(--b2b-muted); overflow-wrap: anywhere; }
.admin-pagination { display: flex; justify-content: space-between; gap: 18px; padding-top: 12px; }
.admin-pagination .admin-text-button:disabled { color: var(--b2b-muted); cursor: default; opacity: .55; }
.admin-status-pill { display: inline-block; padding: 3px 8px; border: 1px solid var(--b2b-line); color: var(--b2b-ink); font-size: 13px; font-weight: 500; }
.admin-status-pill--approved,
.admin-status-pill--transferred { border-color: var(--b2b-blue); color: var(--b2b-blue); }
.admin-status-pill--rejected { border-color: var(--b2b-error); color: var(--b2b-error); }
.admin-content { min-width: 0; }
.admin-detail-heading { align-items: start; }
.admin-detail-heading h2 { margin: 0 0 7px; }
.admin-detail-heading p:last-child { margin: 0; color: var(--b2b-muted); }
.admin-original,
.admin-review,
.admin-integrations { padding: 30px 0; border-bottom: 1px solid var(--b2b-line); }
.admin-original h3,
.admin-review h3,
.admin-integrations h3 { margin: 0 0 20px; font-size: 27px; font-weight: 400; }
.admin-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; margin: 0 0 28px; }
.admin-summary dt { margin-bottom: 6px; color: var(--b2b-muted); font-size: 14px; font-weight: 600; }
.admin-summary dd { margin: 0; overflow-wrap: anywhere; }
.admin-lines { width: 100%; border-collapse: collapse; font-size: 15px; }
.admin-lines caption { margin-bottom: 10px; text-align: left; font-size: 17px; font-weight: 600; }
.admin-lines th,
.admin-lines td { padding: 11px 8px; border-top: 1px solid var(--b2b-line); text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.admin-lines th:first-child,
.admin-lines td:first-child { padding-left: 0; }
.admin-review-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.admin-review-wide { grid-column: 1 / -1; }
.admin-review-line { margin: 0; padding: 20px 0; border: 0; border-top: 1px solid var(--b2b-line); }
.admin-review-line legend { padding: 0; font-weight: 600; }
.admin-review-line + .admin-review-line { margin-top: 4px; }
.admin-review-line .admin-review-grid { margin-top: 14px; }
.admin-review-line .admin-help { display: block; margin: 6px 0 0; }
.admin-check { margin-top: 4px; }
.admin-locked { color: var(--b2b-muted); }
.admin-integrations dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 0 0 20px; }
.admin-integrations dl div { padding-top: 10px; border-top: 1px solid var(--b2b-line); }
.admin-integrations dt { color: var(--b2b-muted); font-size: 14px; }
.admin-integrations dd { margin: 5px 0 0; overflow-wrap: anywhere; }


@media (max-width:1050px) {
 .b2b-product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .b2b-product-image { height:180px; }
 .admin-layout { grid-template-columns:minmax(230px,.8fr) minmax(0,1.5fr); gap:28px; }
 .admin-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
 .b2b-page { padding-top:20px; }
 .b2b-toolbar { grid-template-columns:minmax(0,1fr) auto; gap:10px; }
 .b2b-search { grid-column:1/-1; }
 .b2b-toolbar select { font-size:14px; }
 .b2b-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 12px; }
 .b2b-product-image { height:155px; padding:12px; }
 .b2b-product-copy { padding:12px; }
 .b2b-product-copy h3 { font-size:16px; }
 .b2b-quantity-action { grid-template-columns:50px minmax(0,1fr); gap:6px; }
 .b2b-quantity-action .b2b-button { padding:8px 7px; font-size:13px; }
 .b2b-intro p { font-size:16px; }
 .b2b-request { grid-template-columns:1fr; gap:28px; }
 .b2b-cart-panel { position:static; padding:20px; }
 .b2b-order-page .b2b-intro { margin-bottom:24px; }
 .b2b-drawer-heading,.b2b-drawer-items { padding-inline:20px; }
 .b2b-drawer-footer { padding-inline:20px; }
 .admin-shell-heading,.admin-detail-heading { display:block; }
 .admin-actions { justify-content:flex-start; margin-top:20px; }
 .admin-layout { grid-template-columns:1fr; }
 .admin-content { order:-1; }
 .admin-integrations dl { grid-template-columns:1fr; }
}
@media (max-width:380px) {
 .b2b-page { padding-inline:16px; }
 .b2b-product-image { height:130px; }
 .b2b-quantity-action { grid-template-columns:1fr; }
 .b2b-quantity-action input { height:38px; }
 .b2b-field-pair { grid-template-columns:1fr; }
 .b2b-cart-line { grid-template-columns:54px minmax(0,1fr); gap:10px; }
 .b2b-cart-image { height:60px; }
 .b2b-stepper { grid-template-columns:32px 40px 32px; }
 .b2b-stepper button { width:32px; }
 .b2b-stepper input { width:40px; }
 .b2b-line-actions { gap:6px; }
 .b2b-summary-heading { align-items:start; }
}
@media (max-width:480px) {
 .admin-review-grid,.admin-summary { grid-template-columns:1fr; }
 .admin-review-wide { grid-column:auto; }
 .admin-lines { display:block; overflow-x:auto; white-space:nowrap; }
 .admin-page h1 { font-size:36px; }
}
@media (prefers-reduced-motion:reduce) {
 .b2b-page *,.admin-page * { scroll-behavior:auto!important; transition:none!important; animation:none!important; }
}

/* Invoice review: readable cards at narrow widths, no horizontal price grid. */
.admin-sales{margin:1.5rem 0;padding:clamp(1rem,3vw,1.75rem);border:1px solid #ccd7e1;border-radius:12px;background:#f8fafc;color:#162f46;min-width:0}
.admin-sales-heading{display:flex;justify-content:space-between;align-items:start;gap:1rem}
.admin-sales-heading h3{margin:0}.admin-sales-heading p{margin:.35rem 0 1rem}.admin-sales-source{font-weight:600;color:#425e75}
.admin-sales-lines{list-style:none;padding:0;margin:1.25rem 0}.admin-sales-lines li{display:flex;justify-content:space-between;gap:1.25rem;padding:1rem 0;border-bottom:1px solid #dbe2e8}
.admin-sales-lines li>div{min-width:0}.admin-sales-lines li>div:last-child{text-align:right;flex-shrink:0}.admin-sales-lines span{display:block;font-size:.9rem;color:#42566a;margin-top:.25rem}
.admin-sales-total{margin:1rem 0 1.5rem}.admin-sales-total p{display:flex;justify-content:space-between;gap:1rem;margin:.6rem 0}.admin-sales-total strong{white-space:nowrap}
.admin-sales-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem}.admin-sales-actions .admin-check{flex-basis:100%;margin:1rem 0 .25rem}.admin-sales-actions button{min-height:44px;white-space:normal}
.admin-sales-notice{padding:.8rem 1rem;border-left:3px solid #214bbb;background:#edf2fc}.admin-legacy{margin:1.5rem 0}.admin-legacy>summary{cursor:pointer;padding:.9rem 0;font-weight:600;min-height:44px}
@media(max-width:560px){.admin-sales-lines li{display:block}.admin-sales-lines li>div:last-child{text-align:left;margin-top:.65rem}.admin-sales-total p{flex-wrap:wrap}.admin-sales-actions button{width:100%}.admin-sales .admin-summary{grid-template-columns:1fr}.admin-sales{overflow-wrap:anywhere}}
.admin-sales .admin-button:not(.admin-button--primary){color:#214bbb;background:#fff;border:1px solid #b9c8df}
.admin-sales .admin-button:not(.admin-button--primary):hover{background:#edf2fc}
.admin-sales-source{flex-shrink:0;white-space:nowrap}
.admin-sales-actions a.admin-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.admin-sales .admin-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:560px){.admin-sales .admin-summary{grid-template-columns:minmax(0,1fr)}.admin-sales-actions a.admin-button{width:100%}}
.admin-account{max-width:1100px}.admin-account-content{max-width:720px;padding-top:30px}.admin-account-content h2{margin:0 0 12px;font-size:clamp(26px,3vw,34px);font-weight:400}.admin-account-content [data-account-state],.admin-account-content [data-account-user]{margin:16px 0}.admin-account-form{display:grid;gap:18px;padding:26px 0;border-top:1px solid var(--b2b-line)}.admin-account-form p{max-width:65ch;color:var(--b2b-muted)}.admin-account-enrollment{max-width:560px;padding:26px 0;border-top:1px solid var(--b2b-line)}.admin-account-enrollment img{display:block;width:min(220px,100%);height:auto;margin:20px 0;border:1px solid var(--b2b-line);background:#fff}.admin-account-enrollment code{display:block;width:fit-content;max-width:100%;padding:10px 12px;border:1px solid var(--b2b-line);background:#fff;font-size:16px;letter-spacing:.08em;overflow-wrap:anywhere}.admin-account-enrollment .admin-account-form{padding-top:18px}.admin-account-content [data-account-error]:empty,.admin-account-content [data-account-message]:empty{display:none}.admin-account-content [data-account-error]{margin:14px 0;color:var(--b2b-error)}
.b2b-intro>p{max-width:68ch;line-height:1.6}.b2b-document-link{font-size:14px;color:var(--blue);text-decoration:underline;text-underline-offset:3px;display:inline-block;margin-block:6px 14px}.b2b-product-spec{font-size:14px;line-height:1.5;color:var(--muted);margin-block:6px}.b2b-category-context{font-size:15px;line-height:1.5;margin-bottom:24px}.b2b-category-context a{text-decoration:underline}

/* Shared portal navigation and task views. */
.portal-page{max-width:none!important;padding:0!important;color:var(--b2b-ink)}
.portal-page [hidden]{display:none!important}
.portal-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:24px;min-height:78px;padding:12px clamp(20px,4vw,56px);border-bottom:1px solid var(--b2b-line);background:var(--b2b-white)}
.portal-brand{display:flex;align-items:center;min-width:92px;min-height:44px}.portal-brand img{display:block;width:92px;height:auto;object-fit:contain}
.portal-nav,.portal-account-nav{display:flex;align-items:center;gap:clamp(12px,2vw,28px);min-width:0}
.portal-nav a,.portal-account-nav a,.portal-account-nav button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;color:var(--b2b-muted);font-size:15px;text-decoration:none;white-space:nowrap}
.portal-nav a[aria-current=page],.portal-account-nav a[aria-current=page]{color:var(--b2b-blue);font-weight:600}
.portal-account-nav{gap:14px}.portal-account-nav button{border:0;padding:0 8px;background:transparent;font:inherit;text-decoration:underline;cursor:pointer}
.portal-main{max-width:1560px;margin:0 auto;padding:0 clamp(20px,4vw,56px) 64px;min-width:0}
.portal-page-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;padding:38px 0 24px;border-bottom:1px solid var(--b2b-line)}
.portal-page-heading h1{margin:0;font-size:clamp(32px,3.2vw,46px);line-height:1.12;font-weight:500;letter-spacing:-.035em}
.portal-page-heading p{margin:10px 0 0;max-width:68ch;color:var(--b2b-muted);line-height:1.55}
.portal-subnav{display:flex;gap:8px;align-items:center;overflow-x:auto;margin:20px 0 16px;padding:0 0 8px;border-bottom:1px solid var(--b2b-line);scrollbar-width:thin}
.portal-subnav button,.portal-subnav a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 14px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--b2b-muted);font:inherit;text-decoration:none;white-space:nowrap;cursor:pointer}
.portal-subnav [aria-pressed=true],.portal-subnav [aria-current=page]{border-color:#c8d5df;background:#fff;color:var(--b2b-blue);font-weight:600}
.portal-message{min-height:22px;color:var(--b2b-muted);font-size:14px}
.portal-list-tools{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:10px 0}.portal-list-tools p{margin:0;min-height:22px}
.portal-layout{display:grid;grid-template-columns:minmax(300px,.75fr) minmax(0,1.45fr);gap:clamp(24px,4vw,56px);align-items:start;padding-top:8px}
.portal-record-list{min-width:0;border-top:1px solid var(--b2b-line)}
.portal-row{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:8px;border-bottom:1px solid var(--b2b-line)}
.portal-select{display:grid;place-items:center;min-height:56px}.portal-select input{width:20px;height:20px;accent-color:var(--b2b-blue)}
.portal-row-open{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0;min-height:76px;padding:12px 4px;border:0;background:transparent;color:var(--b2b-ink);text-align:left;font:inherit;cursor:pointer}
.portal-row-open:hover{color:var(--b2b-blue)}.portal-row-main,.portal-row-meta{display:grid;gap:5px;min-width:0}.portal-row-main strong{font-size:16px;font-weight:600;overflow-wrap:anywhere}.portal-row-main small,.portal-row-meta small{color:var(--b2b-muted);font-size:13px;overflow-wrap:anywhere}.portal-row-meta{justify-items:end;flex-shrink:0}.portal-row-meta b{font-size:12px;font-weight:500}
.portal-record-detail{min-width:0;padding:0 0 24px}.portal-record-detail>p{color:var(--b2b-muted)}.portal-detail-heading{display:flex;align-items:start;justify-content:space-between;gap:18px;padding:4px 0 20px;border-bottom:1px solid var(--b2b-line)}.portal-detail-heading p{margin:0 0 7px;color:var(--b2b-muted);font-size:14px}.portal-detail-heading h2{margin:0 0 8px;font-size:clamp(24px,2.2vw,32px);font-weight:500;line-height:1.2;overflow-wrap:anywhere}
.portal-next-step{margin:20px 0;padding:18px 20px;border-left:3px solid var(--b2b-blue);background:#f1f5f7}.portal-next-step h3,.portal-delivery h3{margin:0 0 6px;font-size:17px;font-weight:600}.portal-next-step p,.portal-delivery p{margin:0;line-height:1.55}
.portal-answer-grid,.portal-answers dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px;margin:22px 0}.portal-answer-grid dt,.portal-answers dt{margin-bottom:4px;color:var(--b2b-muted);font-size:13px}.portal-answer-grid dd,.portal-answers dd{margin:0;line-height:1.5;overflow-wrap:anywhere}
.portal-record-detail details,.portal-help,.doc-status-history{border-top:1px solid var(--b2b-line);padding:14px 0}.portal-record-detail summary,.portal-help summary,.doc-status-history summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:600;cursor:pointer}.portal-answers dl{margin-bottom:0}.portal-report pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:14px;line-height:1.6;padding:16px;background:#f5f7f8}.portal-delivery{margin:16px 0;padding:16px;border:1px solid var(--b2b-line);border-radius:4px}.portal-history p{font-size:14px;color:var(--b2b-muted)}
.portal-empty{padding:28px;border:1px dashed #aebdc7;background:#fff}.portal-empty h2{margin:0 0 8px;font-size:21px;font-weight:500}.portal-empty p{margin:0;color:var(--b2b-muted);line-height:1.55}.portal-journey{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:start;padding:18px 12px;border-bottom:1px solid var(--b2b-line)}.portal-journey-mark{display:grid;place-items:center;width:28px;height:28px;border:1px solid #bdcbd4;border-radius:50%;font-size:16px}.portal-journey p{margin:6px 0;color:var(--b2b-muted);font-size:14px}.portal-journey small{display:block;color:var(--b2b-muted);font-size:12px}.portal-journey b{font-size:13px;font-weight:500;color:var(--b2b-blue)}
.portal-integrations{margin:12px 0;border-bottom:1px solid var(--b2b-line)}.portal-integrations summary{min-height:44px;display:flex;align-items:center;color:var(--b2b-muted);font-size:14px;cursor:pointer}.portal-integrations .admin-integrations-strip{padding:12px 0}
.admin-request-select-row{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:8px;border-top:1px solid var(--b2b-line)}.admin-request-select-row .portal-select{min-height:68px}.admin-request-select-row .admin-request-row{border:0}
.doc-create{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:22px 0;padding:20px;background:#f3f6f7;border:1px solid var(--b2b-line)}.doc-create-source{display:grid;grid-template-columns:minmax(180px,300px) minmax(220px,1fr);gap:12px 24px;flex:1;align-items:start;min-width:0}.doc-create-source>p{grid-column:1/-1;margin:0;color:var(--b2b-muted)}.doc-create-source label{display:grid;gap:6px;font-size:14px}.doc-create-source select{min-height:44px;padding:8px;border:1px solid #9fb0bc;border-radius:4px;background:white;font:inherit}.doc-template-preview{display:grid;gap:5px;font-size:14px}.doc-template-preview span,.doc-template-preview p{color:var(--b2b-muted)}.doc-template-preview p{margin:0;line-height:1.45}.doc-status-tabs{margin-top:24px}.doc-status-tabs+ p{min-height:20px;color:var(--b2b-muted)}.doc-lifecycle-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.doc-delete{color:#8d3229}.doc-status-history{margin-bottom:16px}.doc-status-history p{font-size:13px;color:var(--b2b-muted)}
.doc-page .doc-header{display:none}.doc-page .doc-layout{margin-top:12px}.doc-page .doc-editor-heading{display:flex;align-items:start;justify-content:space-between;gap:16px}.doc-page .doc-editor-heading h2{font-size:clamp(22px,2vw,30px)}
.portal-solar-intro{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:20px 0}.portal-solar-intro h2,.portal-results-grid h2{margin:0;font-size:24px;font-weight:500}.portal-solar-intro p,.portal-muted{color:var(--b2b-muted)}.portal-solar-list{border-top:1px solid var(--b2b-line)}.portal-solar-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px;padding:14px 4px;border-bottom:1px solid var(--b2b-line);color:var(--b2b-ink);text-decoration:none}.portal-solar-row:hover{color:var(--b2b-blue)}.portal-solar-row span:first-child{display:grid;gap:5px}.portal-solar-row small{font-size:13px;color:var(--b2b-muted)}.portal-results-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.portal-result-card{padding:20px;border:1px solid var(--b2b-line);background:#fff}.portal-result-card h3{margin:0;font-size:19px;font-weight:500;overflow-wrap:anywhere}.portal-result-card>p{color:var(--b2b-muted);font-size:13px}.portal-result-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.portal-result-card dt{color:var(--b2b-muted);font-size:13px}.portal-result-card dd{margin:3px 0 0;font-size:24px}.portal-pricing{max-width:900px;padding:20px 0}.portal-pricing #solar-pricing-form{display:grid;gap:18px}.portal-pricing #solar-pricing-form>label{display:grid;gap:6px}.portal-pricing input,.portal-pricing select{font:inherit;min-height:44px;padding:9px;border:1px solid #9fb0bc;border-radius:4px}
.admin-account .portal-page-heading{margin-bottom:4px}.admin-account-content{max-width:900px;margin:0 auto;padding:20px clamp(0px,3vw,36px)}.admin-account-content>p[data-account-user],.admin-account-content>p[data-account-state]{max-width:68ch;line-height:1.55}.admin-account-enrollment{display:grid;grid-template-columns:minmax(220px,260px) minmax(0,1fr);gap:12px 28px;align-items:start;max-width:850px;padding:24px;border:1px solid var(--b2b-line);border-radius:6px;background:#fff}.admin-account-enrollment h2,.admin-account-enrollment>p:nth-of-type(1){grid-column:1/-1}.admin-account-enrollment img{width:min(240px,100%);margin:0}.admin-account-enrollment .admin-account-form{grid-column:2;grid-row:3}.admin-account-enrollment .admin-field code{max-width:100%}.admin-account-form{max-width:760px}.admin-account-enrollment .admin-account-form{max-width:none}
@media(max-width:1100px){.portal-header{grid-template-columns:auto minmax(0,1fr);gap:12px 20px}.portal-nav{grid-column:1/-1;grid-row:2;overflow-x:auto;padding-bottom:2px}.portal-account-nav{grid-column:2;grid-row:1;justify-content:flex-end}.portal-main{padding-inline:28px}.portal-layout{grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:28px}}
@media(max-width:760px){.portal-header{padding:8px 18px;gap:4px 12px}.portal-brand img{width:78px}.portal-nav{gap:7px}.portal-nav a,.portal-account-nav a,.portal-account-nav button{font-size:14px}.portal-account-nav{gap:7px}.portal-account-nav a{max-width:132px;white-space:normal;text-align:center;line-height:1.2}.portal-main{padding-inline:18px;padding-bottom:40px}.portal-page-heading{padding-top:26px}.portal-page-heading h1{font-size:32px}.portal-subnav{margin-top:14px}.portal-layout{grid-template-columns:1fr;gap:22px}.portal-record-detail{border-top:1px solid var(--b2b-line);padding-top:20px}.portal-detail-heading{display:block}.portal-detail-heading .admin-button{display:flex;margin-top:14px}.portal-answer-grid,.portal-answers dl{grid-template-columns:1fr 1fr;gap:14px}.doc-create{display:grid;align-items:start;padding:16px}.doc-create-source{grid-template-columns:1fr}.doc-create-source>p{grid-column:auto}.doc-create>.admin-button{width:100%}.doc-page .doc-layout{grid-template-columns:1fr}.doc-page .doc-layout>aside{order:0}.doc-page [data-doc-editor]{order:1}.portal-results-grid{grid-template-columns:1fr}.portal-solar-intro{display:grid;align-items:start}.portal-solar-intro>.admin-button{width:100%}.admin-account-content{padding:20px 0}.admin-account-enrollment{grid-template-columns:1fr;padding:18px}.admin-account-enrollment h2,.admin-account-enrollment>p:nth-of-type(1){grid-column:auto}.admin-account-enrollment img{width:min(220px,100%)}.admin-account-enrollment .admin-account-form{grid-column:auto;grid-row:auto}.portal-journey{grid-template-columns:30px minmax(0,1fr)}.portal-journey>b{grid-column:2}.portal-solar-row{align-items:start}}
@media(max-width:420px){.portal-header{padding-inline:14px}.portal-main{padding-inline:14px}.portal-brand{min-width:70px}.portal-brand img{width:70px}.portal-nav a{font-size:13px;padding-inline:6px}.portal-account-nav a{max-width:100px;font-size:12px}.portal-row-open{align-items:start;display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.portal-row-meta{justify-items:start}.portal-answer-grid,.portal-answers dl{grid-template-columns:1fr}.portal-list-tools{align-items:start;flex-wrap:wrap}.portal-list-tools .admin-button{width:100%}.doc-lifecycle-actions{justify-content:start}.doc-page .doc-editor-heading{display:block}.doc-lifecycle-actions{margin-top:12px}.portal-journey{padding-inline:4px}}

/* Focused portal details for proposal workflows and recorded request context. */
.doc-create-source>[data-doc-source-primary]{display:grid;grid-template-columns:minmax(200px,300px) minmax(220px,1fr);gap:12px 24px;align-items:start;grid-column:1/-1;width:100%}
.doc-create-source>[data-doc-source-primary] label{display:grid;gap:6px;font-size:14px}
.doc-create-source>[data-doc-source-primary] .admin-button{align-self:end;justify-self:start}
.doc-manual{grid-column:1/-1;width:100%;border-top:1px solid var(--b2b-line);padding-top:8px}
.doc-manual summary,.doc-advanced summary{min-height:44px;display:flex;align-items:center;font-weight:600;cursor:pointer}
.doc-manual>p{margin:4px 0 12px;color:var(--b2b-muted)}
.doc-manual .admin-button{margin-top:8px}
.doc-advanced{margin:12px 0;border-block:1px solid var(--b2b-line)}
.portal-provenance dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 22px;margin:10px 0}
.portal-provenance dt{color:var(--b2b-muted);font-size:13px}
.portal-provenance dd{margin:4px 0 0;overflow-wrap:anywhere;line-height:1.5}
.portal-followup{display:grid;gap:12px;margin:22px 0;padding:18px;border:1px solid var(--b2b-line);background:#f8fafb}
.portal-followup h3{margin:0;font-size:18px;font-weight:600}
.portal-followup label{display:grid;gap:6px}
.portal-followup input,.portal-followup select,.portal-followup textarea{width:100%;min-height:44px;padding:9px 10px;border:1px solid #9fb0bc;border-radius:4px;background:#fff;color:var(--b2b-ink);font:inherit}
.portal-followup small{color:var(--b2b-muted);line-height:1.45}
.portal-followup [role=status]{margin:0;min-height:20px;color:var(--b2b-muted)}
.solar-receipt .solar-email-status{display:grid;gap:5px;margin-top:18px;padding-top:14px;border-top:1px solid #cbd8df;line-height:1.5}
.solar-receipt .solar-email-status b{font-weight:600}
@media(max-width:760px){.doc-create-source>[data-doc-source-primary]{grid-template-columns:1fr}.portal-provenance dl{grid-template-columns:1fr}}
