@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./fira-sans-cyrillic-ext-400-normal-Cycyekte.woff2)format("woff2"),url(./fira-sans-cyrillic-ext-400-normal-Dd5dApAy.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./fira-sans-cyrillic-400-normal-CKu2TFQr.woff2)format("woff2"),url(./fira-sans-cyrillic-400-normal-D9eUeF-O.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./fira-sans-greek-ext-400-normal-ByG7UNQ2.woff2)format("woff2"),url(./fira-sans-greek-ext-400-normal-ClCfNE6D.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./fira-sans-greek-400-normal-BFCFncbp.woff2)format("woff2"),url(./fira-sans-greek-400-normal-DQ8sF22y.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./fira-sans-vietnamese-400-normal-ljDTQFsx.woff2)format("woff2"),url(./fira-sans-vietnamese-400-normal-DUVG35gE.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./fira-sans-latin-ext-400-normal-BLG_mAEf.woff2)format("woff2"),url(./fira-sans-latin-ext-400-normal-BCUwhuGB.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./fira-sans-latin-400-normal-a0AnQzuD.woff2)format("woff2"),url(./fira-sans-latin-400-normal-66xCkunx.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./fira-sans-cyrillic-ext-500-normal-Dkk5LlrU.woff2)format("woff2"),url(./fira-sans-cyrillic-ext-500-normal-Cixivk4R.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./fira-sans-cyrillic-500-normal-CXfldnQ8.woff2)format("woff2"),url(./fira-sans-cyrillic-500-normal-Daski1k2.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./fira-sans-greek-ext-500-normal-nq-cjB3m.woff2)format("woff2"),url(./fira-sans-greek-ext-500-normal-Bem4H9fH.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./fira-sans-greek-500-normal-Cy-TUuxE.woff2)format("woff2"),url(./fira-sans-greek-500-normal-C9KT8sAy.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./fira-sans-vietnamese-500-normal-ChEXCnJy.woff2)format("woff2"),url(./fira-sans-vietnamese-500-normal-UV7M6ot_.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./fira-sans-latin-ext-500-normal-OO1QnNpY.woff2)format("woff2"),url(./fira-sans-latin-ext-500-normal-CFRf4jcC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./fira-sans-latin-500-normal-Bvbxc8ch.woff2)format("woff2"),url(./fira-sans-latin-500-normal-Bkfzcwmr.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./fira-sans-cyrillic-ext-600-normal-CE6oUZE1.woff2)format("woff2"),url(./fira-sans-cyrillic-ext-600-normal-BKgjRriM.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./fira-sans-cyrillic-600-normal-JSBvCpTs.woff2)format("woff2"),url(./fira-sans-cyrillic-600-normal-CJ5P9t7t.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./fira-sans-greek-ext-600-normal-fS0evUH3.woff2)format("woff2"),url(./fira-sans-greek-ext-600-normal-DPxZoeHL.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./fira-sans-greek-600-normal-BlqpLOpF.woff2)format("woff2"),url(./fira-sans-greek-600-normal-DfHu91YF.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./fira-sans-vietnamese-600-normal-Dh2KAvU8.woff2)format("woff2"),url(./fira-sans-vietnamese-600-normal-Bxjaclsw.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./fira-sans-latin-ext-600-normal-DTQBTt1m.woff2)format("woff2"),url(./fira-sans-latin-ext-600-normal-DLMQsaV4.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./fira-sans-latin-600-normal-CXKlxLG9.woff2)format("woff2"),url(./fira-sans-latin-600-normal-DtSgd811.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--page:#eef1ef;--sheet:#fff;--head:#f5f7f6;--ink:#17201b;--ink-2:#4f5b55;--rule:#d5dcd8;--rule-strong:#b3bdb7;--field:#7f8b85;--green:#1f4d3a;--green-hover:#163a2b;--green-tint:#e2eee6;--marker:#fff0a8;--danger:#a3261b;--danger-tint:#fbedeb;--ok:#1f6b3f;--radius:6px}*{box-sizing:border-box}body{background:var(--page);color:var(--ink);margin:0;font-family:Fira Sans,system-ui,-apple-system,Segoe UI,sans-serif;font-size:17px;line-height:1.5}:focus-visible{outline:3px solid var(--green);outline-offset:2px}h2{margin:0 0 12px;font-size:21px;font-weight:600;line-height:1.3}h3{margin:0;font-size:18px;font-weight:600;line-height:1.3}p{max-width:75ch;margin:0 0 12px}.hint{color:var(--ink-2);max-width:72ch;margin:-6px 0 16px;font-size:16px}.empty{color:var(--ink-2);margin:0;padding:8px 0}.container{max-width:1200px;margin:0 auto;padding:0 24px}.topbar{background:var(--green);color:#fff}.topbar :focus-visible{outline-color:#ffe27a}.topbar-inner{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 32px;padding-top:18px;display:flex}.brand{padding-bottom:14px}.brand-name{font-size:22px;font-weight:600;line-height:1.2;display:block}.brand-sub{color:#c6dacd;margin-top:2px;font-size:15px;display:block}.tabs{flex-wrap:wrap;gap:4px;display:flex}.tab{font:inherit;color:#fff;cursor:pointer;border-radius:var(--radius) var(--radius) 0 0;background:0 0;border:0;padding:12px 20px 14px;font-weight:500}.tab:hover{background:#ffffff1f}.tab.is-active{background:var(--page);color:var(--green)}main.container{padding-top:24px;padding-bottom:16px}.sheet{background:var(--sheet);border:1px solid var(--rule);border-radius:var(--radius);padding:0 32px}.section{border-top:1px solid var(--rule);padding:28px 0}.section:first-child{border-top:0}.step{border-top:1px solid var(--rule);grid-template-columns:52px minmax(0,1fr);padding:28px 0;display:grid}.step:first-child{border-top:0}.step-no{color:var(--green);font-size:30px;font-weight:500;line-height:1.05}.footnote{color:var(--ink-2);padding-top:4px;padding-bottom:32px;font-size:15px}.btn{min-height:44px;font:inherit;color:var(--ink);background:var(--sheet);cursor:pointer;border:1.5px solid var(--field);border-radius:var(--radius);text-align:left;align-items:center;gap:8px;padding:0 18px;font-weight:500;display:inline-flex}.btn:hover{border-color:var(--ink)}.btn:disabled{opacity:.55;cursor:progress}.btn-primary{background:var(--green);border-color:var(--green);color:#fff}.btn-primary:hover{background:var(--green-hover);border-color:var(--green-hover)}.btn-danger{color:var(--danger);border-color:var(--danger)}.btn-danger:hover{background:var(--danger-tint);border-color:var(--danger)}.btn svg{flex:none}.actions{flex-wrap:wrap;gap:10px;margin:16px 0 0;display:flex}.link{font:inherit;color:var(--green);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:500;text-decoration:underline}.icon-btn{width:32px;height:32px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:4px;flex:none;place-items:center;font-size:20px;line-height:1;display:inline-grid}.icon-btn:hover{background:var(--danger-tint);color:var(--danger)}.field,select{font:inherit;color:var(--ink);border:1.5px solid var(--field);border-radius:var(--radius);background:#fff;max-width:100%;min-height:44px;padding:0 12px}.field:focus,select:focus{outline:3px solid var(--green);outline-offset:0;border-color:var(--green)}.check{cursor:pointer;align-items:flex-start;gap:12px;max-width:60ch;display:flex}.check input,.checklist input{width:22px;height:22px;accent-color:var(--green);cursor:pointer;flex:none;margin:1px 0 0}.check small{color:var(--ink-2);font-size:15px;display:block}.week-picker{flex-wrap:wrap;gap:8px;margin:0 0 20px;display:flex}.week{font:inherit;min-height:48px;color:var(--ink);background:var(--sheet);cursor:pointer;border:1.5px solid var(--field);border-radius:var(--radius);padding:0 22px}.week:hover{border-color:var(--ink)}.week.is-active{background:var(--green);border-color:var(--green);color:#fff;font-weight:600}.table-scroll{border:1px solid var(--rule);border-radius:var(--radius);background:var(--sheet);overflow-x:auto}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:16px}th,td{text-align:left;vertical-align:middle;border-bottom:1px solid var(--rule);padding:10px 12px}thead th{background:var(--head);color:var(--ink-2);font-size:15px;font-weight:600;line-height:1.3}tbody tr:last-child>*{border-bottom:0}.num{text-align:right;white-space:nowrap}.kids thead th{text-align:center}.kids thead .th-day{text-align:left}.kids .school-start{border-left:1px solid var(--rule-strong)}.kids tbody tr{cursor:pointer}.kids tbody tr:hover{background:#f7f9f8}.kids tbody tr.is-selected{background:var(--green-tint)}.kids tbody tr.is-selected .day-cell{box-shadow:inset 4px 0 0 var(--green)}.kids td{text-align:center;padding:8px 6px}.kids .cell-missing{text-align:left;color:var(--ink-2);padding:10px 12px}.day-cell{min-width:230px;max-width:360px;font-weight:400}.day-name{font-weight:600;display:block}.day-dishes{color:var(--ink-2);margin-top:2px;font-size:15px;line-height:1.4;display:block}.count{width:72px;height:44px;font:inherit;text-align:center;color:var(--ink);border:1.5px solid var(--field);font-variant-numeric:tabular-nums;background:#fff;border-radius:4px;font-size:18px}.count:focus{outline:3px solid var(--green);outline-offset:0;border-color:var(--green)}.preview-day{flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:0 0 4px;display:flex}.preview-of{color:var(--ink-2);font-size:15px}.totals .col-kg{background:var(--head);font-weight:600}.totals tbody .col-kg{color:var(--ink)}.totals .col-group{border-right:1px solid var(--rule-strong);font-weight:600}.totals tr.is-muted td{color:var(--ink-2)}.merged-note{color:var(--ink-2);font-size:14px;display:block}.more{margin-top:12px}.day-list{border:1px solid var(--rule);border-radius:var(--radius)}.day-item+.day-item{border-top:1px solid var(--rule)}.day-item summary{cursor:pointer;grid-template-columns:16px 130px 72px minmax(0,1fr);align-items:baseline;gap:4px 12px;padding:14px 16px;list-style:none;display:grid}.day-item summary::-webkit-details-marker{display:none}.day-item summary:before{content:"▸";color:var(--green)}.day-item[open] summary:before{content:"▾"}.day-item summary:hover{background:#f7f9f8}.day-num{color:var(--ink-2);font-size:15px}.day-item .day-dishes{margin:0}.day-item .missing-text{font-style:italic}.day-item .table-scroll{margin:0 16px 16px}.dish-row td{background:var(--marker);font-weight:600}.import-log{background:var(--head);border:1px solid var(--rule);border-radius:var(--radius);margin:16px 0 0;padding:12px 16px;font-size:15px;list-style:none}.import-log li{padding:2px 0}.import-log .ok:before{content:"✓  ";color:var(--ok);font-weight:600}.import-log .bad{color:var(--danger)}.import-log .bad:before{content:"✗  ";font-weight:600}.import-note{border-top:1px solid var(--rule);margin-top:10px;padding-top:10px}.merge-form{flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 16px;display:flex}.merge-form select{flex:240px;max-width:380px}.chip{border:1px solid var(--rule-strong);background:#fff;border-radius:4px;align-items:center;gap:2px;margin:3px 6px 3px 0;padding:2px 2px 2px 10px;font-size:15px;display:inline-flex}.chip .icon-btn{width:28px;height:28px;font-size:18px}.checklist{columns:3 260px;column-gap:32px}.checklist label{break-inside:avoid;cursor:pointer;align-items:flex-start;gap:10px;padding:5px 0;font-size:16px;display:flex}.schools td{vertical-align:middle}.schools input[type=checkbox]{width:22px;height:22px;accent-color:var(--green);cursor:pointer}@media (width<=700px){body{font-size:16px}.container{padding:0 12px}.sheet{padding:0 16px}.step{grid-template-columns:34px minmax(0,1fr)}.step-no{font-size:24px}.tabs{scrollbar-width:none;flex-wrap:nowrap;max-width:100%;overflow-x:auto}.tab{flex:none;padding:10px 12px 12px;font-size:15px}.day-cell{min-width:150px}.day-dishes{font-size:14px}.day-item summary{grid-template-columns:16px minmax(0,1fr)}.day-item summary>:not(:first-child){grid-column:2}}.login-form{flex-wrap:wrap;align-items:center;gap:10px 12px;margin-top:8px;display:flex}.login-form label{width:100%;font-weight:500}.login-form .field{width:280px;max-width:100%}.password-form{grid-template-columns:max-content minmax(0,280px);align-items:center;gap:10px 16px;margin-bottom:16px;display:grid}.password-form label{font-weight:500}.form-error{color:var(--danger);margin:12px 0 0;font-weight:500}.form-ok{color:var(--ok);margin:12px 0 0;font-weight:500}@media (width<=700px){.password-form{grid-template-columns:1fr}}.day-toolbar{flex-wrap:wrap;gap:10px;margin:0 16px 12px;display:flex}.editor{padding:0 16px 16px}.editor .table-scroll{margin:0}.edit-table td{vertical-align:top;padding:6px 8px}.edit-table .name-input{width:100%;min-width:260px;min-height:40px}.edit-table .num-input{text-align:right;font-variant-numeric:tabular-nums;width:86px;min-height:40px}.edit-table .dish-row .name-input{font-weight:600}.edit-table .center,.edit-table th.center{text-align:center}.edit-table td.center{padding-top:14px}.edit-table .add-row td{background:var(--sheet);padding:4px 12px 10px}.cell-error{color:var(--danger);margin-top:4px;font-size:14px;font-weight:500;display:block}.badge{color:var(--ink);background:var(--marker);white-space:nowrap;border:1px solid #e6d27a;border-radius:4px;margin-left:8px;padding:0 8px;font-size:13px;font-weight:500;line-height:1.6;display:inline-block}.spacer{flex:1}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.save-status{text-align:right;color:var(--ink-2);max-width:none;margin:0 0 8px;font-size:15px}.save-status.is-offline{text-align:left;color:var(--danger);font-weight:500}.notice{background:var(--marker);border-radius:var(--radius);border:1px solid #e6d27a;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:24px 0 0;padding:14px 16px;display:flex}.notice p{margin:0}
