@import url('https://fonts.googleapis.com/css2?family=Advent+Pro:wght@400;500;600;700&family=Lobster&display=swap');
:root{--coral:#e65d3b;--orange:#f2b452;--tangerine:#eb7f46;--mint:#8fccb2;--green:#b2d467;--ink:#302e2b;--paper:#fffdfa;--line:#ece7df;--muted:#766f67}*{box-sizing:border-box}body{margin:0;font-family:'Advent Pro','Segoe UI',sans-serif;font-size:17px;font-weight:500;color:var(--ink);background:#f8f5f0;display:flex;min-height:100vh}aside{width:268px;min-height:100vh;background:var(--paper);padding:0 16px 24px;border-right:1px solid var(--line);position:sticky;top:0;box-shadow:3px 0 18px #302e2b08}.brand{padding:25px 13px 21px;margin:0 -16px;background:linear-gradient(90deg,var(--orange) 0 20%,var(--coral) 20% 40%,var(--green) 40% 60%,var(--mint) 60% 80%,var(--tangerine) 80%);border-bottom:7px solid var(--paper)}.brand img{display:block;width:157px;height:auto;background:white;padding:6px 8px;margin-bottom:12px}.brand small{font-weight:700;font-size:12px;letter-spacing:1.5px;color:white;text-shadow:0 1px 3px #302e2b55}nav{margin-top:25px;display:grid;gap:5px}nav button{border:0;background:transparent;color:#514a43;text-align:left;padding:12px 13px;border-radius:8px;font:600 17px 'Advent Pro',sans-serif;cursor:pointer;transition:.15s}nav button:hover{background:#fff2e8;color:#9f3b23}nav button.active{background:var(--coral);color:white;box-shadow:0 4px 8px #e65d3b40}#user{border-top:2px solid var(--orange);margin:28px 9px 0;padding:16px 4px;font-size:15px;color:var(--ink)}main{flex:1;padding:35px 52px;max-width:1550px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}header h2{font-family:'Lobster','Brush Script MT',cursive;font-size:37px;font-weight:400;color:var(--ink);margin:5px 0;letter-spacing:.2px}#crumb{font-size:12px;color:var(--coral);font-weight:700;text-transform:uppercase;letter-spacing:1.6px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:17px}.card{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:20px;box-shadow:0 4px 15px #302e2b09}.grid .card:nth-child(5n+1){border-top:5px solid var(--orange)}.grid .card:nth-child(5n+2){border-top:5px solid var(--coral)}.grid .card:nth-child(5n+3){border-top:5px solid var(--green)}.grid .card:nth-child(5n+4){border-top:5px solid var(--mint)}.grid .card:nth-child(5n+5){border-top:5px solid var(--tangerine)}.metric{font-size:38px;font-weight:700;color:var(--ink);margin:8px 0 1px}.muted{font-size:15px;color:var(--muted)}.toolbar{display:flex;gap:10px;margin:0 0 18px;align-items:center;flex-wrap:wrap}.toolbar input,.toolbar select,input,select,textarea{border:1px solid #d9d1c8;border-radius:6px;padding:10px;background:var(--paper);font:500 16px 'Advent Pro',sans-serif;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:2px solid #f2b45288;border-color:var(--orange)}button{background:var(--coral);color:white;border:0;padding:10px 15px;border-radius:6px;font:700 16px 'Advent Pro',sans-serif;cursor:pointer;box-shadow:0 2px 5px #e65d3b30}button:hover{background:#cc4e2f}button.outline{background:var(--paper);color:var(--coral);border:1px solid var(--coral);box-shadow:none}button.outline:hover{background:#fff0e9}button.warn{background:var(--tangerine)}table{width:100%;border-collapse:separate;border-spacing:0;background:var(--paper);border:1px solid var(--line);border-radius:10px;overflow:hidden;font-size:16px;box-shadow:0 3px 12px #302e2b06}th{text-align:left;background:#f6f0e9;color:#796f65;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.8px}td,th{padding:12px 13px;border-bottom:1px solid #f0ebe5}tr:last-child td{border:0}tbody tr:hover{background:#fffaf4}.tag{font-size:12px;padding:4px 9px;border-radius:999px;background:#e4f1c7;color:#526b16;font-weight:700}.tag.real{background:#fde5df;color:#af3e27}.empty{padding:38px;text-align:center;color:var(--muted);background:var(--paper);border:2px dashed #e5d8c7;border-radius:10px}.modal{position:fixed;inset:0;background:#302e2b8c;display:grid;place-items:center;padding:18px}.modal>div{background:var(--paper);width:min(650px,100%);padding:25px;border-radius:11px;max-height:90vh;overflow:auto;border-top:7px solid var(--orange);box-shadow:0 12px 38px #302e2b44}.modal h3,.card h3{font-family:'Lobster','Brush Script MT',cursive;font-weight:400;font-size:27px;margin:0 0 12px}.form{display:grid;gap:12px}.form label{font-size:15px;font-weight:700;display:grid;gap:5px}.row{display:flex;gap:10px;justify-content:flex-end;margin-top:12px}.notice{padding:14px 16px;background:#fff5d9;border-left:5px solid var(--orange);border-radius:4px;margin-bottom:18px;font-size:16px}a{color:#bd492e;font-weight:700;text-decoration-color:var(--orange);text-underline-offset:3px}@media(max-width:780px){aside{width:70px;padding:0 8px}.brand{padding:15px 7px;margin:0 -8px}.brand img{width:52px;padding:3px}.brand small,#user{display:none}nav button{font-size:0;height:42px;padding:0}nav button:before{content:'•';font-size:25px;margin-left:17px}main{padding:25px 18px}header h2{font-size:32px}}
 .recipe-line{display:grid;grid-template-columns:minmax(240px,1fr) 115px 80px auto;gap:8px;align-items:center;margin-bottom:8px}.recipe-line select,.recipe-line input{width:100%}@media(max-width:780px){.recipe-line{grid-template-columns:1fr 90px 66px auto}}
.search-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.modal:has(.search-grid)>div{width:min(900px,100%)}@media(max-width:650px){.search-grid{grid-template-columns:1fr}}
.recipe-line:has(.supplier-slot){grid-template-columns:minmax(190px,1fr) minmax(160px,1fr) 100px 68px auto}.supplier-slot select{width:100%}
.modal:has(#recipe-lines)>div{width:min(1080px,100%)}
.nav-group{display:grid;gap:3px}.nav-sub{display:grid;gap:2px;margin:0 0 4px 13px;padding-left:8px;border-left:2px solid #f1ded2}.nav-sub button{font-size:15px;padding:8px 10px;color:#75695f}.nav-sub button:before{content:'↳ ';color:var(--tangerine);font-weight:700}@media(max-width:780px){.nav-sub{display:none}}
.tapelia-loader{min-height:330px;display:grid;place-content:center;justify-items:center;gap:9px;text-align:center;background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:0 4px 15px #302e2b09}.food-bowl{width:130px;height:105px;position:relative;margin-bottom:7px}.bowl-rim{position:absolute;z-index:2;left:15px;bottom:32px;width:100px;height:29px;border:7px solid var(--orange);border-radius:50%;background:#fff7df}.bowl-base{position:absolute;z-index:1;left:24px;bottom:7px;width:82px;height:47px;border-radius:0 0 52px 52px;background:var(--coral);box-shadow:inset 0 -8px 0 #cc4e2f}.food{position:absolute;z-index:3;width:18px;height:18px;border-radius:50%;bottom:43px;animation:food-bounce 1.1s ease-in-out infinite}.food-one{left:38px;background:var(--green)}.food-two{left:59px;background:var(--tangerine);animation-delay:.18s}.food-three{left:79px;background:var(--mint);animation-delay:.36s}.steam{position:absolute;z-index:0;bottom:69px;width:9px;height:31px;border-left:4px solid #d7bfa5;border-radius:60%;opacity:0;animation:steam-rise 1.7s ease-out infinite}.steam-one{left:42px}.steam-two{left:64px;animation-delay:.55s}.steam-three{left:85px;animation-delay:1.1s}@keyframes food-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes steam-rise{0%{transform:translateY(8px) scaleX(.7);opacity:0}25%{opacity:.7}100%{transform:translateY(-25px) scaleX(1.3);opacity:0}}
.recipe-name-search{min-width:245px}@media(max-width:780px){.recipe-name-search{min-width:180px;max-width:100%}}
.process-block{border-left:5px solid var(--mint);margin:12px 0}.builder-grid{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr));gap:10px}.builder-grid label{display:grid;gap:4px;font-size:14px;font-weight:700}.builder-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.builder-columns section{padding:12px;background:#fff8ef;border:1px solid var(--line);border-radius:8px}.process-line{display:grid;grid-template-columns:150px minmax(180px,1fr) 100px 95px auto;gap:6px;align-items:center;margin:7px 0}.process-line button{padding:6px 10px}@media(max-width:780px){.builder-grid,.builder-columns{grid-template-columns:1fr}.process-line{grid-template-columns:1fr 85px 70px auto}.process-line .input-item,.process-line .output-item{grid-column:1/-1}}
