@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@500;600;700;800&display=swap');
:root{font-family:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif;background:#f3f9f8;color:#12383d;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:#087f83}.order-body{background:linear-gradient(160deg,#eef9f8 0,#f7fbfa 420px,#f3f9f8 100%);min-height:100vh}.order-header{min-height:82px;background:#ffffffee;border-bottom:1px solid #dfeded;padding:10px max(20px,calc((100vw - 900px)/2));display:flex;align-items:center;justify-content:space-between;gap:14px}.brand{display:flex;align-items:center;gap:12px}.brand-photo{width:58px;height:58px;border-radius:50%;background:#fff;border:1px solid #d8e7e5;overflow:hidden;display:grid;place-items:center}.brand-photo img{width:100%;height:100%;object-fit:contain}.brand strong{display:block;font-family:Manrope,sans-serif;font-size:18px;letter-spacing:-.6px}.brand span{display:block;color:#6a9292;font-size:9px;font-weight:800;letter-spacing:1.5px;margin-top:2px}.header-pill{font-size:11px;font-weight:800;color:#097a7d;background:#e4f4f1;border-radius:100px;padding:8px 14px;white-space:nowrap}.order-shell{max-width:750px;margin:0 auto;padding:34px 20px 110px}.hero{background:linear-gradient(145deg,#087f83 5%,#096b74 78%,#075961);border-radius:25px;padding:34px 35px 27px;color:#fff;box-shadow:0 18px 40px rgba(4,92,98,.13)}.hero-eyebrow,.eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:800;opacity:.7}.hero h1,.received h1{font-family:Manrope,sans-serif;font-size:clamp(29px,5vw,41px);line-height:1.18;letter-spacing:-1.3px;margin:11px 0 12px}.hero p{max-width:480px;font-size:15px;opacity:.85;line-height:1.65;margin:0 0 22px}.week-row{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:750}.week-dot{width:8px;height:8px;background:#95f8d8;border-radius:50%;box-shadow:0 0 0 4px #d6fff01a}.open-tag{margin-left:auto;border:1px solid #c2eeeb70;border-radius:100px;padding:5px 10px;font-size:10px;text-align:center}.open-tag.closed{background:#efdfdb;color:#8b3532;border:0}.section-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:30px 2px 15px}.section-bar h2{font-family:Manrope,sans-serif;font-size:23px;letter-spacing:-.8px;margin:0 0 4px}.section-bar p{font-size:13px;color:#789294;margin:0}.dish-count{font-size:11px;font-weight:800;color:#087f83;background:#dcf0ec;padding:8px 10px;border-radius:30px}.food-list{background:white;border:1px solid #d8e9e7;border-radius:20px;overflow:hidden;box-shadow:0 8px 30px rgba(23,92,94,.035)}.food-row{padding:16px 20px;display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid #edf4f2}.food-row:last-child{border-bottom:0}.food-row.selected{background:#f3fbf9}.food-info{min-width:0}.food-info strong{display:block;font-size:17px;letter-spacing:-.25px}.food-info small{display:block;margin-top:4px;color:#7a9290;font-size:13px;font-weight:700}.stepper{display:flex;align-items:center;flex:0 0 auto;gap:10px}.stepper button{width:37px;height:37px;border-radius:11px;background:white;border:1px solid #c2ddda;color:#087b80;font-size:23px;line-height:1;font-weight:600;display:grid;place-items:center}.stepper button.add{background:#e1f5f0;border-color:#b2e0d8}.stepper button:disabled{opacity:.32}.stepper output{min-width:20px;text-align:center;font:800 17px Manrope,sans-serif}.customer-section{margin-top:4px}.customer-section form{padding:22px;background:white;border:1px solid #d6e9e6;border-radius:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:8px;color:#385f62;font-size:12px;font-weight:800;margin-bottom:18px}.field b{color:#d46653}.field small{font-weight:500}.field input,.field textarea{background:#f8fbfa;border:1px solid #c9dfdd;border-radius:12px;padding:13px 14px;color:#174148;outline:none;font-weight:600;font-size:15px;min-width:0}.field input:focus,.field textarea:focus{border-color:#087f83;box-shadow:0 0 0 3px #087f8325}.field textarea{resize:vertical}.fulfillment{display:grid;grid-template-columns:1fr 1fr;gap:10px;border:0;padding:0;margin:0 0 20px}.fulfillment legend{font-size:12px;font-weight:800;color:#385f62;margin-bottom:11px}.method{position:relative;display:flex;align-items:center;border:1px solid #c9dfdd;border-radius:12px;min-height:62px;padding:11px 13px;gap:9px;cursor:pointer}.method.selected{border-color:#087f83;background:#f0fbf8}.method input{accent-color:#087f83;flex:0 0 auto}.method span{display:flex;flex-direction:column;gap:3px}.method b{font-size:14px}.method small{font-size:11px;color:#7b9694}.safety-note{color:#738e8f;font-size:12px;line-height:1.6;margin:0 0 19px}.bottom-submit{border-top:1px solid #e2edeb;padding-top:19px;display:flex;align-items:center;gap:16px;justify-content:space-between}.bottom-submit>div{display:flex;flex-direction:column;gap:3px}.bottom-submit span,.bottom-submit small{font-size:11px;color:#809896;font-weight:650}.bottom-submit strong{font:800 31px Manrope,sans-serif;color:#075d62;letter-spacing:-.8px}.primary-action,.admin-action{padding:15px 19px;color:white;background:#087f83;border:0;border-radius:13px;font-weight:800;font-size:14px}.primary-action:disabled,.admin-action:disabled{opacity:.45}.primary-action span{font-size:18px;color:white;margin-left:8px}.error-msg{font-size:13px;color:#b63e36;font-weight:750;min-height:0;margin:0 0 8px}.order-footer{text-align:center;color:#9aafac;font-size:10px;font-weight:800;letter-spacing:1.1px;padding:0 15px 26px}.status-view{padding:85px 20px;text-align:center;color:#73908e}.status-view h1{font:800 19px Manrope,sans-serif;color:#31575b}.status-view p{font-size:14px;line-height:1.6}.spinner{margin:0 auto 20px;width:26px;height:26px;border:3px solid #c7e4e0;border-top-color:#087f83;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.received{max-width:560px;margin:30px auto;background:white;padding:45px 34px;border:1px solid #d6e9e6;border-radius:25px;text-align:center}.success-mark{background:#e2f4ef;color:#087f83;border-radius:50%;width:70px;height:70px;display:grid;place-items:center;font:800 30px Manrope,sans-serif;margin:0 auto 20px}.received>.eyebrow{color:#087f83;opacity:1}.received h1{margin:9px 0}.received>p{font-size:14px;color:#73908e;line-height:1.7}.receipt-box{background:#f6fbfa;border:1px solid #d9ebe8;border-radius:14px;text-align:left;margin-top:23px;padding:22px}.receipt-head{display:flex;justify-content:space-between;gap:15px;font-size:12px;color:#6e8a87}.receipt-head strong{color:#066b71}.receipt-box ul{list-style:none;padding:14px 0 0;margin:0}.receipt-box li{display:flex;justify-content:space-between;margin-bottom:12px;font-size:15px}.receipt-total{display:flex;justify-content:space-between;border-top:1px solid #cfdfdc;padding-top:15px;margin-top:15px}.receipt-total b:last-child{color:#087f83;font-size:22px}.received .receipt-footnote{font-size:11px}.hidden-honey{position:absolute;left:-10000px;width:1px;height:1px;opacity:0}
/* Owner order dashboard */
.owner-shell{max-width:1100px;margin:0 auto;padding:28px 20px 90px}.owner-head{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:22px}.owner-head h1{margin:0;font:800 30px Manrope,sans-serif;letter-spacing:-1px}.owner-head p{margin:4px 0 0;color:#77918e;font-size:14px}.admin-box{background:white;border:1px solid #d7e7e5;border-radius:19px;padding:23px;margin-bottom:18px}.admin-box h2{font:800 20px Manrope,sans-serif;margin:0 0 13px;letter-spacing:-.4px}.admin-box p{color:#79918f;font-size:13px;line-height:1.6}.admin-tools{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.admin-tools input[type=password],.admin-tools input[type=file],.admin-tools select,.admin-tools input[type=text]{padding:12px;border:1px solid #c9ddda;border-radius:10px;min-width:180px;max-width:100%;background:#f6faf9}.admin-tools button,.mini-btn{border:1px solid #bfded9;padding:11px 14px;color:#07787e;background:#eef9f6;border-radius:10px;font-weight:800;font-size:13px}.admin-tools .admin-action{background:#087f83;color:#fff;border-color:#087f83}.admin-message{font-weight:750;color:#087f83;margin-top:12px;font-size:13px;white-space:pre-line}.admin-message.bad{color:#b4483d}.stat-strip{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 4px}.stat{border:1px solid #d4e8e3;background:#f4fbf8;padding:13px 16px;border-radius:12px;min-width:110px}.stat b{display:block;font-size:22px;color:#076d73}.stat span{color:#6c8c89;font-size:11px;font-weight:700}.inbox-list{display:grid;gap:12px}.incoming-card{background:#fff;border:1px solid #d9e7e6;padding:19px;border-radius:15px}.incoming-card h3{font:800 17px Manrope,sans-serif;margin:0}.incoming-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.incoming-card small{color:#758c8e;font-size:12px}.incoming-badge{font-weight:800;font-size:10px;text-transform:uppercase;padding:6px 9px;border-radius:20px;background:#fff1d9;color:#865c14}.incoming-badge.approved{background:#e0f4e8;color:#13704d}.incoming-badge.rejected{background:#f9e1e0;color:#a1403b}.incoming-dishes{line-height:1.6;font-size:13px;color:#436063;margin:10px 0}.incoming-footer{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}.incoming-footer select{background:#f6fbf9;border:1px solid #c5e0dc;border-radius:8px;padding:8px;max-width:100%;font-size:12px}.item-summary{font-size:12px;color:#7c908e}.no-inbox{padding:28px;text-align:center;color:#718b8a}.order-cta{display:flex;align-items:center;gap:10px}.owner-back{text-decoration:none;color:#087f83;font-size:13px;font-weight:800}
@media(max-width:600px){.order-header{padding:9px 16px;min-height:68px}.brand-photo{width:46px;height:46px}.brand strong{font-size:15px}.brand span{font-size:8px}.header-pill{font-size:9px;padding:7px 9px}.order-shell{padding:20px 13px 85px}.hero{padding:26px 23px 22px;border-radius:19px}.hero h1{font-size:30px}.hero p{font-size:13px}.open-tag{font-size:9px}.food-row{padding:13px 14px}.food-info strong{font-size:15px}.stepper{gap:7px}.stepper button{width:36px;height:36px}.section-bar{margin-top:24px}.section-bar h2{font-size:21px}.customer-section form{padding:17px}.form-grid,.fulfillment{grid-template-columns:1fr;gap:0}.fulfillment{gap:9px}.method{min-height:55px}.bottom-submit{gap:8px}.bottom-submit strong{font-size:27px}.primary-action{padding:14px 11px;font-size:12px}.received{padding:28px 17px;margin:13px auto}.owner-shell{padding:20px 13px 75px}.owner-head h1{font-size:25px}.admin-box{padding:18px}.admin-tools{align-items:stretch}.admin-tools input,.admin-tools button{width:100%}.admin-tools input[type=file]{width:100%}.incoming-footer{display:grid;grid-template-columns:1fr 1fr}.incoming-footer select{grid-column:1/-1}}

/* v5 full customer descriptions, curated from the weekly WhatsApp menu. */
.chef-note{display:block;color:#587f7f;font-size:12px;line-height:1.55;margin:8px 0 18px}
.menu-names{margin-top:20px;border-top:1px solid #d9e8e4;padding-top:18px}
.menu-names h3{font-size:16px;margin:0 0 8px;color:#075f64}
.menu-names>textarea{width:100%;resize:vertical;min-height:160px;font:13px/1.55 ui-monospace,Consolas,monospace;border:1px solid #bedbd7;border-radius:12px;background:#f7fbfa;color:#183d40;padding:13px}
.dish-mappings{display:grid;gap:9px;margin:16px 0}
.mapping-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(250px,2.2fr);gap:15px;border:1px solid #d5e6e3;border-radius:12px;padding:12px;background:#f9fcfb}
.mapping-original{display:flex;flex-direction:column;gap:4px;padding:5px 0}
.mapping-original b{font-size:14px;color:#164b4f}
.mapping-original span{font-size:11px;color:#789591}
.mapping-controls{display:grid;gap:6px;min-width:0}
.mapping-controls select,.mapping-controls input{display:block;width:100%;font-size:13px;padding:10px 11px;border:1px solid #c7ddda;border-radius:9px;background:white;color:#1b4547}
.mapping-controls small{font-size:11px;color:#56887a}
.mapping-row.mapping-invalid{border-color:#e8ada5;background:#fff8f5}.mapping-invalid .mapping-check{color:#b54840}
@media(max-width:600px){.mapping-row{grid-template-columns:1fr;gap:6px}.menu-names>textarea{min-height:180px}}

.friendly-tip{display:block;color:#587f7f;font-size:12px;line-height:1.55;margin-top:6px}

/* V6 customer-menu sections follow the parents' WhatsApp menu (not kitchen Excel column order). */
.food-list{background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible;display:grid;gap:24px}
.chef-section{display:block}
.chef-heading{display:flex;align-items:center;gap:10px;margin:0 3px 11px;min-height:32px}
.chef-heading-marker{width:5px;align-self:stretch;min-height:26px;background:#087f83;border-radius:4px}
.chef-heading h3{font:800 19px Manrope,sans-serif;letter-spacing:-.5px;color:#144447;margin:0}
.chef-heading-count{margin-left:auto;color:#5a8886;background:#e3f3ef;border-radius:30px;padding:6px 10px;font-size:11px;font-weight:800;white-space:nowrap}
.chef-dishes{background:white;border:1px solid #d8e9e7;border-radius:17px;overflow:hidden;box-shadow:0 8px 30px rgba(23,92,94,.035)}
.chef-dishes .food-row:last-child{border-bottom:0}
.mapping-group-label{display:grid;gap:5px;color:#56887a;font-size:11px;font-weight:750}
.mapping-group-label select{font-size:13px}
@media(max-width:600px){.food-list{gap:25px}.chef-heading h3{font-size:17px}.chef-heading-count{font-size:10px}.chef-heading{gap:9px}}

/* V7 · simplified independent menu editor, always-editable paste box */
.paste-menu{display:block!important;position:relative!important;width:100%;min-height:240px;resize:vertical;white-space:pre-wrap;font:500 14px/1.55 ui-monospace,Consolas,monospace;border:1.5px solid #b5d7d2!important;border-radius:13px;background:#f8fcfa!important;color:#143f42!important;padding:16px;outline:0;user-select:text;-webkit-user-select:text;pointer-events:auto!important;opacity:1!important}
.paste-menu:focus{border-color:#087f83!important;box-shadow:0 0 0 3px #087f8324}
.menu-input-label{display:block;font-size:12px;color:#315e61;font-weight:800;margin:13px 0 8px}.mini-status{font-size:12px;line-height:1.6;color:#668783;margin:11px 0 4px}.advanced-box{margin:16px 0 0;border:1px solid #d5e9e5;border-radius:13px;padding:13px 15px;background:#f9fcfb}.advanced-box summary{cursor:pointer;font-weight:800;font-size:13px;color:#076e73}.advanced-box p{margin:10px 0}.customer-menu-preview{margin:17px 0 5px;border:1px solid #cfe5df;border-radius:12px;padding:16px;background:#f5fbf9}.customer-menu-preview h3{font-size:16px;margin:2px 0 10px}.preview-section{font-size:12px;font-weight:800;color:#087f83;margin:15px 0 6px}.preview-line{display:flex;gap:10px;align-items:baseline;justify-content:space-between;padding:4px 0;border-bottom:1px solid #e4efec;font-size:13px;color:#174b4b}.preview-line small{color:#658786}.mapping-row.v7{grid-template-columns:minmax(200px,1.2fr) minmax(260px,2fr)}.mapping-controls .detail-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.mapping-controls .detail-row>input{flex:1 1 210px;width:auto}.mapping-controls label.special-check{display:flex;align-items:center;gap:6px;color:#086f74;font-size:12px;font-weight:750}.mapping-controls label.special-check input{width:auto!important;accent-color:#087f83}.mapping-description{width:100%}.admin-tools button{cursor:pointer}.admin-tools button:disabled{cursor:not-allowed;opacity:.5}
@media(max-width:650px){.mapping-row.v7{grid-template-columns:1fr}.paste-menu{min-height:270px}}

.special-tag{display:inline-flex;align-items:center;margin-left:8px;vertical-align:middle;background:#e2f5f0;color:#076f73;border:1px solid #b8ded4;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:850;letter-spacing:.3px;white-space:nowrap}
.dish-description{display:block;font-size:12px;font-weight:550;line-height:1.45;color:#527a7c;margin:5px 0 0;max-width:37ch}
/* Rapid kitchen/customer taps: prevent accidental double-tap zoom; leave pinch zoom available. */
html,body,button,a,select,input[type="button"],input[type="submit"]{touch-action:manipulation;-webkit-tap-highlight-color:transparent}

/* v8.1: reminder on customer submission receipt */
.receipt-save-tip{display:flex;flex-direction:column;gap:5px;margin:18px 0 8px;padding:14px 16px;border:1px solid #b7d9d7;border-radius:14px;background:#edf8f6;color:#064f51;line-height:1.5;font-size:14px}
.receipt-save-tip span{font-size:13px;color:#426f70}
