:root{--ink:#193b33;--muted:#64756e;--line:#dae3dc;--paper:#f3f6f1;--green:#d9edb8;--accent:#a24c2b}*{box-sizing:border-box}body{margin:0;font:14px/1.6 Inter,'Segoe UI',Arial,sans-serif;color:var(--ink);background:var(--paper)}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,a.button{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 18px;border:1px solid var(--ink);background:var(--ink);color:white;border-radius:7px;font-weight:600;font-size:13px;min-height:44px}button:hover,.button:hover{background:#2c5849;text-decoration:none}button.secondary,a.secondary{background:white;color:var(--ink);border-color:var(--line)}button.quiet{border-color:#ffffff40;background:none;color:#fff;width:100%;margin-top:12px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b37032;outline-offset:3px}aside{position:fixed;inset:0 auto 0 0;width:230px;background:var(--ink);color:#e8f1e3;padding:35px 24px;display:flex;flex-direction:column}.brand{display:flex;gap:13px;align-items:center;margin-bottom:50px}.brand>span{display:grid;place-items:center;width:38px;height:38px;font-size:25px;background:var(--green);color:var(--ink);font-weight:700}.brand strong{font-size:13px;letter-spacing:.07em}.brand small{display:block;font:8px/2 monospace;font-weight:400;letter-spacing:.08em;color:#c4d9c8}.accent{color:var(--accent)}nav{display:flex;flex-direction:column;gap:8px}nav a{padding:12px;border-radius:6px;font-size:13px}nav a:hover{background:#ffffff12;text-decoration:none}.aside-bottom{margin-top:auto;font:9px monospace;letter-spacing:.05em;color:#c4d9c8}main{margin-left:230px;padding:48px max(4vw,24px);max-width:1800px}header{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:35px}h1{font-size:clamp(27px,3vw,40px);line-height:1.15;letter-spacing:-.045em;margin:10px 0 15px;font-weight:650}h2{font-size:21px;line-height:1.3;letter-spacing:-.025em;margin:0 0 20px}h3{font-size:16px;margin:0 0 8px}p{margin:0 0 18px}.eyebrow{font:10px/1.8 monospace;letter-spacing:.1em;color:var(--muted);margin-bottom:8px}.muted,.small{color:var(--muted)}.small{font-size:12px;line-height:1.8}.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:28px;margin-bottom:25px;min-width:0}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.stats .card>span{font-size:12px;color:var(--muted)}.stats strong{display:block;font-size:32px;letter-spacing:-.04em;margin:10px 0}.stats strong small{font-size:14px;font-weight:400}.stats p{font-size:11px;margin:0;color:var(--muted)}.section-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.section-head h2{margin-bottom:0}.inline{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.inline select{width:auto;min-width:180px}.columns{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:start}.narrow{max-width:900px}label{display:block;font-size:12px;font-weight:600;margin-bottom:18px}input,select,textarea{display:block;width:100%;min-height:44px;padding:11px 12px;margin-top:7px;background:#fafcf8;border:1px solid #becdc0;border-radius:6px;color:var(--ink);font-size:13px}textarea{resize:vertical;min-height:90px;line-height:1.7}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.check{display:flex;align-items:start;gap:10px;line-height:1.7;font-weight:400}.check input{width:18px;height:18px;min-height:18px;flex-shrink:0;margin:2px 0 0}.badge{display:inline-flex;padding:5px 10px;border-radius:30px;background:#edf1e9;color:#536959;font-size:11px;line-height:1.6}.badge.active{background:#e3f2d3;color:#355725}.badge.pending{background:#fcf0d8;color:#805615}.notice{padding:20px;background:#fff0d9;border:1px solid #e3c99b;border-radius:8px;margin-bottom:25px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}td,th{padding:17px 12px;border-bottom:1px solid var(--line);white-space:nowrap}th{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:500}td a{font-weight:600}.empty{padding:55px 20px;text-align:center;max-width:600px;margin:auto}.empty-symbol{display:grid;place-items:center;margin:0 auto 25px;width:60px;height:60px;border-radius:50%;background:var(--green);font-size:26px}.empty p{color:var(--muted);font-size:13px}.empty a{font-weight:600}.messages{max-height:650px;overflow-y:auto;padding:3px;margin-bottom:25px}.message{padding:17px;background:#f1f5ed;border:1px solid var(--line);border-radius:8px;margin-bottom:16px}.message.out{background:#eaf1df;margin-left:20px}.message p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;margin-bottom:0}.message-meta{font-size:10px;color:var(--muted);margin-bottom:9px}.message form{margin-top:12px}.error-code{font:11px monospace;color:#a03b20}.meal{padding:20px 0;border-bottom:1px solid var(--line)}.meal:last-child{border:0}.meal p{margin-bottom:8px}.meal>span{font-size:12px;color:var(--muted)}.back{display:inline-block;color:var(--muted);font-size:12px;margin-bottom:20px}.login{max-width:520px;margin:50px auto}.login .card{margin-top:35px}.login button{width:100%}.login .small{margin:20px 0 0}.skip{position:absolute;top:-100px;left:15px;background:#fff;color:var(--ink);padding:12px;z-index:100}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}ol{padding-left:22px;font-size:13px;color:var(--muted)}li{margin-bottom:12px}@media(max-width:1100px){aside{width:200px;padding:25px 18px}main{margin-left:200px;padding:32px 25px}.columns{grid-template-columns:1fr}header{display:block}header>.button{margin-top:10px}.card{padding:24px}.stats{gap:12px}.section-head{display:block}.section-head>.inline{margin-top:20px}}@media(max-width:650px){aside{position:relative;width:100%;padding:18px 5%}.brand{margin:0 0 18px}.brand>span{width:32px;height:32px;font-size:21px}nav{flex-direction:row;flex-wrap:wrap;gap:5px}nav a{padding:8px;font-size:11px}.aside-bottom{margin-top:14px;display:flex;justify-content:space-between;align-items:center}.aside-bottom button{margin:0;padding:7px 10px;font-size:11px;min-height:32px}main{margin:0;padding:30px 5%}.stats{grid-template-columns:1fr}.stats .card{margin-bottom:0;padding:20px}.stats{margin-bottom:25px}.stats strong{font-size:27px;margin:5px 0}.card{padding:22px 18px}.form-grid{grid-template-columns:1fr;gap:0}.inline{align-items:stretch}.inline select{width:100%}h1{font-size:30px}.login{margin:20px auto}.message.out{margin-left:8px}}

.qr-box{background:white;padding:14px;margin:20px 0;width:max-content;max-width:100%;border:1px solid var(--line)}.qr-box img{display:block;max-width:100%;height:auto}.card>a.button{margin-top:12px}
