/* NetZero business area (NZ-24) — the add-on's few styles, on the release's own tokens (design-system.css :root).
   Not part of the owner-supplied release. */
.nzb .nzb-crumbs{margin:6px 0 4px;flex-wrap:wrap}
.nzb .nzb-section{margin-top:28px}
.nzb .nzb-section .nz-section-title h2{font-size:20px;margin:0 0 4px;letter-spacing:-.02em}
.nzb .nzb-section .nz-section-title p{margin:0 0 14px;color:var(--muted);font-size:13px;max-width:72ch}
.nzb .nzb-h3{font-size:15px;margin:22px 0 8px}
.nzb .nzb-loading{color:var(--muted);display:flex;align-items:center;gap:8px;padding:24px 0}
.nzb .nzb-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.nzb .nzb-card{display:flex;flex-direction:column;gap:6px;align-items:flex-start;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.nzb .nzb-card:hover{border-color:#b5aa99}
.nzb .nzb-card span{color:var(--muted);font-size:13px}
.nzb .nzb-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px 16px}
.nzb .nzb-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.nzb .nzb-optional{color:var(--muted);font-weight:400}
.nzb .nzb-form{padding:20px;margin-top:12px}
.nzb .nzb-form-actions{margin-top:14px;display:flex;gap:10px;flex-wrap:wrap}
.nzb .nzb-form-error{color:var(--danger);font-size:13px;margin-top:8px}
.nzb .nzb-form-error:empty{display:none}
.nzb .nzb-inline{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.nzb .nzb-inline .field{min-height:36px;padding:6px 9px;width:auto}
.nzb .nzb-qty{max-width:90px}
.nzb .nzb-unit{max-width:84px}
.nzb .nzb-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.nzb .nzb-table td{padding:10px 9px;vertical-align:top;border-bottom:1px solid var(--soft);font-size:13px}
.nzb .nzb-table tr:last-child td{border-bottom:0}
.nzb .nzb-sub{color:var(--muted);font-size:12px;display:block}
.nzb .nzb-empty{padding:18px;text-align:left}
.nzb .nzb-price{font-variant-numeric:tabular-nums;white-space:nowrap}
.nzb .nzb-noprice{color:var(--amber);white-space:normal}
.nzb .nzb-totals{margin-top:12px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface-warm)}
.nzb .nzb-totals.nzb-incomplete{border-color:#ecd9ae;background:var(--amber-bg)}
.nzb .nzb-total-groups{list-style:none;margin:0 0 6px;padding:0;font-variant-numeric:tabular-nums}
.nzb .nzb-warn{color:var(--amber);font-weight:600;display:flex;gap:6px;align-items:center;margin:4px 0}
.nzb .nzb-details{margin-top:12px}
.nzb .nzb-details>summary{cursor:pointer;font-weight:600;font-size:13px;padding:6px 0}
.nzb .nzb-quick{padding:16px}
.nzb .nzb-quick-row{display:grid;grid-template-columns:minmax(180px,2fr) minmax(80px,.7fr) minmax(80px,.7fr) minmax(140px,1.4fr) auto;gap:10px;align-items:end}
@media (max-width:760px){.nzb .nzb-quick-row{grid-template-columns:1fr 1fr}.nzb .nzb-quick-row button{grid-column:1/-1}}
.nzb .nzb-candidates{margin-top:10px;border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--surface)}
.nzb .nzb-candidates ul{list-style:none;margin:8px 0 0;padding:0}
.nzb .nzb-candidates li{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:8px 0;border-top:1px solid var(--soft)}
.nzb .nzb-copy{display:flex;gap:8px;margin-top:8px}
.nzb .nzb-part{margin-top:14px;border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:var(--surface)}
.nzb .nzb-part header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}
.nzb .nzb-part h3{margin:0;font-size:15px}
.nzb .nzb-events{margin:0;padding-left:18px;font-size:13px}
.nzb .nzb-events li{margin:6px 0}
.nzb .notice{margin-top:12px}
/* NZP-38 — one row per product with its offers; offer cards; add to cart (the release's tokens only) */
.nzb .nzb-prows{display:grid;gap:12px}
.nzb .nzb-prow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:var(--white)}
.nzb .nzb-prow-main{display:grid;gap:5px;min-width:0}
.nzb .nzb-maker{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.nzb .nzb-model{font-size:16px;font-weight:600;letter-spacing:-.02em;color:var(--ink);overflow-wrap:anywhere}
.nzb .nzb-model:hover{color:var(--text-brand)}
.nzb .nzb-tags{display:flex;flex-wrap:wrap;gap:6px}
.nzb .nzb-prow-buy{display:grid;gap:6px;justify-items:end;text-align:right;min-width:0}
.nzb .nzb-from{display:grid;gap:2px;justify-items:inherit}
.nzb .nzb-price{font-size:20px;font-weight:700;letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums}
.nzb .nzb-prow-acts{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.nzb .nzb-offers{display:grid;gap:12px}
.nzb .nzb-offer{display:grid;gap:12px;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:var(--white)}
.nzb .nzb-offer-best{border-color:var(--brand-gold);box-shadow:0 0 0 3px var(--surface-selected)}
.nzb .nzb-offer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap}
.nzb .nzb-offer-price{display:grid;justify-items:end;text-align:right;gap:2px}
.nzb .nzb-offer-terms{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px 18px;font-size:13px;font-variant-numeric:tabular-nums}
.nzb .nzb-offer-terms>div{display:grid;gap:1px;min-width:0;overflow-wrap:anywhere}
.nzb .nzb-offer-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:10px}
.nzb .nzb-add{display:grid;gap:10px;padding:14px;border-radius:12px;background:var(--surface-warm);border:1px solid var(--line)}
@media (max-width:640px){.nzb .nzb-prow{grid-template-columns:1fr}.nzb .nzb-prow-buy{justify-items:start;text-align:left;border-top:1px solid var(--line);padding-top:10px}.nzb .nzb-prow-acts{justify-content:flex-start}.nzb .nzb-offer-price{justify-items:start;text-align:left}}
.nzb .nzb-why{max-width:240px;font-style:italic}
/* NZP-41 — the selling application's kinds */
.nzb .nzb-kinds{border:1px solid var(--line);border-radius:12px;padding:10px 14px;margin:12px 0;display:flex;flex-wrap:wrap;gap:8px 16px}
.nzb .nzb-check{display:inline-flex;align-items:center;gap:6px;font-size:13px}
/* owner 2026-10-24 — the system, drawn: one line diagram, each part a bubble (catalogue, home, project, seller) */
.nzs{margin:8px 0 0;display:grid;gap:8px}
.nzs-wrap{border:0;border-radius:28px;background:#f7f1e8;overflow:hidden}
.nzs-svg{display:block;width:100%;height:auto;font-family:inherit}
/* owner 2026-10-25 — the 3D render with label chips */
.nzs-svg .nzs-lead{stroke:rgba(80,60,40,.45);stroke-width:2;stroke-dasharray:5 6}
.nzs-svg .nzs-anchor{fill:#ffffff;stroke:#b3262d;stroke-width:3}
.nzs-svg .nzs-chip rect{fill:#ffffff;fill-opacity:.96;stroke:rgba(70,48,24,.12);stroke-width:1.5;filter:drop-shadow(0 10px 22px rgba(60,40,20,.12));transition:stroke .15s ease}
.nzs-svg .nzs-dot{fill:#b3262d}
.nzs-svg .nzs-done .nzs-dot{fill:#231f20}
.nzs-svg .nzs-off .nzs-dot{fill:#ffffff;stroke:#a7afb9;stroke-width:2.5}
.nzs-svg .nzs-lab{font-weight:650;font-size:26px;fill:#1f2328}
.nzs-svg .nzs-sub{font-weight:500;font-size:20px;fill:#6b6258}
.nzs-svg .nzs-off .nzs-lab{fill:#6b7480}
.nzs-svg a:hover .nzs-chip rect,.nzs-svg a:focus-visible .nzs-chip rect{stroke:#b3262d;stroke-width:3}
.nzs-svg a:focus{outline:none}
.nzs-credits{margin:10px 0 0;font-size:12px;color:var(--muted)}
.nzs-list{list-style:none;margin:0;padding:0;display:none;gap:6px}
.nzs-li{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.nzs-li a{font-weight:700;color:var(--text-brand)}.nzs-li.nzs-off{opacity:.75}
@media (max-width:640px){.nzs-list{display:grid}.nzs-svg .nzs-chip,.nzs-svg a{display:none}}
.nzs-home .nzs{margin-top:18px}
/* owner 2026-10-24 — the Business pages in the drawing's language: red line, red nodes, quiet surfaces */
.nzb .nz-client-heading{position:relative;padding:22px 0 18px;margin-bottom:6px;border-bottom:3px solid var(--brand-red)}
.nzb .nz-client-heading::after{content:"";position:absolute;left:0;bottom:-7px;width:11px;height:11px;border-radius:50%;background:var(--brand-red)}
.nzb .nz-client-heading .eyebrow{color:var(--text-brand);letter-spacing:.12em}
.nzb .nz-client-heading h1{letter-spacing:-.025em;text-wrap:balance}
.nzb .nzb-section .nz-section-title h2{display:flex;align-items:center;gap:10px}
.nzb .nzb-section .nz-section-title h2::before{content:"";flex:none;width:10px;height:10px;border-radius:50%;background:var(--brand-red);box-shadow:0 0 0 4px var(--accent-soft)}
.nzb .nzb-card{position:relative;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.nzb .nzb-card:hover{border-color:var(--brand-red);box-shadow:var(--shadow);transform:translateY(-1px)}
.nzb .nzb-card strong{font-size:16px;letter-spacing:-.01em}
.nzb .nzb-table th{background:var(--soft);font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:9px;text-align:left}
.nzb .nzb-table tr:hover td{background:var(--surface-warm)}
.nzb .nzb-form{border-left:3px solid var(--brand-red)}
@media (prefers-reduced-motion:reduce){.nzb .nzb-card,.nzs-svg .nzs-chip rect{transition:none}.nzb .nzb-card:hover{transform:none}}
/* owner 2026-10-24 — the road: the photo, the milestones on its hairpins, where you are */
.nzr{margin:18px 0 8px;display:grid;gap:14px}
.nzr-photo{position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:#c8d6c0}
.nzr-photo img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.nzr-photo svg{position:absolute;inset:0;width:100%;height:100%}
.nzr-here{display:flex;flex-direction:column;gap:6px;background:var(--brand-charcoal);color:var(--on-dark);border-radius:16px;padding:18px 20px}
.nzr-eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--brand-gold)}
.nzr-here strong{font-size:22px;letter-spacing:-.02em}.nzr-here span:last-child{color:var(--on-dark-muted);line-height:1.5}
.nzr-list{list-style:none;margin:0;padding:0;display:none;gap:6px}
.nzr-li{display:flex;gap:10px;align-items:baseline;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.nzr-n{flex:none;width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:12px;border:2px solid var(--brand-charcoal)}
.nzr-done .nzr-n{background:var(--action);color:#fff;border-color:var(--action)}.nzr-now .nzr-n{background:var(--brand-gold)}.nzr-skipped{opacity:.7}
@media (max-width:640px){.nzr-list{display:grid}.nzr-photo svg text,.nzr-photo svg rect{display:none}}
/* owner 2026-10-24 — the home page opens on the road */
.nzr-hero{position:relative;margin:0 0 8px;background:#c8d6c0}
.nzr-hero-photo{position:relative;height:clamp(520px,44vw,860px);overflow:hidden}
.nzr-hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.nzr-hero-photo svg{position:absolute;inset:0;width:100%;height:100%}
.nzr-hero-card{position:absolute;left:24px;bottom:24px;width:min(440px,26vw);display:flex;flex-direction:column;gap:12px;background:var(--paper);border-radius:24px;padding:clamp(18px,1.6vw,28px) clamp(18px,1.6vw,30px);box-shadow:var(--shadow)}
.nzr-hero-eyebrow{font-size:12px;font-weight:700;letter-spacing:.16em;color:var(--text-brand)}
.nzr-hero-card h1{margin:0;font-size:clamp(28px,2.8vw,50px);line-height:1;letter-spacing:-.04em;text-wrap:balance}
.nzr-hero-card p{margin:0;font-size:clamp(14px,1.05vw,17px);line-height:1.55;color:var(--body)}
.nzr-hero-actions{display:flex;flex-wrap:wrap;gap:10px}
@media (max-width:1024px){.nzr-hero-photo{height:auto;min-height:0;aspect-ratio:16/10}.nzr-hero-card{position:static;width:auto;max-width:none;margin:-28px 16px 0;border-radius:20px}}
.nzr-credit{position:absolute;right:10px;bottom:8px;font-size:11px;color:#fff;background:rgba(35,31,32,.55);padding:2px 8px;border-radius:99px}
/* owner 2026-10-24 — chips over the catalogue: kinds, then the offer filters people use most */
.nzb .nzb-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0 4px}
.nzb .nzb-chips-label{font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--muted);margin-right:4px}
.nzb .nzb-chip{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:7px 14px;border:1px solid var(--line);border-radius:100px;background:var(--white);font-size:13px;font-weight:600;color:var(--body);white-space:nowrap;transition:background .15s,border-color .15s,color .15s}
.nzb .nzb-chip:hover{border-color:var(--ink);color:var(--ink)}
.nzb .nzb-chip-on,.nzb .nzb-chip-on:hover{background:var(--ink);border-color:var(--ink);color:var(--white)}
@media (max-width:760px){.nzb .nzb-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.nzb .nzb-chip{flex-shrink:0}}
/* owner 2026-10-24 (UX review, phase 1) — the road's stops open a card; one start page with four doors; a you-are-here bar */
.nzr-stop{cursor:pointer;outline:none}
.nzr-stop .nzr-dot{transform-box:fill-box;transform-origin:center;transition:transform .18s ease,stroke .18s ease}
.nzr-stop:hover .nzr-dot,.nzr-stop:focus-visible .nzr-dot{transform:scale(1.2);stroke:#ed2c2c;stroke-width:2.5}
.nzr-stop:focus-visible circle:first-child{fill-opacity:.35;fill:#f3be33}
.nzr-card{position:absolute;z-index:5;width:min(300px,calc(100% - 16px));display:flex;flex-direction:column;align-items:flex-start;gap:8px;background:var(--paper);border-radius:16px;padding:16px 18px;box-shadow:0 10px 30px rgba(35,31,32,.22)}
.nzr-card[hidden]{display:none}
.nzr-card strong{font-size:18px;letter-spacing:-.02em}
.nzr-card p{margin:0;font-size:14px;line-height:1.5;color:var(--body)}
.nzr-card-eyebrow,.nzg-eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--text-brand)}
.nzr-legs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 18px}
.nzr-leg{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border-radius:100px;background:var(--surface-warm);font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--muted)}
.nzr-leg b{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--white);color:var(--ink);font-size:12px}
.nzr-leg-on{background:var(--ink);color:var(--white)}
.nzr-leg-on b{background:#f3be33}
.nzg-doors{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin:8px 0 24px}
.nzg-door{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--white);transition:transform .18s,box-shadow .18s,border-color .18s}
.nzg-door:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--ink)}
.nzg-door strong{font-size:19px;letter-spacing:-.025em}
.nzg-door span{font-size:14px;line-height:1.55;color:var(--body);flex:1}
.nzg-door em{font-style:normal;font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--muted)}
.nzg-door-on{border:2px solid #ed2c2c}
.nzg-result{margin-top:16px;display:flex;flex-direction:column;gap:8px;padding:20px;border-radius:16px;background:var(--surface-warm)}
.nzg-result strong{font-size:26px;letter-spacing:-.03em}
.nzg-result p{margin:0;font-size:14px;color:var(--body)}
.nzg-help{margin:24px 0 0;font-size:14px;color:var(--muted)}
.nzg-help a{font-weight:600;color:var(--ink);text-decoration:underline}
@media (max-width:1024px){.nzg-doors{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.nzg-doors{grid-template-columns:1fr}}

/* owner 2026-10-25 — upload a file into a start door's form */
.nzg-file{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 14px}
.nzg-file-btn{position:relative;display:inline-flex;align-items:center;gap:6px;cursor:pointer}
.nzg-file-btn input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.nzg-file-btn:focus-within{outline:2px solid var(--action,#b3262d);outline-offset:2px}
.nzg-file .nzb-sub{flex:1 1 240px;min-width:0}
.nzg-file-out{flex:1 0 100%;min-width:0}
.nzg-file-out:empty{display:none}
.nzg-file-out q{font-style:italic}
.nzg-picks{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}

/* owner 2026-10-25 — IDCOL DRS packages: size, package, then its sample bill of materials */
.nzd-sizes,.nzd-pkgs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.nzd-size,.nzd-pkg{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 14px;border:1px solid var(--line);border-radius:14px;background:var(--white);color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.nzd-size span,.nzd-pkg span,.nzd-pkg em{font-size:12.5px;color:var(--muted);font-style:normal}
.nzd-pkg{min-width:150px}
.nzd-size:hover,.nzd-pkg:hover{border-color:var(--ink)}
.nzd-size:focus-visible,.nzd-pkg:focus-visible{outline:2px solid #b3262d;outline-offset:2px}
.nzd-on{border-color:#b3262d;box-shadow:0 0 0 1px #b3262d inset}
.nzd-chosen{display:grid;gap:14px;margin:8px 0 16px;padding:20px;border:1px solid var(--line);border-radius:20px;background:var(--white);scroll-margin-top:90px}
.nzd-chosen h3{margin:0}
.nzd-table{overflow-x:auto}
.nzd-bom{width:100%;border-collapse:collapse;font-size:14px}
.nzd-bom caption{text-align:left;font-weight:600;padding:0 0 8px}
.nzd-bom th,.nzd-bom td{padding:9px 10px;border-top:1px solid var(--line);text-align:left;vertical-align:top}
.nzd-bom thead th{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);border-top:0}
.nzd-bom td:first-child{width:2em;color:var(--muted);font-variant-numeric:tabular-nums}
.nzd-source{font-size:12.5px;color:var(--muted);margin:4px 0 0}
@media (max-width:560px){.nzd-chosen{padding:14px}.nzd-bom th,.nzd-bom td{padding:8px 6px}.nzd-pkg{min-width:0;flex:1 1 140px}}
