:root{--red:#e60023;--red-dark:#c90020;--ink:#1b2030;--muted:#667085;--pale:#f6f7fa;--line:#e8e8ec;--green:#0d873d;--yellow:#8a5500;--radius:18px;--shadow:0 8px 30px rgba(25,35,58,.09);font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#f4f5f8}button,input,textarea{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:not-allowed;opacity:.58}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #54b1ff;outline-offset:2px}a{color:inherit}h1,h2,h3,h4,p{margin-top:0}h1{letter-spacing:-.035em}h2{letter-spacing:-.025em}img{max-width:100%;display:block}p{line-height:1.55}.muted,.small{color:var(--muted)}.small{font-size:12px}.loading{text-align:center;padding:80px 20px}.hidden{display:none!important}.btn{border:0;border-radius:12px;padding:14px 22px;font-weight:760;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;transition:filter .15s,transform .15s}.btn:hover{filter:brightness(.95)}.btn:active{transform:scale(.985)}.btn-primary{background:var(--red);color:white}.btn-outline{background:white;border:1px solid #f2a3ae;color:var(--red-dark)}.btn-plain{background:#f9eaed;color:var(--red-dark)}.btn-wide{width:100%}.iconbtn{border:0;background:transparent;color:inherit;min-height:40px;min-width:40px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-size:24px}.iconbtn:hover{background:#ffffff22}.pill{border-radius:999px;padding:6px 12px;font-size:12px;font-weight:720;display:inline-flex;align-items:center;gap:5px;line-height:1.35}.p-red{background:#ffe0e5;color:#b21828}.p-yellow{background:#fff0be;color:#8b5600}.p-green{background:#d6f6dc;color:#116a34}.p-purple{background:#f0e9ff;color:#5034a5}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 3px 14px rgba(30,37,59,.045)}.tag{border-radius:999px;padding:6px 11px;background:#ffe1e6;color:#b80f2c;font-size:13px;font-weight:700}.tags{display:flex;gap:8px;flex-wrap:wrap}.notice{border-radius:14px;padding:16px;line-height:1.5;margin:14px 0}.notice p:last-child{margin-bottom:0}.notice-yellow{background:#fff1c9;color:#634209}.notice-red{background:#ffe7e7;color:#8b1c29}.notice-green{background:#e1f9e9;color:#195d31}.notice-purple{background:#f0eaff;color:#43338d}.notice-blue{background:#eaf3ff;color:#224777}.field{min-height:48px;background:white;border:1px solid #dedee4;border-radius:13px;display:flex;align-items:center;gap:9px;padding:0 13px}.field:focus-within{border-color:#c83450;box-shadow:0 0 0 2px #ffdae3}.field input{border:0;outline:0;background:transparent;width:100%;min-width:0;padding:12px 0}.section-heading{font-size:19px;margin:24px 0 14px;display:flex;align-items:center;gap:8px}.item-img{object-fit:cover;background:#f9eff0}.clickable{cursor:pointer}.empty{border:1px dashed #e4cad0;padding:28px;border-radius:16px;text-align:center;background:#fffafb;color:#555}.toast{position:fixed;z-index:500;bottom:94px;left:50%;transform:translateX(-50%);background:#142236;color:white;padding:12px 18px;border-radius:12px;max-width:min(90vw,520px);box-shadow:var(--shadow);font-size:14px}.warning-note{font-size:12px;color:#586173;line-height:1.55}.client-app{width:min(100%,1080px);background:#fff;min-height:100dvh;margin:0 auto;box-shadow:var(--shadow);padding-bottom:76px}.page-body{padding:20px clamp(16px,3vw,42px) 34px}.topbar{height:72px;padding:0 clamp(16px,3vw,42px);background:var(--red);color:white;display:flex;justify-content:space-between;align-items:center;gap:12px}.brand{font-weight:1000;font-style:italic;letter-spacing:-.07em;font-size:34px;color:white}.brand-small{font-size:25px}.pagebar{height:74px;background:var(--red);color:white;display:flex;align-items:center;gap:12px;padding:0 clamp(16px,3vw,42px);font-weight:800;font-size:19px}.head-actions{display:flex;align-items:center;gap:2px}.home-hero{display:flex;min-height:228px;background:linear-gradient(135deg,#e70021 40%,#ed0927 100%);color:white;align-items:center;padding:12px clamp(16px,3vw,42px) 28px;justify-content:space-between;gap:16px;overflow:hidden;border-radius:0 0 28px 28px}.home-hero h1{font-size:clamp(23px,3vw,36px);margin:0 0 13px}.hero-slogan strong,.hero-slogan em{display:block;font-size:clamp(27px,4vw,47px);line-height:1.07;letter-spacing:-.045em}.hero-slogan strong{color:#fff25f}.hero-slogan em{font-weight:900}.hero-robot{width:min(32%,256px);height:190px;object-fit:cover;object-position:center 30%;border-radius:28px;mix-blend-mode:normal}.restriction-card{padding:20px;margin-top:0}.row-between{display:flex;align-items:center;justify-content:space-between;gap:10px}.restriction-card h2{font-size:18px;margin:0 0 15px}.inline-edit{border:0;background:transparent;font-weight:780;color:var(--red);text-decoration:underline;padding:5px}.home-search{margin:20px 0 0}.category-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin-top:16px}.cat-btn{border:1px solid #f0e9eb;border-radius:15px;background:white;padding:12px 7px;display:flex;gap:7px;flex-direction:column;align-items:center;font-weight:650;font-size:12px}.cat-btn:hover,.cat-btn.active{background:#fff0f2;border-color:#f6c8d0}.cat-emoji{font-size:28px}.dish-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.dish-card{display:flex;gap:14px;padding:12px;text-align:left;align-items:center;width:100%;color:inherit;border:1px solid var(--line);background:white;border-radius:15px;min-width:0}.dish-card:hover{border-color:#f39dab;background:#fffafb}.dish-card img{width:112px;height:100px;flex:0 0 112px;border-radius:12px;object-fit:cover}.dish-title{font-size:16px;font-weight:800;margin:0 0 3px}.dish-desc{font-size:12px;color:#626b7a;margin-bottom:7px}.dish-meta{font-size:14px;font-weight:750;margin-bottom:8px}.dish-copy{min-width:0}.bottomnav{position:fixed;z-index:50;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,1080px);background:white;border-top:1px solid #ececf0;box-shadow:0 -5px 22px #19263714;display:grid;grid-template-columns:repeat(4,1fr);padding:7px 6px max(7px,env(safe-area-inset-bottom))}.bottomnav button{border:0;background:transparent;display:flex;align-items:center;flex-direction:column;gap:2px;min-height:53px;font-size:12px;color:#606570}.bottomnav button b{font-size:22px;line-height:1.25}.bottomnav button.active{color:var(--red);font-weight:800}.welcome-layout{min-height:calc(100dvh - 160px);display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:30px;padding:28px clamp(22px,5vw,76px)}.welcome-layout h1{font-size:clamp(42px,6vw,82px);line-height:1.02;margin:4px 0 22px}.welcome-layout h1 span{color:var(--red)}.welcome-layout .intro{font-size:20px;color:#3b4151}.welcome-art{background:radial-gradient(ellipse at center,#ffe0e6 15%,#fff 70%);border-radius:30px;overflow:hidden}.welcome-art img{width:100%;height:min(520px,64vh);object-fit:contain}.welcome-chip{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 24px}.profile-head{padding:16px;display:flex;gap:14px;align-items:center;margin-bottom:14px}.avatar{width:50px;height:50px;border-radius:50%;background:var(--red);color:white;font-size:24px;display:flex;align-items:center;justify-content:center}.menu-link{border:0;border-bottom:1px solid #eff0f4;background:white;padding:18px 13px;display:flex;justify-content:space-between;gap:12px;align-items:center;width:100%;text-align:left;font-size:15px;font-weight:620}.menu-link:hover,.menu-link.highlight{background:#fff0f2;color:#a30015;border-radius:12px}.menu-left{display:flex;gap:14px;align-items:center}.menu-left .ico{width:24px;font-size:21px;text-align:center}.restriction-copy{max-width:570px;margin:0 0 22px;color:#606979}.group{margin:28px 0}.group h3{font-size:17px}.checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.check{border:1px solid #e2e2e5;border-radius:11px;padding:12px;display:flex;gap:10px;align-items:center;min-height:48px;cursor:pointer;font-size:14px}.check:has(input:checked){background:#fff0f2;border-color:#ed7587}.check input{accent-color:var(--red);width:18px;height:18px;flex:0 0 18px}.add-restriction{margin-top:12px;border:0;border-radius:12px;background:#fff0f2;color:#9a2033;padding:13px 15px;text-align:left;width:100%;font-weight:750}.add-inline{display:flex;gap:8px;margin-top:11px}.add-inline input{width:100%;min-width:0;padding:11px;border:1px solid #ddd;border-radius:11px}.full-section{margin-top:22px}.tabs{display:flex;gap:9px;overflow-x:auto;padding:6px 0 12px;scrollbar-width:thin}.tabs button{white-space:nowrap;border:1px solid #eee;background:white;border-radius:999px;padding:9px 13px;font-weight:650;color:#414755}.tabs button.selected{background:#ffedef;border-color:#ed8699;color:#a40922}.results-note{border-radius:12px;background:#f2edff;color:#48359d;padding:14px;font-size:13px;margin-bottom:16px}.restaurant-summary{display:flex;gap:12px;align-items:center;padding:15px;margin:12px 0}.restaurant-summary .thumb{width:76px;height:65px;object-fit:cover;border-radius:12px}.detail-hero{width:100%;height:clamp(240px,40vw,380px);object-fit:cover;border-radius:0 0 22px 22px}.detail-panel{padding:22px clamp(16px,3vw,42px)}.detail-price{font-size:24px;font-weight:820;margin-top:0}.detail-title{font-size:clamp(24px,3vw,34px);margin-bottom:7px}.detail-ingredients{background:#fbfbfd;padding:15px;border-radius:12px}.primary-sticky{margin-top:20px}.cart-line{padding:14px;display:flex;gap:13px;align-items:center;margin:12px 0}.cart-line img{width:95px;height:82px;border-radius:10px;object-fit:cover}.cart-line button{border:0;color:var(--red-dark);background:none;font-weight:750;padding:7px}.order-card{padding:18px;margin:12px 0}.order-card h3{margin:0 0 6px}.order-card .pill{margin:8px 0}.chat-box{background:#f8f9fc;border-radius:18px;padding:16px;min-height:280px;max-height:480px;overflow:auto;margin-bottom:15px}.chat-line{max-width:90%;padding:12px 14px;border-radius:14px;margin:11px 0;background:white;border:1px solid #e9e9ee;line-height:1.5}.chat-line.mine{margin-left:auto;background:#ffe8ed;border-color:#f9c7ce}.chat-compose{display:flex;gap:10px}.chat-compose .field{flex:1}.error-banner{background:#ffe7e7;color:#a01827;border-radius:12px;padding:14px;margin-bottom:18px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Restaurant environment intentionally separate from the client shell. */
.restaurant-page{background:#f5f6f8}.dashboard{min-height:100dvh;display:grid;grid-template-columns:240px minmax(0,1fr)}.dash-sidebar{background:#fff;border-right:1px solid #e9e9ee;padding:25px 16px;display:flex;flex-direction:column;gap:12px}.dash-brand{color:var(--red);font-size:38px}.dash-brand small{font-size:13px;color:#747d8b;letter-spacing:0;display:block;font-style:normal;font-weight:500;margin-top:3px}.dash-menu{padding-top:22px;display:flex;flex-direction:column;gap:7px}.dash-menu button{border:0;background:transparent;text-align:left;border-radius:11px;padding:13px;font-size:15px;font-weight:650}.dash-menu button.selected{background:#ffe9ec;color:#ba0d2a}.dash-main{padding:clamp(16px,3vw,38px)}.dash-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.dash-header h1{margin-bottom:5px;font-size:clamp(25px,3vw,34px)}.dash-columns{display:grid;grid-template-columns:minmax(280px,1fr) minmax(310px,.94fr);gap:18px;margin-top:20px}.dash-panel{background:#fff;border-radius:17px;border:1px solid #e9e9ed;padding:20px;min-width:0}.dash-panel h2{font-size:19px}.dash-order{border:1px solid #e6e6eb;background:#fff;border-radius:13px;padding:14px;width:100%;text-align:left;margin:10px 0}.dash-order.selected{border-color:#df3d59;background:#fff8f9}.dash-order strong{display:block;font-size:16px}.dash-order p{margin:5px 0;font-size:14px}.dash-order .pill{margin-top:6px}.dash-alert{background:#fff0f1;padding:16px;border-radius:14px;margin:14px 0}.dash-alert h3{color:#ac1930;margin-bottom:12px}.dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dash-panel label{display:flex;align-items:flex-start;gap:9px;margin:12px 0;line-height:1.4}.dash-panel label input{accent-color:var(--red);margin-top:3px;flex:0 0 auto}.dash-panel textarea{width:100%;resize:vertical;min-height:74px;border:1px solid #e2e2e8;border-radius:12px;padding:12px}.dash-kpi{background:#fff;border:1px solid #e8e8ee;border-radius:14px;padding:16px}.dash-kpi strong{font-size:26px}.dash-kpi p{font-size:13px;color:#656d79;margin:4px 0 0}
@media(max-width:820px){.dish-grid{grid-template-columns:1fr}.dish-card img{width:99px;height:92px;flex-basis:99px}.dashboard{grid-template-columns:1fr}.dash-sidebar{padding:14px 16px;border:0;border-bottom:1px solid #ddd}.dash-menu{flex-direction:row;overflow-x:auto;padding:4px 0}.dash-menu button{white-space:nowrap}.dash-columns{grid-template-columns:1fr}.dash-brand{font-size:28px}.dash-brand small{display:inline;font-size:11px;margin-left:9px}}
@media(max-width:620px){.client-app{box-shadow:none}.home-hero{min-height:193px}.hero-robot{width:36%;height:162px;object-position:center 29%}.home-hero h1{font-size:22px}.hero-slogan strong,.hero-slogan em{font-size:26px}.category-grid{gap:5px}.cat-btn{font-size:10px;padding:10px 1px}.cat-emoji{font-size:23px}.dish-card img{width:91px;height:86px;flex-basis:91px}.dish-title{font-size:14px}.dish-card{gap:11px}.pill{font-size:11px}.welcome-layout{grid-template-columns:1fr;gap:8px;padding:18px 22px}.welcome-layout h1{font-size:46px;margin-bottom:12px}.welcome-layout .intro{font-size:16px}.welcome-art{order:-1;width:100%;height:270px}.welcome-art img{height:270px;object-position:center 30%}.page-body{padding:18px 16px 30px}.detail-panel{padding:22px 16px}.topbar,.pagebar{padding-left:16px;padding-right:16px}}
@media(max-width:360px){.home-hero .hero-robot{width:35%;height:135px}.hero-slogan strong,.hero-slogan em{font-size:23px}.category-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.cat-btn{font-size:9px}.checks{grid-template-columns:1fr}.dash-grid{grid-template-columns:1fr}}
@media(max-width:1150px){.restaurant-page .dashboard{grid-template-columns:1fr}.restaurant-page .dash-sidebar{padding:14px 16px;border:0;border-bottom:1px solid #ddd}.restaurant-page .dash-menu{flex-direction:row;overflow-x:auto;padding:4px 0}.restaurant-page .dash-menu button{white-space:nowrap}.restaurant-page .dash-columns{grid-template-columns:1fr}.restaurant-page .dash-brand{font-size:28px}.restaurant-page .dash-brand small{display:inline;font-size:11px;margin-left:9px}}
