/* HeroX HQ — New-project wizard (wizard.js). Uses the colour tokens from app.css, so light and dark mode follow it. */
.wz .in{height:34px}
.wz textarea.in{height:auto;min-height:58px;line-height:1.4}
.wz label.f{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* step 2 — one clean 12-column grid, every input on the same baseline */
.wz-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px 14px;align-items:end}
.wz-f{min-width:0}
.wz-grid .s2{grid-column:span 2}.wz-grid .s3{grid-column:span 3}.wz-grid .s4{grid-column:span 4}.wz-grid .s6{grid-column:span 6}.wz-grid .s12{grid-column:1/-1}
.wz-money{display:flex;min-width:0}
.wz-money select.in{width:82px;flex:0 0 82px;border-radius:7px 0 0 7px;background:var(--surface2)}
.wz-money input.in{flex:1;border-radius:0 7px 7px 0;margin-left:-1px;min-width:0}
.wz-addr{resize:vertical;background-image:none !important}
.wz-chk{display:inline-flex;gap:7px;align-items:center;font-size:13px;color:var(--ink2);cursor:pointer}

/* dome size & climate, design checks */
.wz-dims{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px 12px;align-items:end}

/* step 3 — scope & suppliers questionnaire */
.wz-pkhead{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}
.wz-pkhead > div:first-child{flex:1;min-width:280px;max-width:760px}
.wz-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.wz-tools select.in{width:auto;min-width:230px}
.wz-pk{margin-top:14px;border:1px solid var(--border);border-radius:10px;overflow:hidden}
.wz-pkr{display:grid;grid-template-columns:minmax(140px,.9fr) 142px minmax(190px,1.25fr) minmax(190px,1.4fr) 112px 112px;gap:8px 10px;align-items:start;padding:9px 12px 9px 10px;border-top:1px solid var(--border);border-left:3px solid transparent}
.wz-pkr:first-child{border-top:0}
.wz-pkh{background:var(--surface2);font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--ink2);font-weight:600;padding-top:7px;padding-bottom:7px;align-items:center}
.wz-pkr.is-sug{background:color-mix(in srgb,var(--warn-soft) 32%,transparent);border-left-color:#d39b00}
.wz-pkr.is-ok{border-left-color:var(--ok)}
.wz-pkn{display:flex;flex-direction:column;gap:1px;padding-top:2px;min-width:0}
.wz-pkn b{font-weight:600;font-size:13.5px}
.wz-q{font-size:11.5px;color:var(--ink2);line-height:1.35}
.wz-c{min-width:0;display:flex;flex-direction:column;gap:6px}
.wz-c select.in,.wz-c input.in{font-size:13px}
.wz-sup{display:flex;gap:4px;align-items:center}
.wz-sup select.in{flex:1;min-width:0}
.wz-add{color:var(--accent);text-decoration:none;align-self:flex-start}
.wz-nopo{font-size:12.5px;color:var(--ink3);font-style:italic;line-height:34px}
.wz-pkr.is-off .wz-c[data-l="Spec / notes"] input.in{color:var(--ink2)}
.wz-amt{display:flex;align-items:center;position:relative}
.wz-ccy{position:absolute;left:9px;font-size:12px;color:var(--ink3);pointer-events:none}
.wz-amt input.in{padding-left:30px;text-align:right;font-variant-numeric:tabular-nums}
.wz-pkst{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-height:34px;justify-content:center}
.wz-st1{display:flex;gap:5px;align-items:center}
.wz-src{font-size:11px;color:var(--warn);text-align:right;line-height:1.25;max-width:112px;overflow-wrap:anywhere}
.wz-okb{min-width:30px;justify-content:center;border-color:#d39b00;color:var(--warn)}
.wz-okb:hover{background:var(--ok-soft);color:var(--ok);border-color:var(--ok)}

/* step 4 — review & create */
.wz-h{font-size:18px;margin-top:2px}
.wz-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}
.wz-facts > div{background:var(--surface2);border-radius:8px;padding:8px 10px;min-width:0}
.wz-facts span{display:block;font-size:11px;color:var(--ink2)}
.wz-facts b{display:block;font-size:13.5px;font-weight:600;overflow-wrap:anywhere}
.wz-t td{vertical-align:top}
.wz-t td.wz-spec{white-space:normal;max-width:380px;color:var(--ink2);font-size:12.5px}
.wz-t tfoot td{font-weight:600;background:var(--surface2);border-bottom:0}
.wz-pos{display:flex;flex-direction:column;gap:8px}
.wz-po{border:1px solid var(--border);border-radius:9px;padding:9px 12px}
.wz-po1{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.wz-off{margin-top:6px;font-size:13px}
.wz-later{margin:8px 0 0 18px;line-height:1.7;font-size:13px}
.wz-ack{display:flex;gap:9px;align-items:flex-start;padding:10px 12px;background:var(--bad-soft);color:var(--bad);border-radius:8px;font-weight:500;font-size:13px;cursor:pointer}
.wz-ack input{margin-top:3px}
.wz-go{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.wz-go #wlog{max-width:420px}
.wz-create{font-size:16px;padding:11px 30px;font-weight:650;border-radius:10px}

@media (max-width:1180px){
  .wz-pkh{display:none}
  .wz-pkr{grid-template-columns:1fr 1fr;padding:12px}
  .wz-pkn{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;gap:4px 10px;align-items:baseline}
  .wz-c::before{content:attr(data-l);font-size:11.5px;color:var(--ink2);font-weight:500;margin-bottom:-3px}
  .wz-pkst{grid-column:1/-1;flex-direction:row;justify-content:flex-start;align-items:center;gap:8px}
  .wz-src{text-align:left;max-width:none}
}
@media (max-width:720px){
  .wz-grid{grid-template-columns:1fr 1fr}
  .wz-grid .wz-f{grid-column:span 1}
  .wz-grid .s6,.wz-grid .s12,.wz-grid .wz-cv{grid-column:1/-1}
  .wz-pkr{grid-template-columns:1fr}
  .wz-tools,.wz-tools select.in{width:100%}
  .wz-create{width:100%;justify-content:center}
}
/* Spec picker and the project chat (25 Oct) */
.wz-spec{display:flex;gap:4px;align-items:center}.wz-spec .in{flex:1;min-width:0}.wz-pick{padding:4px 8px;flex:none}
.wz-pop{position:absolute;z-index:60;width:420px;max-height:340px;overflow:auto;background:var(--card,#fff);border:1px solid var(--line,#ddd);border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.wz-opt{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;text-align:left;padding:8px 10px;border:0;border-top:1px solid var(--line,#eee);background:none;cursor:pointer;color:inherit;font:inherit}
.wz-opt:hover{background:var(--bg2,#f4f4f5)}
.wz-chat .wz-msgs{display:flex;flex-direction:column;gap:6px;max-height:280px;overflow:auto;margin-top:8px}
.wz-chat .msg{padding:8px 11px;border-radius:10px;max-width:85%;white-space:pre-wrap;font-size:14px}
.wz-chat .msg.u{align-self:flex-end;background:var(--accent-soft,#e8efff)}.wz-chat .msg.a{align-self:flex-start;background:var(--bg2,#f4f4f5)}
