*{box-sizing:border-box}body{margin:0;background:#f5f8f7;color:#173d36;font:14px system-ui,sans-serif}aside{position:fixed;width:228px;inset:0 auto 0 0;background:#103e39;color:#b6d0c5;padding:30px 22px}.brand{color:white;font-size:25px;font-weight:750;letter-spacing:-1px}.brand small{display:block;font-size:9px;letter-spacing:2px;margin-top:12px;color:#a6c8b8}nav{margin-top:50px}button,a.button{font:inherit;cursor:pointer;border:0;background:#176b50;color:white;border-radius:7px;padding:11px 16px;display:inline-block;text-decoration:none}nav button{display:block;text-align:left;width:100%;background:transparent;color:#b6d0c5;margin:8px 0}nav button.active{background:#2c5a4d;color:white}aside p{position:absolute;bottom:25px;font-size:12px;color:#9cbbac;line-height:1.8}main{margin-left:228px}header{background:white;padding:24px 34px;border-bottom:1px solid #e1e9e5;font-size:12px;color:#72897d}header span{float:right;color:#25835d}.notice{margin:24px 34px 0;border:1px solid #eddfb8;background:#fff6e3;color:#8a6f32;border-radius:7px;padding:12px;font-size:11px}section{padding:30px 34px}.heading,.row{display:flex;justify-content:space-between;align-items:center;gap:14px}.heading{margin-bottom:25px}h1{font-size:30px;letter-spacing:-1px;margin:6px 0 10px}h2{font-size:20px;margin:0 0 12px}h3{margin:0 0 8px}p{color:#74877e;line-height:1.7}.eyebrow{font-size:10px;letter-spacing:2px;color:#759080;font-weight:700}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:24px 0}.stat,.card{border:1px solid #dfe8e2;background:white;border-radius:11px;padding:22px}.stat strong{display:block;font-size:30px;margin:12px 0 4px}.stat span,.meta,.muted{font-size:12px;color:#7e9186}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.destination{height:90px;padding:18px;background:linear-gradient(120deg,#e9efdf,#dcebe2);border-radius:7px;margin-bottom:22px;display:flex;align-items:end;justify-content:space-between;color:#638370}.destination b{font-size:26px;font-weight:400}.badge{font-size:11px;border-radius:20px;padding:5px 9px;background:#e4f3e9;color:#3b7956}.progress{height:5px;background:#eaf0eb;margin:15px 0}.progress i{display:block;height:5px;background:#428967}.toolbar{display:flex;gap:10px;margin:20px 0;flex-wrap:wrap}input,select,textarea{font:inherit;padding:12px;border:1px solid #d7e2da;border-radius:7px;background:white;color:#244b3b}input[type=search]{flex:1;min-width:200px}.secondary{background:white;border:1px solid #d6e1d9;color:#355b49}.danger{background:#fbe9e5;color:#a34e36}.tiny{padding:7px 10px;font-size:11px}button:disabled{opacity:.4}table{width:100%;border-collapse:collapse;background:white}td,th{padding:16px;border-bottom:1px solid #e6ede8;text-align:left}th{font-size:10px;color:#7b8d81;background:#fafcfb;letter-spacing:1px}td small{display:block;color:#7c9082;font-size:11px;margin-top:5px}.seat{background:#edf3ed;border-radius:6px;padding:8px;font-weight:700}.tablewrap{overflow:auto;border:1px solid #dfe8e2;border-radius:10px}.mobilecards{display:none}.alert{font-size:12px;color:#aa782d}.help{padding:16px;background:#edf4ee;border-radius:7px;line-height:1.8;margin:16px 0;font-size:12px}.form{display:grid;gap:15px;margin:20px 0}.form label{display:grid;gap:6px;font-size:12px}dialog{border:0;border-radius:12px;max-width:520px;width:94%;padding:28px;color:#173d36}dialog::backdrop{background:#123b3377}#toast{display:none;position:fixed;bottom:25px;right:25px;background:#143f31;color:white;padding:14px 22px;border-radius:9px}.empty{padding:40px;text-align:center}.rating{color:#ad842d;font-size:25px}@media(max-width:800px){aside{position:static;width:auto;padding:18px}.brand{font-size:21px}.brand small,aside p{display:none}nav{display:flex;margin-top:10px;overflow:auto}nav button{white-space:nowrap;font-size:11px;padding:9px}main{margin:0}header{padding:15px 18px}.notice{margin:15px 18px 0}section{padding:22px 18px}.stats{grid-template-columns:repeat(2,1fr);gap:10px}.stat,.card{padding:17px}.cards{grid-template-columns:1fr}.tablewrap{display:none}.mobilecards{display:grid;gap:12px}.row{flex-wrap:wrap}.heading{align-items:start}h1{font-size:25px}}

[hidden]{display:none!important}.login-card{max-width:540px;margin:24px auto}.card li{line-height:1.8;margin:8px 0}button:focus-visible,a:focus-visible{outline:3px solid #c6933a;outline-offset:3px}

.protein-panel{padding:22px;margin:20px 0}.protein-panel .heading{margin-bottom:12px;align-items:start}.protein-panel h2{margin:6px 0}.protein-panel p{margin:8px 0}.meal-totals{display:flex;gap:12px;flex-wrap:wrap;margin:15px 0}.meal-totals span{background:#f1f6f2;padding:10px;border-radius:6px}.protein-scroll{overflow:auto}.protein-scroll table{min-width:540px}.meal-order{border-left:3px solid #d1a758;padding:12px 16px;background:#fffbf0;margin:12px 0}.meal-add{color:#176b50}.meal-remove{color:#9d4d36}details summary{cursor:pointer;font-weight:650;padding:12px 0}@media(max-width:800px){.protein-panel .heading{flex-direction:column}.protein-panel{padding:16px}.protein-scroll td,.protein-scroll th{padding:12px 9px}}

#scan-video{display:block;width:100%;max-height:260px;object-fit:contain;background:#102e28;border-radius:9px;margin:14px 0}.scan-result{padding:16px;margin:14px 0;border-radius:8px}.scan-result.warning{background:#fff3d9;color:#795b25}.scan-result.success{background:#e0f3e6;color:#195637}.scan-result.danger{background:#fbe7e3;color:#913d2d}.scan-result p{color:inherit}.scan-result .button,.scan-result button{margin-top:10px}
[hidden]{display:none!important}.manual-check{display:flex;align-items:end;gap:12px;margin:20px 0}.manual-check label{flex:1;display:grid;gap:8px}.login-card{max-width:540px;margin:30px auto}nav a.button{display:block;margin:12px 0}label{line-height:1.5}dialog h3{margin-top:20px}.protein-scroll{overflow:auto}.protein-scroll table{min-width:540px}.protein-panel{margin:20px 0}.protein-panel .heading{align-items:start}.form input,.form textarea,.form select{width:100%}.form button{width:100%}button:disabled{opacity:.5;cursor:wait}@media(max-width:800px){.manual-check{display:grid}.heading{flex-wrap:wrap}aside p{position:static}nav a.button{white-space:nowrap;padding:9px;font-size:11px}.toolbar{gap:8px}.protein-scroll td{padding:12px 9px}} 
