.planner-page .wrap{width:min(1360px,calc(100% - 64px))}
.planner-page .header-inner{padding-block:16px}
.planner-hero{display:flex;justify-content:space-between;align-items:end;gap:24px;padding:30px 0 24px}
.planner-hero .eyebrow{margin-bottom:8px;font-size:11px}
.planner-hero h1{font-size:clamp(32px,3.4vw,48px);letter-spacing:-.035em}
.planner-hero p:not(.eyebrow){color:var(--color-muted);font-size:15px;margin-top:8px}
.quiet-link{font-size:12px;white-space:nowrap}
.planner-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid var(--color-border);padding-top:16px}
.save-status{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--color-muted)}
.status-dot{width:6px;height:6px;border-radius:50%;background:var(--color-primary);flex-shrink:0}
.tool-actions,.panel-actions,.dialog-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.planner-page .tool-actions .button,.planner-page .panel-actions .button{min-height:40px;padding:8px 13px;font-size:12px}
.subtle-button{background:transparent;border:0;color:var(--color-muted);padding:10px;min-height:40px;font-size:12px;text-decoration:underline;text-underline-offset:4px}
.privacy-note{font-size:11px;color:var(--color-muted);max-width:none;margin:9px 0 22px}
.planner-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:28px;align-items:start}
.planner-nav{display:flex;flex-direction:column;gap:5px;align-items:stretch;position:sticky;top:24px}
.planner-nav button{border:0;background:transparent;color:var(--color-muted);text-align:left;padding:13px 12px;border-radius:3px;font-size:13px;white-space:nowrap}
.planner-nav button span{font-size:10px;margin-right:10px;opacity:.65}
.planner-nav button:hover{background:var(--color-surface)}
.planner-nav button[aria-current]{background:var(--color-text);color:var(--color-bg);font-weight:600}
.nav-foot{font-size:11px;color:var(--color-muted);line-height:1.9;margin:20px 12px}
.planner-workspace{min-width:0}
.planner-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--color-surface);border:1px solid var(--color-border);margin-bottom:18px}
.summary-item{padding:14px 22px;border-right:1px solid var(--color-border)}
.summary-item:last-child{border:0}.summary-item strong{font:450 26px/1.2 var(--font-display);display:block;font-variant-numeric:tabular-nums}
.summary-item span{font-size:11px;color:var(--color-muted);display:block;margin-top:3px}
.editor{border:1px solid var(--color-border);padding:24px;min-height:420px}
.panel-heading{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:20px}
.panel-heading h2{font-size:25px}.panel-heading p{font-size:12px;color:var(--color-muted);max-width:65ch;margin-top:7px}
.editor h3{font-family:var(--font-display);font-weight:450;font-size:22px;margin-bottom:10px}
.editor h4{font-size:13px;font-weight:600;margin:14px 0 8px}
.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.form-grid .wide{grid-column:1/-1}
.planner-field{min-width:0}
.form-grid>.planner-field{display:flex;flex-direction:column;justify-content:flex-end}
.planner-field label{font-size:11px;color:var(--color-muted);margin:0 0 5px}
.planner-page .planner-field input,.planner-page .planner-field select,.planner-page textarea{font-family:var(--font-body);font-size:14px;min-height:43px;padding:9px 10px;border:1px solid var(--color-border);width:100%;background:var(--color-bg);border-radius:3px;color:var(--color-text);min-width:0}
.planner-page textarea{resize:vertical;line-height:1.5;min-height:85px}
.planner-page input[aria-invalid=true]{border-color:var(--color-error)}
.check-field{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--color-muted);padding:25px 0 5px}
.check-field input{width:18px;min-height:18px;height:18px}
.field-help,.planner-hint{font-size:11px;color:var(--color-muted);line-height:1.65;margin-top:6px;max-width:90ch}
.section-rule{border-top:1px solid var(--color-border);padding-top:20px;margin-top:22px}
.recipe-card,.catalog-card,.crew-card{background:var(--color-surface);padding:20px;margin-bottom:16px;border:1px solid var(--color-border)}
.card-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}
.card-head h3{margin:0}
.row-actions{display:flex;align-items:center;gap:10px;margin-top:12px}
.minor-button{border:1px solid var(--color-border);background:transparent;border-radius:3px;font-size:12px;min-height:40px;padding:7px 12px}
.remove-button{background:none;border:0;color:var(--color-muted);font-size:12px;min-height:40px;padding:6px;text-decoration:underline}
.ingredient-row{display:grid;grid-template-columns:minmax(120px,1.7fr) minmax(65px,.7fr) minmax(76px,.85fr) minmax(90px,1fr) auto;gap:10px;align-items:end;border-top:1px solid var(--color-border);padding-top:12px;margin-top:12px}
.catalog-fields{display:grid;grid-template-columns:1.6fr 1fr 1fr .85fr 1fr .85fr;gap:12px}
.catalog-fields .name-field{grid-column:span 2}
.inline-stat{font-size:12px;color:var(--color-muted);margin-top:12px}
.empty-state{border:1px dashed var(--color-border);padding:24px;margin:16px 0;color:var(--color-muted);font-size:13px}
.validation-box{background:var(--color-surface);border:1px solid var(--color-error);padding:16px;margin-bottom:18px;font-size:12px;color:var(--color-error)}
.validation-box strong{display:block;margin-bottom:8px}.validation-box ul{padding-left:20px}
.validation-box details{padding:0;margin:0;border:0}.validation-box summary{padding:0;font-size:11px}.validation-box strong{line-height:1.5}
.notice{padding:12px 16px;font-size:12px;border-left:3px solid var(--color-primary);background:var(--color-surface);margin-bottom:18px}
.data-table{overflow-x:auto;margin-top:12px;border:1px solid var(--color-border)}.data-table table{min-width:530px}
.table-scroll-note{display:none}
.data-table th,.data-table td{font-size:12px;padding:10px 12px;line-height:1.6}.data-table td{font-variant-numeric:tabular-nums}
.data-table th{font-size:11px}.data-table tr:last-child td{border-bottom:0}
.batch-totals{display:flex;flex-wrap:wrap;gap:20px;padding:12px 0;font-size:13px}
.batch-totals strong{display:block;font:450 24px/1.2 var(--font-display)}
.batch-totals small{color:var(--color-muted)}
.report-controls{display:flex;align-items:end;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.report-controls .planner-field{min-width:220px}
.report-paper{background:#faf6ed;color:#07223d;padding:32px;box-shadow:0 2px 12px #0002;margin-top:18px;overflow-wrap:anywhere}
.report-paper h2{font-size:30px;margin-bottom:8px}.report-paper .report-subtitle{color:#526474;font-size:12px;border-bottom:1px solid #aab3b8;padding-bottom:16px}
.report-paper h3{font-size:21px;padding-top:20px;margin-top:8px;margin-bottom:10px}
.report-paper p{font-size:12px;line-height:1.65;white-space:pre-wrap;margin-bottom:7px;max-width:none}
.export-grid{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}
.export-grid button{font-size:12px}
.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px 50px}
.method-number{font-size:11px;letter-spacing:.1em;color:var(--color-primary)}
.method-grid h3{font-family:var(--font-display);font-weight:450;font-size:26px;margin:12px 0 18px}
.method-grid p{font-size:14px;color:var(--color-muted);margin-bottom:14px}
.explainer{margin-top:48px}.planner-page .section-header p{font-size:14px}
.faq-list{max-width:950px}.faq-list summary{font-size:15px}.faq-list p{font-size:14px;color:var(--color-muted);max-width:85ch}
.resource-links{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.resource-links a{padding:14px 0;border-bottom:1px solid var(--color-border);font-size:14px}
dialog{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);padding:28px;border-radius:4px;max-width:460px;width:calc(100% - 32px);margin:auto}
dialog::backdrop{background:#031321d9}dialog h2{font-size:27px}dialog p{font-size:14px;margin:16px 0 24px;color:var(--color-muted)}.dialog-actions{justify-content:flex-end}
#print-report,#print-error{display:none}
@media(max-width:1000px){.planner-layout{grid-template-columns:160px minmax(0,1fr);gap:20px}.planner-hero .quiet-link{display:none}.catalog-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-fields .name-field{grid-column:span 2}.planner-toolbar{align-items:flex-start;flex-wrap:wrap}.ingredient-row{grid-template-columns:1.5fr .7fr .9fr 1fr}.ingredient-row .remove-button{grid-column:4}}
@media(max-width:650px){.planner-page .wrap{width:calc(100% - 32px)}.planner-page .header-inner{padding:12px 0;gap:10px}.planner-page .brand img{width:32px;height:32px}.planner-page .brand strong{font-size:18px}.planner-page .brand small{font-size:9px}.planner-page .theme-toggle{padding:5px 8px;font-size:10px;min-height:36px}.planner-page .header nav{gap:10px}.planner-page .header nav a{font-size:11px;padding:4px 0}.planner-page .preview-banner{font-size:10px;padding:5px 12px}.planner-hero{padding:20px 0 16px}.planner-hero h1{font-size:31px}.planner-hero p:not(.eyebrow){font-size:12px;margin-top:5px}.planner-hero .eyebrow{font-size:9px}.planner-toolbar{padding-top:12px;gap:9px}.save-status{font-size:10px}.planner-page .tool-actions .button{min-height:37px;padding:7px 10px;font-size:10px}.subtle-button{font-size:11px;min-height:37px}.privacy-note{font-size:10px;margin:8px 0 15px}.planner-layout{display:block}.planner-nav{position:static;flex-direction:row;overflow-x:auto;gap:5px;padding-bottom:8px;margin-bottom:10px;width:100%}.planner-nav button{font-size:11px;padding:10px;min-height:40px}.planner-nav button span{font-size:9px;margin-right:5px}.nav-foot{display:none}.planner-summary{margin-bottom:12px}.summary-item{padding:10px}.summary-item strong{font-size:21px}.summary-item span{font-size:9px}.editor{padding:16px}.panel-heading{gap:12px;flex-wrap:wrap;margin-bottom:16px}.panel-heading h2{font-size:23px}.panel-heading p{font-size:11px}.form-grid,.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid>.planner-field:first-child{grid-column:1/-1}.planner-field label{font-size:10px}.planner-page .planner-field input,.planner-page .planner-field select,.planner-page textarea{font-size:16px;min-height:44px;padding:9px 8px}.recipe-card,.catalog-card,.crew-card{padding:14px}.ingredient-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ingredient-row>.planner-field:first-child{grid-column:1/-1}.ingredient-row .remove-button{grid-column:auto}.ingredient-row .planner-field:nth-child(4){grid-column:1}.catalog-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-fields .name-field{grid-column:1/-1}.catalog-fields .planner-field:nth-child(3){grid-column:1}.report-paper{padding:20px}.report-paper h2{font-size:25px}.method-grid{grid-template-columns:1fr;gap:24px}.resource-links{grid-template-columns:1fr 1fr}.resource-links a{font-size:12px}.explainer{margin-top:32px}.planner-page .section-header{gap:16px}.planner-page .section{padding-block:36px}.report-controls .planner-field{width:100%}.data-table table{min-width:480px}}
@media(max-width:650px){.table-scroll-note{display:block;font-size:10px;color:var(--color-muted);margin-top:10px}.table-scroll-note+.data-table{margin-top:6px}}
@media(max-width:650px){.planner-hero{padding:12px 0 10px}.privacy-note{margin-bottom:8px}.planner-nav{margin-bottom:4px}.planner-summary{margin-bottom:8px}.validation-box{padding:12px;margin-bottom:10px;font-size:11px}.planner-page .editor[data-active-panel=brief] .panel-heading p{display:none}.planner-page .editor[data-active-panel=brief] .panel-heading{margin-bottom:10px}}
@media print{
  @page{size:auto;margin:16mm}
  html,body{background:white!important;color:#000!important;font-size:11pt!important}
  body>*{display:none!important}
  body>#print-report{display:block!important}
  body.invalid>#print-report{display:none!important}
  body.invalid>#print-error{display:block!important;font:14pt sans-serif}
  #print-report .report-paper{display:block;margin:0;padding:0;background:#fff;color:#000;box-shadow:none}
  #print-report h2{font-size:24pt}
  #print-report h3{font-size:15pt;break-after:avoid}
  #print-report p{font-size:10pt;line-height:1.5;orphans:2;widows:2}
  #print-report .report-section{break-inside:auto}
  #print-report .report-subtitle{color:#333}
}
.pack-panel{border:1px solid var(--color-border);padding:1.25rem;margin:1.5rem 0}.pack-panel>h3{font-family:Fraunces,serif;font-size:1.5rem}.pack-panel p{line-height:1.55}.pack-email{border-top:1px solid var(--color-border);margin-top:1rem;padding-top:1rem}.pack-email summary{cursor:pointer;font-weight:600}.pack-email fieldset{border:0;padding:0;min-width:0;display:grid;gap:1rem}.pack-email fieldset:disabled{opacity:.8}.pack-email input[type=email],.pack-email select{width:100%;min-width:0}.pack-email .check-field{align-items:flex-start;font-size:14px;line-height:1.55;padding:4px 0;color:var(--color-text)}.pack-email .check-field[hidden]{display:none}.pack-email .check-field input{flex:0 0 auto;margin-top:4px}.pack-email legend{font-weight:600;margin-bottom:1rem}
