.action-feedback-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:grid;place-items:center;padding:20px;background:#0f172a8c}.action-feedback-card{width:min(100%,520px);max-height:85dvh;overflow-y:auto;padding:24px;border-radius:16px;background:#fff;color:#172033;box-shadow:0 24px 70px #0000003d}.action-feedback-card h2{margin:0 0 16px;font-size:1.2rem}.action-feedback-messages p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.action-feedback-card button{display:block;margin:20px 0 0 auto;min-width:90px;min-height:44px;border:0;border-radius:8px;background:#174c3c;color:#fff;font:inherit;font-weight:600;cursor:pointer}.action-feedback-card button:focus-visible{outline:3px solid #d38b17;outline-offset:3px}.principal-overview{background:#fff;border:1px solid #dae1ed;border-radius:18px;padding:24px;margin-bottom:24px}.principal-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.principal-heading h1,.principal-heading h2{margin:0 0 6px;color:#20254c}.principal-heading p{margin:0;color:#66738a;font-size:14px}.principal-refresh{display:inline-flex;align-items:center;gap:7px;background:#fff!important;color:#52478a!important;border:1px solid #d9deeb!important;padding:9px 12px!important;border-radius:9px!important}.principal-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}.principal-quick{position:relative;display:flex;flex-direction:column;gap:10px;padding:20px;border:1px solid #e0e5ef;border-radius:14px;text-decoration:none!important;color:#26314c!important;background:#fbfcff}.principal-quick>svg:first-child{color:#6351a5}.principal-quick>svg:last-child{position:absolute;right:18px;top:22px}.principal-quick strong{font-size:17px}.principal-quick>span{font-size:15px;font-weight:650}.principal-quick small{color:#69778e;font-size:13px}.principal-page{display:flex;flex-direction:column;gap:20px;max-width:1200px}.principal-tabs{display:flex;gap:10px;flex-wrap:wrap}.principal-tabs button{display:flex;align-items:center;gap:10px;background:#fff!important;color:#4d5671!important;border:1px solid #d8deeb!important;border-radius:12px!important;padding:12px 17px!important}.principal-tabs button[aria-pressed=true]{background:#ede8fb!important;color:#3c2b7c!important;border-color:#c9bbed!important}.principal-tabs span{border-radius:20px;padding:2px 8px;background:#fff;font-size:12px}.principal-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px}.principal-toolbar h2{font-size:21px;margin:0}.principal-toolbar input{width:300px;max-width:100%;border:1px solid #d8deeb;border-radius:10px;padding:11px;background:#fff}.principal-note{font-size:13px;color:#6a758a;margin:0}.principal-records{display:flex;flex-direction:column;gap:15px}.principal-record{padding:22px;background:#fff;border:1px solid #dce2ed;border-radius:15px}.principal-record-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.principal-record h3{font-size:18px;margin:0 0 7px;color:#26314d}.principal-record-top p{font-size:14px;color:#6c7890;margin:0}.principal-balance{background:#eaf6f0;color:#25674e;border-radius:9px;padding:9px 12px;white-space:nowrap;font-size:18px}.principal-age{font-size:12px;color:#4d607b;padding:7px 9px;background:#eff3fa;border-radius:7px}.principal-age-old{background:#fff1df;color:#80531c}.principal-item{display:block;margin-top:18px}.principal-comparison{display:flex;gap:20px;flex-wrap:wrap;padding:14px 0;color:#6c7890;font-size:14px}.principal-comparison b{color:#293756;margin-left:5px}.principal-reason{background:#f7f8fc;border-radius:9px;padding:12px 14px;font-size:14px;overflow-wrap:anywhere}.principal-next{font-size:14px;margin:16px 0;color:#3b4d69}.principal-owner{font-size:14px;color:#6c7890}.principal-record-actions{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap}.principal-record-actions>a{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:#5a4593;font-weight:650}.principal-record-actions details{flex:1;min-width:240px;font-size:13px}.principal-record-actions summary{cursor:pointer;color:#59677e}.principal-history{display:flex;flex-direction:column;gap:12px;padding-left:20px}.principal-history li>span{display:block;margin-top:5px;line-height:1.7}.principal-empty{padding:36px 24px;border:1px solid #dde5eb;border-radius:14px;background:#fff;text-align:center;color:#68778b}.principal-empty svg{color:#388169}.principal-empty h2{font-size:20px;color:#314060}.principal-more{align-self:center;background:#fff!important;border:1px solid #d7deea!important;color:#574489!important;border-radius:10px!important}.principal-updated{color:#738096}.principal-assistant{position:fixed;right:24px;bottom:24px;z-index:80;display:flex;flex-direction:column;align-items:flex-end;gap:12px}.principal-chat-launcher{display:flex;align-items:center;gap:9px;border-radius:30px!important;padding:14px 20px!important;background:#493278!important;color:#fff!important;box-shadow:0 5px 24px #34285830}.principal-chat{width:410px;height:min(640px,calc(100dvh - 115px));display:flex;flex-direction:column;border:1px solid #dcd6e9;border-radius:18px;background:#fff;box-shadow:0 12px 50px #20263b30;overflow:hidden}.principal-chat>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:17px;background:#f6f3fc}.principal-chat>header>div{display:flex;align-items:center;gap:10px}.principal-chat h2{font-size:17px;margin:0;color:#382958}.principal-chat header small{font-size:12px;color:#726a85}.principal-chat header button{padding:6px!important;background:transparent!important;color:#635a77!important;border:none!important}.principal-chat-messages{padding:16px;overflow:auto;flex:1;min-height:0;overscroll-behavior:contain}.principal-chat-welcome h3{font-size:18px;color:#35284e}.principal-chat-welcome p{font-size:14px;color:#73758a;line-height:1.6}.principal-prompts{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.principal-prompts button{font-size:12px!important;padding:8px 10px!important;text-align:left!important;border-radius:9px!important;background:#f7f4fc!important;color:#5b437c!important;border:1px solid #e6dff0!important}.principal-message{padding:12px;border-radius:12px;margin-bottom:12px;overflow-wrap:anywhere;font-size:14px;line-height:1.65}.principal-message p{white-space:pre-wrap;margin:0}.principal-message-user{background:#eee8f9;margin-left:35px;color:#3d3057}.principal-message-assistant{background:#f6f8fb;margin-right:12px;color:#34415b}.principal-chat-sources{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.principal-chat-sources a{font-size:12px;color:#5d4087}.principal-chat>form{display:flex;gap:8px;align-items:center;border-top:1px solid #eee8f3;padding:12px}.principal-chat textarea{resize:none;flex:1;min-width:0;border:1px solid #d9d4e5;border-radius:10px;padding:9px;font:inherit;font-size:14px}.principal-chat form button{background:#50367f!important;border-radius:10px!important;padding:11px!important;color:#fff!important}.principal-chat form button:disabled{opacity:.5}.principal-chat footer{padding:0 12px 12px;color:#7b7b88;font-size:11px}.principal-chat-error{padding:12px;background:#fff2eb;border-radius:9px;font-size:13px;color:#8c4f35}.principal-chat-working{font-size:13px;color:#7d7293}@media(max-width:700px){.principal-quick-grid{grid-template-columns:1fr}.principal-overview{padding:18px}.principal-heading{align-items:flex-start}.principal-heading h1{font-size:25px}.principal-toolbar{align-items:flex-start;flex-direction:column}.principal-toolbar label,.principal-toolbar input{width:100%}.principal-record{padding:16px}.principal-record-top{flex-wrap:wrap;gap:12px}.principal-balance{font-size:16px}.principal-comparison{gap:12px}.principal-record-actions details{min-width:0;flex-basis:100%}.principal-assistant{right:12px;bottom:12px}.principal-chat{width:calc(100vw - 24px);height:min(620px,calc(100dvh - 100px))}.principal-chat-launcher{padding:12px 16px!important}.principal-tabs{gap:7px}.principal-tabs button{padding:10px!important;font-size:12px!important}.principal-heading p{line-height:1.5}.principal-page{padding-bottom:90px}}.portal-actions{display:flex;align-items:center;justify-content:flex-end;justify-self:end;flex-wrap:wrap;gap:8px}.portal-actions>:only-child{grid-column:1 / -1}.portal-actions .module-access-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 12px;border:1px solid #d8e1e8;border-radius:8px;background:#f5f6fb;color:var(--brand-primary);font-weight:700;text-decoration:none;white-space:nowrap}.portal-actions .module-access-link:hover{background:#e9eaf5}.topbar .brand-row,.topbar .portal-user-panel,.topbar .portal-actions{min-width:0;max-width:100%}.topbar .brand-row span,.topbar .portal-user-panel{overflow-wrap:anywhere}.portal-actions svg{flex-shrink:0}@media(min-width:901px){.app-shell>.topbar{grid-template-columns:minmax(0,1fr) minmax(180px,.6fr) minmax(0,1fr)}}@media(max-width:900px){.topbar .brand-row{grid-column:1;grid-row:1}.topbar .portal-actions{grid-column:2;grid-row:1}.topbar .portal-user-panel{grid-column:1 / -1;grid-row:2;justify-self:start;justify-items:start;text-align:left}.topbar .portal-user-panel span{font-size:.875rem}}@media(max-width:560px){.app-shell>.topbar{grid-template-columns:minmax(0,1fr);gap:8px;padding:12px 14px}.topbar .portal-actions{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);grid-column:1;grid-row:3;width:100%}.portal-actions .module-access-link,.portal-actions .logout-button{width:100%;min-width:0;min-height:44px;gap:6px;padding:8px;font-size:1rem;line-height:1.25;white-space:normal}}.portal-actions .notification-header-link{width:auto;flex:0 0 auto}@media(max-width:560px){.portal-actions .notification-header-link{width:100%}}:root{--brand-primary: #251f60;--brand-secondary: #f89b1c;--brand-secondary-soft: #fff4df;--brand-primary-soft: #eeecff;color:#16202a;background:#f5f7f9;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden}html,body,#root{width:100%}a{color:var(--brand-primary);font-weight:700;text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}input[type=checkbox]{width:16px;height:16px;min-width:16px;min-height:16px;padding:0;flex:0 0 auto;accent-color:#0d6efd}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}button{min-height:44px;border:0;border-radius:8px;color:#fff;background:var(--brand-primary);cursor:pointer;font-weight:800;transition:background .16s ease,transform .16s ease}button:hover:not(:disabled){filter:brightness(.94);transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.72}.auth-page{display:grid;min-height:100vh;place-items:center;padding:40px 18px;background:linear-gradient(135deg,rgba(20,108,95,.12),transparent 34%),linear-gradient(315deg,rgba(11,107,203,.1),transparent 38%),#f5f7f9}.auth-panel{display:grid;width:min(100%,460px);gap:0;padding:36px;border:1px solid #d8e1e8;border-radius:8px;background:#fff;box-shadow:0 18px 48px #16202a1f}.auth-logo{width:min(100%,260px);height:auto;margin:0 auto 28px;object-fit:contain}.auth-panel h1,.dashboard h1{margin:0;color:#101820;font-size:2rem;line-height:1.15}.auth-panel h1{text-align:center}.auth-panel>p,.dashboard-copy{margin:10px 0 0;color:#53616f}.auth-panel>p{text-align:center}.auth-form{display:grid;gap:20px;margin-top:30px}.auth-form label{display:grid;gap:8px;color:#2c3945;font-weight:700}.auth-form input{min-height:46px;width:100%;border:1px solid #bfccd7;border-radius:8px;padding:11px 13px;color:#16202a;background:#fff}.auth-form input:focus{border-color:var(--brand-primary);outline:3px solid rgba(37,31,96,.16)}.form-error{margin:0;border-radius:8px;padding:10px 12px;color:#8a1f11;background:#fff1ed;font-weight:700}.field-error-text{display:block;margin-top:6px;border-radius:6px;padding:5px 7px;color:#8a1f11;background:#fff1ed;font-size:.78rem;font-weight:900;line-height:1.3}.auth-link{margin:22px 0 0;text-align:center}.app-shell{display:flex;min-height:100vh;min-height:100dvh;flex-direction:column;background:#f5f7f9}.topbar{display:grid;width:100%;grid-template-columns:minmax(0,1fr) minmax(180px,auto) minmax(120px,1fr);align-items:center;gap:18px;min-height:72px;border-bottom:1px solid #d8e1e8;padding:10px clamp(16px,3vw,36px);background:#fff}.brand-row{display:inline-flex;align-items:center;min-width:0;justify-self:start;gap:12px;color:var(--brand-primary);font-weight:900}.portal-logo{width:64px;height:42px;flex:0 0 auto;object-fit:contain}.brand-row span{min-width:0;overflow-wrap:break-word}.portal-user-panel{display:grid;justify-self:center;justify-items:center;color:#2c3945;font-weight:800;text-align:center}.portal-user-panel strong{color:var(--brand-primary);font-size:.98rem;line-height:1.25}.portal-user-panel span{color:#53616f;font-size:.82rem;line-height:1.25}.icon-button{display:grid;width:44px;min-height:44px;justify-self:end;place-items:center;padding:0;background:var(--brand-secondary)}.icon-button:hover:not(:disabled){background:#d97c00}.logout-button{display:inline-flex;width:auto;min-width:104px;justify-self:end;justify-content:center;gap:8px;padding:0 14px;color:#fff;white-space:nowrap}.dashboard{width:min(100%,1480px);min-width:0;margin:0 auto;padding:clamp(28px,5vw,56px) clamp(16px,3vw,36px)}.dashboard>*,.menu-grid>*,.form-grid>label,.master-toolbar>*,.user-toolbar>*{min-width:0}.admin-dashboard{display:grid;width:min(100%,1560px);gap:26px}.admin-dashboard-header{display:flex;align-items:end;justify-content:space-between;gap:18px}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px}.summary-card{display:flex;min-height:126px;align-items:center;gap:16px;border:1px solid #d8e1e8;border-radius:8px;padding:20px;background:#fff;box-shadow:0 10px 28px #16202a14}.summary-icon{display:grid;width:48px;height:48px;flex:0 0 auto;place-items:center;border-radius:8px;color:var(--brand-primary);background:var(--brand-primary-soft)}.summary-card p{margin:0;color:#53616f;font-size:.82rem;font-weight:900;text-transform:uppercase}.summary-card strong{display:block;margin-top:4px;color:#101820;font-size:2.15rem;line-height:1}.admin-section-heading h2{margin:2px 0 -8px;color:#101820;font-size:1.15rem;line-height:1.3}.dashboard-empty{min-height:calc(100vh - 72px)}.menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:18px}.admin-menu-grid,.hod-menu-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}.hod-summary-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));margin-bottom:22px}.staff-dashboard-summary{width:100%;margin-bottom:22px}.staff-request-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}.ceo-menu-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))}.ceo-dashboard{width:min(100%,1640px);gap:24px}.ceo-section,.ceo-analysis-card,.ceo-table-section{display:grid;gap:16px}.ceo-section-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.ceo-section-header h2{margin:0;color:#101820;font-size:1.1rem;line-height:1.25}.ceo-section-header p{margin:5px 0 0;color:#53616f;font-size:.92rem;font-weight:700;line-height:1.45}.ceo-summary-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}.ceo-summary-card{min-height:138px;align-items:flex-start}.ceo-summary-card>div{min-width:0}.ceo-summary-card strong{overflow-wrap:break-word;font-size:clamp(1.45rem,2.3vw,2.1rem)}.ceo-filter-panel{padding:18px}.ceo-filter-toolbar{display:grid;gap:14px}.ceo-filter-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));align-items:end}.ceo-navigation-card{min-height:142px}.ceo-dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,430px),1fr));gap:18px}.menu-costing-chart{display:grid;gap:12px;min-height:220px;padding:14px;border:1px solid #e3ebf0;border-radius:8px;background:#f8fafc}.menu-costing-chart-row{display:grid;grid-template-columns:minmax(90px,.9fr) minmax(130px,2fr) minmax(130px,auto);align-items:center;gap:10px;min-width:0;color:#243140;font-size:.8rem}.menu-costing-chart-row strong,.menu-costing-chart-row small{min-width:0;overflow-wrap:break-word}.menu-costing-chart-row small{text-align:right;font-weight:800}.menu-costing-grouped-chart,.menu-purchase-tracking{align-content:start}.menu-costing-week-group,.menu-tracking-group{display:grid;gap:10px;min-width:0}.menu-costing-week-group h3,.menu-tracking-group h3{margin:0;color:#251f60;font-size:.96rem;line-height:1.3}.menu-tracking-group p{margin:0;color:#53616f;font-size:.84rem;font-weight:800}.menu-tracking-group ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.menu-tracking-group li{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;padding:8px 10px;border:1px solid #e3ebf0;border-radius:8px;background:#fff}.menu-tracking-group li span{min-width:0;overflow-wrap:break-word;color:#243140;font-size:.84rem;font-weight:800}.tracking-status-purchased,.tracking-status-pending{flex:0 0 auto;border-radius:999px;padding:4px 9px;font-size:.76rem}.tracking-status-purchased{color:#007a45;background:#e5f8ef}.tracking-status-pending{color:#8a5100;background:#fff1cf}.menu-costing-dual-bars,.menu-costing-single-bar{display:grid;gap:4px;min-width:0}.menu-costing-dual-bars span,.menu-costing-single-bar span{display:block;width:var(--bar-width);min-width:3px;height:9px;border-radius:999px}.menu-costing-original-bar{background:#251f60}.menu-costing-actual-bar,.menu-costing-over-bar{background:#f89b1c}.menu-costing-under-bar{background:#2a8c6a}.menu-costing-report-table{min-width:1620px}.menu-costing-report-table th,.menu-costing-report-table td{overflow-wrap:break-word;vertical-align:top}.menu-costing-report-table th:nth-child(n+7),.menu-costing-report-table td:nth-child(n+7){white-space:nowrap;text-align:right}.menu-costing-request-link{color:#251f60;font-weight:800;text-decoration:underline;text-underline-offset:2px}.menu-costing-request-link:hover,.menu-costing-request-link:focus-visible{color:#a64d00}.menu-costing-note{margin:0;padding:10px 12px;border-left:3px solid #f89b1c;background:#fff8ed;color:#251f60;font-size:.88rem;line-height:1.5}.ceo-analysis-card,.ceo-table-section{border:1px solid #d8e1e8;border-radius:8px;padding:18px;background:#fff;box-shadow:0 10px 28px #16202a14}.ceo-bar-chart{display:grid;min-height:190px;grid-template-columns:repeat(6,minmax(22px,1fr));align-items:end;gap:12px;border:1px solid #e3ebf0;border-radius:8px;padding:18px;background:linear-gradient(180deg,#f8fafc,#fff)}.ceo-bar-chart span{display:block;min-height:24px;height:var(--bar-height);border-radius:8px 8px 4px 4px;background:var(--brand-primary)}.ceo-spending-bars{display:grid;gap:12px;border:1px solid #e3ebf0;border-radius:8px;padding:14px;background:#f8fafc}.ceo-spending-row{display:grid;grid-template-columns:minmax(120px,1.2fr) minmax(110px,2fr) minmax(104px,auto);align-items:center;gap:12px;color:#243140;font-size:.9rem;font-weight:800}.ceo-spending-row span{min-width:0;overflow-wrap:break-word}.ceo-spending-row div{height:12px;overflow:hidden;border-radius:999px;background:#dfe8ed}.ceo-spending-row i{display:block;width:var(--bar-width);height:100%;border-radius:inherit;background:var(--brand-primary)}.ceo-spending-row strong{text-align:right;white-space:nowrap}.ceo-spending-empty{color:#53616f;font-size:.92rem;font-weight:800}.ceo-monthly-chart{display:grid;min-height:260px;grid-template-columns:repeat(auto-fit,minmax(86px,1fr));align-items:end;gap:14px;border:1px solid #e3ebf0;border-radius:8px;padding:18px;background:linear-gradient(180deg,#f8fafc,#fff)}.ceo-monthly-bar{display:grid;min-width:0;height:220px;grid-template-rows:auto 1fr auto;align-items:end;gap:8px;color:#243140;text-align:center;font-weight:800}.ceo-monthly-bar span{min-height:34px;overflow-wrap:break-word;font-size:.78rem;line-height:1.25}.ceo-monthly-bar i{display:block;width:min(100%,42px);min-height:8px;height:var(--bar-height);justify-self:center;border-radius:8px 8px 4px 4px;background:var(--brand-primary)}.ceo-monthly-bar strong{min-height:34px;overflow-wrap:break-word;font-size:.82rem;line-height:1.25}.ceo-table{min-width:760px}.ceo-table th,.ceo-table td{min-width:118px;word-break:normal;overflow-wrap:break-word}.menu-card{display:grid;min-height:164px;align-content:space-between;border:1px solid #d8e1e8;border-radius:8px;padding:22px;color:#16202a;background:#fff;box-shadow:0 10px 28px #16202a14;font-size:1.05rem;font-weight:900;text-decoration:none;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.menu-card:hover,.menu-card:focus-visible{border-color:var(--brand-primary);color:#fff;background:var(--brand-primary);box-shadow:0 16px 34px #251f602e;text-decoration:none;transform:translateY(-2px)}.menu-card:focus-visible{outline:3px solid rgba(248,155,28,.24);outline-offset:3px}.menu-card-disabled{color:#5f6d7a;background:#f5f7f9;box-shadow:none;cursor:not-allowed}.menu-card-disabled:hover,.menu-card-disabled:focus-visible{border-color:#d8e1e8;color:#5f6d7a;background:#f5f7f9;box-shadow:none;transform:none}.menu-card-note{color:#5f6d7a;font-size:.88rem;font-weight:700;line-height:1.35}.menu-card:hover .menu-card-note,.menu-card:focus-visible .menu-card-note{color:#fff}.menu-icon{display:grid;width:52px;height:52px;place-items:center;border-radius:8px;color:var(--brand-primary);background:var(--brand-primary-soft)}.menu-icon-success{color:var(--brand-primary);background:var(--brand-secondary-soft)}.ingredient-management-card{grid-column:span 2;gap:16px}.sub-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:10px}.sub-menu-card{display:flex;min-height:58px;align-items:center;gap:10px;border:1px solid #e3ebf0;border-radius:8px;padding:10px 12px;color:var(--brand-primary);background:#fff;font-size:.9rem;font-weight:900;text-decoration:none}.sub-menu-card:hover,.sub-menu-card:focus-visible{border-color:var(--brand-primary);color:#fff;background:var(--brand-primary);text-decoration:none}.menu-icon-danger{color:#8a1f11;background:#fff1ed}.request-summary-card{gap:18px}.request-summary-content{display:grid;gap:14px}.request-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:0}.request-summary-grid div{border:1px solid #e3ebf0;border-radius:8px;padding:10px;background:#f8fafc}.request-summary-grid dt{margin:0 0 4px;color:#53616f;font-size:.74rem;font-weight:900;line-height:1.2;text-transform:uppercase}.request-summary-grid dd{margin:0;color:#101820;font-size:1.35rem;font-weight:900;line-height:1}.request-summary-error{margin:0;color:#8a1f11;font-size:.9rem;font-weight:800}.purchase-request-section-stack{display:grid;gap:24px}.purchase-request-section-card{display:grid;gap:14px}.supplier-invoice-summary{border:1px solid #d8e1e8;border-radius:8px;padding:18px;background:#fff}.supplier-invoice-card{display:grid;gap:14px;border:1px solid #d8e1e8;border-radius:8px;padding:18px;background:#fff}.supplier-invoice-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.supplier-invoice-card-header h3{margin:0;color:#101820;font-size:1rem;line-height:1.25}.supplier-invoice-card-header p{margin:4px 0 0;color:#53616f;font-size:.85rem;font-weight:800}.supplier-prf-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:8px}.supplier-prf-pill{display:inline-flex;align-items:center;gap:8px;border:1px solid #d8e1e8;border-radius:8px;padding:7px 9px;background:#f8fafc;color:#16202a;font-size:.84rem}.supplier-prf-pill strong{color:var(--brand-primary)}.supplier-prf-pill span{color:#53616f;font-weight:800}.purchaser-supplier-invoice-table{min-width:1120px}.supplier-invoice-item-table{min-width:1240px}.supplier-invoice-inline-control{width:100%;min-width:88px;border:1px solid #cbd7e3;border-radius:6px;padding:8px 9px;background:#fff;color:#101820;font:inherit}.supplier-invoice-inline-stack{display:grid;gap:6px;min-width:230px}.supplier-invoice-mode-actions{display:flex;flex-wrap:wrap;gap:6px}.purchase-request-section-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.purchase-request-section-header h2{margin:0;color:#101820;font-size:1.05rem;line-height:1.25}.purchase-request-section-header span{color:#53616f;font-size:.8rem;font-weight:900;text-transform:uppercase}.approval-stack{width:min(100%,1500px)}.approval-table-wrap{width:100%;max-width:100%;overflow-x:auto;border:1px solid #d8e1e8;border-radius:8px;background:#fff;-webkit-overflow-scrolling:touch}.approval-table{width:100%;min-width:920px;border-collapse:collapse;table-layout:auto}.approval-table th,.approval-table td{border-bottom:1px solid #d8e1e8;padding:14px 12px;text-align:left;vertical-align:top;line-height:1.4;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;white-space:normal;word-break:normal}.approval-table th{color:#53616f;font-size:.8rem;font-weight:900;line-height:1.25;text-transform:uppercase}.approval-table tbody tr:last-child td{border-bottom:0}.status-pill{display:inline-flex;min-height:30px;align-items:center;width:max-content;max-width:100%;border-radius:8px;padding:5px 10px;color:#805a00;background:#fff4cf;font-weight:900;overflow-wrap:normal;text-align:center;white-space:nowrap;word-break:keep-all}.status-pill-active{color:var(--brand-primary);background:var(--brand-primary-soft)}.status-pill-disabled{color:#6e1f13;background:#fff1ed}.status-pill-warning{color:#805a00;background:#fff4cf}.table-action-link{display:inline-flex;min-height:36px;align-items:center;justify-content:center;gap:8px;border-radius:8px;padding:6px 10px;color:var(--brand-primary);background:var(--brand-primary-soft);font-weight:900;text-decoration:none;white-space:nowrap}.table-action-link:hover,.table-action-link:focus-visible{color:#fff;background:var(--brand-primary);text-decoration:none}.master-stack{display:grid;gap:18px;width:min(100%,1500px)}.master-back-link{width:fit-content;margin-bottom:12px}.master-table{min-width:700px}.role-master-table{min-width:820px}.ingredient-master-table{min-width:1380px}.conversion-list-flag{display:inline-grid;gap:1px;min-width:104px;padding:6px 9px;border:1px solid #b9dfcc;border-radius:6px;color:#11623b;background:#eaf7f0;line-height:1.2;text-decoration:none}.conversion-list-flag small{color:inherit;font-size:.72rem;font-weight:600}.conversion-list-flag.is-inactive{color:#8b381f;border-color:#efd1c8;background:#fff1ed}.conversion-list-flag.is-empty{color:#657282;border-color:#d6dee7;background:#f5f7f9;font-size:.78rem;font-weight:700}.ingredient-workbench-summary .supplier-catalog-summary-card{text-align:left;cursor:pointer}.ingredient-workbench-summary .supplier-catalog-summary-card:hover,.ingredient-workbench-summary .supplier-catalog-summary-card:focus-visible{border-color:var(--brand-primary);outline:3px solid rgba(37,31,96,.12)}.ingredient-master-editing-row td{background:#fffdf7}.ingredient-master-table input,.ingredient-master-table select{min-height:34px;width:100%;max-width:100%;border:1px solid #c7d3dd;border-radius:6px;padding:6px 8px;color:#16202a;background:#fff;font-size:.86rem}.ingredient-master-table input:focus,.ingredient-master-table select:focus{border-color:var(--brand-primary);outline:3px solid rgba(37,31,96,.14)}.ingredient-id-stack{display:grid;gap:4px}.ingredient-id-stack small{max-width:180px;margin:0;font-size:.72rem}.ingredient-alias-chip-list{display:flex;max-width:260px;flex-wrap:wrap;gap:5px}.ingredient-alias-chip{border-radius:999px;padding:4px 8px;color:#251f60;background:#eeeafa;font-size:.74rem;font-weight:900;line-height:1.2}.supplier-catalog-table{min-width:1280px}.supplier-catalog-editing-row td{background:#fffdf7}.supplier-catalog-table input,.supplier-catalog-table select{min-height:34px;width:100%;max-width:100%;border:1px solid #c7d3dd;border-radius:6px;padding:6px 8px;color:#16202a;background:#fff;font-size:.86rem}.supplier-catalog-table input:focus,.supplier-catalog-table select:focus{border-color:var(--brand-primary);outline:3px solid rgba(37,31,96,.14)}.supplier-catalog-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.supplier-catalog-summary-card{display:grid;gap:6px;border:1px solid #d8e1e8;border-radius:8px;padding:14px 16px;background:#fff}.supplier-catalog-summary-card span{color:#53616f;font-size:.78rem;font-weight:900;text-transform:uppercase}.supplier-catalog-summary-card strong{color:#16202a;font-size:1.75rem;line-height:1}.supplier-catalog-summary-card.is-warning{border-color:#f2c56c;background:#fff9ea}.supplier-catalog-tabs{display:flex;flex-wrap:wrap;gap:8px}.supplier-catalog-tabs button{min-height:34px;border:1px solid #c7d3dd;border-radius:999px;padding:6px 12px;color:#334150;background:#fff;font-weight:900}.supplier-catalog-tabs button.is-active,.supplier-catalog-tabs button:hover,.supplier-catalog-tabs button:focus-visible{color:#fff;background:var(--brand-primary);border-color:var(--brand-primary)}.supplier-ingredient-search-cell{display:grid;gap:4px}.supplier-ingredient-search-cell small{color:#5c6770;font-size:.72rem;font-weight:800}.user-master-table{min-width:1120px}.email-log-table{min-width:940px}.email-log-table td{overflow-wrap:break-word}.purchase-request-record-table{min-width:1060px}.ceo-purchase-request-table{min-width:1220px}.purchase-request-record-table td{overflow-wrap:break-word}.purchase-request-record-table th:nth-child(8),.purchase-request-record-table td:nth-child(8){min-width:150px;width:150px;overflow-wrap:normal;word-break:keep-all}.user-master-table th,.user-master-table td{padding:14px 12px}.user-master-table td{overflow-wrap:break-word}.user-table-panel,.master-filter-panel{display:grid;gap:14px;border:1px solid #d8e1e8;border-radius:8px;padding:16px;background:#fff}.user-toolbar,.master-toolbar{display:grid;grid-template-columns:minmax(min(100%,260px),1.1fr) minmax(0,2fr);gap:14px;align-items:end}.user-toolbar label,.user-filter-grid label,.master-toolbar label,.master-filter-grid label{display:grid;gap:8px;color:#2c3945;font-weight:800}.user-toolbar input,.user-toolbar select,.user-filter-grid select,.master-toolbar input,.master-toolbar select,.master-filter-grid select{min-height:44px;width:100%;border:1px solid #bfccd7;border-radius:8px;padding:10px 12px;color:#16202a;background:#fff}.master-search-control{display:flex;min-height:44px;align-items:center;gap:8px;border:1px solid #bfccd7;border-radius:8px;padding:0 12px;background:#fff}.master-search-control input{min-height:42px;border:0;padding:0}.master-search-control input:focus{outline:0}.user-toolbar input:focus,.user-toolbar select:focus,.user-filter-grid select:focus,.master-toolbar input:focus,.master-toolbar select:focus,.master-filter-grid select:focus{border-color:var(--brand-primary);outline:3px solid rgba(37,31,96,.16)}.user-filter-grid,.master-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:14px}.user-table-meta,.master-table-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #e3ebf0;padding-top:12px;color:#53616f;font-weight:800}.master-filter-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))}.ingredient-table-meta{border-top:0;padding-top:0}.detail-tab-list{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid #d8e1e8;padding-bottom:10px}.detail-tab{min-height:38px;border:1px solid #c8d5df;border-radius:8px;padding:8px 12px;color:#2c3945;background:#fff;font-weight:900}.detail-tab.is-active,.detail-tab:hover,.detail-tab:focus-visible{color:#fff;background:var(--brand-primary);border-color:var(--brand-primary)}.ingredient-detail-section{display:grid;gap:16px}.ingredient-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:12px}.ingredient-detail-value{display:grid;gap:6px;border:1px solid #d8e1e8;border-radius:8px;padding:12px;background:#f8fafc}.ingredient-detail-value span{color:#53616f;font-size:.78rem;font-weight:900;text-transform:uppercase}.ingredient-detail-value strong{color:#16202a;overflow-wrap:anywhere}.ingredient-warning-row{background:#fff8e6}.ingredient-warning-row td{border-color:#f4d28a}.number-table-cell{text-align:right;font-variant-numeric:tabular-nums}.master-name{display:inline-flex;align-items:center;gap:8px;color:#16202a;font-weight:900}.master-name-link{text-decoration:none}.master-name-link:hover,.master-name-link:focus-visible{color:var(--brand-primary);text-decoration:none}.recipe-course-stack{display:grid;gap:18px}.recipe-course-section{display:grid;gap:14px;border:1px solid #d8e1e8;border-radius:8px;padding:16px;background:#fff}.recipe-course-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.recipe-course-header h2,.recipe-course-header p{margin:0}.recipe-course-header h2{color:#101820;font-size:1.1rem;line-height:1.25}.recipe-course-header p,.recipe-group-menu-row small{color:#53616f;font-size:.86rem;font-weight:800}.recipe-group-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:10px}.recipe-group-card{display:grid;gap:4px;min-height:70px;justify-items:start;border:1px solid #d8e1e8;border-radius:8px;padding:12px;color:#16202a;background:#f8fbfd;text-align:left}.recipe-group-card-selected{border-color:var(--brand-primary);color:var(--brand-primary);background:var(--brand-primary-soft)}.recipe-group-card:hover:not(:disabled),.recipe-group-card:focus-visible:not(:disabled){border-color:var(--brand-primary);color:#fff;background:var(--brand-primary)}.recipe-group-card strong,.recipe-group-card span{min-width:0;overflow-wrap:anywhere}.recipe-group-card strong{font-size:.95rem;line-height:1.25}.recipe-group-card span{color:#53616f;font-size:.82rem;font-weight:800}.recipe-group-card:hover:not(:disabled) strong,.recipe-group-card:hover:not(:disabled) span,.recipe-group-card:focus-visible:not(:disabled) strong,.recipe-group-card:focus-visible:not(:disabled) span{color:#fff}.recipe-group-menu-list{display:grid;gap:8px}.recipe-group-menu-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;border-top:1px solid #e3ebf0;padding-top:10px}.recipe-group-menu-row>div:first-child{display:grid;gap:4px;min-width:0}.table-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start}.table-text-button{display:inline-flex;min-height:36px;align-items:center;justify-content:center;gap:8px;border:1px solid #bfccd7;padding:0 10px;color:#16202a;background:#fff;font-weight:900;white-space:nowrap}.table-text-button:hover:not(:disabled),.table-text-button:focus-visible:not(:disabled){color:#fff;background:var(--brand-primary)}.table-text-button:hover:not(:disabled) *,.table-text-button:focus-visible:not(:disabled) *{color:#fff}.table-text-button-danger{border-color:#f0c4bb;color:#8a1f11}.table-text-button-danger:hover:not(:disabled),.table-text-button-danger:focus-visible:not(:disabled){color:#fff;background:#8a1f11}.inline-number-field{display:flex;align-items:center;gap:10px;color:#2c3945;font-weight:800}.inline-number-field input{width:112px;min-height:38px;border:1px solid #bfccd7;border-radius:8px;padding:8px 10px;color:#16202a;background:#fff}.purchaser-requester-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px}.purchaser-requester-card{display:grid;gap:7px;min-height:132px;justify-items:start;border:1px solid #d8e1e8;border-radius:8px;padding:16px;color:#16202a;background:#fff;text-align:left}.purchaser-requester-card-selected{border-color:var(--brand-primary);color:var(--brand-primary);background:var(--brand-primary-soft)}.purchaser-requester-card:hover:not(:disabled),.purchaser-requester-card:focus-visible:not(:disabled){border-color:var(--brand-primary);color:#fff;background:var(--brand-primary)}.purchaser-requester-card strong,.purchaser-requester-card span{min-width:0;overflow-wrap:anywhere}.purchaser-requester-card strong{font-size:1rem;line-height:1.25}.purchaser-requester-card span{color:#53616f;font-size:.86rem;font-weight:800}.purchaser-requester-card:hover:not(:disabled) strong,.purchaser-requester-card:hover:not(:disabled) span,.purchaser-requester-card:focus-visible:not(:disabled) strong,.purchaser-requester-card:focus-visible:not(:disabled) span{color:#fff}.form-success{color:#137347;font-weight:800}.purchaser-document-actions{justify-content:flex-start;margin-top:14px}.purchaser-document-actions .table-text-button{min-width:150px}.purchaser-document-panel{display:grid;gap:12px;margin-top:16px;border:1px solid #d8e1e8;border-radius:8px;padding:14px;background:#f8fafc}.purchaser-document-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:10px}.purchaser-document-status-grid div{display:grid;gap:4px;border:1px solid #e0e7ee;border-radius:8px;padding:10px;background:#fff}.purchaser-document-status-grid span{color:#53616f;font-size:.75rem;font-weight:900;text-transform:uppercase}.purchaser-document-status-grid strong{color:#16202a;font-size:.95rem}.purchaser-document-card,.purchaser-supplier-document-list{display:grid;gap:10px}.purchaser-document-card{border:1px solid #e0e7ee;border-radius:8px;padding:12px;background:#fff}.purchaser-document-card h3,.purchaser-document-card h4,.purchaser-document-card p{margin:0}.purchaser-generated-header{align-items:center;margin-bottom:0}.generated-document-list{grid-template-columns:1fr}.generated-document-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:8px;margin:0}.generated-document-meta div{display:grid;gap:3px;min-width:0}.generated-document-meta dt{color:#53616f;font-size:.72rem;font-weight:900;text-transform:uppercase}.generated-document-meta dd{margin:0;color:#16202a;font-size:.9rem;font-weight:800;overflow-wrap:anywhere}.generated-document-actions{justify-content:flex-start}.claim-generated-document-row{display:grid;gap:10px;border-top:1px solid #e7edf3;padding-top:10px}.supplier-document-heading,.purchaser-document-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.supplier-document-heading span,.purchaser-document-row>span{color:#53616f;font-size:.82rem;font-weight:800}.purchaser-upload-button{position:relative;cursor:pointer}.purchaser-upload-button input{position:absolute;top:0;right:0;bottom:0;left:0;width:1px;height:1px;opacity:0;pointer-events:none}.table-action-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.purchaser-requester-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;color:var(--brand-primary);background:#fff;box-shadow:inset 0 0 0 1px #d8e1e8}.purchaser-request-table th,.purchaser-request-table td{vertical-align:top}.inline-number-field input:focus{border-color:var(--brand-primary);outline:3px solid rgba(37,31,96,.16)}.field-helper{display:block;margin-top:6px;color:#53616f;font-size:.78rem;font-weight:800;line-height:1.3}.calculation-preview{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px}.calculation-preview div{border:1px solid #d8e1e8;border-radius:8px;padding:14px;background:#f8fafc}.calculation-preview span,.calculation-preview strong{display:block}.calculation-preview span{margin-bottom:6px;color:#53616f;font-weight:900;text-transform:uppercase}.calculation-preview strong{color:#101820;font-size:1.2rem}.request-form{width:min(100%,1280px);margin:0 auto}.ingredient-purchase-dashboard{width:min(100%,1800px);padding-inline:clamp(12px,1.5vw,22px)}.ingredient-purchase-dashboard .request-form{width:100%}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:18px}.form-grid label,.request-type-group{display:grid;gap:8px;color:#2c3945;font-weight:800}.form-grid input,.form-grid select,.form-grid textarea{min-height:44px;width:100%;border:1px solid #bfccd7;border-radius:8px;padding:10px 12px;color:#16202a;background:#fff}.form-grid textarea{min-height:128px;resize:vertical}.general-handling-panel{display:grid;gap:14px;margin-top:18px}.general-handling-panel h3{margin:0;color:#101820;font-size:1rem}.general-handling-grid{display:grid;grid-template-columns:minmax(220px,360px) minmax(260px,1fr);align-items:start;gap:16px}.general-handling-grid label{display:grid;gap:8px;color:#2c3945;font-weight:800}.general-handling-grid select,.general-handling-grid textarea{width:100%;border:1px solid #bfccd7;border-radius:8px;padding:10px 12px;color:#16202a;background:#fff}.general-handling-grid select{height:44px}.general-handling-grid textarea{min-height:82px;resize:vertical}.form-grid input[readonly]{color:#53616f;background:#f1f3f7}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--brand-primary);outline:3px solid rgba(37,31,96,.16)}.form-span{grid-column:1 / -1}.request-type-group{border:1px solid #d8e1e8;border-radius:8px;padding:16px}.request-type-group legend{padding:0 6px;color:#2c3945}.request-type-group label{display:inline-flex;width:fit-content;align-items:center;gap:10px;font-weight:700}.request-type-group input{width:18px;min-height:18px}.item-section{display:grid;gap:14px;border:1px solid #d8e1e8;border-radius:8px;padding:18px;background:#fff}.ingredient-section{display:grid;gap:18px;border:1px solid #d8e1e8;border-radius:8px;padding:18px;background:#fff}.ingredient-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));align-items:start;gap:18px}.ingredient-grid label,.ingredient-grid .ingredient-field{display:grid;gap:8px;color:#2c3945;font-weight:800}.ingredient-grid input,.ingredient-grid select{min-height:44px;width:100%;border:1px solid #bfccd7;border-radius:8px;padding:10px 12px;color:#16202a;background:#fff}.ingredient-grid input:focus,.ingredient-grid select:focus{border-color:var(--brand-primary);outline:3px solid rgba(37,31,96,.16)}.ingredient-type-control{display:grid;gap:8px;min-width:0;margin:0;border:0;padding:0}.ingredient-type-control legend{margin:0 0 8px;color:#2c3945;font-weight:800}.segmented-control{display:flex;flex-wrap:wrap;gap:8px}.segmented-control label{display:inline-flex;min-width:0;align-items:center;gap:8px;border:1px solid #c8d5df;border-radius:8px;padding:8px 12px;background:#fff;color:#2c3945;font-weight:900}.segmented-control input{width:auto;min-height:0;margin:0}.segmented-control label:has(input:checked){border-color:var(--brand-primary);color:#fff;background:var(--brand-primary)}.field-helper-text{position:absolute;top:calc(100% + 4px);left:0;color:#53616f;font-size:.78rem;font-weight:800;line-height:1.3}.ingredient-field{position:relative;display:grid;gap:8px;align-content:start;color:#2c3945;font-weight:800}.week-multi-dropdown{position:relative}.week-multi-dropdown summary{display:flex;min-height:44px;width:100%;align-items:center;justify-content:space-between;gap:12px;border:1px solid #bfccd7;border-radius:8px;padding:10px 12px;color:#16202a;background:#fff;cursor:pointer;list-style:none}.week-multi-dropdown summary::-webkit-details-marker{display:none}.week-multi-dropdown summary:after{content:"";width:8px;height:8px;border-right:2px solid #53616f;border-bottom:2px solid #53616f;transform:rotate(45deg) translateY(-2px)}.week-multi-dropdown[open] summary{border-color:var(--brand-primary);outline:3px solid rgba(37,31,96,.16)}.week-multi-dropdown summary[aria-disabled=true]{color:#7a8794;background:#f1f3f7;cursor:not-allowed}.week-multi-dropdown-panel{position:absolute;z-index:20;top:calc(100% + 6px);left:0;right:0;display:grid;gap:4px;max-height:260px;overflow-y:auto;border:1px solid #bfccd7;border-radius:8px;padding:8px;background:#fff;box-shadow:0 16px 32px #10182024}.week-multi-option{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:10px;border-radius:6px;padding:8px;color:#16202a;cursor:pointer}.week-multi-option:hover{background:#f1f5f8}.week-multi-option input[type=checkbox]{width:18px;min-width:18px;height:18px;min-height:18px;margin:0;padding:0;accent-color:var(--brand-primary)}.calculation-section{display:grid;gap:14px;border-top:1px solid #d8e1e8;padding-top:18px}.section-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.section-actions{display:flex;flex-wrap:wrap;gap:10px}.approval-detail-actions{justify-content:flex-end}.section-header h2{margin:0;color:#101820;font-size:1.15rem;line-height:1.3}.small-button{display:inline-flex;min-height:38px;align-items:center;gap:8px;padding:0 14px}.item-table-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.item-table{width:100%;min-width:680px;border-collapse:collapse;table-layout:auto}.general-item-table{min-width:0;table-layout:fixed}.item-table th,.item-table td{border-bottom:1px solid #d8e1e8;padding:10px;text-align:left;vertical-align:top;line-height:1.4;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;white-space:normal;word-break:normal}.item-table th{color:#53616f;font-size:.82rem;font-weight:900;line-height:1.25;text-transform:uppercase}.general-item-table th:nth-child(1),.general-item-table td:nth-child(1){width:34%}.general-item-table th:nth-child(2),.general-item-table td:nth-child(2){width:16%}.general-item-table th:nth-child(3),.general-item-table td:nth-child(3){width:16%}.general-item-table th:nth-child(4),.general-item-table td:nth-child(4){width:18%}.general-item-table th:nth-child(5),.general-item-table td:nth-child(5){width:10%}.general-item-table th:nth-child(6),.general-item-table td:nth-child(6){width:6%}.general-item-table th:nth-child(2),.general-item-table td:nth-child(2),.general-item-table th:nth-child(3),.general-item-table td:nth-child(3),.general-item-table th:nth-child(4),.general-item-table td:nth-child(4),.general-item-table th:nth-child(5),.general-item-table td:nth-child(5){text-align:right;font-variant-numeric:tabular-nums}.general-item-table th:nth-child(6),.general-item-table td:nth-child(6){text-align:center}.general-item-table td:nth-child(5) output{white-space:nowrap}.ingredient-table th:nth-child(5),.ingredient-table td:nth-child(5),.ingredient-table th:nth-child(6),.ingredient-table td:nth-child(6){text-align:right;font-variant-numeric:tabular-nums}.ingredient-table th:nth-child(3),.ingredient-table td:nth-child(3){text-align:right;font-variant-numeric:tabular-nums}.ingredient-table th:nth-child(4),.ingredient-table td:nth-child(4){text-align:center}.ingredient-table{min-width:860px}.ingredient-table td:nth-child(1){width:24%}.ingredient-table td:nth-child(2),.ingredient-table td:nth-child(4),.ingredient-table td:nth-child(5),.ingredient-table td:nth-child(6){width:17%}.ingredient-table td:nth-child(3){width:8%}.timeline-table{min-width:560px}.timeline-table td:nth-child(1){width:28%;font-weight:900}.timeline-table td:nth-child(2){width:36%}.timeline-table td:nth-child(3){width:36%}.item-table input{min-height:40px;width:100%;border:1px solid #bfccd7;border-radius:8px;padding:8px 10px}.item-table input[readonly]{color:#53616f;background:#f1f3f7;cursor:not-allowed}.field-readonly-note{display:block;margin-top:4px;color:#53616f;font-size:.74rem;font-weight:800}.item-table select{min-height:40px;width:100%;border:1px solid #bfccd7;border-radius:8px;padding:8px 10px;color:#16202a;background:#fff}.item-table output{display:block;min-height:40px;border-radius:8px;padding:9px 10px;color:#2c3945;background:#f1f3f7;font-weight:800}.table-icon-button{display:grid;width:40px;min-height:40px;place-items:center;padding:0;color:#8a1f11;background:#fff1ed}.table-icon-button:hover:not(:disabled){background:#ffe3db}.grand-total{display:flex;align-items:center;justify-content:flex-end;gap:16px;border-top:1px solid #d8e1e8;padding-top:14px}.grand-total span{color:#53616f;font-weight:900}.grand-total strong{min-width:140px;text-align:right;color:#101820;font-size:1.2rem}.attachment-list{display:flex;flex-wrap:wrap;gap:8px}.form-stack{display:grid;gap:16px}.claim-reference-section,.claim-request-reference{display:grid;gap:12px}.claim-reference-section{border-top:1px solid #d8e1e8;padding-top:16px}.muted-copy{color:#53616f;margin:0}.claim-prf-accordion-list{display:grid;gap:12px}.claim-prf-accordion{border:1px solid #d8e1e8;border-radius:8px;overflow:hidden;background:#fff}.claim-prf-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;border:0;border-bottom:1px solid #d8e1e8;border-radius:0;padding:12px 14px;color:#101820;background:#f8fafc;font-weight:900;text-align:left}.claim-prf-toggle:hover,.claim-prf-toggle:focus-visible{color:#fff;background:var(--brand-primary)}.claim-prf-toggle:hover *,.claim-prf-toggle:focus-visible *{color:#fff}.claim-prf-title{display:inline-flex;align-items:center;gap:8px;min-width:0}.claim-prf-table th,.claim-prf-table td{vertical-align:top}.claim-prf-table td:first-child{min-width:132px}.claim-prf-table input[type=number],.claim-prf-table textarea{width:100%;min-width:120px}.claim-prf-table small{display:block;margin-top:4px;color:#b45309;font-weight:800}.claim-prf-table .field-error-text{color:#8a1f11;background:#fff1ed;border-radius:6px;padding:5px 7px}.claim-quantity-breakdown{display:grid;gap:3px;min-width:150px;color:#334155;font-size:.86rem;font-weight:800}.claim-partial-pill{display:inline-block;margin-top:6px;border-radius:999px;padding:4px 8px;color:#92400e;background:#fef3c7;font-size:.78rem;font-weight:900}.claim-remaining-hint{color:#475569}.claim-variance-pill{display:inline-block;margin-top:6px;border-radius:999px;padding:4px 8px;color:#166534;background:#dcfce7;font-size:.78rem;font-weight:900}.claim-variance-warning{color:#7c2d12;background:#ffedd5}.claim-row-warning{background:#fff7ed}.claim-prf-warning{border-color:#f59e0b}.claim-summary-panel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.claim-summary-panel>div{display:grid;gap:4px;border:1px solid #d8e1e8;border-radius:8px;padding:12px;background:#f8fafc}.claim-summary-panel span{color:#53616f;font-size:.82rem;font-weight:900;text-transform:uppercase}.claim-summary-panel strong{color:#101820;font-size:1.1rem}.claim-receipt-upload{display:grid;gap:10px;border:1px solid #d8e1e8;border-radius:8px;padding:12px;background:#f8fafc}.claim-receipt-upload p{margin:4px 0 0;color:#53616f}.claim-upload-button{width:fit-content}.attachment-item button{border:0;padding:0;color:#64748b;background:transparent}.claim-request-reference{border:1px solid #d8e1e8;border-radius:8px;padding:12px}.claim-request-reference>span{color:#53616f;font-size:.88rem}.attachment-upload-field{display:grid;gap:8px;align-content:start}.attachment-item{justify-content:space-between;width:100%}.attachment-item span{min-width:0;overflow-wrap:anywhere}.attachment-list span{border:1px solid #c8d5df;border-radius:8px;padding:7px 10px;color:#2c3945;background:#f8fafc;font-weight:800}.review-stack{display:grid;gap:18px;width:min(100%,1320px)}.review-section{display:grid;gap:16px;border:1px solid #d8e1e8;border-radius:8px;padding:18px;background:#fff}.review-section h1,.review-section h2{margin:0;color:#101820;font-size:1.2rem;line-height:1.3}.review-section p{margin:0;color:#53616f}.review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px;margin:0}.review-grid div{border:1px solid #e3ebf0;border-radius:8px;padding:12px;background:#f8fafc}.review-grid dt{margin:0 0 6px;color:#53616f;font-size:.82rem;font-weight:900;text-transform:uppercase}.review-grid dd{margin:0;overflow-wrap:break-word;color:#16202a;font-weight:800}.review-span{grid-column:1 / -1}.review-list{display:grid;gap:8px;margin:0;padding-left:20px;color:#2c3945;font-weight:800}.review-total{margin-top:2px}.review-ingredient-group-list{display:grid;gap:14px}.review-ingredient-group-card{display:grid;gap:14px;border:1px solid #d8e1e8;border-radius:8px;overflow:hidden;background:#fff}.review-ingredient-group-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 16px;background:#f8fafc}.review-ingredient-group-header h3,.review-group-panel h4{margin:0;color:#101820;line-height:1.3}.review-ingredient-group-header h3{font-size:1.05rem}.review-ingredient-group-summary{display:grid;justify-items:end;gap:6px;white-space:nowrap}.review-ingredient-group-summary span{border-radius:999px;padding:5px 10px;color:#18135f;background:#f0edff;font-size:.85rem;font-weight:900}.review-ingredient-group-summary strong{color:#101820;font-size:1.1rem}.review-group-panel{display:grid;gap:10px;padding:0 16px 14px}.review-group-panel h4{font-size:.92rem}.review-allocation-table{min-width:760px}.review-menu-source-table{min-width:420px}.procurement-menu-source-panel{margin:0 14px 14px 30px;padding:12px 14px;border:1px solid #e4ebf1;border-radius:8px;background:#fff}.procurement-menu-source-panel .item-table-wrap{margin:0}.review-allocation-table th:nth-child(3),.review-allocation-table td:nth-child(3),.review-allocation-table th:nth-child(4),.review-allocation-table td:nth-child(4),.review-allocation-table th:nth-child(5),.review-allocation-table td:nth-child(5),.review-menu-source-table th:nth-child(2),.review-menu-source-table td:nth-child(2),.review-menu-source-table th:nth-child(3),.review-menu-source-table td:nth-child(3),.review-menu-source-table th:nth-child(5),.review-menu-source-table td:nth-child(5){text-align:right;font-variant-numeric:tabular-nums}.review-menu-source-table td strong,.review-menu-source-table td span{display:block}.review-menu-source-table td span{margin-top:2px;color:#53616f;font-size:.9rem;font-weight:800}.success-message{display:inline-flex;width:fit-content;align-items:center;gap:10px;border:1px solid #a9dccb;border-radius:8px;padding:12px 14px;color:var(--brand-primary);background:var(--brand-primary-soft);font-weight:900}.approval-actions{display:flex;flex-wrap:wrap;gap:12px}.approval-actions button{min-width:132px;padding:0 18px}.danger-button{color:#fff;background:#a93624}.danger-button:hover:not(:disabled){background:#8a1f11}.form-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.form-actions button{min-width:132px;padding:0 18px}.secondary-button{border:1px solid #bfccd7;color:#16202a;background:#fff}.secondary-button:hover:not(:disabled){border-color:var(--brand-secondary);color:var(--brand-primary);background:var(--brand-secondary-soft)}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:clamp(12px,3vw,24px);background:#10182085;overflow-y:auto}.confirmation-dialog{display:grid;width:min(100%,420px);max-height:calc(100vh - 32px);overflow-y:auto;gap:20px;border:1px solid #d8e1e8;border-radius:8px;padding:24px;background:#fff;box-shadow:0 24px 70px #1018203d}.confirmation-dialog h2{margin:0;color:#101820;font-size:1.25rem;line-height:1.35}.master-dialog label{display:grid;gap:8px;color:#2c3945;font-weight:800}.master-dialog input,.master-dialog select,.master-dialog textarea{min-height:44px;width:100%;border:1px solid #bfccd7;border-radius:8px;padding:10px 12px;color:#16202a;background:#fff}.master-dialog textarea{resize:vertical}.merge-preview-panel{display:grid;gap:6px;border:1px solid #d8e1e8;border-radius:8px;padding:12px;background:#f8fafc}.merge-preview-panel span,.merge-preview-panel small{color:#536273}.merge-preview-panel strong{color:#101820}.merge-target-picker{display:grid;gap:10px}.merge-target-picker label{color:#2c3945;font-weight:800}.search-input-wrap{position:relative;display:flex;align-items:center}.search-input-wrap svg{position:absolute;left:12px;color:#536273;pointer-events:none}.master-dialog .search-input-wrap input{padding-left:38px}.merge-target-results{display:grid;max-height:240px;overflow-y:auto;border:1px solid #d8e1e8;border-radius:8px;background:#fff}.merge-target-option{display:grid;gap:4px;width:100%;min-height:58px;border:0;border-bottom:1px solid #e7edf2;border-radius:0;padding:10px 12px;color:#101820;background:#fff;text-align:left}.merge-target-option:last-child{border-bottom:0}.merge-target-option strong,.merge-target-option span{color:inherit}.merge-target-option span{font-size:.85rem;font-weight:700;opacity:.78}.merge-target-option:hover:not(:disabled),.merge-target-option:focus-visible,.merge-target-option-selected,.merge-target-option-selected:hover:not(:disabled){color:#fff;background:var(--brand-primary)}.merge-target-count{color:#536273;font-weight:700}.master-cost-basis-editor{display:grid;gap:.75rem}.master-cost-basis-heading,.master-cost-basis-row{align-items:end;display:grid;gap:.75rem}.master-cost-basis-heading{grid-template-columns:minmax(0,1fr) auto}.master-cost-basis-row{grid-template-columns:minmax(90px,.8fr) minmax(120px,1fr) minmax(100px,.8fr) auto}@media(max-width:760px){.claim-details-heading{display:grid}.claim-details-summary,.claim-details-note-grid,.master-cost-basis-heading,.master-cost-basis-row{grid-template-columns:1fr}}.approval-dialog label{display:grid;gap:8px;color:#2c3945;font-weight:800}.approval-dialog textarea{width:100%;border:1px solid #bfccd7;border-radius:8px;padding:10px 12px;color:#16202a;background:#fff;resize:vertical}.approval-dialog textarea:focus{border-color:var(--brand-primary);outline:3px solid rgba(37,31,96,.16)}.claim-details-dialog{width:min(100%,980px);align-content:start}.claim-details-heading{display:flex;align-items:start;justify-content:space-between;gap:16px}.claim-details-heading p{margin:4px 0 0;color:#53616f;font-weight:800}.claim-details-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.claim-details-note-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.claim-details-note-grid div{display:grid;gap:8px;border:1px solid #e3ebf0;border-radius:8px;padding:12px;background:#f8fafc}.claim-details-note-grid strong{color:#53616f;font-size:.82rem;font-weight:900;text-transform:uppercase}.claim-details-note-grid p{margin:0;color:#16202a;font-weight:700}.approval-progress-message{margin:0;border:1px solid rgba(248,155,28,.42);border-radius:8px;padding:12px 14px;color:#251f60;background:#f89b1c24;font-weight:800;line-height:1.45}.master-dialog input:focus,.master-dialog select:focus,.master-dialog textarea:focus{border-color:var(--brand-primary);outline:3px solid rgba(37,31,96,.16)}.checkbox-field{display:grid;gap:10px;margin:0;border:1px solid #bfccd7;border-radius:8px;padding:12px}.checkbox-field legend{padding:0 6px;color:#2c3945;font-weight:800}.checkbox-field p{margin:0;color:#53616f;font-weight:800}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:8px}.checkbox-grid .checkbox-option{display:inline-flex;min-width:0;align-items:flex-start;gap:10px;color:#16202a;font-weight:800;line-height:1.35}.checkbox-option span{min-width:0;overflow-wrap:break-word}.checkbox-grid .checkbox-option input{flex:0 0 18px;width:18px;min-width:18px;height:18px;min-height:18px;margin:1px 0 0;padding:0;accent-color:var(--brand-primary)}.user-dialog{width:min(100%,640px);max-height:calc(100vh - 32px);align-content:start;overflow-y:auto}.user-dialog .dialog-actions{position:sticky;bottom:0;margin:8px -24px 0;border-top:1px solid #d8e1e8;padding:16px 24px 24px;background:#fff}.recipe-dialog-backdrop{place-items:start stretch;padding:0;overflow-x:hidden;overflow-y:auto}.recipe-dialog{position:relative;width:100%;min-height:100vh;height:auto;max-height:none;align-content:start;grid-template-rows:auto auto auto auto auto;gap:16px;overflow:visible;border-radius:0;padding:20px}.recipe-dialog .ingredient-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.recipe-dialog .calculation-section{min-height:0;overflow:visible}.recipe-table-wrap,.recipe-dialog .recipe-table-wrap{min-height:0;max-width:100%;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch}.recipe-ingredient-table{width:100%;min-width:1080px;table-layout:fixed}.recipe-ingredient-table th,.recipe-ingredient-table td{padding:7px 6px;vertical-align:middle;overflow-wrap:anywhere;word-break:normal}.recipe-ingredient-table th:nth-child(1),.recipe-ingredient-table td:nth-child(1){width:21%}.recipe-ingredient-table th:nth-child(2),.recipe-ingredient-table td:nth-child(2){width:15%}.recipe-ingredient-table th:nth-child(3),.recipe-ingredient-table td:nth-child(3),.recipe-ingredient-table th:nth-child(4),.recipe-ingredient-table td:nth-child(4),.recipe-ingredient-table th:nth-child(5),.recipe-ingredient-table td:nth-child(5),.recipe-ingredient-table th:nth-child(6),.recipe-ingredient-table td:nth-child(6),.recipe-ingredient-table th:nth-child(7),.recipe-ingredient-table td:nth-child(7){width:10%}.recipe-ingredient-table th:nth-child(6),.recipe-ingredient-table td:nth-child(6){text-align:center;font-variant-numeric:normal}.recipe-ingredient-table th:nth-child(7),.recipe-ingredient-table td:nth-child(7){text-align:right;font-variant-numeric:tabular-nums}.recipe-ingredient-table th:nth-child(8),.recipe-ingredient-table td:nth-child(8){width:11%;text-align:center}.recipe-ingredient-table input,.recipe-ingredient-table select{min-height:36px;min-width:0;padding:6px 8px;font-size:.9rem}.ingredient-category-row th{border-bottom-color:#c8d7e2;padding:8px 10px;color:var(--brand-primary);background:#edf8f4;font-size:.82rem;letter-spacing:.01em;text-align:left}.ingredient-purchase-menu{display:grid;gap:8px}.ingredient-purchase-menu h3{margin:4px 0 0}.ingredient-purchase-menu-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.menu-selection-card,.seremban-menu-picker,.seremban-grouped-ingredient-list{display:grid;gap:14px}.seremban-menu-picker-header,.seremban-grouped-ingredient-heading,.seremban-grouped-ingredient-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.seremban-grouped-ingredient-title{display:flex;align-items:flex-start;gap:12px}.seremban-grouped-ingredient-title input[type=checkbox]{width:18px;height:18px;min-width:18px;min-height:18px;margin-top:4px}.seremban-menu-picker-header h3,.seremban-menu-picker-header p,.seremban-grouped-ingredient-heading h3,.seremban-grouped-ingredient-heading p,.seremban-grouped-ingredient-card-header h4,.seremban-grouped-ingredient-card-header p{margin:0}.seremban-menu-picker-header h3,.seremban-grouped-ingredient-heading h3{color:#101820;font-size:1rem}.seremban-menu-picker-header p,.seremban-grouped-ingredient-heading p,.seremban-grouped-ingredient-card-header p{color:#53616f;font-size:.84rem;font-weight:800}.seremban-menu-picker-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.seremban-week-menu-list,.seremban-selected-menu-list{display:grid;gap:10px}.seremban-week-menu-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));align-items:start}.seremban-week-menu-list .seremban-menu-checkbox-grid{grid-template-columns:minmax(0,1fr);padding:8px;gap:4px}.seremban-week-menu-list .seremban-menu-checkbox{min-height:0;padding:8px;border-color:transparent;font-size:13px;font-weight:600;line-height:1.4;margin:0}.seremban-week-menu-list .seremban-menu-checkbox:hover{background:#f5f7fb}.seremban-week-menu-list .seremban-menu-checkbox input[type=checkbox]{width:18px;height:18px;min-height:18px;max-height:18px;padding:0}.seremban-week-menu-list .seremban-week-menu-heading{padding:8px 12px}.seremban-week-menu-group,.seremban-selected-menu-list,.seremban-grouped-ingredient-card{border:1px solid #d8e1e8;border-radius:8px;background:#fff}.seremban-week-menu-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #e4ebf1;padding:10px 12px;background:#f8fafc}.seremban-week-menu-heading h4,.seremban-selected-menu-list h3{margin:0;color:#101820;font-size:.95rem}.seremban-week-menu-heading span{color:#53616f;font-size:.82rem;font-weight:900}.seremban-menu-checkbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;padding:12px}.seremban-menu-checkbox{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:9px;min-height:38px;border:1px solid #e4ebf1;border-radius:8px;padding:9px 10px;color:#101820;background:#fff;font-weight:800}.seremban-menu-checkbox input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--brand-primary)}.seremban-menu-checkbox span{overflow-wrap:anywhere}.seremban-selected-menu-list{overflow:hidden}.selected-menu-table-heading{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:14px;padding:16px 18px;border-bottom:1px solid #dfe6ed;background:linear-gradient(135deg,#f8fafc,#f3f6ff)}.selected-menu-table-heading h3,.selected-menu-table-heading p{margin:0}.selected-menu-table-heading p{margin-top:2px;color:#657282;font-size:.78rem;font-weight:700}.menu-yield-quick-apply{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:12px;width:100%;border:1px solid #dce4ee;border-radius:10px;padding:12px 14px;background:#ffffffc7}.menu-yield-quick-apply-copy{display:grid;gap:2px;min-width:250px;margin-right:8px;text-align:left}.menu-yield-quick-apply-copy strong{color:#251f60;font-size:.86rem;font-weight:900;text-transform:uppercase}.menu-yield-quick-apply-copy span{max-width:320px;color:#657282;font-size:.72rem;font-weight:700;line-height:1.25}.menu-yield-bulk-control{display:grid;width:210px;gap:6px;margin:0;padding:9px;border:1px solid #cbd6e5;border-radius:9px;background:#fff;box-shadow:0 3px 10px #251f600f}.menu-yield-bulk-control>span{color:#251f60;font-size:.78rem;font-weight:900;white-space:nowrap}.menu-yield-bulk-control input{width:100%;min-height:44px;padding:7px 10px;border:1px solid #aebed1;border-radius:7px;color:#101820;background:#fff;font-size:1.08rem;font-weight:900;text-align:center}.menu-yield-bulk-control:focus-within{border-color:var(--brand-primary);box-shadow:0 0 0 3px #251f601a}.selected-menu-table-wrap{border:0;border-radius:0}.selected-menu-table{min-width:760px;table-layout:fixed}.selected-menu-table th,.selected-menu-table td{padding:12px 16px;vertical-align:middle}.selected-menu-table tbody tr:hover td{background:#fafbff}.selected-menu-table :is(th,td):nth-child(1){width:38%}.selected-menu-table :is(th,td):nth-child(2){width:22%}.selected-menu-table :is(th,td):nth-child(3){width:16%;text-align:center}.selected-menu-table :is(th,td):nth-child(4){width:18%;text-align:right}.selected-menu-table :is(th,td):nth-child(5){width:6%;text-align:center}.selected-menu-table input[type=number]{width:100px;min-height:38px;margin-left:auto;padding:6px 9px;text-align:right}.selected-menu-yield-value{display:inline-flex;min-width:36px;justify-content:center;border-radius:999px;padding:4px 9px;color:#251f60;background:#f2f0ff;font-weight:900}.seremban-grouped-ingredient-card{display:grid;gap:0;overflow:hidden;transition:border-color .16s ease,box-shadow .16s ease}.seremban-grouped-ingredient-card.is-collapsed{border-color:#d8e0e8}.seremban-grouped-ingredient-card.is-collapsed .seremban-grouped-ingredient-card-header{border-bottom:0;padding-block:9px}.seremban-grouped-ingredient-card-header{display:grid;grid-template-columns:48px minmax(250px,1.55fr) minmax(150px,.8fr) minmax(175px,.9fr) minmax(165px,.8fr) 82px 42px;align-items:center;gap:14px;border-bottom:1px solid #e4ebf1;padding:13px 16px;background:#fff}.seremban-grouped-overview-head{display:grid;grid-template-columns:48px minmax(250px,1.55fr) minmax(150px,.8fr) minmax(175px,.9fr) minmax(165px,.8fr) 82px 42px;align-items:center;gap:14px;margin-bottom:0;padding:10px 16px;border:1px solid #d8e1e8;border-bottom:0;border-radius:8px 8px 0 0;color:#53616f;background:#f5f7fa;font-size:.7rem;font-weight:900;letter-spacing:.02em;text-transform:uppercase}.seremban-grouped-overview-head+.seremban-grouped-ingredient-card{border-radius:0}.seremban-grouped-overview-head~.seremban-grouped-ingredient-card{margin-top:-14px;border-radius:0}.seremban-grouped-overview-head~.seremban-grouped-ingredient-card:last-child{border-radius:0 0 8px 8px}.seremban-grouped-overview-head~.seremban-grouped-ingredient-card:nth-of-type(2n) .seremban-grouped-ingredient-card-header{background:#fbfcfe}.seremban-grouped-ingredient-card:hover{border-color:#bac9d8;box-shadow:0 2px 9px #1d2c3c0f}.seremban-grouped-card-name,.seremban-grouped-card-requirement,.seremban-grouped-card-status,.seremban-grouped-card-menu-count{display:grid;gap:2px;min-width:0}.seremban-grouped-card-name h4{margin:0;color:#101820;font-size:.94rem;font-weight:900;overflow-wrap:anywhere}.seremban-grouped-card-name small,.seremban-grouped-card-requirement small,.seremban-grouped-card-status small,.seremban-grouped-card-menu-count small{color:#657282;font-size:.72rem;font-weight:700}.seremban-grouped-card-requirement strong,.seremban-grouped-card-allocation,.seremban-grouped-card-menu-count strong{color:#233142;font-size:.9rem;font-weight:900}.seremban-grouped-card-menu-count{justify-items:center}.seremban-grouped-row-toggle{display:inline-grid;width:34px;min-height:34px;place-items:center;border:1px solid #ccd7e2;border-radius:8px;padding:0;color:var(--brand-primary);background:#fff}.seremban-grouped-card-status .allocation-status-pill:not(.is-complete){color:#596675;background:#eef2f5}.seremban-grouped-row-toggle:hover:not(:disabled){color:#fff;background:var(--brand-primary)}.seremban-menu-breakdown-heading{padding:9px 14px;border-top:1px solid #e4ebf1;color:#251f60;background:#f2f0ff;font-size:.8rem;font-weight:900}.ingredient-table-expanded-row>td{padding:0!important;background:#fbfcfe}.jb-requirement-status-cell{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:118px}.seremban-grouped-card-title{display:flex;align-items:flex-start;gap:12px;min-width:0}.seremban-grouped-include-control{display:inline-flex;align-items:center;gap:6px;margin-top:2px;color:#34495e;font-size:.78rem;font-weight:900;white-space:nowrap}.seremban-grouped-include-control input{width:16px;height:16px;margin:0}.seremban-grouped-ingredient-card-header>span{border-radius:999px;padding:5px 9px;color:#251f60;background:#f2f0ff;font-size:.75rem;font-weight:900;white-space:nowrap}.seremban-grouped-card-badges{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.seremban-grouped-card-badges span{border-radius:999px;padding:5px 9px;color:#251f60;background:#f2f0ff;font-size:.75rem;font-weight:900;white-space:nowrap}.seremban-grouped-card-badges .seremban-remaining-badge{color:#7a4b00;background:#fff4d8}.seremban-grouped-collapsed-note{padding:12px 14px;color:#53616f;font-size:.85rem;font-weight:700;background:#fbfcfd}.seremban-grouped-field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));align-items:start;gap:12px;padding:14px}.seremban-grouped-field-grid label,.seremban-grouped-detail-field,.seremban-grouped-field-grid .allocation-readonly-field{display:grid;gap:6px;min-width:0}.seremban-grouped-field-grid label>span,.seremban-grouped-detail-field>span,.seremban-grouped-field-grid .allocation-readonly-field>span{color:#53616f;font-size:.72rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.seremban-grouped-field-grid input,.seremban-grouped-field-grid select{min-height:40px;border-radius:8px;padding:8px 10px;font-size:.9rem}.seremban-grouped-detail-field{color:#334150;font-size:.82rem;font-weight:800}.seremban-grouped-detail-field .ingredient-purchase-detail-stack{gap:8px}.seremban-grouped-procurement-table .purchaser-procurement-menu{border:0;border-radius:0}.seremban-grouped-procurement-table .procurement-source-group-list{padding:0}.seremban-grouped-procurement-table .procurement-source-card{border:0;border-radius:0}.seremban-grouped-procurement-table .procurement-source-header{display:none}.seremban-grouped-remaining-allocation{display:grid;gap:0;border-top:1px solid #e4ebf1;background:#fffdf7}.seremban-grouped-remaining-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px 0}.seremban-grouped-remaining-header>div{display:grid;gap:3px}.seremban-grouped-remaining-header strong{color:#7a4b00;font-size:.95rem;font-weight:900}.seremban-grouped-remaining-header span{color:#53616f;font-size:.82rem;font-weight:800}.seremban-breakdown-toggle{display:flex;min-height:38px;align-items:center;gap:8px;border:0;border-top:1px solid #e4ebf1;border-radius:0;padding:9px 14px;color:var(--brand-primary);background:var(--brand-primary-soft);font-weight:900;text-align:left}.seremban-breakdown-toggle:hover{color:#fff;background:var(--brand-primary)}.seremban-menu-breakdown-list,.seremban-menu-breakdown-group{display:grid;gap:0}.seremban-menu-breakdown-row{display:grid;grid-template-columns:minmax(160px,.8fr) minmax(0,1.2fr);gap:12px;border-top:1px solid #eef3f6;padding:10px 14px;background:#fff}.seremban-menu-breakdown-row.is-remaining{border-top-color:#f2ddaa;background:#fffaf0}.seremban-menu-breakdown-row.is-remaining strong{color:#7a4b00}.seremban-menu-breakdown-row>div{display:grid;gap:3px}.seremban-menu-breakdown-row strong{color:#101820;font-size:.9rem}.seremban-menu-breakdown-row span{color:#53616f;font-size:.84rem;font-weight:800;overflow-wrap:anywhere}.ingredient-category-accordion{border:1px solid #d8e1e8;border-radius:8px;overflow:hidden;background:#fff}.ingredient-category-toggle{display:flex;width:100%;min-height:34px;align-items:center;justify-content:space-between;gap:10px;border:0;border-radius:0;padding:7px 10px;color:var(--brand-primary);background:var(--brand-primary-soft);font-weight:900;text-align:left}.ingredient-category-toggle-meta{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.ingredient-category-toggle:hover{color:#fff;background:var(--brand-primary)}.compact-ingredient-table-wrap{overflow-x:auto}.compact-ingredient-table{min-width:1040px}.seasoning-ingredient-table{min-width:1120px;table-layout:fixed}.seasoning-ingredient-table th,.seasoning-ingredient-table td{padding:10px 8px;vertical-align:middle}.seasoning-ingredient-table :is(th,td):nth-child(1){width:5%}.seasoning-ingredient-table :is(th,td):nth-child(2){width:22%}.seasoning-ingredient-table :is(th,td):nth-child(3){width:14%;text-align:left}.seasoning-ingredient-table :is(th,td):nth-child(4){width:22%;text-align:left}.seasoning-ingredient-table :is(th,td):nth-child(5){width:13%;text-align:left}.seasoning-ingredient-table :is(th,td):nth-child(6){width:16%;text-align:left}.seasoning-ingredient-table :is(th,td):nth-child(7){width:8%;text-align:right}.seasoning-ingredient-table :is(input:not([type=checkbox]),select){width:100%;min-width:0}.seasoning-ingredient-table .ingredient-row-message td{padding:0 8px 8px;border-top:0;text-align:left}.seasoning-ingredient-table .ingredient-row-message .supplier-price-missing-warning{display:inline-block;padding:2px 6px;font-size:.72rem}.purchaser-procurement-stack{display:grid;gap:16px}.purchaser-procurement-menu{display:grid;gap:10px;border:1px solid #d8e1e8;border-radius:8px;overflow:hidden;background:#fff}.purchaser-procurement-menu .ingredient-purchase-menu-header{border-bottom:1px solid #e4ebf1;padding:12px 14px;background:#f8fafc}.purchaser-procurement-menu .ingredient-purchase-menu-header span{color:#53616f;font-size:.82rem;font-weight:800}.purchaser-procurement-table-wrap{overflow-x:visible;padding:0 0 2px}.purchaser-procurement-table{width:100%;min-width:0;border-collapse:separate;border-spacing:0;table-layout:fixed}.purchaser-procurement-table th{padding:7px;border-bottom:1px solid #d8e1e8;color:#334150;background:#fff;font-size:.68rem;font-weight:900;letter-spacing:0;text-align:left;text-transform:uppercase;vertical-align:bottom}.purchaser-procurement-table td{padding:7px;border-bottom:1px solid #eef3f6;background:#fff;vertical-align:top}.purchaser-procurement-table tbody tr:nth-child(2n) td{background:#fbfdfe}.purchaser-procurement-table tbody tr:hover td{background:#f4f8fb}.purchaser-procurement-table th:nth-child(1),.purchaser-procurement-table td:nth-child(1){width:15%}.purchaser-procurement-table th:nth-child(2),.purchaser-procurement-table td:nth-child(2){width:10%}.purchaser-procurement-table th:nth-child(3),.purchaser-procurement-table td:nth-child(3){width:14%}.purchaser-procurement-table th:nth-child(4),.purchaser-procurement-table td:nth-child(4){width:10%}.purchaser-procurement-table th:nth-child(5),.purchaser-procurement-table td:nth-child(5){width:8%}.purchaser-procurement-table th:nth-child(6),.purchaser-procurement-table td:nth-child(6){width:8%}.purchaser-procurement-table th:nth-child(7),.purchaser-procurement-table td:nth-child(7){width:9%}.purchaser-procurement-table th:nth-child(8),.purchaser-procurement-table td:nth-child(8){width:9%}.purchaser-procurement-table th:nth-child(9),.purchaser-procurement-table td:nth-child(9){width:9%}.purchaser-procurement-table th:nth-child(10),.purchaser-procurement-table td:nth-child(10){width:8%}.purchaser-procurement-table input,.purchaser-procurement-table select{min-height:32px;width:100%;border:1px solid #c7d3dd;border-radius:6px;padding:5px 7px;color:#16202a;background:#fff;box-shadow:inset 0 1px #10182008;font-size:.8rem}.purchaser-procurement-table input:focus,.purchaser-procurement-table select:focus{border-color:var(--brand-primary);outline:3px solid rgba(37,31,96,.14)}.purchaser-procurement-table .ingredient-name-cell{color:#101820;font-weight:900;line-height:1.25;overflow-wrap:anywhere}.remaining-sub-item-row td{background:#f8fbff}.sub-item-note{color:var(--text-muted);display:block;font-size:.78rem;font-weight:600;margin-top:.25rem}.purchaser-procurement-table .reference-requirement-pill,.purchaser-procurement-table .estimated-cost-pill{display:inline-flex;min-height:24px;align-items:center;border-radius:999px;padding:4px 7px;font-size:.78rem;font-weight:900;line-height:1.2;white-space:nowrap}.purchaser-procurement-table .reference-requirement-pill{color:#251f60;background:#f2f0ff}.purchaser-procurement-table .estimated-cost-pill{color:#137347;background:#eaf7f1}.procurement-source-group-list{display:grid;gap:12px;padding:12px}.procurement-source-card{display:grid;gap:0;border:1px solid #d8e1e8;border-radius:8px;overflow:hidden;background:#fff}.procurement-source-summary{display:grid;grid-template-columns:auto minmax(220px,1.25fr) minmax(520px,2fr);align-items:stretch;gap:0;border-bottom:1px solid #d8e1e8;background:#f8fafc}.procurement-source-summary>*{min-width:0}.procurement-source-title,.procurement-source-include,.procurement-source-metrics>div{display:grid;align-content:center;gap:5px;min-height:64px;padding:10px 12px;border-right:1px solid #e4ebf1}.procurement-source-include{grid-template-columns:18px auto;align-items:center;align-content:center;color:#334150;font-size:.76rem;font-weight:900;text-transform:uppercase}.procurement-source-include input[type=checkbox]{width:18px;min-width:18px;height:18px;min-height:18px;margin:0;padding:0;accent-color:var(--brand-primary)}.procurement-source-title span,.procurement-source-metrics dt{color:#53616f;font-size:.72rem;font-weight:900;letter-spacing:0;line-height:1.2;text-transform:uppercase}.procurement-source-title strong,.procurement-source-metrics dd{margin:0;color:#101820;font-size:.95rem;font-weight:800;line-height:1.25}.procurement-source-title strong{font-weight:900;overflow-wrap:anywhere}.procurement-source-metrics{display:grid;grid-template-columns:minmax(130px,1fr) minmax(130px,1fr) minmax(110px,.85fr) minmax(140px,auto);margin:0}.procurement-source-metrics>div:last-child{border-right:0}.procurement-source-metrics .allocation-status-pill{justify-self:start}.procurement-source-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid #e4ebf1;background:#f8fafc}.procurement-source-header h4,.procurement-source-header p{margin:0}.procurement-source-include{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:10px;flex:1 1 auto;min-width:0;color:inherit}.procurement-source-include.no-toggle{grid-template-columns:minmax(0,1fr)}.procurement-source-include input[type=checkbox]{width:18px;min-width:18px;height:18px;min-height:18px;margin:2px 0 0;padding:0;accent-color:var(--brand-primary)}.procurement-source-include>span{min-width:0}.procurement-source-summary .procurement-source-include{grid-template-columns:18px auto;align-items:center;align-content:center;flex:initial;color:#334150;font-size:.76rem;font-weight:900;text-transform:uppercase}.procurement-source-header h4{color:#101820;font-size:1rem;font-weight:900;line-height:1.25;text-transform:uppercase;word-break:normal;overflow-wrap:break-word}.procurement-source-header p{color:#53616f;font-size:.84rem;font-weight:800;line-height:1.35}.allocation-status-pill{display:inline-flex;justify-self:end;min-height:26px;align-items:center;border-radius:999px;padding:5px 9px;color:#7a4b00;background:#fff4d8;font-size:.75rem;font-weight:900;white-space:nowrap}.allocation-status-pill.is-complete{color:#137347;background:#eaf7f1}.procurement-allocation-list{display:grid;gap:0;background:#fff}.procurement-allocation-row{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;padding:12px 14px 12px 8px;border-bottom:1px solid #eef3f6;background:#fff}.procurement-allocation-row:last-child{border-bottom:0}.procurement-allocation-row.is-remaining{background:#fffdf7}tr.procurement-allocation-row{display:table-row;padding:0}tr.procurement-allocation-row td{vertical-align:top;padding:10px 8px}tr.procurement-allocation-row label,tr.procurement-allocation-row .allocation-detail-field{display:grid;gap:5px;min-width:0}tr.procurement-allocation-row input,tr.procurement-allocation-row select,tr.procurement-allocation-row textarea{min-height:36px;width:100%;max-width:100%;border:1px solid #c7d3dd;border-radius:6px;padding:6px 8px;color:#16202a;background:#fff;box-shadow:inset 0 1px #10182008;font-size:.85rem}tr.procurement-allocation-row input:focus,tr.procurement-allocation-row select:focus,tr.procurement-allocation-row textarea:focus{border-color:var(--brand-primary);outline:3px solid rgba(37,31,96,.14)}.procurement-allocation-table{min-width:1180px;table-layout:fixed}.procurement-allocation-table th{border-bottom-color:#d8e1e8;background:#fff;text-align:left}.procurement-allocation-table .procurement-mode-column{width:16%}.procurement-allocation-table .procurement-details-column{width:34%}.procurement-allocation-table .procurement-quantity-column{width:15%}.procurement-allocation-table .procurement-cost-column{width:11%}.procurement-allocation-table .procurement-revised-cost-column{width:13%}.procurement-allocation-table .procurement-remarks-column{width:11%}.procurement-allocation-table .ingredient-purchase-detail-stack{min-width:300px}.procurement-allocation-table .supplier-price-missing-warning,.seremban-grouped-procurement-table .supplier-price-missing-warning{max-width:100%;white-space:normal;overflow-wrap:anywhere}.procurement-menu-source-panel{margin:0;border-width:1px 0 0;border-radius:0;background:#fbfdfe}.procurement-menu-source-panel h4{margin-bottom:8px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.allocation-row-marker{position:relative;min-height:100%}.allocation-row-marker:before{content:"";position:absolute;top:-12px;bottom:-12px;left:10px;width:2px;background:#d8e1e8}.allocation-row-marker:after{content:"";position:absolute;top:18px;left:10px;width:12px;height:2px;background:#d8e1e8}.procurement-allocation-row.is-remaining .allocation-row-marker:before,.procurement-allocation-row.is-remaining .allocation-row-marker:after{background:#f2c56c}.allocation-row-body{display:grid;gap:10px;min-width:0}.allocation-row-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.allocation-row-heading strong{color:#16202a;font-size:.92rem;font-weight:900}.allocation-row-heading span{color:#53616f;font-size:.78rem;font-weight:800;text-align:right}.procurement-allocation-row.is-remaining .allocation-row-heading strong{color:#7a4b00}.allocation-field-grid{display:grid;grid-template-columns:minmax(150px,.85fr) minmax(180px,1fr) minmax(180px,1fr) minmax(112px,.65fr) minmax(132px,.75fr);column-gap:12px;row-gap:10px;align-items:start}.allocation-field-grid.is-actual-purchase-layout{grid-template-columns:minmax(150px,.9fr) minmax(220px,1.35fr) minmax(104px,.65fr) minmax(90px,.55fr) minmax(116px,.7fr) minmax(132px,.78fr) minmax(132px,.78fr);column-gap:12px;row-gap:10px}.allocation-field-grid.is-actual-purchase-layout .allocation-detail-field{grid-column:auto}.allocation-field-grid label,.allocation-detail-field,.allocation-readonly-field{display:grid;gap:4px;min-width:0}.allocation-detail-field{grid-column:span 2}.allocation-remarks-field{grid-column:1 / -1}.allocation-field-grid label>span,.allocation-detail-field>span,.allocation-readonly-field>span{color:#53616f;font-size:.66rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.allocation-field-grid input,.allocation-field-grid select,.allocation-field-grid textarea{min-height:32px;width:100%;max-width:100%;border:1px solid #c7d3dd;border-radius:6px;padding:5px 7px;color:#16202a;background:#fff;box-shadow:inset 0 1px #10182008;font-size:.8rem}.allocation-field-grid input:focus,.allocation-field-grid select:focus,.allocation-field-grid textarea:focus{border-color:var(--brand-primary);outline:3px solid rgba(37,31,96,.14)}.allocation-readonly-field strong{min-height:32px;display:inline-flex;align-items:center;max-width:100%;color:#16202a;font-size:.84rem;font-weight:800;overflow-wrap:anywhere}.allocation-readonly-field .estimated-cost-pill{justify-self:start;color:#137347;background:#eaf7f1;border-radius:999px;padding:4px 7px;font-weight:900;white-space:nowrap}.procurement-allocation-summary{display:flex;justify-content:flex-end;padding:9px 14px;border-top:1px solid #e4ebf1;background:#fbfdfe;color:#334150;font-size:.84rem;font-weight:900}.readonly-procurement-list{display:grid;gap:12px}.readonly-procurement-card{margin:0}.readonly-allocation-list{display:grid;gap:0}.readonly-allocation-row{display:grid;gap:10px;padding:12px 14px;border-bottom:1px solid #eef3f6;background:#fff}.readonly-allocation-row:last-child{border-bottom:0}.readonly-allocation-row>div:first-child{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.readonly-allocation-row strong{color:#16202a;font-weight:900}.readonly-allocation-row span{color:#53616f;font-size:.8rem;font-weight:800;text-align:right}.readonly-allocation-row dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin:0}.readonly-allocation-row dt{color:#53616f;font-size:.66rem;font-weight:900;text-transform:uppercase}.readonly-allocation-row dd{margin:2px 0 0;color:#16202a;font-weight:800}.compact-ingredient-table th,.compact-ingredient-table td{padding:5px 6px;line-height:1.2;vertical-align:middle}.compact-ingredient-table tbody tr:hover{background:#f8fbfd}.self-purchase-info-banner{display:grid;gap:6px;margin:0 0 10px;padding:10px 12px;border:1px solid #f2c56c;border-left:4px solid var(--brand-secondary);background:#fff9ea;color:#3b3423;font-size:.9rem;line-height:1.45}.self-purchase-info-banner h4,.self-purchase-info-banner p{margin:0}.self-purchase-info-banner h4{color:var(--brand-primary);font-size:.96rem}.self-purchase-input-field,.self-purchase-reference{display:grid;gap:4px;min-width:130px}.self-purchase-input-field small,.self-purchase-reference small{color:#5c6770;font-size:.72rem;line-height:1.3}.self-purchase-input-field .reference-requirement-pill,.self-purchase-input-field .unit-cost-pill,.self-purchase-input-field .estimated-cost-pill,.self-purchase-reference .reference-requirement-pill{justify-self:start}.compact-ingredient-table th{font-size:.74rem}.compact-ingredient-table input,.compact-ingredient-table select,.compact-ingredient-table textarea{min-height:30px;width:100%;max-width:100%;border-radius:6px;padding:4px 6px;font-size:.88rem}.compact-ingredient-table input[type=checkbox]{width:16px;min-height:16px;height:16px;margin:0}.ingredient-purchase-detail-stack,.ingredient-purchase-mode-stack{display:grid;gap:6px}.supplier-price-readonly-details{color:#475569;font-size:.78rem;line-height:1.35}.supplier-price-missing-warning{color:#8a4b00;background:#fff3cf;border:1px solid #f2c56c;border-radius:6px;padding:4px 6px;font-size:.76rem;font-weight:800;line-height:1.3}.supplier-price-update-toggle{display:inline-flex;align-items:center;gap:6px;color:#334155;font-size:.78rem;font-weight:700}.supplier-price-update-toggle input{flex:0 0 auto;width:16px;min-width:16px;height:16px;min-height:16px;margin:0;padding:0}.procurement-field-hint{color:#5c6770;font-size:.72rem;line-height:1.3}.procurement-remarks-warning{color:#8a1f11;background:#fff0ea;border:1px solid #f4b7a7;border-radius:6px;padding:5px 7px;font-size:.76rem;font-weight:800;line-height:1.3}.compact-ingredient-table th:nth-child(1),.compact-ingredient-table td:nth-child(1){width:54px;text-align:center}.ingredient-include-cell{text-align:center}.compact-ingredient-table th:nth-child(2),.compact-ingredient-table td:nth-child(2){width:24%}.ingredient-name-cell{color:#16202a;font-weight:800}.reference-requirement-pill,.unit-cost-pill,.estimated-cost-pill{display:inline-flex;min-height:28px;align-items:center;border-radius:999px;padding:4px 9px;white-space:nowrap;font-weight:900;font-variant-numeric:tabular-nums}.reference-requirement-pill{color:#465666;background:#eef3f6}.unit-cost-pill{color:var(--brand-primary);background:#e8f7f2}.estimated-cost-pill{color:#7a4a00;background:#fff5d8}.compact-ingredient-table th:nth-child(3),.compact-ingredient-table td:nth-child(3),.compact-ingredient-table th:nth-child(4),.compact-ingredient-table td:nth-child(4),.compact-ingredient-table th:nth-child(5),.compact-ingredient-table td:nth-child(5),.compact-ingredient-table th:nth-child(6),.compact-ingredient-table td:nth-child(6),.compact-ingredient-table th:nth-child(7),.compact-ingredient-table td:nth-child(7){width:14%}.procurement-allocation-table th:nth-child(1),.procurement-allocation-table td:nth-child(1){width:16%;text-align:left}.procurement-allocation-table th:nth-child(2),.procurement-allocation-table td:nth-child(2){width:34%}.procurement-allocation-table th:nth-child(3),.procurement-allocation-table td:nth-child(3){width:15%}.procurement-allocation-table th:nth-child(4),.procurement-allocation-table td:nth-child(4){width:11%}.procurement-allocation-table th:nth-child(5),.procurement-allocation-table td:nth-child(5){width:13%}.procurement-allocation-table th:nth-child(6),.procurement-allocation-table td:nth-child(6){width:11%}.recipe-ingredient-table .table-text-button{min-width:0;width:100%;padding:6px 8px;gap:4px;white-space:normal;overflow-wrap:anywhere;line-height:1.2}@media(max-width:1100px){.seremban-grouped-overview-head{display:none}.seremban-grouped-overview-head~.seremban-grouped-ingredient-card{margin-top:0;border-radius:8px}.seremban-grouped-ingredient-card-header{grid-template-columns:32px minmax(0,1fr) auto;grid-template-areas:"buy ingredient toggle" ". requirement menus" ". allocation menus" ". status menus"}.seremban-grouped-include-control{grid-area:buy}.seremban-grouped-card-name{grid-area:ingredient}.seremban-grouped-card-requirement{grid-area:requirement}.seremban-grouped-card-allocation{grid-area:allocation}.seremban-grouped-card-status{grid-area:status}.seremban-grouped-card-menu-count{grid-area:menus}.seremban-grouped-row-toggle{grid-area:toggle}.procurement-source-summary{grid-template-columns:1fr}.procurement-source-title,.procurement-source-include,.procurement-source-metrics>div{min-height:0;border-right:0;border-bottom:1px solid #e4ebf1}.procurement-source-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.procurement-source-metrics>div:last-child{border-bottom:0}.allocation-field-grid,.allocation-field-grid.is-actual-purchase-layout{grid-template-columns:repeat(3,minmax(0,1fr))}.purchaser-procurement-table-wrap{overflow-x:auto}.purchaser-procurement-table{min-width:980px}.recipe-dialog .ingredient-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-ingredient-table{min-width:1040px}}@media(max-width:720px){.selected-menu-table-heading{grid-template-columns:1fr;align-items:flex-start}.menu-yield-quick-apply{justify-content:flex-start}.menu-yield-quick-apply-copy{flex-basis:100%;min-width:0;text-align:left}.menu-yield-bulk-control{width:min(210px,100%)}.procurement-source-metrics{grid-template-columns:1fr 1fr}.procurement-source-group-list{padding:10px}.procurement-source-header,.allocation-row-heading{align-items:flex-start;flex-direction:column}.allocation-row-heading span{text-align:left}.procurement-source-header{grid-template-columns:1fr}.allocation-status-pill{justify-self:start}.allocation-field-grid,.allocation-field-grid.is-actual-purchase-layout{grid-template-columns:1fr}.seremban-menu-picker-header,.seremban-grouped-ingredient-heading,.seremban-grouped-ingredient-card-header{align-items:flex-start;flex-direction:column}.seremban-menu-picker-actions{justify-content:flex-start}.seremban-menu-checkbox-grid,.seremban-selected-menu-row,.seremban-grouped-field-grid,.seremban-menu-breakdown-row{grid-template-columns:1fr}.procurement-allocation-row{grid-template-columns:18px minmax(0,1fr);padding:12px 10px 12px 6px}.procurement-allocation-summary{justify-content:flex-start}.recipe-dialog{padding:14px}.recipe-dialog .ingredient-grid{grid-template-columns:1fr}.recipe-ingredient-table{min-width:1000px}.recipe-ingredient-table th,.recipe-ingredient-table td{padding:6px 5px}}.recipe-dialog .dialog-actions{position:sticky;bottom:0;margin:0 -20px -20px;border-top:1px solid #d8e1e8;padding:14px 20px;background:#fff}.dialog-actions{display:flex;flex-wrap:wrap;gap:12px}.dialog-actions button{min-width:150px;padding:0 18px}.pdf-preview{display:grid;gap:16px;border:1px solid #bfccd7;border-radius:8px;padding:18px;background:#f8fafc}.pdf-preview-header{display:flex;align-items:center;gap:12px;border-bottom:1px solid #d8e1e8;padding-bottom:14px}.preview-icon{display:grid;width:44px;min-width:44px;min-height:44px;place-items:center;border-radius:8px;color:var(--brand-primary);background:var(--brand-primary-soft)}.pdf-preview-header strong,.pdf-preview-header span{display:block}.pdf-preview-header strong{color:#101820;font-size:1rem}.pdf-preview-header span{margin-top:3px;color:#53616f;font-weight:800}.pdf-preview-grid div{background:#fff}.finance-item-table{min-width:640px;background:#fff}.finance-recipient{width:fit-content;border:1px solid #c8d5df;border-radius:8px;padding:10px 12px;color:#16202a;background:#f8fafc;font-weight:900}.attachment-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px}.attachment-summary div{display:flex;align-items:center;gap:10px;border:1px solid #c8d5df;border-radius:8px;padding:12px;color:#16202a;background:#f8fafc;font-weight:900}.status-ready{width:fit-content;border:1px solid #a9dccb;border-radius:999px;padding:9px 12px;color:var(--brand-primary);background:var(--brand-primary-soft);font-weight:900}@media(max-width:900px){.dashboard{padding:34px 18px}.topbar{grid-template-columns:minmax(0,1fr) auto}.portal-user-panel{grid-column:1 / -1;grid-row:2;justify-items:start;text-align:left}.user-toolbar,.master-toolbar{grid-template-columns:1fr}.admin-dashboard-header,.section-header,.ceo-section-header{align-items:flex-start;flex-direction:column}.ceo-filter-toolbar{grid-template-columns:1fr}.approval-table th,.approval-table td,.item-table th,.item-table td{padding:10px}.summary-card,.menu-card{min-height:132px}}@media(max-width:560px){.auth-panel{padding:22px}.auth-panel h1,.dashboard h1{font-size:1.55rem}.topbar{min-height:64px;padding:0 14px}.brand-row{min-width:0}.brand-row span{overflow-wrap:break-word}.dashboard{padding:28px 14px}.admin-dashboard{gap:22px}.admin-dashboard-header{align-items:start}.summary-grid{grid-template-columns:1fr}.summary-card{min-height:108px;padding:16px}.user-filter-grid,.master-filter-grid{grid-template-columns:1fr}.user-table-meta,.master-table-meta{align-items:stretch;flex-direction:column}.recipe-course-header{align-items:flex-start;flex-direction:column}.recipe-group-menu-row{align-items:flex-start;grid-template-columns:1fr}.menu-grid,.admin-menu-grid{grid-template-columns:1fr}.ingredient-management-card{grid-column:auto}.hod-menu-grid,.ceo-menu-grid,.ceo-dashboard-grid,.ceo-summary-grid,.ceo-filter-grid,.menu-costing-chart-row{grid-template-columns:1fr}.menu-costing-chart-row small{text-align:left}.menu-tracking-group li{align-items:flex-start;flex-direction:column}.ceo-analysis-card,.ceo-table-section,.ceo-filter-panel{padding:14px}.ceo-bar-chart{min-height:150px;gap:8px;padding:14px}.ceo-spending-row{grid-template-columns:1fr}.ceo-spending-row strong{text-align:left}.ceo-monthly-chart{min-height:220px;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:10px;padding:14px}.ceo-monthly-bar{height:180px}.request-summary-grid{grid-template-columns:1fr}.purchaser-procurement-table-wrap{overflow:visible;padding:0 10px 10px}.purchaser-procurement-table{min-width:0}.purchaser-procurement-table thead{display:none}.purchaser-procurement-table,.purchaser-procurement-table tbody,.purchaser-procurement-table tr,.purchaser-procurement-table td{display:block;width:100%}.purchaser-procurement-table tr{margin:0 0 12px;border:1px solid #d8e1e8;border-radius:8px;overflow:hidden;background:#fff}.purchaser-procurement-table td{display:grid;grid-template-columns:minmax(118px,.42fr) minmax(0,1fr);align-items:center;gap:10px;border-bottom:1px solid #eef3f6;padding:10px 12px}.purchaser-procurement-table td:before{content:attr(data-label);color:#53616f;font-size:.75rem;font-weight:900;text-transform:uppercase}.purchaser-procurement-table td:first-child{grid-template-columns:1fr;background:#f8fafc}.purchaser-procurement-table td:first-child:before{display:none}.purchaser-procurement-table td:last-child{border-bottom:0}.form-grid,.general-handling-grid,.ingredient-grid,.review-grid{grid-template-columns:1fr}.form-actions button,.approval-actions button,.section-actions{width:100%}.section-actions .table-action-link{justify-content:center;width:100%}.table-actions,.table-text-button{width:100%}.table-actions .table-action-link{justify-content:center;width:100%}.table-text-button{justify-content:center}.dialog-actions button{width:100%}.confirmation-dialog,.pdf-preview{padding:18px}.user-dialog .dialog-actions{margin:8px -18px 0;padding:14px 18px 18px}.recipe-dialog{width:100%;min-height:100vh;height:auto;max-height:none;border-radius:0;padding:14px;overflow:visible}.recipe-dialog .ingredient-grid{grid-template-columns:1fr}.recipe-dialog .calculation-section,.recipe-dialog .recipe-table-wrap{overflow:visible}.recipe-ingredient-table{min-width:0}.recipe-dialog .dialog-actions{margin:0 -14px -14px;padding:14px}.attachment-summary{grid-template-columns:1fr}.inline-number-field{align-items:stretch;flex-direction:column}.inline-number-field input,.calculation-preview{width:100%}.calculation-preview{grid-template-columns:1fr}.section-header,.grand-total{align-items:stretch;flex-direction:column}.small-button{justify-content:center;width:100%}.grand-total strong{min-width:0;text-align:left}.approval-table,.item-table{font-size:.92rem}.approval-table th,.approval-table td,.item-table th,.item-table td{padding:9px}.item-section,.ingredient-section,.review-section,.master-filter-panel,.user-table-panel{padding:14px}.review-ingredient-group-header{align-items:stretch;flex-direction:column}.review-ingredient-group-summary{justify-items:start;white-space:normal}.review-group-panel{padding-right:14px;padding-left:14px}}.role-module-access-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-top:1rem}.role-module-access-group{border:1px solid #d9e2ec;border-radius:8px;padding:1rem}.role-module-access-group h3{margin:0 0 .75rem}.role-module-checkbox-list{display:grid;gap:.65rem}.checkbox-row{align-items:flex-start;display:flex;gap:.65rem}.checkbox-row input{margin-top:.25rem}.checkbox-row span{display:grid;gap:.15rem}.checkbox-row small{color:#52616f;overflow-wrap:anywhere}@media(max-width:900px){.dashboard{padding:28px 18px}.dashboard>.section-header,.dashboard>.admin-dashboard-header{overflow-wrap:anywhere}.small-button,.table-text-button,.table-action-link{min-height:44px}.form-grid>label>input:not([type=checkbox]):not([type=radio]),.form-grid>label>select,.form-grid>label>textarea,.user-toolbar input,.user-toolbar select,.master-toolbar input,.master-toolbar select,.user-filter-grid select,.master-filter-grid select{min-height:44px;min-width:0;font-size:1rem}}@media(max-width:560px){.dashboard{padding:20px 14px}.admin-dashboard{gap:16px}.admin-dashboard>.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.admin-dashboard>.summary-grid .summary-card{display:grid;grid-template-columns:28px minmax(0,1fr);gap:6px 8px;min-height:0;padding:10px}.admin-dashboard>.summary-grid .summary-card>div{display:contents}.admin-dashboard>.summary-grid .summary-card p{grid-column:1 / -1;grid-row:1;font-size:.875rem;line-height:1.3;overflow-wrap:anywhere}.admin-dashboard>.summary-grid .summary-icon{grid-column:1;grid-row:2;width:28px;height:28px}.admin-dashboard>.summary-grid .summary-icon svg{width:20px;height:20px}.admin-dashboard>.summary-grid .summary-card strong{grid-column:2;grid-row:2;margin:0;font-size:1.5rem;text-align:right;overflow-wrap:anywhere}.menu-grid{gap:12px}.menu-grid>.menu-card{min-height:96px;gap:12px;padding:16px;font-size:1rem}.menu-grid>.menu-card>.menu-icon{width:36px;height:36px;flex-shrink:0}.admin-menu-grid>a.menu-card,.admin-dashboard>.master-stack .menu-grid>a.menu-card{display:flex;min-height:64px;align-items:center;padding:12px 14px}.staff-dashboard-summary,.hod-summary-grid .request-summary-card{min-height:0;gap:12px;padding:14px}.request-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.request-summary-grid dt{font-size:.875rem;line-height:1.3}.request-summary-grid dd{overflow-wrap:anywhere}}.procurement-rule-page{max-width:1500px}.procurement-rule-wizard{display:grid;gap:18px}.wizard-heading{align-items:center;display:flex;gap:10px;margin-top:8px}.wizard-heading>span{align-items:center;background:#173f5f;border-radius:999px;color:#fff;display:inline-flex;font-weight:700;height:30px;justify-content:center;width:30px}.wizard-heading h2{font-size:1.05rem;margin:0}.rule-template-grid,.two-column-grid,.preview-input-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.rule-template-choice{align-items:flex-start;border:1px solid #d7dee6;border-radius:12px;cursor:pointer;display:flex;gap:10px;padding:14px}.rule-template-choice.selected{background:#f0f8ff;border-color:#2877a9;box-shadow:0 0 0 1px #2877a9}.rule-template-choice small,.rule-source-card span,.preview-input-grid label>span,.rule-preview-title span,.rule-preview-card td small{color:#627184;display:block;font-weight:400;margin-top:4px}.source-picker{align-items:end;display:grid;gap:12px;grid-template-columns:minmax(220px,1fr) minmax(260px,1.4fr) auto}.rule-source-list,.rule-list{display:grid;gap:10px}.rule-source-card{align-items:end;background:#f8fafc;border:1px solid #dce3ea;border-radius:10px;display:grid;gap:12px;grid-template-columns:minmax(240px,1.4fr) minmax(170px,.8fr) minmax(150px,.65fr) auto;padding:12px}.rule-source-card label input{display:inline-block;margin-right:6px;width:110px}.full-width-field{grid-column:1 / -1}.preview-input-grid label{background:#f8fafc;border-radius:8px;padding:10px}.rule-preview-card{background:#effaf3;border:1px solid #9fd5af;border-radius:12px;padding:14px}.rule-preview-title{align-items:flex-start;display:flex;gap:10px;margin-bottom:12px}.rule-preview-card table{border-collapse:collapse;width:100%}.rule-preview-card th,.rule-preview-card td{border-bottom:1px solid #cce4d3;padding:8px;text-align:left}.saved-rule-card{align-items:center;border:1px solid #dce3ea;border-radius:10px;display:grid;gap:12px;grid-template-columns:1fr auto auto;padding:14px}.saved-rule-card p{color:#627184;margin:4px 0 0}@media(max-width:800px){.rule-template-grid,.two-column-grid,.preview-input-grid,.source-picker,.rule-source-card,.saved-rule-card{grid-template-columns:1fr}}.general-purchase-table-wrap{overflow:visible}.general-purchase-v2 th:nth-child(n),.general-purchase-v2 td:nth-child(n){width:auto;text-align:left}.general-purchase-v2 input{width:100%;min-width:0}.purchase-draft-notice{display:grid;gap:20px;padding:24px;margin-bottom:24px;background:#fff;border:1px solid #d5deed;border-radius:12px}.purchase-draft-heading strong{display:block;font-size:1rem;color:#222050}.purchase-draft-heading p{margin:6px 0 0;color:#657187;font-size:.875rem;line-height:1.5}.purchase-draft-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}.purchase-draft-field{display:flex;flex-direction:column;gap:8px;min-width:0;font-size:.875rem;font-weight:600;color:#38455b}.purchase-draft-field input,.purchase-draft-field select{box-sizing:border-box;width:100%;min-width:0;height:46px;padding:0 14px;border:1px solid #bfccdf;border-radius:8px;background:#fff;color:#172338;font:inherit;font-weight:400}.purchase-draft-field input:focus,.purchase-draft-field select:focus{outline:2px solid #b9b2ed;outline-offset:2px}.purchase-draft-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;padding-top:16px;border-top:1px solid #e6ebf3}.purchase-draft-actions button{min-height:44px;padding:10px 18px;border-radius:8px;font-size:.875rem}@media(max-width:600px){.purchase-draft-notice{padding:18px;gap:16px}.purchase-draft-fields{grid-template-columns:minmax(0,1fr);gap:16px}.purchase-draft-actions button{flex:1 1 145px}}.general-purchase-v2 .general-purchase-example{background:#f3f5fa;color:#64748b}.general-purchase-v2 .general-purchase-example td{border-bottom:1px dashed #b8c4d8}.general-purchase-v2 .general-purchase-example small{display:block;margin-top:6px;font-size:.8rem}.general-purchase-v2 td:nth-child(6) output{white-space:normal}.general-remove-row{margin-top:8px;display:block}.app-shell a.menu-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:10px;padding:20px;min-height:160px;border:1px solid #dfe5ee;border-radius:16px;background:#fff;color:#202b43;box-shadow:0 3px 12px #1d294808;font-size:16px;font-weight:700;text-decoration:none;transition:transform .15s,border-color .15s}.app-shell a.menu-card:after{content:"";position:absolute;top:29px;right:18px;width:14px;height:14px;background:#9b94b1;pointer-events:none;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14m-6-6 6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat}.app-shell a.menu-card:has(.dashboard-pending-count):after{right:46px}.app-shell a.menu-card:hover{border-color:#9988c9;transform:translateY(-2px);background:#faf7ff;color:#202b43;box-shadow:0 3px 12px #1d294808}.app-shell a.menu-card:focus-visible{outline:3px solid #9b87da;outline-offset:3px;background:#faf7ff;color:#202b43}.app-shell a.menu-card .menu-icon{width:42px;height:42px;border-radius:12px;background:#efecfc;color:#574391;flex-shrink:0}.app-shell a.menu-card .menu-icon svg{width:23px;height:23px}.app-shell a.menu-card>span:not(.menu-icon):not(.dashboard-pending-count){line-height:1.3;overflow-wrap:anywhere}.app-shell a.menu-card :is(.function-card-description,.purchaser-card-description,.menu-card-note){font-size:13px;font-weight:400;line-height:1.45;color:#69758a}@media(max-width:700px){.app-shell .menu-grid:not(.hod-summary-grid){grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.app-shell a.menu-card{padding:15px;min-height:151px;gap:9px;border-radius:14px;font-size:14px}.app-shell a.menu-card .menu-icon{width:36px;height:36px;border-radius:10px}.app-shell a.menu-card .menu-icon svg{width:21px;height:21px}.app-shell a.menu-card :is(.function-card-description,.purchaser-card-description,.menu-card-note){font-size:11px}.app-shell a.menu-card:after{top:24px;right:13px}}@media(prefers-reduced-motion:reduce){.app-shell a.menu-card{transition:none}.app-shell a.menu-card:hover{transform:none}}
