/* Invitation review candidate: shared controls, checklist-led composition. */
.invitation-review{max-width:1280px;margin-inline:auto;color:var(--ink);padding-block:0 32px}
.invitation-review *{box-sizing:border-box}
.invitation-review [hidden]{display:none!important}
.invitation-header{display:block;margin-bottom:18px}
.invitation-header h1{margin:0 0 10px;max-width:none}
.invitation-header .task-intro{margin:0;max-width:64ch}
.invitation-scope{max-width:105ch;margin:0 0 25px;padding-left:14px;border-left:2px solid var(--sage);font-size:14px;line-height:1.6;color:var(--muted)}
.invitation-workspace{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.9fr);grid-template-areas:"checks rail" "takeaway rail";column-gap:48px;row-gap:26px;align-items:start}
.invitation-checks,.invitation-rail,.invitation-workspace form{min-width:0}
.invitation-checks{grid-area:checks}
.invitation-checks-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px 24px;flex-wrap:wrap}
.invitation-review .section-heading{margin:0;font:500 19px/1.3 var(--body)}
.invitation-progress{margin:0;white-space:nowrap;font-size:14px;color:var(--muted)}
#invitation-progress-count{color:var(--sage);font-weight:650;font-variant-numeric:tabular-nums}
.invitation-example-note{font-size:13px;line-height:1.5;margin:10px 0 20px;max-width:65ch}
.invitation-checklist{border-top:1px solid var(--line)}
.invitation-check-row{display:flex;align-items:flex-start;gap:16px;min-height:82px;padding:18px 0;border-bottom:1px solid var(--line);cursor:pointer}
.invitation-check-row>input{width:23px;height:23px;min-width:23px;flex:0 0 auto;margin:1px 0 0;accent-color:var(--sage);cursor:pointer}
.invitation-check-row>span{min-width:0;flex:1}
.invitation-check-row strong{display:block;font-size:17px;line-height:1.4;font-weight:650;color:var(--ink)}
.invitation-check-row.is-checked strong{color:var(--sage)}
.invitation-check-description{display:block;max-width:61ch;margin-top:5px;color:var(--muted);font-size:15px;line-height:1.55;overflow-wrap:break-word}
.invitation-support-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:14px 28px;margin-top:15px;flex-wrap:wrap}
.invitation-support-actions .text-button,.invitation-examples>summary{min-height:44px;font-size:14px}
.invitation-examples{max-width:100%}
.invitation-examples>summary{cursor:pointer;padding:11px 0;line-height:1.5;color:var(--muted);text-decoration:underline;text-underline-offset:4px}
.invitation-examples>summary::marker{color:var(--sage)}
.invitation-examples>div{display:flex;flex-direction:column;align-items:flex-start;max-width:100%;padding:4px 0 10px}
.invitation-examples button{text-align:left;white-space:normal;max-width:100%}
.invitation-takeaway{grid-area:takeaway;min-width:0;margin-top:0;padding:23px 0 0;border-top:1px solid var(--line)}
.invitation-takeaway-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px 20px;flex-wrap:wrap;margin-bottom:19px}
.invitation-summary-status{font-size:12px;line-height:1.4}
.invitation-measured-summary{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:15px;margin:0}
.invitation-measured-summary>div{min-width:0}
.invitation-measured-summary dt{font-size:13px;color:var(--muted);margin-bottom:4px;line-height:1.4}
.invitation-measured-summary dd{margin:0;font-size:18px;line-height:1.4;font-weight:550;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.invitation-saved-details{font-size:13px;line-height:1.6;margin:13px 0 0;overflow-wrap:anywhere}
.invitation-export-status{font-size:15px;line-height:1.6;color:var(--muted);margin:0;max-width:58ch}
.invitation-export-actions{display:flex;gap:12px 15px;flex-wrap:wrap;margin-top:18px}
.invitation-export-actions button{min-height:44px}
.invitation-export-actions button:disabled{cursor:not-allowed;opacity:.5}
.invitation-rail{grid-area:rail;border-left:1px solid var(--line);padding-left:30px}
.invitation-measure-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.invitation-measure-heading .mode-switch{display:inline-flex;min-width:0;max-width:100%;flex:0 1 auto}
.invitation-measure-heading .mode-switch button{font-family:inherit;font-size:13px;line-height:1.4;min-height:44px;padding:10px 13px;white-space:nowrap}
.invitation-measure-help{font-size:14px;line-height:1.55;margin:14px 0 20px}
.invitation-review .field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 14px}
.invitation-review .field{min-width:0}
.invitation-review .field label{font-size:14px;line-height:1.4;display:block;margin-bottom:7px}
.invitation-review .field input,.invitation-review .field select{min-width:0;width:100%;max-width:100%;font-size:16px;min-height:48px;font-family:inherit}
.invitation-review .input-wrap{min-width:0}
.invitation-thickness-help{font-size:13px;line-height:1.55;margin:10px 0 0}
.invitation-details-summary{margin:22px 0 0;font-size:13px;line-height:1.5}
.invitation-details-summary>div{display:grid;grid-template-columns:105px minmax(0,1fr);gap:12px;margin-top:7px}
.invitation-details-summary dt{color:var(--muted)}
.invitation-details-summary dd{margin:0;color:var(--ink);overflow-wrap:break-word}
.invitation-edit-details{margin-top:5px;font-size:14px;min-height:44px}
.invitation-advanced{display:grid;gap:17px;margin-top:23px}
.invitation-advanced .field select{font-size:14px;line-height:1.45}
.invitation-error-summary{font-size:14px;line-height:1.5;margin-bottom:18px}
.invitation-review .field .form-error{font-size:13px;line-height:1.45;margin-top:6px;color:var(--danger)}
.invitation-exterior-warning{margin:18px 0 0;padding-left:12px;border-left:2px solid var(--danger);color:var(--danger);font-size:14px;line-height:1.6}
.invitation-form-actions{display:flex;align-items:center;gap:10px 15px;flex-wrap:wrap;margin-top:23px}
.invitation-form-actions .button-primary{min-height:48px}
.invitation-form-actions .text-button{min-height:44px;font-size:14px}
.invitation-counter{margin-top:30px;border-top:1px solid var(--line);padding-top:24px}
.invitation-counter ol{padding-left:20px;margin:15px 0 13px;font-size:15px;line-height:1.6}
.invitation-counter li{padding-left:3px;margin-bottom:10px}
.invitation-counter li::marker{color:var(--sage)}
.invitation-counter p{font-size:13px;line-height:1.6;margin:0}
.invitation-guide{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(0,1.6fr);gap:40px;margin-top:48px;padding-top:28px;border-top:1px solid var(--line)}
.invitation-guide>div{min-width:0}
.invitation-guide .muted{font-size:14px;line-height:1.65;margin-top:12px;max-width:35ch}
.invitation-guide details{border-bottom:1px solid var(--line)}
.invitation-guide details:first-child{border-top:1px solid var(--line)}
.invitation-guide summary{min-height:48px;padding:15px 0;font-size:15px;line-height:1.6;font-weight:550;cursor:pointer}
.invitation-guide summary::marker{color:var(--sage)}
.invitation-guide-copy{font-size:15px;line-height:1.7;color:var(--muted);padding-bottom:22px}
.invitation-guide-copy p{margin:0 0 14px}
.invitation-guide-copy p:last-child{margin-bottom:0}
.invitation-guide-copy strong{color:var(--ink)}
.invitation-sources{list-style:none;padding:0;margin:0 0 18px}
.invitation-sources li{margin-bottom:17px}
.invitation-sources p{font-size:13px;margin-top:4px}
.invitation-review a{overflow-wrap:break-word}
.invitation-review :is(button,a,input,select,summary):focus-visible{outline:2px solid var(--gold);outline-offset:4px}
#invitation-result-heading:focus{outline:2px solid var(--gold);outline-offset:5px}
@media(max-width:1000px){
  .invitation-workspace{grid-template-columns:minmax(0,1.2fr) minmax(300px,1fr);gap:28px}
  .invitation-rail{padding-left:24px}
  .invitation-checks-heading{display:block}
  .invitation-progress{margin-top:8px}
  .invitation-measured-summary{grid-template-columns:1fr 1fr}
  .invitation-measured-summary>div:first-child{grid-column:1/-1}
}
@media(max-width:700px){
  .invitation-review{padding-block:0 24px}
  .invitation-scope{margin-bottom:25px;font-size:13px}
  .invitation-workspace{grid-template-columns:minmax(0,1fr);grid-template-areas:"checks" "rail" "takeaway";gap:30px}
  .invitation-checks,.invitation-rail{width:100%}
  .invitation-check-row{padding:19px 0;gap:14px;min-height:86px}
  .invitation-check-row strong{font-size:16px}
  .invitation-check-description{font-size:14px}
  .invitation-support-actions{gap:6px 20px}
  .invitation-takeaway{margin-top:0}
  .invitation-measured-summary{grid-template-columns:1.2fr 1fr 1fr;gap:12px}
  .invitation-measured-summary>div:first-child{grid-column:auto}
  .invitation-measured-summary dd{font-size:16px}
  .invitation-rail{padding:26px 0 0;border-left:0;border-top:1px solid var(--line)}
  .invitation-measure-heading .mode-switch button{padding-inline:16px}
  .invitation-measurements{gap:18px 16px}
  .invitation-counter{margin-top:25px;padding-top:22px}
  .invitation-guide{grid-template-columns:minmax(0,1fr);gap:20px;margin-top:34px;padding-top:26px}
  .invitation-guide .muted{max-width:60ch;margin-bottom:0}
  .invitation-form-actions .button-primary{flex:1 1 190px}
}
@media(max-width:380px){
  .invitation-measured-summary{grid-template-columns:1fr 1fr}
  .invitation-measured-summary>div:first-child{grid-column:1/-1}
  .invitation-review .field-grid{gap:16px 10px}
  .invitation-measure-heading{align-items:flex-start}
  .invitation-measure-heading .mode-switch button{padding-inline:13px}
  .invitation-export-actions{gap:10px}
}
@media(prefers-reduced-motion:reduce){
  .invitation-review *{scroll-behavior:auto;transition:none;animation:none}
}
