:root{color:#38241e;background:#f6eee6;font-family:Inter,system-ui,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 100% 0,#edd5c3,#0000 30%),#f6eee6;margin:0}button,input,select{font:inherit}button{cursor:pointer}.app>header{z-index:5;background:#fffaf5ed;border-bottom:1px solid #e3d2c6;align-items:center;gap:12px;height:76px;padding:0 28px;display:flex;position:sticky;top:0}.logo{color:#fff;background:#563225;border-radius:14px;place-items:center;width:42px;height:42px;font:24px Georgia;display:grid}.app>header strong,.app>header small{display:block}.app>header small{color:#806b62}.app>header>span{color:#396841;background:#e4f2e6;border-radius:20px;margin-left:auto;padding:8px 12px;font-size:12px;font-weight:700}.body{grid-template-columns:220px 1fr;min-height:calc(100vh - 76px);display:grid}nav{background:#fff8f2;border-right:1px solid #e1d1c7;padding:25px 14px}nav button{text-align:left;color:#725d54;background:0 0;border:0;border-radius:12px;width:100%;margin-bottom:6px;padding:13px 16px;font-weight:700;display:block}nav button i{margin-left:9px;font-style:normal}nav button.active{color:#fff;background:#573327}main{width:min(1080px,100% - 42px);margin:0 auto;padding:42px 0 65px}.eyebrow{text-transform:uppercase;letter-spacing:.13em;color:#a66145;margin:0 0 9px;font-size:11px;font-weight:800}h1{color:#47291e;margin:0 0 12px;font:clamp(34px,5vw,50px)/1.04 Georgia}.hero,.heading{justify-content:space-between;align-items:end;gap:25px;margin-bottom:28px;display:flex}.hero>div>p:last-child,.heading>div>p:last-child{color:#766158;margin:0}.hero aside{border-left:3px solid #aa674b;padding:13px 18px}.hero aside small,.hero aside strong{display:block}.cards{grid-template-columns:repeat(3,1fr);gap:17px;display:grid}.cards article,.roadmap,.list{background:#fffaf6;border:1px solid #e3d2c5;border-radius:20px;padding:21px;box-shadow:0 15px 50px #492a1d0c}.cards small,.cards strong{display:block}.cards strong{margin:9px 0;font:30px Georgia}.cards button{color:#965b43;background:0 0;border:0;padding:0;font-weight:800}.cards .dark{color:#fff;background:#5a3629}.roadmap{justify-content:space-between;align-items:center;margin-top:22px;display:flex}.roadmap h2{margin:0}.roadmap ol{gap:18px;padding:0;list-style:none;display:flex}.roadmap li{color:#8a736a;font-size:12px}.roadmap li:before{content:"○";font-size:24px;display:block}.roadmap li.done:before{content:"✓";color:#4f8c59}.roadmap li.current{color:#573327;font-weight:800}.roadmap li.current:before{content:"●"}.primary{color:#fff;background:#573327;border:0;border-radius:12px;padding:13px 18px;font-weight:800}.list{padding:0;overflow:hidden}.tools{border-bottom:1px solid #eaded6;justify-content:space-between;align-items:end;padding:20px 23px;display:flex}.tools label{width:min(430px,75%)}label{color:#6b544b;gap:7px;font-size:12px;font-weight:700;display:grid}input,select{color:#3f2a22;background:#fffdfb;border:1px solid #d8c5b8;border-radius:11px;outline:none;width:100%;padding:12px}input:focus,select:focus{border-color:#965b43;box-shadow:0 0 0 3px #965b4322}.list>article{border-bottom:1px solid #eee3dc;grid-template-columns:1fr 175px 150px;align-items:center;gap:18px;padding:18px 23px;display:grid}.list>article.inactive{opacity:.55}.list h3,.list p{margin:0}.list h3{margin:4px 0}.list p{color:#806b62;font-size:12px}.code{color:#a66145;font-weight:800}.cost small,.cost strong,.cost em{display:block}.cost strong{margin:4px 0}.cost em{color:#396841;background:#e4f2e6;border-radius:14px;width:max-content;padding:3px 8px;font-size:10px;font-style:normal}.actions{gap:6px;display:flex}.actions button,footer>button:not(.primary){color:#624a41;background:#fffaf6;border:1px solid #d7c4b8;border-radius:9px;padding:8px}.overlay{z-index:20;background:#301d17aa;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fffaf6;border-radius:22px;width:min(700px,100%);max-height:92vh;padding:26px;overflow:auto}.modal-head{justify-content:space-between;display:flex}.modal-head h2{margin:0;font:30px Georgia}.modal-head>button{background:0 0;border:0;font-size:29px}.grid{grid-template-columns:1fr 1fr;gap:14px;margin-top:22px;display:grid}.grid .wide{grid-column:1/-1}.errors{color:#8a3328;background:#fff0ed;border:1px solid #efbcb4;border-radius:12px;margin-top:15px;padding:9px 13px}.errors p{margin:3px}.preview{background:#f2e5da;border-radius:13px;justify-content:space-between;margin-top:18px;padding:15px;display:flex}.preview strong{font-size:20px}footer{justify-content:flex-end;gap:9px;margin-top:20px;display:flex}@media (width<=800px){.body{grid-template-columns:76px 1fr}nav button{text-align:center;padding:13px 3px}nav button i{display:none}.cards{grid-template-columns:1fr}.roadmap{display:block}.list>article{grid-template-columns:1fr}}@media (width<=560px){.app>header{padding:0 15px}.app>header>span{display:none}.body{display:block}nav{z-index:10;border-top:1px solid #dfcfc4;padding:7px;display:flex;position:fixed;bottom:0;left:0;right:0}nav button{text-align:center;margin:0}nav button i{margin:3px 0 0;font-size:9px;display:block}main{width:calc(100% - 28px);padding:28px 0 90px}.hero,.heading{display:block}.hero aside,.heading>.primary{margin-top:18px}.grid{grid-template-columns:1fr}.grid .wide{grid-column:auto}.roadmap ol{flex-wrap:wrap}.modal{padding:20px}}.recipe-detail{background:#f8eee7;border-radius:14px;grid-column:1/-1;margin-top:2px;padding:16px}.recipe-detail h4{margin:0 0 10px}.recipe-detail>div{border-bottom:1px dashed #d9c5b8;justify-content:space-between;padding:8px 0;font-size:13px;display:flex}.recipe-detail aside{color:#704a20;background:#fff2dc;border:1px solid #edcf9d;border-radius:11px;margin-top:13px;padding:12px}.recipe-detail aside p{margin:4px 0}.recipe-detail footer{justify-content:space-between;align-items:center}.cost em.pending{color:#815619;background:#fff0d4}textarea{resize:vertical;color:#3f2a22;width:100%;min-height:72px;font:inherit;background:#fffdfb;border:1px solid #d8c5b8;border-radius:11px;padding:12px}.recipe-modal{width:min(880px,100%)}.ingredients-head{justify-content:space-between;align-items:center;margin-top:22px;display:flex}.ingredients-head h3{margin:0}.ingredients-head button{color:#754b3b;background:#fffaf6;border:1px solid #c8ac9d;border-radius:10px;padding:9px 12px;font-weight:700}.ingredient-editor{gap:9px;margin-top:12px;display:grid}.ingredient-editor>div{background:#f6ebe3;border-radius:12px;grid-template-columns:minmax(230px,1fr) 120px 110px auto;align-items:end;gap:9px;padding:12px;display:grid}.ingredient-editor .remove{color:#8b3427;background:#f4dcd6;border:0;border-radius:9px;padding:11px}.recipe .actions{flex-wrap:wrap}@media (width<=700px){.ingredient-editor>div{grid-template-columns:1fr 1fr}.ingredient-editor>div label:first-child{grid-column:1/-1}}.product-summary{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px;display:grid}.product-summary article{background:#fffaf6;border:1px solid #e3d2c5;border-radius:16px;padding:17px}.product-summary small,.product-summary strong{display:block}.product-summary small{color:#806b62}.product-summary strong{margin-top:6px;font:30px Georgia}.product-detail{background:#f8eee7;border-radius:14px;grid-column:1/-1;padding:16px}.product-detail aside{color:#704a20;background:#fff2dc;border:1px solid #edcf9d;border-radius:11px;padding:12px}.product-detail aside p{margin:4px 0}.product-detail dl{margin:0}.product-detail dl div{border-bottom:1px dashed #d9c5b8;justify-content:space-between;padding:8px 0;display:flex}.product-detail dd{font-weight:800}.product-detail>p{color:#765d53;margin:12px 0 0;font-size:12px}.cards .dark button{color:#f5c6ab}@media (width<=700px){.product-summary{grid-template-columns:1fr}.product-list .tools{align-items:stretch;gap:10px}.product-list .tools label{width:100%}}.product-modal{width:min(760px,100%)}.cost-title{margin:24px 0 0}.cost-grid{background:#f7ece4;border-radius:14px;margin-top:10px;padding:15px}.product-modal input:disabled{color:#806b62;background:#eee6e0}.empty-state{text-align:center;color:#806b62;padding:42px}.empty-state strong{color:#573327}.kit-modal{width:min(920px,100%)}.kit-modal .ingredient-editor>div{grid-template-columns:minmax(250px,1fr) 130px auto}.kit-result{color:#fff;background:#4f3025;border-radius:15px;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:22px;padding:15px;display:grid}.kit-result span,.kit-result strong{display:block}.kit-result span{color:#e5cfc4;font-size:11px}.kit-result strong{margin-top:5px;font-size:18px}.kit-result aside{color:#714a20;background:#fff1d8;border-radius:10px;grid-column:1/-1;padding:9px 12px}.kit-result aside p{margin:3px 0;font-size:12px}@media (width<=700px){.kit-result,.kit-modal .ingredient-editor>div{grid-template-columns:1fr 1fr}.kit-modal .ingredient-editor>div label:first-child{grid-column:1/-1}}.backup-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.backup-card{background:#fffaf6;border:1px solid #e3d2c5;border-radius:20px;padding:24px;box-shadow:0 15px 50px #492a1d0c}.backup-card h2{margin:10px 0 7px}.backup-card>p{color:#765f56}.backup-icon{color:#fff;background:#573327;border-radius:13px;place-items:center;width:43px;height:43px;font-size:22px;display:grid}.backup-card dl{margin:18px 0}.backup-card dl div{border-bottom:1px dashed #d9c5b8;justify-content:space-between;padding:7px 0;display:flex}.backup-card>small{color:#806b62;margin-top:12px;display:block}.file-picker{text-align:center;color:#754b3b;cursor:pointer;background:#f8eee7;border:2px dashed #cdb5a7;border-radius:13px;margin-top:20px;padding:22px;display:block}.file-picker input{display:none}.restore-preview{background:#eef7ef;border:1px solid #b9d9bd;border-radius:13px;margin-top:16px;padding:15px}.restore-preview p{color:#517059}.restore-warning{color:#704a20;background:#fff2dc;border-radius:9px;margin:12px 0;padding:10px;font-size:12px}.danger{color:#fff;background:#963e32;border:0;border-radius:10px;padding:11px 14px;font-weight:800}.backup-message{color:#704a20;background:#fff1dc;border:1px solid #e8c996;border-radius:12px;margin-top:17px;padding:13px 16px}.backup-message.ok{color:#396841;background:#eaf5eb;border-color:#b9d9bd}.backup-tip{color:#fff;background:#573327;border-radius:17px;margin-top:18px;padding:18px 21px}.backup-tip p{color:#ead5ca;margin:6px 0 0}.backup-tip code{background:#fff2;border-radius:5px;padding:2px 6px}@media (width<=760px){.backup-grid{grid-template-columns:1fr}}.pending-summary{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px;display:grid}.pending-summary article{background:#fffaf6;border:1px solid #e3d2c5;border-radius:18px;padding:20px}.pending-summary small,.pending-summary strong{display:block}.pending-summary strong{margin-top:7px;font:32px Georgia}.review-list{gap:12px;display:grid}.review-card{background:#fffaf6;border:1px solid #e3d2c5;border-radius:17px;grid-template-columns:1fr auto;align-items:center;gap:16px;padding:18px 20px;display:grid}.review-card h3,.review-card p{margin:0}.review-card h3{margin:4px 0 8px}.review-card p{color:#806b62;font-size:12px}.review-card button{color:#573327;background:#fff7f1;border:1px solid #cdb5a7;border-radius:10px;padding:10px 13px;font-weight:800}.review-empty{color:#396841;background:#eaf5eb;border:1px solid #b9d9bd;border-radius:17px;padding:22px}.review-help{color:#fff;background:#573327;border-radius:17px;margin-bottom:20px;padding:18px 21px}.review-help p{color:#ead5ca;margin:6px 0 0}@media (width<=700px){.pending-summary,.review-card{grid-template-columns:1fr}.review-card button{width:100%}}.sync-card{background:#fffaf6;border:1px solid #e3d2c5;border-radius:20px;margin-top:18px;padding:24px}.sync-head{justify-content:space-between;align-items:start;gap:20px;display:flex}.sync-head h2{margin:4px 0 7px}.sync-head p{color:#765f56;margin:0}.sync-state{color:#704a20;white-space:nowrap;background:#fff1dc;border-radius:20px;padding:6px 10px;font-size:11px;font-weight:800}.sync-state.ready{color:#396841;background:#eaf5eb}.sync-actions{flex-wrap:wrap;gap:9px;margin-top:18px;display:flex}.sync-actions button{color:#573327;background:#fff7f1;border:1px solid #cdb5a7;border-radius:10px;padding:11px 14px;font-weight:800}.sync-actions button.primary{color:#fff;background:#573327;border-color:#573327}.sync-actions button:disabled{opacity:.5;cursor:not-allowed}.sync-message{color:#60483f;background:#f2e5da;border-radius:11px;margin-top:14px;padding:11px 13px}.sync-meta{color:#806b62;margin-top:12px;font-size:12px}@media (width<=600px){.sync-head{display:block}.sync-state{margin-top:12px;display:inline-block}.sync-actions button{width:100%}}
