:root{--ink:#111a22;--muted:#647281;--line:#e1e6eb;--surface:#fff;--canvas:#f5f7f8;--night:#091117;--night-2:#13212a;--red:#f51f36;--red-dark:#d90f25;--green:#18a84b;--amber:#f29913;--blue:#1687da;font-family:Inter,"Segoe UI",Roboto,system-ui,sans-serif;color:var(--ink);background:var(--canvas);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--canvas)}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100dvh;padding-bottom:72px}.topbar{height:72px;padding:env(safe-area-inset-top) 18px 0;background:#fff;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.topbar.dark{background:var(--night);border-color:#25313a;color:#fff}.topbar>h1{font-size:19px;margin:0;flex:1}.topbar .brand-lockup{flex:1}.brand-lockup{display:flex;align-items:center;gap:10px}.brand-lockup b{display:block;color:var(--red);letter-spacing:1.2px;font-size:15px}.brand-lockup small{display:block;font-size:11px;color:inherit;opacity:.8}.brand-mark{display:grid;place-items:center;width:39px;height:39px;border-radius:50%;border:2px solid var(--red);color:var(--red);font-weight:900;font-size:20px}.icon-btn{border:0;background:transparent;color:inherit;font-size:30px;line-height:1;padding:4px}.screen{max-width:1120px;margin:auto}.home-screen{max-width:none;background:var(--night);min-height:calc(100dvh - 72px)}.home-hero{padding:16px 16px 24px;background:radial-gradient(circle at 90% 8%,#253943 0,#0b141a 58%);color:#fff}.printer-card{display:flex;align-items:center;gap:12px;border-radius:13px;padding:12px 14px;background:#17242c;border:1px solid #33424c;color:#fff}.printer-card>div{flex:1}.printer-card b,.printer-card small{display:block}.printer-card b{font-size:13px}.printer-card small{font-size:11px;color:#bac5cb;margin-top:2px}.status-orb{width:12px;height:12px;background:#18c757;border-radius:50%;box-shadow:0 0 0 7px #18c75718}.online-dot{display:inline-block;width:7px;height:7px;background:#18c757;border-radius:50%}.chevron{font-size:24px;color:#83929c}.greeting h2{margin:17px 0 2px;font-size:20px}.greeting p{margin:0 0 15px;color:#bcc7ce;font-size:13px}.search{height:46px;background:#fff;border-radius:23px;display:flex;align-items:center;padding:0 14px;gap:9px;color:#60707c;box-shadow:0 6px 20px #0002}.search.light{margin:14px 14px 8px;background:#edf1f4;box-shadow:none}.search span{font-size:23px}.search input{border:0;outline:0;background:transparent;min-width:0;flex:1;color:var(--ink);font-size:13px}.category-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:17px}.category-card{height:112px;border:1px solid #314049;border-radius:12px;overflow:hidden;color:#fff;position:relative;text-align:left;padding:12px;background:#17242c}.category-card:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent,#0008);pointer-events:none}.category-card span{position:absolute;right:7px;top:8px;font-size:54px;filter:drop-shadow(0 6px 8px #0007)}.category-card b,.category-card small{position:relative;z-index:1;display:block;max-width:90px}.category-card b{font-size:14px;margin-top:45px}.category-card small{font-size:10px;color:#d7dfe4;margin-top:2px}.category-card.green{background:#1b3c2b}.category-card.amber{background:#47311f}.category-card.orange{background:#40281c}.category-card.red{background:#412229}.category-card.sand{background:#3c382a}.category-card.blue{background:#193646}.content-section{padding:5px 16px 22px;background:var(--night);color:#fff}.section-heading{display:flex;align-items:center;justify-content:space-between;padding:4px 0}.section-heading h2{font-size:17px;margin:15px 0 9px}.section-heading button{border:0;background:transparent;color:var(--red);font-size:12px;font-weight:700}.recent-list{border-top:1px solid #25323a}.list-row{width:100%;display:flex;align-items:center;gap:11px;text-align:left;padding:12px 3px;border:0;border-bottom:1px solid var(--line);background:#fff;color:var(--ink)}.home-screen .list-row{background:transparent;color:#fff;border-color:#25323a}.food-thumb{display:grid;place-items:center;width:39px;height:39px;border-radius:10px;background:#f1f3f5;font-size:24px;flex:0 0 auto}.food-thumb.large{width:52px;height:52px;font-size:31px}.row-copy{flex:1;min-width:0}.row-copy b,.row-copy small,.row-meta b,.row-meta small{display:block}.row-copy b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-copy small,.row-meta small{font-size:10px;color:#7b8992;margin-top:3px}.home-screen .row-copy small{color:#98a7b1}.row-meta{text-align:right}.row-meta b{font-size:11px;color:var(--red)}.item-list,.history-table,.expiry-list{padding:0 14px}.item-row{padding:10px 0}.favorite{font-size:24px;color:#80909b}.muted{color:var(--muted)}.bottom-nav{position:fixed;bottom:0;inset-inline:0;height:70px;padding-bottom:env(safe-area-inset-bottom);background:#fff;border-top:1px solid #dce2e7;display:flex;z-index:20}.bottom-nav button{border:0;background:transparent;flex:1;color:#657581;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.bottom-nav button i{font-style:normal;font-size:22px}.bottom-nav button span{font-size:10px}.bottom-nav button.active{color:var(--red);font-weight:700}.food-visual{height:180px;margin:14px;border-radius:16px;background:linear-gradient(135deg,#f4ece0,#d7c4a6);display:grid;place-items:center;overflow:hidden}.food-visual span{font-size:100px;filter:drop-shadow(0 12px 10px #0002)}.detail-body{padding:0 16px 26px}.item-title{margin:2px 0;font-size:25px}.detail-body>.muted{margin:0 0 13px}.date-card{background:#eef3f7;border-radius:12px;padding:13px;display:flex;align-items:center;margin:10px 0}.date-card>div{display:grid;grid-template-columns:1fr;gap:4px}.date-card small{font-weight:800;font-size:11px}.date-card b{font-size:13px}.expiry-card{justify-content:space-between}.day-pill{padding:7px 10px;border-radius:18px;background:#ccefd8;color:#11743a;font-size:12px;font-weight:800}.field{display:block;margin:14px 0}.field>span,fieldset legend{display:block;font-size:12px;font-weight:750;margin-bottom:6px}.field input,.field select{width:100%;height:45px;border:1px solid #ccd5dc;border-radius:9px;background:#fff;padding:0 11px}.stepper{display:grid;grid-template-columns:52px 1fr 52px;gap:8px}.stepper button,.stepper output{height:44px;border:1px solid #d7dfe4;background:#f1f4f6;border-radius:9px;display:grid;place-items:center;font-size:20px}.stepper output{background:#fff;font-size:16px}.btn{height:49px;border-radius:10px;border:0;font-weight:800}.btn-block{width:100%;display:block;margin-top:9px}.btn-primary{background:linear-gradient(#ff263c,#f20f29);color:#fff;box-shadow:0 7px 16px #f51f3625}.btn-primary:disabled{opacity:.55}.btn-soft{background:#edf1f4;color:#25333c}.btn-outline{background:#fff;border:1.5px solid var(--red);color:var(--red)}.print-btn{margin-top:18px}.success{max-width:440px;margin:auto;text-align:center;padding:34px 18px}.success-check{display:grid;place-items:center;width:70px;height:70px;border-radius:50%;background:var(--green);color:#fff;font-size:43px;margin:0 auto 18px}.success h2{font-size:25px;margin:0}.success>p{color:#566672;font-size:13px}.success-copy{line-height:1.6}.label-paper{width:100%;max-width:330px;margin:25px auto;padding:16px;background:#fffdf9;color:#111;text-align:left;border-radius:7px;box-shadow:0 6px 14px #0002;font-family:"Arial Narrow",Arial,sans-serif}.label-paper>b{display:block;text-align:center;font-size:21px}.label-paper hr{border:0;border-top:1.5px solid #111;margin:5px 0}.label-paper>div{display:grid;grid-template-columns:1fr 1.4fr;padding:7px 0;font-size:12px}.label-paper>div span{text-align:center;font-weight:700}.label-paper footer{display:flex;justify-content:space-between;font-size:12px}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px}.metric{min-height:88px;border-radius:12px;padding:13px;display:flex;flex-direction:column}.metric b{font-size:27px}.metric span{font-size:12px;margin-top:2px}.metric.danger{background:#ffe3e6;color:#e51e34}.metric.warning{background:#fff0ce;color:#dd7800}.metric.info{background:#deefff;color:#1681ca}.metric.safe{background:#dff5e7;color:#15913d}.expiry-list{padding-bottom:20px}.expiry-row{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:13px 5px 13px 14px;position:relative}.expiry-row:before{content:"";position:absolute;left:0;top:15px;bottom:15px;width:4px;border-radius:4px;background:var(--amber)}.expiry-row.urgent:before{background:var(--red)}.expiry-row b,.expiry-row small{display:block}.expiry-row b{font-size:13px}.expiry-row small{font-size:11px;color:var(--muted);margin-top:2px}.expiry-row>span{align-self:center;border-radius:16px;background:#ffedcf;color:#cf6d00;padding:7px 10px;font-size:11px;font-weight:800}.expiry-row.urgent>span{background:#ffe0e4;color:#db172e}.history-date{padding:12px 14px 7px;font-size:12px;font-weight:800}.history-row{width:100%;display:grid;grid-template-columns:58px 1fr 100px;gap:6px;text-align:left;background:#fff;border:0;border-bottom:1px solid var(--line);padding:12px 0}.history-row>span:last-child{text-align:right}.history-row b,.history-row small{display:block}.history-row b{font-size:12px}.history-row small{font-size:10px;color:var(--muted);margin-top:3px}.settings-card{margin:14px;background:#fff;border-radius:13px;border:1px solid var(--line);overflow:hidden}.settings-card h3{font-size:14px;margin:15px}.settings-card .printer-card{border:0;border-radius:0;background:#fff;color:var(--ink);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.settings-card .printer-card small{color:var(--muted)}.settings-card>.btn{width:calc(100% - 24px);margin:12px}.settings-row{width:100%;display:grid;grid-template-columns:28px 1fr auto;align-items:center;text-align:left;padding:13px;border:0;border-bottom:1px solid var(--line);background:#fff}.settings-row b{font-size:13px}.settings-row i{font-style:normal;color:#7b8992;font-size:12px}.signout{width:calc(100% - 28px);margin:20px 14px}.segmented{margin:14px;display:flex;background:#edf1f4;border-radius:10px;padding:3px}.segmented button{flex:1;border:0;border-radius:8px;padding:9px;background:transparent;font-size:11px}.segmented .active{background:var(--red);color:#fff}.admin-form{padding:14px}.photo-placeholder{height:110px;border:1.5px dashed #cbd4db;border-radius:11px;display:grid;place-items:center;align-content:center;color:#687782}.photo-placeholder span{font-size:26px}.photo-placeholder small{font-size:11px}fieldset{border:0;padding:0;margin:14px 0}.choice-row{display:flex;gap:6px}.choice-row label{flex:1;background:#eef2f4;border-radius:8px;padding:10px 5px;font-size:10px;text-align:center}.choice-row input{display:none}.field-pair{display:grid;grid-template-columns:1fr 1.3fr;gap:9px}.empty{display:grid;place-items:center;text-align:center;padding:26px;color:#7a8993}.empty span{font-size:34px}.empty b,.empty small{display:block}.empty small{font-size:11px;margin-top:4px}.empty.tall{min-height:220px}.toast{position:fixed;left:50%;bottom:84px;transform:translate(-50%,20px);opacity:0;pointer-events:none;z-index:50;width:min(420px,calc(100% - 28px));background:#18252d;color:#fff;border-radius:10px;padding:13px 15px;font-size:12px;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}.toast.error{background:#a91729}.toast.success{background:#146d37}.login-dialog{border:0;border-radius:18px;padding:0;width:min(420px,calc(100% - 28px));box-shadow:0 22px 65px #0008}.login-dialog::backdrop{background:#071015e8}.login-dialog form{padding:25px}.login-dialog .brand-lockup{margin-bottom:25px}.login-dialog h1{font-size:25px;margin:0}.login-dialog p{font-size:13px;color:var(--muted)}.login-dialog label{display:block;font-size:12px;font-weight:750;margin:20px 0}.login-dialog input{display:block;width:100%;height:50px;margin-top:7px;border:1px solid #cad3da;border-radius:10px;padding:0 14px;font-size:22px;letter-spacing:7px}.form-error{color:var(--red)!important}.login-dialog[open]{animation:pop .2s ease-out}@keyframes pop{from{transform:scale(.96);opacity:0}}
@media(min-width:760px){.app-shell{padding-bottom:0}.bottom-nav{top:0;bottom:0;right:auto;width:82px;height:auto;flex-direction:column;border-top:0;border-right:1px solid var(--line);padding:90px 8px 20px}.bottom-nav button{flex:0;height:74px;border-radius:12px}.bottom-nav button.active{background:#fff0f2}.topbar{padding-left:105px;padding-right:28px}.screen{padding-left:82px}.home-hero{padding:28px max(30px,calc((100vw - 1050px)/2));}.home-screen .content-section{padding:8px max(30px,calc((100vw - 1050px)/2)) 30px}.category-grid{grid-template-columns:repeat(3,1fr)}.category-card{height:140px}.category-card span{font-size:70px}.category-card b{margin-top:70px}.item-list,.history-table,.expiry-list,.detail-body{max-width:760px;margin:auto}.food-visual{max-width:730px;height:230px;margin:22px auto}.metric-grid{max-width:760px;margin:auto;grid-template-columns:repeat(4,1fr)}.screen>.section-heading{max-width:730px;margin:auto}.settings-card,.segmented,.admin-form{max-width:680px;margin-left:auto;margin-right:auto}.success{padding-top:55px}}

/* UI polish matching the Prepared Food layout reference */
body{background:#e9efef;}
.app-shell{background:#e9efef;}
.screen{max-width:1280px;padding:0 20px 40px;}
.topbar{height:84px;padding:20px 18px 0 18px;background:#f0f3f3;border-bottom:1px solid #d7dde0;gap:14px;position:sticky;top:0;z-index:10;}
.topbar>h1{font-size:30px;line-height:1.2;font-weight:700;letter-spacing:-.04em;color:#1d2a2f;flex:1;}
.topbar .icon-btn{width:46px;height:46px;border-radius:12px;background:#f5f7f7;border:1px solid #dfe4e6;color:#2d3a40;font-size:34px;line-height:1;display:grid;place-items:center;box-shadow:0 1px 0 rgba(17,26,34,.04);}
.topbar .brand-lockup{display:none;}
.topbar .icon-btn[data-action="notifications"]{display:none;}
.search.light{margin:18px 0 18px;background:#edf0f1;border:1px solid #dfe5e8;border-radius:16px;min-height:62px;padding:0 18px;box-shadow:none;}
.search.light span{font-size:20px;color:#8a98a1;}
.search.light input{font-size:16px;color:#495a63;background:transparent;border:0;outline:none;}
.search.light input::placeholder{color:#7f8e98;}
.item-list{display:flex;flex-direction:column;gap:14px;padding:0;}
.list-row,.item-row{width:100%;background:#f4f6f5;border:1px solid #e2e7e8;border-radius:18px;padding:16px 18px;display:flex;align-items:center;gap:16px;box-shadow:none;}
.list-row:hover,.item-row:hover{background:#f8faf9;}
.food-thumb{width:62px;height:62px;border-radius:14px;flex-shrink:0;display:block;background-size:cover;background-position:center;border:1px solid rgba(12,16,20,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);}
.row-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;}
.row-copy b{font-size:19px;line-height:1.25;font-weight:700;color:#1d2a2f;letter-spacing:-.02em;}
.row-copy small{font-size:14px;line-height:1.4;color:#73808a;}
.favorite{font-size:30px;color:#b4bcc3;opacity:.9;line-height:1;display:flex;align-items:center;justify-content:center;min-width:24px;}
.item-row .favorite{font-size:30px;}
.item-row .row-copy b{font-size:21px;}
@media (min-width: 768px){
  .screen{padding:0 26px 48px;}
  .topbar{padding-left:22px;padding-right:22px;}
  .search.light{margin-top:20px;}
  .item-list{padding:0 0 10px;}
}
@media (max-width: 480px){
  .topbar>h1{font-size:24px;}
  .search.light{min-height:56px;}
  .list-row,.item-row{padding:14px 14px;gap:12px;}
  .food-thumb{width:52px;height:52px;border-radius:12px;}
  .row-copy b{font-size:17px;}
  .row-copy small{font-size:13px;}
  .favorite{font-size:24px;}
}
