:root{font-family:Inter,Arial,sans-serif;color:#163b46;background:#f3f7f7;font-synthesis:none;--paper:#fff;--ink:#163b46;--muted:#60777e;--border:#d9e5e7;--wash:#edf5f5;--teal:#007f96;--purple:#74408a;--green:#627d17}*{box-sizing:border-box}body{margin:0;background:inherit;color:var(--ink)}body[data-theme=night]{--paper:#17323c;--ink:#eef6f8;--muted:#b6cbd1;--border:#38525d;--wash:#223f49;--teal:#057d94;background:#0f232c}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:12px;padding:13px 20px;background:var(--teal);color:white;min-height:46px;cursor:pointer;font-weight:750;text-align:center;gap:8px}button:hover,.button:hover{filter:brightness(.94)}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #ecab35;outline-offset:3px}.secondary{color:var(--ink);background:var(--wash);border:1px solid var(--border)}.small{min-height:36px;padding:8px 12px;font-size:14px}.large{min-height:56px;width:100%;font-size:18px}.primary{background:#287843}.top{display:flex;align-items:center;gap:28px;padding:18px 36px;background:var(--paper);border-bottom:1px solid var(--border)}.brand{display:flex;gap:20px;align-items:center}.brand img{width:265px;height:auto;background:white;border-radius:5px;padding:4px}.brand span{font-size:19px;font-weight:750;border-left:1px solid var(--border);padding-left:20px;white-space:nowrap}.top nav{display:flex;gap:22px;margin-left:auto;font-weight:650}.demo{font-size:12px;letter-spacing:.04em;padding:8px 12px;background:var(--wash);border-radius:20px;white-space:nowrap}.landing{max-width:1420px;margin:auto;padding:35px 36px}.hero{display:flex;justify-content:space-between;align-items:center;padding:35px 55px 48px;background:linear-gradient(120deg,#d9eef0,#e8f0da);border-radius:25px;color:#163b46;margin-bottom:28px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}h1{font-size:42px;line-height:1.12;margin:15px 0 18px;letter-spacing:-.035em}h2{font-size:23px;line-height:1.22;margin:10px 0}p{line-height:1.6;color:var(--muted)}.hero h1{font-size:60px}.hero p{max-width:480px;font-size:18px;color:#45656b}.hero .eyebrow{font-size:12px}.hero-art{display:grid;grid-template-columns:1fr 1fr;gap:16px;transform:rotate(-6deg);padding:30px}.hero-art span{font-size:72px;background:#ffffffa8;border-radius:50%;padding:25px;box-shadow:0 16px 30px #163b460b}.hero-art span:first-child{grid-row:span 2;align-self:center}.entry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.entry{background:var(--paper);border:1px solid var(--border);border-radius:20px;padding:28px;border-top:5px solid var(--teal);transition:transform .15s}.entry:hover{transform:translateY(-3px)}.entry.purple{border-top-color:var(--purple)}.entry.green{border-top-color:var(--green)}.entry-icon{display:inline-flex;font-size:37px;width:62px;height:62px;align-items:center;justify-content:center;background:var(--wash);border-radius:18px;color:var(--teal)}.entry strong{color:var(--teal)}.panel{background:var(--paper);border:1px solid var(--border);padding:26px;border-radius:20px}.landing>.panel{margin-top:26px}.links{display:flex;gap:14px;flex-wrap:wrap}.utility{display:flex;gap:20px;padding:12px 36px;align-items:center;background:var(--paper);border-bottom:1px solid var(--border);flex-wrap:wrap;font-size:14px}.utility form{margin:0}.utility form:first-of-type{margin-left:auto}.welcome{max-width:620px;margin:60px auto;padding:42px}.welcome h1{font-size:39px}.welcome .large{margin-top:22px}label{display:block;font-weight:650;font-size:14px;margin:15px 0}input:not([type=radio],[type=checkbox],[type=hidden]),select,textarea{display:block;width:100%;background:var(--paper);color:var(--ink);border:1px solid var(--border);border-radius:9px;padding:13px;margin-top:7px;min-height:47px}input[type=radio],input[type=checkbox]{width:22px;height:22px;accent-color:var(--teal);vertical-align:middle}.hint{font-size:12px;line-height:1.5}.alert,.success{max-width:1400px;margin:16px auto;padding:18px 24px;border-radius:12px;background:#fff1e4;color:#8a3405;border:1px solid #eac89b}.success{background:#e5f1e3;color:#29552c;border-color:#aed3b2}.ordering{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:26px;padding:28px 34px;max-width:1800px;margin:auto}.menu-heading{display:flex;align-items:center;gap:20px}.menu-heading h1{font-size:34px}.diet-badge{background:var(--wash);border:1px solid var(--border);padding:12px;border-radius:12px;max-width:280px;font-size:13px}.category-grid{display:flex;gap:9px;flex-wrap:wrap;padding:10px 0 25px}.category{padding:11px 14px;border:1px solid var(--border);border-radius:11px;background:var(--paper);font-size:14px;font-weight:700}.category.selected{background:var(--teal);color:white;border-color:var(--teal)}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.product-card{display:flex;flex-direction:column;min-height:240px;background:var(--paper);border:1px solid var(--border);border-radius:18px;padding:19px;transition:box-shadow .15s}.product-card:hover{box-shadow:0 8px 24px #22434a1a}.food-symbol{font-size:33px;display:flex;width:58px;height:58px;align-items:center;justify-content:center;border-radius:17px;background:#e5f0ed;color:#497b5b;margin-bottom:16px}.food-symbol.breakfast{background:#fff0dc;color:#bd751f}.food-symbol.beverages{background:#e9ecf5;color:#536eaa}.food-symbol.fruit{background:#f8e9f0;color:#a6577d}.food-symbol.hot_meals,.food-symbol.soups{background:#e2f1f4;color:#0c8c9f}.card-category{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-weight:800}.product-card h2{font-size:18px;margin:7px 0;min-height:43px}.product-card p{font-size:12px;margin:0 0 15px}.card-bottom{margin-top:auto;display:flex;justify-content:space-between;align-items:center}.plus{width:28px;height:28px;border-radius:50%;color:white;background:var(--teal);font-size:23px;line-height:28px;text-align:center}.cart{position:sticky;top:18px;align-self:start;max-height:calc(100vh - 36px);overflow:auto;padding:23px}.cart-line{border-bottom:1px solid var(--border);padding:14px 0}.cart-line p{font-size:12px;margin:5px 0}.cart-line strong{font-size:15px}.receipt-row{display:flex;justify-content:space-between;align-items:center;gap:15px}.receipt-row form{margin:0}.text-button{background:transparent;color:var(--muted);padding:5px}.cart-total{display:flex;justify-content:space-between;font-size:23px;font-weight:750;margin:23px 0 12px}.empty{text-align:center;padding:30px 10px}.empty span{font-size:60px;color:#b5c8cb}.empty p{font-size:14px}.checkout fieldset{border:1px solid var(--border);border-radius:12px;padding:12px;margin:15px 0}.choice{display:flex;align-items:center;gap:8px;font-weight:500}.modal-shade{position:fixed;inset:0;z-index:50;background:#122d38a6;display:flex;align-items:center;justify-content:center;padding:25px}.customize{position:relative;width:780px;max-height:92vh;overflow:auto;padding:32px 40px;box-shadow:0 20px 70px #0004}.customize h1{font-size:31px;padding-right:35px}.close{position:absolute;right:22px;top:15px;font-size:32px;color:var(--muted)}.quantity{display:flex;align-items:center;gap:15px;justify-content:center;margin:20px 0}.quantity label{margin:0;width:100px;text-align:center}.quantity input{text-align:center;font-size:22px;padding:4px;min-height:35px;border:0!important}.quantity button{width:54px;height:50px;font-size:28px}.modifier-group{border:0;padding:12px 0 16px;margin:0}.modifier-group legend{font-size:15px;font-weight:750}.modifier-buttons{display:flex;gap:9px;flex-wrap:wrap}.modifier{margin:0;position:relative;cursor:pointer}.modifier input{position:absolute;opacity:0;width:1px}.modifier span{display:block;padding:13px 17px;border:2px solid #84b9c3;border-radius:12px;color:var(--ink);background:var(--paper);font-size:14px}.modifier input:checked+span{background:var(--teal);color:white;border-color:var(--teal)}.modifier input:focus-visible+span{outline:3px solid #ecab35}.modifier-group:nth-of-type(2) .modifier span{border-color:#b4a4c4}.modifier-group:nth-of-type(3) .modifier span{border-color:#c5b690}.nutrition{margin-top:25px;border-top:1px solid var(--border);padding-top:17px}summary{font-weight:750;cursor:pointer;min-height:36px}dl{font-size:13px}dl>div{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border);gap:16px}dd{margin:0;white-space:nowrap}.narrow{max-width:1100px;margin:35px auto;padding:0 25px}.narrow>.panel{margin:18px 0}.receipt{max-width:720px;margin:35px auto}.receipt .receipt-row{padding:14px 0;border-bottom:1px solid var(--border)}.receipt .button,.receipt>button,.receipt>form{margin-top:15px}.success-tag{color:#22613d;background:#e6f3e8;padding:8px 14px;border-radius:20px;display:inline-block;font-weight:750}.ticket{background:white;color:#173b45;border:2px dashed #8ba9b1;border-radius:12px;margin:25px 0;padding:20px;text-align:center}.ticket svg{width:100%;height:auto;max-height:150px}footer{padding:28px;text-align:center;font-size:11px;color:var(--muted)}.admin-shell{max-width:1650px;margin:25px auto;padding:0 30px}.admin-nav{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:14px 12px;border-bottom:1px solid var(--border);vertical-align:top}th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.status{display:inline-block;background:var(--wash);padding:5px 9px;border-radius:7px;font-size:12px;font-weight:700}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px}.form-grid label{margin:5px 0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:20px 0}.stat strong{display:block;font-size:30px;margin-top:10px}.kds-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:start}.kds-ticket{min-height:65vh;padding:22px;border-top:6px solid var(--teal)}.kds-ticket.patient{border-top-color:var(--purple)}.kds-ticket li{padding:9px 0;font-size:18px}.kds-ticket ul{padding-left:20px}.kds-ticket form{margin-top:20px}.kds-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px}.kds-toolbar h1{font-size:32px}.kds-ticket .diet-badge{max-width:none}.badge{padding:4px 8px;border-radius:6px;background:var(--wash);font-size:12px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:22px}@media(min-width:1750px){.product-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:1250px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.top{padding:14px 24px;gap:18px}.brand img{width:220px}.brand span{font-size:16px}.top nav{gap:14px}.demo{display:none}.ordering{grid-template-columns:minmax(0,1fr) 310px;padding:20px;gap:18px}.menu-heading{display:block}.hero h1{font-size:49px}.hero-art{padding:10px}.hero-art span{font-size:50px}}@media(max-width:900px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brand span{display:none}.entry-grid{grid-template-columns:1fr}.hero-art{display:none}.ordering{grid-template-columns:1fr}.cart{position:static;max-height:none}.welcome{margin:30px 20px}.utility{padding:12px 20px;gap:13px}.kds-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}}@media(max-width:550px){.top{padding:14px 16px}.brand img{width:180px}.top nav{gap:12px;font-size:12px}.top nav a:nth-child(2){display:none}.landing{padding:18px}.hero{padding:27px}.hero h1{font-size:42px}.ordering{padding:15px}.product-card{padding:15px;min-height:235px}.menu-heading h1{font-size:28px}.customize{padding:25px 22px}.modal-shade{padding:10px}.category{padding:11px}.form-grid{grid-template-columns:1fr}.kds-grid{grid-template-columns:1fr}.admin-shell{padding:0 15px}.receipt{margin:20px 12px}.kds-toolbar{flex-wrap:wrap}.welcome{padding:26px}}@media print{body{background:white!important;color:black!important}.top,.utility,footer,button,.button,.receipt>form{display:none!important}.receipt{border:0;margin:0;padding:0;max-width:100%}.ticket{break-inside:avoid}*{box-shadow:none!important}.receipt p{color:black}.ticket svg{max-height:90px}}
/* Patient menu reads like a dining menu, with each dish opening its existing modifier board. */
.menu-book{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}.menu-page{background:var(--paper);border:1px solid var(--border);border-radius:15px;padding:23px 25px;break-inside:avoid}.menu-page>h2{font-size:25px;color:var(--teal);border-bottom:2px solid var(--teal);padding-bottom:13px;margin:0 0 4px;letter-spacing:-.025em}.menu-dish{display:flex;gap:18px;align-items:center;padding:19px 0;border-bottom:1px solid var(--border);min-height:110px}.menu-dish:last-child{border-bottom:0;padding-bottom:5px}.menu-dish h3{font-size:20px;font-weight:750;line-height:1.3;margin:0 0 7px;letter-spacing:-.02em}.menu-dish p{font-size:14px;line-height:1.5;margin:0 0 6px}.menu-dish small{font-size:12px;color:var(--muted)}.menu-dish:hover h3{color:var(--teal)}.menu-dish:focus-visible{outline:3px solid #d3a12c;outline-offset:4px;border-radius:6px}.dish-choose{display:flex;align-items:center;gap:9px;margin-left:auto;color:var(--teal);font-size:12px;font-weight:750;white-space:nowrap}.dish-choose b{display:grid;place-items:center;width:33px;height:33px;border:1px solid var(--border);border-radius:50%;font-size:23px;background:var(--wash)}.patient-menu .menu-heading h1{font-size:36px}.patient-menu .category-grid{gap:7px}.patient-menu .category{font-size:13px;padding:10px 12px}body[data-theme=night] .menu-page>h2,body[data-theme=night] .dish-choose{color:#a9dce5}
@media(max-width:1350px){.menu-book{grid-template-columns:1fr}.menu-dish{min-height:96px}.patient-menu .ordering{gap:18px}}@media(max-width:720px){.menu-page{padding:19px}.menu-dish h3{font-size:19px}.dish-choose>span{display:none}.menu-dish{gap:10px}.patient-menu .menu-heading h1{font-size:30px}.menu-book{gap:15px}}
.mobile-order-shortcut{display:none}#my-meal{scroll-margin-top:20px}@media(max-width:850px){.mobile-order-shortcut{display:flex;position:fixed;left:14px;right:14px;bottom:14px;z-index:20;justify-content:space-between;gap:12px;padding:17px;border-radius:13px;background:#006f84;color:white;box-shadow:0 5px 22px #0f273943;font-size:14px}.ordering{padding-bottom:100px}}

.nutrition-frame{width:100%;height:460px;border:1px solid #bfd4ce;border-radius:12px;background:#fff}
