:root{--bg:#f7f7f3;--surface:#fff;--line:#e5e7e0;--text:#20231f;--muted:#6c736a;--green:#446f35;--green-soft:#edf3e9;--orange:#d86f2c;--shadow:0 8px 26px rgba(41,48,38,.07)}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--text);background:var(--bg)}a{color:inherit}.app-layout{min-height:100vh;display:grid;grid-template-columns:235px minmax(760px,1fr) 295px}.sidebar{background:#fff;border-right:1px solid var(--line);padding:24px 16px;display:flex;flex-direction:column;gap:24px}.logo{display:flex;gap:10px;align-items:center;text-decoration:none;padding:0 8px}.logo>span{font-size:32px}.logo strong{display:block;font-family:Georgia,serif;font-size:27px}.logo small{color:var(--muted)}nav{display:grid;gap:5px}nav a{padding:12px 14px;border-radius:9px;text-decoration:none;color:#454b43}nav a.active,nav a:hover{background:var(--green-soft);color:#315829}.kitchen-card{margin-top:auto;border:1px solid var(--line);border-radius:12px;padding:16px;box-shadow:var(--shadow)}.kitchen-card p{color:var(--muted);font-size:13px}.kitchen-card button{width:100%;padding:10px;border:0;border-radius:8px;background:var(--green-soft);color:var(--green)}.dashboard-main{padding:24px 20px 40px;overflow:auto}.planner-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.week-title{display:flex;gap:8px;align-items:center}.week-title h1{font-family:Georgia,serif;font-size:32px;margin:0}.week-title p{margin:3px 0 0;color:var(--muted)}.round-button{width:38px;height:38px;border:1px solid var(--line);background:#fff;border-radius:10px;display:grid;place-items:center;text-decoration:none;font-size:25px}.shopping-button,.button,button{background:#20231f;color:#fff;border:0;border-radius:8px;padding:11px 16px;font-weight:700}.shopping-button{background:var(--green)}button:disabled{opacity:.65}.notice{background:#eef7e9;border:1px solid #cfe4c5;padding:10px 14px;border-radius:8px;margin-bottom:12px}.planner-grid{display:grid;grid-template-columns:82px repeat(4,minmax(155px,1fr));background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}.planner-corner,.slot-heading{padding:14px;border-bottom:1px solid var(--line);background:#fbfbf8}.slot-heading{text-align:center;font-weight:800}.day-row{display:contents}.day-cell,.meal-cell{min-height:105px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:10px}.day-cell{display:flex;flex-direction:column;align-items:center;gap:2px}.day-cell strong{font-size:12px}.day-cell>span{font-size:27px}.day-cell label{font-size:11px;color:var(--muted)}.day-cell input{width:42px;border:1px solid var(--line);border-radius:5px;padding:3px}.day-cell button{font-size:11px;padding:5px 9px;margin-top:4px}.meal-cell{display:flex;flex-direction:column;gap:8px;justify-content:center}.meal-cell select{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px;background:#fff;font-weight:650}.meal-cell a,.meal-cell small{font-size:12px;color:var(--muted);text-decoration:none}.summary-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px}.summary-row>div{background:#fff;border:1px solid var(--line);border-radius:11px;padding:13px;display:grid;grid-template-columns:auto 1fr;column-gap:9px;box-shadow:var(--shadow)}.summary-row span{grid-row:1/3;font-size:22px}.summary-row small{color:var(--muted)}.right-rail{padding:90px 16px 20px 0}.rail-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:12px;box-shadow:var(--shadow)}.rail-title{display:flex;justify-content:space-between;align-items:center}.rail-title h2{font-size:16px;margin:0}.rail-title span{font-size:11px;background:var(--green-soft);color:var(--green);padding:4px 7px;border-radius:7px}.rail-card h3{font-size:13px;margin:16px 0 7px}.rail-card label{display:block;font-size:13px;padding:4px}.rail-card p{display:flex;justify-content:space-between;font-size:13px}.topbar{background:#fff;border-bottom:1px solid var(--line);padding:22px 5%;display:flex;justify-content:space-between;align-items:center}.brand{font-family:Georgia,serif;font-size:32px;font-weight:700;text-decoration:none}.topbar p{margin:3px 0;color:var(--muted)}.page-shell{max-width:1200px;margin:0 auto;padding:24px}.filters{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;display:flex;gap:10px;align-items:center;margin-bottom:18px}.filters input{padding:11px;border:1px solid #cfd4cc;border-radius:7px}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.recipe-card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}.recipe-photo{height:165px;background:#efefef;display:grid;place-items:center;font-size:45px}.recipe-photo img{width:100%;height:100%;object-fit:cover}.recipe-card-body{padding:15px}.recipe-card h2{font-size:19px;margin:0 0 9px}.meta,.tags{font-size:13px;color:var(--muted);margin-top:9px}@media(max-width:1150px){.app-layout{grid-template-columns:190px 1fr}.right-rail{display:none}}@media(max-width:800px){.app-layout{display:block}.sidebar{position:static}.sidebar nav{grid-template-columns:repeat(2,1fr)}.kitchen-card{display:none}.planner-grid{grid-template-columns:70px repeat(4,180px);overflow:auto}.summary-row{grid-template-columns:1fr 1fr}.dashboard-main{padding:15px}.planner-header{align-items:flex-start;gap:12px}.shopping-button{display:none}}

/* v0.2.0 shared navigation and recipe page */
.app-layout.recipe-layout{grid-template-columns:235px minmax(0,1fr)}
.recipe-page{padding:28px 36px 48px;overflow:auto}
.recipe-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
.recipe-page .page-header h1{font-family:Georgia,serif;font-size:36px;margin:0}
.recipe-page .page-header p{margin:5px 0 0;color:var(--muted)}
.recipe-page .filters{margin-bottom:22px;flex-wrap:wrap}
.recipe-page .recipe-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}
.recipe-page .recipe-photo{display:grid;text-decoration:none}
.recipe-page .recipe-card h2 a{text-decoration:none}
.recipe-page .empty-state{background:#fff;border:1px solid var(--line);border-radius:12px;padding:40px;text-align:center}
@media(max-width:800px){.app-layout.recipe-layout{display:block}.recipe-page{padding:20px}}

/* v0.3.0 Decision Mode */
.decision-banner{margin-top:14px;background:linear-gradient(135deg,#3f6a33,#597f48);color:#fff;border-radius:13px;padding:15px 18px;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow)}
.decision-banner>div{display:flex;align-items:center;gap:12px}.decision-banner strong,.decision-banner small{display:block}.decision-banner small{opacity:.82;margin-top:3px}.decision-icon{font-size:29px}.decision-button{background:#fff;color:#315829;text-decoration:none;font-weight:800;padding:10px 14px;border-radius:8px}
.decision-page{max-width:1100px;padding:38px 48px 60px}.decision-header{margin-bottom:24px}.decision-header h1{font-family:Georgia,serif;font-size:44px;margin:4px 0 8px}.decision-header p{max-width:700px;color:var(--muted);font-size:16px}.eyebrow{font-size:11px;font-weight:900;letter-spacing:.14em;color:var(--green)}
.decision-form{background:#fff;border:1px solid var(--line);border-radius:16px;padding:8px 24px 24px;box-shadow:var(--shadow)}.decision-question{display:grid;grid-template-columns:42px 1fr;gap:14px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}.decision-question>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--green-soft);color:var(--green);font-weight:900}.decision-question label{font-weight:800;display:block;margin-bottom:8px}.decision-question select{width:100%;max-width:470px;padding:12px;border:1px solid #cfd4cc;border-radius:8px;background:#fff;font-size:15px}.decision-submit{margin-top:20px;background:var(--green);font-size:15px;padding:13px 20px}
.decision-explainer{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}.decision-explainer>div{background:#fff;border:1px solid var(--line);border-radius:11px;padding:17px;display:grid;gap:5px;text-align:center}.decision-explainer>div:first-line{font-size:24px}.decision-explainer small{color:var(--muted)}
.recommendations{margin-top:28px}.results-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:13px}.results-heading h2{font-family:Georgia,serif;font-size:31px;margin:4px 0 0}.results-heading a{color:var(--green);font-weight:700}.recommendation-card{display:grid;grid-template-columns:90px minmax(0,1fr) 130px;gap:18px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:13px;box-shadow:var(--shadow)}.recommendation-card.top-choice{border:2px solid #799b6b}.match-score{text-align:center;background:var(--green-soft);border-radius:12px;padding:15px 8px;color:var(--green)}.match-score strong,.match-score small{display:block}.match-score strong{font-size:25px}.choice-label{font-size:11px;font-weight:900;color:var(--orange);text-transform:uppercase;letter-spacing:.08em}.recommendation-copy h3{font-size:23px;margin:4px 0}.recommendation-copy h3 a{text-decoration:none}.recommendation-copy p{color:var(--muted);margin:5px 0 10px}.reason-list{display:flex;flex-wrap:wrap;gap:7px}.reason-list span{background:#f4f5f1;border-radius:999px;padding:5px 9px;font-size:12px}.recommendation-action{text-align:right;display:grid;gap:10px}.recommendation-action small{color:var(--muted)}.recommendation-action .button{text-decoration:none;text-align:center}
@media(max-width:800px){.decision-page{padding:22px 16px}.decision-header h1{font-size:36px}.decision-explainer{grid-template-columns:1fr 1fr}.recommendation-card{grid-template-columns:70px 1fr}.recommendation-action{grid-column:2;text-align:left;display:flex;align-items:center}.decision-banner{align-items:flex-start;gap:14px}.decision-button{white-space:nowrap}}

/* v0.3.1 recipe editor repair START */
body > header {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:22px max(20px,5vw);
  background:#fff;
  border-bottom:1px solid var(--line);
}
body > header h1 {
  margin:8px 0 0;
  font-family:Georgia,serif;
  font-size:36px;
}
body > header a {
  color:var(--green);
  font-weight:700;
  text-decoration:none;
}
body > main {
  width:min(1100px,calc(100% - 32px));
  margin:0 auto;
  padding:28px 0 50px;
}
.editor {
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:24px;
  box-shadow:var(--shadow);
  display:grid;
  gap:18px;
}
.editor > label {
  display:grid;
  gap:7px;
  margin:0;
  font-weight:800;
}
.editor .row {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
  gap:16px;
}
.editor .row > label {
  display:grid;
  gap:7px;
  margin:0;
  font-weight:800;
}
.editor input:not([type="checkbox"]):not([type="file"]),
.editor textarea,
.editor select {
  width:100%;
  min-width:0;
  padding:11px 12px;
  border:1px solid #cfd4cc;
  border-radius:8px;
  background:#fff;
  color:var(--text);
  font:inherit;
}
.editor input[type="file"] {
  width:100%;
  padding:9px;
  border:1px dashed #bfc6bb;
  border-radius:8px;
  background:#fafbf8;
}
.editor textarea {
  min-height:100px;
  resize:vertical;
}
.editor textarea.large,
.editor textarea[name="instructions"] {
  min-height:220px;
}
.editor small {
  color:var(--muted);
  font-weight:400;
}
.editor .checks {
  display:flex;
  flex-wrap:wrap;
  gap:12px 22px;
  padding:14px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.editor .checks label {
  display:flex;
  align-items:center;
  gap:7px;
  margin:0;
  font-weight:600;
}
.editor .button,
.editor button[type="submit"] {
  justify-self:start;
  min-width:150px;
  background:var(--green);
}
@media(max-width:700px) {
  body > header {padding:18px 16px}
  body > header h1 {font-size:30px}
  body > main {width:min(100% - 20px,1100px);padding-top:18px}
  .editor {padding:17px;gap:15px}
  .editor .row {grid-template-columns:1fr}
  .editor .button,.editor button[type="submit"] {width:100%}
}
/* v0.3.1 recipe editor repair END */

/* v0.4.0 searchable meal picker START */
.recipe-picker { position: relative; width: 100%; }
.meal-cell .recipe-search {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px 34px 10px 10px;
  background: #fff;
  color: var(--text);
  font: inherit;
  font-weight: 650;
}
.meal-cell .recipe-search:focus {
  outline: 3px solid rgba(68,111,53,.14);
  border-color: var(--green);
}
.meal-cell .recipe-search::-webkit-search-cancel-button { cursor: pointer; }
.recipe-picker::after {
  content: '⌄';
  position: absolute;
  right: 11px;
  top: 50%;
  transform: translateY(-53%);
  color: var(--muted);
  pointer-events: none;
  font-size: 17px;
}
/* v0.4.0 searchable meal picker END */

/* v0.4.1 custom recipe suggestions START */
.recipe-picker { position: relative; width: 100%; }
.recipe-suggestions {
  position: absolute;
  z-index: 1000;
  top: calc(100% + 5px);
  left: 0;
  right: 0;
  max-height: 260px;
  overflow-y: auto;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 10px;
  box-shadow: 0 14px 30px rgba(30, 35, 28, .16);
  padding: 5px;
}
.recipe-suggestion {
  display: block;
  width: 100%;
  border: 0;
  background: transparent;
  color: var(--text);
  padding: 10px 12px;
  border-radius: 7px;
  text-align: left;
  font: inherit;
  cursor: pointer;
}
.recipe-suggestion:hover,
.recipe-suggestion:focus {
  background: var(--soft-green, #edf4e9);
  outline: none;
}
.recipe-suggestion-empty {
  padding: 10px 12px;
  color: var(--muted);
  font-size: .9rem;
}
/* v0.4.1 custom recipe suggestions END */


/* v0.5.1 planner delight START */
.recipe-input-row{display:flex;gap:7px;align-items:center}.recipe-input-row .recipe-search{min-width:0;flex:1}.recipe-random{flex:0 0 42px;width:42px;height:42px;padding:0;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--text);font-size:1.05rem;cursor:pointer}.recipe-random:hover{background:var(--soft-green,#edf4e9);transform:translateY(-1px)}
.recipe-suggestion{display:flex!important;flex-direction:column;gap:3px}.recipe-suggestion strong{font-size:.96rem}.recipe-suggestion small{font-size:.78rem;color:var(--muted)}
.selected-recipe-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:7px;font-size:.76rem;color:var(--muted)}.selected-recipe-meta span{white-space:nowrap}.selected-recipe-meta a{margin-left:auto;font-weight:700;text-decoration:none;color:var(--text)}.selected-recipe-meta a:hover{text-decoration:underline}.recipe-help{display:block;margin-top:7px}
@media(max-width:900px){.recipe-random{flex-basis:38px;width:38px;height:38px}.selected-recipe-meta a{margin-left:0}}
/* v0.5.1 planner delight END */


/* v0.6.0 ingredients */
.ingredient-page{padding:28px 36px 48px;overflow:auto}.ingredient-page .page-header h1{font-family:Georgia,serif;font-size:36px;margin:0}.ingredient-page .page-header p{color:var(--muted);margin:6px 0 20px}.ingredient-layout{display:grid;grid-template-columns:minmax(280px,360px) minmax(520px,1fr);gap:22px;align-items:start}.ingredient-editor,.ingredient-library{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:var(--shadow)}.ingredient-editor h2{margin:0 0 18px;font-family:Georgia,serif}.ingredient-editor>label{display:grid;gap:7px;font-weight:700;margin-bottom:15px}.ingredient-editor input[type=text],.ingredient-editor input:not([type]),.ingredient-editor select{width:100%;padding:11px;border:1px solid #cfd4cc;border-radius:8px;font:inherit}.ingredient-editor .pantry-check{display:flex;align-items:center;gap:8px;font-weight:600}.ingredient-actions{display:flex;align-items:center;gap:14px}.ingredient-actions a{color:var(--muted)}.ingredient-help{font-size:13px;color:var(--muted);line-height:1.45;margin:18px 0 0}.ingredient-filters{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.ingredient-filters input[type=text],.ingredient-filters input:not([type]),.ingredient-filters select{padding:10px;border:1px solid #cfd4cc;border-radius:8px}.ingredient-filters label{display:flex;gap:6px;align-items:center}.ingredient-summary{font-size:13px;color:var(--muted);margin-bottom:10px}.ingredient-table-wrap{overflow:auto}.ingredient-table{width:100%;border-collapse:collapse}.ingredient-table th,.ingredient-table td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);white-space:nowrap}.ingredient-table th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.status-pill{background:var(--green-soft);color:var(--green);border-radius:999px;padding:4px 8px;font-size:12px;font-weight:700}.muted{color:var(--muted)}.row-actions{display:flex;gap:10px;justify-content:flex-end}.row-actions form{margin:0}.link-button{background:none;color:#8a3e32;padding:0;border-radius:0}.empty-cell{text-align:center!important;color:var(--muted);padding:30px!important}.ingredient-error{background:#fff0ed;border-color:#efc2ba;color:#8a3124}@media(max-width:950px){.ingredient-layout{grid-template-columns:1fr}.ingredient-page{padding:20px}}


/* v0.6.1 ingredients */
.ingredient-page{padding:28px 36px 48px;overflow:auto}.ingredient-page .page-header h1{font-family:Georgia,serif;font-size:36px;margin:0}.ingredient-page .page-header p{color:var(--muted);margin:6px 0 20px}.ingredient-layout{display:grid;grid-template-columns:minmax(280px,360px) minmax(520px,1fr);gap:22px;align-items:start}.ingredient-editor,.ingredient-library{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:var(--shadow)}.ingredient-editor h2{margin:0 0 18px;font-family:Georgia,serif}.ingredient-editor>label{display:grid;gap:7px;font-weight:700;margin-bottom:15px}.ingredient-editor input[type=text],.ingredient-editor input:not([type]),.ingredient-editor select{width:100%;padding:11px;border:1px solid #cfd4cc;border-radius:8px;font:inherit}.ingredient-editor .pantry-check{display:flex;align-items:center;gap:8px;font-weight:600}.ingredient-actions{display:flex;align-items:center;gap:14px}.ingredient-actions a{color:var(--muted)}.ingredient-help{font-size:13px;color:var(--muted);line-height:1.45;margin:18px 0 0}.ingredient-filters{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.ingredient-filters input[type=text],.ingredient-filters input:not([type]),.ingredient-filters select{padding:10px;border:1px solid #cfd4cc;border-radius:8px}.ingredient-filters label{display:flex;gap:6px;align-items:center}.ingredient-summary{font-size:13px;color:var(--muted);margin-bottom:10px}.ingredient-table-wrap{overflow:auto}.ingredient-table{width:100%;border-collapse:collapse}.ingredient-table th,.ingredient-table td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);white-space:nowrap}.ingredient-table th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.status-pill{background:var(--green-soft);color:var(--green);border-radius:999px;padding:4px 8px;font-size:12px;font-weight:700}.muted{color:var(--muted)}.row-actions{display:flex;gap:10px;justify-content:flex-end}.row-actions form{margin:0}.link-button{background:none;color:#8a3e32;padding:0;border-radius:0}.empty-cell{text-align:center!important;color:var(--muted);padding:30px!important}.ingredient-error{background:#fff0ed;border-color:#efc2ba;color:#8a3124}@media(max-width:950px){.ingredient-layout{grid-template-columns:1fr}.ingredient-page{padding:20px}}


/* v0.7.0 recipe ingredients */
.recipe-ingredients-card{max-width:1100px;margin:22px auto 50px;background:#fff;border:1px solid var(--line,#dde2da);border-radius:14px;padding:24px;box-shadow:var(--shadow,0 8px 24px rgba(0,0,0,.06))}.recipe-ingredients-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px}.recipe-ingredients-heading h2{font-family:Georgia,serif;font-size:28px;margin:0}.recipe-ingredients-heading p{color:var(--muted,#667064);margin:5px 0 0}.recipe-ingredient-grid{display:grid;grid-template-columns:90px 120px minmax(220px,1.4fr) minmax(180px,1fr) 100px 38px;gap:9px;align-items:center}.recipe-ingredient-header{font-size:12px;font-weight:700;text-transform:uppercase;color:var(--muted,#667064);padding:0 2px 7px}.ingredient-row{margin-bottom:9px}.ingredient-row input,.ingredient-row select{width:100%;padding:10px;border:1px solid #cfd4cc;border-radius:8px;font:inherit;background:#fff}.optional-check{display:flex;align-items:center;gap:6px;font-size:13px}.optional-check input{width:auto}.remove-ingredient{background:#f6ece9;color:#8a3124;padding:7px 10px}.recipe-ingredient-actions{display:flex;justify-content:space-between;gap:12px;margin-top:16px}.secondary-button{background:#eef2ec;color:#2f4834}.recipe-count-link{white-space:nowrap}.ingredient-detail-card{margin-top:18px}.ingredient-recipe-list{display:grid;gap:12px}.ingredient-recipe-list article{display:grid;grid-template-columns:minmax(260px,1fr) minmax(150px,auto) auto;gap:20px;align-items:center;border:1px solid var(--line,#dde2da);border-radius:10px;padding:16px}.ingredient-recipe-list h2{font-size:18px;margin:0 0 5px}.ingredient-recipe-list p{margin:0;color:var(--muted,#667064)}.ingredient-use{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ingredient-use span{font-size:13px;color:var(--muted,#667064)}.back-link{display:inline-block;margin-bottom:12px}@media(max-width:950px){.recipe-ingredient-grid{grid-template-columns:80px 100px 1fr}.recipe-ingredient-header{display:none}.ingredient-row input:nth-child(4),.ingredient-row .optional-check,.ingredient-row .remove-ingredient{grid-column:auto}.ingredient-recipe-list article{grid-template-columns:1fr}.recipe-ingredients-card{margin:18px}.recipe-ingredients-heading{flex-direction:column}}


/* v0.8.0 smart recipe ingredients */
.ingredient-combobox{position:relative}.ingredient-suggestions{position:absolute;z-index:50;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid #cfd4cc;border-radius:10px;box-shadow:0 12px 28px rgba(0,0,0,.14);max-height:290px;overflow:auto}.ingredient-suggestion{display:flex;width:100%;justify-content:space-between;align-items:center;gap:12px;text-align:left;background:#fff;color:#1e2520;border:0;border-radius:0;padding:10px 12px}.ingredient-suggestion:hover,.ingredient-suggestion:focus{background:#eef4ea}.ingredient-suggestion small{color:#6d756c}.ingredient-suggestion.create-new{color:#315d2d;border-top:1px solid #e3e7e0}.ingredient-no-match{padding:11px;color:#6d756c}.ingredient-row{cursor:grab}.ingredient-row.dragging{opacity:.45}.ingredient-unit{min-width:0}.ingredient-name{width:100%}@media(max-width:950px){.ingredient-combobox{grid-column:span 1}}


/* v0.9.0 planner autosave */
.planner-header-actions{display:flex;align-items:center;gap:10px}.planner-header-actions form{margin:0}.clear-week-button{background:#fff;color:#8b2f2f;border:1px solid #e3caca;border-radius:10px;padding:10px 14px;cursor:pointer}.clear-week-button:hover{background:#fbefef}.save-status{display:block;margin-top:6px;color:#60705e;font-weight:700}.save-status.saving{color:#8a6b24}.save-status.save-error{color:#a33}.recipe-input-row{position:relative}.recipe-clear{flex:0 0 34px;width:34px;height:34px;padding:0;border:0;border-radius:50%;background:#f5eaea;color:#9a3030;font-size:1.2rem;line-height:1;cursor:pointer}.recipe-clear:hover{background:#ecd5d5}.day-cell button:not(.recipe-clear){display:none}@media(max-width:900px){.planner-header-actions{flex-wrap:wrap}.shopping-button{display:none}}


/* v1.0.0 recipe polish */
.recipe-ingredient-grid{grid-template-columns:78px 96px 120px minmax(220px,1.35fr) minmax(180px,1fr) 96px 38px}.qty-whole,.qty-fraction{min-width:0}.editor .recipe-ingredients-card{margin:24px 0 18px;max-width:none;box-shadow:none}.editor .recipe-ingredients-card h2{margin-top:0}@media(max-width:1050px){.recipe-ingredient-grid{grid-template-columns:80px 100px 120px 1fr}.recipe-ingredient-header{display:none}.ingredient-row .ingredient-combobox{grid-column:span 2}}@media(max-width:700px){.recipe-ingredient-grid{grid-template-columns:1fr 1fr}.ingredient-row .ingredient-combobox,.ingredient-row>input[name*="preparation"]{grid-column:1/-1}}
.shopping-page{max-width:1180px}.shopping-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.shopping-header h1{margin:4px 0}.eyebrow{font-size:.75rem;font-weight:800;letter-spacing:.14em;color:#3d7431}.week-actions{display:flex;gap:8px;align-items:center}.icon-button,.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;padding:11px 16px;background:#1d231f;color:white;text-decoration:none;font-weight:700;cursor:pointer}.icon-button{background:white;color:#1d231f;border:1px solid #dcded8;font-size:1.4rem;padding:7px 13px}.button.secondary{background:white;color:#1d231f;border:1px solid #dcded8}.card{background:#fff;border:1px solid #e2e4de;border-radius:16px;box-shadow:0 10px 25px rgba(31,38,31,.05)}.shopping-summary{display:grid;grid-template-columns:180px 1fr auto;gap:18px;align-items:center;padding:18px 20px;margin-bottom:18px}.shopping-summary div:first-child{display:flex;flex-direction:column}.shopping-summary span{color:#687166;font-size:.9rem}.progress{height:10px;background:#edf1e9;border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;background:#5c8c4d}.alert{padding:12px 16px;border-radius:10px;margin-bottom:16px}.alert.error{background:#fff0ee;color:#9d2f26}.alert.success{background:#edf6e9;color:#35652d}.empty-shopping{text-align:center;padding:48px 20px}.empty-icon{font-size:3rem}.add-shopping{padding:20px;margin-bottom:18px}.add-shopping h2{margin-top:0}.manual-item-form{display:grid;grid-template-columns:2fr .6fr .8fr 1fr auto;gap:10px}.manual-item-form input{min-width:0;padding:11px;border:1px solid #d5d9d1;border-radius:9px}.shopping-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.shopping-group{overflow:hidden}.shopping-group>header{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid #eceee9}.shopping-group h2{margin:0;font-size:1.15rem}.shopping-group header span{color:#737b72;font-size:.88rem}.shopping-item{display:grid;grid-template-columns:28px 1fr 30px;gap:10px;align-items:center;padding:14px 18px;border-bottom:1px solid #f0f1ee}.shopping-item:last-child{border-bottom:0}.shopping-item-copy{display:flex;flex-direction:column}.shopping-item-copy span{font-size:.88rem;color:#697168}.shopping-item.checked strong{text-decoration:line-through;color:#8b9189}.delete-link{border:0;background:transparent;font-size:1.3rem;color:#a64b43;cursor:pointer}.toggle-form input{width:19px;height:19px}@media(max-width:850px){.shopping-summary{grid-template-columns:1fr}.shopping-groups{grid-template-columns:1fr}.manual-item-form{grid-template-columns:1fr 1fr}.manual-item-form input:first-of-type{grid-column:1/-1}.shopping-header{align-items:flex-start;gap:14px;flex-direction:column}}

/* Table v1.2.2 shopping-list layout */
.app-layout.shopping-layout{grid-template-columns:235px minmax(0,1fr)}
.shopping-page{min-width:0;max-width:none;padding:28px 32px 48px;overflow:auto}
.shopping-page .shopping-header,
.shopping-page .shopping-summary,
.shopping-page .add-shopping,
.shopping-page .empty-shopping,
.shopping-page .shopping-groups{width:100%;max-width:1180px;box-sizing:border-box}
.shopping-page .shopping-header{margin-left:auto;margin-right:auto}
.shopping-page .shopping-summary,
.shopping-page .add-shopping,
.shopping-page .empty-shopping,
.shopping-page .shopping-groups,
.shopping-page .alert{margin-left:auto;margin-right:auto}
@media(max-width:1150px){.app-layout.shopping-layout{grid-template-columns:190px minmax(0,1fr)}}
@media(max-width:800px){
  .app-layout.shopping-layout{display:block}
  .shopping-page{padding:20px 15px 40px}
}
/* Table v1.3.0 shopping workflow */
.store-section{margin:1.5rem 0}.store-title{margin:.25rem 0 .75rem}.shopping-item-copy details{margin-top:.35rem;color:#65705e}.shopping-item-copy details ul{margin:.4rem 0 0 1.2rem}.shopping-mode .app-sidebar{display:none}.shopping-mode .app-layout{display:block}.shopping-mode .shopping-page{max-width:760px;margin:auto}.shopping-mode .shopping-item{min-height:84px}.shopping-mode .shopping-item-copy strong{font-size:1.3rem}.shopping-mode .toggle-form input{width:30px;height:30px}

/* Table v2.0.0 — Phase A: Foundation UI */
.table-v2{--bg:#f4f3ee;--surface:#fffefa;--line:#e4e1d8;--text:#242820;--muted:#73776e;--green:#48663d;--green-dark:#344d2d;--green-soft:#edf1e8;--warm:#f4e7d8;--shadow:0 16px 40px rgba(46,49,40,.07)}
.app-layout.today-layout{grid-template-columns:230px minmax(0,1fr)}
.table-sidebar{padding:28px 18px 20px;gap:30px;position:sticky;top:0;height:100vh;background:#fffefa}
.table-sidebar .logo{padding:0 10px}.table-sidebar .logo-mark{width:42px;height:42px;display:grid;place-items:center;background:var(--green-soft);border-radius:13px;font-size:24px}.table-sidebar .logo strong{font-size:29px}.table-sidebar .logo small{font-size:11px;letter-spacing:.04em}
.primary-nav{gap:6px}.primary-nav a{display:flex;align-items:center;gap:12px;padding:12px 14px;font-weight:650}.primary-nav a>span{width:22px;text-align:center;font-size:18px}.primary-nav a small{margin-left:auto;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.primary-nav .nav-disabled{opacity:.55;pointer-events:none}
.sidebar-secondary{margin-top:auto;padding-top:18px;border-top:1px solid var(--line);display:grid;gap:4px}.sidebar-secondary a{padding:10px 14px;text-decoration:none;color:var(--muted);border-radius:9px;font-size:14px}.sidebar-secondary a:hover,.sidebar-secondary a.active{background:var(--green-soft);color:var(--green-dark)}.sidebar-version{display:flex;justify-content:space-between;padding:10px 14px;color:var(--muted);font-size:11px}.sidebar-version strong{color:var(--green)}
.today-main{min-width:0;padding:36px 46px 60px;max-width:1480px;width:100%;margin:0 auto}.today-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.today-header h1{font-family:Georgia,serif;font-size:42px;margin:3px 0 2px;font-weight:500}.today-header p{margin:0;color:var(--muted)}.global-search{width:min(360px,38vw);height:46px;background:var(--surface);border:1px solid var(--line);border-radius:14px;display:flex;align-items:center;padding:0 15px;box-shadow:0 5px 18px rgba(40,43,36,.03)}.global-search span{font-size:23px;color:var(--muted)}.global-search input{border:0;outline:0;background:transparent;width:100%;padding:10px;font:inherit}.eyebrow{font-size:11px;letter-spacing:.15em;font-weight:800;color:var(--green)}
.today-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.75fr);gap:20px}.experience-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:23px;box-shadow:var(--shadow);min-width:0}.card-kicker{display:flex;align-items:center;gap:9px;font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:19px}.card-kicker span{font-size:20px}.tonight-card{min-height:340px;display:flex;flex-direction:column}.tonight-content{display:grid;grid-template-columns:180px 1fr;gap:25px;align-items:center;flex:1}.tonight-photo{height:190px;border-radius:17px;overflow:hidden;background:var(--warm)}.tonight-photo img{width:100%;height:100%;object-fit:cover}.tonight-content h2{font-family:Georgia,serif;font-size:38px;line-height:1.08;margin:0 0 12px;font-weight:500}.meal-parts{display:flex;gap:7px;flex-wrap:wrap}.meal-parts span{background:var(--green-soft);color:var(--green-dark);padding:6px 10px;border-radius:999px;font-size:13px}.meal-facts{display:flex;gap:18px;margin-top:20px;color:var(--muted);font-size:14px}.card-action-row{display:flex;align-items:center;gap:18px;margin-top:22px}.primary-action,.secondary-action{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:11px;padding:12px 18px;font-weight:750}.primary-action{background:var(--green-dark);color:white}.secondary-action{background:var(--green-soft);color:var(--green-dark)}.text-action{color:var(--green);font-weight:700;text-decoration:none;font-size:14px}.full-action{width:100%;margin-top:auto}.empty-state{display:grid;place-items:center;text-align:center;flex:1;padding:25px}.empty-state>span{font-size:46px}.empty-state h2{font-family:Georgia,serif;font-size:30px;margin:10px 0 4px}.empty-state p{color:var(--muted);margin:0}
.shopping-home-card{display:flex;flex-direction:column}.shopping-number{display:flex;align-items:baseline;gap:9px}.shopping-number strong{font-family:Georgia,serif;font-size:48px;font-weight:500}.shopping-number span{color:var(--muted)}.next-stop{font-weight:750;color:var(--green);margin:0 0 10px}.quiet-list{list-style:none;padding:0;margin:8px 0 20px}.quiet-list li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #efede6;padding:9px 0;font-size:14px}.quiet-list small{color:var(--muted)}.week-card{display:flex;flex-direction:column}.week-preview{display:grid;gap:4px}.week-preview-row{display:grid;grid-template-columns:58px 1fr;align-items:center;padding:7px 9px;border-radius:10px}.week-preview-row.is-today{background:var(--green-soft)}.week-preview-row>div{display:flex;align-items:center;gap:8px}.week-preview-row strong{font-size:12px;text-transform:uppercase}.week-preview-row>div span{color:var(--muted)}.week-preview-row p{margin:0;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-actions{display:grid;gap:10px}.quick-actions a{display:flex;align-items:center;gap:13px;padding:13px;background:#faf9f5;border:1px solid #ebe8df;border-radius:13px;text-decoration:none}.quick-actions a>span{width:36px;height:36px;display:grid;place-items:center;background:var(--green-soft);border-radius:10px;font-size:19px}.quick-actions strong,.quick-actions small{display:block}.quick-actions small{color:var(--muted);margin-top:2px}
.recent-strip{margin-top:30px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:13px}.section-heading h2{font-family:Georgia,serif;font-size:27px;font-weight:500;margin:4px 0 0}.section-heading a{color:var(--green);font-weight:700;text-decoration:none;font-size:14px}.recent-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.recent-recipe{display:flex;align-items:center;gap:13px;background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:10px;text-decoration:none}.recent-recipe img,.recent-placeholder{width:62px;height:62px;border-radius:11px;object-fit:cover}.recent-placeholder{display:grid;place-items:center;background:var(--warm);font-size:28px}.recent-recipe strong,.recent-recipe small{display:block}.recent-recipe small{color:var(--muted);margin-top:3px}.muted{color:var(--muted)}
/* Simplify existing Phase A pages */
.app-layout:not(.today-layout){grid-template-columns:230px minmax(0,1fr)!important}.kitchen-card{display:none!important}.shopping-mode .table-sidebar{display:flex}.shopping-mode .app-layout{display:grid}.shopping-mode .shopping-page{max-width:none;margin:0}
@media(max-width:1050px){.today-main{padding:28px}.today-grid{grid-template-columns:1fr}.tonight-card{min-height:310px}.recent-grid{grid-template-columns:1fr 1fr}.app-layout.today-layout{grid-template-columns:200px minmax(0,1fr)}}
@media(max-width:800px){.app-layout.today-layout,.app-layout:not(.today-layout){display:block!important}.table-sidebar{position:static;height:auto;padding:14px 16px;gap:13px;border-right:0;border-bottom:1px solid var(--line)}.table-sidebar .logo small,.sidebar-secondary,.sidebar-version{display:none}.primary-nav{grid-template-columns:repeat(5,1fr)!important;display:grid;gap:3px}.primary-nav a{font-size:11px;display:grid;place-items:center;gap:3px;text-align:center;padding:8px 3px}.primary-nav a>span{font-size:18px}.primary-nav a small{display:none}.today-main{padding:22px 15px 40px}.today-header{align-items:flex-start;gap:18px}.today-header h1{font-size:34px}.global-search{width:46px;overflow:hidden;padding:0 11px}.global-search input{min-width:250px}.today-grid{gap:14px}.experience-card{padding:18px}.tonight-content{grid-template-columns:1fr}.tonight-photo{height:200px}.tonight-content h2{font-size:31px}.recent-grid{grid-template-columns:1fr}}
/* Table v2.0.1 - Simplified Planner */
body:has(.simplified-planner-header) .app-layout{grid-template-columns:235px minmax(0,1fr)}
body:has(.simplified-planner-header) .dashboard-main{max-width:1500px;width:100%;margin:0 auto;padding:34px 34px 48px}
.simplified-planner-header{align-items:flex-end;margin-bottom:22px}
.simplified-planner-header h1{margin:0;font-family:Georgia,serif;font-size:40px;line-height:1}
.simplified-planner-header p{margin:7px 0 0;color:var(--muted);font-size:15px}
.simplified-planner-header .planner-header-actions{gap:8px}
.simplified-planner-header .clear-week-button{margin-left:8px}
body:has(.simplified-planner-header) .planner-grid{grid-template-columns:145px repeat(4,minmax(150px,1fr));box-shadow:none;border-radius:12px}
body:has(.simplified-planner-header) .planner-corner,
body:has(.simplified-planner-header) .slot-heading{padding:13px 15px;background:#fafaf7;font-size:13px;color:#5d645b}
body:has(.simplified-planner-header) .day-cell,
body:has(.simplified-planner-header) .meal-cell{min-height:82px;padding:12px 13px}
body:has(.simplified-planner-header) .day-cell{align-items:flex-start;justify-content:center;gap:7px}
.day-identity{display:flex;align-items:baseline;gap:7px}
body:has(.simplified-planner-header) .day-cell strong{font-size:12px;letter-spacing:.06em}
body:has(.simplified-planner-header) .day-cell .day-identity span{font-size:14px;font-weight:700}
body:has(.simplified-planner-header) .day-cell label{display:flex;align-items:center;gap:5px;font-size:11px}
body:has(.simplified-planner-header) .day-cell input{width:38px;background:#fff;text-align:center}
body:has(.simplified-planner-header) .save-status{margin:0;font-size:10px;opacity:.72}
body:has(.simplified-planner-header) .meal-cell{justify-content:center;gap:0}
body:has(.simplified-planner-header) .recipe-input-row{display:grid;grid-template-columns:minmax(0,1fr) 30px 34px;gap:5px;align-items:center}
body:has(.simplified-planner-header) .meal-cell .recipe-search{min-width:0;height:39px;padding:8px 10px;font-size:13px;font-weight:650;border-radius:8px}
body:has(.simplified-planner-header) .recipe-clear{width:30px;height:30px;font-size:1rem}
body:has(.simplified-planner-header) .recipe-random{width:34px;height:34px;padding:0;border-radius:8px;font-size:15px}
body:has(.simplified-planner-header) .recipe-suggestions{z-index:30}

@media(max-width:900px){
  body:has(.simplified-planner-header) .app-layout{display:block}
  body:has(.simplified-planner-header) .dashboard-main{padding:24px 16px 40px;overflow:visible}
  .simplified-planner-header{align-items:flex-start;gap:16px;flex-direction:column}
  .simplified-planner-header h1{font-size:35px}
  .simplified-planner-header .planner-header-actions{width:100%;flex-wrap:wrap}
  .simplified-planner-header .clear-week-button{margin-left:auto}
  body:has(.simplified-planner-header) .planner-grid{display:block;background:transparent;border:0;box-shadow:none;overflow:visible;min-width:0}
  body:has(.simplified-planner-header) .planner-corner,
  body:has(.simplified-planner-header) .slot-heading{display:none}
  body:has(.simplified-planner-header) .day-row{display:grid;grid-template-columns:1fr;gap:0;margin-bottom:14px;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:visible}
  body:has(.simplified-planner-header) .day-cell{min-height:0;border:0;border-bottom:1px solid var(--line);padding:14px 16px;display:grid;grid-template-columns:1fr auto;align-items:center}
  body:has(.simplified-planner-header) .day-cell label{grid-column:2;grid-row:1}
  body:has(.simplified-planner-header) .save-status{grid-column:1;grid-row:2}
  body:has(.simplified-planner-header) .meal-cell{min-height:0;border:0;border-bottom:1px solid #eeefe9;padding:11px 14px;display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center}
  body:has(.simplified-planner-header) .meal-cell:last-child{border-bottom:0}
  body:has(.simplified-planner-header) .meal-cell::before{content:attr(data-label);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
  body:has(.simplified-planner-header) .recipe-picker{min-width:0}
}
@media(max-width:520px){
  .simplified-planner-header .planner-header-actions{display:grid;grid-template-columns:38px 1fr 38px;gap:7px}
  .simplified-planner-header .planner-header-actions form{grid-column:1/-1}
  .simplified-planner-header .clear-week-button{width:100%;margin:2px 0 0}
  body:has(.simplified-planner-header) .meal-cell{grid-template-columns:64px minmax(0,1fr);padding:10px}
  body:has(.simplified-planner-header) .recipe-input-row{grid-template-columns:minmax(0,1fr) 28px 32px;gap:4px}
}

/* TABLE_RENDERED_RECIPE_START */
.rendered-recipe-page{width:100%;max-width:1420px;margin:0 auto}.rendered-recipe-topbar,.rendered-recipe-tools,.rendered-actions,.rendered-meta,.rendered-tags,.rendered-title-line,.rendered-panel-heading{display:flex;align-items:center}.rendered-recipe-topbar{justify-content:space-between;gap:1rem;margin-bottom:1rem}.rendered-recipe-tools{gap:.65rem}.rendered-recipe{display:grid;gap:1rem}
.rendered-hero-card{display:grid;grid-template-columns:minmax(330px,1.05fr) minmax(360px,1fr) minmax(265px,.65fr);gap:1.4rem;padding:1.15rem;border:1px solid #e0e5dc;border-radius:17px;background:#fff;box-shadow:0 8px 24px rgba(36,51,35,.05)}
.rendered-photo{min-width:0;height:320px;overflow:hidden;display:grid;place-items:center;border-radius:12px;background:#eef1ea;font-size:4rem}.rendered-photo img{width:100%;height:100%;display:block;object-fit:cover}.rendered-recipe-summary{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:.3rem 0}.rendered-title-line{align-items:flex-start;gap:.55rem}.rendered-title-line h1{margin:0;color:#181c18;font-size:clamp(2.15rem,3vw,3.25rem);line-height:1.03;letter-spacing:-.045em}.rendered-favorite{color:#191d19;font-size:2rem;line-height:1}.rendered-rating{margin-top:.65rem;color:#efa900;font-size:1.45rem;letter-spacing:.06em}.rendered-description{margin:.8rem 0 0;color:#697166;line-height:1.55}.rendered-meta{flex-wrap:wrap;gap:.55rem 1.2rem;margin-top:1.15rem;color:#3f493e;font-weight:700}.rendered-tags{flex-wrap:wrap;gap:.55rem;margin-top:1.1rem}.rendered-tags span{padding:.46rem .82rem;border-radius:999px;background:#edf2e9;color:#315c2c;font-size:.84rem;font-weight:800}.rendered-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}.rendered-primary-action,.rendered-secondary-action{display:inline-flex;min-width:155px;justify-content:center;align-items:center;padding:.82rem 1.05rem;border-radius:8px;font-weight:800;text-decoration:none}.rendered-primary-action{border:1px solid #356c2f;background:#356c2f;color:#fff;box-shadow:0 5px 12px rgba(53,108,47,.18)}.rendered-secondary-action{border:1px solid #aebba9;background:#fff;color:#283526}
.rendered-quick-facts{align-self:stretch;padding:1.15rem 1.2rem;border:1px solid #e1e6dd;border-radius:13px;background:#fff}.rendered-quick-facts h2{margin:0 0 .8rem;font-size:1.15rem}.rendered-quick-facts dl{display:grid;gap:.58rem;margin:0}.rendered-quick-facts dl div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.8rem;align-items:center}.rendered-quick-facts dt,.rendered-quick-facts dd{margin:0;font-size:.88rem}.rendered-quick-facts dt{color:#535c50}.rendered-quick-facts dd{color:#1f281e;font-weight:800;text-align:right}.rendered-quick-facts dd.positive{color:#2f6b2c}
.rendered-content-grid{display:grid;grid-template-columns:minmax(270px,.8fr) minmax(420px,1.35fr) minmax(260px,.72fr);gap:1rem;align-items:stretch}.rendered-content-grid.without-notes{grid-template-columns:minmax(290px,.8fr) minmax(0,1.55fr)}.rendered-panel{min-width:0;padding:1.35rem;border:1px solid #e0e5dc;border-radius:14px;background:#fff;box-shadow:0 6px 20px rgba(36,51,35,.035)}.rendered-panel-heading{justify-content:space-between;gap:.8rem;margin-bottom:1rem}.rendered-panel-heading h2{margin:0;font-size:1.25rem}.rendered-panel-heading>span{min-width:1.8rem;padding:.2rem .5rem;border-radius:999px;background:#edf2e9;color:#3d6337;font-size:.78rem;font-weight:800;text-align:center}
.rendered-ingredient-list{display:grid;gap:.18rem;margin:0;padding:0;list-style:none}.rendered-ingredient-list label{display:flex;gap:.7rem;align-items:flex-start;padding:.48rem 0;cursor:pointer}.rendered-ingredient-list input{width:1rem;height:1rem;margin-top:.14rem;accent-color:#356c2f}.rendered-ingredient-list span{line-height:1.42}.rendered-ingredient-list strong{margin-right:.25rem}.rendered-ingredient-list small{display:block;color:#7a8277}.rendered-step-list{display:grid;gap:1rem;margin:0;padding:0;list-style:none;counter-reset:rendered-step}.rendered-step-list li{display:grid;grid-template-columns:1.75rem minmax(0,1fr);gap:.8rem;align-items:start;counter-increment:rendered-step}.rendered-step-list li:before{content:counter(rendered-step);display:grid;width:1.75rem;height:1.75rem;place-items:center;border-radius:50%;background:#356c2f;color:#fff;font-size:.78rem;font-weight:800}.rendered-step-list p{margin:.12rem 0 0;line-height:1.62}.rendered-note-card{display:grid;grid-template-columns:1.6rem minmax(0,1fr);gap:.65rem;padding:1rem;border:1px solid #e5e8e1;border-radius:10px;background:#fcfcfb}.rendered-note-card>span{color:#8549cf;font-size:1.2rem}.rendered-note-card .prose{line-height:1.6}.rendered-source{margin:0;padding:.25rem .15rem;color:#747d71;font-size:.85rem}.rendered-empty{margin:0;color:#778073;font-style:italic}
@media(max-width:1180px){.rendered-hero-card{grid-template-columns:minmax(320px,1fr) minmax(340px,1fr)}.rendered-quick-facts{grid-column:1/-1}.rendered-quick-facts dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem 1.2rem}.rendered-content-grid{grid-template-columns:minmax(270px,.75fr) minmax(0,1.25fr)}.rendered-notes{grid-column:1/-1}}
@media(max-width:790px){.rendered-hero-card,.rendered-content-grid,.rendered-content-grid.without-notes{grid-template-columns:1fr}.rendered-photo{height:280px}.rendered-quick-facts{grid-column:auto}.rendered-quick-facts dl{grid-template-columns:repeat(2,minmax(0,1fr))}.rendered-notes{grid-column:auto}}
@media(max-width:520px){.rendered-recipe-topbar{align-items:flex-start}.rendered-photo{height:230px}.rendered-hero-card,.rendered-panel{padding:1rem}.rendered-title-line h1{font-size:2.1rem}.rendered-actions a{width:100%}.rendered-quick-facts dl{grid-template-columns:1fr}}
@media print{@page{margin:.5in}.no-print,.app-sidebar,.sidebar,nav,button{display:none!important}.app-layout,.dashboard-main,.rendered-recipe-page{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important}.rendered-hero-card{grid-template-columns:35% 40% 25%;gap:.2in;padding:0;border:0;box-shadow:none}.rendered-photo{height:230px}.rendered-content-grid,.rendered-content-grid.without-notes{grid-template-columns:32% 1fr;gap:.2in}.rendered-notes{grid-column:1/-1}.rendered-panel,.rendered-quick-facts{box-shadow:none}}
/* TABLE_RENDERED_RECIPE_END */
