.nq-estimator,
.nq-quote-detail,
.nq-empty,
.nq-notice,
.nq-portal-heading,
.nq-quote-list,
.nq-account-card {
	--nq-bg: var(--nk-bg, #f4f6f5);
	--nq-surface: var(--nk-surface, #ffffff);
	--nq-surface-2: var(--nk-surface-2, #e7ebe9);
	--nq-line: var(--nk-line, rgba(37,43,47,.18));
	--nq-text: var(--nk-text, #252b2f);
	--nq-muted: var(--nk-muted, #5f6a70);
	--nq-mint: var(--nk-mint, #236b8e);
	--nq-copper: var(--nk-copper, #236b8e);
	color: var(--nq-text);
}
.nq-estimator { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(310px,.55fr); gap:32px; align-items:start; }
.nq-estimator-simple { display:block; width:100%; max-width:1180px; margin-inline:auto; }
.nq-form { display:grid; gap:24px; padding:clamp(24px,4vw,42px); border:1px solid var(--nq-line); border-radius:3px; background:var(--nq-surface); }
.nq-form [hidden] { display:none!important; }
.nq-heading h2,.nq-portal-heading h2,.nq-quote-detail h2 { margin:0 0 12px; color:var(--nq-text); }
.nq-heading p,.nq-empty p { color:var(--nq-muted); }
.nq-kicker { margin:0 0 10px!important; color:var(--nq-mint)!important; text-transform:uppercase; letter-spacing:.15em; font-size:.72rem; font-weight:800; }
.nq-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.nq-form > label,.nq-grid label { display:grid; gap:8px; color:var(--nq-text); font-weight:700; }
.nq-form label > span { color:var(--nq-copper); }
.nq-form input:not([type=checkbox]),.nq-form select,.nq-form textarea { width:100%; min-height:48px; padding:12px 14px; border:1px solid var(--nq-line); border-radius:3px; background:#f7f8f7!important; color:var(--nq-text)!important; font:inherit; }
.nq-form input:-webkit-autofill { box-shadow:0 0 0 1000px #f7f8f7 inset!important; -webkit-text-fill-color:var(--nq-text)!important; caret-color:var(--nq-text); }
.nq-form textarea { resize:vertical; }
.nq-form input:focus,.nq-form select:focus,.nq-form textarea:focus { outline:2px solid rgba(35,107,142,.22); border-color:var(--nk-circuit,#236b8e); }
.nq-form small { color:var(--nq-muted); font-weight:400; }
.nq-button { display:inline-flex; align-items:center; justify-content:center; min-height:52px; width:max-content; padding:0 22px; border:0; border-radius:3px; background:var(--nq-mint); color:#fff!important; text-decoration:none; font-weight:800; cursor:pointer; }
.nq-button:disabled { opacity:.48; cursor:not-allowed; filter:none; transform:none; }
.nq-button:hover { filter:brightness(1.08); transform:translateY(-1px); }
.nq-button-secondary { border:1px solid var(--nq-mint); background:transparent; color:var(--nq-mint)!important; }
.nq-document-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:20px; }
.nq-order-document { margin-top:20px; }
.nq-notice { display:grid; gap:4px; margin-bottom:22px; padding:17px 19px; border:1px solid var(--nq-copper); border-radius:3px; background:var(--nq-surface); }
.nq-notice-success { border-color:var(--nk-circuit,#236b8e); background:#eef6f9; }
.nq-notice span { color:var(--nq-muted); }
.nq-empty { padding:clamp(32px,6vw,68px); border:1px solid var(--nq-line); border-radius:3px; background:var(--nq-surface); }
.nq-honeypot { position:absolute; left:-10000px; }
.nq-dropzone { display:grid!important; place-items:center; gap:6px!important; min-height:138px; padding:18px; border:1px dashed var(--nq-muted); border-radius:3px; background:#f4f6f5; text-align:center; cursor:pointer; transition:border-color .18s ease,background .18s ease; }
.nq-dropzone input { position:absolute; width:1px!important; height:1px; min-height:0!important; padding:0!important; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0!important; }
.nq-dropzone strong { color:var(--nq-text); font-size:1.1rem; }
.nq-dropzone small { display:block; }
.nq-drop-icon { display:grid; place-items:center; width:40px; height:40px; border:1px solid var(--nq-line); border-radius:3px; color:var(--nq-mint)!important; font-size:1.4rem; }
.nq-dropzone-active,.nq-dropzone-loading { border-color:var(--nk-circuit,#236b8e); background:#eef6f9; }
.nq-dropzone-error { border-color:var(--nq-copper); }
.nq-workspace { display:grid; grid-template-columns:minmax(245px,.72fr) minmax(440px,1.65fr); gap:20px; align-items:stretch; }
.nq-input-column { display:grid; align-content:start; gap:16px; min-width:0; }
.nq-input-column > label { display:grid; gap:8px; color:var(--nq-text); font-weight:700; }
.nq-volume-panel { display:grid; gap:3px; padding:17px; border:1px solid var(--nq-line); background:#f7f8f7; }
.nq-volume-panel span { color:var(--nq-muted); font-size:.78rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.nq-volume-panel strong { color:var(--nq-text); font-size:clamp(1.25rem,2vw,1.65rem); line-height:1.15; }
.nq-volume-panel small { color:var(--nq-muted); }
.nq-geometry { display:grid; gap:0; margin:0; border:1px solid var(--nq-line); background:var(--nq-surface); }
.nq-geometry div { display:grid; grid-template-columns:1fr auto; gap:12px; padding:10px 12px; border-bottom:1px solid var(--nq-line); }
.nq-geometry div:last-child { border-bottom:0; }
.nq-geometry dt { color:var(--nq-muted); font-size:.82rem; }
.nq-geometry dd { margin:0; color:var(--nq-text); font-size:.82rem; font-weight:750; text-align:right; }
.nq-preview { position:relative; height:100%; min-height:0; padding:12px; border:1px solid var(--nq-line); border-radius:3px; background:#f4f6f5; }
.nq-preview-stage { display:grid; place-items:center; height:100%; min-height:453px; overflow:hidden; border:1px solid var(--nq-line); background:linear-gradient(145deg,#fff,#e7ebe9); touch-action:none; }
.nq-preview-stage > span { color:var(--nq-muted); font-size:.78rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.nq-preview-stage svg { display:block; width:100%; height:auto; max-height:220px; }
.nq-preview-stage canvas { display:block; width:100%; height:100%; }
.nq-fit-button { position:absolute; right:24px; bottom:24px; z-index:2; display:grid; place-items:center; width:42px; height:42px; padding:0; border:1px solid var(--nq-line); border-radius:3px; background:rgba(255,255,255,.94)!important; color:var(--nq-text)!important; cursor:pointer; box-shadow:0 2px 10px rgba(37,43,47,.12); }
.nq-fit-button svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.nq-fit-button:hover,.nq-fit-button:focus-visible { border-color:var(--nq-mint); color:var(--nq-mint)!important; }
.nq-fit-button:focus-visible { outline:2px solid rgba(35,107,142,.28); outline-offset:2px; }
.nq-fit-button:disabled { opacity:.45; cursor:not-allowed; box-shadow:none; }
.nq-estimate-actions { display:grid; grid-template-columns:auto minmax(260px,1fr) auto; gap:18px; align-items:stretch; padding-top:6px; }
.nq-estimate-actions > .nq-button { align-self:center; }
.nq-contact { display:grid; gap:18px; padding-top:4px; }
.nq-contact h3 { margin:0; color:var(--nq-text); font-size:1.2rem; }
.nq-contact > label { display:grid; gap:8px; color:var(--nq-text); font-weight:700; }
.nq-spam-note { margin:0!important; color:var(--nq-muted); font-size:.78rem; }
.nq-customer-estimate { display:grid; grid-template-columns:1fr auto; align-items:center; gap:5px 20px; padding:16px 18px; border:1px solid var(--nq-line); background:#f7f8f7; }
.nq-customer-estimate span { color:var(--nq-text)!important; font-size:1rem; font-weight:750; }
.nq-customer-estimate strong { color:var(--nq-text); font-size:clamp(1.65rem,4vw,2.4rem); line-height:1; letter-spacing:-.03em; }
.nq-customer-estimate small { grid-column:1 / -1; color:var(--nq-muted); }
.nq-portal-heading,.nq-detail-heading { display:flex; justify-content:space-between; gap:24px; align-items:center; margin-bottom:28px; }
.nq-quote-list { display:grid; gap:12px; }
.nq-quote-row { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:26px; align-items:center; padding:22px; border:1px solid var(--nq-line); border-radius:3px; background:var(--nq-surface); }
.nq-quote-row h3 { margin:8px 0 3px; color:var(--nq-text); }.nq-quote-row p { margin:0; color:var(--nq-muted); }
.nq-quote-row > a { color:var(--nq-mint); text-decoration:none; font-weight:750; }
.nq-row-price,.nq-detail-price { display:grid; text-align:right; }.nq-row-price strong,.nq-detail-price strong { color:var(--nq-text); font-size:1.2rem; }.nq-row-price span,.nq-detail-price span { color:var(--nq-muted); font-size:.82rem; }
.nq-status { display:inline-flex; width:max-content; padding:5px 9px; border-radius:3px; background:rgba(35,107,142,.12); color:var(--nq-mint); font-size:.72rem; font-weight:850; text-transform:uppercase; letter-spacing:.08em; }
.nq-status-needs_information,.nq-status-declined,.nq-status-expired { background:rgba(211,107,75,.12); color:var(--nq-copper); }
.nq-quote-detail { padding:clamp(24px,4vw,42px); border:1px solid var(--nq-line); border-radius:3px; background:var(--nq-surface); }
.nq-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:36px; padding-top:26px; border-top:1px solid var(--nq-line); }
.nq-detail-grid h3 { color:var(--nq-text); }.nq-detail-grid p,.nq-detail-grid dt { color:var(--nq-muted); }.nq-detail-grid dl { display:grid; grid-template-columns:auto 1fr; gap:9px 18px; }.nq-detail-grid dd { margin:0; color:var(--nq-text); }
.nq-account-card { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:28px; padding:22px; border:1px solid var(--nq-line); border-radius:3px; background:var(--nq-surface); }.nq-account-card p { margin:3px 0 0; }.nq-account-count { margin-right:10px; color:var(--nq-mint); font-size:1.5rem; font-weight:850; }
.nq-editor-preview { padding:24px; border:1px dashed #90999b; border-radius:3px; background:#e3e6e5; color:#1a1e20; }
@media(max-width:900px){.nq-estimator,.nq-detail-grid,.nq-workspace{grid-template-columns:1fr}.nq-input-column{grid-row:1}.nq-preview{grid-row:2;height:auto;min-height:420px}.nq-preview-stage{min-height:350px}.nq-estimate-actions{grid-template-columns:1fr}.nq-estimate-actions>.nq-button{width:100%}.nq-quote-row{grid-template-columns:1fr}.nq-row-price{text-align:left}}
@media(max-width:560px){.nq-grid{grid-template-columns:1fr}.nq-form{padding:18px}.nq-preview{min-height:340px}.nq-preview-stage{min-height:314px}.nq-customer-estimate{grid-template-columns:1fr}.nq-portal-heading,.nq-detail-heading,.nq-account-card{align-items:flex-start;flex-direction:column}.nq-detail-price{text-align:left}}
