:root{--paper:#fcfbf8;--ink:#272b24;--olive:#4b5738;--muted:#656a60;--line:#dedfd7;--amber:#8d480c;--warning:#fff5e6;color-scheme:light;font-family:Arial,"Helvetica Neue",sans-serif;color:var(--ink);background:var(--paper);font-size:16px}*{box-sizing:border-box}body{margin:0}::selection{background:#dce3c9}button,input,textarea,select{font:inherit;color:inherit;accent-color:var(--olive);caret-color:var(--olive)}button,a,input,textarea,select,summary{outline-offset:4px} :focus-visible{outline:2px solid var(--olive)}button{cursor:pointer;background:white;border:1px solid #b7bcae;border-radius:6px;padding:10px 16px;min-height:44px}button:hover{background:#eef0e7}button:disabled{cursor:not-allowed;color:#72766d;background:#e7e8e2;border-color:#e0e2d9}header{height:88px;display:flex;align-items:center;gap:40px;padding:0 40px;border-bottom:1px solid var(--line);background:#fff}.brand{font:34px Georgia,serif;letter-spacing:-1.5px;text-decoration:none;color:#303b25}.current{font-weight:bold;border-bottom:2px solid var(--olive);padding:30px 0 26px}.household{margin-inline-start:auto;color:var(--muted);font-size:14px}.shell{display:grid;grid-template-columns:215px minmax(0,1fr);max-width:1700px;margin:auto}aside{padding:32px 20px;border-inline-end:1px solid var(--line)}h2{font-size:19px;margin:0}aside h2{font-size:16px;margin-bottom:20px}#count{font-weight:normal;color:var(--muted)}.filter{font-size:13px;color:var(--muted);margin-bottom:20px}nav button{width:100%;text-align:right;border:0;background:transparent;margin:3px 0;padding:14px 12px}nav button.selected{background:#e9ecdf;font-weight:bold}nav small{display:block;color:var(--muted);font-size:12px;font-weight:normal;margin-top:7px}main{min-width:0;padding:32px 32px 0}.heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}h1{font-size:36px;letter-spacing:-1px;margin:0 0 8px}.heading p{margin:0;color:var(--muted);font-size:14px}#state{font-size:13px;background:#eef0e7;border-radius:4px;padding:7px 10px}.comparison{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}.panel{min-width:0}.panel-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:18px}.panel-head span,.hint{font-size:13px;color:var(--muted)}#draft-panel{border-inline-start:1px solid var(--line);padding-inline-start:28px}label{display:block;font-size:14px;margin-bottom:16px}input:not([type=checkbox]),textarea,select{display:block;width:100%;border:1px solid #ced2c7;border-radius:5px;background:white;padding:10px 12px;margin-top:6px;min-height:44px;line-height:1.6}textarea{resize:vertical}#title{font-size:23px;font-weight:bold}#source-picker{font-size:14px}#original{background:#f5f4ef;min-height:540px;padding:24px;border-radius:6px;overflow:auto}#original pre{white-space:pre-wrap;overflow-wrap:anywhere;font:17px/1.95 Arial,sans-serif;margin:0}#original img{max-width:100%;display:block;transition:width .15s ease-out}#original img.zoomed{max-width:none;width:160%}#original iframe{width:100%;height:650px;border:0}#original a{color:var(--olive);overflow-wrap:anywhere;line-height:1.8}#original button{margin-bottom:14px}.source-note{color:var(--muted);font-size:14px;line-height:1.7}.classifications{display:grid;grid-template-columns:1fr 1fr;gap:12px}fieldset{border:0;padding:0;margin:0 0 18px}legend{font-size:14px;margin-bottom:8px}.checks{display:flex;gap:10px;flex-wrap:wrap}.checks label{margin:0;padding:9px 8px;background:#f0f1eb;border-radius:4px;font-size:13px}.checks input{margin:0 0 0 5px}details{background:var(--warning);color:var(--amber);border:1px solid #ead3b3;border-radius:6px;padding:12px 14px;margin:24px 0}summary{cursor:pointer;font-size:14px;font-weight:bold}#flags{padding-inline-start:20px;font-size:14px;line-height:1.7;overflow-wrap:anywhere}#flags li{margin:8px 0}.section-heading{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);margin:22px 0 12px;padding-bottom:8px}h3{font-size:18px;margin:0}.section-heading button{font-size:13px;padding:6px 10px}.edit-row{display:flex;align-items:start;gap:8px;margin:8px 0}.edit-row textarea{margin:0;min-height:46px;flex:1;line-height:1.7}.edit-row button{padding:8px;min-width:38px;font-size:13px;color:var(--muted)}#steps{padding-inline-start:26px;margin:0}#steps li::marker{font-weight:bold;color:var(--olive)}.confirm{display:flex;gap:10px;align-items:start;background:#eff1e8;padding:15px;line-height:1.7;margin-top:22px}.confirm input{margin-top:5px}footer{position:sticky;bottom:0;background:var(--paper);border-top:1px solid var(--line);padding:16px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:28px}#save-state{font-size:13px;color:var(--muted)}.actions{display:flex;gap:10px}.primary{background:var(--olive);color:white;border-color:var(--olive)}.primary:hover:not(:disabled){background:#364128}.quiet{background:transparent;border-color:transparent}#message:not(:empty){padding:14px;margin-bottom:18px;background:#fff0e4;color:#803809;border-radius:6px;line-height:1.6}.mobile-tabs{display:none}[hidden]{display:none!important}#empty{padding:70px 20px;line-height:1.8}#source-picker-label{color:var(--muted)}@media(max-width:1050px){.shell{grid-template-columns:175px minmax(0,1fr)}main{padding:24px 20px 0}.comparison{gap:18px}#draft-panel{padding-inline-start:18px}header{padding:0 24px;gap:25px}.household{max-width:190px}footer{flex-wrap:wrap}.actions{margin-inline-start:auto}}@media(max-width:760px){header{height:68px;padding:0 20px;gap:24px}.brand{font-size:28px}.current{padding:20px 0}.household{font-size:11px;max-width:110px}.shell{display:block}aside{padding:14px 20px;border-inline-end:0;border-bottom:1px solid var(--line)}aside h2,.filter{display:none}nav{display:flex;overflow:auto;gap:8px}nav button{min-width:150px;margin:0;padding:10px}main{padding:24px 20px 0}h1{font-size:28px}.heading{margin-bottom:18px}.comparison{display:block}.mobile-tabs{display:flex;background:#e9ebe2;padding:4px;border-radius:6px;margin-bottom:24px}.mobile-tabs button{width:50%;border:0;background:transparent}.mobile-tabs button[aria-pressed=true]{background:var(--olive);color:white}#source-panel{display:none}body.show-source #source-panel{display:block}body.show-source #draft-panel{display:none}#draft-panel{border:0;padding:0}#original{min-height:400px;padding:18px}footer{padding:12px 0;margin-top:20px}.actions{width:100%;gap:6px}.actions button{flex:1;padding:10px 8px;font-size:14px}#save-state{width:100%}.panel-head span{font-size:12px}.classifications{gap:10px}}
@media(max-width:760px){.filter{display:block;margin:0 0 12px}.filter select{margin-top:4px}}

.photo-field{margin:24px 0}.photo-field h3{margin-bottom:6px}#photo-paste{border:1px dashed #adb59f;border-radius:6px;padding:18px;line-height:1.7;background:#f2f4ed}#photo-paste label{margin-top:14px}#photo-preview{display:block;max-width:100%;max-height:280px;object-fit:contain;margin:12px 0;border-radius:6px}#photo-status,#approval-help{font-size:14px;line-height:1.7;color:var(--muted)}#approval-help{margin-top:22px}#live-confirm-label{background:var(--warning)}

#login{max-width:560px;margin:12vh auto;padding:36px;text-align:center}#login p{line-height:1.8}#login h1{font-size:32px}.login-button{display:inline-block;margin:24px 0;padding:14px 30px;border:1px solid var(--olive);border-radius:6px;color:white;background:var(--olive);text-decoration:none}#login-error{color:var(--amber)}#account{direction:ltr;unicode-bidi:isolate}#logout{font-size:13px}

.brand{display:flex;align-items:center;gap:10px}.brand img{width:44px;height:44px;object-fit:contain}.account-group{display:flex;align-items:center;gap:10px}#account{direction:auto;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#roles{display:flex;gap:4px}.role-badge{position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#eef0e7;color:var(--olive);cursor:help}.role-badge svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.role-tooltip{display:none;position:absolute;top:calc(100% + 8px);inset-inline-end:0;width:max-content;max-width:230px;white-space:normal;background:var(--ink);color:white;border-radius:5px;padding:9px 12px;font-size:13px;line-height:1.5;z-index:10}.role-badge:hover .role-tooltip,.role-badge:focus .role-tooltip{display:block}@media(max-width:760px){header{gap:12px;flex-wrap:wrap;height:auto;min-height:76px;padding-block:10px}.brand{gap:6px}.brand img{width:34px;height:34px}.account-group{max-width:none}.household #account{max-width:100px;font-size:13px}.role-badge{width:32px;height:32px}.current{display:none}}

.nav-button{border:0;background:transparent;border-radius:0;white-space:nowrap;font-size:15px}#members-page{max-width:1100px;margin:40px auto;padding:0 28px 60px}#members-page>label{max-width:330px}#add-member{display:flex;flex-wrap:wrap;align-items:end;gap:16px;border-block:1px solid var(--line);padding:24px 0;margin:24px 0}#add-member h2,#add-member .hint{width:100%;margin:0}#add-member label{margin:0}#add-member label:first-of-type{flex:1;min-width:240px}.owner-choice{display:flex;align-items:center;gap:8px;min-height:44px}.role-guide{display:flex;gap:24px;margin-bottom:32px;flex-wrap:wrap}.role-guide p{font-size:14px;margin:0}.member-row{display:flex;align-items:center;gap:18px;border-bottom:1px solid var(--line);padding:22px 0}.member-row>div{flex:1;min-width:180px;overflow-wrap:anywhere}.member-row p{font-size:13px;color:var(--muted);margin:8px 0 0}.member-row label{margin:0}.member-row strong{display:inline-block}.member-row select{min-width:105px}#members-message{line-height:1.7;color:var(--olive)}@media(max-width:760px){.member-row{flex-wrap:wrap;gap:12px}.member-row>div{width:100%;flex:auto}#members-page{padding:0 20px 40px;margin-top:28px}.nav-button{padding:8px;font-size:13px}.nav-button.current{display:block}#add-member>button{width:100%}}

#gmail-settings{margin-block:24px 32px;padding-block:20px;border-block:1px solid #dedfd7}#gmail-settings h2{margin-top:0}.gmail-actions{display:flex;flex-wrap:wrap;gap:10px}#gmail-status{overflow-wrap:anywhere}.invitation-status{max-width:38ch}.member-row .invite-button{grid-column:1 / -1;justify-self:start}#invite-url-note{overflow-wrap:anywhere}

/* Library and recipe reading inherit the household palette and controls. */
#library-page,#recipe-page{max-width:1180px;margin:0 auto;padding:44px 32px 72px}#library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:32px}.recipe-card{border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#fff}.recipe-card>a{display:flex;flex-direction:column;height:100%;text-decoration:none;color:var(--ink)}.recipe-card>a:hover{background:#f1f3eb}.library-photo{width:100%;height:210px;object-fit:cover}.recipe-card-copy{padding:24px;display:flex;flex-direction:column;flex:1}.recipe-card h2{font-size:25px;line-height:1.35;overflow-wrap:anywhere;margin:10px 0 14px}.recipe-meta,.recipe-tags{font-size:14px;line-height:1.7;color:var(--muted);margin:0;overflow-wrap:anywhere}.recipe-open{margin-top:auto;padding-top:24px;color:var(--olive);font-size:15px;text-decoration:underline;text-underline-offset:4px}#library-empty{padding-block:64px;max-width:540px;line-height:1.8}#library-error{color:var(--amber)}#recipe-page{max-width:1040px}#reader-back{margin-bottom:28px;padding-inline:0;color:var(--olive)}.reader-heading{max-width:760px;margin-bottom:28px}.reader-heading h1{font-size:42px;line-height:1.25;overflow-wrap:anywhere;margin-block:12px 18px}.reader-photo{display:block;max-width:100%;max-height:420px;object-fit:contain;border-radius:6px;margin-bottom:36px}#reader-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.8fr);gap:40px;font-size:19px;line-height:1.85}#reader-body h2{font-size:24px;margin-bottom:18px}#reader-body ul,#reader-body ol{padding-inline-start:28px;margin-block:0}#reader-body li{padding-inline-start:6px;margin-bottom:18px;white-space:pre-wrap;overflow-wrap:anywhere}#reader-steps li::marker{color:var(--olive);font-weight:bold}#reader-notes-section{grid-column:1/-1;border-top:1px solid var(--line);padding-top:28px}#reader-source-section{margin-top:40px;padding-top:24px;border-top:1px solid var(--line)}#reader-sources{display:flex;flex-direction:column;gap:14px;margin-top:18px}#reader-sources a{display:inline-block;min-height:44px;padding-block:12px;margin-inline-end:20px;color:var(--olive);text-underline-offset:4px}#reader-sources details{background:transparent;color:var(--ink);border-color:var(--line);margin:0}#reader-sources pre{white-space:pre-wrap;overflow-wrap:anywhere;font:16px/1.8 Arial,sans-serif}.nav-button.current{padding:10px 0;border-bottom:2px solid var(--olive)}
@media(max-width:1000px){#library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}header{gap:18px}}
@media(max-width:760px){#library-page,#recipe-page{padding:28px 20px 48px}#library-grid{grid-template-columns:1fr;gap:18px}.library-photo{height:220px}.recipe-card h2{font-size:25px}#reader-body{display:block;font-size:19px}#reader-body section{margin-bottom:32px}.reader-heading h1{font-size:32px}.reader-photo{max-height:300px}header{gap:10px}.nav-button{font-size:13px;padding-inline:4px}.nav-button.current{padding:10px 4px}}

h1[tabindex="-1"]:focus{outline:none}.recipe-card .recipe-meta{margin-bottom:10px}

/* Compact photos keep ingredients and instructions near the top. */
.reader-heading.has-photo{display:grid;grid-template-columns:minmax(0,1fr) 120px;column-gap:24px;max-width:none}.reader-heading.has-photo>h1,.reader-heading.has-photo>.recipe-meta,.reader-heading.has-photo>.recipe-tags{grid-column:1}.reader-heading #reader-photo{grid-column:2;grid-row:1 / 4;align-self:start;margin-top:12px}.reader-heading .reader-photo{width:120px;height:90px;max-height:none;object-fit:cover;margin:0}.recipe-card>a{flex-direction:row;align-items:flex-start}.recipe-card .library-photo{width:96px;height:72px;flex:0 0 96px;object-fit:cover;margin:24px 0 24px 20px;order:2}.recipe-card-copy{min-width:0}.recipe-card:has(.library-photo) .recipe-card-copy{padding-inline-end:12px}
@media(max-width:760px){.reader-heading.has-photo{grid-template-columns:minmax(0,1fr) 88px;column-gap:16px}.reader-heading .reader-photo{width:88px;height:66px}.recipe-card .library-photo{width:80px;height:60px;flex-basis:80px}}

#library-search{padding:22px 0;border-block:1px solid var(--line);margin:28px 0 18px}.search-query{font-size:16px;font-weight:bold;max-width:760px}.search-query input{font-weight:normal}.search-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 16px}.search-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;justify-content:space-between}.search-actions label{margin:0}#search-help{line-height:1.7;margin-bottom:0}#search-count{font-size:14px;color:var(--muted)}#search-empty{padding-block:38px}.recipe-card{display:flex;flex-direction:column}.recipe-card>a{height:auto;flex:1}.favorite-button{display:flex;align-items:center;gap:8px;align-self:start;margin:0 18px 16px;border-color:transparent;background:transparent;font-size:14px;color:var(--olive)}.favorite-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;flex:none}.favorite-button[aria-pressed=true] svg{fill:currentColor}.favorite-button[aria-pressed=true]{background:#eef0e7}#reader-favorite{margin-bottom:22px}#reader-favorite .favorite-button{margin:0}#favorite-message{color:var(--olive);font-size:14px}#favorite-message:empty{display:none}@media(max-width:760px){.search-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.search-filters label:first-child{grid-column:1/-1}.search-query{font-size:15px}#library-search{margin-top:20px}.search-actions{align-items:start}}

/* Search stays compact until additional filters are requested. */
#library-search{margin:0 0 26px;padding:0 0 20px;border-top:0}.search-top{display:flex;align-items:end;gap:12px}.search-top .search-query{flex:1;max-width:none;margin-bottom:0}.search-top>button{flex:none}#search-advanced{margin-top:12px}#search-advanced>summary{cursor:pointer;color:var(--olive);min-height:44px;align-content:center}#search-advanced[open]>summary{margin-bottom:12px}#search-pending:empty{display:none}.tag-filter{grid-column:1/-1}.tag-filter>label{margin-bottom:6px}.tag-entry{display:flex;gap:8px;max-width:560px}.tag-entry input{min-width:0}.tag-entry button{flex:none}#search-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.tag-chip{display:inline-flex;align-items:center;gap:8px;padding-inline-start:12px;border:1px solid var(--line);border-radius:6px;background:#eef0e7;color:var(--olive);max-width:100%;overflow-wrap:anywhere}.tag-chip.unknown{background:#fff8ef;border-color:#966831;border-style:dashed;color:#70491f}.tag-chip button{border:0;background:transparent;color:inherit;font-size:13px;flex:none}.reader-actions{display:flex;align-items:start;gap:12px;flex-wrap:wrap;margin-bottom:22px}.reader-actions #reader-favorite{margin:0}.reader-actions #reader-edit{color:var(--olive)}
@media(max-width:760px){#library-search{margin-top:0}.search-top{flex-wrap:wrap}.search-top .search-query{flex-basis:100%}.search-top>button{margin-inline-start:auto}.search-filters .tag-filter{grid-column:1/-1}}

#search-advanced{background:transparent;border:0;padding:0;color:var(--ink)}#search-advanced summary{font-weight:normal}.search-actions{justify-content:flex-start}.search-actions>label{margin-inline-end:auto}

#search-query,#search-exclude,#search-tag{text-align:right}#search-query::placeholder,#search-exclude::placeholder,#search-tag::placeholder{direction:rtl;text-align:right}
.editing-approved.shell{display:block;max-width:1040px}.editing-approved>aside,.editing-approved .mobile-tabs{display:none}.editing-approved .comparison{display:block}.editing-approved #draft-panel{border:0;padding:0;display:block}.editing-approved #source-panel{display:none}.editing-approved.editing-source #source-panel{display:block;margin-bottom:32px}.editing-approved #original{min-height:0;max-height:650px}.editing-approved #edit-tools{display:flex;gap:20px;margin-bottom:20px}.editing-approved #edit-tools button{color:var(--olive);padding-inline:0}.step-handle{cursor:grab;touch-action:none;flex:none}.step-handle svg{width:20px;height:20px;stroke:currentColor;stroke-width:2;fill:none;display:block}.step-handle:active{cursor:grabbing}:is(#steps,#ingredients) .dragging{opacity:.55}:is(#steps,#ingredients) .drop-before{box-shadow:0 -2px var(--olive)}:is(#steps,#ingredients) .drop-after{box-shadow:0 2px var(--olive)}#step-order-status{font-size:13px;color:var(--olive)}#step-order-status:empty{display:none}.edit-row textarea{min-width:0}
@media(max-width:760px){.search-top>#search-clear{margin-inline-start:0}.search-top>.primary{margin-inline-start:0}.search-top{gap:8px}.search-top>#search-clear{font-size:13px;padding-inline:8px}}

/* Match the total-time input to one classification column. */
#total-minutes{width:calc((100% - 12px)/2)}
@media(max-width:760px){#total-minutes{width:calc((100% - 10px)/2)}}

/* In-app intake reuses the editor's quiet, Hebrew-first form language. */
#intake-page{max-width:1040px;margin:auto;padding:44px 32px 72px}#intake-form{max-width:760px}#intake-form .hint{line-height:1.8}#intake-form textarea{min-height:230px}#intake-text::placeholder{text-align:right;direction:rtl}.intake-kinds{margin-top:24px}.intake-kinds input{display:inline-block;width:auto;min-height:0;margin:0 0 0 6px}.intake-kinds .checks label{padding:12px 16px}#intake-paste{border:1px dashed #adb59f;padding:20px;border-radius:6px;background:#f2f4ed}#intake-paste p{margin-top:0}#intake-preview{display:block;max-width:100%;max-height:300px;object-fit:contain;margin-top:16px}#intake-message{line-height:1.8;color:var(--olive);overflow-wrap:anywhere}#intake-recent{margin-top:44px}.intake-item{border-bottom:1px solid var(--line);padding:22px 0}.intake-item h3{overflow-wrap:anywhere}.intake-state{font-size:14px;color:var(--muted)}.intake-error{font-size:14px;line-height:1.7;color:var(--amber)}.intake-actions{display:flex;flex-wrap:wrap;gap:10px}.intake-item .quiet{color:var(--olive);text-decoration:underline;text-underline-offset:4px}#intake-page button:disabled{cursor:wait}@media(max-width:760px){#intake-page{padding:28px 20px 48px}.intake-kinds .checks{gap:8px}.intake-kinds .checks label{padding:10px}.intake-actions button{font-size:14px}header{column-gap:16px}}

#review-duplicates{padding:16px;margin-bottom:22px;background:#eef0e7;border-radius:6px;font-size:14px;line-height:1.7}#review-duplicates p{margin-top:0}#review-duplicates button{color:var(--olive);text-decoration:underline;text-underline-offset:4px}

.intake-kinds .checks label{min-height:44px;display:flex;align-items:center}

/* Keep long originals alongside the draft while reviewing. */
#intake-progress{display:block;width:100%;height:8px;margin-top:20px;accent-color:var(--olive)}
.intake-review{grid-template-columns:minmax(0,1fr)}.intake-review>aside{display:none}
#source-panel{align-self:start}#original{min-height:0;max-height:65vh;scrollbar-color:var(--olive) #f5f4ef;scrollbar-gutter:stable}
@media(min-width:761px){#source-panel{position:sticky;top:20px}#original{max-height:calc(100vh - 180px)}}
@media(prefers-reduced-motion:reduce){#intake-progress:indeterminate{animation:none}}
.editing-approved #source-panel{position:static}

#intake-progress{height:12px;border-radius:6px;background:#dce3cc;overflow:hidden;margin:0 0 14px}
#intake-progress span{display:block;width:40%;height:100%;border-radius:6px;background:var(--olive);animation:intake-processing 1.4s ease-in-out infinite alternate}
@keyframes intake-processing{from{transform:translateX(0)}to{transform:translateX(-150%)}}
#intake-pdf-panel{padding:20px;border:1px dashed #adb59f;border-radius:6px;background:#f2f4ed}#intake-pdf-name{overflow-wrap:anywhere}
@media(prefers-reduced-motion:reduce){#intake-progress span{animation:none}}

#intake-previews{list-style:none;padding:0;margin:16px 0}.intake-image-row{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}.intake-image-row img{width:88px;height:100px;object-fit:contain;flex-shrink:0}.intake-image-row>div{min-width:0}.intake-image-row p{overflow-wrap:anywhere;margin:0 0 12px}.intake-image-row button{min-height:44px}.intake-image-row .intake-actions{gap:8px}

/* Logical alignment mirrors the review workspace with its recipe language. */
#app-shell{text-align:start}#app-shell nav button{text-align:start}#app-shell .checks input{margin:0;margin-inline-end:5px}#app-shell input,#app-shell textarea{text-align:start}#queue bdi{display:block;text-align:start}

#app-shell .edit-row{direction:inherit}#app-shell[dir="rtl"] .edit-row{direction:rtl}#app-shell[dir="ltr"] .edit-row{direction:ltr}#household-language-form{max-width:540px;margin-block:24px;padding-block:20px;border-block:1px solid var(--line)}

/* Personal settings and kitchen mode extend the existing olive/white interface. */
#settings-page,#cooking-page{max-width:1180px;margin:auto;padding:40px 32px 64px}#personal-settings-form{max-width:600px}#personal-settings-form .hint{line-height:1.7;margin-block:0 24px}#household-language-form h2{margin-bottom:20px}#cooking-dishes{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}#cooking-dishes [aria-pressed=true]{background:var(--olive);color:white}#cooking-title{font-size:30px;overflow-wrap:anywhere}.kitchen-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:48px;margin-block:24px}#cooking-instruction{font-size:28px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;min-height:160px}#cooking-step-count{color:var(--muted)}.kitchen-step-actions{display:flex;gap:16px;margin-top:24px}.kitchen-step-actions button{min-height:56px;font-size:19px;flex:1}#cooking-ingredients label{display:flex;gap:12px;align-items:baseline;font-size:18px;line-height:1.7;padding-block:10px;border-bottom:1px solid var(--line);margin:0}#cooking-ingredients span{flex:1;text-align:start}#cooking-ingredients input:checked+span{text-decoration:line-through;color:var(--muted)}#cooking-suggestions{display:flex;gap:10px;flex-wrap:wrap}.kitchen-timer-section{padding-block:24px;border-block:1px solid var(--line);margin-top:36px}.kitchen-timer{display:flex;gap:20px;align-items:center;flex-wrap:wrap;padding-block:16px;border-bottom:1px solid var(--line)}.kitchen-timer span{flex:1;min-width:180px}.kitchen-timer strong{font-variant-numeric:tabular-nums;font-size:24px}#cooking-timer-form{display:flex;gap:16px;align-items:end;flex-wrap:wrap;margin-top:24px}#cooking-timer-form label{margin:0}#cooking-minutes{max-width:130px}#kitchen-alert{position:sticky;top:0;z-index:10;background:var(--warning);color:var(--amber);padding:14px 24px;display:flex;align-items:center;gap:20px;justify-content:space-between}#cooking-finish-bottom{margin-top:20px}#cooking-page .heading{gap:20px;flex-wrap:wrap}@media(max-width:760px){#settings-page,#cooking-page{padding:28px 20px 48px}.kitchen-layout{grid-template-columns:1fr;gap:28px}#cooking-instruction{font-size:24px;min-height:100px}.kitchen-step-actions{position:sticky;bottom:0;background:var(--paper);padding-block:10px}#kitchen-alert{flex-wrap:wrap}.kitchen-timer{gap:12px}}

.kitchen-toolbar{position:sticky;top:0;z-index:11;background:var(--paper);border-bottom:1px solid var(--line);padding:14px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.kitchen-toolbar>div{flex:1;min-width:0}.kitchen-toolbar #cooking-title{font-size:24px;margin:0}.kitchen-elapsed{margin:8px 0 0;color:var(--muted)}#cooking-elapsed{display:inline-block;font-variant-numeric:tabular-nums;color:var(--ink)}#cooking-finish{min-height:48px}#cooking-finish-message{flex-basis:100%;margin:0}#cooking-finish-message:empty{display:none}
@media(max-width:600px){.kitchen-toolbar>div{flex-basis:100%}.kitchen-toolbar>button{flex:1}.kitchen-toolbar .kitchen-elapsed{margin-top:6px}}

#settings-nav{display:inline-flex;align-items:center;gap:8px}#settings-page #members-nav{margin-bottom:24px;border:1px solid var(--line);padding:12px 18px}#settings-page h2{margin-top:24px}
#bulk-intake{margin-block:32px;padding-block:20px;border-block:1px solid var(--line)}#bulk-intake summary{cursor:pointer;font-size:20px;font-weight:bold}#bulk-list{max-height:600px;overflow:auto}.bulk-row{padding:18px 0;border-bottom:1px solid var(--line);display:flex;align-items:start;gap:16px;flex-wrap:wrap}.bulk-row>label:first-child{flex:1;min-width:180px;overflow-wrap:anywhere}.bulk-row label{margin:0}.bulk-row input[type=number]{width:80px}.bulk-row img{display:block;width:90px;height:90px;object-fit:contain}.bulk-row pre{white-space:pre-wrap;max-width:60ch;max-height:240px;overflow:auto}.bulk-result{flex-basis:100%;margin:0;color:var(--olive)}#family-invitations{max-width:600px;margin-top:40px}

#manual-notes{min-height:100px}#manual-minutes{max-width:180px}

#settings-nav svg{color:#000;flex-shrink:0}

#confirm-dialog{width:min(440px,calc(100vw - 40px));max-height:calc(100dvh - 40px);padding:28px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink)}#confirm-dialog::backdrop{background:rgb(25 30 22 / .48)}#confirm-dialog h2{margin:0 0 16px;font-size:24px}#confirm-message{line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 28px}.confirm-actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap}.confirm-actions button{min-height:48px}.confirm-actions .destructive{background:#973c2b;border-color:#973c2b;color:white}#single-household-name{font-size:20px;font-weight:bold;margin-bottom:28px}@media(max-width:480px){.confirm-actions button{flex:1}#confirm-dialog{padding:24px}}
/* Approved user-management layout. */
#add-member{display:grid;grid-template-columns:320px 150px;justify-content:start;align-items:start;gap:22px 20px;padding-block:28px}#add-member h2,#add-member .hint{grid-column:1/-1}#add-member label:first-of-type{min-width:0;flex:initial}#member-email{width:320px;text-align:right;direction:ltr}#member-role{text-align:right;direction:rtl;width:150px}#add-member .owner-choice{grid-column:1/-1;justify-content:flex-start;min-height:32px}#add-member>button{grid-column:1/-1;justify-self:start;width:auto;min-width:140px}.email-hint{display:block;margin-top:8px;font-size:13px;line-height:1.5;color:var(--muted)}#member-email[aria-invalid=true]{border-color:#973c2b}#member-email[aria-invalid=true]+.email-hint{color:#973c2b}.role-guide{display:grid;grid-template-columns:1fr 1fr;gap:18px 28px}.role-guide p{display:flex;align-items:center;gap:10px;line-height:1.6}.role-guide-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;background:#eef0e7;color:var(--olive);border-radius:50%}.role-guide-icon svg{width:24px;height:26px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.member-row{display:grid;grid-template-columns:minmax(180px,1fr) 120px 115px 270px;gap:18px;align-items:center}.member-row select{direction:rtl;text-align:right;width:120px}.member-row>div{min-width:0}.member-row .member-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.member-actions .member-save{grid-column:2;grid-row:1}.member-actions .invite-button{grid-column:1;grid-row:1;justify-self:stretch}.member-actions button{min-height:44px;white-space:nowrap}@media(max-width:760px){#add-member{grid-template-columns:minmax(0,1fr);gap:18px}#member-email{width:100%;max-width:320px}#add-member>button{width:auto}.role-guide{grid-template-columns:1fr;gap:12px}.member-row{grid-template-columns:150px minmax(0,1fr);gap:12px}.member-row>div:first-child{grid-column:1/-1}.member-row select{width:150px}.member-row .member-actions{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:12px}.member-actions .member-save{justify-self:end}.member-actions .invite-button{grid-column:1;grid-row:2;justify-self:start}}

.member-identity-heading{display:flex;align-items:center;gap:6px;min-width:0}.member-identity-heading strong{min-width:0;overflow-wrap:anywhere}.member-identity-heading .member-remove{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:10px;border:0;background:transparent;color:#a03325;border-radius:6px}.member-identity-heading .member-remove:hover{background:#f8e8e3}.member-remove svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}

.member-identity-heading .member-remove:disabled{opacity:.4;cursor:not-allowed;background:transparent}.member-row .member-protection{font-size:13px;max-width:42ch;line-height:1.5}

#voice-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px}#voice-toggle svg{width:20px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}#voice-toggle[aria-pressed="true"]{background:var(--olive);color:#fff;border-color:var(--olive)}.kitchen-voice{padding:14px 0;border-bottom:1px solid var(--line);margin-bottom:20px}.kitchen-voice p{margin:5px 0;max-width:70ch}#voice-status{font-weight:700}#voice-answer:empty,#voice-heard:empty,#voice-countdown:empty{display:none}#voice-answer{padding-block:8px}#voice-countdown{font-variant-numeric:tabular-nums}#voice-privacy{font-size:13px}#voice-audio{display:none}

#voice-status::before{content:"";display:inline-block;width:10px;height:10px;margin-inline-end:8px;border-radius:50%;background:#737767}#voice-status[data-voice-state="off"]::before{background:#737767}#voice-status[data-voice-state="ready"]::before,#voice-status[data-voice-state="hearing"]::before{background:#347040}#voice-status[data-voice-state="ready"]{color:#285831}#voice-toggle[data-voice-state="ready"],#voice-toggle[data-voice-state="hearing"]{outline:3px solid #347040;outline-offset:3px}#voice-status[data-voice-state="hearing"]::before{animation:voice-hearing .9s ease-in-out infinite alternate}@keyframes voice-hearing{to{transform:scale(1.4);opacity:.55}}@media(prefers-reduced-motion:reduce){#voice-status[data-voice-state="hearing"]::before{animation:none}}

.cooking-scale-row{display:flex;align-items:end;gap:16px;flex-wrap:wrap}.cooking-scale-row label{margin:0;max-width:150px}.community-settings{max-width:760px;margin-block:40px;padding-block:24px;border-top:1px solid var(--line)}.community-item{padding-block:24px;border-bottom:1px solid var(--line)}.community-item p{white-space:pre-wrap;overflow-wrap:anywhere}.community-item h3{overflow-wrap:anywhere}.community-item form{max-width:540px}#announcements-dialog,#feature-dialog{width:min(720px,calc(100% - 32px));max-height:85dvh;overflow:auto;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:24px}#announcements-dialog::backdrop,#feature-dialog::backdrop{background:rgb(39 43 36 / .35)}#notifications-nav{display:inline-flex;align-items:center;gap:5px}#notifications-nav[hidden]{display:none}#notifications-count{background:var(--olive);color:white;min-width:20px;padding:2px 5px;border-radius:6px;font-size:13px;font-variant-numeric:tabular-nums}#cooking-scale-notes:empty{display:none}

#feature-nav{display:inline-flex;align-items:center;justify-content:center}#feature-nav[hidden]{display:none}#feature-dialog form{margin-top:24px}#feature-dialog .heading{gap:16px;align-items:start}#feature-dialog .heading h2{margin:0}#feature-view{margin-top:16px}.feature-status{font-weight:700;color:var(--olive)}

.cooking-scale-row{margin-block:0 16px}.cooking-scale-row select{width:94px;min-width:94px;margin:0}

#intake-paste-input{min-height:104px;padding:16px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);font-size:16px;line-height:1.7;cursor:text;user-select:text;-webkit-user-select:text;-webkit-touch-callout:default;margin-bottom:16px}#intake-paste-input:empty::before{content:attr(data-placeholder);color:var(--muted);pointer-events:none}#intake-paste-input:focus-visible{outline:2px solid var(--olive);outline-offset:3px}

/* Meal planning inherits the existing Hebrew/olive workspace. */
#meals-page{max-width:1180px;margin:auto;padding:30px 28px 80px}#meals-message:not(:empty){padding:12px 16px;background:#eef0e7;border-radius:6px;line-height:1.7}.meal-title{display:flex;align-items:center;gap:6px}.meal-title h1{margin:0}.meal-icon{width:44px;padding:10px}.meal-icon svg,.meal-dish svg,#meals-page button svg{width:21px;height:21px;vertical-align:middle}.meal-tabs{display:flex;gap:28px;border-bottom:1px solid var(--line);margin:24px 0 30px}.meal-tabs button{background:transparent;border:0;border-radius:0;padding:14px 5px;color:var(--muted)}.meal-tabs button[aria-pressed=true]{border-bottom:3px solid var(--olive);color:var(--olive);font-weight:bold}.meal-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:44px}.meal-aside{border-inline-start:1px solid var(--line);padding:0 0 0 0;padding-inline-start:24px;border-inline-end:0}.meal-aside p{font-size:14px;line-height:1.8;color:var(--muted)}.meal-aside h3{margin:4px 0 12px}.meal-aside h3:not(:first-child){margin-top:28px}.meal-section-head,.meal-list-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.meal-list-row{border-bottom:1px solid var(--line);padding:24px 0}.meal-recipe{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:16px;padding:22px 0;border-bottom:1px solid var(--line)}.meal-dish{background:#eef0e7;color:var(--olive);width:48px;height:48px;border-radius:50%;display:grid;place-items:center}.meal-recipe-actions{display:flex;gap:7px;align-items:center}.meal-name{background:transparent;border:0;padding:4px 0;text-align:start;font-size:inherit;font-weight:inherit;line-height:1.6;min-height:44px}.meal-name:hover{background:transparent;color:var(--olive);text-decoration:underline}.meal-red{color:#a33228}.quantity-trigger,#cooking-scale.quantity-trigger{width:auto;min-width:44px;min-height:44px;padding:8px 5px;font-size:14px;border:0;background:transparent;color:var(--olive);margin:0}.quantity-trigger:hover{background:#eef0e7}.meal-line{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:12px 0;min-height:72px}.meal-line>div{flex:1;min-width:0}.meal-line input,.meal-remove-line input{width:22px;height:22px;flex:none;margin:0}.meal-line small,.meal-share-preview small,.meal-remove-line small{display:block;font-size:12px;color:var(--muted);line-height:1.7}.meal-line.is-checked .meal-name{text-decoration:line-through;color:var(--muted)}.meal-amount{font-variant-numeric:tabular-nums;max-width:35%;overflow-wrap:anywhere}.meal-category{color:var(--olive);margin:28px 0 8px}.meal-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:25px;padding-top:20px;border-top:1px solid var(--line)}.meal-empty{text-align:center;line-height:1.8;padding:40px 12px}.meal-empty p{margin:16px 0 24px}.meal-warning{padding:14px;background:var(--warning);color:var(--amber);border-radius:6px;line-height:1.7}.meal-spices{background:transparent;border:0;padding:12px 0;color:var(--muted)}.meal-spices button{margin:4px}.meal-progress{appearance:none;width:100%;height:5px;border:0;background:#e4e7dc;margin:8px 0 16px}.meal-progress::-webkit-progress-bar{background:#e4e7dc}.meal-progress::-webkit-progress-value{background:var(--olive)}.meal-progress::-moz-progress-bar{background:var(--olive)}.meal-dialog{border:0;border-radius:12px;padding:28px;width:calc(100% - 32px);max-width:570px;max-height:88dvh;overflow:auto;background:var(--paper);color:var(--ink);box-shadow:0 18px 60px #272b2440}.meal-dialog::backdrop{background:#20251b70}.meal-dialog h2{font-size:24px;margin:0 0 18px;line-height:1.4}.meal-dialog h3{margin:22px 0 10px}.meal-dialog p,.meal-dialog li{line-height:1.8}.meal-dialog li{margin:8px 0}.meal-dialog-actions{display:flex;gap:9px;justify-content:flex-end;flex-wrap:wrap;margin-top:24px}.meal-dialog-actions button{min-width:84px}.meal-danger{color:white;background:#a33228;border-color:#a33228}.meal-danger:hover{background:#852a23}.meal-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.meal-scale-options{display:flex;gap:12px}.meal-scale-options button{flex:1}.meal-remove-line{display:flex;align-items:center;gap:13px;min-height:64px;border-bottom:1px solid var(--line);margin:0;padding:12px 0}.meal-share-preview{background:#eef0e7;padding:18px;border-radius:6px}.meal-share-preview p{margin:12px 0}.meal-source-options{display:flex;gap:10px;flex-wrap:wrap}.meal-source-options label{display:flex;align-items:center;gap:7px;min-height:44px;padding:9px 12px;background:#eef0e7;border-radius:6px;margin:0}.meal-paste{border:1px dashed #adb59f;border-radius:6px;background:#f2f4ed;padding:16px}#meal-paste-input{min-height:104px;padding:16px;margin:12px 0;background:var(--paper);border:1px solid #b7bcae;border-radius:6px;user-select:text;-webkit-user-select:text;-webkit-touch-callout:default;cursor:text}#meal-paste-input:empty:before{content:attr(data-placeholder);color:var(--muted);pointer-events:none}#meal-image-preview{max-height:200px;max-width:100%;object-fit:contain;margin:16px auto;display:block}.meal-import-row{display:grid;grid-template-columns:24px minmax(0,1fr);gap:12px;border-bottom:1px solid var(--line);padding:18px 0}.meal-import-row>input{width:22px;height:22px;margin-top:29px}.meal-import-row label{margin-bottom:8px}.meal-loading{height:8px;background:#e4e7dc;border-radius:6px;overflow:hidden}.meal-loading:after{content:'';display:block;width:40%;height:100%;background:var(--olive);animation:meal-load 1.2s ease-in-out infinite alternate}@keyframes meal-load{to{transform:translateX(-150%)}}#meal-dialog-message:not(:empty){background:#eef0e7;padding:12px;border-radius:6px;line-height:1.7}
@media(max-width:760px){#meals-page{padding:22px 18px 70px}.meal-layout{display:block}.meal-aside{border:0;border-top:1px solid var(--line);padding:22px 0;margin-top:25px}.meal-tabs{justify-content:space-between;gap:10px}.meal-recipe{grid-template-columns:40px minmax(0,1fr);gap:10px}.meal-dish{width:40px;height:40px}.meal-recipe-actions{grid-column:2}.meal-recipe-actions .meal-icon{margin-inline-start:auto}.meal-recipe h3{font-size:17px}.meal-bottom{flex-wrap:wrap}.meal-bottom>.primary{width:100%}.meal-dialog{padding:22px}.meal-dialog-actions button{flex:1}#meals-page .heading{flex-wrap:wrap;gap:12px}#meals-page .heading>.primary{margin-inline-start:auto}.meal-amount{font-size:14px}.meal-section-head h2{font-size:21px}.meal-line small{font-size:12px}}
@media(prefers-reduced-motion:reduce){.meal-loading:after{animation:none}}
#meal-selection{padding:16px 18px;margin-bottom:22px;background:#eef0e7;border-radius:6px}.meal-selection-top,.meal-selection-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.meal-selection-top>span{font-size:13px;color:var(--olive)}.meal-selected-names{font-size:13px;line-height:1.8;color:var(--muted);margin:8px 0 14px;max-height:96px;overflow:auto;overflow-wrap:anywhere}.meal-selection-actions label{display:flex;align-items:center;gap:8px;margin:0;min-height:44px}.meal-selection-actions input{width:20px;height:20px}.recipe-card.meal-selectable{position:relative;padding-top:36px}.meal-card-select{position:absolute;top:2px;right:4px;width:44px;height:44px;display:grid;place-items:center;margin:0;cursor:pointer}.meal-card-select input{width:22px;height:22px;margin:0}.recipe-card.meal-picked{border-color:var(--olive);background:#f5f6ef}.meal-already-added{position:absolute;top:14px;right:49px;font-size:12px;color:var(--muted)}@media(max-width:760px){#meal-selection{padding:14px}.meal-selection-actions{gap:8px}.meal-selection-actions>.primary{margin-inline-start:auto}.meal-selection-top{gap:6px 12px}.meal-selection-actions button{font-size:14px}}

.meal-preview-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.meal-preview-header h2{margin:0}.meal-preview-header button{flex-shrink:0}#meals-message .meal-progress{display:block;margin-top:.6rem;accent-color:var(--olive,#4b5738)}

.meal-list-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}

#meals-message .meal-loading,#meal-dialog-message .meal-loading{margin-top:12px;width:100%}.meal-elapsed{display:block;margin-top:8px;font-variant-numeric:tabular-nums;color:var(--muted)}

.meal-line.is-checked .meal-amount,.meal-line.is-checked small{text-decoration:line-through;color:var(--muted)}.meal-preview-header button{min-width:84px}.meal-amount bdi{display:inline-block}

.meal-dialog-actions.meal-preview-actions button{flex:none;min-width:84px}
