.kp-app,.kp-single{--kp-navy:#123b4a;--kp-teal:#167d82;--kp-aqua:#8ccbc7;--kp-cream:#f7f1e8;--kp-gold:#d6b36a;color:var(--kp-navy);max-width:1200px;margin:auto}
.kp-app *,.kp-single *{box-sizing:border-box}
.kp-app [hidden]{display:none!important}
.kp-heading{max-width:800px;padding:1rem 0 .5rem}
.kp-heading h1{margin:.3rem 0;font-size:clamp(2.2rem,5vw,3.6rem)}
.kp-heading .kp-intro{font-size:clamp(1.2rem,3vw,1.65rem);line-height:1.4;margin:.5rem 0}
.kp-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin:1.5rem 0}
.kp-nav a{padding:1rem .6rem;border:1px solid #a9c4c4;border-radius:9px;text-align:center;color:#123b4a;background:white;font-weight:750;line-height:1.3;text-decoration:none;min-height:54px;display:flex;align-items:center;justify-content:center}
.kp-nav a[aria-current=page]{background:#123b4a;color:white;border-color:#123b4a;box-shadow:inset 0 -4px #d6b36a}
.kp-account{border-left:4px solid #167d82;background:#edf7f5;padding:.85rem 1rem;font-size:.95rem}
.kp-app a,.kp-connect a,.kp-card-link{color:#12646a;text-decoration:underline;text-underline-offset:3px}
.kp-status{min-height:1.6em;font-size:.95rem;margin:.8rem 0}
.kp-error{color:#9a2424;font-weight:650}
.kp-summary{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:1rem;margin:1rem 0 2.25rem}
.kp-summary>div{padding:1.25rem;background:var(--kp-cream);border-top:3px solid var(--kp-gold);border-radius:4px 4px 12px 12px;display:flex;flex-direction:column;gap:.4rem}
.kp-summary small{font-size:.75rem;font-weight:800;letter-spacing:.07em;line-height:1.5}
.kp-summary strong{font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.2;overflow-wrap:anywhere}
.kp-summary span{font-size:.9rem}
.kp-section-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:1rem 0}
.kp-section-heading h2{margin:.25rem 0;font-size:clamp(1.65rem,3vw,2.2rem)}
.kp-section-heading .ortc-eyebrow{margin:0;color:#12646a;font-size:.75rem;letter-spacing:.08em}
.kp-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem}
.kp-app label{font-weight:650;display:block;font-size:1rem}
.kp-app input:not([type=checkbox]),.kp-app select{display:block;width:100%;max-width:100%;min-height:48px;padding:.65rem .7rem;border:1px solid #98aeaf;border-radius:7px;background:white;color:#123b4a;font:inherit;margin-top:.35rem}
.kp-app input[type=checkbox]{width:22px;height:22px;accent-color:#167d82;flex-shrink:0;margin:0}
.kp-app :focus-visible,.kp-single :focus-visible{outline:3px solid #167d82;outline-offset:4px}
.kp-planner{border:1px solid #c9d8d6;border-radius:12px;padding:clamp(1rem,3vw,1.8rem);background:#fbfdfc}
.kp-days{border:0;padding:0;margin:1.5rem 0}
.kp-days legend{font-weight:750;margin-bottom:.7rem}
#kp-day-choices{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem}
#kp-day-choices label{padding:.75rem .35rem;border:1px solid #c9d8d6;border-radius:7px;display:flex;align-items:center;flex-direction:column;gap:.4rem;text-align:center;background:white;cursor:pointer}
#kp-day-choices label:has(input:checked){background:#e3f3f0;border-color:#167d82}
#kp-day-choices small{font-size:.75rem;font-weight:400}
.kp-help{font-size:.9rem;line-height:1.6;color:#34535c}
.kp-button{background:#167d82;color:white!important;border:1px solid #167d82;border-radius:7px;padding:.85rem 1.1rem;min-height:48px;font:inherit;font-weight:750;cursor:pointer;text-decoration:none!important;display:inline-block}
.kp-button.kp-secondary{background:white;color:#12646a!important}
.kp-button:disabled{opacity:.55;cursor:wait}
.kp-text-button{padding:.5rem .1rem;min-height:44px;border:0;background:none;color:#12646a;font:inherit;font-weight:750;text-decoration:underline;text-underline-offset:3px;cursor:pointer;text-align:left}
.kp-actions{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin:1rem 0}
.kp-dinners{display:grid;gap:1rem;margin:1.5rem 0;scroll-margin-top:90px}
.kp-dinner{border:1px solid #d2ddd9;border-radius:10px;background:white;display:grid;grid-template-columns:90px 145px 1fr;gap:1.2rem;padding:1rem;align-items:center;overflow:hidden}
.kp-dinner-day{align-self:stretch;border-right:1px solid #d2ddd9;display:flex;flex-direction:column;justify-content:center;gap:.3rem;padding-right:.7rem}
.kp-dinner-day strong{font-size:1.3rem;color:#12646a}
.kp-dinner-day span{font-size:.85rem}
.kp-dinner-photo{display:block;aspect-ratio:1;width:100%;max-width:160px}
.kp-dinner-photo img{display:block;width:100%;height:100%;object-fit:cover;border-radius:8px}
.kp-dinner-content h3{font-size:1.3rem;line-height:1.35;margin:.2rem 0 .5rem}
.kp-dinner-content p{margin:.25rem 0}
.kp-cuisine{color:#12646a;font-size:.8rem;letter-spacing:.03em}
.kp-dinner .kp-actions{font-size:.9rem;margin:.5rem 0 0}
.kp-pantry-tools{display:flex;align-items:end;gap:1.5rem;margin:1.4rem 0}
.kp-pantry-tools>label:first-child{flex:1}
.kp-app .kp-inline{display:flex;align-items:center;gap:.6rem;min-height:48px}
.kp-pantry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:start}
.kp-pantry-section{border:1px solid #c9d8d6;border-radius:9px;overflow:hidden;background:white}
.kp-pantry-section>summary{padding:1.1rem;background:#edf7f5;font-weight:750;cursor:pointer;border-left:5px solid #167d82;list-style:revert;line-height:1.5}
.kp-pantry-section>summary small{display:block;margin-left:1.2rem;font-weight:400;font-size:.8rem}
.kp-ingredient-list{padding:0 1rem}
.kp-ingredient{padding:1rem 0;border-bottom:1px solid #e0e7e4;overflow-wrap:anywhere}
.kp-ingredient:last-child{border-bottom:0}
.kp-app .kp-ingredient-main{display:flex;gap:.8rem;align-items:start;cursor:pointer}
.kp-ingredient-main strong{font-size:1rem;font-weight:650;text-transform:none}
.kp-ingredient-main small{display:block;font-weight:400;font-size:.8rem;margin:.2rem 0}
.kp-partial{margin:.3rem 0 0 2.2rem;font-size:.85rem}
.kp-partial summary{cursor:pointer;color:#12646a;min-height:32px;padding:.35rem 0}
.kp-amount-fields{display:grid;grid-template-columns:1fr 95px;gap:.5rem;margin:.4rem 0}
.kp-amount-fields input,.kp-amount-fields select{min-height:44px!important}
.kp-connect{max-width:1200px;margin:1.5rem auto;padding:1.2rem;background:#f7f1e8;border:1px solid #d6b36a;border-radius:8px;color:#123b4a}
.kp-connect p{margin:.4rem 0 .7rem}
.kp-alert{padding:1rem;background:#fff4e0;border-left:4px solid #a45d13;color:#653900}
.kp-shopping-group{margin:1.5rem 0}
.kp-shopping-group>h3{font-size:1.2rem;background:#edf7f5;border-left:5px solid #167d82;padding:.8rem 1rem;margin:0}
.kp-shopping-row{display:grid;grid-template-columns:1fr 210px;gap:.75rem;padding:1.1rem;border:1px solid #dce4df;border-top:0;background:white}
.kp-shopping-row h4{font-size:1.05rem;margin:0 0 .35rem}
.kp-shopping-row p{margin:.2rem 0}
.kp-shopping-row small{display:block;line-height:1.5}
.kp-purchase{text-align:right;display:flex;flex-direction:column;gap:.3rem}
.kp-purchase .kp-text-button{text-align:right;font-size:.85rem}
.kp-source{grid-column:1/-1;font-size:.8rem;line-height:1.5}
.kp-source summary{cursor:pointer;color:#12646a;padding:.3rem 0}
.kp-price-notes,#kp-have-details{border-top:1px solid #c9d8d6;padding:1rem 0;margin:1rem 0;font-size:.9rem;line-height:1.6}
.kp-price-notes>summary,#kp-have-details>summary{cursor:pointer;font-weight:750}
.kp-dialog{max-width:700px;width:calc(100% - 2rem);max-height:85vh;overflow:auto;border:1px solid #8ccbc7;border-radius:12px;color:#123b4a;padding:1.5rem}
.kp-dialog::backdrop{background:#123b4aa6}
.kp-dialog h2{font-size:1.6rem;padding-right:1rem}
.kp-dialog-close{float:right;min-width:44px;min-height:44px;font-size:1.5rem;border:0;background:white;color:#123b4a;cursor:pointer}
.kp-choice{display:flex;flex-direction:column;gap:.4rem;width:100%;text-align:left;padding:1rem;background:white;border:1px solid #c9d8d6;border-radius:7px;margin:.7rem 0;color:#123b4a;font:inherit;cursor:pointer}
.kp-choice:hover{background:#edf7f5}
.kp-choice span{font-size:.85rem}
.kp-bunny-pantry{border-left:5px solid #167d82;border-radius:8px;background:#edf7f5;padding:1.1rem;margin:1.2rem 0}
.kp-bunny-pantry h3{margin:.1rem 0 .6rem;font-size:1.2rem}
.kp-bunny-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.ortc-budget-meals .kp-bunny-actions label{display:flex;align-items:center;gap:.6rem;margin:0;font-size:.95rem}
.kp-bunny-actions input{width:22px;height:22px;accent-color:#167d82}
.ortc-budget-meals .kp-bunny-actions .kp-text-button{background:transparent;color:#12646a;border:0;padding:.5rem 0}
.kp-bunny-original{font-size:.85rem;color:#34535c}
.kp-bunny-price{color:#12646a;font-size:1.1rem}
.kp-bunny-covered{font-size:.85rem}
.kp-bunny-pantry :focus-visible{outline:3px solid #167d82;outline-offset:3px}
@media(max-width:750px){.kp-app{padding-left:1rem!important;padding-right:1rem!important}.kp-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.kp-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.kp-summary>div{padding:1rem}.kp-summary>div:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;align-items:center}.kp-summary>div:last-child strong{grid-column:2;grid-row:1/3;text-align:right}.kp-summary>div:last-child span{grid-column:1}.kp-fields{grid-template-columns:1fr}.kp-section-heading{align-items:start;flex-direction:column;gap:.35rem}.kp-pantry-grid{grid-template-columns:1fr}.kp-pantry-tools{flex-direction:column;align-items:stretch;gap:.5rem}.kp-dinner{grid-template-columns:58px 88px 1fr;gap:.7rem;padding:.85rem}.kp-dinner-day{grid-column:1;grid-row:1/3;padding-right:.3rem}.kp-dinner-photo{grid-column:2;grid-row:1;align-self:start}.kp-dinner-content{grid-column:3;grid-row:1/3;min-width:0}.kp-dinner-content h3{font-size:1.05rem}.kp-dinner-content p{font-size:.85rem}.kp-dinner .kp-actions{gap:.5rem;font-size:.8rem}.kp-shopping-row{grid-template-columns:1fr 125px;padding:.85rem}.kp-purchase strong{font-size:1.15rem}.kp-purchase small{font-size:.75rem}.kp-source{overflow-wrap:anywhere}}
@media(max-width:420px){#kp-day-choices{grid-template-columns:repeat(4,minmax(0,1fr))}.kp-dinner{grid-template-columns:56px 1fr}.kp-dinner-day{grid-column:1;grid-row:1}.kp-dinner-photo{grid-column:1;grid-row:2;max-width:56px}.kp-dinner-content{grid-column:2;grid-row:1/3}.kp-shopping-row{grid-template-columns:1fr}.kp-purchase{text-align:left}.kp-purchase .kp-text-button{text-align:left}.kp-summary small{font-size:.65rem}}
@media print{body *{visibility:hidden!important}.kp-app,.kp-app *{visibility:visible!important}.kp-app{position:absolute;inset:0;max-width:none;padding:0!important}.kp-app [hidden],.kp-nav,.kp-account,.kp-status,.kp-planner,.kp-heading,.kp-app>figure,.kp-section-heading button,.kp-section-heading a,.kp-dinner .kp-actions,.kp-actions,.kp-text-button,.kp-connect,.kp-price-notes,.kp-source,.kp-dialog,.kp-pantry-tools{display:none!important}.kp-summary{margin:0 0 1rem}.kp-dinner,.kp-shopping-row{break-inside:avoid}.kp-dinners{display:block}.kp-dinner{display:grid;margin:.5rem 0}.kp-app a{color:#123b4a;text-decoration:none}.kp-app [data-kp-panel]{display:block}.kp-app [data-kp-panel][hidden]{display:none!important}#kp-have-details:not([open]){display:none}}

/* A separate compact sheet prevents hidden website cards from taking up printed pages. */
#ortc-kitchen-shopping-print{display:none!important}
@media print{
  @page{margin:0.4in}
  html:has(body[data-ortc-kitchen-print="shopping"]){margin:0!important;padding:0!important;min-height:0!important;height:auto!important}
  body[data-ortc-kitchen-print="shopping"]{margin:0!important;padding:0!important;min-height:0!important;height:auto!important;background:white!important}
  body[data-ortc-kitchen-print="shopping"]::before,body[data-ortc-kitchen-print="shopping"]::after,
  body[data-ortc-kitchen-print="shopping"]>*:not(#ortc-kitchen-shopping-print){display:none!important}
  body[data-ortc-kitchen-print="shopping"]>#ortc-kitchen-shopping-print{display:block!important;visibility:visible!important;position:static!important;inset:auto!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;color:#111!important;background:white!important;font:9.5pt/1.22 Arial,sans-serif!important}
  #ortc-kitchen-shopping-print *{visibility:visible!important;box-sizing:border-box!important;box-shadow:none!important;text-shadow:none!important}
  #ortc-kitchen-shopping-print h1{font:700 17pt/1.15 Arial,sans-serif!important;margin:2pt 0 4pt!important;padding:0!important;color:#123b4a!important}
  #ortc-kitchen-shopping-print p{margin:0 0 4pt!important;padding:0!important;font:inherit!important}
  #ortc-kitchen-shopping-print .kp-print-brand{font-size:8pt!important;font-weight:700!important;letter-spacing:.5pt!important}
  #ortc-kitchen-shopping-print .kp-print-meta{font-size:9pt!important}
  #ortc-kitchen-shopping-print .kp-print-total{font-weight:700!important}
  #ortc-kitchen-shopping-print .kp-print-key,#ortc-kitchen-shopping-print .kp-print-footer{font-size:8pt!important}
  #ortc-kitchen-shopping-print .kp-print-columns{columns:2;column-gap:16pt;column-fill:balance;margin-top:7pt!important}
  #ortc-kitchen-shopping-print .kp-print-group{break-after:avoid;page-break-after:avoid;font:700 9.5pt/1.2 Arial,sans-serif!important;border:0!important;border-bottom:.6pt solid #777!important;background:none!important;padding:0 0 2pt!important;margin:6pt 0 2pt!important;color:#111!important}
  #ortc-kitchen-shopping-print .kp-print-group{display:grid!important;grid-template-columns:minmax(0,1fr) 4.8em 6.8em;column-gap:4pt}
  #ortc-kitchen-shopping-print .kp-print-group small{font:400 8pt/1.2 Arial,sans-serif!important;align-self:end}
  #ortc-kitchen-shopping-print .kp-print-need{white-space:nowrap}
  #ortc-kitchen-shopping-print .kp-print-group:first-child{margin-top:0!important}
  #ortc-kitchen-shopping-print .kp-print-row{display:grid!important;grid-template-columns:minmax(0,1fr) 4.8em 6.8em;align-items:start;column-gap:4pt;break-inside:avoid;page-break-inside:avoid;border-bottom:.3pt solid #ccc!important;padding:2pt 0!important;margin:0!important;line-height:1.22!important}
  #ortc-kitchen-shopping-print .kp-print-item{display:grid!important;grid-template-columns:7pt minmax(0,1fr);column-gap:4pt;min-width:0;overflow-wrap:anywhere}
  #ortc-kitchen-shopping-print .kp-print-item>span{min-width:0;overflow-wrap:break-word}
  #ortc-kitchen-shopping-print .kp-print-tick{display:inline-block!important;flex:0 0 7pt;width:7pt;height:7pt!important;min-height:7pt!important;max-height:7pt!important;align-self:start!important;border:.6pt solid #555;margin-top:2pt}
  #ortc-kitchen-shopping-print .kp-print-need,#ortc-kitchen-shopping-print .kp-print-buy{font-size:8.5pt!important;overflow-wrap:anywhere}
  #ortc-kitchen-shopping-print .kp-print-footer{margin-top:8pt!important;border-top:.6pt solid #777;padding-top:4pt!important}
}

.kp-saved-plans{margin:1.25rem 0;padding:1.1rem 1.25rem;border:1px solid #b6ceca;border-left:4px solid #167d82;border-radius:8px;background:#f6faf8;color:#123b4a}
.kp-saved-plans h2{font-size:1.4rem;margin:0 0 .5rem}
.kp-saved-plans p{margin:.4rem 0 .8rem;line-height:1.5}
.kp-saved-plans details{padding:.6rem 0;border-top:1px solid #cadbd6}
.kp-saved-plans summary{font-weight:750;cursor:pointer}
.kp-saved-plans ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem 1.2rem;padding-left:1.2rem;line-height:1.45}
.kp-saved-plans a{color:#12646a;text-decoration:underline;text-underline-offset:3px}
.kp-saved-plan-links{display:flex;gap:.65rem 1.25rem;flex-wrap:wrap;margin-top:.75rem;font-weight:750}
@media(max-width:750px){.kp-saved-plans ul{grid-template-columns:1fr}.kp-saved-plans{padding:1rem}.kp-saved-plan-links{flex-direction:column}}

/* Native date controls must shrink inside their grid cells on iPad Safari. */
.kp-fields>label{min-width:0}
.kp-app input[type=date]{width:100%;min-width:0;max-width:100%;inline-size:100%;min-inline-size:0;max-inline-size:100%;box-sizing:border-box}
.kp-app input[type=date]::-webkit-date-and-time-value{min-width:0;text-align:left}
.kp-app input[type=date]::-webkit-datetime-edit{padding:0}
.kp-working,.kp-loading,.kp-empty{color:#c4001a!important;font-size:1.1rem!important;font-weight:750!important;line-height:1.45}
.kp-loading{margin:.5rem 0 1rem}
@media(min-width:751px) and (max-width:1000px){.kp-planner>.kp-fields:first-child{grid-template-columns:repeat(2,minmax(0,1fr))}.kp-planner>.kp-fields:first-child>label:first-child{grid-column:1/-1}}

#kp-recipe-check{scroll-margin-top:88px}
