:root{
  color-scheme:light;
  --paper:#f5efe4;
  --paper-deep:#eee4d3;
  --card:#fffdf8;
  --ink:#382a22;
  --muted:#786c5e;
  --sage:#596b50;
  --sage-dark:#40533c;
  --sage-pale:#e4e8d9;
  --clay:#b85f43;
  --clay-dark:#93482f;
  --clay-pale:#f4e2d7;
  --honey:#dfb45d;
  --line:#e4d9c7;
  --shadow:0 12px 34px #55432b12;
  --serif:Georgia,"Iowan Old Style","Palatino Linotype",serif;
  --sans:system-ui,-apple-system,"Segoe UI",sans-serif
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(ellipse at 88% 9%,#ecdfc9 0,transparent 30rem),var(--paper);font:16px/1.55 var(--sans);color:var(--ink)}
button,input,textarea,select{font:inherit}
button{border:1px solid transparent;border-radius:999px;background:var(--sage);color:var(--card);padding:11px 18px;font-weight:650;cursor:pointer;transition:background .18s ease,transform .18s ease,box-shadow .18s ease}
button:hover{background:var(--sage-dark);box-shadow:0 5px 14px #40533c22;transform:translateY(-1px)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #d59a63;outline-offset:3px}
a{color:var(--clay-dark)}
.site-header{height:76px;padding:0 clamp(20px,6vw,96px);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e4d9c7cc;background:#f8f3e9eF;backdrop-filter:blur(14px);position:sticky;top:0;z-index:3}
.brand{display:inline-flex;align-items:center;gap:10px;min-width:0;color:var(--ink);font:700 1.28rem var(--serif);letter-spacing:-.03em;text-decoration:none}
.brand-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--clay);color:#fff6e8;font:italic 700 1.2rem var(--serif);box-shadow:inset 0 0 0 1px #ffffff40}
.brand-light{font-weight:400;color:var(--sage)}
nav{display:flex;align-items:center;gap:8px}
nav button{background:transparent;color:var(--sage-dark);padding:9px 14px}
nav button:hover{background:var(--sage-pale);box-shadow:none;transform:none}
#logout{background:var(--clay-pale);color:var(--clay-dark)}
main{width:min(1320px,100%);margin:auto;padding:34px clamp(16px,4vw,52px) 80px}
.hero{position:relative;isolation:isolate;min-height:310px;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(270px,.8fr);gap:40px;align-items:center;padding:clamp(30px,5vw,66px);border-radius:30px;background:linear-gradient(118deg,#596c50 0%,#6a775a 56%,#89754e 100%);color:#fff9ec;box-shadow:0 20px 50px #58473222}
.hero:before,.hero:after{position:absolute;z-index:-1;content:"";border:1px solid #fff6e12c;border-radius:50%}
.hero:before{width:380px;height:380px;right:14%;top:-235px}
.hero:after{width:470px;height:470px;right:-125px;bottom:-370px}
.hero-copy{max-width:590px}
.eyebrow{margin:0 0 9px;text-transform:uppercase;font-size:.72rem;line-height:1.4;letter-spacing:.16em;font-weight:750;color:var(--clay);opacity:1}
.hero .eyebrow{color:#ead49c}
.hero h1{margin:0;font:italic 500 clamp(2.8rem,6.3vw,5.25rem)/.99 var(--serif);letter-spacing:-.055em}
.hero-intro{max-width:450px;margin:20px 0 0;color:#f4eddd;font-size:1.05rem}
.hero-search{position:relative;z-index:1;justify-self:end;width:min(100%,370px);padding:23px;border:1px solid #fff8e84c;border-radius:21px;background:#f8f2eaeF;color:var(--ink);box-shadow:0 16px 38px #25301e22}
.hero-search>label{display:block;margin-bottom:9px;color:var(--sage-dark);font-size:.83rem;font-weight:700}
.search-field{display:flex;align-items:center;gap:10px;padding:0 14px;border:1px solid var(--line);border-radius:13px;background:var(--card)}
.search-field>span{font:1.55rem var(--serif);color:var(--clay)}
.search-field input{width:100%;min-width:0;padding:13px 0;border:0;outline:0;background:transparent;color:var(--ink)}
.search-field input:focus-visible{outline:0}
.hero-search>p{display:flex;align-items:center;gap:9px;margin:14px 0 0;color:var(--muted);font-size:.76rem}
.hero-dot{color:var(--clay);font-size:.95rem}
.hero-flower{position:absolute;right:clamp(20px,8vw,112px);top:-65px;width:150px;height:150px;display:grid;place-content:center;gap:1px;border:1px solid #fff6e267;border-radius:50%;background:#bd704b;color:#fff3df;text-align:center;font-size:.59rem;font-weight:800;letter-spacing:.22em;line-height:1.25;transform:rotate(13deg);box-shadow:0 0 0 8px #bd704b3a,0 0 0 9px #fff5df40;opacity:.96}
.hero-flower:after{content:"✳";position:absolute;inset:0;display:grid;place-items:center;color:#fff0d22e;font-size:7rem}
.collection-heading{display:flex;justify-content:space-between;align-items:end;gap:18px;margin:48px 4px 20px}
.collection-heading .eyebrow{margin-bottom:4px}
.collection-heading h2{margin:0;font:italic 500 clamp(2rem,4vw,3rem)/1.08 var(--serif);letter-spacing:-.035em}
.collection-note{padding-bottom:5px;color:var(--muted);font:italic 1rem var(--serif)}
.cookbook-filters{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:16px 0 12px;padding:16px 18px;border:1px solid var(--line);border-radius:17px;background:#fffaf2b8}
.cookbook-filters label{display:grid;gap:5px;color:var(--muted);font-size:.78rem;font-weight:700;letter-spacing:.02em}
.cookbook-filters select{min-width:165px;padding:9px 34px 9px 12px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 24px}
.chips button{padding:7px 13px;border:1px solid #d5ddc9;background:#e7eadf;color:var(--sage-dark);font-size:.85rem}
.chips button:hover{background:#dce3d1;box-shadow:none;transform:none}
.chips button.active{border-color:var(--sage);background:var(--sage);color:#fff9ec}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.card{border:1px solid var(--line);border-radius:20px;background:var(--card);box-shadow:var(--shadow)}
.recipe{min-width:0;overflow:hidden;transition:transform .22s ease,box-shadow .22s ease}
.recipe[role="link"]{cursor:pointer}
.recipe[role="link"]:focus-visible{outline:3px solid var(--sage);outline-offset:3px}
.recipe-edit-button{padding:9px 16px;border:1px solid var(--line);background:#f3ecdd;color:var(--ink)}
.recipe:hover{transform:translateY(-4px);box-shadow:0 18px 40px #55432b20}
.recipe-photo{position:relative;display:grid;place-items:center;aspect-ratio:1.48/1;overflow:hidden;background:linear-gradient(145deg,#eadab9,#d9c7a4 50%,#c8ceb4);color:#5c6c4e}
.recipe-photo:before,.recipe-photo:after{position:absolute;content:"";border:1px solid #fff7e577;border-radius:50%}
.recipe-photo:before{width:70%;aspect-ratio:1;transform:rotate(-25deg) scaleX(.7)}
.recipe-photo:after{width:48%;aspect-ratio:1;transform:rotate(35deg) scaleX(.7)}
.recipe-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.recipe:hover .recipe-photo img{transform:scale(1.035)}
.recipe-placeholder{z-index:1;display:grid;justify-items:center;gap:3px;text-align:center}
.recipe-placeholder>span{font:4.7rem/1 var(--serif);color:#a6593d}
.recipe-placeholder small{font:italic .93rem var(--serif);color:#55654a}
.photo-label{position:absolute;top:14px;left:14px;z-index:1;padding:6px 10px;border:1px solid #fff9efb0;border-radius:999px;background:#fff9efdf;color:var(--sage-dark);font-size:.69rem;font-weight:750;letter-spacing:.04em}
.draft-label{position:absolute;top:14px;right:14px;z-index:1;padding:6px 10px;border:1px solid #f7e4d6;border-radius:999px;background:#f5e2d5f2;color:var(--clay-dark);font-size:.69rem;font-weight:750;letter-spacing:.025em}
.recipe-duration-badge{display:none}
.recipe-content{padding:19px 21px 21px}
.recipe-content .eyebrow{min-height:1em;margin-bottom:8px;font-size:.64rem;color:var(--clay-dark)}
.recipe h2{margin:0 0 9px;font:italic 500 1.55rem/1.12 var(--serif);letter-spacing:-.025em}
.recipe .summary{min-height:3.15em;margin:0;color:var(--muted);font-size:.91rem;line-height:1.55}
.recipe-meta{display:flex;flex-wrap:wrap;gap:8px;margin:17px 0 14px}
.recipe-meta span{padding:5px 10px;border-radius:999px;background:var(--sage-pale);color:var(--sage-dark);font-size:.75rem;font-weight:650}
.recipe-open{display:flex;justify-content:space-between;align-items:center;padding-top:13px;border-top:1px solid var(--line);color:var(--clay-dark);font-size:.9rem;font-weight:750;text-decoration:none}
.recipe-open span{font-size:1.15rem;transition:transform .18s ease}
.recipe-open:hover span{transform:translate(2px,-2px)}
.empty-state{padding:60px 20px;border:1px dashed #d3c5ae;border-radius:22px;background:#fffaf377;color:var(--muted);text-align:center;font:italic 1.2rem var(--serif)}
#load-more{display:block;margin:30px auto}
.narrow{max-width:420px;margin:8vh auto;padding:30px}
.is-guest .site-header{display:none}
.is-guest main{min-height:100svh;display:grid;place-items:center;padding:24px}
.is-guest main>.view{display:none!important}
.is-guest #login{width:min(100%,420px);margin:0;padding:34px}
.is-guest #notice{margin:16px 0 4px}
.narrow h1,.card h2{font-family:var(--serif);font-weight:500}
.narrow h1{margin:0;font-style:italic;font-size:2.1rem}
.narrow input,.card input,.card textarea,.card select{width:100%;margin:7px 0;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#fffefb;color:var(--ink)}
.card textarea{min-height:100px}
.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.two>div{display:grid;gap:20px;align-content:start}
.inline-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.notice{margin-bottom:20px;padding:13px 16px;border:1px solid #e9cf96;border-radius:12px;background:#fbefd5;color:#715323}
.file-label{display:block;margin:8px 0;color:var(--muted)}.file-label input[type=file]{display:block}.file-label input[type=checkbox]{width:auto}
.manage-images{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:18px 0}.manage-image-tile,.manage-image-add{position:relative;display:block;width:100%;aspect-ratio:1/1;min-width:0;padding:0!important;overflow:hidden;border:1px solid var(--line)!important;border-radius:13px!important;background:#eee4d3!important;color:var(--ink)!important;box-shadow:none!important}.manage-image-tile{cursor:grab!important;touch-action:none}.manage-image-tile:active{cursor:grabbing!important}.manage-image-tile img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}.manage-image-tile.is-dragging{opacity:.42}.manage-image-tile.is-drop-target{outline:3px solid var(--sage);outline-offset:2px}.manage-image-cover,.manage-image-pending{position:absolute;z-index:1;left:7px;bottom:7px;max-width:calc(100% - 14px);padding:4px 7px;border:1px solid #fff9;border-radius:999px;background:#fffdf0e8;color:var(--sage-dark);font-size:.68rem;font-weight:700;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;backdrop-filter:blur(6px)}.manage-image-pending{top:7px;bottom:auto;right:7px;left:auto;color:var(--clay-dark)}.manage-image-remove{position:absolute;z-index:2;top:7px;right:7px;display:grid;place-items:center;width:32px;height:32px;min-height:32px!important;padding:0!important;border:1px solid #fff9!important;border-radius:50%!important;background:#fffdf0e8!important;color:#873f2e!important;opacity:0;transform:scale(.94);transition:opacity .15s ease,transform .15s ease;cursor:pointer}.manage-image-tile:hover .manage-image-remove,.manage-image-tile:focus-within .manage-image-remove{opacity:1;transform:scale(1)}.manage-image-add{display:grid;place-content:center;gap:4px;border:1px dashed #c8b99f!important;background:#faf6ed!important;color:var(--sage-dark)!important;cursor:pointer}.manage-image-add:hover{border-color:var(--sage)!important;background:#eef0e6!important;transform:translateY(-2px)}.manage-image-add>span{font:300 2.5rem/1 var(--sans)}.manage-image-add>small{font-size:.7rem;font-weight:650;color:var(--muted)}
.manage-image-order-controls{position:absolute;z-index:2;top:7px;left:7px;display:flex;gap:4px}
.manage-image-order-button{display:grid;place-items:center;width:30px;height:30px;min-height:30px!important;padding:0!important;border:1px solid #fff9!important;border-radius:50%!important;background:#fffdf0e8!important;color:var(--ink)!important;font:700 1rem/1 var(--sans)!important;box-shadow:0 2px 8px #31261922!important;cursor:pointer}
.manage-image-order-button:disabled{opacity:.4;cursor:default}
.recipe-image-actions{display:flex;justify-content:flex-start;margin:16px 0 8px}.recipe-image-actions button{min-height:34px!important;padding:7px 11px!important;font-size:.78rem!important}
.internet-image-dialog{width:min(980px,calc(100vw - 28px));max-width:none;max-height:calc(100dvh - 28px);padding:0;border:0;border-radius:22px;background:transparent;color:var(--ink);box-shadow:0 24px 90px #382a2260}.internet-image-dialog::backdrop{background:#30251e80;backdrop-filter:blur(3px)}.internet-image-card{display:block;max-height:calc(100dvh - 28px);overflow:auto;padding:22px;background:var(--card);border:1px solid #e7ddce;border-radius:22px}.internet-image-card .manage-card-heading{align-items:flex-start}.internet-image-card .manage-card-heading h2{margin:0}.internet-image-card .manage-card-heading p:last-child{margin:4px 0 0;color:var(--muted);font-size:.82rem}.internet-image-close{width:34px;min-height:34px!important;padding:2px!important;border:0!important;background:transparent!important;color:var(--muted);font-size:1.8rem!important;line-height:1}.internet-image-search-row{display:flex;gap:8px;margin:16px 0 10px}.internet-image-search-row input{flex:1;min-width:0}.internet-image-search-row button{flex:0 0 auto}.internet-image-status{min-height:22px;color:var(--muted);font-size:.82rem}.internet-image-results{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:7px 0 18px}.internet-image-result{position:relative;aspect-ratio:1;border:2px solid transparent;border-radius:12px;overflow:hidden;background:#eee4d3;cursor:pointer}.internet-image-result:hover{transform:translateY(-2px);box-shadow:0 8px 18px #55432b22}.internet-image-result img{display:block;width:100%;height:100%;object-fit:cover}.internet-image-result::after{content:"";position:absolute;inset:0;border:3px solid transparent;border-radius:10px;pointer-events:none}.internet-image-result.is-selected{border-color:var(--sage)}.internet-image-result.is-selected::after{border-color:#fff9efb8;box-shadow:inset 0 0 0 3px var(--sage)}.internet-image-result.is-selected::before{content:"✓";position:absolute;z-index:2;top:6px;right:6px;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--sage);color:#fff9ef;font-weight:800}.internet-image-footer{display:flex;align-items:center;gap:9px}.internet-image-footer span{margin-right:auto;color:var(--muted);font-size:.78rem}.internet-image-footer #internet-image-more{margin-right:auto}.internet-image-footer #internet-image-apply{background:var(--sage);color:#fff9ef;border-color:var(--sage)}
@media(max-width:650px){.internet-image-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.internet-image-card{max-height:calc(100dvh - 16px);padding:15px;border-radius:17px}.internet-image-results{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.internet-image-footer{flex-wrap:wrap}.internet-image-footer #internet-image-more{margin-right:auto}.internet-image-footer span{order:4;width:100%;margin:0}.internet-image-search-row button{padding-inline:9px!important}}
@media(hover:none){.manage-image-remove{opacity:1;transform:none}}
.draft-panel{margin-top:22px;padding:22px}.draft-panel>h2{font-size:1.6rem}.draft-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.draft-row strong{flex:1}
#provider-status,#template-status,#ai-rule-status{white-space:pre-line;font-size:.88rem;color:var(--muted)}
.template-editor{min-height:320px!important;font:13px ui-monospace,SFMono-Regular,monospace!important;tab-size:2}
.template-actions{display:flex;flex-wrap:wrap;gap:8px}.template-actions button{border-radius:11px}.template-actions button:disabled{opacity:.45;cursor:not-allowed}
.category-row{display:grid;grid-template-columns:minmax(100px,1fr) auto auto;gap:7px;align-items:center;padding:9px 0;border-top:1px solid var(--line)}.category-row input{margin:0!important;min-width:0}.category-row button{padding:8px 10px}
dialog{position:relative;width:min(1000px,calc(100% - 28px));max-width:none;max-height:min(94vh,1100px);overflow:auto;padding:0;border:1px solid var(--line);border-radius:26px;background:var(--card);color:var(--ink);box-shadow:0 30px 100px #30251b54}
dialog::backdrop{background:#30291f9e;backdrop-filter:blur(5px)}
dialog .close{position:sticky;top:16px;float:right;z-index:2;width:42px;height:42px;margin:15px 15px -58px 0;padding:0;border:1px solid #ffffff99;border-radius:50%;background:#f8f1e5ed;color:var(--ink);font:1.65rem/1 var(--sans);box-shadow:0 4px 14px #31261922}
.recipe-sheet{padding-bottom:26px}
.detail-hero{position:relative;height:clamp(210px,34vw,420px);margin:0;overflow:hidden;background:var(--paper-deep)}
.detail-hero img{width:100%;height:100%;object-fit:cover}
.detail-hero:after{position:absolute;inset:45% 0 0;content:"";background:linear-gradient(transparent,#34271966)}
.detail-hero figcaption{position:absolute;z-index:1;right:25px;bottom:17px;color:white;font-size:.8rem;text-shadow:0 1px 4px #0008}
.recipe-heading{padding:36px clamp(24px,6vw,72px) 26px;border-bottom:1px solid var(--line)}
.recipe-heading .eyebrow{margin:0 0 11px}
.recipe-heading h1{max-width:750px;margin:0;font:italic 500 clamp(2.45rem,6vw,4.4rem)/1.02 var(--serif);letter-spacing:-.045em}
.recipe-lede{max-width:700px;margin:16px 0 0;color:var(--muted);font:1.13rem/1.65 var(--serif)}
.recipe-facts{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.recipe-fact{display:flex;align-items:center;gap:10px;min-width:135px;padding:11px 14px;border:1px solid var(--line);border-radius:14px;background:#faf5eb}
.fact-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:var(--sage-pale);color:var(--sage-dark);font-size:1.15rem}
.fact-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.recipe-fact>span:last-child{display:grid;color:var(--muted);font-size:.73rem;line-height:1.25}
.recipe-fact strong{color:var(--ink);font-size:.9rem}
.recipe-body{display:grid;grid-template-columns:minmax(240px,.78fr) minmax(0,1.35fr);gap:clamp(25px,5vw,60px);padding:34px clamp(24px,6vw,72px)}
.recipe-section h2{margin:0 0 18px;font:italic 500 1.75rem/1.12 var(--serif);letter-spacing:-.02em}
.section-title{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.section-title h2{margin-bottom:18px}
.section-kicker{color:var(--muted);font-size:.72rem}
.ingredients-section{align-self:start;padding:22px;border-radius:18px;background:#f5f1e6}
.ingredients-list,.oven-note ul{margin:0;padding:0;list-style:none}
.ingredients-list li{display:grid;grid-template-columns:minmax(54px,.42fr) 1fr;gap:10px;padding:10px 0;border-top:1px solid #e4dac8;color:var(--ink);font-size:.9rem;line-height:1.4}
.ingredient-amount{color:var(--clay-dark);font-weight:750;font-variant-numeric:tabular-nums}
.recipe-method{display:grid;gap:28px}
.steps-list{display:grid;gap:17px;margin:0;padding:0;list-style:none;counter-reset:recipe-step}
.steps-list li{position:relative;display:grid;grid-template-columns:36px 1fr auto;gap:12px;align-items:start;counter-increment:recipe-step}
.steps-list li:before{content:counter(recipe-step,decimal-leading-zero);display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:var(--clay-pale);color:var(--clay-dark);font:italic 700 .83rem var(--serif)}
.steps-list li>span{padding-top:4px;line-height:1.65}
.steps-list li small{padding:5px 9px;border-radius:999px;background:var(--sage-pale);color:var(--sage-dark);font-size:.7rem;white-space:nowrap}
.recipe-section h3{margin:3px 0 14px;color:var(--sage-dark);font:italic 1.1rem var(--serif)}
.oven-note{padding:17px 20px;border-left:3px solid var(--honey);background:#faf4e5}
.oven-note h2{font-size:1.4rem;margin-bottom:8px}.oven-note li{padding:4px 0;color:var(--muted)}
.recipe-notes{padding:17px 20px;border-radius:14px;background:var(--clay-pale)}.recipe-notes h2{font-size:1.4rem;margin-bottom:8px}.recipe-notes p{margin:7px 0;color:#684632}
.pdf-export{display:inline-flex;align-items:center;gap:9px;padding:11px 18px;border-radius:999px;background:var(--clay);color:#fff9ef;font-weight:750;text-decoration:none;transition:background .18s ease,transform .18s ease}
.pdf-export:hover{background:var(--clay-dark);color:white;transform:translateY(-1px)}
.source-link{font-size:.9rem;font-weight:650;text-decoration:none}
@media(max-width:900px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{grid-template-columns:1fr minmax(240px,.85fr);gap:22px}.hero-flower{right:20px;top:-70px}.hero h1{font-size:clamp(2.75rem,7vw,4rem)}}
@media(max-width:650px){.site-header{height:66px;padding:0 16px}.brand{font-size:1.12rem}.brand-mark{width:31px;height:31px}nav{gap:0}nav button{padding:8px 10px;font-size:.88rem}main{padding:18px 14px 55px}.hero{min-height:0;grid-template-columns:1fr;gap:22px;padding:30px 24px 24px;border-radius:23px}.hero h1{font-size:clamp(2.8rem,13vw,4.25rem)}.hero-intro{max-width:360px;margin-top:14px;font-size:.98rem}.hero-search{justify-self:stretch;width:100%;padding:17px}.hero-flower{right:25px;top:-47px;width:100px;height:100px;opacity:.6}.hero-flower:after{font-size:5rem}.collection-heading{align-items:start;flex-direction:column;margin:34px 3px 16px}.collection-heading h2{font-size:2.4rem}.collection-note{padding:0}.cookbook-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:13px;gap:9px}.cookbook-filters label{min-width:0}.cookbook-filters select{min-width:0;width:100%}.cookbook-filters label:first-child{grid-column:1/-1}.chips{flex-wrap:nowrap;overflow:auto;margin:14px -14px 20px;padding:0 14px 5px}.chips button{flex:0 0 auto}.grid{gap:13px}.recipe-content{padding:15px}.recipe h2{font-size:1.28rem}.recipe .summary{font-size:.83rem;min-height:4.6em}.recipe-photo{aspect-ratio:1/1}.recipe-placeholder small{max-width:110px;font-size:.78rem}.recipe-placeholder>span{font-size:3.7rem}.recipe-meta{margin:12px 0}.recipe-meta span{font-size:.68rem;padding:4px 8px}.recipe-open{font-size:.8rem}.inline-fields{grid-template-columns:1fr}.draft-row{align-items:flex-start;flex-direction:column}.manage-image{grid-template-columns:70px 1fr}.manage-image>img{width:70px;height:64px}.manage-image>.template-actions{grid-column:1/-1}.recipe-heading{padding:27px 23px 22px}.recipe-heading h1{font-size:clamp(2.5rem,12vw,3.7rem)}.recipe-lede{font-size:1.03rem}.recipe-facts{gap:8px;margin-top:18px}.recipe-fact{flex:1;min-width:calc(50% - 8px);padding:9px}.recipe-body{grid-template-columns:1fr;gap:28px;padding:23px}.ingredients-section{padding:18px}.recipe-method{gap:22px}.recipe-footer{margin:0 23px}.detail-hero{height:230px}}
@media(max-width:390px){.grid{grid-template-columns:1fr}.recipe-photo{aspect-ratio:1.6/1}.recipe .summary{min-height:0}.category-row{grid-template-columns:1fr 1fr}.category-row input{grid-column:1/-1}.recipe-fact{min-width:100%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* Compact, search-first cookbook inspired by RecipeSage; all recipe content stays first-party. */
.site-header{height:68px;padding-inline:clamp(18px,5vw,72px)}
.brand{width:48px;height:48px;gap:0}.brand-mark{width:48px;height:48px;overflow:visible;background:transparent;box-shadow:none}.mark-bowl{fill:var(--clay);stroke:var(--clay-dark);stroke-width:1.2}.mark-line{fill:none;stroke:var(--sage-dark);stroke-width:3;stroke-linecap:round}.mark-spark{fill:var(--honey);stroke:#9e7332;stroke-width:.8}
.language-toggle{padding:6px 9px;border:1px solid var(--line);background:transparent;color:var(--sage-dark);font-size:.73rem;letter-spacing:.08em}.language-toggle:hover{background:var(--sage-pale);box-shadow:none;transform:none}
main{width:min(1320px,100%);padding:28px clamp(16px,4vw,48px) 76px}
.collection-heading{align-items:center;margin:8px 0 19px}.collection-heading h1{margin:0;font:500 clamp(2rem,4vw,2.8rem)/1.1 var(--serif);letter-spacing:-.04em}.collection-heading .eyebrow{margin-bottom:4px}.collection-note{font:500 .9rem var(--sans);color:var(--muted)}
.cookbook-search{width:min(620px,100%);height:42px;margin:0 0 16px;padding:0 12px;border:1px solid #d9cfbe;border-radius:999px;background:#fffefa;box-shadow:0 2px 8px #44331c08}.cookbook-search>span{font:1.15rem var(--sans)}.cookbook-search input{padding:7px 0;font-size:.84rem}
.category-heading{display:flex;align-items:center;gap:14px;margin:0 0 9px}.category-heading h2{margin:0;font:500 1.3rem var(--serif)}.text-button{padding:5px 9px;border:0;background:transparent;color:var(--clay-dark);font-size:.84rem}.text-button:hover{background:var(--clay-pale);box-shadow:none;transform:none}
.cookbook-filter-disclosure{margin:0 0 10px}.cookbook-filter-disclosure>summary{display:flex;width:max-content;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:#fffaf1;color:var(--sage-dark);font-size:.78rem;font-weight:650;cursor:pointer;list-style:none}.cookbook-filter-disclosure>summary::-webkit-details-marker{display:none}.cookbook-filter-disclosure>summary:before{content:"☷";font-size:1rem}.cookbook-filter-disclosure[open]>summary{border-color:#cfc2a9;background:#f8f3ea}.cookbook-filter-disclosure:focus-within>summary{outline:2px solid var(--sage);outline-offset:2px}
.cookbook-filters{margin:0 0 10px;padding:10px 12px;gap:10px;border-radius:13px;background:#f8f3eac9}.cookbook-filters label{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;font-size:.76rem}.cookbook-filters select{min-width:140px;padding:7px 30px 7px 10px;border-radius:9px;font-size:.85rem}
.chips{gap:7px;margin:11px 0 21px}.chips button{padding:6px 11px;border-color:#ded4c2;background:#fffaf1;color:#5b5145;font-size:.82rem;font-weight:600}.chips button:hover{border-color:#c77b58;background:#f8e9de}.chips button.active{border-color:var(--sage);background:var(--sage);color:#fffdf7}
.chips button{display:inline-flex;align-items:center;gap:7px}.chips svg{width:17px;height:17px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;color:var(--clay)}.chips button.active svg{color:#f1d18e}
.grid{gap:18px}.recipe{border-radius:14px;background:#fffefa}.recipe-photo{aspect-ratio:1.58/1}.recipe-content{padding:14px 16px 15px}.recipe h2{font:600 1.18rem/1.3 var(--sans);letter-spacing:-.02em}.recipe .summary{min-height:2.8em;font-size:.86rem}.recipe-content .eyebrow{font-size:.62rem}.recipe-meta{margin:12px 0 10px}.recipe-meta span{padding:4px 8px;font-size:.72rem}.recipe-open{padding-top:10px;font-size:.82rem}
.recipe-page{width:min(1120px,100%);margin:0 auto;background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}.back-button{margin:20px 0 10px;padding:8px 12px;border:1px solid var(--line);background:#fffaf1;color:var(--sage-dark);font-size:.86rem}.back-button:hover{background:var(--sage-pale);box-shadow:none;transform:none}.recipe-sheet{padding-bottom:30px}.recipe-heading{padding-top:30px}.detail-hero{height:clamp(250px,38vw,470px)}
.transfer-card>p{color:var(--muted);font-size:.9rem}.export-actions{align-items:center;margin-top:15px}.export-actions a{margin-right:4px}.export-actions .source-link{padding:8px 4px}.transfer-card #transfer-status{min-height:1.4em;color:var(--sage-dark)}
@media(max-width:650px){.site-header{height:62px}.brand,.brand-mark{width:42px;height:42px}main{padding-top:19px}.collection-heading{flex-direction:row;align-items:end;margin:3px 0 15px}.collection-heading h1{font-size:2.05rem}.collection-note{font-size:.75rem;text-align:right}.cookbook-search{height:40px;margin-bottom:16px}.cookbook-search input{font-size:.82rem}.category-heading h2{font-size:1.15rem}.cookbook-filters{grid-template-columns:repeat(3,minmax(0,1fr));padding:9px;gap:7px}.cookbook-filters label{display:flex;flex-direction:column;align-items:stretch;gap:3px;font-size:.68rem}.cookbook-filters select{width:100%;min-width:0;padding:6px 8px;font-size:.78rem}.chips{flex-wrap:nowrap;overflow:auto;margin:11px -14px 18px;padding:0 14px 6px}.chips button{flex:0 0 auto}.recipe-page{width:100%;border-radius:14px}.detail-hero{height:230px}}

/* RecipeSage-inspired visual layout options, kept separate from recipe filters. */
.cookbook-heading-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.layout-switch{display:inline-flex;align-items:center;padding:2px;border:1px solid #ded4c2;border-radius:10px;background:#fffaf1}.layout-switch button{display:grid;width:30px;height:28px;place-items:center;padding:4px;border:0;border-radius:7px;background:transparent;color:var(--muted)}.layout-switch button:hover{background:#f1eadb;box-shadow:none;transform:none}.layout-switch button[aria-pressed="true"]{background:var(--sage);color:#fffdf7;box-shadow:none;transform:none}.layout-switch svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.grid[data-layout="list"]{display:flex;flex-direction:column;gap:11px}.grid[data-layout="list"] .recipe{display:flex;align-items:stretch}.grid[data-layout="list"] .recipe-photo{width:190px;min-height:135px;flex:0 0 190px;aspect-ratio:auto}.grid[data-layout="list"] .recipe-content{flex:1;min-width:0}.grid[data-layout="list"] .recipe .summary{min-height:0}.grid[data-layout="list"] .recipe-meta{margin:11px 0 0}
.grid[data-layout="compact"]{display:flex;flex-direction:column;gap:6px}.grid[data-layout="compact"] .recipe{display:flex;align-items:center;border-radius:11px;box-shadow:none}.grid[data-layout="compact"] .recipe:hover{transform:none;box-shadow:0 5px 16px #55432b14}.grid[data-layout="compact"] .recipe-photo{width:58px;height:58px;min-height:58px;flex:0 0 58px;aspect-ratio:1;border-radius:8px;margin:8px}.grid[data-layout="compact"] .recipe-photo:before,.grid[data-layout="compact"] .recipe-photo:after{display:none}.grid[data-layout="compact"] .recipe-placeholder>span{font-size:1.8rem}.grid[data-layout="compact"] .recipe-placeholder small,.grid[data-layout="compact"] .photo-label{display:none}.grid[data-layout="compact"] .draft-label{top:2px;right:2px;padding:2px 4px;font-size:.5rem}.grid[data-layout="compact"] .recipe-content{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 12px;flex:1;min-width:0;padding:10px 14px 10px 4px}.grid[data-layout="compact"] .recipe-content .cats{grid-column:1;margin:0;font-size:.59rem}.grid[data-layout="compact"] .recipe h2{grid-column:1;margin:0;font-size:1rem;line-height:1.25}.grid[data-layout="compact"] .recipe .summary{display:none}.grid[data-layout="compact"] .recipe-meta{grid-column:2;grid-row:1/3;justify-content:flex-end;margin:0}.grid[data-layout="compact"] .recipe-meta span{padding:4px 7px;font-size:.67rem}
@media(max-width:650px){.cookbook-heading-actions{gap:4px}.layout-switch button{width:27px;height:27px}.grid[data-layout="list"] .recipe-photo{width:100px;min-height:112px;flex-basis:100px}.grid[data-layout="list"] .recipe-content{padding:11px 12px}.grid[data-layout="list"] .recipe h2{font-size:1.02rem}.grid[data-layout="list"] .recipe .summary{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.grid[data-layout="compact"] .recipe-photo{width:48px;height:48px;min-height:48px;flex-basis:48px;margin:6px}.grid[data-layout="compact"] .recipe-content{gap:3px 7px;padding-right:8px}.grid[data-layout="compact"] .recipe h2{font-size:.9rem}.grid[data-layout="compact"] .recipe-meta span{padding:3px 5px;font-size:.58rem}.category-heading{gap:8px}.cookbook-heading-actions{min-width:0}}
.grid[data-layout="tiles"]{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:14px}.grid[data-layout="tiles"] .recipe-photo{aspect-ratio:1.42/1}.grid[data-layout="tiles"] .recipe-content{padding:13px 14px}.grid[data-layout="tiles"] .recipe h2{font-size:1.06rem;line-height:1.28}.grid[data-layout="tiles"] .recipe .summary{min-height:3em;font-size:.81rem;line-height:1.45}.grid[data-layout="tiles"] .recipe-meta{gap:5px;margin:11px 0 9px}.grid[data-layout="tiles"] .recipe-meta span{padding:4px 7px;font-size:.68rem}
@media(max-width:650px){.grid[data-layout="tiles"]{gap:11px}.grid[data-layout="tiles"] .recipe-content{padding:12px}.grid[data-layout="tiles"] .recipe h2{font-size:1rem}.grid[data-layout="tiles"] .recipe .summary{font-size:.77rem}}

/* Verwaltungsbereich: ruhige, klare Arbeitsoberfläche statt langer Formularkolonne. */
:root{--sans:"Avenir Next",Avenir,"Segoe UI Variable","Segoe UI",ui-sans-serif,system-ui,sans-serif}
.manage-heading{margin:4px 0 27px;padding:4px 0 22px;border-bottom:1px solid var(--line);font-family:var(--sans)}
.manage-heading .eyebrow{margin-bottom:6px;font-size:.67rem;letter-spacing:.14em}
.manage-heading h1{margin:0;color:var(--ink);font:650 clamp(1.8rem,3.3vw,2.35rem)/1.15 var(--sans);letter-spacing:-.045em}
.manage-heading>div>p:last-child{margin:8px 0 0;color:var(--muted);font-size:.94rem}
.manage-layout{display:grid;grid-template-columns:225px minmax(0,1fr);gap:30px;align-items:start;font-family:var(--sans)}
.manage-sidebar{position:sticky;top:88px;display:grid;gap:5px;padding:12px;border:1px solid var(--line);border-radius:16px;background:#fbf7ef;box-shadow:0 4px 14px #55432b09}
.manage-sidebar .manage-nav-label{margin:4px 10px 7px;color:#8b7c67;font-size:.65rem;font-weight:750;letter-spacing:.15em}
.manage-sidebar button{display:flex;align-items:center;gap:11px;width:100%;padding:10px 12px;border:1px solid transparent;border-radius:10px;background:transparent;color:#625749;text-align:left;font-size:.86rem;font-weight:600;transition:background .15s ease,color .15s ease}
.manage-sidebar button:hover{background:#f1eadc;color:var(--ink);box-shadow:none;transform:none}
.manage-sidebar button.active{border-color:#d9decf;background:#e8ecdf;color:#394b35;box-shadow:inset 3px 0 var(--sage)}
.manage-nav-icon{display:grid;width:27px;height:27px;flex:0 0 27px;place-items:center;border-radius:8px;background:#f0e5d4;color:#9a6941;font-size:.65rem;font-weight:750;font-variant-numeric:tabular-nums}
.manage-sidebar button.active .manage-nav-icon{background:#d4ddc8;color:#3e5438}
.manage-content{min-width:0}
.manage-panel[hidden]{display:none}
.manage-panel{display:grid;gap:18px;min-width:0}
.manage-panel .card{box-shadow:0 5px 22px #47371f0b}
.manage-card{min-width:0;padding:clamp(20px,3vw,30px);border-radius:16px;font-family:var(--sans)}
.manage-card h2,.manage-panel .draft-panel>h2{margin:0;color:var(--ink);font:650 1.12rem/1.3 var(--sans);letter-spacing:-.025em}
.manage-card p{color:var(--muted);font-size:.88rem;line-height:1.58}
.manage-card-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:19px}
.manage-card-heading .eyebrow{margin:0 0 5px;font-size:.62rem;letter-spacing:.13em}
.manage-card-mark{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border:1px solid #eadbc3;border-radius:12px;background:#f7eddd;color:var(--clay-dark);font-size:1.05rem;font-weight:650}
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.settings-grid>.manage-card{height:100%}
.settings-grid>.ai-rule-card{grid-column:1/-1}
.field-label{display:grid;gap:6px;margin:0 0 13px;color:#625749;font-size:.78rem;font-weight:650;letter-spacing:.01em}
.manage-card .field-label input,.manage-card .field-label select,.manage-card .field-label textarea{width:100%;min-width:0;margin:0;padding:11px 12px;border:1px solid #ded5c5;border-radius:9px;background:#fffefa;color:var(--ink);font:450 .9rem/1.45 var(--sans);letter-spacing:0}
.manage-card .field-label input::placeholder,.manage-card .field-label textarea::placeholder{color:#a09584;opacity:1}
.manage-card .field-label input:focus,.manage-card .field-label select:focus,.manage-card .field-label textarea:focus{border-color:#9ba98a;box-shadow:0 0 0 3px #596b5017;outline:0}
.manage-card .field-label textarea{min-height:94px;resize:vertical}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}
.field-wide{grid-column:1/-1}
.recipe-category-assignment{min-width:0;margin:0;padding:0;border:0}
.recipe-category-assignment legend{margin-bottom:9px;font-weight:650;color:var(--ink)}
.recipe-category-choices{display:flex;flex-wrap:wrap;gap:8px}
.recipe-category-choice{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:6px 11px;border:1px solid var(--line);border-radius:999px;background:#faf6ed;color:var(--ink);font-size:.86rem;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.recipe-category-choice:has(input:checked){border-color:var(--sage);background:#e8eddf;color:var(--sage-dark)}
.recipe-category-choice:focus-within{outline:2px solid var(--sage);outline-offset:2px}
.recipe-category-choice input{width:15px;height:15px;margin:0;accent-color:var(--sage);cursor:pointer}
.manage-card .template-editor{min-height:250px!important;border:1px solid #ded5c5!important;border-radius:9px!important;background:#fcfaf5!important;color:#42392e!important;font:13px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace!important}
.manage-card .file-label{margin:12px 0;color:#625749;font-size:.8rem;font-weight:600}
.manage-card .file-label input[type=file]{width:100%;margin:8px 0 0;padding:9px;border:1px dashed #cfc2ac;border-radius:9px;background:#faf7f0;font-size:.82rem}
.manage-card .publish-toggle{display:flex;align-items:center;gap:8px}.manage-card .publish-toggle input{width:auto;margin:0}
.manage-card button{border-radius:9px;font-size:.84rem}
.manage-card .template-actions{margin-top:6px}
.manage-card .template-actions button{padding:9px 12px}
.manage-card .draft-panel{margin:0}
.manage-panel .draft-panel{margin:0;padding:22px 25px}
.manage-panel .draft-panel .manage-card-heading{margin-bottom:8px}
.manage-panel .draft-row{flex-wrap:wrap;font-family:var(--sans);font-size:.85rem}
.manage-panel .draft-row strong{font-weight:650}
.manage-panel .draft-row button{padding:6px 10px;border-radius:7px;font-size:.75rem;line-height:1.25}
.manage-panel .draft-row .pdf-export{font-size:.78rem}
.import-review{width:min(600px,calc(100vw - 28px));max-height:85vh;overflow:auto;border:1px solid var(--line);border-radius:22px;padding:30px;background:var(--card);color:var(--ink);box-shadow:0 24px 80px #382a2240}
.import-review::backdrop{background:#30251eb3;backdrop-filter:blur(3px)}
.import-review h2{margin:0;font:650 clamp(1.5rem,4vw,2rem)/1.2 var(--serif)}
.import-review>p:not(.eyebrow){color:var(--muted)}
.import-review pre{max-height:32vh;overflow:auto;margin:15px 0;padding:14px;border-radius:12px;background:var(--paper);font: .83rem/1.55 var(--sans);white-space:pre-wrap}
.import-review-close{float:right;padding:4px 10px;background:var(--paper-deep);color:var(--ink);font-size:1.2rem}
.import-review-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:18px}
.import-review-actions button{padding:8px 12px;border-radius:8px;font-size:.82rem}
.import-model-status{margin:0 0 18px;padding:12px 15px;border:1px solid #d9dfcc;border-radius:12px;background:#f1f3e9;color:var(--sage-dark);font-size:.82rem;line-height:1.5}
.import-model-status[data-status="unavailable"]{border-color:#e7c7b9;background:#fbede5;color:#873f2e}
.ai-credit-warning h2{color:var(--clay-dark)}
#user-list{margin-top:20px}
#manage .manage-sidebar{display:none}#manage .manage-layout{display:block}#manage .manage-content{display:block}#manage .manage-panel[data-manage-panel="recipes"]{display:grid}#settings-content>.manage-panel{display:grid;align-content:start;gap:16px}#settings-content .manage-panel[data-manage-panel="ai"]>.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#settings-content .manage-panel[data-manage-panel="templates"]{grid-column:1/-1}#settings-content .manage-panel[data-manage-panel="users"]{grid-column:1/-1}#imports-content>.manage-panel{display:block}#imports-jobs .draft-panel{margin-top:16px;padding:22px 25px}
#provider-status,#provider-key-status,#template-status,#ai-rule-status,#url-list-status,#transfer-status{min-height:1.35em;margin:12px 0 0;color:var(--muted);font-size:.82rem;white-space:pre-line}
.settings-layout{grid-template-columns:minmax(210px,245px) minmax(0,1fr);gap:26px}
.settings-content{min-width:0}
.settings-content>.manage-panel{display:grid;align-content:start;gap:18px}
#settings-content>.manage-panel[hidden]{display:none!important}
.settings-content>.manage-panel[data-manage-panel="ai"]>.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.settings-content>.manage-panel[data-manage-panel="templates"]{grid-template-columns:1fr}
.settings-content>.manage-panel[data-manage-panel="users"]{grid-template-columns:1fr}
#imports-content>.manage-panel{max-width:1280px;margin-inline:auto}
#imports-content .import-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:stretch}
#imports-content .import-grid>.manage-card{height:100%;padding:clamp(22px,2.5vw,32px)}
#imports-content .import-grid>.wide-import{grid-column:1/-1}
#imports-content .import-grid>.wide-import textarea{min-height:138px}
#imports-content .import-grid .manage-card>p{max-width:58ch}
.import-section-title{grid-column:1/-1;display:flex;align-items:center;gap:14px;margin:14px 2px 0;padding:0 2px 13px;border-bottom:1px solid #e7ddcc}
.import-section-title>span{display:grid;width:35px;height:35px;flex:0 0 35px;place-items:center;border:1px solid #e8d9c1;border-radius:50%;background:#f8f0e3;color:var(--clay-dark);font:650 .72rem/1 var(--sans)}
.import-section-title h2{margin:0;color:var(--ink);font:650 1.12rem/1.3 var(--sans);letter-spacing:-.025em}
.import-section-title p{margin:4px 0 0;color:var(--muted);font-size:.82rem;line-height:1.45}
#imports-content .import-grid>.manage-card{padding:clamp(25px,3vw,36px);border:1px solid #eae0d1;border-radius:20px;background:linear-gradient(145deg,#fffefa,#fffdf8);box-shadow:0 10px 30px #47371f0a}
#imports-content .manage-card .field-label{gap:8px;margin-bottom:17px}
#imports-content .manage-card .field-label input,#imports-content .manage-card .field-label textarea{padding:13px 14px;border-radius:11px;font-size:.94rem}
#imports-content .manage-card button{min-height:44px;padding:11px 17px;border-radius:11px}
#imports-content .manage-card .file-label input[type=file]{margin-top:10px;padding:13px;border-radius:11px;background:#fbf7ef}
#imports-content .wide-import textarea{min-height:160px}
#imports-content .export-actions{display:flex;flex-wrap:wrap;gap:9px}
#imports-content .export-actions a{margin:0;padding:9px 13px;border:1px solid #e8ddca;border-radius:999px;background:#fbf6ec;color:var(--sage-dark);font-size:.8rem;font-weight:600;text-decoration:none}
#imports-content .export-actions a:hover{background:#f1e8d7}
#imports-jobs .import-jobs{margin-top:22px;padding:0;overflow:hidden}
#imports-jobs .import-jobs summary{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0;padding:20px 24px;cursor:pointer;list-style:none}
#imports-jobs .import-jobs summary::-webkit-details-marker{display:none}
#imports-jobs .import-jobs summary .manage-card-mark{transition:transform .18s ease}
#imports-jobs .import-jobs[open] summary{margin:0;padding-bottom:8px}
#imports-jobs .import-jobs[open] summary .manage-card-mark{transform:rotate(180deg)}
#imports-jobs .jobs-hint{margin:5px 0 0;color:var(--muted);font-size:.8rem;font-weight:400}
#imports-jobs .import-jobs #jobs{padding:0 24px 15px}
#imports-jobs .import-jobs .draft-row{gap:14px;padding:14px 0}
#imports-jobs .import-jobs .draft-row a{white-space:nowrap}
#imports-jobs .import-jobs .job-retry{border-color:#d7b46a;background:#fff7df;color:#765b23}
#imports-jobs .import-jobs .job-retry:hover{border-color:#b89243;background:#ffefc2;color:#5d461a}
#imports-jobs .import-jobs .job-delete{display:grid;place-items:center;min-width:38px;min-height:38px;padding:8px;border-color:#edcfc2;border-radius:9px;background:#fff3ed;color:#a44935}
#imports-jobs .import-jobs .job-delete:hover{border-color:#dba993;background:#fee5d9;color:#843420;box-shadow:none;transform:none}
#imports-jobs .import-jobs .job-delete:disabled{cursor:wait;opacity:.55}
#imports-jobs .import-jobs .job-delete svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:900px){.settings-layout{grid-template-columns:1fr;gap:14px}#imports-content .import-grid{grid-template-columns:1fr;gap:16px}#imports-content .import-grid>.wide-import{grid-column:auto}#imports-content .import-grid>.manage-card{height:auto}}
@media(max-width:900px){.import-section-title{margin-top:18px}#imports-content .import-grid{gap:18px}#imports-jobs .import-jobs summary{padding:18px 20px}#imports-jobs .import-jobs #jobs{padding-inline:20px}}
@media(max-width:620px){#imports-content .import-grid>.manage-card{padding:24px 22px;border-radius:18px}#imports-content .manage-card-heading{margin-bottom:17px}#imports-content .import-grid .manage-card>p{max-width:42ch;font-size:.9rem;line-height:1.65}#imports-content .wide-import textarea{min-height:180px}#imports-jobs .import-jobs summary{padding:17px 18px}#imports-jobs .import-jobs #jobs{padding-inline:18px}#imports-jobs .import-jobs .draft-row{align-items:flex-start;flex-direction:column;gap:6px}}

/* Rezeptdetails sind eine eigenständige Leseansicht, keine schwebende Karte. */
#recipe-page.recipe-page{width:100%;max-width:none;margin:0;padding:0;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}
#recipe-page .recipe-page-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:1080px;margin:0 auto 16px}
#recipe-page .back-button{display:inline-flex;align-items:center;gap:8px;min-height:48px!important;margin:0;padding:10px 15px!important;border-color:transparent;border-radius:999px;background:transparent;color:var(--sage-dark);font-weight:650}
#recipe-page .back-button:hover{border-color:#e5dac7;background:#fbf6ec}
#recipe-page .recipe-sheet{overflow:hidden;padding:0 0 42px;border-radius:0;background:transparent;box-shadow:none}
#recipe-page .detail-hero{height:clamp(280px,42vw,520px);margin-inline:calc(-1 * clamp(16px,4vw,48px));background:#e9dfcd}
#recipe-page .detail-hero img{object-position:center 48%}
#recipe-page .recipe-heading{max-width:1080px;margin:0 auto;padding:38px 0 27px;border-bottom:1px solid var(--line)}
#recipe-page .recipe-detail-actions{display:flex;align-items:center;gap:8px}
#recipe-page .recipe-detail-pdf,#recipe-page .recipe-detail-edit{display:grid;place-items:center;width:48px;min-width:48px;min-height:48px!important;height:48px;padding:0!important;border:1px solid #efc1ba;border-radius:12px;background:#fff0ed;color:#c4483d;text-decoration:none}
#recipe-page .recipe-detail-edit{border-color:#c8d7bf;background:#eef3e9;color:var(--sage-dark)}
#recipe-page .recipe-detail-pdf svg,#recipe-page .recipe-detail-edit svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#recipe-page .recipe-detail-pdf:hover{background:#f9ded8;color:#a93830}
#recipe-page .recipe-detail-edit:hover{background:#dfead7;color:#355642;box-shadow:none;transform:none}
#recipe-page .recipe-detail-edit:disabled{opacity:.55;cursor:wait}
.pdf-icon .pdf-icon-paper{fill:#fffaf1;stroke:#c4483d;stroke-width:1.55;stroke-linejoin:round}
.pdf-icon .pdf-icon-fold{fill:none;stroke:#c4483d;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.pdf-icon .pdf-icon-badge{fill:#d9473d;stroke:none}
.pdf-icon text{fill:#fffdf8;stroke:none;font:700 5.3px/1 Arial,sans-serif;letter-spacing:.05px}
#recipe-page .recipe-portion-fact .portion-controls{display:inline-flex;align-items:center;gap:7px;margin-right:7px}
#recipe-page .portion-step{display:grid;place-items:center;width:24px;height:24px;padding:0;border:1px solid var(--line);border-radius:50%;background:#fffaf1;color:var(--sage-dark);font-size:.85rem;line-height:1}
#recipe-page .portion-step:hover:not(:disabled){background:var(--sage-pale);box-shadow:none;transform:none}
#recipe-page .portion-step:disabled{opacity:.35;cursor:not-allowed}
#recipe-page .recipe-heading h1{max-width:900px;font-size:clamp(1.85rem,2.5vw,2rem);line-height:1.16;letter-spacing:-.025em}
#recipe-page .recipe-source-link{display:inline-flex;align-items:center;margin-top:8px;border-bottom:1px solid #cbd2c1;color:var(--sage-dark);font:650 .74rem/1.4 var(--sans);text-decoration:none;transition:color .18s ease,border-color .18s ease}
#recipe-page .recipe-source-link:hover{border-color:var(--sage-dark);color:var(--sage)}
#recipe-page .recipe-body{max-width:1080px;margin:0 auto;padding:34px 0}
#recipe-page .ingredients-section{padding-top:0}
@media(max-width:650px){#recipe-page .recipe-page-toolbar{margin-bottom:12px;gap:8px}#recipe-page .back-button{min-height:44px!important;padding:8px 11px!important;font-size:.8rem!important}#recipe-page .recipe-detail-actions{gap:6px}#recipe-page .recipe-detail-pdf,#recipe-page .recipe-detail-edit{width:44px;min-width:44px;min-height:44px!important;height:44px}#recipe-page .recipe-detail-pdf svg,#recipe-page .recipe-detail-edit svg{width:22px;height:22px}#recipe-page .detail-hero{height:260px;margin-inline:-14px}#recipe-page .recipe-heading{padding:27px 0 21px}#recipe-page .recipe-heading h1{font-size:1.8rem;line-height:1.2}#recipe-page .recipe-body{padding:24px 0}}

/* A compact five-column gallery keeps a recipe's photos together, not as one oversized hero. */
#recipe-page .detail-gallery{max-width:1080px;margin:0 auto 4px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
#recipe-page .detail-gallery-image{position:relative;display:block;width:100%;aspect-ratio:1.35/1;padding:0;overflow:hidden;border:1px solid #e4d9c7;border-radius:15px;background:#eee4d3;box-shadow:0 5px 16px #55432b12;cursor:zoom-in}
#recipe-page .detail-gallery-image:hover{transform:translateY(-2px);box-shadow:0 9px 20px #55432b20}
#recipe-page .detail-gallery-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s ease}
#recipe-page .detail-gallery-image:hover img{transform:scale(1.035)}
.gallery-cover-label{position:absolute;left:8px;bottom:8px;padding:4px 8px;border:1px solid #fff8;border-radius:999px;background:#fff8;color:#382a22;font-size:.68rem;font-weight:700;backdrop-filter:blur(8px)}
.gallery-lightbox{width:min(1100px,calc(100% - 32px));max-width:none;max-height:92vh;padding:12px;border:1px solid #ffffff55;border-radius:24px;background:#fffdf8;overflow:visible}
.gallery-lightbox::backdrop{background:#241d17c9;backdrop-filter:blur(5px)}
.gallery-lightbox img{display:block;width:100%;max-height:calc(92vh - 24px);object-fit:contain;border-radius:16px;cursor:zoom-out}
.gallery-lightbox-close{position:absolute;z-index:1;top:20px;right:20px;width:42px;height:42px;padding:0;border:1px solid #fff9;border-radius:50%;background:#fffdf0e8;color:#382a22;font-size:1.8rem;line-height:1}
@media(hover:none){.manage-image-remove{opacity:1;transform:none}}
@media(max-width:760px){.manage-images{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}}
@media(max-width:430px){.manage-images{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.manage-image-tile,.manage-image-add{border-radius:11px!important}}
@media (hover:none){.manage-image-remove{opacity:1;transform:scale(1)}}
@media(max-width:760px){#recipe-page .detail-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}}
@media(max-width:430px){#recipe-page .detail-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}#recipe-page .detail-gallery-image{border-radius:11px}}

/* Ein großzügiger Import-Arbeitsbereich mit Quellenreitern statt einer Kachelwand. */
#imports-content.settings-grid{display:block;width:100%}
#imports-content>.manage-panel{max-width:1120px;margin:0 auto}
.import-workspace{min-width:0}
.import-tabs{display:flex;gap:7px;overflow-x:auto;padding:6px;border:1px solid #e4dac9;border-radius:16px;background:#f1eade;scrollbar-width:thin}
.import-tabs [role=tab]{display:inline-flex;flex:1 0 auto;justify-content:center;align-items:center;gap:9px;min-height:48px;padding:9px 17px;border:1px solid transparent;border-radius:12px;background:transparent;color:#655a4a;font:650 .9rem/1 var(--sans);white-space:nowrap;box-shadow:none;transform:none}
.import-tabs [role=tab]>span{display:grid;width:24px;height:24px;place-items:center;border-radius:8px;background:#e8dece;color:var(--clay-dark);font-size:.86rem}
.import-tabs [role=tab]:hover{background:#f8f3e9;color:var(--ink);box-shadow:none;transform:none}
.import-tabs [role=tab].active{border-color:#e4dac9;background:#fffdf8;color:var(--sage-dark);box-shadow:0 3px 10px #4c3d2610}
.import-tabs [role=tab].active>span{background:var(--sage-pale);color:var(--sage-dark)}
.import-tabs [role=tab]:focus-visible{outline:3px solid #ba805d;outline-offset:2px}
.import-panel{min-height:360px;margin-top:15px;padding:clamp(28px,5vw,58px);border:1px solid #e7dece;border-radius:24px;background:linear-gradient(145deg,#fffefa 0%,#fffaf1 100%);box-shadow:0 16px 44px #47371f0b}
.import-panel[hidden]{display:none!important}
.import-panel>.eyebrow{margin:0 0 10px;color:var(--clay-dark);font-size:.69rem;font-weight:750;letter-spacing:.15em}
.import-panel>h2{max-width:820px;margin:0;color:var(--ink);font:500 clamp(1.9rem,4.2vw,2.8rem)/1.12 var(--serif);letter-spacing:-.035em}
.import-panel>p:not(.eyebrow):not(.import-footnote){max-width:68ch;margin:14px 0 0;color:var(--muted);font-size:.98rem;line-height:1.72}
.import-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px 16px;margin-top:31px}
.import-form .field-label{gap:9px;margin:0;color:#5f5548;font-size:.83rem;font-weight:650}
.import-form .field-label input,.import-form .field-label textarea{width:100%;min-width:0;margin:0;padding:15px 16px;border:1px solid #ddd2bf;border-radius:12px;background:#fff;color:var(--ink);font:450 1rem/1.45 var(--sans);box-shadow:inset 0 1px 2px #49371808}
.import-form .field-label input{min-height:52px}
.import-form .field-label textarea{min-height:135px;resize:vertical}
.import-form .field-label input:focus,.import-form .field-label textarea:focus{border-color:#94a486;box-shadow:0 0 0 4px #65795b1a;outline:0}
.import-form>button{min-height:52px;padding:13px 21px;border-radius:12px;background:var(--sage);font-size:.9rem;white-space:nowrap}
.import-form>button:hover{background:var(--sage-dark)}
#file-import-form{grid-template-columns:minmax(0,1fr) minmax(280px,.8fr)}
#file-import-form>button{grid-column:1/-1;justify-self:start;min-width:240px}
.import-footnote{margin:15px 0 0;color:#827766;font-size:.79rem;line-height:1.5}
.import-batch{margin-top:40px;padding-top:28px;border-top:1px solid #e5dccc}
.import-batch h3{margin:0;color:var(--ink);font:500 1.55rem/1.2 var(--serif)}
.import-batch>p{margin:8px 0 0;color:var(--muted);font-size:.9rem;line-height:1.6}
.import-batch .import-form{grid-template-columns:1fr;align-items:start;max-width:760px;margin-top:19px}
.import-batch .import-form>button{justify-self:start}
.import-panel .file-label{margin:0;color:#5f5548;font-size:.83rem;font-weight:650}
.import-panel .file-label input[type=file]{width:100%;margin:10px 0 0;padding:15px;border:1px dashed #cabcA4;border-radius:12px;background:#faf5eb;color:var(--muted);font:450 .88rem var(--sans)}
.import-panel .transfer-card>p{max-width:76ch}
.export-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:24px}
.export-actions a{margin:0;padding:10px 14px;border:1px solid #e5dac7;border-radius:999px;background:#faf5eb;color:var(--sage-dark);font-size:.82rem;font-weight:650;text-decoration:none}
.export-actions a.pdf-export{border-color:var(--clay);background:var(--clay);color:#fff9ef}
.export-actions a:hover{filter:brightness(.97);transform:translateY(-1px)}
#imports-jobs .import-jobs{max-width:1120px;margin:20px auto 0;padding:0;overflow:hidden;border-radius:18px}
#imports-jobs .import-jobs summary{padding:19px 23px}
#imports-jobs .import-jobs #jobs{padding:0 23px 14px}
@media(max-width:620px){.import-tabs{gap:3px;padding:4px;border-radius:14px}.import-tabs [role=tab]{gap:6px;min-height:44px;padding:8px 11px;font-size:.78rem}.import-tabs [role=tab]>span{width:21px;height:21px}.import-panel{min-height:0;margin-top:11px;padding:26px 22px;border-radius:20px}.import-panel>h2{font-size:2rem}.import-panel>p:not(.eyebrow):not(.import-footnote){font-size:.91rem;line-height:1.65}.import-form,#file-import-form,.import-batch .import-form{grid-template-columns:1fr;gap:13px;margin-top:24px}.import-form>button,.import-batch .import-form>button,#file-import-form>button{width:100%;justify-self:stretch}.import-form .field-label input{min-height:49px}.import-panel .file-label input[type=file]{padding:12px;font-size:.78rem}.import-batch{margin-top:31px;padding-top:23px}.import-batch h3{font-size:1.4rem}.export-actions{gap:8px}.export-actions a{padding:9px 12px;font-size:.76rem}#imports-jobs .import-jobs summary{padding:16px 17px}#imports-jobs .import-jobs #jobs{padding-inline:17px}}
@media(max-width:900px){.manage-layout{grid-template-columns:1fr;gap:15px}.manage-sidebar{position:static;display:flex;gap:5px;overflow-x:auto;padding:8px}.manage-sidebar .manage-nav-label{display:none}.manage-sidebar button{width:auto;flex:0 0 auto;white-space:nowrap}.manage-sidebar button.active{box-shadow:inset 0 -3px var(--sage)}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.manage-heading{margin:0 0 17px;padding-bottom:17px}.manage-layout{gap:12px}.manage-sidebar{margin:0 -14px;border-right:0;border-left:0;border-radius:0}.manage-sidebar button{gap:7px;padding:8px 10px;font-size:.78rem}.manage-nav-icon{width:23px;height:23px;flex-basis:23px;border-radius:7px}.settings-grid,.form-grid{grid-template-columns:1fr}.settings-grid>.ai-rule-card,.field-wide{grid-column:auto}.manage-card{padding:19px}.manage-card-heading{margin-bottom:15px}.manage-panel .draft-panel{padding:19px}.manage-panel .draft-row{gap:8px}}
@media(max-width:620px){#settings-content .manage-panel[data-manage-panel="ai"]>.settings-grid{grid-template-columns:1fr}#settings-content .manage-panel[data-manage-panel="templates"],#settings-content .manage-panel[data-manage-panel="users"]{grid-column:auto}}
@media(max-width:650px){.site-header{gap:10px;min-width:0}.site-header nav{max-width:calc(100vw - 78px);overflow-x:auto;overflow-y:hidden;flex:0 1 auto;gap:2px;scrollbar-width:none}.site-header nav::-webkit-scrollbar{display:none}.site-header nav button{flex:0 0 auto;white-space:nowrap;padding:7px 9px;font-size:.78rem}.site-header .brand{flex:0 0 auto}.current-user{white-space:nowrap;font-size:.78rem}}
@media(max-width:650px){.site-header #current-user{display:none!important}.site-header nav button#add-recipe,.site-header nav button#import-nav,.site-header nav button#manage-nav{font-size:0;padding-inline:8px}.site-header nav button#add-recipe:before{content:"Erfassen";font-size:.76rem}.site-header nav button#import-nav:before{content:"Import";font-size:.76rem}.site-header nav button#manage-nav:before{content:"System";font-size:.76rem}html[lang=en] .site-header nav button#add-recipe:before{content:"Add"}html[lang=en] .site-header nav button#import-nav:before{content:"Import"}html[lang=en] .site-header nav button#manage-nav:before{content:"Settings"}}

/* Import screen: one spacious workspace, not a stack of nested cards. */
#imports-content>.manage-panel{max-width:1440px}
.import-tabs{gap:8px;padding:0 0 10px;border:0;border-bottom:1px solid #e4dac9;border-radius:0;background:transparent}
.import-tabs [role=tab]{flex:0 0 auto;min-height:48px;padding:10px 20px;border-radius:999px;color:#655a4a}
.import-tabs [role=tab]>span{background:transparent}
.import-tabs [role=tab].active{border-color:#d9e0d1;background:#eaf0e5;color:var(--sage-dark);box-shadow:none}
.import-tabs [role=tab].active>span{background:transparent}
.import-panel{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);column-gap:clamp(36px,7vw,112px);align-content:center;align-items:center;min-height:340px;margin-top:24px;padding:clamp(34px,5vw,72px);border:0;border-radius:28px;background:#f7f3ea;box-shadow:none}
.import-panel[hidden]{display:none!important}
.import-panel>.eyebrow,.import-panel>h2,.import-panel>p:not(.eyebrow):not(.import-footnote){grid-column:1}
.import-panel>.eyebrow{align-self:end;margin:0 0 4px}
.import-panel>h2{align-self:start;font-size:clamp(2rem,3.7vw,3.1rem)}
.import-panel>p:not(.eyebrow):not(.import-footnote){align-self:start;margin-top:15px}
.import-panel>.import-form,.import-panel>#file-import-form,.import-panel>.import-footnote,.import-panel>.import-batch,.import-panel>.export-actions,.import-panel>#transfer-status{grid-column:2}
.import-panel>.import-form{grid-row:1 / span 3;grid-template-columns:minmax(0,1fr) auto;align-self:center;gap:12px}
.import-panel>.import-footnote{align-self:start;margin:14px 0 0}
.import-panel>.import-batch{grid-column:1/-1;display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);column-gap:clamp(30px,6vw,88px);align-items:start;margin:42px 0 0;padding:32px 0 0;border-top:1px solid #ded5c5}
.import-panel>.import-batch h3,.import-panel>.import-batch>p{grid-column:1}
.import-panel>.import-batch h3{font-size:1.65rem}
.import-panel>.import-batch .import-form{grid-column:2;grid-row:1 / span 2;max-width:none;margin:0}
.import-panel>.import-batch .import-form>button{justify-self:start}
.import-panel>#file-import-form{grid-row:1 / span 3;align-self:center;grid-template-columns:1fr;gap:17px;margin:0}
.import-panel>#file-import-form>button{grid-column:auto;justify-self:start;min-width:230px}
.import-panel .file-label input[type=file]{border-color:#cfc4b1;background:#fbf9f3}
.import-panel.transfer-card{grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);}
.import-panel.transfer-card>.import-form{grid-row:1 / span 3;grid-template-columns:1fr;align-self:center}
.import-panel.transfer-card>.export-actions{align-self:center;margin:20px 0 0}
.import-panel.transfer-card>#transfer-status{align-self:start;margin-top:12px}
#imports-jobs .import-jobs{max-width:1440px;border:1px solid #e9e1d3;background:#fbf9f4;box-shadow:none}
@media(max-width:900px){.import-panel{grid-template-columns:minmax(210px,.7fr) minmax(0,1.3fr);column-gap:32px;padding:34px}.import-panel>.import-batch{column-gap:28px}}
@media(max-width:680px){.import-tabs{gap:3px;overflow-x:auto}.import-tabs [role=tab]{flex:1 0 auto;padding-inline:13px}.import-panel,.import-panel.transfer-card{grid-template-columns:1fr;gap:0;min-height:0;margin-top:16px;padding:29px 23px;border-radius:22px}.import-panel>.eyebrow,.import-panel>h2,.import-panel>p:not(.eyebrow):not(.import-footnote),.import-panel>.import-form,.import-panel>#file-import-form,.import-panel>.import-footnote,.import-panel>.import-batch,.import-panel>.export-actions,.import-panel>#transfer-status{grid-column:1;grid-row:auto}.import-panel>.import-form,.import-panel>#file-import-form{margin-top:24px}.import-panel>.import-form{grid-template-columns:1fr}.import-panel>.import-form>button,.import-panel>#file-import-form>button{width:100%;justify-self:stretch}.import-panel>.import-batch{grid-template-columns:1fr;gap:0;margin-top:31px;padding-top:23px}.import-panel>.import-batch .import-form{grid-column:1;grid-row:auto;margin-top:17px}.import-panel>.import-batch .import-form>button{width:100%;justify-self:stretch}.import-panel>h2{font-size:2rem}.import-panel>p:not(.eyebrow):not(.import-footnote){font-size:.91rem}.import-panel.transfer-card>.export-actions{margin-top:21px}}

/* Recipe management opens the same editor fields in a focused, keyboard-closeable dialog. */
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.recipe-list-heading{display:flex;align-items:end;justify-content:space-between;padding:4px 2px 2px}
.recipe-list-heading .eyebrow{margin-bottom:5px;font-size:.65rem;letter-spacing:.14em}
.recipe-list-heading h2{margin:0;color:var(--ink);font:650 clamp(1.45rem,2.6vw,1.9rem)/1.2 var(--sans);letter-spacing:-.035em}
.recipe-list-heading p:last-child{margin:6px 0 0;color:var(--muted);font-size:.86rem}
.recipe-management-list{display:flex;width:100%;min-width:0;flex-direction:column;align-items:stretch;gap:14px}
#manage .recipe-new-tile{display:flex;width:100%;min-width:0;min-height:72px!important;flex-direction:row;align-items:center;justify-content:flex-start;gap:12px;padding:12px 15px!important;border:1px dashed #cbbd9f;border-radius:12px;background:#fffaf1;color:var(--sage-dark);font:650 .8rem/1.3 var(--sans);box-shadow:none}
#manage .recipe-new-tile:hover{border-color:var(--sage);background:#f3f2e7;box-shadow:0 6px 18px #55432b10;transform:translateY(-1px)}
.recipe-new-icon{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border-radius:10px;background:var(--sage-pale);color:var(--sage-dark);font:400 1.4rem/1 var(--sans)}
.recipe-drafts{display:grid;width:100%;grid-template-columns:minmax(0,1fr);gap:10px;min-width:0;align-items:stretch}
.recipe-drafts .draft-row{display:flex;min-width:0;min-height:132px;flex-wrap:wrap;align-content:flex-start;align-items:center;gap:8px;padding:13px;border:1px solid #e6ddce;border-radius:12px;background:#fffdf8;font-family:var(--sans);font-size:.8rem}
.recipe-drafts .draft-row strong{flex:1 1 calc(100% - 4px);min-width:0;overflow:visible;color:var(--ink);font-weight:650;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}
.recipe-drafts .draft-row>span{margin-right:auto;padding:3px 8px;border-radius:999px;background:#f2ecdf;color:var(--muted);font-size:.7rem}
.recipe-drafts .draft-row .pdf-export,.recipe-drafts .draft-row button{display:grid;place-items:center;min-height:32px!important;padding:6px 9px!important;border:1px solid #e5dac7;border-radius:8px;background:#faf5eb;color:var(--sage-dark);font-size:.74rem!important;line-height:1.2!important;text-decoration:none}
.recipe-drafts .draft-row .pdf-export svg,.recipe-drafts .draft-row button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.recipe-drafts .draft-row button:hover,.recipe-drafts .draft-row .pdf-export:hover{border-color:#c8d0bb;background:#edf0e7;box-shadow:none;transform:none}
.recipe-drafts .draft-row button:last-child{border-color:#ead2c4;background:#fbf0e9;color:var(--clay-dark)}
.recipe-editor-dialog{position:fixed;inset:14px 0 auto;margin-inline:auto;width:min(880px,calc(100vw - 28px));max-width:none;max-height:calc(100dvh - 28px);overflow:auto;scrollbar-color:var(--sage) #eee8dc;scrollbar-width:thin;padding:0;border:0;border-radius:19px;background:transparent;color:var(--ink);box-shadow:0 24px 90px #382a2240}
.recipe-editor-dialog::-webkit-scrollbar{width:10px;background:#eee8dc}
.recipe-editor-dialog::-webkit-scrollbar-track{border-radius:999px;background:#eee8dc!important;opacity:1}
.recipe-editor-dialog::-webkit-scrollbar-thumb{border:2px solid #eee8dc;border-radius:999px;background:var(--sage)!important;opacity:1}
.recipe-editor-dialog::-webkit-scrollbar-thumb:hover{background:var(--sage-dark)}
.recipe-editor-dialog::backdrop{background:#30251eb3;backdrop-filter:blur(3px)}
.recipe-editor-dialog .recipe-editor-card{margin:0;padding:24px 28px;border:1px solid #e7ddce;border-radius:19px;background:var(--card);box-shadow:none}
.recipe-editor-dialog .manage-card-heading{margin-bottom:15px;padding-right:42px}
.recipe-editor-dialog .manage-card-heading h2{font:650 clamp(1.3rem,3vw,1.65rem)/1.2 var(--sans);letter-spacing:-.035em}
.recipe-editor-tools{display:flex;align-items:center;gap:10px}.recipe-editor-tools #recipe-editor-language{min-height:30px!important;padding:5px 9px!important;border:1px solid #e4d9c7;border-radius:8px;background:#faf6ed;color:var(--sage-dark);font-size:.72rem!important;font-weight:750}
.recipe-editor-dialog .form-grid{gap:10px 14px}
.recipe-editor-dialog .manage-card .field-label{gap:5px;margin:0;color:#625749;font-size:.78rem}
.recipe-editor-dialog .manage-card .field-label input,.recipe-editor-dialog .manage-card .field-label select,.recipe-editor-dialog .manage-card .field-label textarea{padding:9px 10px;border-radius:8px;font-size:.84rem}
.recipe-editor-dialog .manage-card .field-label textarea{min-height:70px}
.recipe-editor-dialog .recipe-category-assignment legend{margin-bottom:6px;font-size:.82rem}
.recipe-editor-dialog .recipe-category-choices{gap:6px}
.recipe-editor-dialog .recipe-category-choice{min-height:31px;padding:4px 9px;font-size:.76rem}
.recipe-editor-dialog .manage-images{margin-top:12px;gap:9px}
.recipe-editor-dialog .publish-toggle{margin:10px 0 5px;font-size:.78rem}
.recipe-editor-dialog .template-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}
.recipe-editor-dialog .recipe-editor-close{position:sticky;top:8px;z-index:2;float:right;width:38px;height:38px;min-height:38px!important;margin:8px 8px -46px 0;padding:0!important;border:0;background:transparent;color:var(--muted);font-size:2rem!important;font-weight:400;line-height:1!important;box-shadow:none}
.recipe-editor-dialog .recipe-editor-close:hover{background:transparent;color:var(--ink);box-shadow:none;transform:none}
.recipe-translate-dialog{position:relative;width:min(440px,calc(100vw - 28px));max-width:none;max-height:calc(100dvh - 28px);padding:0;border:0;border-radius:16px;background:transparent;color:var(--ink);box-shadow:0 18px 60px #382a2240}.recipe-translate-dialog::backdrop{background:#30251e70;backdrop-filter:blur(2px)}.recipe-translate-dialog .manage-card{margin:0;padding:22px;border:1px solid #e7ddce;border-radius:16px;background:var(--card)}
@media(max-width:620px){.recipe-list-heading{padding-bottom:0}.recipe-management-list{gap:10px}.recipe-drafts{grid-template-columns:minmax(0,1fr);gap:9px}.recipe-drafts .draft-row{min-height:126px;gap:7px;padding:10px}.recipe-drafts .draft-row strong{flex-basis:100%}.recipe-drafts .draft-row .pdf-export,.recipe-drafts .draft-row button{padding-inline:7px!important;font-size:.68rem!important}.recipe-editor-dialog{top:8px;width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:15px}.recipe-editor-dialog .recipe-editor-card{padding:19px 17px;border-radius:15px}.recipe-editor-dialog .form-grid{grid-template-columns:1fr;gap:9px}.recipe-editor-dialog .form-grid>.field-wide{grid-column:auto}.recipe-editor-dialog .manage-card .field-label textarea{min-height:64px}.recipe-editor-dialog .recipe-category-choices{gap:5px}}

/* Recipe management rows: readable title and controls share one line. */
.recipe-drafts .draft-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto auto auto;min-height:72px;flex-wrap:nowrap;align-content:center;gap:8px;padding:10px 13px}
.recipe-drafts .draft-row strong{grid-column:1;flex:initial;font-size:1.1rem;font-weight:700;line-height:1.25}
.recipe-drafts .draft-row>span{margin:0;white-space:nowrap}
.recipe-drafts .draft-status-published{background:#dcebd9;color:#35613c;border:1px solid #bdd7b9}
.recipe-drafts .draft-status-draft{background:#f8e9b9;color:#765d20;border:1px solid #ead79a}
.recipe-drafts .draft-row .pdf-export,.recipe-drafts .draft-row button{white-space:nowrap}
.recipe-drafts .draft-row .pdf-export{min-width:42px;min-height:38px!important;color:#c4483d;background:#fff0ed;border-color:#efc1ba}
.recipe-drafts .draft-row .pdf-export svg{width:23px;height:23px;stroke-width:2.1}
.recipe-drafts .draft-row button svg{width:22px;height:22px}
@media(max-width:620px){.recipe-drafts .draft-row{grid-template-columns:minmax(0,1fr) auto auto auto auto auto;min-height:62px;gap:4px;padding:8px}.recipe-drafts .draft-row strong{font-size:.96rem}.recipe-drafts .draft-row .pdf-export,.recipe-drafts .draft-row button{box-sizing:border-box;width:40px;min-width:0!important;min-height:28px!important;padding:4px 3px!important;font-size:0!important}.recipe-drafts .draft-row .pdf-export:after{content:"PDF";font-size:.65rem}.recipe-drafts .draft-row button:nth-of-type(1):after{content:"Änd.";font-size:.65rem}.recipe-drafts .draft-row button:nth-of-type(2):after{content:"Freig.";font-size:.65rem}.recipe-drafts .draft-row button:nth-of-type(3):after{content:"Lösch";font-size:.65rem}html[lang=en] .recipe-drafts .draft-row button:nth-of-type(1):after{content:"Edit"}html[lang=en] .recipe-drafts .draft-row button:nth-of-type(2):after{content:"Share"}html[lang=en] .recipe-drafts .draft-row button:nth-of-type(3):after{content:"Delete"}}
@media(max-width:620px){.recipe-drafts .draft-row{grid-template-columns:minmax(0,1fr) repeat(4,40px);grid-template-rows:auto auto;min-height:78px;align-items:center}.recipe-drafts .draft-row strong{grid-column:1;grid-row:1;min-width:0}.recipe-drafts .draft-row>span{grid-column:1;grid-row:2;justify-self:start;font-size:.72rem}.recipe-drafts .draft-row .pdf-export{grid-column:2;grid-row:2}.recipe-drafts .draft-row>button:nth-of-type(1){grid-column:3;grid-row:2}.recipe-drafts .draft-row>button:nth-of-type(2){grid-column:4;grid-row:2}.recipe-drafts .draft-row>button:nth-of-type(3){grid-column:5;grid-row:2}.recipe-drafts .draft-row .pdf-export:after,.recipe-drafts .draft-row button:after{content:none!important}.recipe-drafts .draft-row .pdf-export svg,.recipe-drafts .draft-row button svg{width:17px;height:17px}}
@media(max-width:620px){.recipe-drafts .draft-row strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recipe-drafts .draft-row .pdf-export{min-height:34px!important}.recipe-drafts .draft-row .pdf-export svg,.recipe-drafts .draft-row button svg{width:22px;height:22px}}
@media(max-width:650px){.site-header nav button#add-recipe:before{content:"Rezepte bearbeiten";font-size:.68rem}html[lang=en] .site-header nav button#add-recipe:before{content:"Edit recipes"}}

/* Keep the entire editor reachable even when its form is taller than the viewport. */
.recipe-editor-dialog{height:min(900px,calc(100dvh - 28px));max-height:calc(100dvh - 28px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scroll-padding-block:18px}
@media(max-width:620px){.recipe-editor-dialog{height:calc(100dvh - 16px);max-height:calc(100dvh - 16px)}}

/* Kachelansicht bleibt bewusst auf Rezeptname und Zubereitungszeit reduziert. */
.recipe .cats,.grid[data-layout="tiles"] .recipe .summary{display:none}
/* Keep the time/servings row aligned at the bottom of every tile. */
.grid[data-layout="tiles"] .recipe{display:flex;flex-direction:column;height:100%}
.recipe-card-link{display:flex;flex:1;flex-direction:column;min-width:0;color:inherit;text-decoration:none}
.grid[data-layout="tiles"] .recipe-card-link{min-height:100%}
.grid[data-layout="list"] .recipe-card-link,.grid[data-layout="compact"] .recipe-card-link{flex-direction:row;align-items:stretch}
.grid[data-layout="compact"] .recipe-card-link{align-items:center}
.grid[data-layout="tiles"] .recipe-content{display:flex;flex:1;flex-direction:column;align-items:stretch}
.grid[data-layout="tiles"] .recipe-content{min-height:0;padding:9px 14px 10px}
.grid[data-layout="tiles"] .recipe h2{min-height:0;margin:0;font-size:1.04rem;line-height:1.25}
.grid[data-layout="tiles"] .recipe-meta{display:none}
.grid[data-layout="tiles"] .recipe-duration-badge{position:absolute;top:9px;right:9px;z-index:2;display:block;padding:4px 7px;border:1px solid #fff9efb0;border-radius:999px;background:#fff9efdf;color:var(--sage-dark);font-size:.67rem;font-weight:750;line-height:1;box-shadow:0 2px 8px #382a2226}
@media(max-width:650px){.grid[data-layout="tiles"] .recipe-content{min-height:0;padding:8px 10px 9px}.grid[data-layout="tiles"] .recipe h2{font-size:.96rem}.grid[data-layout="tiles"] .recipe-duration-badge{top:7px;right:7px;font-size:.62rem}}

/* One compact control size across the application; chips/icons remain compact by design. */
button:not(.chips button):not(.text-button):not(.layout-switch button):not(.manage-image-add):not(.manage-image-remove):not(.recipe-editor-close){min-height:36px!important;padding:8px 12px!important;font-size:.86rem!important;line-height:1.25!important}
a.pdf-export{min-height:36px!important;padding:8px 12px!important;border-radius:10px;font-size:.86rem!important;line-height:1.25!important}

/* Editor categories are a compact, readable checkbox grid rather than pills. */
.recipe-editor-dialog .recipe-category-choices{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px 8px;padding:5px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.recipe-editor-dialog .recipe-category-choice{display:flex;align-items:flex-start;gap:4px;min-width:0;min-height:28px;padding:3px 0!important;border:0;border-radius:0;background:transparent;color:var(--ink);font-size:.7rem;line-height:1.2}
.recipe-editor-dialog .recipe-category-choice:has(input:checked){background:transparent;color:var(--sage-dark);font-weight:700}
.recipe-editor-dialog .recipe-category-choice input{width:13px;height:13px;flex:0 0 13px;margin:1px 0 0}
.recipe-editor-dialog .recipe-category-choice span{min-width:0;overflow-wrap:anywhere}
@media(max-width:760px){.recipe-editor-dialog .recipe-category-choices{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:620px){.recipe-editor-dialog .recipe-category-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px 7px}.recipe-editor-dialog .recipe-category-choice{font-size:.72rem}}
.chips button,.text-button,.layout-switch button{min-height:0}
.remember-label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.84rem}
.remember-label input{width:auto;flex:0 0 auto;margin:0}
#login-form>button{width:100%;margin-top:10px;border-radius:11px}
.manage-image-remove svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.manage-image-pending{right:auto;left:7px;max-width:calc(100% - 50px)}
.manage-image-tile{touch-action:none}

/* RecipeSage-inspired import flow: keep the task clear without letting the
   display heading dominate the actual URL/file input. */
@media(min-width:901px){
  .import-panel{min-height:300px}
  .import-panel>h2{font-size:clamp(1.6rem,2.2vw,2rem);line-height:1.16;letter-spacing:-.025em}
}
/* RecipeSage's mobile cookbook keeps useful image tiles in two columns. */
@media(max-width:650px){.grid[data-layout="tiles"]{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:360px){.grid[data-layout="tiles"]{grid-template-columns:1fr}.grid[data-layout="tiles"] .recipe-photo{aspect-ratio:1.6/1}}

/* Keep the editor open while the online translation runs and make progress visible. */
.recipe-translation-progress[hidden]{display:none}
.recipe-translation-progress{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:22px;background:#30251e70;backdrop-filter:blur(3px)}
.recipe-translation-progress-card{display:grid;justify-items:center;gap:12px;width:min(360px,100%);padding:26px 24px;border:1px solid #e7ddce;border-radius:18px;background:#fffdf8;color:var(--ink);text-align:center;box-shadow:0 20px 70px #20191235;animation:translation-card-in .22s ease-out both}
.recipe-translation-progress-card strong{font:650 1.04rem/1.35 var(--sans)}
.recipe-translation-progress-card>span:last-child{color:var(--muted);font-size:.86rem;line-height:1.5}
.recipe-translation-spinner{width:38px;height:38px;border:3px solid #e5dece;border-top-color:var(--sage);border-right-color:var(--sage-dark);border-radius:50%;animation:translation-spin .8s linear infinite}
@keyframes translation-spin{to{transform:rotate(360deg)}}
@keyframes translation-card-in{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(prefers-reduced-motion:reduce){.recipe-translation-spinner{animation:none;border-top-color:var(--sage-dark)}.recipe-translation-progress-card{animation:none}}

/* Restore the complete cookbook UI, then apply the later login and navigation design. */
.is-booting main,.is-booting .site-header{visibility:hidden}
.login-shell{position:relative;isolation:isolate;max-width:430px;margin:clamp(54px,12vh,130px) auto;padding:32px;overflow:hidden;border:1px solid var(--line);border-radius:28px;background:linear-gradient(145deg,#fffdf8,#f7eedf);box-shadow:0 20px 52px #55432b1c}
.login-shell:before{position:absolute;z-index:-1;top:-105px;right:-112px;width:245px;height:245px;border:1px solid #c9d1b8;border-radius:50%;background:#e6eadb99;content:""}
.is-guest #login{width:min(100%,430px);padding:32px}
.login-brand{display:flex;align-items:center;justify-content:flex-start;gap:13px;margin:2px 0 27px;color:var(--ink);text-align:left}
.login-brand .brand-mark{width:56px;height:56px;flex:0 0 auto;overflow:visible;background:transparent;box-shadow:none}
.login-brand strong{display:block;color:var(--sage-dark);font:400 clamp(1.7rem,6vw,2.15rem)/.92 "IM Fell English SC",Georgia,serif;letter-spacing:.015em;text-shadow:1px 1px 0 #fffdf8,2px 2px 0 #d9cfbe}
.login-brand span{display:block;margin-top:5px;color:var(--muted);font-size:.82rem;letter-spacing:.015em}
#login-form{display:grid;gap:10px}
#login-form input[name="userName"],#login-form input[type="password"]{width:100%;margin:0;padding:13px 14px;border:1px solid #dcd0bd;border-radius:12px;background:#fffefa;color:var(--ink);box-shadow:inset 0 1px 1px #55432b08}
#login-form input::placeholder{color:#8f8272}
#login-form>button{width:100%;margin-top:6px;border-radius:12px}
.login-language-toggle,.site-header .language-toggle{display:inline-grid;place-items:center;width:48px;height:44px;min-height:44px!important;padding:2px!important;border:1px solid var(--line);border-radius:11px;background:#fffdf8cc;color:var(--sage-dark);font-size:2rem!important;line-height:1!important}
.login-language-toggle{position:absolute;top:14px;right:14px}
.login-language-toggle:hover,.site-header .language-toggle:hover{background:var(--sage-pale);box-shadow:none;transform:none}
.nav-toggle{display:none}
#primary-nav{min-width:0}
.current-user{display:block;max-width:14rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font:600 .86rem var(--sans);letter-spacing:0}
.recipe-editor-tools #recipe-editor-language{display:grid;place-items:center;width:42px;height:36px;min-height:36px!important;padding:2px!important;font-size:1.45rem!important;line-height:1!important}
.recipe-translate-dialog select{font-size:1.4rem!important;line-height:1.2!important}
@media(max-width:1050px){
  .site-header{height:64px;padding-inline:14px;justify-content:space-between}
  .site-header .brand,.site-header .brand-mark{width:42px;height:42px}
  .nav-toggle{width:44px;height:44px;display:grid;place-content:center;gap:5px;padding:0!important;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--sage-dark);box-shadow:0 3px 10px #55432b12}
  .nav-toggle:hover{background:var(--sage-pale);box-shadow:0 3px 10px #55432b12;transform:none}
  .nav-toggle span{display:block;width:19px;height:2px;border-radius:2px;background:currentColor;transition:transform .18s ease,opacity .18s ease}
  .site-header.menu-open .nav-toggle span:first-child{transform:translateY(7px) rotate(45deg)}
  .site-header.menu-open .nav-toggle span:nth-child(2){opacity:0}
  .site-header.menu-open .nav-toggle span:last-child{transform:translateY(-7px) rotate(-45deg)}
  .site-header #primary-nav{position:absolute;top:calc(100% + 8px);right:10px;left:10px;display:none;max-width:none;max-height:calc(100dvh - 80px);overflow:auto;flex-direction:column;align-items:stretch;gap:3px;padding:9px;border:1px solid var(--line);border-radius:16px;background:#fffdf8f5;box-shadow:0 14px 30px #55432b25;backdrop-filter:blur(16px)}
  .site-header.menu-open #primary-nav{display:flex}
  .site-header #primary-nav button:not(.language-toggle),.site-header #primary-nav .current-user{width:100%;max-width:none;min-height:44px!important;padding:10px 12px!important;text-align:left;font-size:1rem!important}
  .site-header #primary-nav .current-user{display:flex;align-items:center;color:var(--muted);border-bottom:1px solid var(--line)}
  .site-header #primary-nav .language-toggle{align-self:flex-start;margin:4px 6px}
  .site-header #primary-nav #logout{margin-top:2px;text-align:left}
  .site-header #primary-nav #add-recipe,.site-header #primary-nav #import-nav,.site-header #primary-nav #manage-nav{font-size:1rem!important}
  .site-header #primary-nav #add-recipe:before,.site-header #primary-nav #import-nav:before,.site-header #primary-nav #manage-nav:before{content:none!important}
}
@media(max-width:1050px) and (orientation:landscape) and (max-height:560px){.site-header #primary-nav{max-height:calc(100dvh - 78px)}}
@media(max-width:420px){.is-guest #login{padding:30px 22px}.login-brand{gap:10px}.login-brand .brand-mark{width:48px;height:48px}.login-brand strong{font-size:1.68rem}.login-language-toggle{top:10px;right:10px;width:44px;height:42px;min-height:42px!important}}

/* Header: identity remains beside the mark; actions stay grouped at the right. */
.site-header>.brand{flex:0 1 auto;justify-content:flex-start}
.site-header>.brand{width:auto;height:48px;gap:10px}
.site-header>.brand #current-user{display:block!important}
.site-header>#primary-nav{margin-left:auto;justify-content:flex-end}
.site-header>#primary-nav .language-toggle{order:98}
.site-header>#primary-nav #logout{order:99}

/* Keep the editor scrollbar visibly opaque even on overlay-scrollbar platforms. */
.recipe-editor-dialog{scrollbar-color:#596b50 #eee8dc;background:var(--card)}
.recipe-editor-dialog::-webkit-scrollbar-track{background-color:#eee8dc!important}
.recipe-editor-dialog::-webkit-scrollbar-thumb{background-color:#596b50!important;opacity:1!important}

/* The close glyph is a quiet control, not a pill button. */
.recipe-editor-dialog .recipe-editor-close{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:var(--muted)!important}
.recipe-editor-dialog .recipe-editor-close:hover{color:var(--ink)!important}
.recipe-editor-dialog .recipe-editor-close:focus,.recipe-editor-dialog .recipe-editor-close:focus-visible{outline:0!important;outline-offset:0!important}
.recipe-editor-dialog .recipe-editor-close{font-size:2rem!important}
@media(max-width:650px){.site-header>.brand{max-width:calc(100vw - 78px)}.site-header>.brand #current-user{max-width:calc(100vw - 140px);font-size:.78rem}}
