*{box-sizing:border-box}:root{--ciq-bg: #2b2b2b;--ciq-panel: #111111;--ciq-panel-shadow: #1e1e1e;--ciq-gold: #d4af37;--ciq-text: #eaeaea;--ciq-muted: #c8c8c8;--ciq-green: #00ff7f;--ciq-red: #ff4c4c;--ciq-border: #333333}html,body,#root{width:100%;min-height:100%;margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--ciq-bg);color:var(--ciq-text)}body{overflow-x:hidden}button{font:inherit}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top,#3a3422 0,var(--ciq-bg) 34%,#171717 100%)}.login-card{width:min(100%,480px);padding:42px;border:1px solid rgba(212,175,55,.36);border-radius:22px;background:#111111f5;box-shadow:0 24px 70px #0000007a}.login-card__eyebrow{color:var(--ciq-gold);font-size:.82rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.login-card__title{margin:12px 0 8px;color:var(--ciq-text);font-size:2rem}.login-card__copy{margin:0 0 26px;color:var(--ciq-muted)}.login-form{display:grid;gap:18px}.field{display:grid;gap:8px;color:var(--ciq-text);font-weight:700}.field input{width:100%;padding:13px 14px;border:1px solid #4a4a4a;border-radius:10px;outline:none;background:#242424;color:var(--ciq-text);font:inherit}.field input:focus{border-color:var(--ciq-gold);box-shadow:0 0 0 3px #d4af3729}.primary-button{padding:13px 18px;border:0;border-radius:10px;background:var(--ciq-gold);color:#111;font-weight:800;cursor:pointer}.primary-button:disabled{cursor:wait;opacity:.65}.app-shell{min-height:100vh;background:var(--ciq-bg)}.app-content{width:100%;padding:clamp(12px,2.5vw,28px)}.nav3-shell{width:min(calc(100% - clamp(24px,5vw,56px)),1480px);margin:clamp(12px,4vw,40px) auto 0;display:grid;gap:28px}.nav3-brand-panel,.nav3-controls,.nav3-links-panel{background:#111313;border:2px solid #414647;border-radius:17px}.nav3-brand-panel{min-height:clamp(120px,14vw,180px);padding:clamp(20px,3vw,34px);display:flex;align-items:center;justify-content:space-between;gap:32px;border-color:var(--ciq-gold)}.nav3-title{color:#f5cc68;font-size:clamp(2rem,3vw,2.85rem);line-height:1.1}.nav3-identity{display:grid;gap:12px;min-width:280px;text-align:right;font-size:1.25rem}.nav3-customer-line{display:flex;align-items:center;justify-content:flex-end;gap:12px}.nav3-logout{padding:5px 10px;border:1px solid #777;border-radius:7px;background:#252727;color:var(--ciq-text);cursor:pointer;font-size:.8rem}.nav3-logout:hover{border-color:var(--ciq-gold);color:var(--ciq-gold)}.nav3-controls{padding:clamp(18px,3vw,34px);display:grid;grid-template-columns:repeat(2,minmax(0,380px));gap:clamp(18px,4vw,40px)}.nav3-field{display:grid;gap:7px;color:var(--ciq-muted);font-size:1.15rem}.nav3-field select{width:100%;min-height:56px;padding:0 46px 0 14px;border:2px solid #656d70;border-radius:10px;background:#242727;color:var(--ciq-text);font:inherit;cursor:pointer}.nav3-field select:disabled{cursor:wait;opacity:.72}.nav3-field select:focus-visible,.nav3-link:focus-visible,.nav3-logout:focus-visible{outline:3px solid rgba(245,204,104,.5);outline-offset:3px}.nav3-links-panel{padding:clamp(14px,2.5vw,26px)}.nav3-business-date{margin-bottom:14px;color:var(--ciq-muted);font-size:1.15rem}.nav3-links{display:flex;flex-wrap:wrap;gap:10px}.nav3-link{padding:9px 12px;border:2px solid #47b868;border-radius:11px;background:#14261a;color:#d8f3df;cursor:pointer;font-size:1.15rem}.nav3-link.is-enabled:hover,.nav3-link.is-active{background:#235f34}.nav3-link.is-disabled,.nav3-link:disabled{border-color:#bd5157;background:#321d20;color:#f1c5c7;cursor:not-allowed;opacity:1}.ciq-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.07);background:#111111eb;position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.ciq-header__title{font-size:1.2rem;color:var(--ciq-gold);font-weight:800}.ciq-header__subtitle{font-size:.9rem;color:var(--ciq-muted)}.ciq-nav{display:flex;flex-wrap:wrap;gap:10px}.ciq-nav__link{background:#1d1d1d;color:var(--ciq-text);padding:10px 14px;border-radius:999px;border:1px solid rgba(212,175,55,.18);cursor:pointer;transition:.2s ease}.ciq-nav__link.is-active,.ciq-nav__link:hover{background:var(--ciq-gold);color:#111}.dashboard-page{width:100%;max-width:1320px;margin:0 auto}.page-hero{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:20px}.page-title{margin:0;color:var(--ciq-gold);font-size:2rem;line-height:1.1}.page-subtitle{margin-top:6px;font-size:1.05rem}.service-day{min-width:220px;text-align:left}.service-day__label{font-weight:700}.service-day__value{margin-top:6px}.ops-grid{display:grid;gap:18px}.ops-grid--shell{grid-template-columns:repeat(3,minmax(0,1fr))}.ops-grid--shell>:last-child{grid-column:1 / -1}.ciq-card{background:linear-gradient(180deg,var(--ciq-panel-shadow),var(--ciq-panel-shadow)) padding-box,linear-gradient(180deg,#ffffff05,#ffffff0d) border-box;border:2px solid transparent;border-radius:20px;box-shadow:0 12px 28px #00000038;padding:18px;min-height:180px}.ciq-card--compact{min-height:0}.ciq-card--tall{min-height:420px}.ciq-card__title{color:var(--ciq-gold);font-weight:700;margin-bottom:12px}.metrics-header,.metrics-row{display:grid;gap:10px;align-items:start}.metrics-header--3,.metrics-row--3{grid-template-columns:60px repeat(3,minmax(0,1fr))}.metrics-header{color:var(--ciq-gold);font-weight:700;margin-bottom:10px}.metrics-row{padding:10px 0;border-bottom:1px solid var(--ciq-border)}.metrics-row:last-child{border-bottom:none}.metrics-label{font-weight:700}.metric-stack{display:grid;gap:4px}.muted{color:var(--ciq-muted)}.stat-delta{font-size:.85rem;font-weight:700}.stat-delta.positive{color:var(--ciq-green)}.form-error{color:#ff9898;font-size:.95rem}.daily-planning-brief{display:grid;gap:18px;color:#fff}.dpb-hero{padding:4px 8px 0}.dpb-hero h1{margin:0;color:#f5c85b;font-size:2rem}.dpb-hero p{margin:8px 0 0;color:#d8e4f7}.dpb-panel{padding:22px 24px;border:1px solid #36506a;border-radius:16px;background:#182635;box-shadow:0 10px 24px #0000002e}.dpb-panel h2{margin:0 0 16px;color:#f5c85b;font-size:1.35rem}.dpb-definition{display:grid;grid-template-columns:180px minmax(0,1fr);gap:10px;margin:9px 0;line-height:1.45}.dpb-definition strong,.dpb-label{color:#f5c85b}.dpb-tokens{display:flex;flex-wrap:wrap;gap:8px}.dpb-token{display:inline-block;padding:5px 12px;border:1px solid #3a9e78;border-radius:999px;background:#203b43;color:#e9fff5;font-size:.88rem}.dpb-table-wrap{width:100%;overflow-x:auto}.dpb-table{width:100%;border-collapse:collapse;text-align:left}.dpb-table th,.dpb-table td{padding:10px 12px;border-bottom:1px solid #395169;vertical-align:top}.dpb-table thead th,.dpb-table tbody th{color:#f5c85b}.dpb-table th:last-child,.dpb-table td:last-child{width:54%}.dpb-labor-table{min-width:940px;table-layout:fixed}.dpb-labor-table th,.dpb-labor-table td{width:auto;text-align:center}.dpb-labor-table th:first-child{width:145px;text-align:left}.dpb-labor-table th:last-child,.dpb-labor-table td:last-child{width:auto}.dpb-labor-table thead tr:first-child th:not(:first-child){background:#2c6076}.dpb-labor-table thead tr:first-child th:nth-child(2){background:#27445e}.dpb-labor-table tbody tr+tr{border-top:1px solid rgba(216,228,247,.12)}.dpb-labor-stress{display:grid;gap:0;margin-top:22px}.dpb-labor-stress .dpb-definition{grid-template-columns:190px minmax(0,1fr);margin:0;padding:2px 0;line-height:1.25}.dpb-labor-stress .dpb-definition>strong{white-space:nowrap}.dpb-alerts{display:grid;gap:22px}.dpb-alert-category h3{margin:0 0 8px;color:#f5c85b;font-size:1.08rem}.dpb-alert-table{table-layout:fixed}.dpb-alert-table th:first-child{width:110px}.dpb-alert-table th:nth-child(2){width:auto}.dpb-alert-table th:nth-child(3){width:130px}.dpb-alert-table th:last-child,.dpb-alert-table td:last-child{width:170px}.dpb-menu-alerts{display:grid;gap:12px;line-height:1.55}.dpb-menu-alerts strong{color:#f5c85b}.dpb-summary-grid,.dpb-prep-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:14px}.dpb-summary-grid .dpb-definition{grid-template-columns:auto 1fr;margin:0;padding:12px;border:1px solid #395169;border-radius:10px;background:#203247}.dpb-prep-grid ul{margin:8px 0 18px;padding-left:20px;line-height:1.7}.dpb-heatmap{min-height:280px;display:grid;place-items:center;overflow:hidden;border-radius:10px;background:#171a1f}.dpb-heatmap-link{display:flex;width:100%;justify-content:center;cursor:zoom-in}.dpb-heatmap-link img{display:block;width:auto;max-width:75%;height:auto;max-height:510px;object-fit:contain}.dpb-heatmap-status{margin:0;padding:32px;text-align:center}.dpb-status{min-height:240px;display:grid;place-items:center;border:1px solid #36506a;border-radius:16px;background:#182635;color:var(--ciq-muted)}.sp-page{display:grid;gap:22px;color:#fff}.sp-hero{display:flex;align-items:end;justify-content:space-between;gap:24px;padding:4px 8px 0}.sp-hero h1{margin:0;color:#f5c85b;font-size:2rem}.sp-hero p{margin:8px 0 0;color:#d8e4f7;white-space:pre-wrap}.sp-meal-select{display:grid;gap:7px;min-width:170px;color:#f5c85b;font-weight:700}.sp-meal-select select{min-height:44px;padding:0 38px 0 12px;border:1px solid #66798d;border-radius:10px;background:#182635;color:#fff;font:inherit}.sp-panel{padding:22px 24px;border:1px solid #36506a;border-radius:16px;background:#182635;box-shadow:0 10px 24px #0000002e}.sp-panel h2{margin:0 0 18px;color:#f5c85b;font-size:1.35rem}.sp-definitions{display:grid;gap:15px}.sp-definition{display:grid;grid-template-columns:125px minmax(0,1fr);gap:14px;line-height:1.4}.sp-definition>strong,.sp-table th{color:#f5c85b;text-align:left}.sp-table-wrap{width:100%;overflow-x:auto}.sp-table{width:100%;border-collapse:collapse}.sp-table th,.sp-table td{padding:9px 10px;vertical-align:top}.sp-table tbody tr+tr{border-top:1px solid rgba(216,228,247,.12)}.sp-actions th:nth-child(1){width:55%}.sp-metrics{min-width:1000px}.sp-metrics th:first-child{width:145px}.sp-forecasts{max-width:720px}.sp-delta{font-weight:800;white-space:nowrap}.sp-delta.is-positive{color:var(--ciq-green)}.sp-delta.is-negative{color:var(--ciq-red)}.sp-delta.is-mixed{color:var(--ciq-gold)}.sp-chart{margin:0;overflow:hidden;border:1px solid #36506a;border-radius:16px;background:#171a1f}.sp-chart figcaption{padding:14px 18px;color:#f5c85b;font-weight:800;text-align:center}.sp-chart img{display:block;width:100%;height:auto}.sp-chart-caption{margin:0;padding:15px 18px 18px;border-top:1px solid #36506a;color:#fff;line-height:1.55}.sp-chart--embedded{border:0;border-radius:10px;background:#171a1f}.sp-chart--embedded figcaption{padding-top:0}.sp-chart-link{display:flex;justify-content:center;padding:0 12px 12px;cursor:zoom-in}.sp-chart--embedded img{width:auto;max-width:min(100%,900px);max-height:480px;object-fit:contain}.sp-status{min-height:240px;display:grid;place-items:center;border:1px solid #36506a;border-radius:16px;background:#182635;color:var(--ciq-muted)}.mp-filters{display:flex;align-items:end;gap:14px}.mp-diagnostics-heading{color:#f5c85b;font-weight:700}.mp-ranking{min-width:1050px}.mp-ranking th:first-child{width:30%}.mp-foodgroup-ranking tbody td:nth-child(5){padding-left:calc(10px + 5ch)}.mp-foodgroup-plot{display:block;width:auto;max-width:100%;max-height:720px;object-fit:contain}.mp-mealmix-summary{min-width:900px}.mp-attachment{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;margin:0}.mp-attachment>div{display:grid;grid-template-columns:minmax(210px,1fr) auto;gap:20px;padding:11px 0;border-bottom:1px solid rgba(216,228,247,.12)}.mp-attachment dt{color:#f5c85b;font-weight:700}.mp-attachment dd{margin:0}.mp-page .mp-ranking tbody td:not(:first-child),.mp-page .mp-mealmix-summary tbody td:nth-child(3),.mp-page .mp-mealmix-summary tbody td:nth-child(4),.mp-page .mp-mealmix-summary tbody td:nth-child(5),.mp-page .mp-attachment dd{text-align:center}.mp-page .mp-foodgroup-ranking tbody td:nth-child(5){padding-left:10px}.stf-diagnostics-heading{color:#f5c85b;font-weight:700}.stf-actions{min-width:700px}.stf-scorecard{min-width:1300px}.stf-trends{min-width:1400px}.stf-scorecard tbody td:nth-child(n+2):nth-child(-n+9),.stf-trends tbody td:nth-child(n+2):nth-child(-n+7){text-align:center}.stf-kpi-summary{min-width:1100px}.stf-kpi-summary tbody td:not(:first-child){text-align:center}@media(max-width:960px){.nav3-shell{margin-top:20px;gap:18px}.nav3-brand-panel{min-height:0}.nav3-controls{grid-template-columns:1fr 1fr}.ops-grid--shell{grid-template-columns:1fr}.ops-grid--shell>:last-child{grid-column:auto}.page-hero{flex-direction:column}.service-day{min-width:0;width:100%}}@media(max-width:640px){.login-shell{padding:12px;align-items:start}.login-card{margin-top:8vh;padding:28px 22px;border-radius:16px}.login-card__title{font-size:1.65rem}.nav3-shell{width:calc(100% - 16px);margin-top:8px;gap:12px}.nav3-brand-panel{padding:24px 20px;align-items:flex-start;flex-direction:column}.nav3-brand-panel,.nav3-controls,.nav3-links-panel{border-radius:12px}.nav3-title{font-size:clamp(1.35rem,7vw,1.8rem)}.nav3-identity{min-width:0;width:100%;text-align:left;font-size:1rem}.nav3-customer-line{justify-content:space-between}.nav3-controls{padding:20px;grid-template-columns:1fr;gap:18px}.nav3-links-panel{padding:16px}.nav3-business-date{font-size:.95rem;line-height:1.4}.nav3-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.nav3-link{min-height:44px;padding:8px;font-size:.95rem}.app-content{padding:14px}.page-title{font-size:1.55rem}.ciq-card{padding:16px;border-radius:16px}.metrics-header--3,.metrics-row--3{grid-template-columns:1fr}.ciq-header{align-items:flex-start}.ciq-nav{width:100%}.dpb-hero h1{font-size:1.55rem}.dpb-hero p{line-height:1.6}.dpb-definition,.dpb-summary-grid,.dpb-prep-grid{grid-template-columns:1fr}.dpb-panel{padding:18px 16px}.dpb-table{min-width:640px}.dpb-table th,.dpb-table td{padding:9px 10px}.sp-hero{align-items:stretch;flex-direction:column}.sp-hero h1{font-size:1.55rem}.sp-panel{padding:18px 16px}.sp-definition{grid-template-columns:1fr;gap:7px}.sp-table th,.sp-table td{padding:8px}.mp-filters{align-items:stretch;flex-direction:column}.mp-attachment{grid-template-columns:1fr}}@media(max-width:380px){.nav3-links{grid-template-columns:1fr}.nav3-brand-panel{padding:20px 16px}.nav3-controls{padding:16px}.nav3-field select{min-height:48px}}
