.food-photo{width:100%;height:175px;display:block;object-fit:cover;background:#e7d7c2}
.food-photo.placeholder{display:grid;place-items:center;color:#fff;font:58px Georgia,serif;background:linear-gradient(135deg,var(--red),#d19560)}
.recipe-category{display:block;color:var(--red-dark);font-size:8px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;margin-bottom:6px}
.hero-photo{min-height:520px;position:sticky;top:105px;align-self:start;background-color:#e8dac7;background-position:center;background-size:cover}
.hero-photo::before,.hero-photo::after{display:none}
.hero-photo.placeholder{background:linear-gradient(135deg,var(--red),#d19560)}
.recipe-meta{min-height:1.5em}.recipe-toolbar>span{color:var(--muted)}
.ingredients li{display:block;padding:12px 0;line-height:1.5}
.directions-title{margin-top:34px}.directions{padding-left:24px}.directions li{padding:0 0 16px 6px;line-height:1.65}
.source-link{display:inline-block;margin-top:16px;color:var(--red-dark);font-weight:600}
@media(max-width:780px){.food-photo{height:145px}.hero-photo{min-height:300px;position:relative;top:auto}}
.top-actions{display:flex;align-items:center;gap:8px}@media(max-width:780px){.top-actions{width:100%;order:2}}
.ai-budget{display:flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid var(--line);border-radius:11px;background:var(--paper);color:var(--ink);cursor:pointer}.ai-budget-track{width:34px;height:6px;overflow:hidden;border-radius:99px;background:var(--line)}.ai-budget-track i{display:block;width:100%;height:100%;border-radius:inherit;background:var(--sage-ink);transition:width .25s}.ai-budget b{font-size:12px;white-space:nowrap}.ai-budget.low .ai-budget-track i{background:#d69b39}.ai-budget.critical .ai-budget-track i{background:var(--red)}
.library-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:-10px 0 25px}.tag-filters{display:flex;gap:7px;flex-wrap:wrap}.tag-filters button,.recipe-tags button{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:7px 10px;cursor:pointer;font-size:11px}.tag-filters button i{display:none;font-style:normal;margin-right:4px}.tag-filters button[data-filter-state="include"]{background:var(--sage);border-color:var(--sage-ink);color:var(--sage-ink)}.tag-filters button[data-filter-state="include"] i{display:inline}.tag-filters button[data-filter-state="include"] i:before{content:'+'}.tag-filters button[data-filter-state="exclude"]{background:color-mix(in srgb,var(--red) 13%,var(--paper));border-color:var(--red);color:var(--red-dark)}.tag-filters button[data-filter-state="exclude"] i{display:inline}.tag-filters button[data-filter-state="exclude"] i:before{content:'−'}.tag-filters button span{opacity:.6;margin-left:3px}.sort-control{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px;white-space:nowrap}.sort-control select{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:9px;padding:8px}.active-filters{display:flex;align-items:center;justify-content:space-between;background:var(--sage);color:var(--sage-ink);padding:10px 13px;border-radius:11px;margin:-12px 0 20px;font-size:12px}.active-filters button{border:0;background:transparent;color:var(--sage-ink);text-decoration:underline;cursor:pointer}.card-tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:9px}.card-tags i{font-style:normal;font-size:8px;background:var(--sage);color:var(--sage-ink);padding:3px 6px;border-radius:99px}.detail-section-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.detail-section-head button,.tag-editor form button{border:0;background:transparent;color:var(--red-dark);cursor:pointer}.tag-editor{margin:22px 0}.recipe-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.recipe-tags button span{color:var(--red);margin-left:3px}.tag-editor form{display:flex;gap:7px;margin-top:9px}.tag-editor form input{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:9px;padding:9px 10px}.portion-panel,.cooking-panel{border:1px solid var(--line);background:var(--paper);border-radius:15px;padding:16px;margin:18px 0}.portion-panel{display:flex;align-items:center;justify-content:space-between;gap:16px}.portion-panel h2,.cooking-panel h2{font-size:21px}.portion-panel p,.cooking-panel p{font-size:12px;margin-top:4px}.scale-buttons,.cooking-buttons{display:flex;gap:4px;flex-wrap:wrap}.scale-buttons button,.cooking-buttons button{border:0;background:var(--cream);color:var(--muted);border-radius:8px;padding:8px 10px;cursor:pointer}.scale-buttons button.active,.cooking-buttons button.active{background:var(--red);color:white}.cooking-buttons{margin-top:14px}.cooking-result{display:flex;flex-direction:column;gap:5px;background:var(--sage);color:var(--sage-ink);border-radius:11px;padding:13px;margin-top:12px}.cooking-result span{font-size:12px;line-height:1.5}.recipe-toolbar{justify-content:flex-end}.ingredients li{font-variant-numeric:tabular-nums}
@media(max-width:780px){.library-tools{align-items:stretch;flex-direction:column}.tag-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.tag-filters button{white-space:nowrap}.sort-control{justify-content:space-between}.portion-panel{align-items:flex-start;flex-direction:column}.cooking-buttons button{flex:1}.detail-section-head{align-items:flex-start}}
.recipe-tags .fixed-tag{display:inline-block;border:1px solid var(--line);background:var(--paper);color:var(--muted);border-radius:999px;padding:7px 10px;font-size:11px}
.planner-head{align-items:flex-end}.week-controls{display:flex;gap:5px;background:var(--paper);border:1px solid var(--line);padding:4px;border-radius:11px}.week-controls button{border:0;background:transparent;border-radius:8px;padding:8px 11px;cursor:pointer}.week-controls button:hover{background:var(--sage)}.planner{grid-template-columns:repeat(7,minmax(0,1fr))}.planner article{min-height:220px;display:flex;flex-direction:column}.planner article.today{border-color:var(--red);box-shadow:inset 0 3px 0 var(--red)}.planner article>span{color:var(--muted);font-size:10px;margin-top:3px}.planner article h3{margin:28px 0 6px}.planner article p{font-size:11px}.planner article .meal-actions{display:flex;gap:5px;margin-top:auto;padding-top:14px}.planner article .meal-actions button,.planner article.empty button{border:0;background:transparent;color:var(--red-dark);padding:5px 0;cursor:pointer;font-size:11px}.planner article .meal-actions button+button{color:var(--muted);margin-left:auto}.planner article.empty{justify-content:space-between}.planner article.empty button{text-align:left;font:400 18px Georgia,serif;margin-top:auto}.meal-dialog{width:min(620px,calc(100% - 30px))}.meal-search{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:18px 0}.meal-search input{border:0;outline:0;background:transparent;color:var(--ink);width:100%}.meal-options{max-height:380px;overflow-y:auto;border-top:1px solid var(--line)}.meal-option{width:100%;display:grid;grid-template-columns:54px 1fr auto;align-items:center;gap:11px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);padding:10px 2px;text-align:left;cursor:pointer}.meal-option:hover{background:var(--sage)}.meal-option img,.meal-option .meal-placeholder{width:54px;height:48px;object-fit:cover;border-radius:8px}.meal-option .meal-placeholder{display:grid;place-items:center;background:var(--red);color:white;font:20px Georgia,serif}.meal-option b,.meal-option small{display:block}.meal-option small{color:var(--muted);margin-top:3px}.meal-option>span:last-child{color:var(--red);font-size:20px}@media(max-width:1050px){.planner{grid-template-columns:repeat(4,1fr)}}@media(max-width:780px){.planner-head{align-items:stretch}.week-controls{align-self:flex-start}.planner{grid-template-columns:1fr 1fr}.planner article{min-height:180px}}@media(max-width:460px){.planner{grid-template-columns:1fr}.planner article{min-height:150px}.meal-option{grid-template-columns:48px 1fr auto}}
.planner-secondary{margin-top:45px;padding-top:28px;border-top:1px solid var(--line)}.planner-secondary>div:first-child{margin-bottom:16px}.planner-secondary h2{margin-top:5px}.future-tools{display:grid;grid-template-columns:1fr 1fr;gap:12px}.future-tools article{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;border:1px dashed var(--line);background:color-mix(in srgb,var(--paper) 72%,transparent);border-radius:14px;padding:16px}.future-tools article>span{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:var(--sage);color:var(--sage-ink);font-size:20px}.future-tools h3{margin:0 0 4px;font-size:19px}.future-tools p{font-size:11px}.future-tools small{color:var(--muted);background:var(--cream);padding:5px 7px;border-radius:99px}@media(max-width:700px){.future-tools{grid-template-columns:1fr}.future-tools article{grid-template-columns:42px 1fr}.future-tools small{grid-column:2;justify-self:start}}
.future-tools.single{grid-template-columns:minmax(280px,1fr)}
.deal-planner{margin:0 0 30px;padding:24px;border-radius:18px;background:var(--sage);color:var(--sage-ink)}.deal-planner>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.deal-planner h2{margin:5px 0 4px;font-size:30px}.deal-planner p{color:inherit;font-size:11px}.deal-planner>header>button{border:1px solid color-mix(in srgb,var(--sage-ink) 28%,transparent);border-radius:9px;background:transparent;color:inherit;padding:8px 11px;cursor:pointer}.deal-form{display:grid;grid-template-columns:180px 1fr auto;align-items:end;gap:14px;margin-top:20px;padding:16px;border-radius:13px;background:var(--paper);color:var(--ink)}.deal-form>label span,.deal-form legend{display:block;margin-bottom:6px;color:var(--muted);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.deal-form>label input{width:100%;margin:0;padding:10px;border:1px solid var(--line);border-radius:9px;background:var(--cream);color:var(--ink);text-transform:uppercase}.deal-form fieldset{display:flex;gap:6px;flex-wrap:wrap;border:0;padding:0;margin:0}.deal-form fieldset label{display:flex;align-items:center;gap:4px;padding:7px 8px;border:1px solid var(--line);border-radius:8px;font-size:10px}.deal-form fieldset input{accent-color:var(--red)}.deal-form>p{grid-column:1/-1;margin:-5px 0 0;color:var(--muted);font-size:9px}.deal-form>.primary{border:0;border-radius:9px;background:var(--red);color:#fff;padding:11px 13px;cursor:pointer}.deal-status{margin-top:16px;color:color-mix(in srgb,var(--sage-ink) 72%,transparent);font-size:10px}.deal-recommendations{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.deal-card{display:grid;grid-template-columns:76px 1fr;overflow:hidden;border-radius:12px;background:var(--paper);color:var(--ink)}.deal-card>img{width:76px;height:100%;min-height:145px;object-fit:cover}.deal-card>div{padding:13px}.deal-card span{color:var(--red-dark);font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.deal-card h3{margin:5px 0 7px;font-size:17px;line-height:1.15}.deal-card p{min-height:34px;color:var(--muted);font-size:8px;line-height:1.45}.deal-card>div>div{display:flex;gap:5px;margin-top:10px}.deal-card select{min-width:0;flex:1;border:1px solid var(--line);border-radius:7px;background:var(--cream);color:var(--ink);padding:6px;font-size:8px}.deal-card button{border:0;border-radius:7px;background:var(--red);color:#fff;padding:6px 8px;cursor:pointer;font-size:9px}@media(max-width:980px){.deal-form{grid-template-columns:1fr}.deal-form>p{grid-column:auto}.deal-recommendations{grid-template-columns:1fr 1fr}}@media(max-width:620px){.deal-planner{padding:18px 14px}.deal-planner>header{align-items:flex-start}.deal-planner h2{font-size:25px}.deal-recommendations{grid-template-columns:1fr}.deal-card{grid-template-columns:68px 1fr}.deal-card>img{width:68px}.deal-form fieldset{gap:4px}.deal-form fieldset label{padding:6px}.deal-form>.primary{width:100%}}
.deal-planner>header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:start;gap:10px}.deal-planner.is-collapsed>header>#dealSettings{display:none}
.grocery-section{margin-top:48px;padding:28px;border:1px solid var(--line);border-radius:18px;background:var(--paper)}.grocery-section>header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.grocery-section h2{margin:5px 0 3px;font-size:34px}.grocery-section p{font-size:12px}.grocery-empty{margin-top:20px;padding:20px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);text-align:center}.grocery-phase{display:flex;align-items:center;justify-content:center;gap:12px;margin:25px 0;padding:9px;border-radius:12px;background:var(--cream);color:var(--muted)}.grocery-phase span{display:flex;align-items:center;gap:7px;padding:7px 11px;border-radius:9px;font-size:11px}.grocery-phase span.active{background:var(--sage);color:var(--sage-ink);font-weight:700}.grocery-phase b{width:21px;height:21px;display:grid;place-items:center;border-radius:50%;border:1px solid currentColor;font-size:9px}.grocery-phase i{font-style:normal}.grocery-manual{display:flex;gap:8px;margin-bottom:22px}.grocery-manual label{flex:1}.grocery-manual input{width:100%;margin:0;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--cream);color:var(--ink)}.grocery-manual button,.grocery-footer button,.grocery-group article>button{border:1px solid var(--line);border-radius:10px;background:transparent;color:var(--ink);padding:9px 11px;cursor:pointer}.grocery-list{display:grid;grid-template-columns:1fr 1fr;gap:18px}.grocery-group h3{display:flex;justify-content:space-between;margin:0;padding:0 2px 8px;border-bottom:2px solid var(--ink);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.grocery-group h3 span{color:var(--muted)}.grocery-group article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:11px 2px;border-bottom:1px solid var(--line)}.grocery-group article label{display:flex;align-items:flex-start;gap:10px;min-width:0;cursor:pointer}.grocery-group article input{width:19px;height:19px;margin:1px 0 0;accent-color:var(--red)}.grocery-group article label span{min-width:0}.grocery-group article b,.grocery-group article small{display:block}.grocery-group article b{font-size:13px;text-transform:none}.grocery-group article small{margin-top:3px;color:var(--muted);font-size:9px;line-height:1.35}.grocery-group article>button{padding:6px 8px;color:var(--red-dark);font-size:9px}.grocery-group article>button.active{background:var(--sage);color:var(--sage-ink)}.grocery-group.done{opacity:.62}.grocery-group.done article b{text-decoration:line-through}.grocery-footer{display:flex;align-items:center;gap:8px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.grocery-footer #groceryReset{margin-left:auto;color:var(--muted)}.grocery-footer .primary{border-color:var(--red);background:var(--red);color:#fff}.grocery-section:has(.grocery-phase span:first-child.active) [data-grocery-check]{visibility:hidden}@media(max-width:720px){.grocery-section{margin-top:35px;padding:20px 15px}.grocery-section>header{align-items:flex-start;flex-direction:column}.grocery-section>header .primary{width:100%}.grocery-list{grid-template-columns:1fr}.grocery-phase{gap:5px}.grocery-phase span{padding:7px;font-size:9px}.grocery-group article{grid-template-columns:minmax(0,1fr) auto}.grocery-group article>button+button{grid-column:2}.grocery-footer{align-items:stretch;flex-direction:column}.grocery-footer #groceryReset{margin-left:0}.grocery-footer button{min-height:44px}}
.missing-content{border:1px dashed var(--line);background:var(--paper);border-radius:11px;padding:13px;color:var(--muted)!important;font-size:12px}.instruction-images{display:grid;gap:12px;margin-top:13px}.instruction-images img{display:block;width:100%;height:auto;border-radius:14px;border:1px solid var(--line)}
.duration-button{display:inline;border:0;border-bottom:1px dashed var(--red);background:color-mix(in srgb,var(--gold) 35%,transparent);color:var(--red-dark);border-radius:5px;padding:1px 4px;cursor:pointer;font-weight:700}.duration-button:hover{background:var(--gold)}.duration-button span{font-size:.85em}.recipe-timer{position:fixed;right:24px;bottom:24px;z-index:20;display:flex;align-items:center;gap:24px;min-width:330px;padding:13px 14px;border:1px solid color-mix(in srgb,var(--red) 35%,var(--line));border-radius:16px;background:var(--paper);box-shadow:0 18px 50px rgba(52,44,39,.2)}.recipe-timer.finished{background:var(--gold);animation:timer-pulse .8s ease-in-out 3}.timer-face{display:flex;align-items:center;gap:10px;flex:1}.timer-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--red);color:#fff;font-size:21px}.timer-face small,.timer-face strong{display:block}.timer-face small{color:var(--muted);font-size:10px}.timer-face strong{font-size:21px;font-variant-numeric:tabular-nums}.timer-actions{display:flex;align-items:center;gap:4px}.timer-actions button{border:0;background:var(--cream);border-radius:8px;padding:8px;cursor:pointer;font-size:11px}.timer-actions #timerCancel{font-size:20px;line-height:1;padding:5px 8px}@keyframes timer-pulse{50%{transform:scale(1.035);box-shadow:0 18px 60px rgba(184,70,50,.35)}}@media(max-width:600px){.recipe-timer{left:14px;right:14px;bottom:14px;min-width:0;gap:8px}.timer-actions #timerAdd{display:none}}@media(prefers-reduced-motion:reduce){.recipe-timer.finished{animation:none}}

.grocery-launcher{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:30px;padding:24px 28px;border:1px solid var(--line);border-radius:18px;background:var(--paper)}.grocery-launcher h2{margin:5px 0 3px;font-size:30px}.grocery-launcher small{display:block;color:var(--muted);font-size:11px}.grocery-dialog{width:min(1050px,calc(100% - 48px));max-width:none;max-height:calc(100vh - 48px);overflow:auto;border-radius:22px}.grocery-dialog>.close{position:sticky;float:right;right:18px;top:14px;z-index:3;width:38px;height:38px;border-radius:50%;background:var(--cream);box-shadow:0 5px 18px rgba(52,44,39,.12);cursor:pointer}.grocery-dialog .grocery-section{margin:0;padding:34px;border:0;background:transparent}.grocery-dialog .grocery-list{max-width:none}.has-grocery-deal{border-color:color-mix(in srgb,var(--red) 42%,var(--line));background:color-mix(in srgb,var(--gold) 13%,var(--paper))}.grocery-deal{position:relative;align-self:center;color:var(--red-dark);text-decoration:none}.grocery-deal>span{display:inline-block;padding:5px 8px;border-radius:99px;background:var(--gold);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.grocery-deal aside{position:absolute;right:0;bottom:calc(100% + 9px);z-index:8;display:none;width:270px;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:0 18px 50px rgba(52,44,39,.2);color:var(--ink)}.grocery-deal:hover aside,.grocery-deal:focus aside{display:grid;grid-template-columns:54px 1fr;gap:4px 10px}.grocery-deal aside img{grid-row:1/4;width:54px;height:54px;object-fit:cover;border-radius:8px}.grocery-deal aside b{font-size:12px}.grocery-deal aside small{color:var(--muted);font-size:9px;line-height:1.4}.grocery-deal aside em{color:var(--red-dark);font-size:9px;font-style:normal;font-weight:700}.back-to-top{position:fixed;right:22px;bottom:22px;z-index:19;width:46px;height:46px;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--red-dark);box-shadow:0 10px 30px rgba(52,44,39,.18);cursor:pointer;font-size:22px}.back-to-top:hover{background:var(--sage)}body:has(#recipeTimer:not([hidden])) .back-to-top{bottom:105px}@media(max-width:720px){.grocery-launcher{align-items:flex-start;flex-direction:column;padding:20px 18px}.grocery-launcher .primary{width:100%}.grocery-dialog{width:100%;height:100%;max-height:none;border-radius:0}.grocery-dialog .grocery-section{padding:22px 14px 40px}.grocery-deal aside{position:fixed;left:14px;right:14px;bottom:76px;width:auto}.back-to-top{right:14px;bottom:14px}}

/* Fiche recette — hiérarchie pensée pour consulter puis cuisiner. */
.recipe-sheet{max-width:1080px;margin:0 auto}.recipe-hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);gap:clamp(28px,5vw,64px);align-items:center}.recipe-hero .hero-photo{position:relative;top:auto;min-height:460px;aspect-ratio:1.1;border-radius:26px}.recipe-intro h1{font-size:clamp(42px,5.5vw,70px);margin:14px 0 18px}.recipe-facts{display:flex;gap:0;flex-wrap:wrap;color:var(--muted);font-size:13px}.recipe-facts span{display:flex;align-items:center}.recipe-facts span+span:before{content:'·';margin:0 9px}.recipe-intro .recipe-tags{margin:22px 0}.recipe-primary-actions,.recipe-minor-actions{display:flex;gap:9px;flex-wrap:wrap}.recipe-primary-actions{margin-top:28px}.recipe-primary-actions .primary{display:inline-flex;align-items:center;text-decoration:none;padding:13px 18px}.secondary-action{border:1px solid var(--line);background:var(--paper);border-radius:11px;padding:12px 15px}.secondary-action:disabled{color:var(--muted);cursor:not-allowed}.recipe-minor-actions{margin-top:11px}.recipe-minor-actions button{border:0;background:transparent;color:var(--red-dark);padding:7px 2px;margin-right:15px;cursor:pointer}.recipe-intro #tagForm{display:flex;gap:8px}.recipe-intro #tagForm input{padding:9px 10px;border:1px solid var(--line);border-radius:9px}.recipe-intro #tagForm button{border:0;background:transparent;color:var(--red-dark)}
.recipe-jump-nav{position:sticky;top:77px;z-index:4;display:flex;justify-content:center;gap:6px;width:max-content;max-width:100%;margin:50px auto 0;padding:5px;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--paper) 94%,transparent);backdrop-filter:blur(12px)}.recipe-jump-nav a{color:var(--ink);text-decoration:none;padding:10px 16px;border-radius:9px;font-size:13px}.recipe-jump-nav a:hover{background:var(--sage)}.recipe-jump-nav span{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:5px;padding:0 5px;border-radius:99px;background:var(--cream);color:var(--muted);font-size:10px}
.recipe-body{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);gap:clamp(35px,6vw,76px);align-items:start;margin-top:62px}.recipe-body section{scroll-margin-top:150px}.section-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:21px}.section-title-row h2{font-size:34px;margin-top:7px}.portion-control{text-align:right}.portion-control>span{display:block;margin-bottom:7px;color:var(--muted);font-size:11px}.scale-buttons{justify-content:flex-end}.scale-buttons button{border:0;background:var(--paper);color:var(--muted);border-radius:8px;padding:7px 9px;cursor:pointer}.scale-buttons button.active{background:var(--red);color:#fff}
.ingredients{margin:0;border-top:1px solid var(--line)}.ingredients li{padding:0;border-bottom:1px solid var(--line)}.ingredient-row{display:grid;grid-template-columns:30px 110px minmax(0,1fr);gap:8px;align-items:start;padding:14px 2px}.ingredient-amount{font-weight:700;font-variant-numeric:tabular-nums}.ingredient-convert-trigger{display:grid;place-items:center;width:28px;height:28px;margin:-4px 0;border:0;border-radius:50%;background:transparent;color:var(--red-dark);font:400 19px Georgia,'Times New Roman',serif;opacity:0;cursor:pointer;transform:translateX(-3px);transition:opacity .16s ease,transform .16s ease,background .16s ease}.ingredient-row:hover .ingredient-convert-trigger,.ingredient-convert-trigger:focus-visible{opacity:1;transform:translateX(0)}.ingredient-convert-trigger:hover,.ingredient-convert-trigger:focus-visible{background:var(--sage)}.ingredient-name b,.ingredient-name small{display:block}.ingredient-name b{font-weight:500}.ingredient-name small{margin-top:4px;color:var(--muted);font-size:9px;line-height:1.35}.ingredients .ingredient-group{padding:24px 2px 8px;color:var(--red-dark);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.ingredients .blend-group{margin-top:8px;padding:12px 14px;background:var(--sage);color:var(--sage-ink);border:0;border-radius:10px;letter-spacing:.08em}
.unit-dialog{width:min(470px,calc(100% - 28px))}.unit-dialog h2{margin-top:7px}.unit-dialog>form>p{margin-top:6px}.unit-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:22px 0 12px}.unit-options button{display:flex;align-items:flex-start;flex-direction:column;gap:3px;min-height:70px;padding:13px;border:1px solid var(--line);border-radius:11px;background:var(--paper);color:var(--ink);text-align:left;cursor:pointer}.unit-options button:hover{border-color:var(--red);background:var(--sage)}.unit-options b{font-size:17px}.unit-options small,.unit-status{color:var(--muted);font-size:9px}.unit-reset{margin-top:18px;border:0;background:transparent;color:var(--red-dark);padding:5px 0;cursor:pointer}@media(max-width:480px){.unit-options{grid-template-columns:1fr}.unit-options button{min-height:58px}}
.timer-hint{max-width:180px;color:var(--muted);font-size:10px;text-align:right}.directions{list-style:none;padding:0;margin:0;counter-reset:none}.directions>li{padding:0;margin:0 0 14px}.direction-card{display:grid;grid-template-columns:38px 1fr;gap:13px;padding:20px;border:1px solid var(--line);border-radius:17px;background:var(--paper)}.direction-card .step-number{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--sage);color:var(--sage-ink);font:700 15px Georgia,serif}.direction-card h3{margin:2px 0 8px;font-size:22px}.direction-card p{color:var(--ink);font-size:15px;line-height:1.7}.direction-card img{grid-column:2;width:100%;margin-top:13px;border-radius:12px}.recipe-footer{display:flex;justify-content:flex-end;margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}
@media(max-width:850px){.recipe-hero{grid-template-columns:1fr}.recipe-hero .hero-photo{min-height:0;aspect-ratio:1.45}.recipe-body{grid-template-columns:1fr}.recipe-jump-nav{top:12px}.ingredients-section{max-width:620px}.recipe-intro h1{font-size:clamp(40px,9vw,62px)}}
@media(max-width:600px){.recipe-sheet{margin:0 -2px}.recipe-hero{gap:25px}.recipe-hero .hero-photo{aspect-ratio:1.32;border-radius:20px}.recipe-intro h1{font-size:40px;line-height:1.02}.recipe-primary-actions>*{flex:1;justify-content:center;text-align:center}.recipe-jump-nav{width:100%;margin-top:32px}.recipe-jump-nav a{flex:1;text-align:center;padding:10px 8px}.recipe-body{margin-top:42px;gap:52px}.section-title-row{align-items:flex-start;flex-direction:column}.portion-control{text-align:left}.scale-buttons{justify-content:flex-start}.ingredient-row{grid-template-columns:26px 92px minmax(0,1fr);gap:6px}.direction-card{grid-template-columns:34px 1fr;padding:16px 14px}.direction-card img{grid-column:1/-1}.timer-hint{text-align:left}.recipe-footer{justify-content:flex-start}}
@media(max-width:600px){#recipe{padding-top:24px}.recipe-jump-nav{height:45px;padding:3px;border-radius:11px}.recipe-jump-nav a{display:flex;align-items:center;justify-content:center;padding:6px;font-size:12px}.recipe-jump-nav span{min-width:18px;height:18px;font-size:9px}.recipe-body{margin-top:28px}.ingredients-section .eyebrow{display:none}.section-title-row{gap:12px;margin-bottom:14px}.section-title-row h2{font-size:27px;margin:0}.portion-control>span{margin-bottom:5px;font-size:10px}.scale-buttons{gap:3px}.scale-buttons button{min-width:42px;min-height:38px;padding:6px 8px;font-size:13px}.ingredient-row{grid-template-columns:26px 84px minmax(0,1fr);gap:6px;padding:10px 1px}.ingredient-amount{font-size:14px;line-height:1.35}.ingredient-name b{font-size:15px;line-height:1.35}.ingredient-name small{margin-top:3px;font-size:8px;line-height:1.3}.ingredients .ingredient-group{padding:19px 1px 7px;font-size:9px}}

/* Mode cuisine plein écran */
body.cooking-open{overflow:hidden}.cooking-mode{position:fixed;inset:0;z-index:50;display:grid;grid-template-rows:auto 1fr auto;background:var(--cream);color:var(--ink)}.cooking-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px clamp(18px,4vw,54px);border-bottom:1px solid var(--line);background:var(--paper)}.cooking-header strong{display:block;margin-top:4px;font:400 19px Georgia,serif}.cooking-utilities{display:flex;align-items:center;gap:6px}.cooking-utilities button{border:1px solid var(--line);background:transparent;border-radius:10px;padding:9px 11px;cursor:pointer}.cooking-utilities #toggleVoice[aria-pressed="true"]{background:var(--sage);color:var(--sage-ink)}.cooking-utilities #closeCooking{border:0;font-size:26px;line-height:1}.voice-status{display:flex;align-items:center;justify-content:center;gap:7px;padding:9px 16px;background:var(--sage);color:var(--sage-ink);font-size:11px}.voice-status>span:first-child{color:#57804c}.cooking-stage{width:min(900px,calc(100% - 40px));margin:0 auto;padding:clamp(25px,5vh,62px) 0;overflow-y:auto}.cooking-progress{display:flex;align-items:center;gap:18px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.progress-track{height:4px;flex:1;overflow:hidden;border-radius:99px;background:var(--line)}.progress-track i{display:block;height:100%;border-radius:inherit;background:var(--red);transition:width .25s}.cooking-step{display:grid;grid-template-columns:58px 1fr;gap:24px;margin-top:clamp(32px,6vh,70px)}.cooking-step-number{width:54px;height:54px;display:grid;place-items:center;border-radius:50%;background:var(--red);color:#fff;font:400 25px Georgia,serif}.cooking-step h1{font-size:clamp(38px,5vw,62px);margin:0 0 24px}.cooking-step-body,.cooking-step #cookingStepBody{font-size:clamp(21px,2.4vw,30px);line-height:1.6}.cooking-step .duration-button{font-size:inherit}.cooking-step aside{margin-top:32px;padding:16px 18px;border-radius:13px;background:var(--sage);color:var(--sage-ink)}.cooking-step aside small{font-size:9px;font-weight:800;letter-spacing:.13em}.cooking-step aside p{margin-top:7px;color:inherit;font-size:13px}.cooking-footer{display:flex;justify-content:space-between;gap:12px;padding:14px clamp(18px,4vw,54px);border-top:1px solid var(--line);background:var(--paper)}.cooking-footer button{min-width:140px;border:1px solid var(--line);background:transparent;border-radius:11px;padding:12px 16px;cursor:pointer}.cooking-footer button:disabled{opacity:.35}.cooking-footer .primary{border-color:var(--red);background:var(--red);color:#fff}
.cooking-open .recipe-timer{z-index:70;bottom:88px}
.voice-dialog form{display:grid;gap:16px}.voice-dialog h2,.voice-dialog p{margin:0}.voice-dialog form>label{display:grid;gap:6px;color:var(--muted);font-size:11px;font-weight:700}.voice-dialog select{width:100%;border:1px solid var(--line);border-radius:10px;background:var(--cream);color:var(--ink);padding:11px}.voice-dialog #previewVoice{justify-self:start;border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:10px 12px;cursor:pointer}.voice-dialog .dialog-actions{margin-top:3px}
@media(max-width:650px){.cooking-header{padding:12px 14px}.cooking-header>div:first-child .eyebrow{display:none}.cooking-header strong{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.cooking-utilities{gap:3px}.cooking-utilities button{padding:8px;font-size:11px}.cooking-utilities #readCookingStep{font-size:0}.cooking-utilities #readCookingStep:first-letter{font-size:16px}.voice-status{justify-content:flex-start}.cooking-stage{width:calc(100% - 28px);padding:25px 0}.cooking-step{grid-template-columns:38px 1fr;gap:12px;margin-top:30px}.cooking-step-number{width:38px;height:38px;font-size:18px}.cooking-step h1{font-size:31px;margin:2px 0 17px}.cooking-step #cookingStepBody{font-size:20px;line-height:1.55}.cooking-step aside{grid-column:1/-1;margin-top:24px}.cooking-footer{padding:10px 14px}.cooking-footer button{min-width:0;flex:1;padding:12px 8px}}
@media(max-width:650px){.cooking-footer{position:relative;z-index:2;padding-bottom:max(10px,env(safe-area-inset-bottom));box-shadow:0 -8px 24px rgba(52,44,39,.06)}.cooking-footer button{min-height:48px;touch-action:manipulation}.cooking-stage{-webkit-overflow-scrolling:touch}}
@media(max-width:650px){.cooking-open .recipe-timer{bottom:calc(82px + env(safe-area-inset-bottom))}}

/* Adaptation temporaire par IA */
.ingredient-name button{display:block;border:0;border-bottom:1px dashed transparent;background:transparent;color:inherit;padding:0;text-align:left;font:500 inherit;cursor:pointer}.ingredient-name button:hover{color:var(--red-dark);border-bottom-color:var(--red)}.adapted-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:32px 0 -18px;padding:14px 17px;border-radius:14px;background:var(--sage);color:var(--sage-ink)}.adapted-banner small,.adapted-banner b{display:block}.adapted-banner small{font-size:8px;letter-spacing:.14em}.adapted-banner b{margin-top:4px;font-size:13px}.adapted-banner button{border:0;background:transparent;color:var(--sage-ink);text-decoration:underline;cursor:pointer;white-space:nowrap}.adapt-dialog{width:min(620px,calc(100% - 24px));max-height:min(860px,calc(100vh - 24px));overflow-y:auto}.adapt-dialog form{padding:28px}.adapt-dialog h2{font-size:31px}.adapt-dialog fieldset{border:0;padding:0;margin:24px 0}.adapt-dialog legend{width:100%;margin-bottom:10px;font-weight:700}.adapt-dialog legend small{color:var(--muted);font-weight:400}.adapt-choice{display:flex;align-items:center;gap:10px;padding:11px;border:1px solid var(--line);border-radius:11px;margin-top:7px;cursor:pointer}.adapt-choice:has(input:checked){border-color:var(--red);background:color-mix(in srgb,var(--red) 6%,var(--paper))}.adapt-dialog .adapt-choice input{width:18px;height:18px;margin:0;accent-color:var(--red)}.adapt-choice b,.adapt-choice small{display:block}.adapt-choice small{margin-top:2px;color:var(--muted);font-size:10px}.adapt-field{display:block;margin:14px 0}.adapt-field>span,.replacement-options>span{display:block;margin-bottom:6px;color:var(--muted);font-size:10px}.adapt-dialog select,.adapt-dialog .adapt-field input{width:100%;margin:0;padding:11px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink)}.replacement-options{padding:12px;border-radius:12px;background:var(--cream)}.replacement-options>div{display:flex;gap:6px;flex-wrap:wrap}.replacement-options button{border:1px solid var(--line);background:var(--paper);border-radius:99px;padding:7px 10px;cursor:pointer}.adapt-error{padding:11px;border-radius:9px;background:#f8d8d1;color:#7b281b!important;font-size:12px}.adapt-result{margin:18px 0;padding:15px;border-radius:12px;background:var(--sage);color:var(--sage-ink)}.adapt-result>small{font-size:8px;letter-spacing:.13em}.adapt-result h3{margin:6px 0 0;font-size:21px}.adapt-result ul{margin:10px 0 0;padding-left:18px;font-size:11px;line-height:1.5}.adapt-dialog .dialog-actions{position:sticky;bottom:-28px;margin:18px -28px -28px;padding:13px 28px;background:var(--paper);border-top:1px solid var(--line)}
@media(max-width:600px){.adapted-banner{align-items:flex-start;flex-direction:column;margin-top:24px}.adapted-banner button{padding:0}.adapt-dialog form{padding:22px 18px}.adapt-dialog .dialog-actions{bottom:-22px;margin:16px -18px -22px;padding:12px 18px}.adapt-dialog .dialog-actions button{flex:1}.ingredient-name button{font-size:15px;line-height:1.35}}
.replacement-row{margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--cream) 58%,var(--paper))}.replacement-row+.replacement-row{margin-top:9px}.replacement-row-head{display:flex;align-items:center;justify-content:space-between}.replacement-row-head b{font-size:11px}.replacement-row-head button{width:28px;height:28px;border:0;border-radius:50%;background:var(--paper);color:var(--muted);cursor:pointer;font-size:18px}.replacement-row .adapt-field{margin:9px 0}.replacement-row .replacement-options{padding:10px}.add-replacement{margin-top:10px;border:1px dashed var(--red);border-radius:10px;background:transparent;color:var(--red-dark);padding:9px 11px;cursor:pointer}
.recipe-language{display:flex;align-items:center;width:max-content;margin-top:12px;padding:3px;border:1px solid var(--line);border-radius:9px;background:var(--paper)}.recipe-language button{border:0;border-radius:6px;background:transparent;color:var(--muted);padding:6px 9px;cursor:pointer;font-size:10px;font-weight:800;letter-spacing:.08em}.recipe-language button.active{background:var(--red);color:#fff}.recipe-language button:disabled{opacity:.55}.recipe-language span{max-width:220px;margin:0 7px;color:var(--red-dark);font-size:9px}

/* Thème sombre chaud */
:root{color-scheme:light}:root[data-theme="dark"]{--red:#cf634d;--red-dark:#ed8872;--cream:#171411;--paper:#211d19;--ink:#f4ebe3;--muted:#b8aaa0;--line:#443a33;--sage:#303b2d;--sage-ink:#dce9d4;--gold:#735f2e;color-scheme:dark}.theme-toggle{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:11px;background:var(--paper);color:var(--ink);cursor:pointer;font-size:20px;line-height:1}.theme-toggle:hover{background:var(--sage)}:root[data-theme="dark"] body{background:linear-gradient(145deg,rgba(207,99,77,.07),transparent 42%),var(--cream)}:root[data-theme="dark"] .recipe-card:hover{box-shadow:0 18px 38px rgba(0,0,0,.3)}:root[data-theme="dark"] dialog::backdrop{background:rgba(0,0,0,.72)}:root[data-theme="dark"] input,:root[data-theme="dark"] select{color:var(--ink)}
@media(max-width:450px){.theme-toggle{width:36px;height:36px}.top-actions{gap:5px}}
.uat-launch{border:1px solid var(--line);background:var(--paper);border-radius:11px;padding:9px 11px;cursor:pointer;font-weight:700}.uat-dialog{width:min(1180px,calc(100% - 28px));height:min(860px,calc(100% - 28px));max-width:none}.uat-dialog::backdrop,.uat-run-dialog::backdrop{background:rgba(25,20,17,.72)}.uat-shell{height:100%;display:grid;grid-template-rows:auto auto 1fr;overflow:hidden}.uat-header{display:flex;justify-content:space-between;gap:25px;padding:28px 32px 18px;border-bottom:1px solid var(--line)}.uat-header h2{font-size:36px;margin:7px 0 3px}.uat-header p{margin:0;color:var(--muted)}.uat-header .close{position:static}.uat-tabs{display:flex;gap:5px;padding:12px 32px;border-bottom:1px solid var(--line)}.uat-tabs button{border:0;border-radius:9px;padding:9px 12px;background:transparent;cursor:pointer}.uat-tabs button.active{background:var(--sage);color:var(--sage-ink)}.uat-view{display:none;overflow:auto;padding:26px 32px}.uat-view.active{display:block}.uat-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.uat-metrics article{display:grid;gap:4px;padding:18px;border:1px solid var(--line);border-radius:15px;background:var(--cream)}.uat-metrics b{font:36px Georgia,serif}.uat-metrics span{color:var(--muted);font-size:12px}.uat-progress{display:grid;gap:12px;margin:25px 0}.uat-progress span{display:flex;justify-content:space-between;gap:20px}.uat-progress small{color:var(--muted)}.uat-progress>i,.uat-epics i{height:9px;overflow:hidden;border-radius:99px;background:var(--line)}.uat-progress>i b,.uat-epics i b{display:block;height:100%;border-radius:inherit;background:var(--red)}.uat-epics{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.uat-epics article{display:grid;gap:9px;padding:15px;border:1px solid var(--line);border-radius:13px}.uat-epics article>span{display:flex;justify-content:space-between}.uat-epics small{color:var(--muted)}.uat-test-toolbar{position:sticky;top:-26px;z-index:2;display:grid;grid-template-columns:1fr auto auto;gap:9px;padding:12px 0;background:var(--paper)}.uat-test-toolbar input,.uat-test-toolbar select{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--cream);color:var(--ink)}.uat-test-list{display:grid;gap:10px}.uat-test-card{display:grid;grid-template-columns:1fr auto;gap:20px;padding:18px;border:1px solid var(--line);border-radius:15px}.uat-test-card h3{margin:6px 0;font-size:20px}.uat-test-card p{margin:0 0 7px;color:var(--muted);font-size:12px}.uat-test-card>div:first-child>span{font-size:9px;font-weight:800;letter-spacing:.12em;color:var(--red-dark);text-transform:uppercase}.uat-test-card small{line-height:1.45}.uat-test-card footer{margin-top:10px;color:var(--muted);font-size:10px}.uat-test-card>div:last-child{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:12px}.uat-test-card button{border:1px solid var(--line);border-radius:9px;padding:8px 11px;background:var(--cream);cursor:pointer}.uat-status{display:inline-block;border-radius:99px;padding:5px 8px;font-size:10px;font-weight:800}.uat-status.passed{background:#dcebd4;color:#2f592b}.uat-status.failed{background:#f5d9d3;color:#8b3020}.uat-status.blocked{background:#f5e5bc;color:#715316}.uat-status.not-run{background:var(--line);color:var(--muted)}.uat-empty{padding:30px;text-align:center;color:var(--muted)}.uat-matrix-wrap{overflow:auto}.uat-matrix{width:100%;border-collapse:collapse;font-size:11px}.uat-matrix th{position:sticky;top:-26px;background:var(--paper);text-align:left;padding:11px;border-bottom:2px solid var(--line)}.uat-matrix td{min-width:120px;max-width:260px;padding:12px 11px;vertical-align:top;border-bottom:1px solid var(--line);line-height:1.45}.uat-run-dialog{width:min(720px,calc(100% - 24px));max-width:none;max-height:calc(100% - 24px);overflow:auto}.uat-run-dialog form{padding:30px}.uat-run-dialog h2{font-size:32px;margin:8px 0}.uat-requirement{padding-bottom:18px;border-bottom:1px solid var(--line)}.uat-steps{display:grid;gap:9px;margin:20px 0}.uat-steps article{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:start}.uat-steps article>b{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--sage);color:var(--sage-ink)}.uat-expected{padding:15px;border-radius:12px;background:var(--sage);color:var(--sage-ink)}.uat-expected small{font-weight:800;letter-spacing:.1em}.uat-expected p{margin:5px 0 0;color:inherit}.uat-verdict{display:flex;flex-wrap:wrap;gap:14px;margin:20px 0;padding:14px;border:1px solid var(--line);border-radius:12px}.uat-verdict legend{font-weight:700;padding:0 5px}.uat-field{display:grid;gap:6px;margin:13px 0}.uat-field>span{font-size:11px;font-weight:700}.uat-field textarea,.uat-field input{width:100%;min-height:44px;margin:0;padding:11px;border:1px solid var(--line);border-radius:10px;background:var(--cream);color:var(--ink)}.uat-field textarea{min-height:76px;resize:vertical}@media(max-width:780px){.uat-launch{font-size:0}.uat-launch:first-letter{font-size:16px}.uat-header,.uat-view{padding-left:18px;padding-right:18px}.uat-tabs{padding-left:18px;padding-right:18px;overflow:auto}.uat-metrics{grid-template-columns:repeat(2,1fr)}.uat-epics{grid-template-columns:1fr}.uat-test-toolbar{grid-template-columns:1fr 1fr;top:-26px}.uat-test-toolbar label{grid-column:1/-1}.uat-test-card{grid-template-columns:1fr}.uat-test-card>div:last-child{align-items:flex-start;flex-direction:row}.uat-progress span{display:grid;gap:3px}}
.import-dialog .adapt-field{margin:22px 0 14px}.import-dialog .adapt-field input{margin:0;background:var(--paper);color:var(--ink)}.import-status{margin:0 0 14px!important;padding:10px 12px;border-radius:9px;background:var(--sage);color:var(--sage-ink)!important;font-size:11px}.import-status.error{background:#f8d8d1;color:#7b281b!important}.import-dialog button:disabled{opacity:.6;cursor:wait}
.import-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}.import-source-choice{display:flex;align-items:flex-start;flex-direction:column;gap:5px;min-height:145px;padding:20px!important;border:1px solid var(--line)!important;border-radius:14px!important;background:var(--paper)!important;color:var(--ink)!important;text-align:left;cursor:pointer}.import-source-choice>span{width:34px;height:34px;display:grid;place-items:center;margin-bottom:auto;border-radius:9px;background:var(--sage);color:var(--sage-ink);font-size:18px}.import-source-choice b{font-size:16px}.import-source-choice small{color:var(--muted);font-size:10px;line-height:1.4}.import-source-choice:hover,.import-source-choice.active{border-color:var(--red)!important;box-shadow:inset 0 -3px 0 var(--red)}@media(max-width:560px){.import-choice-grid{grid-template-columns:1fr}.import-source-choice{min-height:112px}}

/* Bibliothèque en tuiles ou en liste */
.library-display,.view-toggle,.section-title-tools{display:flex;align-items:center;gap:8px}.section-title-tools{gap:12px;flex-wrap:wrap}.view-toggle{gap:2px;padding:3px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.view-toggle button{border:0;border-radius:7px;background:transparent;color:var(--muted);padding:6px 8px;cursor:pointer;font-size:10px}.view-toggle button.active{background:var(--sage);color:var(--sage-ink)}.recipe-list-head{display:grid;grid-template-columns:58px minmax(190px,1.4fr) minmax(150px,1fr) minmax(115px,.75fr) minmax(90px,.6fr);align-items:center;gap:18px;padding:0 14px 8px 0;margin-bottom:6px;border-bottom:1px solid var(--line)}.recipe-list-head[hidden]{display:none}.recipe-list-head button{border:0;background:transparent;color:var(--muted);padding:5px 0;text-align:left;cursor:pointer;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.recipe-list-head button:hover,.recipe-list-head button.active{color:var(--red-dark)}.recipe-card .recipe-source{display:none}.home-grid.library-list-layout{grid-template-columns:1fr}.home-grid.library-list-layout>.week{display:none}.recipe-grid.list-view{grid-template-columns:1fr;gap:6px}.recipe-grid.list-view .recipe-card{display:grid;grid-template-columns:58px 1fr;align-items:center;border-radius:12px}.recipe-grid.list-view .food-photo{width:58px;height:58px}.recipe-grid.list-view .recipe-copy{display:grid;grid-template-columns:minmax(190px,1.4fr) minmax(150px,1fr) minmax(115px,.75fr) minmax(90px,.6fr);grid-template-rows:auto auto;align-items:center;gap:2px 18px;padding:9px 14px}.recipe-grid.list-view .recipe-category{grid-column:1;grid-row:1;font-size:8px}.recipe-grid.list-view .recipe-copy>b{grid-column:1;grid-row:2;font-size:16px}.recipe-grid.list-view .card-tags{grid-column:2;grid-row:1/3;margin:0}.recipe-grid.list-view .recipe-duration{grid-column:3;grid-row:1/3;margin:0}.recipe-grid.list-view .recipe-source{display:block;grid-column:4;grid-row:1/3;margin:0}.recipe-grid.list-view .recipe-card:hover{transform:translateX(2px)}
@media(max-width:760px){.library-tools{gap:10px}.library-display{justify-content:space-between}.section-title-tools{justify-content:space-between;width:100%}.recipe-list-head{grid-template-columns:54px minmax(0,1fr) auto;gap:11px;padding:0 11px 7px 0}.recipe-list-head [data-list-sort="tags"],.recipe-list-head [data-list-sort="source"]{display:none}.recipe-list-head [data-list-sort="name"]{grid-column:2}.recipe-list-head [data-list-sort="time"]{grid-column:3;text-align:right}.recipe-grid.list-view .recipe-card{grid-template-columns:54px 1fr}.recipe-grid.list-view .food-photo{width:54px;height:64px}.recipe-grid.list-view .recipe-copy{grid-template-columns:1fr auto;padding:8px 11px}.recipe-grid.list-view .recipe-category{grid-column:1}.recipe-grid.list-view .recipe-copy>b{grid-column:1}.recipe-grid.list-view .card-tags{display:none}.recipe-grid.list-view .recipe-duration{grid-column:2;grid-row:1/3;text-align:right}.recipe-grid.list-view .recipe-source{display:none}}

/* Édition permanente */
.recipe-minor-actions .danger-link{color:#a43c2b}.edit-dialog{width:min(760px,calc(100% - 24px));max-height:calc(100vh - 24px);overflow:auto}.edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}.edit-grid label{display:block}.edit-grid label>span{display:block;margin-bottom:5px;color:var(--muted);font-size:10px}.edit-grid label.wide,.edit-grid .wide{grid-column:1/-1}.edit-grid input,.edit-grid textarea{width:100%;margin:0;padding:10px 11px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink)}.edit-grid textarea{min-height:130px;resize:vertical;line-height:1.45}.edit-photo{display:grid;grid-template-columns:150px 1fr;gap:14px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:13px}.edit-photo img{width:150px;height:112px;object-fit:cover;border-radius:9px;background:var(--cream)}.edit-photo img.empty{background:linear-gradient(135deg,var(--sage),var(--cream))}.edit-photo input[type="file"]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.photo-or{display:inline-block;margin:8px;color:var(--muted);font-size:10px}.photo-file-button{display:inline-block!important;width:auto!important;border:1px solid var(--line);border-radius:9px;padding:9px 11px;background:var(--cream);color:var(--ink);cursor:pointer;font-size:11px}.edit-photo small{display:block;margin-top:7px;color:var(--muted);font-size:9px}.danger-button{border:1px solid #a43c2b!important;background:#a43c2b!important;color:#fff;padding:10px 14px;border-radius:10px}.delete-dialog{width:min(480px,calc(100% - 24px))}@media(max-width:600px){.edit-grid{grid-template-columns:1fr}.edit-grid label.wide,.edit-grid .wide{grid-column:auto}.edit-photo{grid-template-columns:90px 1fr}.edit-photo img{width:90px;height:90px}}
.direction-format-toolbar{display:flex;gap:6px;margin:0 0 7px}.direction-format-toolbar button{border:1px solid var(--line);background:var(--cream);color:var(--ink);border-radius:8px;padding:7px 10px;cursor:pointer;font-size:10px}.direction-format-toolbar button:hover{border-color:var(--red);color:var(--red-dark)}.direction-format-toolbar b{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;margin-right:3px}.direction-format-help{display:block;margin-top:7px;color:var(--muted);font-size:9px;line-height:1.5}.direction-format-help b{color:var(--ink)}

/* Sections de préparation */
.direction-section{padding:26px 2px 7px!important;margin:0!important;border-bottom:1px solid var(--line)}.direction-section:first-child{padding-top:2px!important}.direction-section h3{color:var(--red-dark);font-size:13px;letter-spacing:.12em;text-transform:uppercase}.cooking-section{display:block;margin-bottom:9px;color:var(--red-dark);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.cooking-section[hidden]{display:none}

/* Planification synchronisée */
#weekSummary>button:not(.week-plan-link){display:grid;width:100%;grid-template-columns:48px 1fr;padding:16px 0;border:0;border-bottom:1px solid color-mix(in srgb,var(--sage-ink) 15%,transparent);background:transparent;color:inherit;text-align:left;cursor:pointer}#weekSummary>button:not(.week-plan-link):hover span{color:var(--red-dark)}#weekSummary>button span{font-size:14px}#weekSummary .week-plan-link{margin-top:16px;border:0;background:transparent;color:var(--sage-ink);padding:4px 0;text-decoration:underline;cursor:pointer;font-size:11px}.meal-settings{display:grid;gap:6px;margin-top:12px}.meal-settings label{display:flex;align-items:center;justify-content:space-between;gap:6px;color:var(--muted);font-size:9px}.meal-settings select{max-width:88px;border:1px solid var(--line);border-radius:7px;background:var(--cream);color:var(--ink);padding:5px;font-size:9px}

/* Découvertes Ricardo */
.ricardo-discoveries>header>div:last-child{display:flex;align-items:center;gap:9px}.ricardo-discoveries [data-regenerate-ricardo]{border:1px solid color-mix(in srgb,var(--sage-ink) 28%,transparent);background:transparent;color:var(--sage-ink)}
.ricardo-discoveries article{position:relative}.ricardo-discoveries article .ricardo-dismiss{position:absolute;z-index:2;top:7px;right:7px;width:25px;height:25px;padding:0;border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);border-radius:50%;background:color-mix(in srgb,var(--paper) 92%,transparent);color:var(--ink);font-size:17px;line-height:1;box-shadow:0 2px 7px #0002}
.ricardo-discoveries .ricardo-day{min-width:0;flex:1;border:1px solid var(--line);border-radius:8px;background:var(--cream);color:var(--ink);padding:7px;font-size:9px}
.ricardo-discoveries>header p,.existing-deal-recipes>header p{margin-top:5px;opacity:.72;font-size:10px}.existing-deal-recipes{grid-column:1/-1;padding-top:22px;border-top:1px solid color-mix(in srgb,var(--sage-ink) 25%,transparent)}.existing-deal-recipes>header{margin-bottom:12px}.existing-deal-recipes>header span{font-size:8px;font-weight:800;letter-spacing:.12em}.existing-deal-recipes>header h3{margin:5px 0 0;font-size:23px}.existing-deal-recipes>div{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}@media(max-width:980px){.existing-deal-recipes>div{grid-template-columns:1fr 1fr}}@media(max-width:620px){.existing-deal-recipes>div{grid-template-columns:1fr}.ricardo-discoveries>header small{margin-top:2px}}
.planner-jump-nav{position:sticky;z-index:20;top:74px;display:flex;gap:5px;width:max-content;max-width:100%;margin:-18px auto 24px;padding:5px;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--paper) 92%,transparent);box-shadow:0 8px 22px #0001;backdrop-filter:blur(14px);overflow-x:auto}.planner-jump-nav button{border:0;border-radius:9px;background:transparent;color:var(--ink);padding:9px 13px;white-space:nowrap;cursor:pointer}.planner-jump-nav button:hover{background:var(--sage)}.planner-collapsible{scroll-margin-top:135px}.planner-collapsible>header,.planner-section-header{position:relative}.section-collapse{width:36px;height:36px;min-width:36px;padding:0!important;border:1px solid currentColor!important;border-radius:50%!important;background:transparent!important;color:inherit!important;font-size:17px!important;cursor:pointer}.deal-planner>header .section-collapse,.grocery-section>header .section-collapse{margin-left:7px}.planner-section-summary{display:block;margin-top:7px;color:inherit;opacity:.62;font-size:10px}.planner-week{margin:0 0 30px}.planner-week>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px;padding:0 3px}.planner-week>header h2{margin:4px 0 0}.planner-week.is-collapsed,.grocery-section.is-collapsed,.planner-secondary.is-collapsed{padding-bottom:18px}.planner-collapsible.is-collapsed>*:not(header):not(.planner-section-header){display:none!important}.planner-collapsible.is-collapsed>header,.planner-collapsible.is-collapsed>.planner-section-header{margin-bottom:0}.planner-section-header{display:flex;align-items:center;justify-content:space-between}@media(max-width:700px){.planner-jump-nav{top:68px;width:100%;margin-top:-12px}.planner-jump-nav button{flex:1;padding:8px 10px}.planner-collapsible{scroll-margin-top:125px}.planner-week>header{padding:0}.deal-planner>header,.grocery-section>header{display:grid;grid-template-columns:1fr auto}.deal-planner>header>.section-collapse,.grocery-section>header>.section-collapse{grid-column:2}.section-collapse{width:34px;height:34px;min-width:34px}}
.section-collapse:focus-visible{outline:0!important;box-shadow:inset 0 0 0 2px var(--red)!important}
.recipe-empty{grid-column:1/-1;display:grid;justify-items:start;gap:10px;min-height:260px;padding:clamp(30px,5vw,58px);border:1px dashed color-mix(in srgb,var(--red) 35%,var(--line));border-radius:3px 18px 18px 18px;background:color-mix(in srgb,var(--paper) 72%,transparent)}.recipe-empty h3{max-width:560px;margin:3px 0 0;font:600 clamp(28px,3.4vw,46px)/1.05 Fraunces,Georgia,serif}.recipe-empty p{max-width:520px}.recipe-empty button{margin-top:8px;border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:11px 14px;cursor:pointer;font-weight:700}.recipe-empty button.primary{border-color:var(--red);background:var(--red);color:#fff}.recipe-grid.list-view .recipe-empty{display:grid}@media(max-width:600px){.recipe-empty{min-height:220px;padding:28px 22px}.recipe-empty h3{font-size:30px}.recipe-empty button{width:100%}}
.deal-library-empty{display:grid;justify-items:start;gap:9px;padding:24px 0 3px;border-top:1px solid color-mix(in srgb,var(--sage-ink) 25%,transparent)}.deal-library-empty h3{max-width:620px;margin:3px 0 0;font:600 clamp(25px,3vw,38px)/1.08 Fraunces,Georgia,serif}.deal-library-empty p{max-width:650px}.deal-library-empty .primary{margin-top:8px}
.library-hero{margin-bottom:42px}.library-command{display:grid;gap:16px;margin-bottom:18px;padding-bottom:17px;border-bottom:1px solid var(--line)}.library-command-head{display:flex;align-items:end;justify-content:space-between;gap:24px}.library-command-head>div{display:flex;align-items:baseline;gap:12px}.library-command-head h2{font-size:32px}.library-command-head #resultCount{color:var(--muted);font-size:11px;white-space:nowrap}.library-command-head .search{width:min(390px,42%)}.library-command-tools{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:38px}.library-command-tools .tag-filters{flex:1}.library-command-tools .library-display{flex:0 0 auto}.library-command-tools .sort-control span{font-size:10px}.library-command-tools .sort-control select{padding:7px 9px}.library-command-tools .view-toggle{white-space:nowrap}@media(max-width:760px){.library-hero{margin-bottom:28px}.library-command-head{align-items:stretch;flex-direction:column;gap:14px}.library-command-head>div{justify-content:space-between}.library-command-head h2{font-size:28px}.library-command-head .search{width:100%}.library-command-tools{align-items:stretch;flex-direction:column}.library-command-tools .tag-filters{order:2}.library-command-tools .library-display{width:100%;max-width:100%;flex:none;justify-content:space-between}.library-command-tools .sort-control span{display:none}}

/* Bibliothèque — hiérarchie resserrée et outils réunis. */
#recipes .library-hero{margin-bottom:30px}
#recipes .library-hero h1{max-width:none;margin:8px 0 9px;font-size:clamp(48px,5.2vw,70px);line-height:.96}
#recipes .library-hero p{font-size:13px}
#recipes .library-command{gap:12px;margin-bottom:12px;padding-bottom:13px}
#recipes .library-command-head{align-items:center}
#recipes .library-command-head h2{font-size:30px}
#recipes .library-command-head .search{width:min(315px,34%);padding:9px 12px;font-size:12px}
#recipes .library-command-tools{align-items:flex-start;gap:24px}
#recipes .tag-filter-tools{flex:1;min-width:0}
#recipes .library-display{padding-top:1px}
#recipes .selection-toggle{border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:8px;background:color-mix(in srgb,var(--paper) 72%,transparent);padding:5px 9px;color:var(--red-dark)}
#recipes .selection-toggle:hover{border-color:color-mix(in srgb,var(--red) 45%,var(--line));background:var(--paper)}
#recipes .library-result-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-height:34px;margin:1px 0 7px}
#recipes .library-result-actions #resultCount{margin-right:auto;color:var(--muted);font-size:10px;font-variant-numeric:tabular-nums}
#recipes .recipe-list-head{margin-top:0;margin-bottom:4px;padding-top:2px;padding-bottom:7px}
#recipes .recipe-list-head button{color:color-mix(in srgb,var(--ink) 68%,var(--muted));font-size:9px;letter-spacing:.07em}
#recipes .recipe-grid.list-view{gap:5px}
#recipes .recipe-grid.list-view .recipe-card{min-height:64px}
#recipes .recipe-grid.list-view .recipe-duration,
#recipes .recipe-grid.list-view .recipe-price{color:color-mix(in srgb,var(--ink) 72%,var(--muted))}
@media(max-width:760px){#recipes .library-hero{margin-bottom:24px}#recipes .library-hero h1{font-size:clamp(43px,13vw,60px)}#recipes .library-command-head{align-items:stretch}#recipes .library-command-head .search{width:100%;font-size:16px}#recipes .library-command-tools{gap:12px}#recipes .library-display{padding-top:0}#recipes .selection-toggle{padding:5px 8px}#recipes .library-result-actions{margin-top:0}}
.recipe-share-inbox{margin:-16px 0 32px;padding:20px;border:1px solid color-mix(in srgb,var(--red) 30%,var(--line));border-radius:18px;background:color-mix(in srgb,var(--sage) 72%,var(--paper))}.recipe-share-inbox>header{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:12px}.recipe-share-inbox h2{margin-top:5px}.recipe-share-inbox>header>span{color:var(--muted);font-size:10px}.recipe-share-inbox article{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px;border-radius:13px;background:var(--paper)}.recipe-share-inbox article+article{margin-top:8px}.recipe-share-inbox img,.share-photo-placeholder{width:72px;height:64px;border-radius:10px;object-fit:cover}.share-photo-placeholder{display:grid;place-items:center;background:var(--red);color:#fff;font:28px Georgia,serif}.recipe-share-inbox article small{color:var(--red-dark);font-size:9px;font-weight:800}.recipe-share-inbox article h3{margin:4px 0;font-size:19px}.recipe-share-inbox article p{font-size:10px}.share-inbox-actions{display:flex;gap:7px}.share-inbox-actions button{border:1px solid var(--line);border-radius:9px;background:transparent;padding:8px 10px;cursor:pointer}.share-inbox-actions .primary{border-color:var(--red);background:var(--red)}.share-recipe-dialog form{display:grid;gap:16px}.share-recipe-dialog h2,.share-recipe-dialog p{margin:0}.share-recipe-dialog form>label{display:grid;gap:7px;font-weight:700}.share-recipe-dialog input{margin:0}.share-recents{display:grid;gap:7px}.share-recents>small,.share-household-match small{color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.1em}.share-recents>div{display:flex;gap:6px;flex-wrap:wrap}.share-recents button{border:1px solid var(--line);border-radius:99px;background:var(--cream);padding:7px 10px;cursor:pointer}.share-household-match{display:flex;align-items:center;justify-content:space-between;padding:11px 13px;border-radius:10px;background:var(--sage);color:var(--sage-ink)}@media(max-width:650px){.recipe-share-inbox{margin-top:-8px;padding:15px}.recipe-share-inbox article{grid-template-columns:58px 1fr}.recipe-share-inbox img,.share-photo-placeholder{width:58px;height:58px}.share-inbox-actions{grid-column:1/-1}.share-inbox-actions button{flex:1}}
@media(max-width:700px){.planner-collapsible>[data-collapse-header]{margin-inline:-10px;padding:10px;border-radius:12px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.planner-collapsible>[data-collapse-header]:active{background:color-mix(in srgb,var(--sage) 55%,transparent)}.planner-week>header{padding:10px}}
@media(max-width:700px){.deal-planner>header{display:grid;grid-template-columns:1fr;padding-right:54px}.deal-planner>header>.section-collapse{position:absolute;top:10px;right:10px;margin:0;grid-column:auto}.deal-planner>header>#dealSettings{justify-self:start;margin-top:14px}.deal-planner.is-collapsed>header>#dealSettings{display:none}}
.ricardo-discoveries{grid-column:1/-1;margin-top:10px;padding-top:18px;border-top:1px solid color-mix(in srgb,var(--sage-ink) 25%,transparent)}.ricardo-discoveries>header{display:flex;align-items:end;justify-content:space-between;margin-bottom:10px}.ricardo-discoveries>header span{font-size:8px;font-weight:800;letter-spacing:.12em}.ricardo-discoveries>header h3{margin:4px 0 0;font-size:23px}.ricardo-discoveries>header small{opacity:.68;font-size:9px}.ricardo-discoveries>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ricardo-discoveries article{display:grid;grid-template-columns:105px 1fr;overflow:hidden;border-radius:12px;background:var(--paper);color:var(--ink)}.ricardo-discoveries article>img{width:105px;height:150px;object-fit:cover}.ricardo-discoveries article>div{padding:14px}.ricardo-discoveries article span{color:var(--red-dark);font-size:8px;font-weight:800;text-transform:uppercase}.ricardo-discoveries h4{margin:6px 0;font:400 18px Georgia,serif;line-height:1.18}.ricardo-discoveries article p{color:var(--muted);font-size:9px}.ricardo-discoveries article>div>div{display:flex;align-items:center;gap:7px;margin-top:13px}.ricardo-discoveries a{color:var(--red-dark);font-size:9px}.ricardo-discoveries button{border:0;border-radius:8px;background:var(--red);color:#fff;padding:7px 9px;cursor:pointer;font-size:9px}.ricardo-discoveries button:disabled{opacity:.65}@media(max-width:680px){.ricardo-discoveries>header{align-items:flex-start;flex-direction:column;gap:5px}.ricardo-discoveries>div{grid-template-columns:1fr}.ricardo-discoveries article{grid-template-columns:85px 1fr}.ricardo-discoveries article>img{width:85px;height:145px}}

/* Prix par portion */
.recipe-price{color:var(--muted)}.recipe-list-head{grid-template-columns:58px minmax(180px,1.35fr) minmax(130px,.9fr) minmax(90px,.65fr) minmax(100px,.7fr) minmax(80px,.55fr)}.recipe-grid.list-view .recipe-copy{grid-template-columns:minmax(180px,1.35fr) minmax(130px,.9fr) minmax(90px,.65fr) minmax(100px,.7fr) minmax(80px,.55fr)}.recipe-grid.list-view .recipe-price{grid-column:4;grid-row:1/3;margin:0}.recipe-grid.list-view .recipe-source{grid-column:5}@media(max-width:760px){.recipe-list-head{grid-template-columns:54px minmax(0,1fr) auto auto}.recipe-list-head [data-list-sort="price"]{display:block;grid-column:4;text-align:right}.recipe-grid.list-view .recipe-copy{grid-template-columns:1fr auto auto}.recipe-grid.list-view .recipe-duration{grid-column:2}.recipe-grid.list-view .recipe-price{display:block;grid-column:3;grid-row:1/3;text-align:right;white-space:nowrap}}
.auth-pending>.topbar,.auth-pending>main,.auth-pending>.back-to-top{display:none}.auth-gate{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 15% 10%,color-mix(in srgb,var(--red) 13%,transparent),transparent 35%),var(--cream)}body:not(.auth-pending)>.auth-gate{display:none}.auth-card{width:min(470px,100%);padding:clamp(28px,6vw,50px);border:1px solid var(--line);border-radius:28px;background:var(--paper);box-shadow:0 28px 90px rgba(48,31,22,.12)}.auth-card>.mark{display:grid;margin-bottom:28px}.auth-card h1{font-size:clamp(38px,8vw,58px)}.auth-card>p{color:var(--muted);margin-bottom:25px}.auth-card form{display:grid;gap:15px}.auth-card label,.household-dialog label{display:grid;gap:7px}.auth-card label span,.household-dialog label span{font-size:12px;font-weight:700}.auth-card input,.household-dialog input{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:11px;background:var(--cream);color:var(--ink)}.auth-card .primary{padding:13px}.auth-switch{display:block;margin:18px auto 12px;border:0;background:none;color:var(--red-dark);cursor:pointer;text-decoration:underline}.auth-card>small{display:block;color:var(--muted);text-align:center;line-height:1.45}.auth-status{padding:11px 13px;border-radius:10px;background:color-mix(in srgb,var(--red) 10%,var(--paper));color:var(--red-dark)!important}.account-button{border:1px solid var(--line);background:var(--paper);border-radius:11px;padding:9px 12px;cursor:pointer}.household-dialog form{padding:30px}.household-dialog h2{margin-bottom:4px}.household-members{margin:20px 0}.household-members article{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--line)}.household-members small{color:var(--muted)}#ownerInvite{display:grid;gap:13px;margin:20px 0}#inviteResult{grid-template-columns:1fr auto}#inviteResult span{grid-column:1/-1}#inviteResult button{border:1px solid var(--line);border-radius:10px;background:var(--cream)}.admin-household-invite{display:grid;gap:10px;margin:22px 0;padding:18px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--sage) 45%,var(--paper))}.admin-household-invite h3,.admin-household-invite p{margin:0}.admin-household-invite p{color:var(--muted)}#householdInviteResult{display:grid;grid-template-columns:1fr auto;gap:8px}#householdInviteResult span{grid-column:1/-1}.admin-household-invite[hidden],#householdInviteResult[hidden]{display:none}.household-dialog .danger-link{margin-top:20px}
.auth-pending{overflow:hidden}.auth-gate{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}@media(max-height:760px),(max-width:520px){.auth-gate{display:block;padding:0}.auth-card{width:100%;min-height:100%;border:0;border-radius:0;padding:32px max(24px,env(safe-area-inset-right)) calc(38px + env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));box-shadow:none}.auth-card>.mark{margin-bottom:22px}.auth-card h1{font-size:clamp(42px,14vw,64px)}.auth-card .primary{width:100%;margin-top:4px}}
.household-uat{display:grid;gap:7px;margin:22px 0;padding:17px;border:1px solid var(--line);border-radius:14px;background:var(--cream)}.household-uat h3{margin:0}.household-uat p{margin:0 0 5px;font-size:12px}.household-uat .uat-launch{justify-self:start;font-size:inherit}.uat-runner{position:fixed;right:18px;bottom:18px;z-index:70;width:min(440px,calc(100% - 36px));max-height:calc(100vh - 36px);overflow:auto;border:1px solid var(--line);border-radius:20px;background:var(--paper);box-shadow:0 24px 80px rgba(35,25,20,.28)}.uat-runner form{display:grid;gap:14px;padding:20px}.uat-runner header{display:flex;align-items:start;justify-content:space-between;gap:15px}.uat-runner header h2{margin:5px 0 0;font-size:23px}.uat-runner header button{border:0;background:transparent;font-size:24px;cursor:pointer}.uat-runner .uat-requirement{margin:0;padding-bottom:13px;font-size:12px;color:var(--muted)}.uat-run-progress{display:grid;gap:7px}.uat-run-progress span{font-size:10px;font-weight:800;color:var(--muted)}.uat-run-progress i{height:6px;overflow:hidden;border-radius:99px;background:var(--line)}.uat-run-progress i b{display:block;height:100%;border-radius:inherit;background:var(--red);transition:width .2s}.uat-runner .uat-steps{margin:0}.uat-runner .uat-steps article{font-size:16px;line-height:1.45}.uat-runner .uat-expected{font-size:12px}.uat-run-navigation{display:flex;justify-content:space-between;gap:9px}.uat-run-navigation button{padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:var(--cream);cursor:pointer}.uat-run-navigation .primary{background:var(--red);border-color:var(--red)}.uat-run-navigation button:disabled{opacity:.4}.uat-result-fields{display:grid;gap:2px;border-top:1px solid var(--line);padding-top:12px}.uat-result-fields .dialog-actions{margin-top:10px}@media(max-width:600px){.uat-runner{right:8px;bottom:8px;width:calc(100% - 16px);max-height:calc(100vh - 16px);border-radius:17px}.uat-runner form{padding:16px}.uat-runner header h2{font-size:20px}}
.household-feedback{display:grid;gap:7px;margin:22px 0;padding:17px;border:1px solid color-mix(in srgb,var(--red) 28%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--red) 5%,var(--paper))}.household-feedback h3,.household-feedback p{margin:0}.household-feedback p{font-size:12px}.household-feedback button{justify-self:start;margin-top:5px;border:0;background:transparent;color:var(--red-dark);padding:2px 0;font-weight:700;cursor:pointer}.feedback-dialog form{display:grid;gap:16px}.feedback-dialog h2,.feedback-dialog p{margin:0}.feedback-dialog fieldset{display:flex;gap:18px;border:0;padding:0}.feedback-dialog fieldset label{display:flex;align-items:center;gap:7px}.feedback-dialog form>label{display:grid;gap:7px;font-weight:700}.feedback-dialog input[type="text"],.feedback-dialog input:not([type]),.feedback-dialog textarea{width:100%;margin:0;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--cream);color:var(--ink)}.feedback-dialog textarea{min-height:150px;resize:vertical}.feedback-dialog .dialog-actions{margin-top:3px}@media(max-width:520px){.feedback-dialog fieldset{align-items:flex-start;flex-direction:column;gap:9px}}
.feedback-inbox{display:grid;gap:8px;margin:22px 0;padding:17px;border:1px solid var(--line);border-radius:14px;background:var(--sage)}.feedback-inbox h3{margin:0}.feedback-inbox-list{display:grid}.feedback-inbox article{padding:12px 0;border-top:1px solid color-mix(in srgb,var(--sage-ink) 18%,transparent)}.feedback-inbox article header{display:flex;justify-content:space-between;gap:12px;color:var(--red-dark);font-size:9px;text-transform:uppercase;letter-spacing:.08em}.feedback-inbox article h4{margin:5px 0;font-size:15px}.feedback-inbox article p{margin:0 0 7px;color:var(--ink);font-size:11px;white-space:pre-wrap}.feedback-inbox article small{color:var(--muted);font-size:9px}
.uat-runner .uat-precondition{background:color-mix(in srgb,var(--terracotta) 10%,var(--paper));border-left:4px solid var(--terracotta);border-radius:12px;padding:12px 16px}.uat-runner .uat-precondition small,.uat-runner .uat-precondition p{display:block;margin:0}.uat-runner .uat-precondition small{color:var(--terracotta);font-weight:800;letter-spacing:.12em}.uat-runner .uat-precondition p{margin-top:5px}.uat-matrix td[data-uat-precondition]{min-width:240px}
.paprika-import{display:grid;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.paprika-link{justify-self:start;border:0;background:transparent;color:var(--muted);padding:2px 0!important;font-size:9px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.paprika-link:hover{color:var(--ink)}.paprika-import #paprikaPreview{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--cream)}.paprika-import #paprikaPreview p{margin:0 0 10px;line-height:1.45}.paprika-import #paprikaPreview button{width:100%}
.uat-metrics{grid-template-columns:repeat(5,1fr)}.uat-status.passed-with-reservation{background:#dce8ef;color:#315a70}@media(max-width:780px){.uat-metrics{grid-template-columns:repeat(2,1fr)}}
.library-search-tools{display:grid;gap:9px;justify-items:stretch}.discovery-launch{border:1px solid var(--red);border-radius:12px;background:var(--paper);color:var(--red-dark);padding:11px 14px;font-weight:800;cursor:pointer}.discovery-launch:hover{background:var(--sage)}
.discovery-dialog{width:min(1120px,calc(100% - 28px));max-width:none;max-height:calc(100% - 28px)}.discovery-dialog>form{position:relative;padding:30px}.discovery-dialog h2{margin:6px 0 6px;font:600 clamp(32px,4vw,52px)/1.02 Fraunces,Georgia,serif}.discovery-dialog>form>p{color:var(--muted)}.discovery-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0 12px}.discovery-fields label,.discovery-filters label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:700}.discovery-fields input,.discovery-filters select,.discovery-day{width:100%;border:1px solid var(--line);border-radius:11px;background:var(--cream);padding:12px;color:var(--ink)}.discovery-filters{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:10px}.discovery-filters .primary{height:44px}.discovery-status{min-height:22px;margin:18px 0!important}.discovery-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.discovery-card{position:relative;display:grid;grid-template-columns:145px 1fr;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--cream)}.discovery-card>img,.discovery-image-placeholder{width:145px;height:100%;min-height:245px;object-fit:cover}.discovery-image-placeholder{display:grid;place-items:center;background:var(--sage);font-size:36px}.discovery-dismiss{position:absolute;z-index:1;right:10px;top:10px;width:32px;height:32px;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--ink);font-size:20px;cursor:pointer}.discovery-card-body{min-width:0;padding:20px 18px}.discovery-source{color:var(--red-dark);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.discovery-card h3{margin:6px 35px 5px 0;font:600 24px/1.05 Fraunces,Georgia,serif}.discovery-meta,.discovery-missing{margin:0 0 10px!important;font-size:11px}.discovery-matches{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0}.discovery-matches span{border-radius:99px;background:var(--sage);color:var(--sage-ink);padding:5px 8px;font-size:10px;font-weight:700}.discovery-missing b{display:block;color:var(--ink)}.discovery-actions{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:14px}.discovery-actions a,.discovery-actions button{border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink);padding:8px 9px;font-size:10px;font-weight:700;text-decoration:none;cursor:pointer}.discovery-actions .primary{background:var(--red);color:#fff;border-color:var(--red)}
@media(max-width:760px){.library-search-tools{width:100%}.discovery-dialog>form{padding:22px 16px}.discovery-fields,.discovery-filters{grid-template-columns:1fr}.discovery-results{grid-template-columns:1fr}.discovery-card{grid-template-columns:105px 1fr}.discovery-card>img,.discovery-image-placeholder{width:105px}.discovery-card h3{font-size:20px}.discovery-actions{display:grid}.discovery-actions>*{text-align:center}}
.tour-active:after{content:"";position:fixed;inset:0;z-index:900;background:rgba(24,19,16,.68);pointer-events:none}.tour-active.tour-topbar .topbar{z-index:901}.tour-highlight{position:relative!important;z-index:902!important;border-radius:14px;box-shadow:0 0 0 5px var(--paper),0 0 0 8px var(--red),0 18px 50px rgba(0,0,0,.3)!important}.pantry-tour{position:fixed;z-index:904;right:24px;bottom:24px;width:min(390px,calc(100% - 32px));padding:25px;border:1px solid var(--line);border-radius:20px;background:var(--paper);color:var(--ink);box-shadow:0 24px 70px rgba(0,0,0,.32)}.pantry-tour[hidden]{display:none}.pantry-tour-skip{position:absolute;right:16px;top:14px;border:0;background:transparent;color:var(--muted);cursor:pointer}.pantry-tour h2{margin:8px 0;font:600 29px/1.05 Fraunces,Georgia,serif}.pantry-tour p{margin:0;color:var(--muted);line-height:1.5}.pantry-tour-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px}.pantry-tour-footer>span{display:flex;gap:5px}.pantry-tour-footer i{width:7px;height:7px;border-radius:50%;background:var(--line)}.pantry-tour-footer i.active{width:20px;border-radius:8px;background:var(--red)}.household-tour{margin:18px 0;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--cream)}.household-tour h3{margin:5px 0}.household-tour p{margin:0 0 10px;color:var(--muted)}.household-tour button{border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);padding:9px 11px;cursor:pointer;font-weight:700}@media(max-width:600px){.tour-active.tour-topbar .topbar{position:relative}.pantry-tour{right:16px;bottom:16px;padding:21px}.pantry-tour h2{font-size:25px}.tour-highlight{box-shadow:0 0 0 3px var(--paper),0 0 0 6px var(--red)!important}}
.tag-filter-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.clear-filters{border:0;background:transparent;color:var(--red-dark);padding:7px 2px;cursor:pointer;font:inherit;font-size:11px;text-decoration:underline;white-space:nowrap}
