.pms-catalog-page{display:grid;gap:16px}.pms-catalog-heading{display:flex;justify-content:space-between;align-items:start;gap:20px;padding:20px 22px;border:1px solid #d7e2e7;background:#f7fbfc}.pms-catalog-heading h2{margin:4px 0;font-size:22px}.pms-catalog-heading p{margin:0;color:#51616b;max-width:760px}.pms-tabs{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid #d9e2e6}.pms-tab{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:0;border-bottom:3px solid transparent;color:#40525b;background:transparent;cursor:pointer}.pms-tab-active{color:#08756b;border-bottom-color:#08756b;font-weight:700}.pms-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#5d6d75;font-size:14px}.pms-toolbar label{display:flex;align-items:center;gap:8px;width:min(420px,100%);padding:8px 10px;border:1px solid #cfdade;background:#fff}.pms-toolbar input{width:100%;border:0;outline:0;background:transparent}.pms-workspace{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:16px;align-items:start}.pms-form,.pms-list{display:grid;gap:12px;padding:18px;border:1px solid #d7e2e7;background:#fff}.pms-form h3,.pms-list h3{margin:0;font-size:17px}.pms-form label{display:grid;gap:5px;color:#3c4b53;font-size:13px;font-weight:600}.pms-form input,.pms-form select,.pms-form textarea{box-sizing:border-box;width:100%;min-height:36px;padding:8px;border:1px solid #c5d2d8;border-radius:4px;font:inherit;font-weight:400}.pms-form textarea{min-height:72px;resize:vertical}.pms-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pms-list{max-height:650px;overflow:auto}.pms-list article{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid #e6ecef}.pms-list article:last-child{border-bottom:0}.pms-list article div{display:grid;gap:4px}.pms-list article{cursor:pointer}.pms-list-selected{background:#eaf6f3;margin:0 -8px;padding-left:8px!important;padding-right:8px!important}.pms-list span{color:#64737c;font-size:13px}.pms-list b{font-size:12px;text-align:right}.status-active{color:#08756b}.status-inactive{color:#9a5a00}.pms-inline-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pms-inline-actions button,.file-picker,.calendar-add{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:6px 9px;border:1px solid #bfd0d5;background:#fff;color:#28454d;cursor:pointer;font:inherit;font-size:13px}.pms-inline-actions select{min-height:32px;border:1px solid #bfd0d5;background:#fff;padding:5px;font:inherit}.file-picker{position:relative;overflow:hidden}.file-picker input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.pms-import{display:grid;gap:12px;padding:16px 18px;border:1px solid #d7e2e7;background:#f8fbfc}.pms-import h4,.pms-import p{margin:0}.pms-import p{color:#5d6d75;font-size:13px}.pms-preview{display:grid;gap:5px;padding:12px;border-left:3px solid #08756b;background:#fff}.pms-preview .primary-action{justify-content:center;width:fit-content}.recipe-lines{display:grid;gap:8px}.recipe-lines h4{margin:0;font-size:14px}.recipe-lines>button{justify-self:start;display:inline-flex;align-items:center;gap:5px;border:1px solid #bfd0d5;background:#fff;padding:6px 8px;font:inherit;font-size:13px;cursor:pointer}.recipe-line{display:grid;grid-template-columns:minmax(120px,1fr) 88px 88px 30px;gap:5px;align-items:center}.recipe-line select,.recipe-line input{min-width:0}.recipe-line button{display:grid;place-items:center;width:30px;height:30px;border:0;background:transparent;color:#8c3b2d;cursor:pointer}.pms-calendar{display:grid;grid-template-columns:240px minmax(0,1fr);grid-template-areas:"header header" "library calendar" "footer footer";gap:14px;padding:18px;border:1px solid #d7e2e7;background:#fff}.pms-calendar>header{grid-area:header;display:flex;justify-content:space-between;gap:14px;align-items:start}.pms-calendar h3,.pms-calendar h4,.pms-calendar p{margin:0}.pms-calendar h3{font-size:18px}.pms-calendar h3 span{color:#64737c;font-size:13px;font-weight:400}.pms-recipe-library{grid-area:library;display:grid;align-content:start;gap:8px;padding:12px;border:1px solid #dce5e8;background:#f8fbfc}.pms-recipe-library>div{display:grid;gap:3px;padding:9px 0;border-bottom:1px solid #e2eaed}.pms-recipe-library span{color:#64737c;font-size:12px}.pms-calendar-scroll{grid-area:calendar;overflow-x:auto;border:1px solid #dce5e8}.pms-calendar-grid{display:grid;min-width:1400px}.calendar-corner,.calendar-day,.calendar-meal-type,.calendar-cell{border-right:1px solid #dce5e8;border-bottom:1px solid #dce5e8}.calendar-corner,.calendar-day,.calendar-meal-type{padding:10px;background:#eef5f6;color:#36525a;font-size:13px}.calendar-day{display:flex;justify-content:space-between;gap:6px}.calendar-day button,.calendar-item button{padding:2px;border:0;background:transparent;color:#587079;cursor:pointer}.calendar-meal-type{display:flex;align-items:center;font-weight:700}.calendar-cell{display:grid;align-content:start;gap:5px;min-height:128px;padding:8px;background:#fff}.calendar-item{display:flex;justify-content:space-between;gap:5px;padding:5px 6px;background:#eaf6f3;color:#195a53;font-size:12px}.calendar-cell select{min-height:30px;width:100%;border:1px solid #c5d2d8;background:#fff;font:inherit;font-size:12px}.calendar-add{justify-content:center;min-height:28px;font-size:12px}.pms-calendar-summary{grid-area:footer;display:flex;flex-wrap:wrap;gap:12px;color:#53666e;font-size:12px}@media(max-width:860px){.pms-workspace{grid-template-columns:1fr}.pms-toolbar{align-items:start;flex-direction:column}.pms-toolbar label{width:100%}}@media(max-width:860px){.pms-calendar{grid-template-columns:1fr;grid-template-areas:"header" "library" "calendar" "footer"}.pms-calendar>header{align-items:start;flex-direction:column}}.inventory-page{color:#202924;display:grid;grid-template-columns:minmax(0,1fr);gap:16px;padding:20px;min-width:0;max-width:100%;width:100%;box-sizing:border-box;letter-spacing:0}.inventory-page h2{font-size:22px;margin:0}.inventory-page h3{font-size:17px;margin:8px 0}.inventory-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.inventory-toolbar h2{margin-right:auto}.inventory-page .inventory-toolbar>select,.inventory-page .inventory-toolbar>input{flex:0 1 240px;width:240px}.inventory-page button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:6px 10px;border:1px solid #bec9c1;background:#fff;color:#235642;border-radius:4px;cursor:pointer}.inventory-page button:disabled{opacity:.5;cursor:not-allowed}.inventory-page button:hover:not(:disabled){background:#e9f3ed}.inventory-page label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:600;min-width:0}.inventory-page input,.inventory-page select{min-height:36px;padding:6px 8px;border:1px solid #bbc6bf;border-radius:4px;min-width:0;width:100%;max-width:100%;background:#fff;color:#202924;box-sizing:border-box}.inventory-page input[type=checkbox]{width:18px;min-height:18px}.inventory-page fieldset{border:0;border-top:1px solid #cdd6d0;padding:12px 0;margin:0;min-width:0}.inventory-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.inventory-tabs{display:flex;gap:8px;border-bottom:1px solid #cdd6d0;padding-bottom:8px;flex-wrap:wrap}.inventory-tabs [aria-current=page]{background:#e0eee5;border-color:#438564;font-weight:700}.inventory-table{overflow:auto;min-width:0;max-width:100%}.inventory-table table{width:100%;min-width:850px;border-collapse:collapse;font-size:13px}.inventory-table th,.inventory-table td{padding:10px;text-align:left;border-bottom:1px solid #d7ded9;vertical-align:top;overflow-wrap:anywhere}.inventory-table th{background:#edf1ee;white-space:nowrap}.inventory-table small{display:block;color:#627168;font-size:11px;max-width:210px;overflow-wrap:anywhere}.inventory-totals{text-align:right;border-top:2px solid #6c9680;padding:12px 0}.inventory-line{border-top:2px solid #849ba8;padding:12px 0}.inventory-error{color:#a32d30;background:#fff1f1;padding:10px}.inventory-success{color:#205c40;background:#ecf7ef;padding:10px}.inventory-page footer{border-top:1px solid #cdd6d0;padding-top:12px}.inventory-page details{border-top:1px solid #cdd6d0;padding-top:12px}@media(max-width:600px){.inventory-page{padding:12px}.inventory-fields{grid-template-columns:1fr}.inventory-toolbar>label{width:100%}.inventory-toolbar>select{max-width:100%}}@media(max-width:1040px){.app-shell:has(.inventory-page){grid-template-columns:minmax(0,1fr)}.app-shell:has(.inventory-page)>.sidebar{min-width:0}}.inventory-operations{display:grid;gap:16px;min-width:0}.inventory-operations legend{font-weight:700}.inventory-impact,.inventory-reports,.inventory-periods{border-top:2px solid #849ba8;padding-top:12px}.inventory-operations table{min-width:920px}.inventory-operations .inventory-toolbar>label{min-width:220px}.inventory-operations .inventory-impact>button{margin-right:8px}.teacher-counts{display:grid;gap:16px}.teacher-counts-head{display:flex;gap:14px;align-items:end;justify-content:space-between;flex-wrap:wrap}.teacher-counts-head label,.teacher-count-card label{display:grid;gap:6px;color:var(--vschool-navy);font-size:13px;font-weight:700}.teacher-count-card{display:grid;gap:14px}.teacher-count-actions{display:flex;gap:8px;flex-wrap:wrap}.teacher-count-card header{display:flex;justify-content:space-between;align-items:start;gap:12px}.teacher-count-card h3{margin:0;color:var(--vschool-navy-strong)}.teacher-count-fields{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr));gap:10px}.teacher-count-fields input,.teacher-count-card>label input{min-height:38px}@media(max-width:800px){.teacher-count-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}.meal-day-inventory{grid-column:1 / -1;min-width:0}.meal-day-balance:has(.meal-day-inventory){grid-template-columns:minmax(0,1fr);min-width:0}.inventory-issue-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:12px 0}.inventory-issue-toolbar button{display:inline-flex;align-items:center;gap:6px}.inventory-issue-toolbar>span{min-width:0;overflow-wrap:anywhere}.meal-day-inventory label{display:flex;flex-direction:column;gap:4px}.meal-day-inventory input{width:110px;max-width:100%}.meal-day-inventory textarea{min-height:60px;max-width:100%}.meal-day-inventory td{overflow-wrap:anywhere;min-width:100px}.meal-day-inventory [role=alert]{color:#a82432}@media(max-width:1040px){.app-shell:has(.meal-day-inventory){grid-template-columns:minmax(0,1fr)}}.meal-day-balance{display:grid;gap:16px}.meal-day-balance .meal-day-grid{grid-template-columns:minmax(0,1fr)}.meal-day-balance .meal-day-menu{grid-column:1/-1}.meal-day-balance .operation-panel{min-width:0;border-radius:0;box-shadow:none;border:0;border-bottom:1px solid var(--line)}.meal-day-quantities,.meal-day-market{grid-column:1/-1}.meal-day-table-scroll{overflow-x:auto;max-width:100%}.meal-day-table-scroll table{width:100%;min-width:1000px;border-collapse:collapse}.meal-day-table-scroll th,.meal-day-table-scroll td{padding:8px;border-bottom:1px solid var(--line);font-size:13px;text-align:left}.meal-day-table-scroll th{background:#f4f7f6}.meal-day-override{display:grid;gap:8px;max-width:650px}.meal-day-override label{display:grid;gap:6px}.meal-day-override textarea{min-height:70px;width:100%}.meal-day-balance .meal-day-exports{flex-wrap:wrap}.meal-day-balance .meal-day-exports>span{align-items:center;padding:4px;gap:8px}.meal-day-exports strong{font-size:13px}.meal-day-title,.meal-day-scope{display:flex;gap:14px;align-items:end;justify-content:space-between;flex-wrap:wrap}.meal-day-scope label,.meal-day-counts label{display:grid;gap:5px;font-size:13px;font-weight:700;color:var(--vschool-navy)}.meal-day-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.meal-day-grid>.operation-panel{display:grid;gap:12px;align-content:start}.meal-day-grid h3{margin:0;color:var(--vschool-navy-strong)}.meal-day-grid p{margin:0;color:var(--muted)}.meal-day-counts{display:grid;gap:10px}.meal-day-counts>div{display:grid;grid-template-columns:repeat(7,minmax(70px,1fr));gap:6px;border-top:1px solid var(--line);padding-top:8px}.meal-day-counts strong{grid-column:1/-1}.meal-day-counts input{width:100%;min-height:34px}.meal-day-exports{display:flex;gap:8px}.meal-day-exports span{display:flex;border:1px solid var(--line);border-radius:6px}.meal-day-exports button{width:34px;height:34px;border:0;background:#fff;color:var(--vschool-navy);cursor:pointer}.meal-day-menu{grid-column:span 2}.meal-day-menu__heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.meal-day-menu__heading>div{display:flex;align-items:baseline;gap:10px}.meal-day-menu__heading span{font-size:12px;color:var(--muted)}.meal-day-template-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.meal-day-template-list label{display:grid;gap:5px;font-size:13px;font-weight:700;color:var(--vschool-navy)}.meal-day-menu__group{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:10px}.meal-day-menu__group ol{display:grid;gap:6px;margin:0;padding:0;list-style:none}.meal-day-menu__group li{display:grid;grid-template-columns:minmax(120px,1fr) minmax(190px,1.2fr) auto;align-items:center;gap:8px;min-height:38px}.meal-day-menu__name{font-weight:700;color:var(--vschool-navy);overflow-wrap:anywhere}.meal-day-menu__replace,.meal-day-menu__order,.meal-day-menu__add{display:flex;align-items:center;gap:6px}.meal-day-menu__replace select,.meal-day-menu__add select{min-width:0;width:100%}.meal-day-menu__add{max-width:420px}.menu-icon-button{display:inline-grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--vschool-navy);cursor:pointer}.menu-icon-button:hover:not(:disabled){background:#eef6f5;border-color:#80aaa4}.menu-icon-button:disabled{cursor:not-allowed;opacity:.45}.menu-icon-button--danger{color:#a52c35}.meal-day-menu__copy{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:10px}.meal-day-menu__copy>div:first-of-type{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:center}.meal-day-menu__copy-preview{display:grid;gap:8px;padding:10px;border:1px solid #b7d2ce;border-radius:6px;background:#f3f9f8}.meal-day-menu__copy-preview ol{margin:0;padding-left:22px}.meal-day-nutrition{grid-column:1/-1}.meal-day-nutrition__heading,.meal-day-nutrition__heading>div,.meal-day-nutrition__plg-title{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.meal-day-nutrition__heading label{display:grid;gap:5px;font-size:13px;font-weight:700;color:var(--vschool-navy)}.nutrition-freshness,.nutrition-status{display:inline-flex;align-items:center;gap:5px;font-weight:700;white-space:nowrap}.nutrition-freshness{font-size:12px;padding:4px 7px;border:1px solid var(--line);border-radius:6px}.nutrition-freshness--current,.nutrition-status--met{color:#12633f}.nutrition-freshness--stale,.nutrition-status--above{color:#9a4d0a}.nutrition-status--below{color:#a52c35}.nutrition-status--unknown{color:var(--muted)}.meal-day-nutrition__table-wrap{overflow-x:auto}.meal-day-nutrition table{width:100%;border-collapse:collapse;min-width:760px}.meal-day-nutrition th,.meal-day-nutrition td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:left;font-size:13px}.meal-day-nutrition thead th{background:#f5f7f8;color:var(--vschool-navy)}.meal-day-nutrition__plg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.meal-day-nutrition__plg-title{grid-column:1/-1;border-top:1px solid var(--line);padding-top:10px}.meal-day-nutrition__plg-title span{font-size:13px;color:var(--muted)}.meal-day-nutrition__macro{display:grid;gap:5px;padding:10px;border:1px solid var(--line);border-radius:6px;background:#fff}.meal-day-nutrition__macro>span:not(.nutrition-status){font-size:13px;color:var(--muted)}.meal-day-nutrition__sources{display:flex;gap:12px 20px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:10px;font-size:13px}.meal-day-quantities td label{display:grid;gap:4px;min-width:120px;font-size:12px;margin-bottom:6px}.meal-day-quantities td input:not([type=checkbox]),.meal-day-quantities td select{width:140px;max-width:100%;box-sizing:border-box}.meal-day-quantities td input[type=checkbox]{width:16px;height:16px}.meal-day-adjustment-save,.meal-day-save-template,.meal-day-copy-day{display:grid;gap:10px;align-items:start}.meal-day-adjustment-save label,.meal-day-save-template label,.meal-day-copy-day label{display:grid;gap:5px;max-width:460px}.meal-day-copy-day p{overflow-wrap:anywhere}@media(max-width:1000px){.meal-day-grid{grid-template-columns:1fr}.meal-day-menu{grid-column:auto}.meal-day-counts>div{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:680px){.meal-day-template-list,.meal-day-menu__group li{grid-template-columns:1fr}.meal-day-menu__order{justify-content:flex-end}.meal-day-menu__copy>div:first-of-type{grid-template-columns:1fr}.meal-day-nutrition__plg{grid-template-columns:1fr}}:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--vschool-red: #b23a32;--vschool-red-dark: #8f2e29;--vschool-coral: #f26f61;--vschool-navy: #0a4a7a;--vschool-navy-strong: #06365f;--vschool-blue: #2091c8;--vschool-sky: #edf7fb;--vschool-cream: #fff0df;--vschool-cream-soft: #fff8f0;--vschool-gold: #e39a18;--surface: #ffffff;--page: #fff4e8;--line: #ead7c7;--muted: #6f5f55;background:var(--page);color:#0e1726;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button{font:inherit}.app-shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--vschool-cream-soft);color:var(--vschool-navy);display:flex;flex-direction:column;gap:28px;padding:22px 16px;border-right:1px solid #ead1bd}.brand-block{display:flex;justify-content:center;align-items:center;min-height:148px;padding:4px 0 16px}.brand-logo{display:block;width:min(244px,100%);height:auto;object-fit:contain}.nav-list{display:grid;gap:6px}.nav-item{display:flex;align-items:center;gap:10px;width:100%;min-height:42px;padding:0 12px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--vschool-navy);cursor:pointer}.nav-item:hover,.nav-item-active{background:#fff;border-color:#f1c5b9;color:var(--vschool-red-dark)}.nav-item-active{box-shadow:inset 4px 0 0 var(--vschool-red)}.nav-item:disabled{cursor:not-allowed;opacity:.58}.nav-item:disabled:hover{background:transparent;border-color:transparent;color:var(--vschool-navy)}.workspace{min-width:0;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:88px;padding:18px 28px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,#fff 0,#fff8f0)}.topbar h1,.panel-heading h2{margin:0;letter-spacing:0}.topbar h1{font-size:24px;line-height:1.2;color:var(--vschool-navy-strong)}.eyebrow{margin:0 0 6px;color:var(--vschool-red);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:0}.topbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.admin-school-selector{display:grid;gap:4px;min-width:220px;color:var(--vschool-navy);font-size:12px;font-weight:800}.admin-school-selector span{color:var(--vschool-red);text-transform:uppercase}.admin-school-selector select{min-height:38px;padding:0 10px;border:1px solid #ead1bd;border-radius:8px;background:#fff;color:var(--vschool-navy-strong);font:inherit;font-size:13px}.language-switch{display:inline-grid;grid-template-columns:repeat(2,42px);min-height:38px;padding:3px;border:1px solid #ead1bd;border-radius:8px;background:#fff8f0}.language-option{border:0;border-radius:6px;background:transparent;color:var(--vschool-navy);cursor:pointer;font-size:13px;font-weight:800}.language-option-active{background:var(--vschool-red);color:#fff}.icon-text-button,.primary-action,.download-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:0 12px;border:1px solid #ead1bd;border-radius:8px;background:var(--surface);color:var(--vschool-navy);cursor:pointer}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid #ead1bd;border-radius:8px;background:var(--surface);color:var(--vschool-navy);cursor:pointer}.notification-menu,.notification-trigger{position:relative}.notification-badge{position:absolute;top:-7px;right:-7px;display:grid;min-width:18px;height:18px;place-items:center;padding:0 4px;border:2px solid #fff8f0;border-radius:9px;background:var(--vschool-red);color:#fff;font-size:10px;font-weight:800}.notification-popover{position:absolute;z-index:20;top:calc(100% + 8px);right:0;width:min(390px,calc(100vw - 32px));border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 14px 30px #281c1229}.notification-heading,.notification-item>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.notification-heading{min-height:48px;padding:0 14px;border-bottom:1px solid var(--line);color:var(--vschool-navy-strong)}.notification-list{max-height:390px;overflow:auto}.notification-item{display:grid;gap:6px;padding:13px 14px;border-bottom:1px solid #f2e6db;color:var(--vschool-navy-strong)}.notification-item:last-child{border-bottom:0}.notification-item-unread{background:#fff8f0;box-shadow:inset 3px 0 0 var(--vschool-red)}.notification-item p,.notification-item time,.notification-empty{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.catalog-request-row{align-items:center}.catalog-request-actions{display:flex;flex-wrap:wrap;gap:8px}.catalog-request-actions .primary-action,.catalog-request-actions .small-action{min-height:34px;white-space:nowrap}.notification-empty{padding:22px 14px}.text-action{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:var(--vschool-navy);cursor:pointer;font-size:12px;font-weight:800;white-space:nowrap}.primary-action{border-color:var(--vschool-red);background:var(--vschool-red);color:#fff}.primary-action:hover{background:var(--vschool-red-dark)}.dashboard{display:grid;gap:18px;padding:22px 28px 36px;background:linear-gradient(180deg,#fff8f0 0,var(--page) 210px),var(--page)}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.kpi-card{display:grid;gap:8px;min-height:132px;padding:16px;border:1px solid var(--line);border-top:4px solid var(--vschool-red);border-radius:8px;background:var(--surface)}.kpi-card svg{color:var(--vschool-blue)}.kpi-card span{color:var(--muted)}.kpi-card strong{font-size:30px;line-height:1;color:var(--vschool-navy-strong)}.kpi-card.tone-red{border-top-color:var(--vschool-red)}.kpi-card.tone-red svg{color:var(--vschool-red)}.kpi-card.tone-blue{border-top-color:var(--vschool-coral)}.kpi-card.tone-blue svg{color:var(--vschool-coral)}.kpi-card.tone-navy{border-top-color:var(--vschool-navy)}.kpi-card.tone-navy svg{color:var(--vschool-navy)}.kpi-card.tone-gold{border-top-color:var(--vschool-gold)}.kpi-card.tone-gold svg{color:var(--vschool-gold)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:18px}.lower-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.operation-panel{min-width:0;padding:18px;border:1px solid var(--line);border-radius:8px;background:#ffffffeb}.system-hero-panel{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-top:4px solid var(--vschool-red)}.system-hero-panel h2{margin:0 0 8px;color:var(--vschool-navy-strong);font-size:28px;line-height:1.2;letter-spacing:0}.system-hero-panel .muted-copy{max-width:860px}.school-scope-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:4px solid var(--vschool-red)}.school-scope-panel h2{margin:0 0 6px;color:var(--vschool-navy-strong);font-size:24px;line-height:1.2;letter-spacing:0}.school-scope-panel svg{flex:0 0 auto;color:var(--vschool-red)}.muted-panel{background:#eef4fb;color:var(--muted)}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.panel-heading h2{font-size:20px;color:var(--vschool-navy-strong)}.panel-heading.compact{margin-bottom:14px}.data-table{display:grid;overflow:hidden;border:1px solid #dce6f2;border-radius:8px}.table-row{display:grid;grid-template-columns:1.5fr repeat(4,minmax(82px,1fr));gap:10px;align-items:center;min-height:48px;padding:0 14px;border-bottom:1px solid #dce6f2}.table-row:last-child{border-bottom:0}.table-head{min-height:42px;background:var(--vschool-cream-soft);color:var(--vschool-navy);font-weight:700}.status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:28px;width:fit-content;padding:0 10px;border-radius:999px;font-size:13px;font-weight:700}.status-pill.done{background:#e8f6ef;color:#12613f}.status-pill.open{background:#fff1d8;color:#8a5600}.timeline-list,.toggle-list,.delivery-list{display:grid;gap:10px}.panel-actions-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.timeline-item,.delivery-list div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;align-items:center;padding:12px;border:1px solid #dce6f2;border-radius:8px}.timeline-item small{grid-column:1 / -1;color:var(--muted)}.toggle-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:48px;padding:0 12px;border:1px solid #dce6f2;border-radius:8px;background:var(--surface);color:var(--vschool-navy);cursor:pointer;text-align:left}.toggle-row svg{color:var(--vschool-red)}.toggle-row:disabled{cursor:not-allowed;opacity:.58}.download-button{width:100%;border-color:var(--vschool-navy);background:var(--vschool-navy);color:#fff}.download-button:disabled{border-color:#c8d7e8;background:#e8edf3;color:var(--muted);cursor:not-allowed}.icon-button{display:inline-grid;place-items:center;width:38px;height:38px;border:1px solid #ead1bd;border-radius:8px;background:#fff;color:var(--vschool-navy);cursor:pointer}.icon-button:hover{color:var(--vschool-red)}.user-chip{display:grid;gap:2px;min-height:38px;max-width:220px;padding:4px 12px;border:1px solid #ead1bd;border-radius:8px;background:#fff}.user-chip strong,.user-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-chip strong{color:var(--vschool-navy-strong);font-size:13px}.user-chip span{color:var(--muted);font-size:12px}.app-loading{display:grid;min-height:100vh;place-items:center;background:var(--page);color:var(--vschool-navy);font-weight:800}.login-page{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,440px);gap:32px;align-items:center;min-height:100vh;padding:42px 42px 76px;background:radial-gradient(circle at 10% 20%,rgba(242,111,97,.18),transparent 30%),linear-gradient(135deg,#fff8f0 0,#fff0df 46%,#f7fbff)}.login-hero{display:grid;gap:28px;max-width:720px}.login-logo{display:block;width:min(420px,88%);height:auto}.login-hero h1{max-width:760px;margin:0;color:var(--vschool-navy-strong);font-size:44px;line-height:1.08}.login-hero p:last-child{max-width:620px;margin:14px 0 0;color:var(--muted);font-size:18px;line-height:1.55}.login-footnote{position:absolute;left:50%;bottom:24px;width:min(680px,calc(100% - 48px));margin:0;transform:translate(-50%);color:var(--vschool-navy-strong);font-size:14px;font-weight:900;letter-spacing:0;line-height:1.45;text-align:center;text-transform:uppercase}.login-panel{display:grid;gap:24px;padding:28px;border:1px solid #ead1bd;border-radius:8px;background:#fffffff0;box-shadow:0 24px 60px #0a315f1f}.login-panel-heading{display:flex;align-items:center;gap:14px}.login-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:8px;background:var(--vschool-red);color:#fff}.login-panel h2,.login-panel p{margin:0}.login-panel h2{color:var(--vschool-navy-strong);font-size:22px}.login-panel-heading p{margin-top:4px;color:var(--muted)}.login-form{display:grid;gap:16px}.login-form label{display:grid;gap:8px;color:var(--vschool-navy);font-weight:800}.login-form small{color:var(--muted);font-size:12px;font-weight:600;line-height:1.45}.field-control{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-height:48px;padding:0 12px;border:1px solid #d9c4b4;border-radius:8px;background:#fff;color:var(--vschool-red)}.select-control{grid-template-columns:auto minmax(0,1fr) auto}.password-control{grid-template-columns:auto minmax(0,1fr) 36px}.field-control input,.field-control select{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--vschool-navy-strong);font:inherit}.field-control select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;font-weight:800}.select-control svg:last-child{color:var(--vschool-navy);pointer-events:none}.password-visibility-button{display:inline-grid;place-items:center;width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:var(--vschool-navy);cursor:pointer}.password-visibility-button:hover,.password-visibility-button:focus-visible{background:#fff0df;color:var(--vschool-red-dark)}.form-error{padding:10px 12px;border:1px solid #f1c5b9;border-radius:8px;background:#fff0eb;color:var(--vschool-red-dark);font-weight:800}.form-success{padding:10px 12px;border:1px solid #d7eadf;border-radius:8px;background:#e8f6ef;color:#12613f;font-weight:800}.field-warning{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;padding:10px 12px;border:1px solid #f5cd8b;border-radius:8px;background:#fff7e8;color:#7a4d00}.field-warning svg{margin-top:1px}.field-warning strong{display:block;margin-bottom:4px;color:#6d4300;font-size:13px}.field-warning p{margin:0;color:#7a4d00;font-size:12px;font-weight:700;line-height:1.45}.login-button{min-height:48px;border:0;border-radius:8px;background:var(--vschool-red);color:#fff;cursor:pointer;font-weight:900}.login-button:hover{background:var(--vschool-red-dark)}.login-button:disabled{cursor:wait;opacity:.72}.login-secondary-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.secondary-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 10px;border:1px solid #ead1bd;border-radius:8px;background:#fff8f0;color:var(--vschool-navy);font-size:14px;font-weight:800;text-align:center;text-decoration:none}.secondary-action:hover{border-color:#f1c5b9;color:var(--vschool-red-dark)}.approval-note{margin:-14px 0 0;color:var(--muted);font-size:13px;font-weight:700;line-height:1.45}.support-box{display:grid;gap:8px;padding:12px;border:1px solid #ead1bd;border-radius:8px;background:#fff8f0}.support-box div{display:flex;align-items:center;gap:8px;color:var(--vschool-navy-strong)}.support-box p{color:var(--muted);font-size:14px}.support-box a{color:var(--vschool-red-dark);font-weight:800;text-decoration:none}.identity-page{gap:18px}.identity-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.identity-grid{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(0,1.6fr);gap:18px}.account-form{display:grid;gap:14px}.account-form label{display:grid;gap:7px;color:var(--vschool-navy);font-weight:800}.account-form input,.account-form select,.account-form textarea{width:100%;min-height:42px;padding:0 12px;border:1px solid #d9c4b4;border-radius:8px;background:#fff;color:var(--vschool-navy-strong);font:inherit}.account-form textarea{min-height:86px;padding:10px 12px;resize:vertical}.account-form small,.muted-copy{color:var(--muted);font-size:13px;line-height:1.5}.form-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.module-editor{display:grid;gap:10px;padding:12px;border:1px solid #ead1bd;border-radius:8px;background:#fff8f0}.module-editor-heading{display:flex;align-items:center;gap:8px;color:var(--vschool-navy-strong)}.module-toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.module-toggle{display:grid;gap:3px;min-height:52px;padding:8px 10px;border:1px solid #dce6f2;border-radius:8px;background:#fff;color:var(--muted);cursor:pointer;text-align:left}.module-toggle strong{color:var(--muted);font-size:12px}.module-toggle-active{border-color:#f1c5b9;color:var(--vschool-navy);box-shadow:inset 4px 0 0 var(--vschool-red)}.module-toggle-active strong{color:var(--vschool-red-dark)}.school-list{display:grid;gap:12px}.school-card{display:grid;gap:12px;padding:14px;border:1px solid #dce6f2;border-radius:8px;background:#fff}.school-card-main,.school-card-actions,.school-metrics,.school-contact,.module-chip-list{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.school-card-main{justify-content:space-between}.school-card-main div{display:grid;gap:4px}.school-card-main strong{color:var(--vschool-navy-strong);font-size:18px}.school-card-main span:not(.status-pill),.school-contact,.school-metrics{color:var(--muted);font-size:13px}.school-supply-mode{display:flex;flex-wrap:wrap;gap:7px;color:var(--vschool-navy);font-size:13px}.school-supply-mode span{color:var(--muted)}.school-metrics span{display:inline-flex;align-items:center;gap:6px}.school-contact{align-items:flex-start;flex-direction:column}.module-chip{display:inline-flex;align-items:center;min-height:28px;padding:0 9px;border:1px solid #dce6f2;border-radius:999px;color:var(--muted);font-size:12px;font-weight:800}.module-chip-active{border-color:#d7eadf;background:#e8f6ef;color:#12613f}.scope-note{display:flex;align-items:flex-start;gap:8px;margin:0;padding:10px 12px;border:1px solid #dce6f2;border-radius:8px;background:#f8fbff;color:var(--muted);font-size:13px;font-weight:700;line-height:1.45}.scope-note svg{flex:0 0 auto;margin-top:1px;color:var(--vschool-navy)}.inline-field-action{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:8px}.inline-field-action .icon-button{width:42px;height:42px}.settings-grid{grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr)}.settings-account-list{display:grid;gap:10px}.settings-account-list div{display:grid;gap:4px;padding:12px;border:1px solid #dce6f2;border-radius:8px;background:#fff}.settings-account-list span{color:var(--muted);font-size:13px}.settings-account-list strong{overflow-wrap:anywhere;color:var(--vschool-navy-strong)}.school-settings-panel{display:grid;gap:14px}.school-settings-panel .settings-account-list{grid-template-columns:repeat(2,minmax(0,1fr))}.school-settings-panel select{width:100%;min-height:38px;padding:0 10px;border:1px solid #d9c4b4;border-radius:8px;background:#fff;color:var(--vschool-navy-strong);font:inherit}.operation-settings-panel{display:grid;gap:16px}.operation-settings-grid{display:grid;grid-template-columns:minmax(250px,.85fr) minmax(290px,1fr) minmax(360px,1.2fr);gap:12px}.settings-grid .settings-operation-card,.settings-grid .settings-password-card{grid-column:1 / -1}.settings-control-group{display:grid;align-content:start;gap:10px;padding:16px;border:1px solid #dce6f2;border-radius:8px;background:#fff}.settings-control-heading{display:flex;align-items:center;gap:8px;color:var(--vschool-navy-strong)}.settings-control-heading svg{color:var(--vschool-red)}.settings-toggle-row{display:flex;align-items:flex-start;gap:9px;color:var(--vschool-navy);cursor:pointer}.settings-toggle-row input{width:18px;height:18px;margin-top:1px;accent-color:var(--vschool-red)}.settings-toggle-row span{display:grid;gap:3px}.settings-toggle-row small,.settings-export-status{color:var(--muted);font-size:13px;line-height:1.4}.settings-time-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.settings-time-grid label{display:grid;gap:6px;color:var(--muted);font-size:13px;font-weight:700}.settings-time-grid input{width:100%;min-height:40px;padding:0 10px;border:1px solid #d9c4b4;border-radius:8px;background:#fff;color:var(--vschool-navy-strong);font:inherit}.settings-audit-export{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding-top:16px;border-top:1px solid #e6edf5}.settings-audit-export>div{display:grid;align-content:start;gap:9px}.settings-audit-export .muted-copy,.settings-export-status{margin:0}.settings-audit-list{display:grid;gap:8px}.settings-audit-row{display:grid;gap:3px;padding:10px 12px;border:1px solid #dce6f2;border-radius:8px;background:#fbfdff}.settings-audit-row strong{color:var(--vschool-navy-strong)}.settings-audit-row span{color:var(--muted);font-size:13px}.classroom-grid{grid-template-columns:repeat(2,minmax(320px,1fr))}.classroom-lists-grid{grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr)}.split-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.student-list{display:grid;gap:10px}.student-card{display:grid;gap:10px;padding:14px;border:1px solid #dce6f2;border-radius:8px;background:#fff}.student-card>div:first-child,.student-card>div:nth-child(2){display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.student-card strong{color:var(--vschool-navy-strong)}.student-card span,.student-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.attendance-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(160px,220px) auto auto;gap:12px;align-items:end;margin-bottom:16px}.attendance-toolbar label,.attendance-field{display:grid;gap:7px;color:var(--vschool-navy);font-size:13px;font-weight:800}.attendance-toolbar select,.attendance-toolbar input,.attendance-field select,.attendance-field input{width:100%;min-height:42px;padding:0 12px;border:1px solid #d9c4b4;border-radius:8px;background:#fff;color:var(--vschool-navy-strong);font:inherit}.attendance-toolbar button{min-height:42px}.attendance-list{display:grid;gap:10px;margin-top:14px}.attendance-row{display:grid;grid-template-columns:minmax(220px,1.1fr) minmax(160px,220px) minmax(150px,180px) minmax(220px,1fr);gap:12px;align-items:center;padding:14px;border:1px solid #dce6f2;border-left:4px solid var(--vschool-navy);border-radius:8px;background:#fff}.attendance-present{border-left-color:#17935f}.attendance-absent{border-left-color:var(--vschool-red)}.attendance-late{border-left-color:var(--vschool-gold)}.attendance-excused{border-left-color:var(--vschool-blue)}.attendance-student{display:grid;gap:4px}.attendance-student strong{color:var(--vschool-navy-strong);font-size:16px}.attendance-student span{color:var(--muted);font-size:13px}.attendance-note-field input{min-width:0}.checkbox-line{display:flex;align-items:center;gap:10px;min-height:42px;padding:0 12px;border:1px solid #d9c4b4;border-radius:8px;background:#fff8f0;color:var(--vschool-navy);font-size:13px;font-weight:800}.checkbox-line input{width:18px;height:18px;accent-color:var(--vschool-red)}.meal-toolbar{display:grid;grid-template-columns:minmax(180px,240px) auto auto;gap:12px;align-items:end;margin-bottom:16px}.meal-toolbar label{display:grid;gap:7px;color:var(--vschool-navy);font-size:13px;font-weight:800}.meal-toolbar input{width:100%;min-height:42px;padding:0 12px;border:1px solid #d9c4b4;border-radius:8px;background:#fff;color:var(--vschool-navy-strong);font:inherit}.meal-toolbar button{min-height:42px}.meal-role-note{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.meal-role-note div{display:grid;gap:4px;min-height:82px;padding:12px;border:1px solid #dce6f2;border-left:4px solid var(--vschool-red);border-radius:8px;background:#fff}.meal-role-note div:nth-child(2){border-left-color:var(--vschool-navy)}.meal-role-note div:nth-child(3){border-left-color:var(--vschool-gold)}.meal-role-note strong{color:var(--vschool-navy-strong)}.meal-role-note span{color:var(--muted);font-size:13px;line-height:1.45}.meal-count-list{display:grid;gap:10px;margin-top:14px}.meal-close-summary{display:grid;gap:12px;margin:14px 0 16px;padding:14px;border:1px solid #dce6f2;border-left:4px solid var(--vschool-navy);border-radius:8px;background:#fff}.meal-close-main{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.meal-close-main h2{margin:0;color:var(--vschool-navy-strong);font-size:20px;line-height:1.25}.meal-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.meal-summary-grid div{display:grid;gap:5px;padding:12px;border:1px solid #dce6f2;border-radius:8px;background:#fff8f0}.meal-summary-grid span,.meal-open-class-list>span{color:var(--muted);font-size:13px;font-weight:700}.meal-summary-grid strong{color:var(--vschool-navy-strong);font-size:22px}.meal-open-class-list{display:grid;gap:8px;padding-top:2px}.meal-open-class-list div{display:flex;gap:8px;flex-wrap:wrap}.meal-open-class-list strong{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border:1px solid #f5cd8b;border-radius:999px;background:#fff7e8;color:#8a5600;font-size:13px}.meal-complete-note{margin:0;color:#12613f;font-weight:800}.kitchen-status-panel{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:14px 0 16px;padding:16px;border:1px solid #dce6f2;border-left:4px solid var(--vschool-gold);border-radius:8px;background:#fff8f0}.kitchen-status-panel.ready{border-left-color:#178d5c;background:#f1fff7}.kitchen-status-panel.waiting{border-left-color:var(--vschool-gold)}.kitchen-status-panel h2{margin:0;color:var(--vschool-navy-strong);font-size:20px;line-height:1.25}.kitchen-supply-status{display:flex;align-items:flex-start;gap:12px;margin:14px 0 16px;padding:14px;border:1px solid #dce6f2;border-left:4px solid var(--vschool-navy);border-radius:8px;background:#fff}.kitchen-supply-status.ingredients{border-left-color:#178d5c;background:#f1fff7}.kitchen-supply-status.meals{border-left-color:var(--vschool-gold);background:#fff8f0}.kitchen-supply-status div{display:grid;gap:5px}.kitchen-supply-status h2{margin:0;color:var(--vschool-navy-strong);font-size:18px}.kitchen-supply-status p:not(.eyebrow){margin:0;color:var(--muted);font-size:13px;line-height:1.45}.kitchen-status-panel p:not(.eyebrow){margin:6px 0 0;color:var(--muted);line-height:1.5}.kitchen-workflow-panel{display:grid;gap:14px;margin-bottom:16px;padding:14px;border:1px solid #dce6f2;border-left:4px solid var(--vschool-navy);border-radius:8px;background:#fff}.kitchen-workflow-meta{display:grid;grid-template-columns:minmax(240px,1fr) minmax(220px,.7fr);gap:12px;align-items:end}.kitchen-workflow-meta label{display:grid;gap:7px;color:var(--vschool-navy);font-size:13px;font-weight:800}.kitchen-workflow-meta input{width:100%;min-height:42px;padding:0 12px;border:1px solid #d9c4b4;border-radius:8px;background:#fff;color:var(--vschool-navy-strong);font:inherit}.kitchen-time-card{display:grid;gap:5px;min-height:42px;padding:10px 12px;border:1px solid #dce6f2;border-radius:8px;background:#fff8f0}.kitchen-time-card span,.kitchen-step small{color:var(--muted);font-size:12px;font-weight:700}.kitchen-time-card strong{color:var(--vschool-navy-strong)}.kitchen-workflow-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.kitchen-step{display:grid;gap:6px;justify-items:start;min-height:94px;padding:12px;border:1px solid #dce6f2;border-radius:8px;background:#fbfdff;color:var(--vschool-navy);cursor:pointer;font:inherit;text-align:left}.kitchen-step svg{color:#7da0bd}.kitchen-step span{color:var(--vschool-navy-strong);font-weight:900}.kitchen-step-done{border-color:#b8e8cf;background:#f1fff7}.kitchen-step-done svg{color:#178d5c}.kitchen-step-current{border-color:var(--vschool-red);box-shadow:inset 4px 0 0 var(--vschool-red)}.kitchen-step:disabled{cursor:not-allowed;opacity:.72}.kitchen-note-alerts{display:grid;gap:12px;margin-bottom:16px;padding:14px;border:1px solid #f5cd8b;border-left:4px solid var(--vschool-gold);border-radius:8px;background:#fff7e8}.kitchen-note-list{display:grid;gap:8px}.kitchen-note-row{display:grid;grid-template-columns:minmax(120px,.35fr) minmax(0,1fr);gap:10px;padding:10px 12px;border:1px solid #f1d9b6;border-radius:8px;background:#fff}.kitchen-note-row strong{color:var(--vschool-navy-strong)}.kitchen-note-row span{color:#744500;line-height:1.45}.kitchen-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:14px}.kitchen-list-panel{display:grid;gap:12px;padding:14px;border:1px solid #dce6f2;border-radius:8px;background:#fff}.kitchen-class-list{display:grid;gap:10px}.kitchen-class-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid #dce6f2;border-left:4px solid #178d5c;border-radius:8px;background:#fbfdff}.kitchen-class-row.open{border-left-color:var(--vschool-gold);background:#fffaf1}.kitchen-class-row div{display:grid;gap:4px;min-width:0}.kitchen-class-row strong{color:var(--vschool-navy-strong)}.kitchen-class-row span{color:var(--muted);font-size:13px;line-height:1.45}.kitchen-class-row>strong{font-size:22px}.supplier-toolbar{display:grid;grid-template-columns:minmax(180px,240px) auto auto;gap:12px;align-items:end;margin-bottom:16px}.report-toolbar{display:grid;grid-template-columns:minmax(160px,210px) minmax(180px,1fr) minmax(160px,220px) auto auto;gap:12px;align-items:end;margin-bottom:16px}.report-toolbar label{display:grid;gap:7px;color:var(--vschool-navy);font-size:13px;font-weight:800}.report-toolbar input,.report-toolbar select{width:100%;min-height:42px;padding:0 12px;border:1px solid #d9c4b4;border-radius:8px;background:#fff;color:var(--vschool-navy-strong);font:inherit}.report-toolbar button{min-height:42px}.budget-settings-panel{display:grid;gap:14px}.budget-settings-grid{display:grid;grid-template-columns:minmax(190px,280px) minmax(190px,280px) minmax(180px,240px);gap:12px;align-items:end}.budget-settings-grid label{display:grid;gap:7px;color:var(--vschool-navy);font-size:13px;font-weight:800}.budget-settings-grid input{min-height:42px;padding:0 12px;border:1px solid #d9c4b4;border-radius:8px;background:#fff;color:var(--vschool-navy-strong);font:inherit}.budget-settings-grid button{min-height:42px}.catalog-search{display:flex;align-items:center;gap:10px;max-width:520px;min-height:42px;margin:14px 0;padding:0 12px;border:1px solid #d9c4b4;border-radius:8px;background:#fff;color:var(--vschool-red)}.catalog-search input{width:100%;min-width:0;border:0;outline:0;color:var(--vschool-navy-strong);font:inherit}.menu-toolbar,.recipe-form,.menu-planning-grid,.menu-dish-list,.ingredient-demand,.recipe-list,.recipe-ingredient-list,.meal-section-grid{display:grid;gap:12px}.menu-toolbar{grid-template-columns:170px 118px 190px 170px minmax(260px,1fr) 160px;align-items:end;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid #e8edf3}.menu-toolbar>button{min-height:42px;white-space:nowrap}.menu-toolbar label,.wide-note,.recipe-form>label{display:grid;gap:7px;color:var(--vschool-navy);font-size:13px;font-weight:800}.menu-toolbar input,.menu-toolbar select,.wide-note input,.recipe-form input,.recipe-ingredient-list select,.recipe-ingredient-list input{width:100%;min-height:42px;padding:0 12px;border:1px solid #d9c4b4;border-radius:8px;background:#fff;color:var(--vschool-navy-strong);font:inherit}.catalog-editor{display:grid;gap:12px;margin:14px 0;padding:14px;border:1px solid #dce6f2;border-left:4px solid var(--vschool-gold);border-radius:8px;background:#fbfdff}.catalog-editor .section-heading{margin:0}.catalog-editor-grid{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(220px,1.5fr) minmax(100px,.55fr) minmax(140px,.75fr) minmax(160px,1fr) auto;gap:10px;align-items:end}.catalog-editor-grid label{display:grid;gap:7px;color:var(--vschool-navy);font-size:13px;font-weight:800}.catalog-history{display:grid;gap:12px;margin-top:18px;padding-top:18px;border-top:1px solid #dce6f2}.catalog-editor-grid input{width:100%;min-height:42px;padding:0 12px;border:1px solid #d9c4b4;border-radius:8px;background:#fff;color:var(--vschool-navy-strong);font:inherit}.report-class-row:has(.icon-button){grid-template-columns:minmax(0,1.6fr) minmax(100px,.45fr) minmax(130px,.55fr) 42px}.budget-status{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:14px 0;padding:14px;border:1px solid #dce6f2;border-left:4px solid #178d5c;border-radius:8px;background:#f1fff7}.budget-status>div{display:grid;gap:5px}.budget-status span{color:var(--muted);font-size:13px}.budget-over{border-left-color:var(--vschool-red);background:#fff0eb}.budget-status>strong{font-size:22px;color:var(--vschool-navy-strong)}.wide-note{margin-top:12px}.wide-note+.small-action{margin-top:10px}.purchase-order-bar{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:10px;align-items:end;margin-top:14px;padding-top:14px;border-top:1px solid #e8edf3}.purchase-order-bar label{display:grid;gap:7px;color:var(--vschool-navy);font-size:13px;font-weight:800}.purchase-order-bar input{width:100%;min-height:42px;padding:0 12px;border:1px solid #d9c4b4;border-radius:8px;background:#fff;color:var(--vschool-navy-strong);font:inherit}.menu-planning-grid{grid-template-columns:minmax(0,1fr) minmax(380px,.8fr);align-items:start}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.section-heading h2{margin:0;color:var(--vschool-navy-strong);font-size:20px}.meal-section-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:18px}.meal-section{min-width:0;padding:12px;border:1px solid #dce6f2;border-top:3px solid var(--vschool-gold);border-radius:8px;background:#fbfdff}.meal-section:nth-child(2){border-top-color:var(--vschool-red)}.meal-section:nth-child(3){border-top-color:#178d5c}.meal-section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.meal-section-heading h3{margin:0;color:var(--vschool-navy-strong);font-size:16px}.meal-section-heading span{color:var(--muted);font-size:12px;font-weight:800}.meal-section .menu-dish-list{gap:8px}.meal-section .menu-dish-list article{grid-template-columns:1fr;gap:6px;padding:10px}.meal-section .status-pill{justify-self:start}.meal-section .empty-state-inline{margin:0;min-height:72px;display:grid;place-items:center;padding:10px;border:1px dashed #c8d9ea;border-radius:6px;color:var(--muted);font-size:13px;text-align:center}.menu-dish-list article,.ingredient-demand article,.recipe-list article{display:grid;gap:8px;padding:12px;border:1px solid #dce6f2;border-left:4px solid var(--vschool-gold);border-radius:8px;background:#fff}.menu-dish-list article{grid-template-columns:minmax(0,1fr) auto;align-items:center;border-left-color:#178d5c}.menu-dish-list div,.ingredient-demand article div,.recipe-list article{min-width:0}.menu-dish-list div,.ingredient-demand article div{display:grid;gap:4px}.menu-dish-list span:not(.status-pill),.ingredient-demand span,.recipe-list span{color:var(--muted);font-size:13px}.ingredient-demand{margin-top:18px}.ingredient-demand h3{margin:0;color:var(--vschool-navy-strong);font-size:17px}.ingredient-demand article{grid-template-columns:minmax(0,1.3fr) repeat(2,minmax(130px,.55fr));align-items:center}.ingredient-demand strong,.recipe-list strong{color:var(--vschool-navy-strong)}.ingredient-demand .empty-state-inline{margin:0;padding:14px;border:1px dashed #c8d9ea;border-radius:8px;background:#fbfdff}.recipe-form{padding-top:12px;border-top:1px solid #e8edf3}.recipe-ingredient-list>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,.45fr) 42px;gap:8px}.recipe-ingredient-list .icon-button{height:42px;width:42px}.report-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px}.report-summary div{display:grid;gap:5px;padding:12px;border:1px solid #dce6f2;border-left:4px solid var(--vschool-navy);border-radius:8px;background:#fbfdff}.report-summary div:nth-child(2){border-left-color:var(--vschool-red)}.report-summary div:nth-child(3){border-left-color:#178d5c}.report-summary span,.report-summary small,.report-class-row span:not(.status-pill){color:var(--muted);font-size:13px;line-height:1.4}.report-summary strong,.report-class-row strong{color:var(--vschool-navy-strong)}.report-class-list{display:grid;gap:10px}.report-class-row{display:grid;grid-template-columns:minmax(180px,1.2fr) repeat(3,minmax(90px,.45fr)) auto;gap:12px;align-items:center;padding:12px;border:1px solid #dce6f2;border-left:4px solid var(--vschool-gold);border-radius:8px;background:#fff}.report-class-row.locked{border-left-color:#178d5c}.accounting-reconciliation{display:grid;gap:14px}.supplier-order-panel{display:grid;gap:14px;margin-top:18px}.supplier-dashboard{gap:16px}.supplier-dashboard-hero{display:flex;align-items:center;justify-content:space-between;gap:20px}.supplier-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.supplier-summary-panel{display:grid;align-content:start;gap:14px}.supplier-summary-list{display:grid;gap:8px}.supplier-summary-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border:1px solid #dce6f2;border-left:3px solid var(--vschool-navy);border-radius:6px}.supplier-summary-list article>div{display:grid;gap:3px;min-width:0}.supplier-summary-list span{color:var(--text-muted);font-size:.8rem}.supplier-summary-list strong{color:var(--vschool-navy)}.supplier-refresh{justify-self:end;display:inline-flex;align-items:center;gap:7px;border:1px solid #efc8b6;border-radius:6px;background:#fff;color:var(--vschool-navy);padding:8px 12px;font:inherit;font-weight:700;cursor:pointer}.supplier-order-card{display:grid;gap:12px;padding:14px;border:1px solid #dce6f2;border-left:4px solid var(--vschool-navy);border-radius:8px;background:#fff}.supplier-order-heading,.supplier-order-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.supplier-order-heading div,.supplier-order-items article{display:grid;gap:4px}.supplier-invoice-status{margin:0;color:var(--muted)}.supplier-order-items{display:grid;gap:8px}.supplier-order-items article{padding:10px;border:1px solid #dce6f2;border-radius:6px}.supplier-order-inputs{display:grid;grid-template-columns:repeat(4,minmax(90px,1fr)) auto;gap:8px;align-items:end}.supplier-order-inputs label{display:grid;gap:4px}.supplier-invoice-form{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr)) auto;gap:8px;align-items:end;padding:10px;border:1px dashed #d7a890;border-radius:6px;background:#fffaf6}.supplier-invoice-form label{display:grid;gap:4px}.reconciliation-row.matched{border-left-color:#178d5c}.reconciliation-row.pending{border-left-color:var(--vschool-gold)}.reconciliation-row.variance{border-left-color:var(--vschool-red)}.report-class-row div{display:grid;gap:4px}.report-filter-note{margin:0;padding:13px;border:1px solid #dce6f2;border-left:4px solid var(--vschool-navy);border-radius:8px;background:#fbfdff;color:var(--muted);line-height:1.5}.supplier-toolbar label,.delivery-lead-form label,.delivery-entry-grid label{display:grid;gap:7px;color:var(--vschool-navy);font-size:13px;font-weight:800}.supplier-toolbar input,.delivery-lead-form input,.delivery-entry-grid input{width:100%;min-height:42px;padding:0 12px;border:1px solid #d9c4b4;border-radius:8px;background:#fff;color:var(--vschool-navy-strong);font:inherit}.supplier-toolbar button{min-height:42px}.delivery-overview,.delivery-lead-form,.delivery-open-warning,.delivery-disabled{display:flex;align-items:center;gap:12px;margin-bottom:14px;padding:14px;border:1px solid #dce6f2;border-radius:8px;background:#fff}.delivery-overview{justify-content:space-between;border-left:4px solid var(--vschool-navy)}.delivery-overview h2,.delivery-disabled h2{margin:0;color:var(--vschool-navy-strong);font-size:20px}.delivery-overview .eyebrow{margin-bottom:4px}.delivery-lead-form{align-items:end;border-left:4px solid var(--vschool-red)}.delivery-lead-form label{flex:1}.delivery-lead-form button{min-height:42px}.delivery-open-warning,.delivery-disabled{align-items:flex-start;border-color:#f5cd8b;border-left:4px solid var(--vschool-gold);background:#fff7e8;color:#744500}.delivery-open-warning div,.delivery-disabled div{display:grid;gap:5px}.delivery-open-warning span,.delivery-disabled p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.delivery-class-list{display:grid;gap:12px}.delivery-class-row{display:grid;gap:14px;padding:14px;border:1px solid #dce6f2;border-left:4px solid var(--vschool-gold);border-radius:8px;background:#fff}.delivery-class-done{border-left-color:#178d5c}.delivery-class-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.delivery-class-heading div{display:grid;gap:5px}.delivery-class-heading strong{color:var(--vschool-navy-strong);font-size:17px}.delivery-class-heading span:not(.status-pill){color:var(--muted);font-size:13px;line-height:1.45}.delivery-quantities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.delivery-quantities div{display:grid;gap:4px;padding:10px 12px;border:1px solid #dce6f2;border-radius:8px;background:#fbfdff}.delivery-quantities span{color:var(--muted);font-size:12px;font-weight:800}.delivery-quantities strong{color:var(--vschool-navy-strong);font-size:20px}.delivery-entry-grid{display:grid;grid-template-columns:minmax(130px,.45fr) minmax(200px,.8fr) minmax(250px,1.2fr) auto;gap:10px;align-items:end}.delivery-entry-grid button{min-height:42px;white-space:nowrap}.supply-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}.supply-form-grid label{display:grid;gap:7px;color:var(--vschool-navy);font-size:13px;font-weight:800}.supply-form-grid input{width:100%;min-height:42px;padding:0 12px;border:1px solid #d9c4b4;border-radius:8px;background:#fff;color:var(--vschool-navy-strong);font:inherit}.supply-form-grid .supply-note{grid-column:span 3}.supply-form-grid button{min-height:42px;align-self:end}.supply-list{display:grid;gap:10px}.supply-list h2{margin:0;color:var(--vschool-navy-strong);font-size:19px}.supply-row{display:grid;grid-template-columns:minmax(210px,1.2fr) repeat(3,minmax(130px,.55fr));gap:12px;align-items:center;padding:12px;border:1px solid #dce6f2;border-left:4px solid #178d5c;border-radius:8px;background:#fff}.supply-row div{display:grid;gap:4px}.supply-row strong{color:var(--vschool-navy-strong)}.supply-row span,.supply-row small{color:var(--muted);font-size:13px;line-height:1.4}.meal-count-row{display:grid;grid-template-columns:minmax(220px,1.2fr) repeat(3,minmax(96px,.55fr)) minmax(100px,auto) auto;gap:12px;align-items:center;padding:14px;border:1px solid #dce6f2;border-left:4px solid var(--vschool-gold);border-radius:8px;background:#fff}.meal-count-row .status-pill{justify-self:start}.meal-count-locked{border-left-color:#17935f}.meal-class-cell,.meal-number-cell{display:grid;gap:4px}.meal-class-cell strong{color:var(--vschool-navy-strong);font-size:16px}.meal-class-cell span,.meal-number-cell span{color:var(--muted);font-size:13px}.meal-number-cell strong{color:var(--vschool-navy-strong);font-size:20px}.meal-row-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.meal-note-field{display:grid;grid-column:1 / -1;gap:7px;padding-top:10px;border-top:1px solid #edf2f7;color:var(--vschool-navy);font-size:13px;font-weight:800}.meal-note-field input{width:100%;min-height:42px;padding:0 12px;border:1px solid #d9c4b4;border-radius:8px;background:#fffdfb;color:var(--vschool-navy-strong);font:inherit}.meal-note-field small{color:var(--muted);font-weight:700}.empty-state-inline{display:inline-flex;align-items:center;gap:10px;margin-top:14px;padding:12px;border:1px solid #dce6f2;border-radius:8px;background:#fff;color:var(--muted);font-weight:700}.password-settings-form{max-width:560px}.inline-password-field{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:8px}.inline-password-field .icon-button{width:42px;height:42px}.account-list{display:grid;gap:10px}.account-row{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(180px,.8fr) auto;gap:14px;align-items:center;padding:14px;border:1px solid #dce6f2;border-radius:8px;background:#fff}.account-main,.account-meta,.account-actions{display:grid;gap:7px}.account-main strong{color:var(--vschool-navy-strong);font-size:16px}.account-main span{display:inline-flex;align-items:center;gap:6px;min-width:0;color:var(--muted);font-size:13px}.account-meta{justify-items:start}.account-meta small{color:var(--muted)}.status-active{background:#e8f6ef;color:#12613f}.status-pending{background:#fff1d8;color:#8a5600}.status-locked,.status-inactive{background:#fff0eb;color:var(--vschool-red-dark)}.small-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:0 11px;border:1px solid #d7eadf;border-radius:8px;background:#edf8f2;color:#12613f;cursor:pointer;font-weight:800}.small-action.danger{border-color:#f1c5b9;background:#fff0eb;color:var(--vschool-red-dark)}.small-action:disabled{cursor:wait;opacity:.6}@media(max-width:1040px){.app-shell{grid-template-columns:1fr}.sidebar{position:sticky;top:0;z-index:10;padding:14px}.brand-block{min-height:60px;justify-content:flex-start;padding:0}.brand-logo{width:172px}.nav-list{grid-auto-flow:column;grid-auto-columns:max-content;overflow-x:auto;padding-bottom:4px}.nav-item{width:auto;white-space:nowrap}.kpi-grid,.dashboard-grid,.lower-grid,.identity-grid,.supplier-summary-grid,.attendance-toolbar{grid-template-columns:1fr 1fr}.menu-toolbar{grid-template-columns:1fr 1fr 1fr}.menu-planning-grid{grid-template-columns:1fr}.meal-section-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.attendance-row,.meal-toolbar,.supplier-toolbar,.report-toolbar,.budget-settings-grid,.supply-form-grid,.meal-count-row,.kitchen-grid,.kitchen-workflow-steps,.operation-settings-grid{grid-template-columns:1fr 1fr}.catalog-editor-grid{grid-template-columns:1fr 1fr 1fr}.meal-summary-grid,.meal-role-note,.report-summary{grid-template-columns:1fr}.wide-panel{grid-column:1 / -1}.login-page{grid-template-columns:1fr;padding-bottom:84px}.login-hero h1{font-size:34px}}@media(max-width:720px){.topbar,.dashboard{padding-left:16px;padding-right:16px}.topbar{align-items:flex-start;flex-direction:column}.system-hero-panel{flex-direction:column}.system-hero-panel h2{font-size:24px}.topbar h1{font-size:21px}.language-switch{order:-1}.admin-school-selector{width:100%}.login-page{padding:18px}.login-footnote{position:static;width:auto;grid-column:1;transform:none;font-size:12px}.login-logo{width:min(320px,100%)}.login-panel{padding:20px}.login-secondary-actions,.form-actions,.module-toggle-grid,.split-fields{grid-template-columns:1fr}.school-card-actions{align-items:stretch;flex-direction:column}.school-card-actions .small-action{width:100%}.kpi-grid,.dashboard-grid,.lower-grid,.identity-grid,.identity-kpis,.supplier-summary-grid,.operation-settings-grid,.catalog-editor-grid,.settings-audit-export,.settings-time-grid,.school-settings-panel .settings-account-list,.attendance-toolbar,.menu-toolbar,.meal-section-grid,.attendance-row,.meal-toolbar,.supplier-toolbar,.report-toolbar,.supply-form-grid,.meal-count-row,.meal-summary-grid,.meal-role-note,.kitchen-workflow-meta,.kitchen-workflow-steps,.kitchen-note-row{grid-template-columns:1fr}.delivery-lead-form,.delivery-class-heading{align-items:stretch;flex-direction:column}.delivery-quantities,.delivery-entry-grid,.supply-row,.report-class-row{grid-template-columns:1fr}.meal-close-main{flex-direction:column}.kitchen-grid{grid-template-columns:1fr}.kitchen-status-panel{align-items:flex-start;flex-direction:column}.kitchen-supply-status{flex-direction:column}.attendance-toolbar{align-items:stretch}.account-row{grid-template-columns:1fr}.table-row{grid-template-columns:1.1fr repeat(4,minmax(54px,1fr));gap:6px;padding:10px;font-size:13px}}@media print{.sidebar,.topbar,.meal-toolbar,.kitchen-workflow-steps{display:none!important}.app-shell{display:block}.workspace,.dashboard{background:#fff}.dashboard{padding:0}.operation-panel,.kpi-card,.kitchen-list-panel,.kitchen-note-alerts,.kitchen-status-panel,.kitchen-workflow-panel{break-inside:avoid;box-shadow:none}.supplier-toolbar,.delivery-lead-form button,.delivery-entry-grid,.supply-form-grid{display:none!important}}
