:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Malgun Gothic,sans-serif;color:#203b33;background:#f4f7f6;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;font-size:16px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;min-height:44px;border:1px solid #d3dfda;border-radius:10px;background:#fff;padding:10px 16px;color:inherit;font-weight:600}button:hover{border-color:#16765b}button:disabled{cursor:default;opacity:.55}button:focus-visible,a:focus-visible{outline:3px solid #d89a28;outline-offset:3px}input,select{width:100%;min-height:48px;padding:10px 12px;border:1px solid #cbd8d2;border-radius:9px;background:#fff;color:#203b33}input:focus,select:focus{outline:2px solid #16765b;outline-offset:1px}label{display:flex;flex-direction:column;gap:8px;font-size:.9rem;font-weight:600}label small{font-weight:400;color:#718078}form{display:flex;flex-direction:column;gap:20px}h1{font-size:1.85rem;letter-spacing:-1px;margin:10px 0}h2{font-size:1.15rem;margin:0 0 16px}p{line-height:1.65}a{color:#16765b;text-decoration:none}.shell{max-width:600px;margin:auto;padding:0 24px max(20px,env(safe-area-inset-bottom))}.shell.wide{max-width:1120px}header{height:92px;display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.15rem}.brand-icon{display:inline-flex;align-items:center;justify-content:center;background:#16765b;color:#fff;width:34px;height:34px;border-radius:11px;font-size:20px}.brand-icon.large{width:60px;height:60px;font-size:34px;border-radius:18px;margin:24px 0 12px}.text-button{background:transparent;border:0;color:#657970;font-size:.85rem}.eyebrow{font-size:.8rem;font-weight:700;letter-spacing:1.2px;color:#16765b;margin:0}.muted{color:#718078;font-size:.9rem}.primary{background:#16765b;color:#fff;border-color:#16765b;min-height:50px}.auth{max-width:430px;margin:6vh auto;padding:24px}.auth form{margin:28px 0 18px}.auth>h1{font-size:2.2rem}.demo{margin-top:36px;padding:18px;background:#eaf0ec;border-radius:12px;font-size:.8rem}.demo p{font-size:.78rem}.button-row{display:flex;gap:7px;flex-wrap:wrap}.button-row button{font-size:.78rem;padding:8px 10px}.mock-banner{background:#fff1c9;color:#705918;text-align:center;padding:8px;font-size:.75rem;font-weight:600}.meal-card,.card{background:#fff;border:1px solid #e2e9e5;border-radius:18px;padding:24px;margin:24px 0}.meal-card{text-align:center;padding:30px 22px}.meal-card h2{font-size:1.45rem;margin:24px 0 8px}.pill{display:inline-block;background:#eaf3ee;color:#257458;padding:7px 12px;border-radius:30px;font-size:.78rem}.meal-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:26px 0}.meal{min-height:134px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;font-size:1rem;border:2px solid #e1e8e4}.meal span{font-size:2rem;line-height:1}.meal.yes.selected{background:#16765b;color:#fff;border-color:#16765b}.meal.no.selected{background:#e8eded;border-color:#516b62}.meal:disabled.selected{opacity:.85}.current{background:#f5f8f6;border-radius:12px;padding:22px;display:flex;flex-direction:column;gap:10px}.current small{color:#6d8177}.current strong{font-size:1.6rem}.current>span{font-size:.8rem;color:#718078}.green{color:#16765b}.list-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:17px 0;border-bottom:1px solid #edf1ee;font-size:.9rem}.list-row:last-child{border-bottom:0}.error{background:#fff0ee;color:#a7352b;padding:14px;border-radius:10px;font-size:.9rem;margin:14px 0;line-height:1.6}.title-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.title-row h2{margin:0}.hero{margin:26px 0;background:#16765b;border-radius:22px;color:#fff;text-align:center;padding:32px}.hero>span{font-size:1rem}.hero>strong{display:block;font-size:6rem;letter-spacing:-4px;margin:8px}.hero small{font-size:1.6rem;margin-left:8px;letter-spacing:0}.hero p{opacity:.8;font-size:.85rem}.counts{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:24px 0}.counts .card{margin:0;padding:22px}.counts span{color:#718078;font-size:.85rem}.counts strong{display:block;font-size:2rem;margin-top:12px}.counts small{font-size:.85rem;font-weight:400;margin-left:6px}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}.two-columns .card{margin-top:0}.center{text-align:center}footer{font-size:.75rem;color:#8a9b92;text-align:center;margin:40px 0 14px}.tabs{display:flex;gap:6px;border-bottom:1px solid #d9e3dd;margin:24px 0;overflow:auto}.tabs button{white-space:nowrap;border:0;border-radius:0;background:transparent;padding:15px 20px;color:#708177}.tabs .active{color:#16765b;border-bottom:3px solid #16765b}.table-scroll{overflow:auto;margin-top:20px}table{width:100%;border-collapse:collapse;font-size:.88rem;white-space:nowrap}th{text-align:left;color:#7a8a82;font-weight:500;background:#f5f8f6}td,th{padding:14px 12px;border-bottom:1px solid #edf1ee}td select{min-width:115px}.active-badge{color:#16765b;background:#edf6f0}.filters{display:flex;gap:12px;margin-top:20px}.filters label{min-width:160px}.inline-form{flex-direction:row;align-items:end;flex-wrap:wrap;margin:22px 0}.inline-form label:first-child{flex:1;min-width:170px}.checkbox{flex-direction:row;align-items:center;min-height:50px}.checkbox input{width:20px;min-height:20px}.settings{max-width:530px}.settings form{margin-top:26px}.loading{text-align:center;margin-top:25vh;color:#718078}@media(max-width:640px){.shell{padding-left:18px;padding-right:18px}header{height:76px;margin-bottom:18px}h1{font-size:1.55rem}.card{padding:20px}.meal-card{padding:26px 16px}.meal-card h2{font-size:1.3rem}.counts{grid-template-columns:repeat(2,1fr);gap:10px}.counts .card{padding:18px}.two-columns{grid-template-columns:1fr;gap:0}.hero>strong{font-size:5rem}.title-row{align-items:start;flex-wrap:wrap}.tabs button{padding:12px}.auth{margin:2vh auto}.filters label{min-width:0;flex:1}.meal-actions{gap:10px}.meal{font-size:.92rem}.wide .card{border-radius:14px}.inline-form{gap:12px}}.partner-counter{display:grid;grid-template-columns:48px minmax(0,1fr) 48px 20px;gap:8px;align-items:center;margin:12px 0}.partner-counter input{min-width:0;text-align:center;font-size:1.5rem}.partner-counter button{min-height:52px;font-size:1.4rem;padding:8px}.partner-edit{border-bottom:1px solid #edf1ee;padding:20px 0;max-width:460px;gap:8px}.meal-card form+.current{margin-top:20px}
