:root{--navy:#10243d;--blue:#0065ff;--text:#142640;--muted:#74839a;--border:#e4ebf4;--bg:#f3f6fb;--green:#12a56a}*{box-sizing:border-box}body{margin:0;color:var(--text);background:var(--bg);font:14px/1.5 'Segoe UI',Arial,sans-serif}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:var(--blue);text-decoration:none}button{border:1px solid var(--border);border-radius:8px;background:white;color:var(--text);padding:9px 14px;font-weight:600}button:hover{filter:brightness(.97)}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #d9e2ef;border-radius:8px;background:white;color:var(--text)}input:focus,select:focus,textarea:focus{outline:2px solid #9dc9ff;outline-offset:1px}label{display:block;font-size:13px;font-weight:600;margin-bottom:15px}label input,label select,label textarea{margin-top:6px}h1,h2,h3,p{margin-top:0}h1{font-size:27px;letter-spacing:-.8px;line-height:1.2}h2{font-size:20px}h3{font-size:15px}p{color:var(--muted)}.primary{background:var(--blue);color:white;border-color:var(--blue)}.success{background:var(--green);color:white;border-color:var(--green)}.danger{color:#e04657}.text-button{border:0;background:transparent;padding:0;color:var(--blue)}.muted,small{color:var(--muted)}.brand-icon{display:inline-grid;place-items:center;background:linear-gradient(135deg,#3998ff,#0053ef);border-radius:10px;color:white;width:40px;height:40px;font-size:24px}.logo{font-size:18px;font-weight:700;display:flex;gap:10px;align-items:center;color:inherit}.sidebar{width:224px;background:var(--navy);color:white;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;padding:24px 16px;z-index:30}.sidebar .logo{font-size:16px;line-height:1.25}.portal{color:#9baec8;font-size:12px;margin:10px 0 25px 50px}.sidebar nav{display:grid;gap:5px}.nav-item{background:transparent;border:0;color:#c1cee0;text-align:left;padding:12px 14px;display:flex;gap:12px;font-weight:500}.nav-item.active{background:var(--blue);color:white;box-shadow:0 5px 14px #0065ff33}.nav-item span{font-size:18px;width:23px}.sidebar-bottom{margin-top:auto;padding-top:24px}.sidebar-bottom a,.sidebar-bottom>button{display:block;background:transparent;color:#afbed2;font-size:12px;border:0;margin-top:16px}.help-card{background:#ffffff09;border:1px solid #ffffff15;border-radius:10px;padding:16px}.help-card b{color:#e5efff}.help-card p{font-size:12px;margin:8px 0 0;color:#9aabc2}.main{margin-left:224px}.topbar{background:white;border-bottom:1px solid var(--border);height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 30px;gap:16px}.topbar strong{font-size:17px}.topbar small{display:block;font-size:11px;margin-top:3px}.topbar-right{display:flex;align-items:center;gap:20px;font-size:12px;color:var(--muted)}.live-dot{color:var(--green)}.live-dot:before{content:'';display:inline-block;background:var(--green);width:6px;height:6px;border-radius:50%;margin-right:5px}.avatar{width:37px;height:37px;padding:0;border-radius:50%;background:#e5efff;color:var(--blue);border:2px solid white;box-shadow:0 0 0 1px var(--border)}.icon-button{font-size:22px;padding:3px 10px}.content{max-width:1550px;margin:auto;padding:28px 30px}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px;gap:15px}.page-heading h1{margin-bottom:5px}.page-heading p{margin-bottom:0}.heading-actions{display:flex;align-items:center;gap:9px}.heading-actions input{max-width:165px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat{background:white;border:1px solid var(--border);border-radius:12px;padding:19px;display:flex;gap:14px;align-items:center}.stat-icon{width:43px;height:43px;display:grid;place-items:center;background:#edf4ff;color:var(--blue);border-radius:11px;font-size:20px}.stat:nth-child(2) .stat-icon{color:#029d65;background:#e9faf1}.stat:nth-child(3) .stat-icon{color:#8a5ad8;background:#f3eeff}.stat:nth-child(4) .stat-icon{color:#d9971d;background:#fff6e3}.stat small{font-size:12px}.stat strong{display:block;font-size:22px;margin:3px 0}.stat em{font-size:11px;font-style:normal;color:var(--green)}.panel{background:white;border:1px solid var(--border);border-radius:12px;padding:20px;min-width:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.panel-heading h3{margin:0}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px}.dashboard-main{display:grid;gap:20px}.side-panels{display:grid;gap:20px;align-content:start}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.quick-actions button{font-size:11px;text-align:left;padding:12px 8px}.quick-actions b{color:var(--blue);font-size:17px;margin-right:6px}.low-item{display:flex;align-items:center;gap:10px;margin-top:14px}.low-item img{width:47px;height:40px;object-fit:cover;border-radius:7px}.low-item b{font-size:12px}.low-item small{display:block;color:#dc594b;font-size:11px}.chart{display:flex;gap:8px;align-items:end;height:190px;padding-top:22px;border-bottom:1px solid var(--border);background:repeating-linear-gradient(to top,transparent 0,transparent 39px,#f0f3f8 40px)}.chart-slot{height:100%;flex:1;display:flex;align-items:center;justify-content:end;flex-direction:column;min-width:0;position:relative}.bar{width:70%;max-width:34px;background:linear-gradient(#529aff,#0065ff);border-radius:4px 4px 0 0;min-height:2px}.chart-slot small{font-size:10px;position:absolute;bottom:-23px}.chart-note{font-size:12px;margin-top:36px;color:var(--muted)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;white-space:nowrap;font-size:12px}th{text-align:left;background:#f5f8fc;color:var(--muted);font-size:11px;font-weight:600}td,th{padding:13px 12px;border-bottom:1px solid #eef2f7}td button{font-size:11px;padding:5px 10px}td strong{font-size:12px}.badge{font-size:10px;font-weight:700;border-radius:20px;padding:4px 10px;display:inline-block;background:#edf1f6;color:#64768c}.badge.New{background:#dfebff;color:#0065ff}.badge.Preparing{background:#fff0c8;color:#ac7304}.badge.Ready{background:#d7f7e9;color:#009364}.badge.Completed,.badge.Paid{background:#def4ea;color:#188b64}.badge.Cancelled,.badge.Expired{background:#ffeaec;color:#ce4554}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:18px;gap:10px;font-size:12px;color:var(--muted)}.pagination button{padding:6px 10px}.filters{display:flex;gap:10px;margin-bottom:18px}.filters input{flex:1;min-width:0}.filters select{width:160px}.welcome-banner{background:linear-gradient(115deg,#102944,#1a416f);color:white;border-radius:14px;padding:27px 30px;display:flex;justify-content:space-between;gap:20px;margin-bottom:22px;overflow:hidden}.welcome-banner p{color:#a8c3e6;max-width:400px;margin-bottom:12px}.welcome-banner h1{font-size:30px;margin-bottom:10px}.welcome-banner em{font-style:normal;color:#6cb1ff}.welcome-banner img{width:178px;height:125px;object-fit:cover;transform:rotate(-8deg);border-radius:17px;border:5px solid #ffffff20}.eyebrow{font-size:10px;letter-spacing:1.8px;color:#72b5ff;font-weight:700;display:block;margin-bottom:10px}.student-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px}.category-tabs{display:flex;gap:8px;overflow:auto;margin:16px 0 21px}.category-tabs button{white-space:nowrap;font-size:12px;padding:9px 16px}.category-tabs button.active{background:var(--blue);color:white;border-color:var(--blue)}.meals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.meal{background:white;border-radius:12px;border:1px solid var(--border);overflow:hidden}.meal-image{height:139px;width:100%;object-fit:cover}.meal-body{padding:15px}.meal h3{font-size:14px;margin:0 0 5px}.meal p{font-size:11px;line-height:1.4;min-height:30px;margin-bottom:12px}.meal-footer{display:flex;justify-content:space-between;align-items:center}.meal-footer b{font-size:13px}.add{width:29px;height:29px;border-radius:50%;padding:0;color:white;background:var(--blue);border:0;font-size:20px}.cart-panel{align-self:start;position:sticky;top:20px}.cart-item{display:flex;gap:10px;border-bottom:1px solid var(--border);padding:14px 0}.cart-item img{width:50px;height:45px;border-radius:8px;object-fit:cover}.cart-item .cart-info{flex:1}.cart-item b{font-size:12px}.cart-item small{display:block;font-size:11px}.quantity{display:flex;align-items:center;gap:9px;margin-top:7px}.quantity button{padding:1px 7px;color:var(--blue);font-size:13px}.cart-total{display:flex;justify-content:space-between;margin:10px 0;font-size:13px}.cart-total.grand{border-top:1px solid var(--border);padding-top:14px;font-size:17px;font-weight:700}.full{width:100%}.empty{text-align:center;padding:40px 15px;color:var(--muted)}.empty span{font-size:35px;display:block;margin-bottom:10px}.cart-panel textarea{font-size:12px;margin:14px 0}.serving-grid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:20px;margin-bottom:20px}.scan-panel{background:var(--navy);color:white}.scan-panel p{color:#9eb0cc;font-size:12px}.scan-window{margin:20px 0;border:1px solid #ffffff22;border-radius:10px;padding:26px;text-align:center;background:#ffffff07}.scan-window span{font-size:74px;display:block;color:#d5e9ff}.scan-panel .primary{width:100%}.scan-panel input{margin:8px 0}.scan-panel video{width:100%;border-radius:8px}.order-summary{display:flex;gap:18px;align-items:center;background:#f7faff;border:1px solid var(--border);border-radius:10px;padding:17px;margin-bottom:16px}.order-summary img{width:75px;height:65px;object-fit:cover;border-radius:10px;margin-left:auto}.order-summary h2{margin:0;font-size:25px}.order-summary p{margin:4px 0;font-size:12px}.order-lines{list-style:none;margin:0;padding:0}.order-lines li{display:flex;justify-content:space-between;border-bottom:1px solid var(--border);padding:10px 0;font-size:12px}.order-actions{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}.info-box{background:#edf5ff;border:1px solid #d8e9ff;border-radius:8px;padding:13px;font-size:12px;color:#36659c;margin:14px 0}.receipt{text-align:center}.receipt .tick{margin:5px auto 18px;width:65px;height:65px;background:#d7f8e9;color:#08a564;font-size:42px;border-radius:50%}.receipt canvas{width:160px;height:160px;image-rendering:pixelated;margin:8px auto}.receipt h1{margin:5px 0}.receipt .order-lines{text-align:left}.receipt-data{display:flex;justify-content:space-between;font-size:12px;margin:9px 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.check{display:flex;gap:9px;align-items:center;font-weight:400}.check input{width:auto;margin:0}.auth-body{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(130deg,#0f263f,#264e7c)}.auth-card{background:white;border-radius:18px;padding:38px;width:440px;max-width:100%;box-shadow:0 16px 60px #10294410}.auth-card h1,.auth-card h2{margin:20px 0 8px}.auth-card .primary{width:100%;margin-top:5px}.auth-switch{font-size:13px;text-align:center;margin-top:20px}.error{background:#fff0f0;border-radius:8px;padding:12px;color:#bb3344;font-size:13px;margin:12px 0}.auth-layout{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:70px;max-width:1200px;margin:auto;padding:65px}.auth-intro h1{font-size:49px;line-height:1.12;margin:22px 0}.auth-intro h1 em{color:var(--blue);font-style:normal}.auth-intro .logo{margin-bottom:65px}.auth-intro p{font-size:16px;max-width:430px}.intro-food{display:flex;gap:15px;margin:28px 0}.intro-food img{width:100px;height:90px;object-fit:cover;border-radius:16px;box-shadow:0 7px 16px #21375416}.intro-food img:nth-child(2){transform:rotate(7deg)}.intro-features{display:flex;flex-wrap:wrap;gap:15px;font-size:11px;color:#57728f}dialog{border:0;border-radius:15px;padding:25px;max-width:560px;width:calc(100% - 28px);max-height:90vh;box-shadow:0 25px 100px #10243d40;color:var(--text)}dialog::backdrop{background:#0b203a80;backdrop-filter:blur(3px)}.modal-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.modal-heading h2{margin:0}.modal-heading button{border:0}.modal-error{margin:10px 0}.kitchen-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.kitchen-cards .panel{padding:18px}.progress-steps{display:flex;justify-content:space-between;margin:22px 0;font-size:11px;color:var(--muted)}.progress-steps span{flex:1;text-align:center;border-top:3px solid #e4ebf4;padding-top:9px}.progress-steps span.done{border-color:var(--blue);color:var(--blue)}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#10243d;color:white;max-width:90%;padding:13px 24px;border-radius:10px;box-shadow:0 5px 25px #0003;z-index:100;font-size:13px}#mobile-menu{display:none}[hidden]{display:none!important}.guide{max-width:850px;margin:30px auto;background:white;border-radius:14px;padding:35px}.guide h2{margin-top:30px}.guide code{background:#edf3fc;padding:2px 5px}.guide li{margin-bottom:8px}@media(min-width:1450px){.meals{grid-template-columns:repeat(4,1fr)}}@media(max-width:1150px){.sidebar{width:205px}.main{margin-left:205px}.content{padding:24px 20px}.stats{gap:10px}.stat{padding:13px;gap:10px}.stat strong{font-size:18px}.dashboard-grid{grid-template-columns:1fr 230px}.meals{grid-template-columns:repeat(2,1fr)}.student-grid{grid-template-columns:minmax(0,1fr) 280px}.kitchen-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.dashboard-grid{grid-template-columns:1fr}.side-panels{grid-template-columns:1fr 1fr}.stats{grid-template-columns:repeat(2,1fr)}.student-grid{grid-template-columns:1fr}.cart-panel{position:static}.serving-grid{grid-template-columns:1fr 1.3fr}.auth-layout{gap:30px;padding:35px}.auth-intro h1{font-size:38px}.welcome-banner img{width:120px;height:115px}}@media(max-width:680px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:224px;box-shadow:10px 0 30px #10243d30}.sidebar.open{transform:translateX(0)}.main{margin-left:0}#mobile-menu{display:block}.topbar{height:73px;padding:0 15px;gap:10px}.topbar>div:first-of-type{flex:1}.topbar-right{gap:10px}.topbar-right #today{display:none}.topbar strong{font-size:15px}.content{padding:20px 14px}.page-heading{align-items:start;flex-direction:column}.page-heading h1{font-size:24px}.stats{gap:9px}.stat{padding:13px 10px;gap:8px}.stat strong{font-size:17px}.stat-icon{width:33px;height:33px;font-size:17px}.stat small{font-size:10px}.stat em{font-size:10px}.side-panels{grid-template-columns:1fr}.welcome-banner{padding:22px 20px}.welcome-banner h1{font-size:25px}.welcome-banner img{display:none}.meals{gap:11px}.meal-image{height:125px}.meal-body{padding:12px}.meal h3{font-size:13px}.meal-footer b{font-size:12px}.serving-grid,.kitchen-cards{grid-template-columns:1fr}.panel{padding:17px}.filters{flex-wrap:wrap}.filters select{width:130px}.auth-layout{display:block;padding:25px 18px}.auth-intro .logo{margin-bottom:24px}.auth-intro h1{font-size:32px}.auth-intro p{font-size:14px}.intro-food,.intro-features{display:none}.auth-card{margin:25px auto 0;padding:26px}.form-grid{grid-template-columns:1fr}.guide{margin:15px;padding:25px}.order-summary{padding:12px}.order-summary img{width:55px}.chart{gap:3px}.chart-slot small{font-size:9px}}@media print{body{background:white}.sidebar,.main,.auth-layout,.modal-heading,#toast{display:none!important}dialog{display:block;position:static;max-height:none;width:100%;max-width:100%;box-shadow:none}.receipt button{display:none}.receipt canvas{display:block}}

/* Keep account actions reachable with long menus and small screens. */
.sidebar{overflow-y:auto}.sidebar>*{flex-shrink:0}.logout-button{white-space:nowrap;font-size:12px;padding:8px 12px}
@media(max-width:680px){.topbar-right .live-dot{display:none}.topbar>div:first-of-type{min-width:0}}
