:root{color-scheme:light;--page:#F8F6F1;--surface:#FFFEFB;--text:#292722;--muted:#59616B;--primary:#B94D25;--hover:#A5411F;--peach:#FBE8DB;--border:#E8E2D9;--success:#35644B;--success-bg:#E5F0E6;--danger:#8d301c;--radius:8px;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s6:24px;--s8:32px;--s12:48px;font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--text);font-size:16px;line-height:1.5}button,input,select,textarea{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer;min-height:44px;border:1px solid #cbc4b9;background:transparent;color:var(--text);padding:10px 16px;border-radius:var(--radius);font-weight:600}button:hover{background:#eee8dd}button:disabled{opacity:.6;cursor:default}a{color:var(--primary)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--primary);outline-offset:3px}input,select{width:100%;min-width:0;min-height:44px;padding:8px 12px;border:1px solid #aaa69f;border-radius:6px;background:var(--surface);color:var(--text)}input[type=checkbox]{width:22px;min-height:22px;height:22px;accent-color:var(--primary);flex-shrink:0}label{display:grid;gap:8px;font-size:14px;font-weight:600}h1,h2,h3,p{margin-top:0}h1{font-size:40px;letter-spacing:-1.5px;line-height:1.15;margin-bottom:8px}h2{font-size:26px;letter-spacing:-.8px;line-height:1.25;margin-bottom:16px}h3{font-size:20px;line-height:1.3}p{margin-bottom:16px}.muted,.hint{color:var(--muted)}.hint{font-size:14px}.topbar{display:flex;align-items:center;gap:48px;padding:0 max(24px,calc((100vw - 1360px)/2));min-height:72px;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:16px;color:#161616;text-decoration:none;font-size:28px;font-weight:750;letter-spacing:-1px;white-space:nowrap}.topbar nav{display:flex;align-self:stretch;gap:24px}.nav{border:0;border-radius:0;padding:12px 8px;border-bottom:4px solid transparent;font-size:17px;font-weight:500;color:var(--muted)}.nav.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:650}#save-status{margin-left:auto;color:var(--muted);font-size:14px;text-align:right;max-width:300px}main{max-width:1360px;margin:auto;padding:32px 24px 48px}footer{border-top:1px solid var(--border);padding:16px max(24px,calc((100vw - 1312px)/2));color:var(--muted);font-size:13px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}.section-head h1,.section-head h2{margin-bottom:0}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.primary{background:var(--primary);color:white;border-color:var(--primary)}.primary:hover{background:var(--hover)}.link-button{color:var(--primary);border:0;text-decoration:underline;padding:8px 0;font-weight:500;background:transparent}.link-button:hover{background:transparent;color:var(--hover)}.steps{display:flex;align-items:center;justify-content:center;gap:24px;margin:0 0 32px}.step{border:0;display:flex;align-items:center;gap:16px;color:var(--muted);padding:0 8px;font-weight:500}.step span{display:grid;place-items:center;width:40px;height:40px;background:#eae6df;border-radius:50%;font-weight:700;color:var(--text)}.step.current{color:var(--primary);font-weight:700}.step.current span{background:var(--primary);color:white}.step-line{height:1px;width:64px;background:#d5cfc5}.notice{display:flex;gap:12px;align-items:start;background:#e6eef5;color:#304a64;padding:10px 16px;border-radius:var(--radius);font-size:14px;margin:16px 0}.notice strong{font-size:18px;line-height:1.2}.error,#message,#template-error{background:#f9e7df;color:var(--danger);border:1px solid #cfa492;padding:16px;border-radius:var(--radius);margin-bottom:16px}.good{color:var(--success);background:var(--success-bg)}.status{padding:12px 16px;border-radius:var(--radius);font-size:15px;margin:24px 0 16px}.status.bad{color:var(--danger);background:#f9e7df}.review-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:32px}.review-main{min-width:0}.review-title h1{font-size:38px}.date-row{display:flex;align-items:center;gap:24px;color:var(--muted);font-size:21px;margin-bottom:12px}.date-row button{font-size:16px}.meta{display:flex;gap:0;flex-wrap:wrap;color:var(--muted);font-size:17px;margin-bottom:16px}.meta>span{padding-right:24px;margin-right:24px;border-right:1px solid #d3ccc1}.meta>span:last-child{border:0;margin:0;padding:0}.meta b{color:var(--text);margin-left:8px}.recommendation{background:var(--peach);padding:24px;border-radius:var(--radius);margin-bottom:24px}.eyebrow{font-size:14px;letter-spacing:1.3px;text-transform:uppercase;font-weight:700;color:var(--hover);margin-bottom:8px}.recommendation h2{font-size:46px;line-height:1.12;letter-spacing:-1.4px;margin-bottom:4px;overflow-wrap:anywhere}.recommendation .purchase-sub{font-size:26px;font-weight:700;margin-bottom:8px}.recommendation .lead{font-size:20px;color:var(--muted);margin-bottom:0}.equation{display:grid;grid-template-columns:1fr 30px 1fr 30px 1.3fr;align-items:center;text-align:center;border-top:1px solid #e6cdbb;margin-top:16px;padding-top:12px;color:var(--muted);gap:8px}.equation b{display:block;font-size:30px;color:var(--text)}.equation>span{font-size:28px}.table-wrap{overflow:auto;max-width:100%}table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}th{font-size:14px;font-weight:500;color:var(--muted);text-align:left;white-space:normal}th,td{padding:12px 16px;border-bottom:1px solid var(--border)}td{font-size:17px}th:not(:first-child),td:not(:first-child){text-align:center}td:first-child{min-width:240px}td .package{color:var(--muted);font-size:14px;display:block}td.shortage{background:var(--peach);color:var(--hover);font-weight:750;font-size:22px}.product-label{display:flex;align-items:center;gap:16px}.product-icon{flex-shrink:0;width:44px;height:52px;display:grid;place-items:center;font-size:32px}.explanations{border-bottom:1px solid var(--border);margin-top:8px}summary{min-height:52px;cursor:pointer;padding:12px 0;font-size:18px;font-weight:650}details p{color:var(--muted)}.purchase-row{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-top:1px solid #e6cdbb}.purchase-row strong{font-size:22px}.purchase-row p{margin:4px 0 0;color:var(--muted)}.summary-column{border-left:1px solid var(--border);padding-left:32px}.summary-column h2{font-size:27px}.summary-column h3{font-size:23px;margin-bottom:24px}.summary-cost{display:flex;justify-content:space-between;gap:12px;color:var(--muted);padding:10px 0;border-bottom:1px solid var(--border)}.summary-cost b{font-size:22px;white-space:nowrap}.summary-column .primary,.summary-column .secondary{width:100%;margin-bottom:12px;min-height:52px}.summary-column .hint{margin-top:16px}.pack-contents{border-top:1px solid var(--border);padding-top:24px;margin-top:24px}.pack-item{display:flex;align-items:center;gap:16px;margin:12px 0;color:var(--muted)}.pack-contents h3{margin-bottom:4px}.pack-note{font-size:13px;color:var(--muted)}.form-layout{max-width:1040px;margin:auto}.form-grid{display:grid;grid-template-columns:1.8fr 1fr 1fr;gap:24px;margin:24px 0 32px}.template-select{display:grid;grid-template-columns:minmax(0,1fr) 130px auto;gap:24px;align-items:center;border-top:1px solid var(--border);padding:20px 0}.template-select h3{margin-bottom:6px}.template-select p{margin-bottom:4px;color:var(--muted);font-size:14px}.check{display:flex;align-items:center;gap:12px;min-height:44px}.supply-editor{border-top:1px solid var(--border);padding:24px 0}.supply-editor h3{margin-bottom:4px}.supply-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-top:20px}.supply-editor .check{margin-top:16px;font-weight:500}.plan-row{padding:20px 0;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:24px}.plan-row h2{font-size:22px;margin-bottom:4px}.plan-row p{margin-bottom:0;color:var(--muted);font-size:14px}.empty{padding:48px 0;border-top:1px solid var(--border)}.empty h2{margin-bottom:12px}.support{margin-top:48px;border-top:1px solid var(--border);padding-top:24px}.support h2{font-size:20px}.support .actions{margin-top:12px}dialog{width:min(900px,calc(100% - 32px));max-height:90vh;overflow:auto;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);padding:24px}dialog::backdrop{background:#29272266}dialog label{margin-bottom:16px}.editor-item{border-top:1px solid var(--border);padding:16px 0}.editor-fields{display:grid;grid-template-columns:2fr 2fr 1fr;gap:12px}#print-sheet{display:none}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:1000px){.topbar{gap:24px}.review-grid{grid-template-columns:minmax(0,1fr) 290px;gap:24px}.summary-column{padding-left:24px}.recommendation h2{font-size:38px}.meta>span{margin-right:16px;padding-right:16px}.supply-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.topbar{padding:12px 16px 0;flex-wrap:wrap;gap:8px 24px}.brand{font-size:24px}.topbar nav{order:3;flex-basis:100%;gap:24px}.nav{font-size:16px}#save-status{font-size:12px;max-width:140px}main{padding:24px 16px 32px}.steps{gap:8px;margin-bottom:24px;justify-content:space-between}.step{gap:6px;font-size:13px;padding:0}.step span{width:32px;height:32px}.step-line{width:16px}.review-grid{grid-template-columns:1fr}.summary-column{border-left:0;border-top:1px solid var(--border);padding:24px 0 0}.review-title h1,h1{font-size:30px}.date-row{font-size:17px;gap:12px;flex-wrap:wrap}.meta{font-size:15px;gap:8px}.meta>span{border:0;padding:0;margin:0 16px 0 0}.recommendation{padding:20px}.recommendation h2{font-size:36px}.recommendation .purchase-sub{font-size:23px}.recommendation .lead{font-size:17px}.equation{font-size:12px;gap:4px;grid-template-columns:1fr 16px 1fr 16px 1fr}.equation b{font-size:26px}.equation>span{font-size:24px}td,th{padding:12px 8px}td{font-size:15px}td:first-child{min-width:180px}.product-label{gap:8px}.product-icon{width:30px;font-size:26px}.form-grid{grid-template-columns:1fr;gap:16px}.template-select{grid-template-columns:1fr 100px;gap:16px}.template-select>button{grid-column:1/3;justify-self:start}.supply-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-head,.plan-row{flex-wrap:wrap}.editor-fields{grid-template-columns:1fr}.purchase-row strong{font-size:19px}footer{padding:16px;font-size:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media print{@page{margin:16mm}body{background:white;color:black;font-size:11pt}.topbar,main,footer,dialog{display:none!important}#print-sheet{display:block}#print-sheet h1{font-size:22pt;letter-spacing:0}#print-sheet h2{font-size:16pt;letter-spacing:0;margin-top:20px}#print-sheet table{table-layout:fixed;width:100%;font-size:10pt}#print-sheet th,#print-sheet td{font-size:10pt;padding:8px 4px;min-width:0;text-align:left;border-bottom:1px solid #777;overflow-wrap:anywhere;color:black}#print-sheet thead{display:table-header-group}#print-sheet tr{break-inside:avoid}#print-sheet p{color:black}#print-sheet .print-notice{border:2px solid black;padding:8px;font-weight:bold}#print-sheet section{break-inside:avoid}}
#print-preview #print-sheet{display:block}#print-preview{width:min(1000px,calc(100% - 32px))}#print-preview #print-sheet td{font-size:14px;min-width:0;overflow-wrap:anywhere}#print-preview #print-sheet table{table-layout:fixed}#print-preview #print-sheet h1{font-size:28px}.print-notice{border:2px solid var(--text);padding:12px;font-weight:700}@media print{dialog#print-preview{display:block!important;position:static;width:auto;max-height:none;border:0;padding:0;overflow:visible}dialog#print-preview .print-controls{display:none!important}dialog#print-preview #print-sheet td{font-size:10pt}}
h1,h2,h3,.plan-row,.pack-item,.purchase-row{overflow-wrap:anywhere}.purchase-row>div{min-width:0}.purchase-row>strong{flex-shrink:0}
.supply-editor h2{font-size:20px;margin-bottom:4px}
.brand img{display:block;width:240px;height:80px;object-fit:contain}.topbar{gap:20px}.ui-icon{width:20px;height:20px;flex-shrink:0;vertical-align:middle}button:has(.ui-icon){display:inline-flex;align-items:center;justify-content:center;gap:8px}.stock-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}.offer-fields{margin:12px 0}.offer-fields .supply-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.confirmation-note{margin-top:8px}.photo-frame{width:56px;height:56px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;background:#eee9df;border-radius:6px;overflow:hidden}.product-photo{width:56px;height:56px;object-fit:cover}.photo-fallback{font-size:10px;line-height:1.2;text-align:center;color:var(--muted)}.photo-choice{margin-bottom:12px}.print-logo{width:240px;height:80px;object-fit:contain}.notice{align-items:center}.support>summary{font-size:18px;font-weight:600}.support[open]>summary{margin-bottom:20px}h1:focus{outline:none}@media(max-width:760px){.brand img{width:180px;height:60px}.topbar{gap:4px 8px}#save-status{max-width:120px}.offer-fields .supply-grid{grid-template-columns:1fr}.stock-fields{grid-template-columns:1fr}.photo-frame,.product-photo{width:44px;height:44px}}
.status{display:flex;align-items:center;gap:10px}.step .ui-icon{display:none}summary{min-height:44px;cursor:pointer;padding:8px 0}
/* Narrow preview columns need the same wrapping protection as printed cells. */
#print-preview #print-sheet th{overflow-wrap:anywhere}
#print-preview .print-logo{max-width:100%}
.comparison-difference{font-weight:400}.field-error{color:var(--danger)}#comparison-dialog input[aria-invalid=true]{border-color:var(--danger)}

/* Comparison shares one reading order at every width; print surfaces are excluded. */
@media screen {
  #comparison-dialog { scroll-padding-top:100px; }
  #comparison-dialog>.section-head { position:sticky;top:-24px;background:var(--surface);z-index:1;padding:var(--s4) 0;margin-top:calc(-1 * var(--s4));margin-bottom:var(--s3); }
  .comparison-form { padding-bottom:var(--s6);border-bottom:1px solid var(--border); }
  .comparison-fields { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4); }
  .comparison-fields label { margin:0;align-content:start; }
  .comparison-stock { margin-top:var(--s4); }
  .comparison-stock[open] .comparison-fields { margin-top:var(--s4); }
  .comparison-output { margin-top:var(--s6); }
  .comparison-pair { display:grid;grid-template-columns:minmax(0,1fr) repeat(2,minmax(0,1.4fr));gap:var(--s4);padding:var(--s4) 0;border-bottom:1px solid var(--border); }
  .comparison-pair h4 { margin:0;font-size:16px;font-weight:600; }
  .comparison-value { min-width:0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums; }
  .comparison-value p { margin:var(--s1) 0 0;font-weight:600;white-space:pre-line; }
  .comparison-value .hint { display:block;font-size:13px; }
  .comparison-details { margin-top:var(--s8); }
  .comparison-details .comparison-value p { font-weight:400; }
  .comparison-offers { margin-top:var(--s6); }
  @media(max-width:760px) {
    .comparison-fields { grid-template-columns:1fr; }
    .comparison-pair { grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s2) var(--s4); }
    .comparison-pair h4 { grid-column:1/-1; }
    #comparison-dialog>.section-head { flex-wrap:nowrap;gap:var(--s3); }
    #comparison-heading { font-size:22px; }
  }
}

@media screen {
  :root { --control-height:44px;--type-label:14px;--type-body:16px; }
  #view label,.comparison-fields label { font-size:var(--type-label); }
  #view h1 { letter-spacing:-.03em; }
  #view .actions { gap:var(--s3); }
  #view input,#view select,#comparison-dialog input { min-height:var(--control-height);font-variant-numeric:tabular-nums; }
  .review-edits { display:flex;flex-wrap:wrap;gap:var(--s2) var(--s6);margin:var(--s2) 0 var(--s4); }
  .review-comparison { padding-top:var(--s4);border-top:1px solid var(--border); }
  .review-outputs button:last-child,.review-comparison button:last-child { margin-bottom:0; }
  .comparison-fields label { grid-template-rows:minmax(42px,auto) 44px auto; }
  #comparison-dialog h3 { margin-bottom:var(--s4); }
  #comparison-dialog input { scroll-margin-top:100px; }
  .comparison-value p { line-height:1.5; }
  #view .stock-status { font-variant-numeric:tabular-nums; }
  @media(max-width:760px) { .comparison-fields label { grid-template-rows:auto 44px auto; } }
}

@media screen {
  .comparison-pair h4,.comparison-fields label { overflow-wrap:anywhere; }
  @media(max-width:760px) { .comparison-value>.hint { min-height:3em; } }
}

/* Operational hierarchy and control contrast; printed sheets retain their styles. */
@media screen {
  :root { --control-border:#8A847B; }
  input,select { border-color:var(--control-border); }
  button:not(.primary):not(.nav):not(.step):not(.link-button) { border-color:var(--control-border); }
  .nav.active:hover,.nav.active:focus-visible,.step.current:hover,.step.current:focus-visible { color:var(--hover); }
  .decision-summary { margin-bottom:var(--s6);border-bottom:1px solid var(--border);padding-bottom:var(--s4); }
  .decision-costs { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s6);max-width:720px; }
  .decision-costs b { color:var(--text);font-variant-numeric:tabular-nums; }
  .decision-summary .status { margin:var(--s4) 0; }
  .decision-summary .hint { margin:var(--s3) 0 0; }
  .decision-summary .error p { margin:var(--s2) 0 0; }
  .decision-actions,.review-outputs { display:flex;align-items:center;flex-wrap:wrap;gap:var(--s3); }
  .decision-actions .review-edits { margin:0; }
  .recommendation { padding:var(--s4) var(--s6); }
  .recommendation h2 { font-size:30px;letter-spacing:-.03em; }
  .recommendation .purchase-sub { font-size:22px; }
  .recommendation .lead { font-size:16px; }
  .purchase-table { table-layout:fixed;margin-top:var(--s4); }
  .purchase-table th:first-child { width:58%; }
  .purchase-table th,.purchase-table td { padding:var(--s3) var(--s2);min-width:0;font-size:14px;overflow-wrap:anywhere; }
  .purchase-table th:not(:first-child),.purchase-table td:not(:first-child) { text-align:right; }
  .purchase-mobile-units { display:none; }
  .summary-column .pack-contents { margin-top:0;padding-top:0;border-top:0; }
  .supply-editor { display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:var(--s2) var(--s6);padding:var(--s4) 0; }
  .supply-identity { align-self:center;min-width:0;overflow-wrap:anywhere; }
  .supply-identity p { margin-bottom:0; }
  .supply-editor .stock-fields { margin:0;align-items:start; }
  .supply-editor>.stock-status,.supply-editor>.offer-fields,.supply-editor>p { grid-column:1/-1;margin:0; }
  .supply-editor .offer-fields { margin-top:var(--s2); }
  .comparison-columns-head { display:grid;grid-template-columns:minmax(0,1fr) repeat(2,minmax(0,1.4fr));gap:var(--s4);padding:var(--s3) 0;border-bottom:1px solid var(--border);font-size:14px;font-weight:600; }
  .comparison-pair { padding:var(--s3) 0; }
  .comparison-fields label { grid-template-rows:auto 44px auto; }
  @media(min-width:761px) {
    .comparison-value>.hint { position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%); }
  }
  @media(max-width:760px) {
    .supply-editor { grid-template-columns:1fr;gap:var(--s3); }
    .decision-costs { gap:var(--s4); }
    .summary-cost { display:grid;gap:var(--s1);align-content:start; }
    .decision-actions { align-items:stretch; }
    .decision-actions>button,.review-outputs { width:100%; }
    .review-outputs button { flex:1; }
    .recommendation { padding:var(--s4); }
    .recommendation h2 { font-size:27px; }
    .purchase-table th:first-child { width:60%; }
    .purchase-table th:nth-child(3),.purchase-table td:nth-child(3) { display:none; }
    .purchase-mobile-units { display:block;color:var(--muted);font-size:13px;font-weight:400; }
    .comparison-columns-head { display:none; }
  }
  @media(min-width:380px) and (max-width:760px) { .supply-editor .stock-fields { grid-template-columns:repeat(2,minmax(0,1fr)); } }
}

@media screen {
  .product-search { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s2) var(--s3);align-items:end;margin:var(--s6) 0 var(--s4); }
  .product-search p { grid-column:1/-1;margin:0; }
  .product-search input { scroll-margin-top:var(--s4); }
  .product-search-disclosure { margin:var(--s4) 0; }
  .product-search-disclosure .product-search { margin-top:var(--s3); }
  @media(max-width:379px) { .product-search { grid-template-columns:1fr; }.product-search button { justify-self:start; } }
}

@media screen {
  .gap-options { margin:0 0 var(--s6);padding:0 0 var(--s4);border-bottom:1px solid var(--border); }
  .gap-option { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 var(--s4);padding:var(--s3) 0;max-width:960px; }
  .gap-option > :not(button) { grid-column:1; }
  .gap-option button { grid-column:2;grid-row:1/6;align-self:center;max-width:240px;overflow-wrap:anywhere; }
  .gap-method { margin:var(--s2) 0; }
  .comparison-overview { padding:var(--s3) 0;border-bottom:1px solid var(--border);margin-bottom:var(--s4); }
  .comparison-overview p { margin:var(--s2) 0; }
  .gap-option h3 { font-size:18px; }
  .gap-option p { margin:var(--s2) 0; }
  @media(max-width:760px) { .gap-option { grid-template-columns:1fr; }.gap-option button { grid-column:1;grid-row:auto;width:100%;max-width:none;margin-top:var(--s2); } }
}
