: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){background:#1b1749;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);margin:0 auto;padding:clamp(28px,5vw,56px) clamp(16px,3vw,36px)}.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-intelligence-header{grid-template-columns:minmax(0,1fr) auto;align-items:end;padding-bottom:4px}.ceo-generated-at{display:grid;gap:4px;min-width:210px;padding:12px 14px;border:1px solid #d8e1e8;border-radius:8px;background:#fff}.ceo-generated-at span{color:#53616f;font-size:.75rem;font-weight:800;text-transform:uppercase}.ceo-generated-at strong{color:#101820;font-size:.9rem}.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-intelligence-filter-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr))}.ceo-tab-list{display:flex;flex-wrap:wrap;gap:8px;padding:6px;border:1px solid #d8e1e8;border-radius:8px;background:#f8fbfd}.ceo-tab-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:8px 12px;border:1px solid transparent;border-radius:8px;background:transparent;color:#53616f;cursor:pointer;font:inherit;font-size:.86rem;font-weight:800}.ceo-tab-button:hover,.ceo-tab-button:focus-visible{border-color:#c9d7e2;background:#fff;color:#101820}.ceo-tab-button.active{border-color:#c7d6ee;background:#eef5ff;color:#193a6a}.ceo-spending-summary-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}.ceo-overview-shell{display:grid;gap:18px}.ceo-executive-summary-panel,.ceo-ai-insight-panel,.ceo-evidence-panel,.ceo-attention-panel,.ceo-assistant-panel{border:1px solid #d8e1e8;border-radius:8px;background:#fff;box-shadow:0 10px 28px #16202a14}.ceo-ai-insight-panel{display:grid;gap:8px;padding:20px;border-color:#c7d6ee;background:linear-gradient(135deg,#eef5ffdb,#fffffffa 54%),#fff}.ceo-ai-insight-panel .ceo-executive-kicker span{font-size:clamp(1.05rem,1.45vw,1.35rem)}.ceo-ai-insight-panel p{max-width:1100px;margin:0;color:#243140;font-size:.98rem;font-weight:750;line-height:1.55}.ceo-executive-summary-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start;padding:24px;border-color:#c7d6ee;background:linear-gradient(135deg,#eef5ffeb,#fffffffa 46%),#fff}.ceo-executive-summary-main,.ceo-executive-summary-actions{display:grid;gap:12px;min-width:0}.ceo-executive-summary-actions{justify-items:end}.ceo-executive-summary-actions span{color:#6b7683;font-size:.76rem;font-weight:800}.ceo-executive-kicker{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.ceo-executive-kicker span{color:#101820;font-size:clamp(1.35rem,2vw,1.9rem);font-weight:900;line-height:1.15}.ceo-executive-kicker strong{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:4px 9px;border:1px solid #c7d6ee;border-radius:999px;background:#f8fbfd;color:#193a6a;font-size:.72rem;font-weight:900;text-transform:uppercase}.ceo-executive-summary-copy{display:grid;gap:8px;max-width:980px;margin:0;color:#243140;font-size:clamp(1rem,1.25vw,1.14rem);font-weight:700;line-height:1.55}.ceo-executive-summary-copy p,.ceo-executive-summary-empty p{margin:0}.ceo-executive-summary-empty{max-width:760px;padding:14px 16px;border:1px solid #d8e1e8;border-radius:8px;background:#f8fbfd;color:#53616f;font-size:.94rem;font-weight:800;line-height:1.5}.ceo-business-pulse{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.ceo-pulse-card{display:grid;gap:4px;min-height:96px;align-content:center;padding:15px;border:1px solid #d8e1e8;border-radius:8px;background:#fff}.ceo-pulse-card strong{color:#101820;font-size:clamp(1.35rem,2vw,2rem);line-height:1.1;overflow-wrap:break-word}.ceo-pulse-card span{color:#53616f;font-size:.78rem;font-weight:900;text-transform:uppercase}.ceo-pulse-card.attention{border-color:#f3cf8d;background:#fff8ed}.ceo-pulse-card.muted{background:#f8fafc}.ceo-visual-analysis-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:stretch}.ceo-evidence-panel,.ceo-attention-panel,.ceo-assistant-panel{display:grid;align-content:start;gap:14px;min-width:0;padding:18px}.ceo-section-header.compact p{font-size:.84rem}.ceo-overview-trend{display:grid;min-height:190px;grid-template-columns:repeat(6,minmax(32px,1fr));align-items:end;gap:10px;padding:12px;border:1px solid #e3ebf0;border-radius:8px;background:#f8fafc}.ceo-overview-trend-bar{display:grid;height:160px;grid-template-rows:auto 1fr auto;align-items:end;gap:7px;min-width:0;color:#243140;text-align:center;font-weight:800}.ceo-overview-trend-bar span{min-height:30px;color:#53616f;font-size:.72rem;line-height:1.2;overflow-wrap:break-word}.ceo-overview-trend-bar i{display:block;width:min(100%,34px);min-height:8px;justify-self:center;border-radius:8px 8px 4px 4px;background:#251f60;height:var(--bar-height)}.ceo-overview-trend-bar strong{min-height:30px;color:#243140;font-size:.72rem;line-height:1.2;overflow-wrap:break-word}.ceo-overview-bars{display:grid;gap:12px}.ceo-overview-bar-row{display:grid;grid-template-columns:minmax(92px,1fr) minmax(90px,1.4fr) minmax(72px,auto);align-items:center;gap:10px;min-width:0;color:#243140;font-size:.82rem;font-weight:800}.ceo-overview-bar-row span{min-width:0;overflow-wrap:break-word}.ceo-overview-bar-row div{height:10px;overflow:hidden;border-radius:999px;background:#dfe8ed}.ceo-overview-bar-row i{display:block;width:var(--bar-width);min-width:3px;height:100%;border-radius:inherit;background:#2a8c6a}.ceo-overview-bar-row strong{color:#101820;font-size:.82rem;text-align:right;white-space:nowrap}.ceo-overview-lower-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(360px,1.08fr);gap:18px;align-items:start}.ceo-attention-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.ceo-attention-list li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 10px;align-items:center;min-width:0;padding:10px;border:1px solid #e3ebf0;border-radius:8px;background:#f8fafc}.ceo-attention-list strong,.ceo-attention-list small{min-width:0;overflow-wrap:break-word}.ceo-attention-list strong{color:#243140;font-size:.9rem}.ceo-attention-list small{grid-column:2;color:#53616f;font-size:.8rem;font-weight:750;line-height:1.45}.ceo-severity-pill{display:inline-flex;align-items:center;justify-content:center;min-height:24px;min-width:62px;border-radius:999px;padding:3px 8px;color:#243140;background:#eef3f6;font-size:.7rem;font-weight:900;text-transform:uppercase}.ceo-severity-pill.high{color:#7a1f1f;background:#fff0f0}.ceo-severity-pill.medium{color:#7a4b00;background:#fff4df}.ceo-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:14px}.ceo-overview-card{display:grid;gap:8px;min-height:148px;padding:16px;border:1px solid #d8e1e8;border-radius:8px;background:#fff;box-shadow:0 10px 28px #16202a14}.ceo-overview-card span,.ceo-overview-brief span{color:#53616f;font-size:.74rem;font-weight:900;text-transform:uppercase}.ceo-overview-card strong{color:#101820;font-size:1.45rem;line-height:1.2;overflow-wrap:break-word}.ceo-overview-card p,.ceo-overview-brief p{margin:0;color:#53616f;font-size:.88rem;font-weight:700;line-height:1.5}.ceo-overview-card.attention{border-color:#f3cf8d;background:#fff8ed}.ceo-overview-card.caution{border-color:#d8e1e8;background:#f8fbfd}.ceo-overview-card.muted{background:#f8fafc}.ceo-overview-ai-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:18px;align-items:start}.ceo-overview-brief{display:grid;gap:12px}.ceo-overview-brief>div{display:grid;gap:6px;min-width:0;padding:10px;border:1px solid #e3ebf0;border-radius:8px;background:#f8fafc}.ceo-overview-brief strong{color:#243140}.ceo-overview-brief small{color:#6b7683;font-size:.78rem;font-weight:800}.ceo-market-movement-detail{display:grid;gap:.45rem}.ceo-market-movement-detail strong{color:#101820;font-size:1rem}.ceo-market-movement-detail p{color:#53616f;margin:0}.ceo-market-movement-detail span{color:#0f766e;font-weight:900}.ceo-market-movement-detail small{color:#6b7683;font-size:.82rem;font-weight:800}.ceo-assistant-panel{min-width:0}.ceo-assistant-quick-list{display:flex;flex-wrap:wrap;gap:8px}.ceo-assistant-quick-list button{min-height:32px;border:1px solid #d8e1e8;border-radius:8px;padding:6px 10px;background:#f8fbfd;color:#243140;cursor:pointer;font:inherit;font-size:.78rem;font-weight:800}.ceo-assistant-messages{display:grid;gap:10px;max-height:360px;overflow-y:auto;padding:10px;border:1px solid #e3ebf0;border-radius:8px;background:#f8fafc}.ceo-assistant-message{display:grid;gap:5px;min-width:0;padding:10px;border:1px solid #e3ebf0;border-radius:8px;background:#fff}.ceo-assistant-message.user{background:#eef5ff}.ceo-assistant-message strong{color:#243140;font-size:.84rem}.ceo-assistant-message p{margin:0;color:#243140;font-size:.88rem;line-height:1.5;overflow-wrap:break-word}.ceo-assistant-message span{color:#6b7683;font-size:.76rem;font-weight:800}.ceo-assistant-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.ceo-assistant-form input{min-width:0}.ceo-progress-coverage-chart,.ceo-comparison-chart{display:grid;gap:12px;min-height:180px;padding:14px;border:1px solid #e3ebf0;border-radius:8px;background:#f8fafc}.ceo-progress-row{display:grid;grid-template-columns:minmax(180px,.9fr) minmax(180px,1.5fr) minmax(130px,auto);align-items:center;gap:12px;min-width:0;padding:12px;border:1px solid #e3ebf0;border-radius:8px;background:#fff}.ceo-progress-row>div:first-child{display:grid;gap:4px;min-width:0}.ceo-progress-row strong,.ceo-progress-row span,.ceo-progress-row small{min-width:0;overflow-wrap:break-word}.ceo-progress-row strong{color:#101820;font-size:.94rem}.ceo-progress-row span,.ceo-progress-row small{color:#53616f;font-size:.8rem;font-weight:800}.ceo-progress-row small{text-align:right}.ceo-progress-track{height:13px;overflow:hidden;border-radius:999px;background:#dfe8ed}.ceo-progress-track i{display:block;width:var(--bar-width);min-width:4px;height:100%;border-radius:inherit;background:#6b7b8d}.ceo-progress-track i.complete{background:#2a8c6a}.ceo-progress-track i.partial{background:#b7791f}.ceo-progress-track i.risk{background:#b42318}.ceo-comparison-row{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(260px,1.7fr) minmax(120px,auto);gap:14px;align-items:center;min-width:0;padding:13px;border:1px solid #e3ebf0;border-radius:8px;background:#fff}.ceo-comparison-label,.ceo-comparison-bars{display:grid;min-width:0}.ceo-comparison-label{gap:4px}.ceo-comparison-label strong{color:#101820;font-size:.94rem;line-height:1.35;overflow-wrap:break-word}.ceo-comparison-label span{color:#53616f;font-size:.78rem;font-weight:800;overflow-wrap:break-word}.ceo-comparison-bars{grid-template-columns:74px minmax(120px,1fr) minmax(96px,auto);align-items:center;gap:7px 10px}.ceo-comparison-bars span,.ceo-comparison-bars small{color:#53616f;font-size:.76rem;font-weight:850}.ceo-comparison-bars small{color:#243140;text-align:right}.ceo-comparison-bars i{display:block;width:var(--bar-width);min-width:4px;height:12px;border-radius:999px}.ceo-comparison-bars i.estimate{background:#7b8794}.ceo-comparison-bars i.actual{background:#2a8c6a}.ceo-comparison-bars i.actual.high{background:#b7791f}.ceo-chart-variance{color:#2a8c6a;font-size:.86rem;text-align:right;overflow-wrap:break-word}.ceo-chart-variance.high{color:#9a3412}.ceo-forecast-chart{display:grid;min-height:230px;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));align-items:end;gap:12px;padding:16px;border:1px solid #e3ebf0;border-radius:8px;background:#f8fafc}.ceo-forecast-point{display:grid;height:190px;grid-template-rows:auto 1fr auto;align-items:end;gap:8px;min-width:0;text-align:center}.ceo-forecast-point span,.ceo-forecast-point strong{color:#53616f;font-size:.74rem;font-weight:850;line-height:1.25;overflow-wrap:break-word}.ceo-forecast-point i{display:block;width:min(100%,34px);min-height:10px;justify-self:center;border-radius:8px 8px 4px 4px;background:#251f60;height:var(--bar-height)}.ceo-forecast-point.forecast i{border:2px solid #251f60;background:repeating-linear-gradient(-45deg,#eef5ff,#eef5ff 6px,#c7d6ee 6px,#c7d6ee 12px)}.ceo-forecast-point.forecast strong{color:#193a6a}.ceo-navigation-card{min-height:142px}.ceo-dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,430px),1fr));gap:18px}.ceo-brief-panel{display:grid;gap:16px}.ceo-brief-summary{display:grid;gap:8px;min-width:0}.ceo-brief-summary strong,.ceo-brief-list h3{margin:0;color:#251f60;font-size:.98rem;line-height:1.3}.ceo-brief-summary p,.ceo-brief-list p{margin:0;color:#53616f;font-size:.9rem;line-height:1.55}.ceo-brief-summary span{color:#6b7683;font-size:.78rem;font-weight:800}.ceo-brief-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:14px}.ceo-brief-list{display:grid;align-content:start;gap:10px;min-width:0;padding:12px;border:1px solid #e3ebf0;border-radius:8px;background:#f8fafc}.ceo-brief-list ul{display:grid;gap:10px;margin:0;padding:0;list-style:none}.ceo-brief-list li{display:grid;gap:6px;min-width:0;padding:10px;border:1px solid #e3ebf0;border-radius:8px;background:#fff}.ceo-brief-list li strong{color:#243140;font-size:.88rem;line-height:1.35;overflow-wrap:break-word}.ceo-brief-list li span{color:#53616f;font-size:.8rem;font-weight:700;line-height:1.45;overflow-wrap:break-word}.ceo-brief-field{display:grid;gap:3px;padding:8px;border:1px solid #e3ebf0;border-radius:8px;background:#fff}.ceo-brief-field span{color:#53616f;font-size:.72rem;font-weight:900;text-transform:uppercase}.ceo-brief-field p{color:#243140;font-size:.84rem;line-height:1.45}.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-menu-costing-menu,.ceo-reference-list{display:grid;gap:5px;min-width:0}.ceo-menu-costing-menu strong{color:#243140;font-size:.92rem;line-height:1.35}.ceo-menu-costing-menu span{color:#6b7683;font-size:.76rem;font-weight:800}.ceo-reference-list{justify-items:start}.ceo-variance-value{display:inline-flex;align-items:center;min-height:28px;border-radius:999px;padding:4px 9px;background:#eef3f6;color:#243140;font-weight:900;white-space:nowrap}.ceo-variance-value.positive{border:1px solid #f3cf8d;background:#fff4df;color:#7a4b00}.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}.ceo-limitations ul{display:grid;gap:8px;margin:0;padding-left:20px;color:#53616f;font-size:.9rem;font-weight:700}.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}.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}.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-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{padding:12px}.seremban-selected-menu-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,190px) minmax(120px,150px) auto;align-items:end;gap:10px;border-top:1px solid #eef3f6;padding-top:10px}.seremban-selected-menu-row:first-of-type{border-top:0;padding-top:0}.seremban-selected-menu-row>div{display:grid;gap:3px}.seremban-selected-menu-row strong,.seremban-grouped-ingredient-card-header h4{color:#101820;font-weight:900;overflow-wrap:anywhere}.seremban-selected-menu-row span{color:#53616f;font-size:.8rem;font-weight:800}.seremban-grouped-ingredient-card{display:grid;gap:0;overflow:hidden}.seremban-grouped-ingredient-card.is-collapsed{border-color:#d8e0e8}.seremban-grouped-ingredient-card-header{border-bottom:1px solid #e4ebf1;padding:12px 14px;background:#f8fafc}.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}.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:18%}.procurement-allocation-table .procurement-details-column{width:30%}.procurement-allocation-table .procurement-quantity-column{width:15%}.procurement-allocation-table .procurement-cost-column,.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:260px}.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:18%;text-align:left}.procurement-allocation-table th:nth-child(2),.procurement-allocation-table td:nth-child(2){width:30%}.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),.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){.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){.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-overview-ai-grid,.ceo-overview-lower-grid,.ceo-visual-analysis-grid,.ceo-summary-grid,.ceo-filter-grid{grid-template-columns:1fr}.ceo-business-pulse{grid-template-columns:repeat(2,minmax(0,1fr))}.ceo-executive-summary-panel{grid-template-columns:1fr;padding:18px}.ceo-executive-summary-actions{justify-items:start}.ceo-intelligence-header{grid-template-columns:1fr;align-items:stretch}.ceo-generated-at{min-width:0}.ceo-tab-list{display:grid;grid-template-columns:1fr}.ceo-tab-button{justify-content:flex-start}.ceo-assistant-form,.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-evidence-panel,.ceo-attention-panel,.ceo-assistant-panel,.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-progress-row,.ceo-comparison-row,.ceo-comparison-bars{grid-template-columns:1fr}.ceo-progress-row small,.ceo-comparison-bars small,.ceo-chart-variance{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}
