@font-face{font-family:Hanken;src:url(/fonts/hanken.woff2) format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:Space;src:url(/fonts/space.woff2) format("woff2");font-weight:100 900;font-display:swap}:root{--navy:#29245c;--deep:#18124b;--gold:#e8b91e;--sky:#74bfe5;--bg:#f9f9ff;--muted:#626579;--line:#e9e9f5;--lavender:#efefff;--red:#b02c36;--green:#08795e;font-family:Hanken,Segoe UI,sans-serif;color:var(--deep);background:#eeeef6;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:var(--navy);text-decoration:none;cursor:pointer}button{cursor:pointer;border:0}button:disabled{opacity:.5;cursor:wait}a:focus-visible,button:focus-visible{outline:3px solid #3c8fc1;outline-offset:3px}h1,h2,h3,strong,.brand{font-family:Space,Segoe UI,sans-serif}h1{font-size:29px;line-height:1.2;letter-spacing:-.9px;margin:8px 0 12px}h2{font-size:21px;letter-spacing:-.5px;margin:8px 0 12px}h3{font-size:16px;line-height:1.35;margin:4px 0 6px}p{line-height:1.5;margin:8px 0 14px}small{font-size:12px;line-height:1.45}.app-shell{max-width:520px;min-height:100dvh;margin:auto;background:var(--bg);position:relative;box-shadow:0 0 70px #29245c0c}.app-shell.wide{max-width:1280px}.topbar{height:86px;display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid #efeff8;background:#fafaff}.brand{display:flex;align-items:center;gap:11px;font-weight:700;font-size:19px;letter-spacing:-.5px}.brand b{font-weight:700}.brand small{display:block;font-family:Hanken,sans-serif;font-weight:400;letter-spacing:0;margin-top:4px;font-size:11px}.brand-icon{width:43px;height:43px;display:inline-flex;align-items:center;justify-content:center;background:var(--gold);border-radius:12px;color:var(--deep);box-shadow:0 4px 13px #e8b91e25}.school-mark{font-size:7px;line-height:1.7;text-align:center;border:1px solid var(--line);border-radius:50%;width:42px;height:42px;display:flex;flex-direction:column;justify-content:center;letter-spacing:1px;background:#fff}.school-mark b{background:var(--deep);color:#fff;font-size:5px}main{padding:21px 22px 118px}.wide main{padding:24px 30px 120px}main.auth-main{padding-bottom:35px}.muted{color:var(--muted)}.small{font-size:13px}.blue{color:#006687}.gold{color:var(--gold)}.green{color:var(--green)}.center{text-align:center}.align-right{display:block;text-align:right;font-size:13px;font-weight:700;margin:10px 0 24px}.eyebrow{font-size:11px;font-weight:700;color:#5c5792;letter-spacing:1.3px;margin:12px 0}.row,.section-title{display:flex;justify-content:space-between;align-items:center;gap:12px}.section-title{margin:25px 0 12px}.section-title h1,.section-title h2{margin:0}.section-title p{margin:5px 0;font-size:13px}.section-title>a{font-size:12px;font-weight:700}.grow{flex:1;min-width:0}.card{display:block;background:#fff;border:1px solid #f0eff9;border-radius:17px;padding:20px;margin:17px 0;box-shadow:0 7px 25px -12px #29245c16}.card h2{display:flex;align-items:center;gap:10px;font-size:19px}.primary,.accent,.secondary,.danger{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:49px;padding:12px 19px;border-radius:9px;font-weight:700;font-size:14px;transition:transform .12s}.primary{background:var(--deep);color:#fff;box-shadow:0 4px 8px #18124b12}.accent{background:var(--gold);color:var(--deep)}.secondary{background:var(--lavender);color:var(--navy);border:1px solid #e6e5f6}.danger{background:#fff0f0;color:var(--red);margin:15px 0}.full{width:100%;margin-top:15px;justify-content:space-between}.primary.full:only-child,.secondary.full,.accent.full,.danger.full{justify-content:center}.small-button{min-height:39px;padding:8px 13px;font-size:12px;white-space:nowrap}.primary:active,.accent:active,.add:active{transform:scale(.97)}.text-button{color:var(--navy);font-size:12px;background:none}.tag{display:inline-flex;background:#e9edff;color:#4e4a83;border-radius:6px;padding:6px 10px;font-size:11px;font-weight:700;letter-spacing:.3px}.badge{background:#ffe08f;color:#604b00;font-size:10px;font-weight:700;padding:6px 9px;border-radius:50px;white-space:nowrap}.badge.ready{background:#d5f6e9;color:var(--green)}.tile{display:inline-flex;align-items:center;justify-content:center;background:#e9edff;color:#006687;width:43px;height:43px;border-radius:13px;flex-shrink:0}.back{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;margin-bottom:14px}.greeting{display:flex;align-items:center;justify-content:space-between;margin-bottom:21px}.greeting h1{font-size:25px;margin:0 0 5px}.greeting p{font-size:14px;margin:0}.icon-button{position:relative;display:flex;align-items:center;justify-content:center;background:#e9e8fc;border-radius:13px;width:43px;height:43px;flex-shrink:0}.dot{position:absolute;top:6px;right:8px;background:var(--gold);width:8px;height:8px;border:1px solid white;border-radius:50%}.search{display:flex;align-items:center;gap:12px;background:#fff;box-shadow:0 5px 24px #29245c05;border:1px solid #f1f0fa;border-radius:11px;padding:10px 12px;color:#006687;margin:15px 0}.search input{margin:0;padding:9px 0;border:0;box-shadow:none;background:none;min-width:0;color:var(--deep)}.search button{width:35px;height:35px;flex-shrink:0;color:var(--navy);background:#e9edff;border-radius:6px}.quick-actions{display:flex;gap:8px;overflow:auto;margin:15px 0 20px;scrollbar-width:none}.quick-actions>a,.quick-actions>button{display:flex;align-items:center;gap:7px;white-space:nowrap;background:#fff;border-radius:30px;padding:8px 12px;font-size:11px;color:var(--navy);box-shadow:0 2px 3px #29245c05}.quick-actions ico{width:16px;height:16px}.active-order{background:linear-gradient(110deg,#fff,#f8fdff);padding:17px 19px}.active-order h3{font-size:17px}.active-order p{font-size:13px;margin:12px 0}.active-order small{display:block;color:var(--muted);margin-top:4px}.progress-link{display:flex;justify-content:space-between;border-top:4px solid var(--gold);padding-top:9px;font-size:11px;font-weight:700}.chips{display:flex;gap:9px;overflow:auto;padding:6px 0 12px;scrollbar-width:none}.chips button{display:flex;align-items:center;gap:6px;background:#fff;border:1px solid #f0eef8;padding:9px 17px;white-space:nowrap;border-radius:30px;color:var(--navy);font-size:12px}.chips .selected{background:var(--deep);color:#fff;border-color:var(--deep);box-shadow:0 4px 6px #29245c17}.chips ico{width:16px;height:16px}.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 26px}.product-card{position:relative;border:1px solid #f1f0fa;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 8px 25px -15px #29245c1c}.product-card img{width:100%;height:auto;aspect-ratio:1.28;object-fit:cover;display:block;padding:10px 10px 0;border-radius:17px}.product-copy{padding:11px 12px 13px}.product-copy h3{font-size:15px;letter-spacing:-.3px;min-height:40px}.product-copy p{font-size:11px;line-height:1.5;color:var(--muted);margin:4px 0 13px;min-height:32px}.product-copy strong{font-size:19px;white-space:nowrap}.add{display:flex;align-items:center;justify-content:center;background:var(--gold);color:var(--deep);border:1px solid #d9aa00;width:35px;height:35px;border-radius:9px;flex-shrink:0}.add ico{width:19px;height:19px}.favorite{position:absolute;top:15px;right:15px;background:#fffef8db;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:#82765d}.favorite ico{width:17px;height:17px}.favorite.is-favorite{color:#bf2b43;background:#fff0f0}.tip{display:flex;align-items:center;gap:13px;padding:18px;background:#f0f2ff;border-radius:13px;margin:23px 0;font-size:12px}.tip p{margin:3px 0}.tip .tile{background:#cce7fb}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:min(100%,520px);height:calc(78px + env(safe-area-inset-bottom));padding:10px 12px calc(9px + env(safe-area-inset-bottom));background:#ffffffef;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:flex;justify-content:space-around;border-top:1px solid #f1f0fa;z-index:20}.bottom-nav a{display:flex;flex-direction:column;align-items:center;font-size:10px;gap:4px;min-width:48px}.bottom-nav span{position:relative;display:flex;align-items:center;justify-content:center;width:47px;height:31px;border-radius:30px;color:#77718a}.bottom-nav .active span{background:#dff1fc;color:var(--deep)}.bottom-nav .active{font-weight:700}.counter{position:absolute;top:-3px;right:4px;background:var(--gold);font-size:9px;padding:1px 4px;border-radius:20px;color:var(--deep)}label{display:block;font-weight:600;font-size:13px;margin:18px 0 10px}label small{display:block;font-weight:400;color:var(--muted);margin-top:6px}input,select,textarea{width:100%;display:block;margin-top:8px;border:1px solid #e8e7f4;background:#f5f5ff;border-radius:9px;padding:14px;color:var(--deep);outline:none;font-size:14px}input:focus,select:focus,textarea:focus{border-color:#74bfe5;box-shadow:0 0 0 3px #74bfe51a}input::placeholder,textarea::placeholder{color:#9190a2}textarea{resize:vertical}input[type=checkbox],input[type=radio]{width:18px;height:18px;accent-color:var(--navy);margin:0;flex-shrink:0}.check{display:flex;align-items:flex-start;gap:10px;line-height:1.5;font-weight:400;margin:23px 0}.welcome{padding:50px 10px;text-align:center}.welcome h1{font-size:46px;line-height:1.1;margin-top:20px}.welcome>p:not(.eyebrow){color:var(--muted)}.welcome form{text-align:left;margin-top:32px}.big{width:75px;height:75px;border-radius:22px}.big ico{width:40px;height:40px}.auth-hero{padding:27px 24px;background:linear-gradient(130deg,#29245c,#5c5792);color:#fff;border-radius:18px;position:relative;overflow:hidden;min-height:206px}.auth-hero:after{content:"";width:170px;height:170px;background:#e8b91e14;position:absolute;right:-65px;bottom:-30px;border-radius:50%}.auth-hero h1{font-size:30px;margin-top:16px}.auth-hero p{font-size:13px;color:#e2e0f6;margin-bottom:0}.auth-hero .tag{background:#ffffff1c;color:#ffe08f;font-size:9px;letter-spacing:1px}.hero-anchor{position:absolute;right:17px;top:28px;opacity:.13}.hero-anchor ico{width:90px;height:90px}.auth-card{padding:25px 23px}.auth-card h2{font-size:24px}.auth-card .center{font-size:13px;margin-top:24px}.compact{min-height:170px}.compact .eyebrow{color:#ffe08f;margin:0}.privacy{padding:13px;background:#f4f3ff;border-radius:9px;font-size:11px;margin-top:22px}.privacy p{margin-bottom:0}.cart-item{display:flex;gap:16px;padding:14px}.cart-item>img{width:94px;height:108px;object-fit:cover;border-radius:10px}.quantity{display:flex;align-items:center;gap:15px;margin-top:10px}.quantity button{display:flex;align-items:center;justify-content:center;width:27px;height:27px;border-radius:6px;background:var(--lavender);color:var(--navy)}.quantity ico{width:15px;height:15px}.total{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 0 5px;margin-top:20px;border-top:1px solid var(--line)}.total strong{font-size:27px;white-space:nowrap}.total>b{font-size:11px}.receipt-line{display:flex;justify-content:space-between;gap:15px;padding:13px 0;font-size:13px;border-bottom:1px solid #f4f3fa}.receipt-line>b{white-space:nowrap}.payment{display:flex;align-items:center;gap:13px;background:#f4f4ff;border:2px solid transparent;padding:15px 12px;border-radius:10px;margin:12px 0}.payment.chosen{border-color:#c5c0ff;background:#eeedff}.payment span{flex:1}.payment small{font-weight:400;font-size:11px}.payment .cash-icon{flex:0;font-size:27px;font-weight:700}.error-text{color:var(--red);font-size:13px}.confirmed{text-align:center;padding-top:25px}.confirmed h1{font-size:28px}.checkmark{display:flex;align-items:center;justify-content:center;width:75px;height:75px;background:#d8f6e8;border-radius:50%;color:var(--green);margin:auto auto 23px;box-shadow:0 0 0 10px #ecfcf5}.checkmark ico{width:38px;height:38px}.ticket{text-align:left;margin:26px 0}.ticket>span,.ticket>h2{text-align:center;display:block}.ticket h2{font-size:31px;letter-spacing:1px;padding-bottom:18px;border-bottom:1px dashed #c8c5da}.ticket .row{font-size:13px;margin-top:20px}.ticket>p{text-align:center;font-size:13px;color:var(--muted)}.confirmed>a:last-child{display:block;font-size:13px;margin-top:24px}.order-card h3{font-size:17px}.order-card p{margin:8px 0}.order-card .row:last-child{margin-top:20px}.tracking-hero{padding:27px 23px;background:linear-gradient(120deg,#18124b,#29245c,#534055);border-radius:15px;color:#fff;margin:23px 0}.tracking-hero h2{font-size:23px;margin:20px 0 23px}.tracking-hero p{color:#cfcae7;font-size:11px;letter-spacing:.5px;margin:12px 0}.tracking-hero>strong{font-size:43px;color:#ffe08f;letter-spacing:-2px}.timeline{padding:15px 0 0 3px}.step{display:flex;gap:15px;position:relative;padding:0 0 27px;color:#9a98a9}.step:before{content:"";position:absolute;width:2px;height:100%;background:#e4e3f3;left:21px;top:20px}.step:last-child:before{display:none}.step-icon{position:relative;display:flex;align-items:center;justify-content:center;border-radius:13px;background:#efefff;width:44px;height:44px;flex-shrink:0}.step>div{padding-top:3px}.step h3{font-family:Hanken,sans-serif;font-size:16px}.step p{font-size:12px;margin:4px 0 0}.step.done{color:var(--deep)}.step.done .step-icon{background:var(--deep);color:#fff}.step.current .step-icon{background:var(--gold);color:var(--deep);box-shadow:0 0 0 5px #fff5d2}.profile-head{text-align:center;margin:20px 0 25px}.avatar{display:flex;align-items:center;justify-content:center;margin:auto;width:78px;height:78px;border-radius:50%;background:#e9e5ff;border:5px solid white;color:var(--navy);font-family:Space,sans-serif;font-size:35px}.profile-head h1{font-size:25px;margin-top:17px}.profile-head p{font-size:13px;color:var(--muted)}.profile-row{display:flex;align-items:center;gap:15px;padding:15px 0;border-bottom:1px solid var(--line)}.profile-row:last-child{border:0}.profile-row small{display:block;color:var(--muted)}.profile-row b{font-size:13px;overflow-wrap:anywhere}.wallet-card{background:linear-gradient(120deg,#29245c,#18124b);color:#fff;padding:24px;border-radius:20px;margin:25px 0;box-shadow:0 12px 25px #29245c20}.wallet-card>.row{font-size:9px;letter-spacing:.5px;color:#d4cfea}.wallet-card>small{display:block;color:#c5c0dc;margin-top:35px;font-size:10px;letter-spacing:1px}.wallet-card>strong{display:block;font-size:40px;margin:8px 0 30px;color:#ffe08f;letter-spacing:-1px}.wallet-card strong span{font-size:13px;letter-spacing:0}.movement{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px;font-size:12px}.movement small{display:block;font-size:10px;margin-top:6px;color:var(--muted)}.movement strong{white-space:nowrap;font-size:17px}.notice{display:flex;gap:13px;padding:17px}.notice h3{font-size:15px}.notice p{font-size:13px;margin:6px 0}.notice a{display:block;font-size:11px;margin-top:8px}.notice.unread{border-left:4px solid var(--gold);background:#fffefa}.chat-log{display:flex;flex-direction:column;gap:14px;min-height:35dvh;padding:15px 0}.bubble{align-self:flex-end;width:85%;background:#ecebff;border:1px solid #e6e3fc;padding:14px 17px;border-radius:16px 16px 0}.bubble.staff{align-self:flex-start;background:#fff;border-color:#eeedf5;border-radius:16px 16px 16px 0}.bubble>b{font-size:11px;color:#5c5792}.bubble p{font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}.bubble small{font-size:10px;color:var(--muted)}.chat-form{display:flex;gap:8px;align-items:center;margin-top:20px}.chat-form input{margin:0;min-width:0}.chat-form button{min-height:48px}.feedback{position:sticky;top:0;z-index:25;display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:14px 20px;font-size:13px;line-height:1.5}.feedback button{background:none;color:inherit;font-size:20px}.error{background:#fff0f0;color:var(--red);border-bottom:1px solid #ffdbdb}.success{background:#e8faf2;color:var(--green);border-bottom:1px solid #c8ecdd}.offline{background:#fff4d2;color:#715000;padding:10px 20px;font-size:12px;text-align:center}.loading{padding:100px 20px;text-align:center;font-size:14px;color:var(--muted)}.spinner{margin:auto;width:32px;height:32px;border:3px solid #e5e4f3;border-top-color:var(--navy);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty{grid-column:1/-1;padding:45px 25px;text-align:center;color:var(--muted);font-size:14px;background:#fff8;border-radius:16px;line-height:1.6}.empty>ico{width:45px;height:45px;margin:auto auto 15px;color:#938db6}.empty h2{color:var(--navy)}.empty .primary{margin-top:15px;color:#fff}.detail-image{display:block;width:100%;height:275px;object-fit:cover;border-radius:15px;margin-top:5px}.price{font-size:23px;white-space:nowrap}.sticky-cta{position:sticky;bottom:91px;z-index:10;box-shadow:0 6px 20px #29245c28}.modal-backdrop{position:fixed;inset:0;background:#18124b99;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:100}.qr-dialog{position:relative;max-width:420px;width:100%;max-height:94dvh;overflow:auto;border-radius:22px;background:#fff;padding:28px;text-align:center}.qr-dialog h2{font-size:25px;margin-top:20px}.qr-dialog>img{display:block;width:100%;max-width:300px;margin:auto;aspect-ratio:1}.qr-dialog>p{font-size:13px;color:var(--muted)}.close{position:absolute;top:8px;right:12px;font-size:28px;background:none;color:var(--navy)}.qr-dialog details{font-size:11px;cursor:pointer}.qr-dialog code{display:block;overflow-wrap:anywhere;padding:12px;background:var(--lavender);margin-top:10px;font-size:10px}.kitchen-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}.kitchen-column{background:#efeff9;border-radius:14px;padding:13px;min-height:220px}.kitchen-column>h2{font-size:16px;display:flex;align-items:center;justify-content:space-between}.kitchen-column>h2 span{background:#fff;border-radius:20px;padding:4px 8px;font-size:12px}.kitchen-order{padding:15px;margin:12px 0}.kitchen-order p{font-size:13px;margin:10px 0}.kitchen-order .row{gap:7px}.kitchen-order .row h3{font-size:14px}.kitchen-order .row b{font-size:12px;white-space:nowrap}.kitchen-order .small{font-size:11px}.kitchen-order .full{font-size:11px;min-height:40px;padding:9px;margin-top:10px}.notes{background:#fff8db;border-radius:6px;padding:10px}.dispatch{max-width:650px;margin:20px auto}.dispatch video{width:100%;max-height:350px;border-radius:12px;margin:20px 0;background:#18124b}.scan-result{margin-top:25px;padding-top:25px;border-top:1px solid var(--line)}.student-results{display:flex;flex-direction:column;gap:8px;margin-top:20px}.student-results button{padding:13px;text-align:left;background:#f5f5ff;border:1px solid #e9e7fa;border-radius:8px;color:var(--navy)}.student-results button.selected{background:#e5e2ff;border-color:#9388d4}.student-results small{display:block;margin-top:4px}.menu-editor{display:grid;grid-template-columns:1fr 1fr;gap:24px}.menu-editor .card{margin-top:0}.wide .bottom-nav{border-radius:18px 18px 0 0;box-shadow:0 -5px 25px #29245c0d}@media(max-width:760px){.kitchen-grid{grid-template-columns:1fr}.wide main{padding:20px 16px 110px}.menu-editor{grid-template-columns:1fr}.wide .section-title h1{font-size:24px}}@media(max-width:360px){main{padding-left:15px;padding-right:15px}.product-grid{gap:10px}.product-copy{padding:9px}.product-copy strong{font-size:17px}.product-copy .row{gap:5px}.topbar{padding-left:15px;padding-right:15px}.brand{font-size:17px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
