:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#382923;background:#fff8f4;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input{font:inherit}select,textarea{font:inherit;border:1px solid #ead8d0;background:#fffdfc;border-radius:13px;padding:12px 14px;outline-color:#ed765a}textarea{min-height:76px;resize:vertical}button{cursor:pointer}.login-page{min-height:100dvh;padding:24px;display:grid;place-items:center;background:radial-gradient(circle at 88% 12%,#ffe4bb 0 14%,transparent 14.2%),radial-gradient(circle at 6% 88%,#ffd9d2 0 16%,transparent 16.2%),#fff8f4}.hero-card{width:min(100%,420px);padding:42px 28px 30px;border-radius:32px;background:#ffffffe0;box-shadow:0 20px 60px #9f574233;text-align:center}.hero-art{display:block;width:158px;height:132px;margin:-13px auto 14px;object-fit:contain;mix-blend-mode:multiply}.eyebrow{margin:0 0 6px;color:#c46046;font-size:.78rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}h1{margin:0;font-size:clamp(1.7rem,7vw,2.3rem);letter-spacing:-.06em}h2{margin:0;letter-spacing:-.04em}h3{margin:5px 0;font-size:1.1rem}form{text-align:left}label{display:grid;gap:7px;color:#68554c;font-size:.9rem;font-weight:700;margin:14px 0}input{border:1px solid #ead8d0;background:#fffdfc;border-radius:13px;padding:12px 14px;outline-color:#ed765a}.primary{border:0;width:100%;border-radius:14px;padding:14px 16px;background:#ef765a;color:#fff;font-weight:800;box-shadow:0 8px 18px #ef765a45}.form-error{color:#c23838;font-size:.88rem;text-align:center}.app-shell{min-height:100dvh;padding:24px 18px 96px;max-width:720px;margin:0 auto}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.topbar h1{font-size:1.7rem}.avatar{width:42px;height:42px;border:0;border-radius:15px;background:#4d372e;color:#fff;font-weight:800}.content{padding-top:30px}.section-heading{display:flex;justify-content:flex-end;gap:12px;align-items:center;margin:12px 0 17px}.section-heading h2{font-size:1.35rem}.pill{background:#ffe2d7;color:#bd573e;padding:6px 10px;border-radius:20px;font-size:.8rem;font-weight:800}.menu-hero{overflow:hidden;display:grid;grid-template-columns:45% 1fr;align-items:center;min-height:138px;border-radius:24px;background:#fff0da}.menu-hero img{width:100%;height:138px;object-fit:cover;object-position:50% 70%}.menu-hero div{padding:12px 15px 12px 3px}.menu-hero h2{font-size:1.34rem}.menu-hero p:last-child{color:#896b50;font-size:.82rem;margin:8px 0 0}.dish-grid{display:grid;gap:14px}.dish-card{background:#fff;border-radius:21px;padding:13px;display:grid;grid-template-columns:82px 1fr;gap:13px;box-shadow:0 8px 24px #5e352a0c}.dish-image{overflow:hidden;display:grid;place-items:center;min-height:86px;border-radius:16px;background:#fff0e8}.dish-image img{width:100%;height:100%;object-fit:cover}.category{color:#bd6a50;font-size:.75rem;font-weight:700}.dish-card p{color:#806b62;font-size:.84rem;line-height:1.45;margin:0}.add-button{grid-column:1 / -1;border:1px solid #f0c4b5;background:#fff9f6;border-radius:12px;color:#c15c42;padding:10px;font-size:.86rem;font-weight:800}.bottom-nav{position:fixed;z-index:2;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:4px;padding:11px max(14px,calc((100vw - 720px)/2));background:#fffdfc;border-top:1px solid #f2e3dd}.bottom-nav button{flex:1;max-width:115px;border:0;border-radius:12px;padding:10px 4px;background:transparent;color:#8e796f;font-size:.77rem}.bottom-nav button.active{background:#ffe5dc;color:#b9533c;font-weight:800}.cart-bar{position:fixed;z-index:1;left:18px;right:18px;bottom:75px;max-width:684px;margin:auto;display:flex;justify-content:space-between;padding:14px 16px;border:0;border-radius:15px;background:#42312b;color:#fff;font-weight:800;box-shadow:0 12px 28px #42312b3b}.cart-bar span{color:#ffcdbc}.toast{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:20px;padding:10px 14px;background:#e6f5df;border-radius:12px;color:#406236;font-size:.88rem}.toast button{border:0;background:transparent;font-size:18px;color:inherit}.dish-form{display:grid;gap:0 12px;grid-template-columns:1fr 1fr;background:#fff;padding:18px;border-radius:20px}.dish-form .wide,.dish-form .primary{grid-column:1 / -1}.dish-form .primary{margin-top:5px}.manage-list{display:grid;gap:9px;margin-top:22px}.manage-list article{display:flex;align-items:center;gap:11px;padding:10px;border-radius:16px;background:#fff0e9}.manage-list article>img{width:54px;height:54px;border-radius:12px;object-fit:cover}.manage-dish-info{min-width:0;flex:1}.manage-list span{display:block;color:#8b7367;margin-top:5px;font-size:.8rem}.manage-actions{display:grid;justify-items:end;gap:5px}.text-button,.delete-button{border:0;background:transparent;font-weight:800}.text-button{color:#bc563e}.delete-button{color:#a94646;font-size:.8rem}.empty-state{min-height:360px;display:grid;align-content:center;justify-items:center;text-align:center;padding:30px;color:#7c665c}.empty-state span{font-size:55px}.empty-state img{width:min(230px,80%);max-height:155px;object-fit:contain;mix-blend-mode:multiply}.empty-state h2{margin-top:17px;color:#49372f}.empty-state p{line-height:1.7;max-width:290px}.modal-backdrop{position:fixed;inset:0;z-index:10;display:grid;place-items:end center;padding:16px;background:#2d20176b}.edit-modal,.cart-panel{width:min(100%,500px);max-height:calc(100dvh - 32px);overflow:auto;padding:22px;border-radius:25px;background:#fffaf7;box-shadow:0 16px 50px #2d201755}.modal-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.modal-heading h2{font-size:1.35rem}.close-button{display:grid;place-items:center;width:35px;height:35px;border:0;border-radius:12px;background:#f4e4dd;color:#6c5349;font-size:24px}.edit-preview{width:90px;height:90px;border-radius:16px;object-fit:cover}.cart-panel article{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #f0dfd8}.cart-panel article img{width:54px;height:54px;border-radius:14px;object-fit:cover}.cart-panel article div{flex:1}.cart-panel article span{display:block;margin-top:5px;color:#846d63;font-size:.82rem}.cart-panel .primary{margin-top:18px}.order-list{display:grid;gap:13px}.order-card{padding:17px;border-radius:20px;background:#fff;box-shadow:0 8px 24px #5e352a0c}.order-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.order-top time{color:#887268;font-size:.78rem}.status{border-radius:20px;padding:5px 9px;font-size:.77rem;font-weight:800}.status-pending{background:#fff0c8;color:#a56b18}.status-confirmed{background:#dff1e0;color:#3e7546}.status-rejected{background:#f7dddd;color:#a34e4e}.status-completed{background:#e1e6fb;color:#4d619d}.order-items{display:flex;flex-wrap:wrap;gap:7px;margin:15px 0}.order-items span{padding:7px 9px;border-radius:10px;background:#fff2ed;color:#634d43;font-size:.84rem}.order-actions{display:flex;justify-content:flex-end;gap:9px}.secondary{border:1px solid #e8c2b6;border-radius:12px;padding:9px 12px;background:#fff;color:#a25742;font-weight:800}.compact{width:auto;padding:10px 13px;box-shadow:none}.review-hint{margin:0;color:#6472a4;font-size:.85rem}.review-modal{width:min(100%,580px);max-height:calc(100dvh - 32px);overflow:auto;padding:22px;border-radius:25px;background:#fffaf7;box-shadow:0 16px 50px #2d201755}.review-form-card{display:grid;gap:8px;margin:15px 0;padding:15px;border-radius:17px;background:#fff0ea}.review-form-card>div span{display:block;margin-top:4px;color:#8d7266;font-size:.8rem}.check-label{display:flex;align-items:center;gap:8px}.check-label input{width:17px;height:17px}.review-list{display:grid;gap:14px}.review-card{padding:16px;border-radius:20px;background:#fff;box-shadow:0 8px 24px #5e352a0c}.review-meta{display:flex;align-items:center;gap:11px}.review-meta img{width:54px;height:54px;border-radius:14px;object-fit:cover}.review-meta span{display:block;margin-top:4px;color:#896e61;font-size:.8rem}.review-card>p{color:#59463d;line-height:1.6}.review-photos{display:flex;gap:8px;overflow-x:auto}.review-photos img{width:92px;height:92px;border-radius:12px;object-fit:cover}.score-row{display:flex;align-items:center;gap:9px;margin-top:14px}.score-row input{width:76px}.score-done{display:inline-block;margin-top:14px;padding:7px 10px;border-radius:10px;background:#e5f3de;color:#47733d;font-size:.82rem;font-weight:800}.points-balance{padding:23px;border-radius:23px;background:linear-gradient(135deg,#f47b5d,#e9a75b);color:#fff}.points-balance p{margin:0;font-size:.9rem}.points-balance strong{font-size:3.2rem;line-height:1.2}.points-balance span{margin-left:5px;font-weight:800}.points-list{display:grid;gap:10px;margin-top:20px}.points-list article{display:flex;align-items:center;justify-content:space-between;padding:14px;border-radius:16px;background:#fff}.points-list span{display:block;margin-top:4px;color:#8b7469;font-size:.78rem}.points-list b{color:#4f8a43}.reward-form{display:grid;gap:0 12px;grid-template-columns:1fr 1fr;padding:18px;border-radius:20px;background:#fff}.reward-form .wide,.reward-form .primary{grid-column:1 / -1}.reward-form .primary{margin-top:5px}.pending-section{margin:22px 0}.pending-section h3{margin-bottom:10px}.pending-section article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-radius:14px;background:#fff0e8}.pending-section article div{display:flex;gap:7px}.reward-grid{display:grid;gap:12px;margin-top:22px}.reward-grid article{display:flex;align-items:center;gap:12px;padding:14px;border-radius:19px;background:#fff;box-shadow:0 8px 24px #5e352a0c}.reward-icon{display:grid;place-items:center;width:53px;height:53px;border-radius:15px;background:#ffe2d6;font-size:28px}.reward-grid article>div{flex:1}.reward-grid p{margin:4px 0;color:#80695f;font-size:.84rem}.reward-grid small{color:#bd5c43;font-weight:800}.reward-grid button:disabled{background:#e6d8d2;color:#957e74;box-shadow:none;cursor:not-allowed}.reward-balance{display:flex;align-items:baseline;gap:7px;padding:20px;border-radius:21px;color:#fff;background:linear-gradient(135deg,#7161a8,#9d7ec4)}.reward-balance strong{font-size:2.5rem}.album-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.album-grid figure{overflow:hidden;margin:0;border-radius:17px;background:#fff;box-shadow:0 8px 24px #5e352a0c}.album-grid img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.album-grid figcaption{display:grid;gap:4px;padding:10px}.album-grid span{color:#836f65;font-size:.75rem}.reward-cover{width:53px;height:53px;flex:0 0 53px;border-radius:15px;object-fit:cover}.points-spent{color:#b25050!important}.review-done{margin:0;color:#3f7c45;font-size:.85rem;font-weight:800}@media(min-width:560px){.dish-grid{grid-template-columns:1fr 1fr}.dish-card{grid-template-columns:72px 1fr}}
