:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#18251f;background:#f4f6f2;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input{font:inherit}.shell{width:min(100%,560px);margin:auto;padding:28px 18px 56px}.shell.wide{width:min(100%,1180px)}header{margin-bottom:20px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:#5f7168;font-size:.78rem;font-weight:800}h1{font-size:clamp(1.75rem,6vw,2.6rem);line-height:1.08;margin:8px 0}h2{font-size:1.1rem;margin:0 0 16px}.date{font-size:1.15rem;color:#536159;margin:8px 0}.datenav{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid #dfe5df;border-radius:16px;padding:6px;margin-bottom:18px;box-shadow:0 4px 18px #234f3a0a}.datenav button{border:0;background:#edf2ee;border-radius:11px;width:44px;height:42px;font-size:1.4rem;cursor:pointer}.datenav span{font-weight:750}.demo{font-size:.82rem;color:#6a746e;text-align:center;margin:-7px 0 16px}.choices{display:grid;gap:10px}.meal{min-height:64px;background:#fff;border:1.5px solid #d9e0da;border-radius:16px;padding:14px 16px;display:flex;align-items:center;gap:13px;cursor:pointer;transition:.15s}.meal:hover{border-color:#8eaa9b}.meal.selected{background:#eaf3ed;border-color:#245b46}.meal input{width:23px;height:23px;accent-color:#245b46}.meal span{font-size:1.06rem;font-weight:650;flex:1}.meal b{white-space:nowrap}.meal.no{margin-top:6px}.meal.no.selected{background:#f6eded;border-color:#a55a5a}.total{display:flex;align-items:end;justify-content:space-between;margin:22px 2px 18px}.total span{font-size:1.25rem;font-weight:700}.total strong{font-size:2rem;color:#245b46}.total.compact{margin:20px 0}.primary,.secondary{width:100%;border:0;border-radius:15px;min-height:56px;padding:13px 20px;font-weight:800;cursor:pointer}.primary{background:#245b46;color:#fff;box-shadow:0 8px 22px #245b4633}.primary:hover{background:#194b37}.primary:disabled{opacity:.55}.secondary{background:#e8ece8;color:#1d3227;margin-top:10px}.link{display:block;margin:18px auto 0;border:0;background:transparent;color:#245b46;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.saved{background:#fff;border:1px solid #dfe5df;border-radius:20px;padding:22px}.success{color:#216944;font-size:1.15rem;font-weight:850;margin-bottom:20px}.savedrow,.summaryrow{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid #edf0ed}.notice{padding:12px 15px;border-radius:12px;margin:12px 0}.error{background:#fbeaea;color:#8b3434}.loading{text-align:center;padding:80px 10px;color:#68736d}.login{max-width:430px;margin:10vh auto;background:#fff;border:1px solid #dfe5df;padding:28px;border-radius:22px}.login label{display:grid;gap:8px;margin:25px 0 10px;font-weight:700}.login input{height:54px;border:1.5px solid #bfc9c1;border-radius:13px;padding:0 15px;font-size:1.3rem}.hint,.muted{color:#6c7770}.teacherhead{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.teacherhead .datenav{width:260px;margin:0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0}.stats div,.panel{background:#fff;border:1px solid #dfe5df;border-radius:18px;padding:20px}.stats b{display:block;font-size:1.45rem}.stats span{display:block;color:#68746d;margin-top:4px}.stats .warn{background:#fff5df;border-color:#ecd398}.missing{margin-bottom:14px}.missing h2{color:#805c0d;margin-bottom:8px}.missing p{margin:0;line-height:1.7}.teachergrid{display:grid;grid-template-columns:1fr 1.35fr;gap:14px;margin-bottom:14px}.tablepanel{padding:0;overflow:hidden}.tablepanel h2{padding:20px 20px 0}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:780px}th,td{text-align:center;padding:13px 11px;border-top:1px solid #e7ebe7;font-size:.9rem}th{color:#647069;background:#f8faf8}th:first-child,td:first-child{text-align:left;min-width:250px}tbody tr{cursor:pointer}tbody tr:hover{background:#f1f6f2}.tag{display:inline-block;margin-left:8px;border-radius:20px;padding:3px 8px;font-size:.72rem}.tag.waiting{background:#fff1cd;color:#78570f}.tag.off{background:#e8ebea;color:#55605a}.orderbtn{width:auto;float:right;margin-top:16px}.modalback{position:fixed;inset:0;background:#12241db3;display:grid;place-items:center;padding:18px;z-index:10}.modal{position:relative;width:min(100%,520px);max-height:92vh;overflow:auto;background:#fff;border-radius:22px;padding:25px}.close{position:absolute;right:15px;top:12px;border:0;background:transparent;font-size:2rem;cursor:pointer;color:#56635c}.modal pre{white-space:pre-wrap;background:#f3f5f3;border-radius:14px;padding:17px;font:600 1rem/1.6 inherit}.actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.actions .secondary{margin:0}@media(max-width:720px){.teacherhead{display:block}.teacherhead .datenav{width:100%;margin-top:16px}.stats{grid-template-columns:1fr 1fr}.teachergrid{grid-template-columns:1fr}.orderbtn{width:100%;float:none}.panel{padding:16px}}@media print{body *{visibility:hidden}.modal,.modal *{visibility:visible}.modal{position:fixed;inset:0;width:100%;max-height:none}.modal button,.modal h2{display:none}}.defaultcard{border-top:5px solid #245b46}.sectiontitle{font-size:1.2rem;font-weight:850;margin-bottom:14px}.exceptioncard{margin-top:18px;padding-top:22px;border-top:1px solid #dbe2dc}.exceptioncard>.muted{margin-top:-8px;line-height:1.5}.parentpanel{padding:20px}.saved.exception{background:#f8faf8;margin-top:12px}.importantnote{background:#edf4ef;color:#2c5d46;border-radius:12px;padding:12px 14px;line-height:1.5;font-weight:650}.attention{background:#fff4d8;color:#74540c}.tag.changed{background:#e5eef9;color:#295a8a}.childidentity{position:relative;padding:4px 0 18px;border-bottom:1px solid #dce3dd}.childidentity h1{font-size:clamp(2.8rem,14vw,4.8rem);letter-spacing:-.045em;margin:5px 0 0;color:#153d2d;line-height:.95}.childrest{font-size:1.3rem;font-weight:650;margin-top:10px}.forchild{font-size:1.05rem;font-weight:800;margin-top:16px;color:#245b46}.changechild{position:absolute;right:0;top:0;border:0;background:#e8eee9;color:#245b46;border-radius:12px;padding:10px 12px;font-weight:750;cursor:pointer}.editingwho{background:#e9f2ec;border-left:4px solid #245b46;border-radius:10px;padding:12px 14px;margin-bottom:18px;line-height:1.45}.pickerhead{margin:12vh 0 28px}.pickerhead p{color:#647069}.searchlabel{display:grid;gap:8px;font-weight:750}.searchlabel input{width:100%;height:58px;border:1.5px solid #aab8af;border-radius:15px;background:#fff;padding:0 17px;font-size:1.08rem;outline:none}.searchlabel input:focus{border-color:#245b46;box-shadow:0 0 0 3px #245b4620}.studentlist{display:grid;gap:8px;margin-top:14px;max-height:55vh;overflow:auto}.studentlist button{text-align:left;border:1px solid #dce3dd;background:#fff;border-radius:14px;padding:13px 16px;cursor:pointer}.studentlist b{display:block;font-size:1.05rem;text-transform:uppercase;color:#1a4936}.studentlist span{display:block;color:#5e6963;margin-top:3px}@media(max-width:420px){.changechild{position:static;margin-top:15px}.childidentity h1{font-size:3rem}}.meal .nativecheck{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}.meal .checkmark{display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;border:2px solid #83938a;border-radius:7px;background:#fff;color:#fff;font-size:1.05rem;font-weight:900;line-height:1}.meal.selected .checkmark{background:#245b46;border-color:#245b46}.meal.no.selected .checkmark{background:#914949;border-color:#914949}.meal:focus-within{outline:3px solid #245b4630;outline-offset:2px}.notEatingText{font-size:1.2rem;font-weight:800;color:#7b3f3f;background:#f7eded;border-radius:12px;padding:15px}
