/* RenoPacket v0.5 — consumer-first, card-by-card renovation planning.
   No legacy dashboard palette. Three accessible, persistent color themes. */
:root,[data-theme="harbor"]{
  --ink:#18263D;--heading:#172943;--text:#2A3850;--muted:#657487;
  --primary:#224A78;--primary-hover:#16385F;--accent:#B95C35;--accent-soft:#FFF1E9;
  --bg:#F5F7FB;--surface:#FFFFFF;--soft:#F0F4F9;--soft-2:#E7EDF5;
  --line:#DDE5EE;--line-dark:#BDCCDA;--error:#A84E40;--warning:#9A602A;
  --shadow:0 22px 65px rgba(25,42,70,.095),0 4px 16px rgba(25,42,70,.045);
  --surface-shadow:0 6px 24px rgba(25,42,70,.055);
}
[data-theme="cobalt"]{
  --ink:#1D2540;--heading:#1C2952;--text:#2F3856;--muted:#65708C;
  --primary:#3653CF;--primary-hover:#2944B6;--accent:#A87617;--accent-soft:#FFF6E5;
  --bg:#F6F7FC;--surface:#FFFFFF;--soft:#EEF1FF;--soft-2:#E3E8FB;
  --line:#DFE3F1;--line-dark:#C3CAE5;--error:#AF4B4B;--warning:#936020;
  --shadow:0 22px 65px rgba(30,45,99,.09),0 4px 16px rgba(30,45,99,.04);
  --surface-shadow:0 6px 24px rgba(30,45,99,.055);
}
[data-theme="graphite"]{
  --ink:#262A31;--heading:#242832;--text:#3E424A;--muted:#72747C;
  --primary:#343A45;--primary-hover:#222731;--accent:#A96337;--accent-soft:#FFF2E8;
  --bg:#F5F4F2;--surface:#FFFFFF;--soft:#F0EEEB;--soft-2:#E9E5E0;
  --line:#E1DEDA;--line-dark:#C9C3BD;--error:#A65344;--warning:#936020;
  --shadow:0 22px 65px rgba(36,38,41,.085),0 4px 16px rgba(36,38,41,.04);
  --surface-shadow:0 6px 24px rgba(36,38,41,.05);
}
*{box-sizing:border-box}
html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--text);font-synthesis:none;-webkit-font-smoothing:antialiased}
body{margin:0;background:var(--bg);min-height:100vh}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--accent)!important;outline-offset:3px}
.shell{width:min(1130px,calc(100% - 40px));margin:0 auto}
.sr-only{position:absolute!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;width:1px!important;height:1px!important;overflow:hidden!important;white-space:nowrap!important}

/* Header and color switcher */
.topbar{position:relative;z-index:20;background:var(--surface);border-bottom:1px solid var(--line)}
.topbar-inner{min-height:74px;display:flex;align-items:center;gap:20px;justify-content:space-between}
.brand{display:inline-flex;gap:11px;align-items:center;font-size:20px;font-weight:800;letter-spacing:-.8px;color:var(--heading)}
.brand-mark{width:40px;height:40px;border-radius:11px;background:var(--primary);display:flex;justify-content:center;align-items:center;font:700 28px Georgia,serif;color:white}
.brand-dot{color:var(--accent)}
.brand small{display:block;font-size:8px;letter-spacing:1.8px;font-weight:750;color:var(--muted);margin-top:3px}
.header-right{display:flex;align-items:center;gap:18px}
.theme-switch{display:flex;align-items:center;gap:5px;background:var(--soft);padding:5px 7px;border:1px solid var(--line);border-radius:99px}
.theme-label{font-size:9px;letter-spacing:1px;font-weight:800;color:var(--muted);margin:0 7px}
.theme-choice{display:grid;place-items:center;width:33px;height:33px;padding:0;border:2px solid transparent;border-radius:50%;background:transparent}
.theme-choice:hover{background:var(--soft-2)}
.theme-choice[aria-pressed="true"]{border-color:var(--primary);background:var(--surface)}
.theme-swatch{display:block;width:19px;height:19px;border-radius:50%;border:1px solid rgba(0,0,0,.10)}
.theme-swatch.harbor{background:linear-gradient(135deg,#224A78 50%,#D96F46 50%)}
.theme-swatch.cobalt{background:linear-gradient(135deg,#3653CF 50%,#E7A039 50%)}
.theme-swatch.graphite{background:linear-gradient(135deg,#343A45 50%,#C97B48 50%)}
.button{border:1px solid transparent;border-radius:12px;padding:13px 20px;display:inline-flex;align-items:center;justify-content:center;gap:11px;background:transparent;font-size:13px;font-weight:750;line-height:1.25;transition:background .18s,transform .15s,box-shadow .18s;text-decoration:none;white-space:normal}
.button:hover{transform:translateY(-1px)}
.button:active{transform:translateY(0)}
.button-primary{background:var(--primary);color:white;box-shadow:0 5px 14px rgba(28,54,92,.13)}
.button-primary:hover{background:var(--primary-hover)}
.button-light{background:var(--surface);color:var(--primary);border-color:var(--line-dark)}
.button-light:hover{background:var(--soft)}
.button-dark{background:var(--primary);color:white}
.button-dark:hover{background:var(--primary-hover)}
.button-ghost{color:var(--text);background:var(--surface);border-color:var(--line);box-shadow:none}
.button-ghost:hover{background:var(--soft)}
.button-small{font-size:12px;padding:10px 14px;border-radius:9px}
.button:disabled{opacity:.48;cursor:not-allowed;transform:none}

/* Hero used during project setup only */
.intro{padding:49px 0 29px;max-width:815px;margin:auto;text-align:center}
.eyebrow,.section-label,.side-eyebrow{display:flex;align-items:center;justify-content:center;gap:9px;letter-spacing:1.9px;font-size:10px;font-weight:850;color:var(--accent)}
.eyebrow-line{display:inline-block;width:18px;height:2px;background:var(--accent)}
.intro h1{font-family:inherit;font-size:clamp(34px,4.15vw,56px);font-weight:800;line-height:1.12;letter-spacing:-2.1px;color:var(--heading);margin:14px 0 14px}
.intro h1 em{font-style:normal;color:var(--primary);font-weight:700}
.intro p{max-width:590px;margin:0 auto;color:var(--muted);font-size:15px;line-height:1.65}
.intro-highlights{display:flex;justify-content:center;flex-wrap:wrap;gap:11px 22px;margin-top:20px;font-size:11px;font-weight:650;color:var(--muted)}
.intro-highlights span::before{content:"●";color:var(--accent);margin-right:8px;font-size:7px;vertical-align:2px}
main{padding-bottom:15px}
main[data-stage="wizard"] .intro,main[data-stage="documents"] .intro,main[data-stage="quotes"] .intro{display:none}

/* Lightweight overview navigation for document and bid stages */
.steps{display:flex;justify-content:center;gap:0;margin:31px auto 25px;max-width:780px;border:1px solid var(--line);background:var(--surface);border-radius:13px;overflow:hidden}
.step{appearance:none;min-width:0;flex:1;border:0;border-right:1px solid var(--line);background:transparent;padding:15px 8px;color:var(--muted);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:9px}
.step:last-child{border-right:0}
.step.active{background:var(--soft);color:var(--primary)}
.step-number{font-size:10px;letter-spacing:.5px;color:var(--accent)}
main[data-stage="project"] .steps,main[data-stage="wizard"] .steps{display:none}

/* Centered standalone cards, not dashboard columns */
.workspace{width:min(920px,100%);margin:0 auto;display:block}
.workspace-main{min-width:0}
.side-panel{display:none}
.panel{animation:card-in .27s ease both}
#panel-project{width:min(745px,100%);margin:0 auto 28px;padding:37px 43px 34px;background:var(--surface);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}
#panel-selections{width:min(760px,100%);margin:38px auto 25px}
#panel-documents,#panel-quotes{background:var(--surface);border:1px solid var(--line);border-radius:19px;padding:34px 38px 32px;box-shadow:var(--surface-shadow);margin-bottom:28px}
.panel-heading{margin-bottom:25px}
.panel-heading .section-label{justify-content:flex-start}
.panel h2{color:var(--heading);font-weight:800;letter-spacing:-.6px;font-size:29px;line-height:1.25;margin:9px 0}
.panel-heading p{font-size:13px;line-height:1.65;color:var(--muted);margin:0;max-width:640px}
.panel h3{font-size:14px;margin:24px 0 15px;color:var(--heading)}
#panel-project .panel-heading{margin-bottom:18px}
#panel-project .section-label{justify-content:flex-start}
.project-question{margin:25px 0 14px!important}
.project-types{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.project-choice{display:block;position:relative}
.project-choice input{position:absolute;opacity:0;width:1px;height:1px}
.project-choice-inner{display:flex;flex-direction:column;align-items:flex-start;gap:8px;height:100%;min-height:155px;padding:19px 20px;background:var(--surface);border:1.5px solid var(--line);border-radius:14px;cursor:pointer;transition:.16s}
.project-choice-inner:hover{border-color:var(--accent);background:var(--accent-soft)}
.project-choice input:checked+.project-choice-inner{border-color:var(--primary);background:var(--soft);box-shadow:inset 0 0 0 1px var(--primary)}
.project-choice input:focus-visible+.project-choice-inner{outline:3px solid var(--accent);outline-offset:3px}
.project-choice-inner strong{font-size:16px;color:var(--heading)}
.project-choice-inner small{font-size:12px;line-height:1.5;color:var(--muted)}
.type-icon{width:39px;height:39px;border-radius:10px;background:var(--soft);color:var(--primary);font-size:26px;display:grid;place-items:center}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin-top:25px;align-items:start}
.field{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:12px;font-weight:750;color:var(--heading)}
.form-grid .field-label{display:block;min-height:1.4em;line-height:1.4}
.form-grid .field-label .optional{display:inline;white-space:nowrap;margin-left:2px}
.form-grid .field>input,.form-grid .field>select{height:46px;min-height:46px}
.field-wide{grid-column:1/-1}
.optional{color:var(--muted);font-weight:500}
.field input,.field select,.field textarea,.quote-field input,.quote-field textarea,.wizard-text-input,.wizard-select,.wizard-textarea{
  width:100%;min-width:0;border:1.25px solid var(--line-dark);background:var(--surface);
  border-radius:10px;padding:12px 13px;color:var(--text);font-size:13px;font-weight:450;
  outline:none;transition:border .15s,box-shadow .15s;
}
.field input:focus,.field select:focus,.field textarea:focus,.quote-field input:focus,.quote-field textarea:focus,.wizard-text-input:focus,.wizard-select:focus,.wizard-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--soft-2)}
.field textarea,.wizard-textarea{resize:vertical}
.field input::placeholder,.field textarea::placeholder,.wizard-textarea::placeholder,.wizard-text-input::placeholder,.quote-field input::placeholder{color:#94A0AF}
.field select,.wizard-select{appearance:auto}
.field .field-hint{font-size:11px;color:var(--muted);font-weight:400;line-height:1.5}
.required-mark{font-size:10px;font-weight:700;color:var(--accent)}
.field input.field-error,.field select.field-error,.wizard-field.invalid input,.wizard-field.invalid select{border-color:var(--error)}
.panel-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:27px;padding-top:23px;border-top:1px solid var(--line)}
.helper{font-size:11px;line-height:1.6;color:var(--muted)}

/* One-question-at-a-time card experience */
.wizard-card{
 background:var(--surface);border:1px solid var(--line);border-radius:23px;
 box-shadow:var(--shadow);padding:37px 43px 30px;position:relative;
 animation:card-in .28s cubic-bezier(.2,.7,.2,1) both;
}
.wizard-card::before{content:"";position:absolute;left:43px;top:0;width:48px;height:4px;border-radius:0 0 4px 4px;background:var(--accent)}
.wizard-progress{margin:0 0 28px}
.project-progress{margin-top:10px;margin-bottom:21px}
.wizard-progress-top{display:flex;justify-content:space-between;align-items:center;gap:9px;margin-bottom:11px;font-size:11px;color:var(--muted)}
.wizard-counter{display:inline-flex;align-items:center;gap:5px;font-weight:850;color:var(--primary);font-size:12px;letter-spacing:.2px}
.wizard-step-text{color:var(--muted);font-size:11px;font-weight:650}
.wizard-track{width:100%;height:5px;background:var(--soft-2);border-radius:999px;overflow:hidden}
.wizard-fill{display:block;height:100%;width:9%;background:var(--accent);border-radius:999px;transition:width .28s ease}
.question-progress{display:none}
.wizard-eyebrow{font-size:10px;letter-spacing:1.9px;font-weight:800;color:var(--accent);text-transform:uppercase}
.wizard-card h2{font-size:30px;line-height:1.2;letter-spacing:-.8px;color:var(--heading);margin:12px 0}
.wizard-description{font-size:13px;line-height:1.65;color:var(--muted);margin:0 0 20px}
.wizard-fields{display:flex;flex-direction:column;gap:15px}
.wizard-field{display:flex;flex-direction:column;gap:10px;animation:reveal-field .19s ease both}
.wizard-field-label{display:block;font-size:12px;color:var(--heading);font-weight:750;line-height:1.5}
.wizard-field-label.primary{font-size:15px;font-weight:750}
.wizard-field-label .optional{font-size:11px}
.wizard-field-hint{font-size:11px;font-weight:450;color:var(--muted);line-height:1.5}
.wizard-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.wizard-choice-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.wizard-option{display:block;position:relative;cursor:pointer;min-width:0}
.wizard-option input{position:absolute;opacity:0;width:1px;height:1px}
.wizard-option-face{display:flex;gap:11px;align-items:center;justify-content:space-between;height:100%;min-height:60px;padding:13px 15px;border-radius:11px;border:1.5px solid var(--line);background:var(--surface);font-size:12.5px;font-weight:650;line-height:1.4;color:var(--text);transition:border .16s,background .16s,box-shadow .16s}
.wizard-option-face::after{content:"";flex:0 0 16px;width:16px;height:16px;border-radius:50%;border:1.5px solid var(--line-dark);background:var(--surface)}
.wizard-option:hover .wizard-option-face{border-color:var(--accent);background:var(--accent-soft)}
.wizard-option input:checked+.wizard-option-face{border-color:var(--primary);background:var(--soft);color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}
.wizard-option input:checked+.wizard-option-face::after{background:var(--primary);border-color:var(--primary);box-shadow:inset 0 0 0 4px var(--surface)}
.wizard-option input:focus-visible+.wizard-option-face{outline:3px solid var(--accent);outline-offset:2px}
.wizard-choice-grid.compact .wizard-option-face{min-height:50px;padding:11px 13px;font-size:12px}
.wizard-followup{border-top:1px solid var(--line);padding-top:17px;margin-top:6px}
.wizard-divider-label{display:flex;align-items:center;gap:8px;color:var(--accent);font-size:10px;letter-spacing:1.1px;font-weight:850;margin-bottom:15px}
.wizard-divider-label::before{content:"";width:17px;height:2px;background:var(--accent)}
.wizard-notes{margin-top:12px}
.wizard-note{padding:12px 14px;background:var(--soft);border-radius:9px;color:var(--muted);font-size:11px;line-height:1.6}
.wizard-card-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:29px;padding-top:21px;border-top:1px solid var(--line)}
.wizard-card-actions small{display:block;color:var(--muted);font-size:11px;line-height:1.55}
.wizard-card-actions .button{min-width:135px}
.wizard-review-intro{font-size:13px;line-height:1.65;color:var(--muted)}
.legacy-notes{display:none!important}
.question-errors{width:min(740px,100%);margin:0 auto 15px;background:#FEF1ED;color:var(--error);border:1px solid #EAC4B8;border-radius:11px;padding:14px 17px;font-size:12px;line-height:1.55}
.question-errors[hidden]{display:none}
.review-panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:22px;padding:32px 35px}
.review-panel[hidden]{display:none!important}
.review-heading{display:flex;justify-content:space-between;align-items:center;gap:11px}
.review-heading h3{color:var(--heading);font-size:27px;font-weight:800;margin:0}
.review-count{font-size:11px;font-weight:750;color:var(--primary)}
.review-panel>p{font-size:13px;line-height:1.6;color:var(--muted)}
.review-issue{border:1px solid var(--line);border-left:3px solid var(--accent);padding:14px 17px;margin:12px 0;border-radius:9px;background:var(--surface)}
.review-issue.attention{border-left-color:var(--error)}
.review-issue.verify{border-left-color:var(--primary)}
.review-issue.info{border-left-color:var(--accent)}
.review-issue strong{font-size:12px;color:var(--heading)}
.review-issue p{color:var(--text);font-size:12px;line-height:1.65;margin:8px 0}
.review-fix{color:var(--muted);font-size:11px;line-height:1.5}
.review-ack{display:flex;gap:10px;align-items:flex-start;font-size:12px;line-height:1.6;color:var(--text);margin:20px 0}
.review-ack input{accent-color:var(--primary);margin-top:4px;flex:0 0 auto}
.review-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:24px}
@keyframes card-in{from{opacity:0;transform:translateY(11px)}to{opacity:1;transform:translateY(0)}}
@keyframes reveal-field{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}

/* Document workspace */
.document-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:23px 0 14px}
.document-tab{min-width:0;border:1.4px solid var(--line);border-radius:12px;background:var(--surface);padding:13px 12px;text-align:left;font-weight:750;font-size:12px;color:var(--text);line-height:1.3}
.document-tab:hover{border-color:var(--primary)}
.document-tab small{display:block;color:var(--muted);font-size:9px;letter-spacing:.25px;font-weight:650;line-height:1.5;margin-top:5px}
.document-tab.selected{background:var(--soft);border-color:var(--primary);color:var(--primary)}
.document-tab.selected small{color:var(--primary)}
.document-notice{font-size:12px;line-height:1.6;border-radius:9px;padding:12px 14px;background:var(--soft);color:var(--primary)}
.document-notice.owner{background:var(--accent-soft);color:var(--warning)}
.document-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:24px 0 12px}
.document-toolbar>div{display:flex;gap:9px;flex-wrap:wrap}
.document-type{font-size:11px;color:var(--muted);font-weight:750}
.print-tip{font-size:11px;color:var(--muted);margin:0 0 14px;line-height:1.5}
.document-paper{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:33px 38px;min-height:315px;box-shadow:var(--surface-shadow)}
.document-paper h1{font:700 26px/1.25 Inter,system-ui,sans-serif;color:var(--heading);letter-spacing:-.7px;margin:0 0 11px}
.document-paper h2{font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:var(--primary);margin:22px 0 9px;padding-bottom:8px;border-bottom:1px solid var(--line);break-after:avoid}
.document-paper h3{font-size:12px;color:var(--heading);margin:18px 0 7px;break-after:avoid}
.document-paper p,.document-paper li{font-size:12px;line-height:1.65;color:var(--text)}
.document-paper p{margin:8px 0 11px}
.document-paper ul{padding-left:23px;margin:8px 0}
.document-paper li{margin-bottom:5px}
.document-paper .doc-meta{font-size:11px;color:var(--muted);line-height:1.6}
.document-paper .doc-private{background:var(--accent-soft);color:var(--warning);padding:12px 14px;border-radius:8px;font-size:11px;line-height:1.6;border:1px solid rgba(201,126,65,.16)}
.document-paper .doc-warnings{background:var(--accent-soft);color:var(--warning);padding:10px 12px;border-radius:8px;font-size:11px;line-height:1.5}
.document-paper .ve-option{border:1px solid var(--line);padding:14px 15px;border-radius:9px;margin:10px 0;break-inside:avoid}
.document-paper .ve-option h3{margin:0 0 7px}
.document-paper .ve-option p{margin:5px 0}
.document-paper .doc-metric-row{display:flex;flex-wrap:wrap;gap:12px}
.document-paper table{border-collapse:collapse;width:100%;font-size:11px;table-layout:auto}
.document-paper th,.document-paper td{text-align:left;vertical-align:top;padding:10px 9px;border:1px solid var(--line);line-height:1.5}
.document-paper th{background:var(--soft);color:var(--heading)}
.document-paper tr{break-inside:avoid}

/* Quote comparison */
.quote-cards{display:flex;flex-direction:column;gap:15px}
.quote-card{padding:19px 21px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}
.quote-card-head{display:flex;align-items:center;gap:10px;justify-content:space-between;margin-bottom:16px}
.quote-card-head h3{margin:0;font-size:15px;color:var(--heading)}
.quote-status{border-radius:99px;padding:5px 8px;background:var(--accent-soft);color:var(--warning);font-size:10px;font-weight:750}
.quote-status.ready{background:var(--soft);color:var(--primary)}
.quote-remove{margin-left:auto;border:0;background:transparent;color:var(--error);font-size:11px;font-weight:750}
.quote-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.quote-field{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:700;color:var(--text)}
.quote-field.wide{grid-column:1/-1}
.quote-net{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:15px;background:var(--soft);padding:13px 14px;border-radius:10px;font-size:11px;font-weight:750}
.quote-net strong{font-size:15px;color:var(--primary)}
.quote-net.invalid strong{color:var(--muted)}
.quote-warnings{font-size:11px;color:var(--muted);line-height:1.5;margin-top:10px}
#add-quote{margin-top:15px}
.comparison-summary{margin-top:30px}
.comparison-summary h3{margin:0 0 14px;font-size:19px}
.comparison-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0 18px}
.comparison-metric{padding:16px;background:var(--soft);border-radius:11px}
.comparison-metric small{display:block;color:var(--muted);font-size:10px;font-weight:750;line-height:1.4}
.comparison-metric strong{display:block;font-size:20px;font-weight:800;color:var(--primary);margin:6px 0}
.comparison-table-wrap{overflow-x:auto;width:100%}
.comparison-summary table{width:100%;border-collapse:collapse;font-size:12px}
.comparison-summary th,.comparison-summary td{padding:11px 8px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.comparison-summary th{font-size:10px;text-transform:uppercase;letter-spacing:.35px;color:var(--muted)}
.comparison-summary td small{display:block;color:var(--muted);font-size:10px;margin-top:3px}
.comparison-alert,.comparison-drafts{border:1px solid var(--line);background:var(--soft);padding:13px 15px;border-radius:10px;color:var(--text);line-height:1.6;font-size:12px;margin:14px 0}
.comparison-drafts{background:var(--accent-soft);border-color:rgba(201,126,65,.18)}
.comparison-drafts p{margin:4px 0}
.action-group{display:flex;gap:9px;flex-wrap:wrap}
.footer{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;border-top:1px solid var(--line);padding:20px 0 30px;font-size:10px;color:var(--muted);margin-top:22px}
.toast{position:fixed;z-index:90;bottom:23px;left:50%;transform:translate(-50%,100px);opacity:0;transition:transform .24s ease,opacity .24s ease;background:var(--ink);color:white;padding:13px 19px;border-radius:11px;font-size:12px;font-weight:650;box-shadow:var(--shadow);max-width:min(500px,calc(100vw - 20px));pointer-events:none}
.toast.show{transform:translate(-50%,0);opacity:1}

/* Responsive cards */
@media(max-width:850px){
 .shell{width:min(100% - 28px,1130px)}
 #panel-project{padding:27px}
 #panel-documents,#panel-quotes{padding:27px}
 .wizard-card{padding:30px}
}
@media(max-width:620px){
 .topbar-inner{min-height:66px}
 .brand{font-size:17px}
 .brand-mark{width:36px;height:36px;font-size:25px}
 .brand small{font-size:7px}
 .header-right{gap:7px}
 .theme-switch{padding:4px;gap:0}
 .theme-label{display:none}
 .theme-choice{width:30px;height:30px}
 .header-right .button{font-size:11px;padding:9px 10px}
 .intro{padding:35px 0 24px}
 .intro h1{letter-spacing:-1.3px;font-size:36px}
 .intro p{font-size:13px;line-height:1.6}
 .intro-highlights{font-size:10px;gap:7px 14px}
 #panel-project{padding:24px 19px;border-radius:17px}
 #panel-project .panel-heading h2{font-size:26px}
 .project-types{grid-template-columns:1fr 1fr;gap:8px}
 .project-choice-inner{min-height:143px;padding:13px}
 .project-choice-inner strong{font-size:14px}
 .project-choice-inner small{font-size:11px}
 .form-grid,.quote-grid{grid-template-columns:1fr;gap:14px}
 .field-wide,.quote-field.wide{grid-column:auto}
 #panel-selections{margin-top:20px}
 .wizard-card{padding:25px 19px 21px;border-radius:17px}
 .wizard-card::before{left:19px}
 .wizard-card h2{font-size:26px;line-height:1.19}
 .wizard-description{font-size:12px}
 .wizard-choice-grid,.wizard-choice-grid.compact{grid-template-columns:1fr}
 .wizard-option-face{min-height:53px;padding:11px 13px}
 .wizard-card-actions{gap:9px}
 .wizard-card-actions .button{min-width:110px;padding:12px}
 .wizard-card-actions small{display:none}
 .review-panel{padding:24px 19px}
 .review-heading h3{font-size:22px}
 .steps{margin-top:15px}
 .step{flex-direction:column;gap:4px;font-size:10px;padding:11px 3px}
 #panel-documents,#panel-quotes{padding:23px 17px}
 .panel h2{font-size:25px}
 .document-tabs{grid-template-columns:1fr;gap:7px}
 .document-tab{padding:12px}
 .document-tab small{margin-top:2px}
 .document-toolbar{align-items:flex-start;flex-wrap:wrap}
 .document-paper{padding:21px 15px;overflow-wrap:anywhere}
 .document-paper table{font-size:9px}
 .comparison-metrics{grid-template-columns:1fr}
 .panel-actions{flex-direction:column-reverse;align-items:stretch}
 .panel-actions .button{width:100%}
 .action-group{flex-direction:column}
 .footer{padding-bottom:25px}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
@media print{
 body{background:white}
 .topbar,.intro,.steps,.footer,.toast,.panel-actions,.document-toolbar,.document-tabs,.document-notice,.print-tip,.question-progress,.review-panel,.comparison-summary{display:none!important}
 .shell,.workspace{width:100%;max-width:none}
 #panel-documents{border:0;box-shadow:none;padding:0}
 .document-paper{padding:0;border:0;box-shadow:none}
 .document-paper tr,.document-paper .ve-option{break-inside:avoid}
 .document-paper h2,.document-paper h3{break-after:avoid}
 @page{size:letter;margin:.65in}
}
