:root{--color-bg:rgb(245,242,235);--color-surface:rgb(255,253,249);--color-text:rgb(58,58,58);--color-text-muted:rgb(110,115,100);--color-primary:rgb(46,74,42);--color-primary-hover:rgb(55,85,50);--color-accent:rgb(74,106,58);--color-border:rgb(220,216,205);--color-error:rgb(160,40,40);--color-success:rgb(60,115,55);--font-body:"Nunito Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-heading:"Roma-Bold",Georgia,serif;--radius:4px;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--space-6:48px;--bottom-nav-h:calc(54px + max(8px, env(safe-area-inset-bottom)))}*{box-sizing:border-box}body,html{margin:0;padding:0;font-family:var(--font-body);background:var(--color-primary);color:var(--color-text);font-weight:300;line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-heading);font-weight:400;color:var(--color-primary);margin:0 0 var(--space-2);letter-spacing:-.01em}h1{font-size:clamp(28px,4vw,40px)}h2{font-size:clamp(22px,3vw,28px)}p{margin:0 0 var(--space-2)}a{color:var(--color-accent);text-decoration:none;border-bottom:1px solid}a:hover{color:var(--color-primary)}.app-shell{min-height:100vh;display:flex;flex-direction:column;padding-bottom:var(--bottom-nav-h)}.page{max-width:520px;margin:0 auto;padding:var(--space-6) var(--space-3);width:100%;background:var(--color-bg);min-height:100vh}.page--wide{max-width:960px}.page--login{background:var(--color-primary);min-height:100vh;max-width:none;padding-top:var(--space-6);display:flex;flex-direction:column;align-items:center}.page--login>.card{width:100%;max-width:480px;margin-bottom:var(--space-3)}.page--login>.muted,.page--login>.muted a{color:rgba(255,255,255,.75)}.page--login>.muted a{border-bottom-color:rgba(255,255,255,.45)}.page--login>.muted a:hover{color:rgba(255,255,255,1)}.login-header{text-align:center;margin:var(--space-4) 0 var(--space-4);color:rgba(255,255,255,.92)}.login-header img{max-width:120px;height:auto;opacity:.95}.login-header__subtitle{font-family:var(--font-body);font-weight:300;font-size:13px;text-transform:uppercase;letter-spacing:.18em;color:rgba(255,255,255,.75);margin:var(--space-2) 0 0}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3);margin-bottom:var(--space-3)}form .field{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--space-2)}form label{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}form input,form select{font-family:inherit;font-size:16px;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius);background:#fff;color:var(--color-text)}form input:focus,form select:focus{outline:2px solid var(--color-accent);outline-offset:1px}button{font-family:inherit;font-size:16px;font-weight:400;letter-spacing:.03em;padding:12px 20px;border:none;background:var(--color-primary);color:#fff;border-radius:var(--radius);cursor:pointer;transition:background .16s ease}button:hover:not(:disabled){background:var(--color-primary-hover)}button:disabled{opacity:.5;cursor:not-allowed}button.btn-link{background:transparent;color:var(--color-accent);padding:8px 0}.alert{padding:12px 16px;border-radius:var(--radius);margin-bottom:var(--space-2);font-size:14px}.alert-error{background:#fbe9e9;color:var(--color-error);border:1px solid #f2c6c6}.alert-success{background:#e4f0df;color:var(--color-success);border:1px solid #c5d9bc}.muted{color:var(--color-text-muted);font-size:14px}.tabs{display:flex;border-bottom:1px solid var(--color-border);margin-bottom:var(--space-3)}.tabs button{flex:1 1;background:transparent;color:var(--color-text-muted);border-radius:0;border-bottom:2px solid transparent;padding:10px 0}.tabs button.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.center{text-align:center}.toolbar{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:flex-end;margin-bottom:var(--space-3)}.toolbar .field{margin-bottom:0}.toolbar input,.toolbar select{font-family:inherit;font-size:15px;padding:8px 10px;border:1px solid var(--color-border);border-radius:var(--radius);background:#fff;color:var(--color-text);min-width:150px}.toolbar button{padding:9px 16px;font-size:14px}.rezept-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:var(--space-3);gap:var(--space-3)}.rezept-card{background:var(--color-surface);border-bottom:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:inherit;border:1px solid var(--color-border);transition:border-color .16s ease,transform .16s ease}.rezept-card:hover{border-color:var(--color-accent);transform:translateY(-2px);color:inherit}.rezept-card__thumb{aspect-ratio:4/3;background:var(--color-bg);background-size:cover;background-position:50%}.rezept-card__thumb--placeholder{display:flex;align-items:center;justify-content:center;background:rgb(46,74,42)}.rezept-card__body{padding:var(--space-2);display:flex;flex-direction:column;gap:6px;flex:1 1}.rezept-card__title{font-family:var(--font-heading);color:var(--color-primary);font-size:17px;line-height:1.3;margin:0}.rezept-card__meta{font-size:12px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em}.badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.badge{font-size:11px;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:20px;background:rgb(228,237,222);color:rgb(45,65,35)}.badge--farbe-rot{background:rgb(252,222,220);color:rgb(130,25,25)}.badge--farbe-gelb{background:rgb(255,244,200);color:rgb(125,90,0)}.badge--farbe-weiss{background:rgb(242,240,235);color:rgb(90,85,75);outline:1px solid rgba(0,0,0,.1)}.badge--farbe-schwarz{background:rgb(210,210,205);color:rgb(25,25,25)}.badge--geschmack{background:rgb(218,228,248);color:rgb(40,60,115)}.badge--methode{background:rgb(245,232,215);color:rgb(95,60,15)}.badge--allergen{background:rgb(225,225,220);color:rgb(40,40,35);font-weight:400}.empty-state{text-align:center;padding:var(--space-6) var(--space-2);color:var(--color-text-muted)}.back-link{display:inline-block;margin-bottom:var(--space-3);font-size:14px}.zutaten-liste{list-style:none;padding:0;margin:0 0 var(--space-3)}.zutaten-liste li{padding:8px 0;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;gap:var(--space-2)}.zutaten-liste li.is-warnung{color:rgb(160,100,40)}.zutaten-liste li.is-optional{color:var(--color-text-muted);font-style:italic}.zutaten-section{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin:var(--space-3) 0 var(--space-1)}.zutaten-section:first-child{margin-top:0}.portionen-slider{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.portionen-slider input[type=range]{flex:1 1;min-width:120px}.portionen-slider .value{font-family:var(--font-heading);color:var(--color-primary);font-size:24px;min-width:2ch;text-align:right}.portionen-slider button{padding:6px 12px;font-size:18px;line-height:1;background:var(--color-surface);color:var(--color-primary);border:1px solid var(--color-border)}.portionen-slider button:hover:not(:disabled){background:var(--color-primary);color:#fff}.warnungen{background:#fff4e3;border:1px solid #e5c999;border-radius:var(--radius);padding:var(--space-2);margin-bottom:var(--space-3);font-size:14px}.warnungen h3{font-family:var(--font-body);font-size:13px;text-transform:uppercase;letter-spacing:.08em;margin:0 0 8px;color:rgb(130,85,15)}.warnungen ul{margin:0;padding-left:20px}.slot-row{border:1px solid var(--color-border);border-radius:calc(var(--radius) + 2px);padding:16px;margin-bottom:10px;background:var(--color-bg)}.slot-row .muted,.slot-row label,.slot-row span{color:var(--color-text-muted)!important}.slot-row h3{color:var(--color-primary)!important}.slot-row input,.slot-row select{background:var(--color-surface)!important;border:1px solid var(--color-border)!important;color:var(--color-text)!important}.slot-row input::placeholder{color:var(--color-text-muted)}.slot-row input:focus,.slot-row select:focus{outline:2px solid var(--color-primary)!important;outline-offset:1px}.slot-row select option{background:var(--color-surface);color:var(--color-text)}.slot-row-toggle{background:transparent;border:none;color:var(--color-text-muted);font-size:12px;cursor:pointer;padding:3px 0;text-decoration:underline;text-underline-offset:2px;margin-top:3px}.slot-row-toggle:hover:not(:disabled){background:transparent;color:var(--color-primary)}.slot-row-remove{background:transparent;border:none;color:var(--color-text-muted);font-size:12px;cursor:pointer;padding:2px 0;letter-spacing:0}.slot-row-remove:hover:not(:disabled){background:transparent;color:var(--color-error)}.feedback-fab{position:fixed;bottom:calc(var(--bottom-nav-h) + 16px);left:16px;z-index:9000;width:44px;height:44px;border-radius:50%;background:var(--color-primary);color:rgba(255,255,255,.92);border:2px solid rgba(255,255,255,.16);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 10px rgba(0,0,0,.28);padding:0;opacity:.72;transition:background .16s ease,transform .16s ease,opacity .16s ease}.feedback-fab:focus-visible,.feedback-fab:hover{opacity:1}.feedback-fab:hover:not(:disabled){background:var(--color-primary-hover);transform:scale(1.06)}.feedback-fab__badge{position:absolute;top:-2px;right:-2px;background:var(--color-error);color:#fff;font-size:9px;font-weight:700;border-radius:50%;width:16px;height:16px;display:flex;align-items:center;justify-content:center;line-height:1}.feedback-overlay{position:fixed;inset:0;background:rgba(0,0,0,.3);z-index:9100;display:flex;align-items:flex-end;justify-content:flex-end;padding:80px 24px}.feedback-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;width:360px;max-width:calc(100vw - 48px);padding:20px;box-shadow:0 8px 32px rgba(0,0,0,.18);display:flex;flex-direction:column;gap:12px}.feedback-panel__head{display:flex;justify-content:space-between;align-items:center}.feedback-panel__close{background:transparent!important;border:none!important;color:var(--color-text-muted)!important;font-size:18px!important;padding:2px 6px!important;cursor:pointer!important;line-height:1}.feedback-panel__close:hover:not(:disabled){background:transparent!important;color:var(--color-text)!important}.feedback-panel__seite{display:flex;flex-direction:column;gap:3px}.feedback-panel__path{font-size:12px;background:var(--color-bg);padding:3px 7px;border-radius:3px;color:var(--color-text);word-break:break-all}.feedback-panel__hint{font-size:12px;color:var(--color-text-muted);background:var(--color-bg);border-radius:var(--radius);padding:7px 10px;border-left:3px solid var(--color-primary)}.feedback-panel__textarea{font-family:var(--font-body)!important;font-size:15px!important;padding:10px 12px!important;border:1px solid var(--color-border)!important;border-radius:var(--radius)!important;background:var(--color-bg)!important;color:var(--color-text)!important;resize:vertical;width:100%;box-sizing:border-box;line-height:1.55}.feedback-panel__textarea:focus{outline:2px solid var(--color-accent)!important;outline-offset:1px}.feedback-panel__foot{display:flex;justify-content:space-between;align-items:center;gap:8px}.feedback-panel__history{border-top:1px solid var(--color-border);padding-top:12px}.feedback-panel__history-item{display:flex;flex-direction:column;gap:2px;margin-bottom:8px;font-size:13px}.feedback-panel__history-path{font-size:11px;color:var(--color-text-muted);font-style:italic}@media (max-width:600px){.page-branding--hide-mobile{display:none!important}}.shojin-row{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-3)}.shojin-col h4{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin:0 0 6px;font-family:var(--font-body);font-weight:400}.landscape-hint{display:none}@media (max-width:768px) and (orientation:portrait){.landscape-hint{display:block;background:rgb(228,237,222);border:1px solid rgb(180,210,170);border-radius:var(--radius);padding:10px 14px;font-size:13px;color:var(--color-primary);text-align:center;margin-bottom:var(--space-3)}}.listen-section{border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;margin-bottom:var(--space-2)}.listen-section-header{width:100%;display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:var(--color-surface);border:none;cursor:pointer;text-align:left;gap:12px;font-family:inherit;font-size:16px;color:var(--color-text)}.listen-section-header:hover{background:rgb(240,237,228)}.listen-section-body{padding:16px;border-top:1px solid var(--color-border);background:var(--color-bg)}.check-item{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--color-border);font-size:15px}.check-item:last-child{border-bottom:none}.check-item input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-primary);flex-shrink:0;cursor:pointer}.check-item.is-done{color:var(--color-text-muted);text-decoration:line-through}.check-item.is-done input[type=checkbox]{opacity:.5}.check-item.is-needed label{font-weight:600;color:var(--color-primary)}.check-item.is-needed input[type=checkbox]{accent-color:var(--color-primary)}.listen-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.listen-actions button{font-size:13px;padding:7px 14px}.uebergabe-add{display:flex;gap:8px;margin-top:12px}.uebergabe-add input{flex:1 1;font-family:inherit;font-size:15px;padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius);background:#fff;color:var(--color-text)}.uebergabe-add button{padding:8px 16px;font-size:14px;flex-shrink:0}.uebergabe-meta{font-size:12px;color:var(--color-text-muted);margin-top:8px}.listen-group-label{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);padding:10px 0 4px;border-bottom:1px solid var(--color-border);margin-bottom:2px}@media (min-width:700px){.menue-detail-actions{padding-right:160px}}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:8500;background:var(--color-primary);border-top:1px solid rgba(255,255,255,.1);padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right));padding-bottom:max(8px,env(safe-area-inset-bottom));box-shadow:0 -2px 10px rgba(0,0,0,.12)}.bottom-nav,.bottom-nav__item{display:flex;justify-content:center}.bottom-nav__item{flex:1 1;max-width:90px;flex-direction:column;align-items:center;gap:4px;padding:10px 4px 6px;color:rgba(255,255,255,.45);text-decoration:none;border-bottom:none;transition:color .14s ease;min-width:0}.bottom-nav__item:hover{color:rgba(255,255,255,.78)}.bottom-nav__item--active{color:rgba(255,255,255,.96)}.bottom-nav__label{font-family:var(--font-body);font-size:10px;font-weight:400;text-transform:uppercase;letter-spacing:.08em;line-height:1;white-space:nowrap}[data-vercel-toolbar],nextjs-portal,vercel-toolbar{display:none!important}@keyframes page-enter{0%{opacity:.2;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes page-leave{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-6px)}}.pt-content{animation:page-enter .2s ease-out both}@media (prefers-reduced-motion:reduce){.pt-content{animation:none!important}}@media print{.back-link,.bottom-nav,.btn-link,.feedback-fab,.page-header,.print-hide{display:none!important}.app-shell{padding-bottom:0!important}.listen-section-body{display:block!important}.listen-actions,.listen-section-header span:last-child,.uebergabe-add,.uebergabe-meta{display:none!important}.listen-section-header{background:none!important;border-bottom:1px solid #ccc!important;padding:6px 0!important;font-size:13px!important}.check-item{padding:3px 0!important;font-size:11px!important}.listen-section{page-break-inside:avoid;margin-bottom:10px!important}body{color:#000!important;background:#fff!important;font-size:12px!important}h1{font-size:17px!important}h2{font-size:14px!important}@page{size:A4;margin:.5cm}.app-shell{display:block!important}.app-shell,main.page,main.page--wide{height:auto!important;min-height:0!important;padding:0!important;margin:0!important}main.page,main.page--wide{max-width:none!important}.belegung-print-area{font-size:10px!important;margin:0!important;padding:0!important}.belegung-print-area>:last-child{margin-bottom:0!important}.belegung-print-area>:empty,body>div:empty,body>div[class=""]:empty{display:none!important}.belegung-print-area .card{page-break-inside:avoid;margin-bottom:4px!important}.belegung-print-area>.card.belegung-header-card{padding:4px 8px!important;margin-bottom:4px!important;box-shadow:none!important;border:none!important;border-bottom:1.5px solid #2e4a2a!important;display:flex!important;gap:10px!important;align-items:center!important}.belegung-print-area .belegung-header-card img{max-height:32px!important;width:auto!important;flex-shrink:0!important}.belegung-print-area h1{font-size:14px!important;margin:0!important;color:#2e4a2a!important}.belegung-print-area h2{font-size:11px!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.belegung-print-area [style*="background: var(--color-primary)"],.belegung-print-area [style*="background:var(--color-primary)"]{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;padding:5px 10px!important}.belegung-print-area [style*="padding: 14px 18px"]{padding:5px 8px!important}.belegung-print-area [style*="padding: 12px 18px"]{padding:4px 10px!important;font-size:9px!important}.feedback-fab,.page-branding,footer[class*=App],header[class*=App]{display:none!important}.belegung-print-area .belegung-sesshin-card{break-inside:avoid-page;page-break-inside:avoid}.belegung-print-area .belegung-sesshin-card+.belegung-sesshin-card{break-before:page;page-break-before:always}}.personen-stepper input::-webkit-inner-spin-button,.personen-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.personen-stepper input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.personen-stepper button:active{background:var(--color-border)}