:root{--orange:#f37021;--orange-dark:#d9570d;--ink:#252b28;--muted:#69716d;--line:rgba(37,43,40,.13);--paper:#fbfbfa;--warm:#f1f3f2;--surface:#fff;--surface-2:var(--warm);--ok:#2f855a;--danger:#b42318;--shadow:0 10px 28px rgba(29,35,42,.08);font-family:"Manrope","Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(180deg,#fff 0,var(--warm) 280px);color:var(--ink)}button,input,select{font:inherit}.app-shell{max-width:920px;margin:0 auto;min-height:100vh;padding:0 18px 48px}.app-header{height:76px;display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:10;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(229,231,235,.8)}.brand{display:flex;align-items:center;gap:10px;min-width:0;cursor:pointer}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--ink);color:#fff;font-weight:900;position:relative}.brand-mark:after{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:var(--orange);right:-2px;bottom:-2px;border:2px solid #fff}.brand strong,.brand span{display:block}.brand strong{font-size:1rem}.brand span{font-size:.75rem;color:var(--muted);margin-top:1px}.status-pill{margin-left:auto;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:6px 9px;font-size:.74rem;color:var(--muted);background:#fff}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--ok)}.icon-button{width:42px;height:42px;border:1px solid var(--line);border-radius:12px;background:#fff;display:grid;place-items:center}.icon-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.view{display:none;padding-top:28px}.view.active{display:block}.hero{padding:24px 0 18px}.hero.compact{max-width:650px}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--orange-dark);font-size:.74rem;font-weight:800;margin:0 0 6px}h1{font-size:clamp(1.7rem,5vw,2.35rem);line-height:1.08;margin:0 0 10px}p{line-height:1.55;color:var(--muted)}.main-grid{display:grid;gap:14px}.main-card{width:100%;display:grid;grid-template-columns:50px 1fr auto;align-items:center;gap:14px;text-align:left;border:1px solid var(--line);background:#fff;border-radius:20px;padding:18px;min-height:94px;box-shadow:var(--shadow);cursor:pointer;transition:.18s transform,.18s border-color}.main-card:hover{transform:translateY(-1px);border-color:#d6d9de}.main-card strong,.main-card small{display:block}.main-card strong{font-size:1.08rem}.main-card small{color:var(--muted);margin-top:4px;line-height:1.35}.card-icon{width:50px;height:50px;border-radius:15px;display:grid;place-items:center;background:#fff4e8;color:var(--orange-dark)}.card-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.chevron{font-size:2rem;color:#9aa1a9}.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px}.section-head p{margin:.15rem 0 0}.primary,.secondary,.danger-button{border:0;border-radius:12px;padding:11px 14px;font-weight:700;cursor:pointer}.primary{background:var(--orange);color:#1d2024}.primary:hover{background:#e78220}.secondary{background:#fff;border:1px solid var(--line);color:var(--ink)}.danger-button{background:#fff0ef;color:var(--danger)}.filter-panel,.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:0 5px 18px rgba(30,35,41,.04)}.search-field input{width:100%}.filter-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}label span,legend{display:block;font-size:.78rem;color:var(--muted);font-weight:700;margin-bottom:6px}input,select{width:100%;min-height:44px;border:1px solid #d9dde2;border-radius:11px;background:#fff;padding:9px 11px;color:var(--ink)}input:focus,select:focus{outline:3px solid rgba(243,112,33,.18);border-color:var(--orange)}.stack-list{display:grid;gap:10px;margin-top:14px}.list-row{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px}.list-row .grow{flex:1;min-width:0}.list-row strong,.list-row span{display:block}.list-row .meta{font-size:.78rem;color:var(--muted);margin-top:4px}.recipe-row{cursor:pointer}.recipe-row:hover{border-color:#d7dbe0}.empty-state{text-align:center;padding:34px 18px;border:1px dashed #d6dae0;border-radius:18px;color:var(--muted);background:rgba(255,255,255,.65)}.tile-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.feature-tile{position:relative;text-align:left;border:1px solid var(--line);border-radius:17px;padding:17px;background:#fff;min-height:118px;cursor:pointer}.feature-tile strong,.feature-tile span,.feature-tile em{display:block}.feature-tile strong{font-size:1rem}.feature-tile span{margin-top:7px;color:var(--muted);line-height:1.4;font-size:.86rem}.feature-tile em{position:absolute;right:12px;bottom:10px;font-style:normal;color:#8a929a;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em}.info-box,.foundation-note{margin-top:14px;border-left:4px solid var(--orange);background:#fff8f0;border-radius:10px;padding:14px 15px}.info-box p,.foundation-note p{margin:.25rem 0 0}.inline-add{display:grid;grid-template-columns:1fr auto;align-items:end;gap:10px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-grid .wide{grid-column:1/-1}.form-card{display:grid;gap:16px}.form-card fieldset{border:1px solid var(--line);border-radius:14px;padding:12px}.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.check-item{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:9px}.check-item input{width:18px;min-height:auto}.check-item span{margin:0;color:var(--ink);font-weight:500}.form-actions{display:flex;justify-content:flex-end;gap:10px}.settings-card{display:grid;gap:0}.setting-row{display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid var(--line)}.setting-row:last-child{border-bottom:0}.setting-row strong,.setting-row span{display:block}.setting-row>div>span{font-size:.82rem;color:var(--muted);margin-top:5px;max-width:600px}.badge{align-self:flex-start;border-radius:999px;background:#eef1f4;padding:6px 9px;font-size:.72rem;color:#59616a;white-space:nowrap}.badge.ok{background:#eaf7ef;color:#246b46}.action-card{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:12px}.action-card p{margin:.25rem 0 0}.file-button{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;cursor:pointer}.small-note{font-size:.8rem;margin:0}.toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,20px);opacity:0;pointer-events:none;transition:.2s;background:#24292f;color:#fff;border-radius:12px;padding:10px 14px;font-size:.84rem;max-width:min(90vw,520px);z-index:50}.toast.show{opacity:1;transform:translate(-50%,0)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:620px){.app-shell{padding:0 14px 36px}.app-header{height:68px}.view{padding-top:22px}.tile-grid,.filter-row,.field-grid,.check-grid{grid-template-columns:1fr}.section-head{align-items:flex-end}.inline-add{grid-template-columns:1fr}.inline-add button{width:100%}.action-card{align-items:flex-start;flex-direction:column}.action-card button,.action-card .file-button{width:100%}.main-card{min-height:90px;padding:15px}.brand span{display:none}.status-pill span:last-child{display:none}}@media(min-width:760px){.main-grid{grid-template-columns:repeat(3,1fr)}.main-card{grid-template-columns:1fr;min-height:180px;align-content:start}.main-card .chevron{position:absolute;right:18px}.main-card{position:relative}.card-icon{margin-bottom:8px}.management-grid{grid-template-columns:repeat(3,1fr)}}

/* Erweiterungen 0.3 */
button,input,select,textarea{font:inherit}
textarea{width:100%;border:1px solid #d9dde2;border-radius:11px;background:#fff;padding:10px 11px;color:var(--ink);resize:vertical}
textarea:focus{outline:3px solid rgba(243,112,33,.18);border-color:var(--orange)}
h2{font-size:1.08rem;margin:0 0 12px}
.recipe-editor{display:grid;gap:14px}
.editor-section-head,.step-link-head,.cooking-top,.portion-card,.head-actions{display:flex;justify-content:space-between;align-items:center;gap:12px}
.editor-section-head p,.step-link-head span,.portion-card>div>span{display:block;color:var(--muted);font-size:.8rem;margin:.25rem 0 0}
.editor-list{display:grid;gap:10px}
.ingredient-edit-row{display:grid;grid-template-columns:34px 110px 105px 1fr 38px;gap:8px;align-items:center}
.drag-number{width:30px;height:30px;display:grid;place-items:center;border-radius:999px;background:#f1f3f5;color:var(--muted);font-size:.78rem;font-weight:800}
.icon-danger{width:36px;height:36px;border:0;border-radius:10px;background:#fff0ef;color:var(--danger);font-size:1.2rem;cursor:pointer}
.small-button{padding:8px 10px;font-size:.8rem}
.text-button{border:0;background:transparent;color:var(--orange-dark);font-weight:700;cursor:pointer;padding:7px}
.step-edit-card{border:1px solid var(--line);border-radius:15px;padding:14px;background:#fcfcfd;display:grid;gap:12px}
.step-edit-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.step-edit-head>div{display:flex;align-items:center;gap:5px}
.step-link-head{align-items:flex-end;border-top:1px solid var(--line);padding-top:12px}
.step-refs{display:grid;gap:8px}
.step-ref-row{display:grid;grid-template-columns:1.2fr 1.1fr .8fr 38px;gap:8px;align-items:end;border-radius:12px;background:#fff;padding:10px;border:1px solid var(--line)}
.ref-remove{margin-bottom:4px}
.inline-check{display:flex;align-items:center;gap:8px}
.inline-check input{width:18px;min-height:auto}
.inline-check span{margin:0;color:var(--ink);font-weight:500}
.sticky-actions{position:sticky;bottom:12px;background:rgba(247,248,250,.92);backdrop-filter:blur(8px);padding:10px;border-radius:14px;border:1px solid var(--line)}
.recipe-detail-head{align-items:center}
.head-actions{justify-content:flex-end}
.badge-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.portion-card{margin-bottom:20px}
.portion-control{display:grid!important;grid-template-columns:44px 82px 44px;gap:8px;align-items:center}
.portion-control input{text-align:center}
.square{padding:9px;min-height:44px}
.recipe-section{margin:22px 0}
.recipe-section>h2{margin-bottom:10px}
.ingredient-list{display:grid;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.ingredient-row{display:grid;grid-template-columns:minmax(90px,140px) 1fr;gap:14px;padding:12px 14px;border-bottom:1px solid var(--line)}
.ingredient-row:last-child{border-bottom:0}
.ingredient-amount{font-weight:800;color:var(--orange-dark)}
.step-list{display:grid;gap:12px}
.step-card{display:grid;grid-template-columns:42px 1fr;gap:12px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px}
.step-number{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#fff4e8;color:var(--orange-dark);font-weight:900}
.step-content p{margin:8px 0 0;line-height:1.55}
.step-ingredients,.cook-ingredients{display:flex;flex-wrap:wrap;gap:7px}
.step-ingredients span,.cook-ingredients span{display:inline-flex;border-radius:999px;background:#fff4e8;color:#8b4b0a;padding:7px 10px;font-size:.82rem;font-weight:800}
.compact-empty{padding:18px}
.vessel-conversion{display:grid;gap:12px}
.danger-zone{margin-top:28px;padding-top:16px;border-top:1px solid var(--line)}
.cooking-view{max-width:760px;margin:0 auto}
.cooking-top{align-items:flex-start}
.cook-progress{font-size:.82rem;font-weight:800;color:var(--muted);margin:12px 0}
.cook-step-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;min-height:300px;display:flex;flex-direction:column;gap:24px;justify-content:center;box-shadow:var(--shadow)}
.cook-instruction{font-size:clamp(1.45rem,4vw,2.15rem);line-height:1.35;font-weight:750}
.cook-ingredients span{font-size:1rem;padding:9px 12px}
.muted-chip{background:#f1f3f5!important;color:var(--muted)!important}
.cook-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
.cook-nav{min-height:68px;border-radius:16px;border:1px solid var(--line);background:#fff;font-weight:900;font-size:1.05rem;cursor:pointer}
.cook-nav.primary{border-color:transparent;background:var(--orange)}
.cook-nav:disabled{opacity:.4;cursor:not-allowed}
.speech-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:10px}
.status-pill.offline .status-dot{background:#9aa1a9}
.import-panel{margin-top:14px}
.import-preview{margin-top:14px}
.preview-card{border:1px solid var(--line);border-radius:14px;background:#fbfbfc;padding:14px;display:grid;gap:8px}
.preview-card strong,.preview-card span{display:block}
.preview-card span{color:var(--muted);font-size:.82rem}
.preview-card p{margin:0;line-height:1.45}
.danger-info{border-left-color:var(--danger);background:#fff2f1}
.modal{position:fixed;inset:0;background:rgba(20,24,28,.45);display:grid;place-items:center;padding:20px;z-index:100}
.modal[hidden]{display:none}
.modal-card{width:min(100%,440px);background:#fff;border-radius:18px;padding:20px;box-shadow:0 22px 70px rgba(0,0,0,.22)}
.modal-card p{line-height:1.5}
@media(max-width:760px){
  .ingredient-edit-row{grid-template-columns:34px 90px 90px 1fr 38px}
  .step-ref-row{grid-template-columns:1fr 1fr}
  .step-ref-row .ref-remove{grid-column:2;justify-self:end}
}
@media(max-width:620px){
  .head-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .recipe-detail-head{align-items:stretch;flex-direction:column}
  .portion-card{align-items:flex-start;flex-direction:column}
  .portion-control{width:100%;grid-template-columns:52px 1fr 52px}
  .ingredient-edit-row{grid-template-columns:32px 1fr 82px 36px}
  .ingredient-edit-row [data-field="name"]{grid-column:2/4}
  .ingredient-edit-row [data-field="amount"]{grid-column:2}
  .ingredient-edit-row [data-field="unit"]{grid-column:3}
  .ingredient-edit-row .icon-danger{grid-column:4;grid-row:1/3}
  .drag-number{grid-row:1/3}
  .editor-section-head,.step-link-head{align-items:flex-start;flex-direction:column}
  .editor-section-head button,.step-link-head button{width:100%}
  .step-ref-row{grid-template-columns:1fr}
  .step-ref-row .ref-remove{grid-column:1;justify-self:end}
  .step-edit-head{align-items:flex-start}
  .step-edit-head>div{flex-direction:column;align-items:flex-end}
  .cook-step-card{padding:18px;min-height:330px}
  .cook-controls{grid-template-columns:1fr 1fr}
  .speech-controls{grid-template-columns:1fr}
  .sticky-actions{bottom:6px}
}

.auth-gate{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(180deg,#fbfbfa 0%,#f4f5f6 100%)}
.auth-card{width:min(100%,520px);background:#fff;border:1px solid #e4e7eb;border-radius:24px;padding:30px;box-shadow:0 24px 70px rgba(20,28,38,.10)}
.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:28px}.auth-brand>div{display:grid}.auth-brand span{font-size:.86rem;color:#667085}
.auth-card h1{font-size:clamp(1.65rem,5vw,2.25rem);margin:.15em 0 .35em}.auth-card p{line-height:1.55}.auth-form{display:grid;gap:14px;margin:22px 0 14px}.auth-form label{display:grid;gap:7px}.auth-form input{width:100%}
.auth-message{min-height:24px;margin:16px 0 8px;color:#52606d}.auth-message.error{color:#b42318;font-weight:650}
.license-pill.read-only .status-dot{background:#d97706}.license-pill.read-only{border-color:#f4c27a}.license-pill.blocked .status-dot{background:#b42318}
.read-only-notice{margin:0 auto 18px;max-width:980px;padding:11px 14px;border:1px solid #f4c27a;background:#fff7e8;border-radius:12px;color:#7a4b00;font-size:.92rem}
button:disabled{opacity:.48;cursor:not-allowed}
@media(max-width:620px){.auth-gate{padding:12px}.auth-card{padding:22px;border-radius:18px}}
